устройство и способ генерирования и декодирования кодов в системе связи
Классы МПК: | H04B7/26 из которых по меньшей мере одна передвижная H03M13/27 с использованием техники чередования |
Автор(ы): | КИМ Мин-Гоо (KR), ДЗАНГ Дзае-Сунг (KR), ХА Санг-Хиук (KR) |
Патентообладатель(и): | САМСУНГ ЭЛЕКТРОНИКС КО.,ЛТД (KR) |
Приоритеты: |
подача заявки:
2002-02-16 публикация патента:
20.09.2004 |
Предложено устройство, генерирующее квазикомплементарные турбокоды в системе связи. Устройство включает в себя турбокодер, перемежитель для перемежения символов, выдаваемых из турбокодера, согласно заданной скорости и кодовый генератор для генерирования квазикомплементарных турбокодов посредством прореживания и повторения перемеженных символов из перемежителя. Далее устройство декодирует квазикомплементарные турбокоды в системе связи. Декодирующее устройство включает в себя декодер кода для генерирования кодовых символов согласно кодовой скорости, переданных через депрореживание подкодов квазикомплементарных турбокодов, переданных от передатчика, и мягкого комбинирования подкодов, деперемежитель для деперемежения символов, выданных из декодера кода, и турбодекодер для декодирования выхода деперемежителя. Техническим результатом является создание устройства и способа декодирования комплементарных турбокодов, учитывая характеристики турбокодов в системе связи. 4 н. и 22 з.п.ф-лы, 7 ил.
Формула изобретения
1. Устройство для приема квазикомплементарного турбо-кода (ККТК) и декодирования ККТК, содержащее депрореживатель ККТК для депрореживания принятых символов согласно кодовой скорости и для выполнения мягкого комбинирования над принятыми подкодами путем последовательности сохранения депрореженных символов; канальный деперемежитель для разделения мягко комбинированных символов, выданных из депрореживателя в поток информационных символов и по меньшей мере один поток символов четности, для демультиплексирования потоков символов четности в пары потоков символов четности, а затем для раздельного выведения потоков символов четности и потока информационных символов; и турбодекодер для мультиплексирования потоков символов четности и потока информационных символов, выданных из канального деперемежителя, для декодирования мультиплексированного выхода согласно кодовой скорости и для выведения потока информационных символов.
2. Устройство по п.1, в котором канальный деперемежитель содержит разделитель для разделения выхода депрореживателя ККТК на поток информационных символов и по меньшей мере один поток символов четности; по меньшей мере один демультиплексор для демультиплексирования потоков символов четности, выданных из разделителя, на пары потоков символов четности; и по меньшей мере один деперемежитель для деперемежения выходов демультиплексоров и потока информационных символов.
3. Устройство для приема квазикомплементарного турбокода (ККТК) и декодирования ККТК, содержащее комбинатор для комбинирования последовательностей принятых символов; канальный деперемежитель для разделения комбинированных символов на поток информационных символов и потоки символов четности, для сопряжения разделенных соответствующих потоков символов четности по меньшей мере с одним другим потоком символов четности, для демультиплексирования сопряженных потоков символов четности по меньшей мере на один поток символов четности согласно заданной кодовой скорости и для независимого деперемежения и выведения потока информационных символов и демультиплексированных потоков символов четности; и декодер квазикомплементарного турбокода для мультиплексирования независимо перемеженных потоков символов четности и потока информационных символов и после его декодирования согласно заранее заданной скорости декодирования выведение потока информационных символов.
4. Устройство по п.3, в котором канальный деперемежитель содержит разделитель символов для разделения и выведения потока информационных символов и потоков символов четности из комбинированных символов; демультиплексор для демультиплексирования потоков символов четности, сопряженных с другим потоком символов четности, и для разделения соответствующих потоков символов четности; и деперемежитель для независимого деперемежения демультиплексированных потоков символов четности и соответствующего потока информационных символов.
5. Устройство по п.3, в котором декодер квазикомплементарного турбокода содержит мультиплексор для выведения независимо деперемеженных потоков символов четности и потока информационных символов; и турбодекодер для выведения потока информационных символов после декодирования выходных символов мультиплексора согласно заранее заданной скорости декодирования.
6. Устройство по п.3, в котором комбинатор содержит кольцевую буферную память для сохранения принятых символов; и комбинатор последовательностей символов для выбора и выведения заранее заданного числа символов из символов, сохраненных в кольцевой буферной памяти, согласно кодовой скорости, начиная с начальной позиции.
7. Устройство по п.6, в котором начальная позиция кольцевой буферной памяти представляет собой символ, следующий после последнего символа, переданных последними символов, когда бы ни был принят поток символов.
8. Устройство по п.6, в котором комбинатор последовательностей символов комбинирует с ранее переданными символами и выдает на канальный деперемежитель, если имеется повторно переданный символ принятого символа.
9. Устройство по п.8, в котором комбинирование является мягким комбинированием.
10. Устройство по п.8, в котором комбинирование является жестким комбинированием.
11. Способ приема квазикомплементарного турбокода (ККТК) и декодирования ККТК, содержащий следующие шаги: (а) последовательное комбинирование принятых символов; (б) разделение комбинированных символов на поток информационных символов и потоки символов четности, сопряжение разделенных потоков символов четности по меньшей мере с одним другим потоком символов четности, демультиплексирование сопряженных потоков символов четности на по меньшей мере один поток символов четности согласно заданной кодовой скорости и независимое деперемежение и выведение потока информационных символов и демультиплексированных потоков символов четности; и (в) мультиплексирование независимо перемеженных потоков символов четности и потока информационных символов и, после декодирования его согласно заранее заданной скорости декодирования, выведение потока информационных символов.
12. Способ по п.11, в котором шаг (б) содержит следующие шаги: (а) разделение и выведение потока информационных символов и потока символов четности из комбинированных символов; (б) демультиплексирование потоков символов четности, сопряженных с другим потоком символов четности, и разделение соответствующих потоков символов четности; (в) независимое деперемежение демультиплексированных потоков символов четности и соответствующего потока информационных символов.
13. Способ по п.11, в котором шаг (в) содержит следующие шаги: (а) мультиплексор для мультиплексирования и выведения независимо деперемеженных потоков символов четности и потока информационных символов; и (б) турбо-декодер для выведения потока информационных символов после декодирования выходных символов мультиплексора согласно заранее заданной скорости декодирования.
14. Способ по п.11, в котором шаг (а) содержит следующие шаги: кольцевое сохранение принятых символов; и выбор и выведение заранее заданного числа символов из символов с кольцевым сохранением согласно кодовой скорости, начиная с начальной позиции.
15. Способ по п.14, в котором в шаге (а) начальная позиция кольцевой буферной памяти представляет собой символ, следующий после последнего символа переданных последними символов, когда бы ни был принят поток символов.
16. Способ по п.14, в котором в шаге (б) комбинатор последовательностей символов комбинирует с ранее переданными символами и выдает на канальный деперемежитель, если имеется повторно переданный символ принятого символа.
17. Способ по п.16, в котором комбинирование является мягким комбинированием.
18. Способ по п.16, в котором комбинирование является жестким комбинированием.
19. Способ по п.11, в котором в шаге (б) информационные символы и множество потоков символов четности деперемежаются соответственно независимо посредством способа деперемежения с частичным обратным порядком битов (ЧОПБ).
20. Устройство приема квазикомплементарного турбокода (ККТК) и декодирования ККТК, содержащее комбинатор для последовательного комбинирования принятых символов; разделитель символов (разъединение или разделение) для разделения и выведения потока информационных символов и потоков символов четности из комбинированных символов; демультиплексор для демультиплексирования потоков символов четности, сопряженных с другим потоком символов четности, и разделения соответствующих потоков символов четности; деперемежитель для независимого деперемежения демультиплексированных потоков символов четности и соответствующего потока информационных символов; и декодер квазикомплементарного турбокода для мультиплексирования независимо перемеженных потоков символов четности и потока информационных символов и после декодирования его согласно заранее заданной скорости декодирования выведение потока информационных символов.
21. Устройство по п.20, в котором перемежитель перемежает потоки информационных символов и множество потоков символов четности соответственно и независимо посредством способа деперемежения с частичным обратным порядком битов (ЧОПБ).
22. Устройство по п.20, в котором комбинатор содержит кольцевую буферную память для сохранения принятых символов; и комбинатор последовательностей символов для выбора и выведения заранее заданного числа символов из символов, сохраненных в кольцевой буферной памяти, согласно кодовой скорости, начиная с начальной позиции.
23. Устройство по п.22, в котором начальная позиция кольцевой буферной памяти представляет собой символ, следующий после последнего символа переданных последними символов, когда бы ни был принят поток символов.
24. Устройство по п.22, в котором комбинатор последовательностей символов комбинирует с ранее переданными символами и выдает на канальный деперемежитель, если имеется повторно переданный символ принятого символа.
25. Устройство по п.24, в котором комбинирование является мягким комбинированием.
26. Устройство по п.24, в котором комбинирование является жестким комбинированием.
Описание изобретения к патенту
Настоящее изобретение относится в целом к устройству генерирования кодов в системе передачи данных, в частности к устройству и способу генерирования комплементарных турбокодов, учитывая характеристики турбокодов в системе пакетной связи с автоматическим запросом повторения (АЗП) (ARQ) или в обычной системе связи, поддерживающей схему АЗП.
В общем случае система, поддерживающая гибридную схему АЗП (здесь и далее именуемую "система ГАЗП" (HARQ)), использует метод мягкого комбинирования, чтобы улучшить свою пропускную способность, а методы мягкого комбинирования разделяются на метод пакетного комбинирования с разнесением и метод пакетного кодового комбинирования. Эти два метода комбинирования обычно именуются "мягким пакетным комбинированием". По сравнению с методом пакетного кодового комбинирования метод пакетного комбинирования с разнесением является субоптимальным в терминах характеристик, но часто использовался из-за простоты своего воплощения, когда потери качества не являются существенным фактором в конструкции системы.
Метод пакетного кодового комбинирования используется в системе пакетной связи, чтобы увеличить ее пропускную способность. Метод пакетного кодового комбинирования передает меняющиеся коды, имеющие кодовую скорость R для каждого передаваемого пакета. При обнаружении приемником ошибки в принятом пакете после декодирования приемник сохраняет сбойный пакет, а не отбрасывает его, а затем мягко комбинирует сохраненный пакет с пакетом, повторно переданным передатчиком. Здесь для повторно переданного пакета могут использоваться отличающиеся коды. То есть, при приеме N пакетов, имеющих кодовую скорость R, метод комбинирования пакетных кодов преобразует кодовую скорость в эффективную кодовую скорость R/N с помощью пакетов перед декодированием, тем самым повышая эффективность кодирования.
С другой стороны, метод пакетного комбинирования с разнесением передает те же самые коды, имеющие кодовую скорость R для каждого переданного пакета. При обнаружении в приемнике ошибки в принятом пакете после декодирования приемник сохраняет сбойный пакет, а не отбрасывает его, а затем мягко комбинирует сохраненный пакет с пакетом, повторно переданным от передатчика. Во всех случаях одни и те же коды используются для повторно передаваемого пакета. Поэтому метод пакетного комбинирования с разнесением может считаться процессом усреднения энергии символов в случайном канале и использует только эффект снижения мощности помех, достигаемый усреднением мягкого выхода принятых символов, и эффективность разнесения, обеспечиваемую в канале с разнесением путем передачи множества символов в канале с замираниями. В противоположность этому, метод пакетного кодового комбинирования имеет дополнительную эффективность кодирования на основании кодовой структуры в дополнение к эффективности разнесения.
Между тем, ниже будет описан турбокодер, генерирующий турбокод. В случае турбокодера с R=1/5 этот турбокодер генерирует информационные символы X, первые символы Y0, Y0" четности и вторые символы Y1, Y1" четности путем кодирования информационных символов. Турбокодер состоит из двух частичных кодеров и одного перемежителя. Первые символы Y0 и Y0" четности представляют собой выходы из первого частного кодера за счет кодирования входных информационных символов, а вторые символы Y1 и Y1" четности являются выходами из второго частного кодера за счет кодирования информационных символов, перемеженных в перемежителе. Подробнее, Yo представляет собой строку из первых символов четности, генерированных из первого частного кодера, а Y0" представляет собой строку из вторых символов четности, генерированных из первого частного кодера.
В настоящее время вследствие простоты воплощения большинство систем пакетной связи используют схему пакетного комбинирования с разнесением и, в частности, синхронная система IS-2000 и асинхронная система UMTS применяют метод пакетного комбинирования с разнесением по тем же причинам. Однако большинство существующих систем пакетной связи используют сверточные коды, а когда используются сверточные коды с низкой кодовой скоростью R, эти системы не могут обеспечить высокой эффективности разнесения, даже хотя они используют метод пакетного комбинирования с разнесением. То есть, в случае, когда система, использующая сверточный код с R=1/3, поддерживает схему АЗП, разница между схемой пакетного кодового комбинирования и схемой пакетного комбинирования с разнесением незначительна, а потому система использует метод пакетного комбинирования с разнесением. Однако при использовании турбокодов в качестве кодов прямого исправления ошибок (ПИО) (FEC) требуется отличающийся метод. Это потому, что турбокоды сконструированы, чтобы иметь качественные характеристики, приближающиеся к шенноновскому пределу пропускной способности канала, и их характеристики меняются очевидным образом в зависимости от скоростей кодирования в отличие от сверточных кодов. Поэтому желательно использовать метод пакетного кодового комбинирования в системах пакетной связи, которые используют турбокоды, чтобы улучшить характеристики системы.
Поэтому целью настоящего изобретения является обеспечить устройство и способ генерирования и декодирования комплементарных турбокодов, учитывая характеристики турбокодов в системе связи.
Еще одной целью настоящего изобретения является обеспечить устройство и способ декодирования квазикомплементарных турбокодов в системе связи.
Чтобы достичь вышеуказанных и других целей, настоящее изобретение обеспечивает устройство для декодирования квазикомплементарных турбокодов в системе связи. Декодирующее устройство включает в себя кодовый декодер для генерирования кодовых символов согласно кодовой скорости переданных через депрореживатель подкодов переданных из передатчика квазикомплементарных турбокодов, и мягкого комбинирования этих подкодов, деперемежитель для деперемежения символов, выдаваемых из кодового декодера, и турбодекодер для декодирования выхода деперемежителя.
Вышеуказанные и другие цели, отличительные признаки и преимущества настоящего изобретения станут более ясными из нижеследующего подробного описания, рассматриваемого совместно с сопровождающими чертежами, на которых:
Фиг.1 иллюстрирует структуру устройства генерирования ККТК согласно варианту выполнения настоящего изобретения.
Фиг.2 иллюстрирует процедуру генерирования квазикомплементарных турбокодов согласно варианту выполнения настоящего изобретения.
Фиг.3 иллюстрирует способ выбора подкодов квазикомплементарного кода согласно варианту выполнения настоящего изобретения.
Фиг.4 иллюстрирует структуру приемника для приема данных, переданных передатчиком фиг.1, согласно варианту выполнения настоящего изобретения.
Фиг.5 представляет собой функциональную блок-схему процедуры обработки принятых сигналов в приемнике согласно варианту выполнения настоящего изобретения.
Фиг.6 иллюстрирует процедуру обработки принятых данных в приемнике согласно варианту выполнения настоящего изобретения.
Фиг.7 иллюстрирует процедуру разделения принятых данных, сохранения разделенных данных и декодирования этих данных согласно варианту выполнения настоящего изобретения.
Предпочтительный вариант выполнения настоящего изобретения будет описан ниже со ссылками на сопровождающие чертежи. В нижеследующем описании общеизвестные функции или конструкции не описаны подробно, поскольку они загромождали бы изобретение ненужными деталями.
Настоящее изобретение обеспечивает способ использования квазикомплементарных турбокодов (ККТК) независимо от изменений кодовой длины в системе, которая поддерживает канальное перемежение, используя квазикомплементарные турбокоды, или в системе, которая требует квазикомплементарных кодов с различными кодовыми скоростями. ККТК определяется как комплементарный код, генерированный с помощью турбокода. ККТК не является совершенным комплементарным кодом, как следует из термина "квази", потому что подкод включает в себя повторенные символы и имеет отличающуюся от другого подкода характеристику, такую как способность исправлять ошибки.
Фиг.1 иллюстрирует структуру устройства генерирования ККТК согласно варианту выполнения настоящего изобретения, в котором повторение символов и прореживание, используемые в устройстве генерирования квазикомплементарных турбокодов (ККТК), выполняются после канального перемежения.
На фиг.1 кодер 101 кодирует входной пакет кодера в кодированные символы. Здесь в качестве кодера 101 можно использовать сверточный кодер или турбокодер. В используемом здесь примере предполагается, что кодовая скорость кодера 101 составляет R=1/5. Поэтому кодер 101 принимает 3072 информационных бита и выдает 15360 кодированных символов. Канальный перемежитель 102 перемежает кодированные символы, выдаваемые из кодера 101, согласно заранее заданному правилу. Здесь, если кодер 101 является турбокодером, перемежитель 102 перемежает по отдельности символ Х кодового слова и символы Y0, Y1, Y0" и Y1" четности на основании свойства турбокодера. Генератор 103 ККТК (или блок прореживания/повторения ККТК) генерирует квазикомплементарные турбокоды посредством прореживания и повторения перемеженных символов, предоставленных из канального перемежителя 102. Как показано выше, канальный перемежитель 102 и генератор 103 ККТК выполняют процесс генерирования ККТК.
Как проиллюстрировано, если число перемеженных кодовых символов составляет 15360, а скорость передачи данных (или кодовая скорость) подкодов задана как 307,2 кбит/с, генератор 103 ККТК генерирует первый подкод с 21504 символами путем взятия 15360 перемеженных кодовых символов и повторения части первой половины перемеженных кодовых символов. Если скорость передачи данных равна 614,4 кбит/с, генератор 103 ККТК генерирует первый подкод путем взятия первых 10752 кодовых символов из первой половины перемеженных кодовых символов. А если скорость передачи данных составляет 1228,8 кбит/с или 2457,6 кбит/с, генератор 103 ККТК генерирует первый подкод путем взятия 5376 кодовых символов из перемеженных кодовых символов.
Здесь канальный перемежитель 102 должен быть сконструирован специальным образом, чтобы генерировать квазикомплементарные турбокоды (или подкоды). Это потому, что 5 символов, т.е. символ Х кодового слова и символы Y0, Y1, Y0" и Y1" четности, выдаваемые из канального кодера 101, распределяются после того, как подвергнутся канальному перемежению. Трудно воплотить систему для использования распределенных символов в качестве входов в блок прореживания и повторения для генерирования квазикомплементарных турбокодов, и перемешанными символами X, Y0, Y1, Y0" и Y1" нелегко генерировать подкоды, удовлетворяющие характеристикам ККТК. Чтобы разрешить эту проблему, настоящее изобретение обеспечивает способ генерирования квазикомплементарных турбокодов посредством особого метода безотносительно к кодовой скорости каждого подкода.
Фиг.2 иллюстрирует процедуру генерирования квазикомплементарных турбокодов согласно варианту выполнения настоящего изобретения. На фиг.2 кодер 201 кодирует входной пакет кодера в символы. Кодер 201 использует исходные коды с различными кодовыми скоростями. Исходные коды определяются использующей их системой. В данном случае как пример используются турбокоды с R=1/5 в качестве исходных кодов. Тогда кодер 201 генерирует информационные символы X, первые символы Y0 и Y0" четности и вторые символы Y1 и Y1" четности путем кодирования входных информационных символов. Первые символы Y0 и Y0" четности выдаются из первого частного кодера, а вторые символы Y1 и Y1" четности - из второго частного кодера. Первый и второй частные кодеры (не показаны) содержатся в кодере 201. Первичные символы Y0 и Y1 четности из первого и второго частных кодеров имеют более высокий приоритет передачи, чем вторичные символы Y0" и Y1" четности.
Демультиплексор (DEMUX) 202 демультиплексирует 5 символов, включая символ Х кодового слова и символы Y0, Y1, Y0" и Y1" четности, выданные от канального кодера 201, в 5 групп. То есть, символы Х кодового слова и символы Y0, символы Y1, символы Y0" и символы Y1" четности последовательно демультиплексируются и затем подаются на перемежители 204, 214, 224, 234 и 244 подблоков соответственно. Перемежители 204, 214, 224, 234 и 244 подблоков случайным образом изменяют порядок последовательностей, выдаваемых из демультиплексора 202, путем перемежения подблоков. Пригодны разные способы перемежения подблоков, если удовлетворяется следующее условие.
(Условие) Перемеженные кодовые символы частично прореживаются таким образом, что комбинация прореженных кодовых символов перед перемежением имеет одинаковое расстояние прореживания.
Причина удовлетворения вышеуказанного условия состоит в том, что когда заранее заданное число символов прореживается из соответствующих наборов символов X, Y0, Y0", Y1 и Y1" кодового слова, расстояние между прореженными кодовыми символами в символах кодовых слов перед перемежением подблоков должно быть равным, чтобы достичь оптимальной характеристики турбокода. Иными словами, когда прореживание применяется к турбокодам, равномерность является существенным фактором, который определяет характеристики турбокодов. В соответствии с настоящим изобретением к кодовым символам X, Y0, Y0", Y1 и Y1" применяется независимое перемежение подблоков. Равномерное прореживание в выходном сигнале каждого перемежителя поддерживает равное расстояние между прореженными кодовыми символами на выходе кодера. Поэтому можно заключить, что канальное перемежение должно быть выбрано так, чтобы прореживание в перемеженных кодовых символах могло поддерживать равномерное распределение прореживания на выходе канального кодера.
Такие способы канального перемежения включают в себя перемежение с обратным порядком битов (ОПБ) (BRO) и перемежение с частичным обратным порядком битов (ЧОПБ) (PBRO). Перемежение ОПБ практически применимо, только если число входных информационных битов в кодер и число символов в наборах символов X, Y0, Y0", Y1 и Y1" кодового слова, генерируемых из исходного кода, являются степенями 2, т.е. 2m, где m является параметром, чтобы сделать блоковый размер перемежителя подблоков таким же, как блоковый размер N=2m J. Перемежение ЧОПБ разрабатывалось, чтобы удовлетворять вышеуказанному условию даже тогда, когда число символов в соответствующих наборах символов X, Y0, Y0", Y1 и Y1" кодового слова не являются степенями 2 для преодоления ограничения перемежения ОПБ. Подробное описание этого канального перемежения подблоков здесь не приводится, следует лишь отметить, что в настоящем изобретении можно воплотить любой способ канального перемежения, если удовлетворяется вышеприведенное условие.
Символы кодового слова, рандомизированные с помощью перемежения подблоков, подаются на соответствующие блоки. Здесь перемеженные наборы информационных символов Х 206, выходящие из первого перемежителя 204, подаются непосредственно на вход объединителя 207 символов (или комбинатора символов). Перемеженные символы Y0 и Y1 четности соответственно из второго и третьего перемежителей 214 и 224 вводятся в первый мультиплексор (MUX) 205, а перемеженные символы Y0" и Y1" четности соответственно из четвертого и пятого перемежителей 234 и 244 подаются во второй мультиплексор 215. Первый мультиплексор 205 мультиплексирует перемеженные символы Y0 и Y1 четности и подает свой выходной сигнал на объединитель 207 символов. Второй мультиплексор 215 мультиплексирует перемеженные символы Y0" и Y1" четности и подает свой выходной сигнал на объединитель 207 символов. Перемеженные символы кодового слова, выдаваемые из перемежителей, переупорядочиваются, а затем разделяются на три подгруппы 206, 216 и 226.
Вышеописанный процесс, который является существенным для генерирования ККТК согласно настоящему изобретению, будет описан подробнее. Как показано на фиг.2, информационные символы Х образуют независимую подгруппу без прохождения через мультиплексирование после перемежения подблоков. Пусть перемеженные подблоками символы будут обозначаться как Sbi_X, что можно записать в виде
Sbi_X(l), Sbi_X(2), Sbi_X(3), Sbi_X(4)... (1)
где Sbi X(1) указывает первый символ, выводимый из первого перемежителя 204. Sbi_X называется последовательностью А.
Далее выходы перемеженных кодовых символов Y0 и Y1 из второго и третьего перемежителей 214 и 224 группируются в одну подгруппу. Если кодовые символы Y0 представляют собой Sbi_Y0, то Sbi_Y0 можно выразить в виде
Sbi_Y0(l), Sbi_Y0(2), Sbi_Y0(3), Sbi_Y0(4)... (2)
где Sbi_Y0(l) указывает первый кодовый символ, выводимый из второго перемежителя 214. Если кодовые символы Y1 представляют собой Sbi_Y1, то Sbi_Y1 можно выразить в виде
Sbi_Y1(l), Sbi_Y1(2), Sbi_Y1(3), Sbi_Y1(4)... (3)
где Sbi_Y1(l) и Sbi_Y1(2) указывают соответственно первый и второй кодовые символы, выводимые из третьего перемежителя 224. После мультиплексирования кодовых символов Y0 и Y1 в первом мультиплексоре 205 выход первого мультиплексора 205 будет
Sbi_Y0(1), Sbi_Y1(1), Sbi_Y0(2), Sbi_Y1(2), Sbi_Y0(3), Sbi_Y1(3)... (4)
Эти мультиплексированные символы называются последовательностью В.
Причина мультиплексирования перемеженных кодовых символов Sbi_Y0 и Sbi_Y1 состоит в том, что, когда М следующих друг за другом символов прореживаются в последовательности В безотносительно к первой половине или второй половине последовательности В, число прореженных символов в Sbi_Y0 равно числу прореженных символов в Sbi_Y1, только если М является четным числом. Если М нечетно, разность между числом прореженных символов в Sbi_Y0 и в Sbi_Y1 равна лишь 1. Мультиплексирование же всегда удовлетворяет ту характеристику ККТК, что число прореженных символов Y0 четности равно числу прореженных символов Y1 четности.
Подобным же образом перемеженные кодовые символы Y0" и Y1", выводимые из четвертого и пятого перемежителей 234 и 244, группируются в одну подгруппу. Если кодовые символы Y0" и Y1" представляют собой соответственно Sbi__Y0" и Sbi_Y1", то Sbi_Y0" и Sbi_Y1" можно выразить в виде
Sbi_Y0"(1), Sbi_Y0"(2), Sbi_Y0"(3), Sbi_Y0"(4)... (5)
и
Sbi_Y1"(1), Sbi_Y1"(2), Sbi_Y1"(3), Sbi_Y1"(4)... (6)
Тогда выход второго мультиплексора 215 запишется в виде
Sbi_Y0"(1), Sbi_Y1"(l), Sbi_Y0"(2), Sbi_Y1"(2), Sbi_Y0"(3), Sbi_Y1" (3)... (7)
Эти мультиплексированные символы называются последовательностью С.
Причина мультиплексирования перемеженных кодовых символов Sbi_Y0" и Sbi_Y1" состоит в том, что когда М следующих друг за другом символов прореживаются в последовательности С безотносительно к первой половине или второй половине последовательности С, число прореженных символов в Sbi_Y0" равно числу прореженных символов в Sbi_Y1", только если М является четным числом. Если М нечетно, разность между числом прореженных символов в Sbi_Y0" ив Sbi_Y1" равна лишь 1. Мультиплексирование же всегда удовлетворяет ту характеристику ККТК, что число прореженных символов Y0" четности равно числу прореженных символов Y1" четности.
Объединитель 207 символов последовательно связывает последовательности А, В и С первых, вторых и третьих подгрупп и генерирует последовательность [А:В:С] символов:
[A:B:C]=[Sbi_X(1), Sbi_X(2), Sbi_X(3),...] [Sbi_Y0(1), Sbi_Y1(1), Sbi_Y0(2), Sbi_Y1(2),...] [Sbi_Y0"(1), Sbi_Y1"(1), Sbi_Y0"(2), Sbi_Y1"(2),...]... (8)
Как видно из этой формулы, в последовательности [А:В:С] информационные символы располагаются первыми, за ними следуют чередующиеся символы Y0 и Y1 четности, а за ними чередующиеся символы Y0" и Y1" четности. Это размещение символов имеет очень существенное значение при генерировании ККТК, что будет описано ниже.
Прореживание должно выполняться для того чтобы генерировать подкод с кодовой скоростью из турбокода (8). Прореживание определяется "ККТК". ККТК должно иметь следующие характеристики.
(1) Информационные символы предшествуют всем прочим символам при передаче. Эта характеристика становится особенно важной, когда кодовая скорость подкодов близка к 1.
(2) Комбинация прореживания формируется так, что число символов четности, выводимых из каждого частного кодера (первого частного кодера и второго частного кодера), равны либо их разность минимальна.
(3) Число прореженных символов в символах Y0 и Y0" четности определяется так, чтобы кодовая скорость первого частного кодера была всегда меньше 1. То есть, характеристика турбокодов обеспечивается, когда существует по меньшей мере один символ Y0 или Y0" четности.
(4) Расстояние между прореженными символами в ККТК, полученного в результате прореживания, одинаковое.
(5) Турбокод, полученный комбинированием подкодов ККТК, предполагает характеристики квазикомплементарного кода.
ККТК с кодовой скоростью подкодов, который генерируется прореживанием или сокращением стольких символов, сколько нужно, с одного конца последовательности [А:В:С] символов, удовлетворяет вышеприведенным пяти характеристикам. Иными словами, назначенный подкод из ККТК генерируется повторением и сокращением стольких символов, сколько нужно, в последовательности [А:В:С] символов в повторителе 208 последовательностей символов и прореживателе 209 символов. Повторитель 208 последовательностей символов повторяет заранее заданным образом последовательность символов, принятую от объединителя символов. Способ повторения определяется согласно кодовой скорости подкода. Прореживатель 209 символов прореживает или сокращает заранее заданное число символов, начиная с последнего символа в последовательности символов, принятой от повторителя 208 последовательности символов, чтобы тем самым создать подкод ККТК. Число прореженных символов зависит от кодовой скорости подкода. Поэтому для повторителя 208 последовательностей символов и прореживателя 209 символов должна предусматриваться кодовая скорость подкода, чтобы выполнить повторение последовательности и прореживание символов. Альтернативно, контроллер более высокого уровня (не показан) может вычислять число повторенных символов и число прореженных символов согласно исходной кодовой скорости и скорости подкода и подавать эту информацию на повторитель 208 последовательностей символов и прореживатель 209 символов.
Иными словами, прореживатель 209 символов выбирает заранее заданное число символов, отсчитанных от заданной позиции символа в последовательности символов, принятой от повторителя 208 последовательностей символов, тем самым генерируя подкод ККТК. Заданная позиция символа относится к символу, следующему за последним символом, выбранным для предыдущей передачи. Поэтому прореживатель 209 символов может быть назван "селектором символов".
Перемежители 203, 213, 223, 233 и 243, мультиплексоры 205 и 215 и объединитель 207 символов на фиг.2 соответствуют канальному перемежителю 102 на фиг.1, а повторитель 208 последовательностей символов и прореживатель 209 символов оба соответствуют генератору 103 ККТК.
На фиг.1, в предположении исходной кодовой скорости R=1/5 и 3072 входных информационных битов, канальный кодер 101 выдает 15360 кодовых символов. Ниже будет дано описание генерирования ККТК с различными кодовыми скоростями (или скоростями передачи данных), к примеру, первый ККТК С0j на 307,2 кбит/с, второй ККТК C1j на 614,4 кбит/с и третий ККТК C2j на 1288,8 кбит/с, из кодовых символов.
Как описано ранее, 15360 кодовых символов классифицируются на пять групп, перемежаются, а затем вновь размещаются как последовательность символов по уравнению (8). Затем эти 15360 кодовых символов подвергаются повторению согласно заранее заданному правилу и прореживаются (или сокращаются) согласно заранее заданной кодовой скорости подкода. Таким образом генерируется назначенный подкод.
Для скорости передачи данных 307,2 кбит/с, если подкоды первого ККТК C0j имеют длину 21504 бита, первый под код С00 генерируется выбором первых 21504 символов из перемеженной и повторенной последовательности символов. Второй подкод C01 генерируется выбором 21504 символов из повторенной последовательности символов, начиная с символа, следующего за первым подкодом С00. Третий подкод С02 генерируется выбором следующих 21504 символов.
Аналогично для скорости передачи данных 614,4 кбит/с, если подкоды второго ККТК C1j имеют длину 10752 бита, первый подкод С10 генерируется выбором первых 10752 символов из повторенной последовательности символов. Иначе говоря, первый подкод С10 генерируется сокращением всех остальных символов, следующих за первыми 10752 символами в повторенной последовательности символов. Это сокращение выполняется в прореживателе 209 символов, как описано выше. Второй подкод 11 генерируется выбором 10752 символов из повторенной последовательности символов, начиная с символа, следующего за первым подкодом С10. Третий подкод C12 генерируется выбором 10752 символов.
Аналогично для скорости передачи данных 1228,8 кбит/с, если подкоды третьего ККТК С2j имеют длину 5376 битов, первый подкод С20 генерируется выбором первых 5376 символов из перемеженной последовательности символов. Второй подкод C21 генерируется выбором 5376 символов из перемеженной последовательности символов, начиная с символа, следующего за первым подкодом С20. Третий подкод С22 генерируется выбором следующих 5376 символов. При этом генерируются подкоды ККТК на 1288,8 кбит/с.
Система сохраняет информацию о позиции последнего символа в предыдущем переданном подкоде для каждого ККТК. Когда определяется скорость передачи данных (или кодовая скорость) для повторной передачи, система выбирает ККТК, соответствующий этой скорости передачи данных, и генерирует подкод путем выбора заранее заданного числа символов, следующих за сохраненным последним символом для выбранного ККТК согласно скорости передачи данных. Если выбранные символы превышают один блок перемеженных символов, остальные символы выбираются из следующего блока. В этом способе подкоды генерируются повторением блока перемеженных символов. Чтобы сделать это, необходима область запоминания для сохранения повторенных блоков.
Альтернативно перемеженные символы могут сохраняться в кольцевой буферной памяти, и подкод генерируется рекурсивным выбором символов. То есть, если перемеженные символы выбираются все, то заранее заданное число символов выбирается из перемеженных символов, начиная с первого символа. Тогда повторитель 208 последовательностей символов может быть опущен, поскольку кольцевая буферная память функционирует как повторитель 208 последовательностей символов.
Вышеприведенный вариант выполнения по настоящему изобретению описывает двумерные ККТК. В схеме двумерных ККТК квазикомплементарный турбокод, соответствующий каждой кодовой скорости, генерируется независимо, и подкоды этого ККТК передаются друг за другом. Однако двумерные ККТК не оптимальны по причинам, описанным ниже.
Как показано на фиг.2, предполагается, что первый подкод С00 первого ККТК C0j используется для начальной передачи, первый подкод С10 второго ККТК C1j используется для следующей передачи, а первый подкод С20 третьего ККТК C2j используется для третьей передачи. Затем приемник декодирует данные, комбинируя эти три подкода (С00, С10, С20). В этом случае, однако, комбинирование кодов не восстанавливает первоначальный код с кодовой скоростью 1/5, только повышая символьную энергию информационных символов и тем самым не оптимизируя характеристики декодирования. Это приводит к той проблеме с передачей порядка под кодов, т.е. выбором подкодов. Для преодоления этой проблемы предлагаются адаптивные ККТК. В схеме адаптивных ККТК число кодовых символов, подлежащих выбору, определяется согласно кодовой скорости подкода, а подкод генерируется выбором определенного числа символов, начиная с символа, следующего за последним символом, использованным для предыдущей передачи.
Фиг.3 представляет собой блок-схему другого варианта выполнения устройства генерирования ККТК. Конструкция, показанная на фиг.3, является той же самой, что и показанная на фиг.2, за исключением повторителя последовательностей символов и прореживателя символов, работающих иным образом. Поэтому последующее описание делается в основном для повторителя 308 последовательностей символов и прореживателя 309 символов.
Повторитель 308 последовательностей символов повторяет заранее заданным образом последовательность символов, принятую от объединителя 307 символов. Это повторение можно выполнять согласно заданному параметру в повторителе 308 последовательностей символов или под управлением контроллера более высокого уровня (не показан), либо по запросу от объединителя 307 символов. Вышеописанные процессы воплощаются тем же самым образом, что и описанные со ссылкой на фиг.2. Далее прореживатель 309 символов прореживает символы, принятые от повторителя 308 последовательностей символов, согласно правилу, отличному от правила, приложенного к фиг.2, для генерирования подкода. Это правило прореживания следующее.
Предполагается, что передача начинается в момент времени k, переданный за время (k+h) подкод выражается как Cij(k+h), a кодовыми символами исходного кода с R=1/5 являются m(0), Cm(l),..., Cm(N-l). Число N кодовых символов определяется как L_INFx5, т.к. скорость исходного кода равна 1/5. Здесь L_INF обозначает размер перемежителя подблоков или число информационных символов.
Шаг 1: определяется длина начального подкода.
Для начальной передачи выбирается один Сi0 из первых под кодов С00, С10, С20 доступных ККТК согласно данной кодовой скорости, и длина выбранного подкода Сi0 сохраняется как переменная L_SC. Кодовая скорость или длина L_SC подкода задается в системе заранее согласно канальной среде, включая условия канальной передачи и входную скорость передачи данных. Описание делается в контексте трех ККТК, показанных на фиг.3, для лучшего понимания настоящего изобретения, но следует иметь в виду, что число подкодов не ограничено этим числом.
Шаг 2: выбирается и передается подкод для начальной передачи.
После того, как определена длина подлежащего передаче подкода, среди символов исходного кода выбираются Сm(0), Сm(1),..., Cm(L_SC-l). Если L_SC превышает N, то Сm(0), Сm(1),..., Cm(N) передаются Р раз, а затем передаются Сm(0), Сm(1),..., Cm(q-l). Здесь Р и q представляют собой частное и остаток от L SC/N соответственно и Р и q вычисляются как L_SC mod N. Затем переменная q сохраняется для следующей передачи для использования в определении позиции последнего символа предыдущего переданного подкода по отношению к блоку перемеженных символов.
Шаг 3: определяются начальная позиция подкода следующей передачи и длина подкода.
Для следующей передачи кодовая скорость R_SC нового подкода, подлежащего передаче, определяется согласно канальной среде, а длина L_SC подкода определяется согласно найденной кодовой скорости. Длина L_SC и кодовая скорость R_SC находятся в соотношении
L_SC=L_INF (1/R_SC) (9)
Система более высокого уровня передает длину подкода и кодовую скорость R_SC подкода на прореживатель 309 символов для каждой передачи.
Шаг 4: выбирается и передается подкод для следующей передачи.
После того, как определена длина L_SC подлежащего передаче подкода, среди символов исходного кода выбираются Cm(q), Cm(q+1),..., Cm (q+L_SC-1). Иначе говоря, из символов исходного кода выбирается столько символов, какова длина подкода, начиная с символа, следующего за последним символом, выбранным для предыдущей передачи. Если q+L_SC превышает N, строка, состоящая из N кодовых символов, начиная с Cm(q), выбирается рекурсивно и передается Р раз, а затем остальные q" кодовых символов передаются последовательно. Здесь Р и q" представляют собой частное и остаток от (L_SC)/N соответственно, а q" вычисляется как (q+L_SC) mod N. Далее значение следующей символьной позиции для позиции последнего выбранного символа для следующей передачи сохраняется для q. Переменная q является следующей символьной позицией для позиции последнего символа среди символов, составлявших последний переданный подкод. После того, как генерированный подкод передан, процедура возвращается на шаг 3.
Передача адаптивных ККТК будет яснее для случаев, показанных на фиг.3. На фиг.3 низкоскоростной подкод с кодовой скоростью 1/7 передается сначала в Случае 1, а высокоскоростной подкод с кодовой скоростью 4/7 передается сначала в Случае 2. Как видно из этих Случаев, N(=15360) следующих друг за другом символов исходного кода повторяются, и столько кодовых символов, каков размер, соответствующий длине подлежащего передаче подкода (или кодовая скорость этого подкода) выбираются последовательно из символов повторенного исходного кода при каждой передаче.
В реальном воплощении для хранения повторенных (Р-1) раз исходных кодов не используется буфер, а применяется единственный кольцевой буфер, чтобы сохранять N кодовых символов и рекурсивно выбирать кодовые символы, тем самым генерируя подкод назначенной длины. То есть, использование кольцевой буферной памяти избавляет от необходимости повторения последовательности. Любой приемный буфер пригоден для приемника, если он может сохранять N мягких метрик для комбинирования кодов.
Далее будет описан способ приема данных, переданных посредством вышеописанного метода передачи, и способ реализации соответствующих функциональных блоков фиг.3.
Фиг.4 иллюстрирует структуру приемника для приема данных, переданных передатчиком по фиг.1. На фиг.4 сигналы 401, 402 и 403 данных, переданные передатчиком на своих связанных скоростях передачи данных, представляют собой подкоды Cij KKTK. Принятые сигналы 401, 402 и 403 данных подаются на процессор 411 KKTK (депрореживание/комбинирование KKTK). Процессор 411 KKTK выполняет депрореживание на принятых сигналах, чтобы преобразовать принятые сигналы в турбокоды с их исходной кодовой скоростью R из турбокодов на основании характеристик KKTK, а также выполняет мягкое комбинирование на принятых подкодах. "Депрореживание" представляет собой процесс для введения символов стирания в позиции прореженных символов. Для мягкого комбинирования принятых подкодов можно использовать комбинирование Chase. Как упоминалось со ссылкой на характеристики KKTK, приемник генерирует кодовые символы с кодовой скоростью R посредством мягкого комбинирования под кодов Cij, переданных от передатчика.
Теперь будет описан приемник с учетом того, что кодовая скорость R=1/5, как и в передатчике, где кодовая скорость составляет R=1/5. Принятые под коды Cij равным образом переразмещаются и мягко комбинируются приемником согласно правилу передачи Cij. Этот процесс будет описан подробнее ниже. Далее, поскольку мягкое комбинирование имеет отличающиеся свойства метрик в соответствии с числом битов на принятый символ, настоящее изобретение рассматривает даже жесткое комбинирование как мягкое комбинирование, имеющее однобитовое разрешение. В действительности, поскольку производительность не улучшается значительно при жестком комбинировании, здесь будет описано мягкое комбинирование. Подробное описание этого будет дано вместе с описанием соответствующих функциональных блоков в приемнике.
Процессор 411 ККТК генерирует N мягко комбинированных символов кодовых слов, изначально генерированных кодером путем депрореживания и мягкого комбинирования, и передает их в канальный деперемежающий блок 421. Мягко комбинированные символы кодовых слов представляют собой значения отчетов, генерированные из принятых символов кодовых слов, выраженных множеством битов или действительных чисел, а N здесь представляет число символов кодовых слов, выданных из кодера, использованного в передатчике. Канальный деперемежающий блок 421 канально деперемежает мягко комбинированные символы кодовых слов, принятые от процессора 411 ККТК, и передает N деперемеженных мягко комбинированных символов кодовых слов в канальный декодер 431. Канальный декодер 431 декодирует N деперемеженных мягко комбинированных символов кодовых слов к выдает N R информационных символов. Здесь R является кодовой скоростью кодера, использованного в передатчике.
Фиг.5 иллюстрирует функциональную блок-схему процедуры обработки принятых сигналов в приемнике согласно варианту выполнения настоящего изобретения. Структура и работа соответствующих функциональных блоков будет подробно описана со ссылкой на фиг.5.
На фиг.5 буфер 501 подкодов приема (буферизующий принятые подкоды Сij) сохраняет подкоды Cij, принятые из передатчика. Размер этого буфера зависит от числа N символов кодовых слов, и если на один символ используется Q битов, для буфера 501 подкодов приема используется Q N-битовая память. Далее информация о типе подкода, принятая в каждый момент, и момент начала передачи подкодов кодового слова с R=1/5 могут распознаваться приемником через канал управления или управляющее сообщение, переданное вместе с подкодами. Принятые символы сохраняются в связи с подкодами за счет ранее переданной информации в буфер 501 подкодов приема. Способ сохранения принятых символов в буфере с N ячейками будет подробно описан со ссылкой на фиг.7.
Комбинатор последовательности - комбинатор символов 502 (комбинирующий последовательности - комбинирующий символы принятых подкодов с прореживанием) выполняет процесс, обратный повторению последовательностей и прореживанию символов, выполненный повторителем 308 символов и прореживателем 309 символов передатчика, в то же самое время, когда выполняется процесс приема. То есть, буфер 501 под кодов приема мягко комбинирует ранее принятые символы с символами, принятыми из текущего канала. Если число принятых кодовых символов соответствующих подкодов меньше, чем N, это означает, что передатчик использовал прореживание. В этом случае буфер 501 подкодов приема вводит символы стирания в соответствующие позиции символов кодового слова перед их мягким комбинированием. Когда для комбинирования последовательностей используется комбинирование Chase, буфер 501 подкодов приема применяет разные веса к кодовому слову из ранее принятых символов и кодовому слову символов, принятых из текущего канала, перед их комбинированием. Если предполагается, что вес кодового слова из ранее принятых символов, сохраненных в буфере 501 подкодов приема, представляется как w1, а вес кодового слова из символов, принятых из текущего канала, представляется как w2, то веса w1 и w2 применяются к соответствующим мягким метрикам для комбинирования. Веса задаются блоком оценки канала в приемнике. Алгоритм Chase для мягкого комбинирования последовательностей (или кодовых слов) общеизвестен, так что его подробное описание будет опущено для простоты. Наконец, комбинатор последовательностей - комбинатор символов 502 генерирует мягкие метрики для N символов кодовых слов и передает их в разделитель 503 кодовых слов (разъединение или разделение последовательностей кодовых слов на (А:В:С)). На фиг.5 мягкие метрики для N символов кодовых слов, выданные комбинатором последовательностей - комбинатором символов 502, ради удобства представлены как "D".
Разъединитель 503 кодовых слов разделяет мягкие метрики для N символов кодовых слов на часть Х информационных символов, первую часть Y0, Y1 символов четности и вторую часть Y0 ", Y1" символов четности. Демультиплексоры M1 (515) и М2 (525) демультиплексируют соответственно первую часть Y0, Y1 символов четности и вторую часть Y0", Y1" символов четности, тем самым переразмещая их в части Х информационных символов, первой части Y0, Y1 символов четности и второй части Y0", Y1" символов четности. Эта операция может выполняться либо последовательно, либо одновременно. Далее часть Х информационных символов, демультиплексированная первая часть Y0, Y1 символов четности и демультиплексированная вторая часть Y0", Y1" символов четности вновь разделяются в поток пяти символов X, Y0, Y0", Y1 и Y1" символов кодового слова и передаются в подблоковые деперемежающие блоки 506, 516, 526, 536 и 546 соответственно.
Эти подблоковые деперемежающие блоки выполняют процесс, обратный перемежению подблоков, выполненному в передатчике, над N R=5 (где R=1/5) потоков X, Y0, Y0", Y1 и Y1" символов кодового слова. Подблоковое деперемежение можно реализовать либо так, что 5 символов кодового слова могут деперемежаться путем деперемежения одного подблока, либо так, что символы кодового слова могут деперемежаться независимо посредством стольких деперемежителей, сколько имеется символов кодового слова. Описание настоящего изобретения не ограничивается реализацией конкретного подблокового деперемежения, но дается в предположении, что процесс, обратный подблоковому перемежению, в общем случае использованному в передатчике, выполняется подблоковыми деперемежающими блоками в приемнике.
5 комбинированных - деперемеженных символов (507, 517, 527, 537 и 547) подвергаются мультиплексированию 508, где они рекомбинируются в процессе, обратном тому, что выполняется демультиплексором 302 в передатчике. В конце концов декодер 509 декодирует мягкие метрики и выдает переданные информационные символы, т.е. кодированный пакет.
Процедура, выполненная соответствующими функциональньми блоками в приемнике, показана на фиг.6. Как иллюстрируется на фиг.6, предполагается, что подкоды, переданные передатчиком до настоящего момента, - это С00, С10, С20 и C21. То есть, С00 является под кодом, имеющим 21504 символа кодового слова, С10 является подкодом, имеющим 10752 символов кодового слова, а С20 и C21 являются подкодами, имеющими 5376 символов кодового слова. Поэтому до настоящего момента приемник принял всего 4 подкода, которые все передавались в качестве подкодов, имеющих различные кодовые скорости подкодов, посредством одного 3072-битового кодированного пакета, информационного блока. Таким образом, приемник должен был бы генерировать мягкие метрики для N кодовых слов путем мягкого комбинирования подкодов вышеописанным манером. Следовательно, как показано на фиг.6, приемник мягко комбинирует 4 подкода так, что позиции 15360 (=3072 5) символов кодового слова для кодового слова с R=1/5 должны были бы быть идентичны позициям символов кодового слова каждого подкода. Кроме того, как иллюстрируется на фиг.6, поскольку С00 с длиной подкода 21504 длиннее, нежели N (т.е. 15360), приемник последовательно размещает 6144 (=21504-15360) символов кодового слова, остающихся после размещения 15360 символов, как в способе повторения последовательностей, начиная вновь с начала, а затем мягко комбинирует размещенные символы кодового слова. Подобным же образом, поскольку С10 передавалось передатчиком вслед за С00 в вышеуказанном способе передачи, он тоже сохраняется вслед за концом С00 в приемнике, а затем мягко комбинируется. Аналогично, поскольку С20 и C21 передавались передатчиком вслед за С10 в вышеуказанном способе передачи, они также сохраняются вслед за концом С10 в приемнике и мягко комбинируются.
Эта работа будет описана подробнее со ссылкой на фиг.7. Как показано на фиг.7, приемник может использовать N- или NxQ-битовый буфер, чтобы реализовать кольцевой буфер, или же использовать буферную память фиксированного размера и конструировать генератор буферного адреса, чтобы генерировать кольцевые адреса. Кроме того, как показано на фиг.7, С00 хранит N символов, начиная с начального адреса addr:00, a после этого сохраняет 6144 (=21504-15360) символов в буфере. Поскольку этот шаг состоит в сохранении этих символов после сохранения N символов, символы мягко комбинируются с ранее сохраненными символами в вышеуказанном способе. Пусть адрес, в котором выполняется часть мягкого комбинирования, будет addr_А. Тогда, если следом принимается С10, принятые символы сохраняются в буфере путем продвижения на 10752 бита от addr_A. Поскольку это также шаг сохранения символов после сохранения N символов, символы мягко комбинируются с ранее сохраненными символами в вышеуказанном способе. Пусть адрес, в котором выполняется часть мягкого комбинирования, будет addr_B. Тогда, если следом принимается С20, принятые символы сохраняются в буфере путем продвижения на 5376 битов от addr_В. Пусть адрес, в котором выполняется часть мягкого комбинирования, будет addr_С. Тогда, если следом принимается С21, принятые символы сохраняются в буфере путем продвижения на 5376 битов от addr_С. Пусть адрес, в котором выполняется часть мягкого комбинирования, будет addr_D. Тогда приемник непрерывно выполняет мягкое комбинирование на подкодах, переданных одним кодированным пакетом в вышеуказанном способе, и генерирует мягкие метрики для всех N символов кодового слова после завершения этого процесса. Этот способ может рассматриваться как способ реализации способа генерирования подкодов для ККТК в передатчике. Обобщая, способ включает в себя шаг 1 определения длины исходного подкода, шаг 2 определения и передачи подкода, подлежащего передаче, шаг 3 определения позиции кодового символа, подлежащего передаче следующим, и определения длины передачи, и шаг 4 определения и передачи подкода, подлежащего передаче следующим. Соответственно приемник может мягко комбинировать подкоды в связи с кодовыми словами с R=1/5 на основании информации о типе подкодов, переданных передатчиком в способе кольцевой буферизации.
Возвращаясь к фиг.6, разделитель кодовых слов разделяет мягкие метрики для N мягко комбинированных символов кодовых слов на часть Х информационных символов, первую часть Y0, Y1 символов четности и вторую часть Y0", Y1" символов четности.
Групповое разделение. После этого демультиплексоры Ml (515) и М2 (525) демультиплексируют первую часть Y0, Y1 символов четности и вторую часть Y0", Y1" символов четности соответственно, чтобы тем самым переразместить их в части Х информационных символов, демультиплексированной первой части Y0, Y1 символов четности и демультиплексированной второй части Y0", Y1" символов четности. Эта операция может выполняться либо последовательно, либо одновременно. Вслед за этим часть Х информационных символов, демультиплексированная первая часть Y0, Y1 символов четности и демультиплексированная вторая часть Y0", Y1" символов четности вновь разделяются на поток из 5 символов X, Y0, Y0", Y1 и Y1", а затем передаются на подблоковые деперемежающие блоки 506, 516, 526, 536 и 546 соответственно.
Подблоковые деперемежающие блоки выполняют процесс, обратный подблоковому перемежению, выполненному в передатчике, на N R=5 потоках символов X, Y0, Y0", Y1 и Y1" кодовых слов. Подблоковое деперемежение можно реализовать либо так, что 5 символов кодовых слов могут деперемежаться путем деперемежения одного подблока, либо так, что символы кодового слова могут деперемежаться независимо посредством стольких деперемежителей, сколько имеется символов кодового слова. Описание настоящего изобретения не ограничивается реализацией конкретного блокового деперемежения, но дается в предположении, что процесс, обратный подблоковому перемежению, в общем случае использованному в передатчике, выполняется подблоковыми деперемежающими блоками в приемнике.
Наконец, декодер декодирует мягкие метрики для N символов кодовых слов, полученных от подблоковых деперемежающих блоков, и выдает переданные информационные символы, т.е. кодированный пакет.
Как описано выше, система связи согласно настоящему изобретению может генерировать комплементарные турбокоды и квазикомплементарные турбокоды. Эта система связи может значительно улучшить свою пропускную способность посредством применения комплементарных турбокодов к схеме АЗП.
Хотя изобретение показано и описано со ссылкой на некоторые предпочтительные варианты его выполнения, следует понимать, что в нем могут быть сделаны разнообразные изменения в форме и деталях без отхода от сущности и объема изобретения, как определено прилагаемой формулой изобретения.
Класс H04B7/26 из которых по меньшей мере одна передвижная
Класс H03M13/27 с использованием техники чередования