RU2193276C2 - Способ адаптивного канального кодирования и устройство для его осуществления - Google Patents

Способ адаптивного канального кодирования и устройство для его осуществления Download PDF

Info

Publication number
RU2193276C2
RU2193276C2 RU2000102353A RU2000102353A RU2193276C2 RU 2193276 C2 RU2193276 C2 RU 2193276C2 RU 2000102353 A RU2000102353 A RU 2000102353A RU 2000102353 A RU2000102353 A RU 2000102353A RU 2193276 C2 RU2193276 C2 RU 2193276C2
Authority
RU
Russia
Prior art keywords
size
interleaving
input information
data block
new
Prior art date
Application number
RU2000102353A
Other languages
English (en)
Other versions
RU2000102353A (ru
Inventor
Чанг Соо ПАРК
Хиеон Воо ЛИ
Пил Дзоонг ЛИ
Дзун Дзин КОНГ
Йонг КИМ
Original Assignee
Самсунг Электроникс Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1019970060101A external-priority patent/KR100454952B1/ko
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Publication of RU2000102353A publication Critical patent/RU2000102353A/ru
Application granted granted Critical
Publication of RU2193276C2 publication Critical patent/RU2193276C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/2721Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions the interleaver involves a diagonal direction, e.g. by using an interleaving matrix with read-out in a diagonal direction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2732Convolutional interleaver; Interleavers using shift-registers or delay lines like, e.g. Ramsey type interleaver
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/276Interleaving address generation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2972Serial concatenation using convolutional component codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2996Tail biting
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0065Serial concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0071Use of interleaving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes

Abstract

Изобретение относится к способам и устройствам адаптивного канального кодирования для систем связи. Предложен канальный кодер, имеющий сверточные кодеры, подключенные параллельно или последовательно. Канальный кодер содержит первый кодер для кодирования входных информационных битов, перемежитель, имеющий запоминающее устройство и генератор индексов, для изменения порядка информационных битов согласно заданному способу, второй кодер для кодирования выходного сигнала перемежителя, первое и второе устройства завершения для завершения блоков данных входных и выходных информационных битов первого и второго кодеров, генератор остаточных битов для запоминания остаточных битов, используемых в завершении блока данных, и контроллер, и переключатель для управления изложенной выше процедурой. Технический результат, достигаемый при реализации заявленной группы изобретений, состоит в обеспечении разных скоростей кодирования и снижения сложности декодера. 10 с. и 32 з.п. ф-лы, 13 ил., 9 табл.

Description

Изобретение относится к способам и устройствам адаптивного канального кодирования для систем связи, в частности к способам и устройствам адаптивного кодирования для использования в передаче речи и данных.
Турбокодер, имеющий параллельную или последовательную структуру, формирует символы четности из блока данных входных N-информационных битов с помощью двух простых компонентных (или составляющих) кодеров. Указанный кодер использует рекурсивный систематический сверточный (РСС) код в качестве компонентного (или составляющего) кода.
Фиг. 1 представляет блок-схему обычного параллельного турбокодера, раскрываемого в патенте US 5 446 747. В турбокодере согласно фиг.1 перемежитель 12 расположен между первым и вторым компонентными кодерами 11 и 13. Перемежитель 12 имеет размер, эквивалентный длине N блока данных входных информационных битов, и видоизменяет последовательность информационных битов, принимаемых во втором компонентном кодере 13, для снижения корреляции между битами. Фиг. 2 представляет блок-схему обычного последовательного турбокодера, также имеющего перемежитель 12, подключенный между первым и вторым компонентными кодерами 11 и 13.
Указанные выше турбокодеры формируют турбокод для использования в космической связи. Несмотря на то, что длина К кодового ограничения в компонентных кодерах 11 и 13 короче длины обычного сверточного кода (т.е. К=9), перемежитель 12 использует очень большую память, что дает очень длительную задержку во время декодирования.
Фиг. 3 представляет блок-схему турбодекодера для декодирования выходного сигнала параллельного турбокодера, изображаемого на фиг.1 и также раскрываемого в патенте US 5 446 747. Фиг.4 изображает блок-схему турбодекодера для декодирования выходного сигнала последовательного турбокодера фиг.2, предложенного Бенедетто в статье журнала IEEE Электронике Леттерс, том 32, 13, июнь 1996 г.
Параллельный турбодекодер фиг. 3 значительно повышает рабочие характеристики с точки зрения частоты появления ошибок по битам (ЧОБ) путем неоднократного декодирования входных данных в блоках данных с помощью алгоритма итерационного декодирования. Перемежитель 323 повышает возможность исправления ошибок путем распределения ошибочных комбинаций пакетных ошибок, которые не были исправлены первым декодером 319, до исправления ошибочных комбинаций пакетных ошибок во втором декодере 327.
Итерационным декодированием называют неоднократное декодирование символов, которые были кодированы по определенной процедуре, с помощью получаемой в результате внешней информации, и это дает возможность добиться превосходных характеристик декодирования. Алгоритмами итерационного декодирования являются ВПА (Выходной программно-реализованный алгоритм Витерби: см. Материалы Конференции IEEE до транспортной технике, стр. 941-944, май 1993), и МАВ (Алгоритм максимальной апостериорной вероятности: см.: Записки IEEE по теории информации, стр. 429-445, том 42, 2, март 1996). ВПА является модификацией алгоритма Витерби, который дает выходной сигнал программируемого решения и может сводить к минимуму частоту ошибок кодового слова. С другой стороны, МАВ может сводить к минимуму частоту ошибок в символах.
В декодере согласно фиг. 3 выходные сигналы Y1k и Y2k устройства восстановления выкинутой точки 313 являются соответственно Yk и нулем; если символ четности Yk принимают от первого компонентного кодера 11 фиг.1; и они являются нулем и yk соответственно, если символ четности Yk принимают из второго компонентного кодера 13 фиг.1. Zk+1 является символом программируемого решения, используемым в качестве внешней информации в алгоритме итерационного кодирования и во входном сигнале для декодирования на следующем этапе.
Окончательный заданный символ получают тогда, когда Zk+1 подвергают аппаратному решению. Рабочие показатели турбокодера зависят от размера перемежителя, структуры перемежителя и числа итерационных декодирований.
Согласно фиг. 1 турбокодер содержит перемежитель 12. Перемежитель 12 обусловливает выполнение кодирования/декодирования в блоках данных. Таким образом, сложность турбокода пропорциональна произведению размера блока данных памяти, необходимого для первого и второго итерационных декодеров 319 и 327, изображаемых в фиг.3, и числа состояний компонентных кодов для первого и второго компонентных кодеров 11 и 13. Турбокод не может применяться в передаче речи и данных по причине использования очень больших блоков данных. Увеличение числа состояний компонентных кодов для турбокодера в целях улучшения рабочих показателей приводит к усложнению первого и второго компонентных кодеров 11 и 13.
При пакетной ошибке в декодере согласно фиг.3 выходной сигнал первого итерационного декодера 319 имеет корреляцию, которая препятствует надежному декодированию во втором итерационном декодере 327 на следующем этапе декодирования. Поэтому в целом блоке происходят ошибки, и их нельзя исправить на следующем этапе итерационного декодирования. В этом контексте становятся все более необходимыми перемежитель и обращенный перемежитель, которые могут распределять пакетные ошибки в одном блоке данных кода, подлежащем итерационному декодированию без корреляции.
Благодаря преимуществу низкой корреляции произвольный перемежитель повышает рабочие показатели турбокода. Но при небольшом размере блока данных произвольный перемежитель имеет ограничения по своей эффективности в отношении распределения пакетных ошибок без корреляции, и для него требуется справочная таблица. Поэтому передача речи или передача с низкой скоростью передачи требуют небольшой размер блока данных и небольшое число состояний компонентного кода, чтобы свести к минимуму время задержки. Для передачи речи или передачи с низкой скоростью передачи также требуется структурированный перемежитель. Вкратце, обычный турбокод нецелесообразен для передачи речи или данных из-за неприемлемости длины ограничения компонентных кодов и по причине крупного перемежителя. Тем не менее, все большее число разработок направляется на реализацию кодера и декодера для систем связи с учетом преимуществ обычного турбокода.
Поэтому существует необходимость создания турбокодера с рабочими показателями, равными или более высокими, чем у обычного кодера в обычной системе связи. Также существует необходимость создания перемежителя с хорошими рабочими показателями, с небольшим числом состояний компонентного кода и с минимальным временем задержки. Хотя рабочие показатели перемежителя 12 фиг.1 или 2 для использования в турбокодере в общем пропорциональны размеру перемежителя, размер блока данных турбокода является ограниченным. В этом случае предпочтительно использовать перемежитель, который доводит до максимума минимальное хэммингово расстояние турбокода с точки зрения блочного кода. Для небольших блоков данных можно применить структурированный перемежитель.
Поэтому задача данного изобретения заключается в создании способа и устройства турбокодирования, которые могут кодировать речь и данные с низкой скоростью передачи в системе связи.
Другой задачей данного изобретения является создание способа и устройства параллельного или последовательного турбокодирования, в которых диагональный перемежитель используют для перемежения входных данных независимо от размера блока данных в системе связи.
Еще одна задача данного изобретения заключается в создании способа и устройства параллельного или последовательного турбокодирования, в которых перемежитель с циклическим смещением используют для перемежения входных данных независимо от размера блока данных в системе связи.
Еще одна задача данного изобретения заключается в создании способа и устройства для передачи остаточных битов и битов четности, сформированных из остаточных битов на канале, в устройстве для кодирования сигналов речи и данных в турбокод.
Еще одна задача данного изобретения заключается в создании способа и устройства для регулирования скорости передачи данных путем выкидывания точки в данных и информации четности в устройстве для кодирования в турбокод сигналов речи и данных.
Для решения указанных выше задач предложен турбокодер. Турбокодер содержит множество компонентных кодеров для кодирования входных информационных битов и диагональный перемежитель, подключенный к входному порту одного из компонентных кодеров и имеющий таблицу для запоминания информации о столбцах и строках, соответствующей изменяемому размеру блока данных, для определения информации о столбцах и строках, соответствующей размеру блока данных входных информационных битов, и для диагонального перемежения информационных битов.
Согласно еще одному аспекту данного изобретения предложен турбокодер. Турбокодер содержит множество компонентных кодеров для кодирования входных информационных битов и перемежитель с циклическим смещением, подключенный к входному порту одного из компонентных кодеров и имеющий таблицу для запоминания информации о скачках и переходах, соответствующей изменяемому размеру блока данных, для определения информации о скачках и переходах, соответствующей размеру блока данных входных информационных битов, и для выполнения перемежения с циклическим смещением информационных битов.
Согласно еще одному аспекту данного изобретения предложен турбокодер. Турбокодер содержит множество компонентных кодеров для кодирования входных информационных битов, перемежитель, подключенный к входному порту одного из компонентных кодеров, для перемежения информационных битов согласно размеру блока данных и генераторы остаточных битов по количеству компонентных кодеров для блокировки информационных битов от их введения в компонентные кодеры в целях завершения блока данных, анализирования значений запоминающих устройств в компонентных кодерах и формирования остаточных битов для завершения блока входных данных.
Согласно еще одному аспекту данного изобретения предложен турбокодер. В турбокодере некоторое множество компонентных кодеров кодирует входные информационные биты. Перемежитель подключают к входному порту одного из компонентных кодеров для перемежения информационных битов согласно размеру блока данных. Такое же число генераторов остаточных битов, что и число компонентных кодеров, блокирует информационные биты от введения в компонентные кодеры для завершения блока данных, анализирует значения запоминающих устройств в компонентных кодерах и генерирует остаточные биты для завершения блока входных данных. Первое средство выкидывания точки выкидывает точку во входных информационных битах на заданной скорости. Второе средство выкидывания точки выкидывает точку в выходных сигналах компонентных кодеров на заданной скорости для регулирования скорости передачи кодированных данных.
Упомянутые задачи и преимущества данного изобретения становятся более очевидными при подробном описании предпочтительных примеров осуществления со ссылкой на прилагаемые чертежи, на которых:
фиг.1 - блок-схема обычного параллельно подключенного рекурсивного систематического кодера;
фиг. 2 - блок-схема обычного последовательно подключенного рекурсивного систематического кодера;
фиг.3 - блок-схема обычного параллельно подключенного рекурсивного систематического декодера;
фиг. 4 - блок-схема обычного последовательно подключенного рекурсивного систематического декодера;
фиг. 5 - блок-схема подключенного рекурсивного систематического кодера согласно первому примеру осуществления данного изобретения;
фиг. 6 - блок-схема подключенного рекурсивного систематического кодера согласно второму примеру осуществления данного изобретения;
фиг. 7 - блок-схема диагонального перемежителя в турбокодере согласно первому примеру осуществления данного изобретения;
фиг. 8 - блок-схема последовательности действий первого диагонального перемежения в диагональном перемежителе Фиг.7;
фиг. 9 - блок-схема перемежителя с циклическим смещением в турбокодере согласно второму примеру осуществления данного изобретения;
фиг. 10 - блок-схема последовательности действии первого перемежения с циклическим смещением в перемежителе с циклическим смещением фиг.9;
фиг. 11 - блок-схема последовательности действий второго перемежения с циклическим смещением в перемежителе Фиг.7;
фиг. 12 - график характеристик турбокодера, работающего на основе произвольного и блочного перемежения, относительно характеристик турбокодера, работающего на основе перемежения с циклическим смещением согласно второму примеру осуществления данного изобретения; и
фиг. 13 - блок-схема турбокодера согласно примерам осуществления данного изобретения, описывающая генерирование остаточных битов и откидывание точки в них.
Для ясности описания примеры осуществления данного изобретения описаны со ссылкой на параллельно подключенный рекурсивный турбокодер; прочие конфигурации рассмотрены как последовательный рекурсивный турбокодер. Фиг.5 и 6 являются блок-схемами турбокодеров согласно примерам осуществления данного изобретения. Кодеры 410 и 420 являются компонентными кодерами для кодирования входного информационного бита dk в символ четности yk и аналогичны компонентным кодерам фиг.1 и 2. Диагональный перемежитель 432 и перемежитель 434 с циклическим смещением являются признаком данного изобретения и называются "перемежителем 430", если не указывается конкретный перемежитель.
Обратимся к фиг.5 и 6, информационные биты dk одновременно подают в первый компонентный кодер 410 и перемежитель 430. Перемежитель 430 изменяет порядок, в котором располагаются информационные биты, и предпочтительно доводит до максимума минимальное хэммингово расстояние кодированной выходной последовательности (Xk, Yk), соответствующей информационным битам dk. Блок данных, вводимый в канальный кодер, является изменяющимся по длине, поскольку бит контроля циклическим избыточным кодом (КЦИК) и другие управляющие биты суммируют с данными. Для принудительного фиксирования длины блока данных необходимо добавлять фиктивные биты в зависимости от разницы между размером блока данных и размером перемежителя. Но поскольку эти фиктивные биты не имеют отношения к улучшению рабочих показателей системы, поэтому желательно сокращение их числа. Таким образом перемежитель 430 обеспечивает хорошие рабочие показатели и надежную работу независимо от изменений параметров, относящихся к размеру блока данных.
Фиг. 7 представляет блок-схему диагонального перемежителя 432 и перемежителя 434 с циклическим смещением, изображенных на фиг.5 и 6 соответственно. Диагональный перемежитель 432 и перемежитель 434 с циклическим смещением, и тот и другой, анализируют свои соответствующие изменяемые размеры блока данных при приеме информационных битов и выполняют оптимальное перемежение на входных информационных битах посредством относящихся к перемежителю параметров, принимаемых из контроллера системы, согласно результатам анализа размера блока данных. Диагональный перемежитель 432 и перемежитель 434 с циклическим смещением объединены в одно устройство в описании примеров осуществления данного изобретения, но турбокодер может конкретно, и отдельно, применять либо диагональное перемежение, либо перемежение с циклическим смещением. Далее диагональный перемежитель 432 и перемежитель 434 с циклическим смещением упоминаются как "перемежитель 430".
Обратимся к фиг.1, регистр 511 запоминает сигнал размера блока данных и сигнал типа перемежителя, принимаемый от контроллера системы (не изображен). Таблица диагонального перемежения 513 запоминает номера М и N столбцов и строк в матрице, обеспечивающей оптимальные характеристики диагонального перемежения в отношении размера блока данных во время диагонального перемежения. То есть она запоминает измеренные значения MxN, которые обеспечивают оптимальное диагональное перемежение информационных битов с изменяющимся размером блока данных. Таблица диагонального перемежения 513 выводит значение MxN, соответствующее сигналу размера блока данных, принимаемому из регистра 511. Контроллер 517 диагонального перемежения принимает значение MxN из таблицы 513 диагонального перемежения и формирует адрес считывания для перемежения информационных битов согласно заданному способу перемежения.
Таблица перемежения 515 с циклическим смещением запоминает параметры скачков Р и параметры переходов STEP, обеспечивающие оптимальные характеристики перемежения с циклическим смещением относительно размера блока данных информационных битов в случае перемежения с циклическим смещением. Параметры скачков Р и параметры переходов STEP определяют эмпирически. Таблица перемежения 513 с циклическим смещением выводит параметры Р и STEP, соответствующие сигналу размера блока данных, принимаемому из регистра 511. Контроллер 519 перемежения с циклическим смещением принимает параметры Р и STEP из таблицы 515 перемежения с циклическим смещением и формирует адрес считывания для перемежения информационных битов согласно заданному способу перемежения с циклическим смещением. Мультиплексор 521 принимает адреса считывания от контроллера 517 диагонального перемежения и контроллера 519 перемежения с циклическим смещением и выбирает один из них в соответствии с сигналом типа перемежителя, принятым из регистра 511. Запоминающее устройство 523 принимает информационные биты последовательно и выводит информационные биты, запомненные в адресах считывания, принятых из мультиплексора 521, в перемеженном порядке. Запоминающее устройство 523 выполнено с достаточно большой емкостью, чтобы вмещать информационные биты с максимальным изменяющимся размером блока данных.
Структура, имеющая только диагональный перемежитель 432 на фиг.7, содержит следующее: регистр 511, таблицу диагонального перемежения 513, контроллер диагонального перемещения 517 и запоминающее устройство 523. С другой стороны, структура, имеющая только перемежитель 434 с циклическим смещением на фиг, 7, содержит следующее: регистр 511, таблицу 515 перемежения с циклическим смещением, контроллер перемежения 519 с циклическим смещением и запоминающее устройство 523. Для обеих структур не требуется мультиплексор 521 и сигнал типа перемежителя, если применяется только один тип перемежения.
Таблица диагонального перемежения 513 и таблица перемежения 515 с циклическим смещением могут состоять из запоминающего устройства, подобного ПЗУ или ЗУПВ, или логических устройств в сочетании. Контроллер диагонального перемежения 517 и контроллер перемежения с циклическим смещением 519 могут быть реализованы с помощью логических устройств в сочетании или с помощью процессора цифрового сигнала.
Фиг.8 и 9 изображают блок-схемы последовательности типичных диагональных перемежений; фиг.10 и 11 представляют блок-схемы последовательности типичных перемежений с циклическим смещением. Перемежитель, описываемый ниже в качестве примера, имеет входной буфер.
Обратимся к структуре перемежителя 430, изображаемого на фиг.7, далее описываются операции диагонального перемежения с первой по третью.
Фиг. 8 представляет собой блок-схему последовательности операции первого диагонального перемежения. На фиг.8 первое диагональное перемежение содержит процесс переупорядочения входной последовательности битов в матрице MxN. Для первого диагонального перемежения, при приеме информационных битов dk информационные биты запоминают в адресах old_addr[k] для последовательного запоминания информационных битов в запоминающем устройстве 523 (фиг.7) и определяют размер k блока данных, при операции 611. Затем при операции 613 определяют параметры столбцов и строк MxN блока данных для диагонального перемежения. То есть для выполнения диагонального перемежения значение MxN назначают из таблицы диагонального перемежения на основе размера k данных входного блока данных. Множество значений MxN можно запоминать в справочной таблице для последующего отбора согласно размеру k входного блока данных. Либо оптимальное значение MxN можно вычислить согласно размеру k входного блока данных. При операции 615 определяют, равен ли 1 наибольший общий делитель (GCD) М и N. Если GCD М и N равен 1, то адресами первого диагонального перемежения оперируют следующим образом, при операции 617:
для (k=0; k < М х N-1; k + +)
new addr[k]=(М -1-(k mod N)) х N +(k mod N)...(1)
После назначения адресов в выходном буфере в виде уравнения (1) входные информационные биты, запомненные во входном буфере, перемежают и запоминают в выходном буфере.
Если GCD М и N не равен 1, то есть [GCD(M, N)≠1] при операции 615, то определяют, что перемежение при операции 619 не удается, и процедуру прекращают.
В первом диагональном перемежении, исходя из того, что последовательность данных М = 6 и N = 5, запомненная в old_adr[k], составляет {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29}, то выходная последовательность первого диагонального перемежителя, запомненная в new_addr[k] выходного буфера, составляет {25 21 17 13 9 0 26 22 18 12 5 1 27 23 19 10 6 2 28 24 15 11 7 3 29 20 16 12 8 4}.
Входные данные и выходной сигнал первого диагонального перемежителя табулируют в матрицах MxN следующим образом (см. в табл. 1).
Но указанное выше диагональное перемежение действительно только в том случае, когда GCD М и N равен 1. Если GCD (М, N) ≠1, например, М = 6 и N = 6, то первое диагональное перемежение невозможно, и те же данные переписывают в порядке, представленном в табл. 2.
Второе и третье диагональные перемежения содержат процесс перестановки последовательности входных информационных битов в матрице М х N и обеспечение возможности перемежения входных данных независимо от GCD (М, N)=1, или ≠1.
Фиг.9 иллюстрирует операцию второго диагонального перемежения. Обратимся к фиг. 9, второе диагональное перемежение переупорядочивает входные биты в матрице М х N и относится к обоим случаям, когда GCD (М, N) ≠1, и когда GCD (М, N)=1. Во втором диагональном перемежении при вводе информационных битов dk информационные входные биты запоминают в адресах old_addr[k] и определяют размер k блока данных при операции 631. Параметр столбцов и строк (МхN) для диагонального перемежения определяют при операции 633. При операции 635 адресами второго диагонального перемежения оперируют следующим образом:
для (j =0; j < М; j + +)
для (i =0; i < N; i + +)
new addr [i + j + N]=i +(m -1-(i + j) mod M) х N...,(2)
при этом i и j дают приращение местоположению блока данных.
После назначения адресов входного буфера по уравнению (2) информационные биты, запомненные во входном буфере, перемежают и запоминают в выходном буфере.
Второй диагонально перемеженный выходной сигнал, соответствующий входной последовательности при М =6, N =5, и GCD (М, N)=1, изображен в табл. 3.
При этом входную последовательность при М = 6, N = 6, и GCD (М, N) ≠ 1 перемежают следующим образом (см.табл.4).
При третьем диагональном перемежении контроллер диагонального перемежения 517 можно выполнить следующим образом:
для (j =0; j < m; j + +)
для (i =0; i < N; i + +)
new addr [i + j + N]=i +((i + j) mod M) х N,...(3)
Входную последовательность запоминают в адресах распределенной памяти и затем последовательно считывают по столбцам и строкам с помощью диагонального перемежителя 432. Либо входную последовательность запоминают в памяти по столбцам и строкам и считывают из адреса бит за битом с помощью диагонального перемежителя 432.
Обращенное перемежение выполняют в порядке, обратном порядку перемежения входных данных.
Фиг. 10 представляет собой блок-схему последовательности перемежения с циклическим смещением выполняемого перемежителем 434 с циклическим смещением. Операция первого перемежения с циклическим смещением представляет собой процедуру переупорядочивания данных в заданном интервале, согласно которой входная последовательность рассматривается как цикл. Операция первого перемежения с циклическим смещением может перемежать входную последовательность независимо от ее длины.
Обратимся к фиг.10, входные информационные биты dk запоминают в адресах old addr[k] входного буфера, а размер блока данных определяют при операции 711. Параметры Р и STEP определяют при операции 713. Здесь Р является параметром интервала скачка, определяющим рабочие показатели перемежителя с циклическим смещением, и поэтому его выводят эмпирически для достижения оптимального эффекта. Помимо этого, STEP является параметром для смещения данных из местоположения, на которое переход сделан скачком с помощью Р, слева направо, или справа налево, и которое имеет значение целого числа. Затем при операции 715 определяют, является ли GCD, относящийся к Р или SIZE, единицей. Если GCD (Р, SIZE)=1, то при операции 717 вычисляют адреса первого перемежения с циклическим смещением:
для (i =0; i <SIZE; i + +)
new addr [i]=(p х i + STEP) mod SIZE..., (4)
где i является параметром, представляющим размер блока входных данных, или размер, являющийся меньшим, чем размер блока входных данных в пределах от нуля до SIZE, то есть число адресов, при этом SIZE является размером блока данных, р - натуральное число, удовлетворяющее условию GCD (SIZE, р) = 1, и STEP является целым числом и указывающим исходную точку.
Например, первый, перемеженный с циклическим смещением, выходной сигнал, запомненный в new_addr[k] буфера, соответствующий входной последовательности при SIZE = 30, запомненной в new_addr[k] входного буфера, то есть {0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 22 23 24 25 26 27 28 29}, является следующим: {0 11 22 3 14 25 6 17 28 9 20 1 12 23 4 15 26 7 18 29 10 21 2 13 24 5 16 27 8 19}, если Р = 11 и STEP = 0. Входную последовательность и первую, перемеженную с циклическим смещением, выходную последовательность упорядочивают согласно табл. 5.
Но, если GCD (SIZE, p) ≠ 1 и р = 6, то первое перемежение с циклическим смещением не является действительным, поскольку переписываются те же данные.
Исходя из того, что SIZE = 30 для входной последовательности, запомненной в последовательном адресе old_addr[k] первоначальной памяти, Р = 11, и STEP = 0, соответствующий перемеженный выходной сигнал, являющийся результатом первого перемежения с циклическим смещением фиг.10, будет представлен как следующая ниже матрица MxN (см. табл.6).
Схема второго перемежения с циклическим смещением обеспечивает перемежение в случае GCD (SIZE, p) ≠ 1 согласно изображению на фиг.11. Второе перемежение с циклическим смещением представляет собой процедуру переупорядочения данных, при которой входная последовательность рассматривается как матрица d x SIZE/d, причем строки подвергают первому перемежению с циклическим смещением, а столбцы подвергают блочному перемежению.
Фиг.11 представляет собой блок-схему последовательности второго перемежения с циклическим смещением, которое является применимым независимо от GCD (SIZE, p) = 1 или ≠1. В операции второго перемежения с циклическим смещением входные информационные биты запоминают в последовательном адресе old_addr[k] памяти и при операции 721 определяют размер. Здесь SIZE является параметром, указывающим размер входных данных. Параметры Р и STEP для перемежения с циклическим смещением определяют при операции 723. При операции 725 адреса второго перемежения с циклическим смещением получают с помощью уравнения (5):
d = GCD (P, SIZE)
для (k - j = 0; j < d; j + +)
для addr [k] = ((P х i + STEP + j) mod SIZE...,(5)
где i и k находятся в пределах между 0 и SIZE, j - параметр адреса в пределах от 0 до d, P - параметр скачка для выполнения перемежения с циклическим смещением и STEP - параметр, определяющий исходную точку путем смещения данных, размещенных в совокупности местоположений, с помощью Р слева направо или справа налево.
Исходя из уравнения (5), (Р х i + STEP) представляет операцию перемежения с циклическим смещением и j указывает операцию блочного перемежения. SIZE является размером входных данных, р является натуральным числом, и STEP является целым числом.
Если SIZE = 30 и p = 11, то второй перемеженный, с циклическим смещением, выходной сигнал представляют в матрице М х N (см.табл.7 и 8), которая аналогична табл. 6, но при CGD (SIZE, р) ≠ 1.
После запоминания входной последовательности в адресах распределенной памяти данные последовательно считывают по столбцам и строкам посредством перемежителя с циклическим смещением. Либо входную последовательность последовательно запоминают в памяти по столбцам и строкам и затем считывают из адресов бит за битом.
Обращенное перемежение можно выполнить в порядке, обратном порядку перемежения входных данных.
Фиг. 12 представляет график, иллюстрирующий рабочие показатели перемежителя с циклическим смещением, подключенного параллельно турбокодеру согласно второму примеру осуществления данного изобретения. На графике дано сравнение широко используемых блочных и произвольных перемежителей с перемежителем с циклическим смещением с точки зрения ЧОБ (частоты ошибок по битам) согласно следующим условиям: компонентный код К = 3, входной 104-битовый блок данных, восемь итерационных декодирований, двухпозиционная фазовая модуляция ДПФМН и дополнительный белый гауссов шум (ДБГШ). Как указывается в фиг. 12, отношение Eb/No перемежителя с циклическим смещением составляет 3 дБ, у блочного перемежителя - 3,4 дБ; при ЧОБ 10-5. Поэтому можно заключить, что перемежитель с циклическим смещением по своим характеристикам превосходит блочный перемежитель примерно на 0,4 дБ.
Фиг.13 представляет собой блок-схему турбокодера согласно примерам осуществления данного изобретения.
Обратимся к фиг. 13, первый, компонентный кодер 410 кодирует входные информационные биты, например, при К = 3. Перемежитель 430 перемежает информационные биты по заданному способу, чтобы тем самым видоизменить порядок информационных битов. Перемежитель 430 можно осуществить согласно фиг.7. В этом случае он сможет выполнять одно из первого по третье диагональных перемежений и с первого по третье перемежения с циклическим смещением. Второй компонентный кодер 420 кодирует выходной сигнал перемежителя 430, например, при К = 3.
Первый генератор остаточных битов 450 содержит первый переключатель 455, подключенный к входному порту первого компонентного кодера 410, логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 451 для выполнения операции ИСКЛЮЧАЮЩЕЕ ИЛИ на выходных сигналах запоминающих устройств 412 и 413 первого компонентного кодера 410 и генератор битов 453 для генерирования сигнала завершения блока данных согласно выходному сигналу логического элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 451 и для подачи сигнала к первому переключателю 455. В первом генераторе остаточных битов 450 первый переключатель 455 подключают к первому компонентному кодеру 410 при завершении блока данных и при этом формируют сигнал завершения блока данных. Второй генератор остаточных битов 460 включает в себя второй переключатель 465, подключенный к входному порту второго компонентного кодера 420, логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ 461 для выполнения операции ИСКЛЮЧАЮЩЕЕ ИЛИ на выходных сигналах запоминающих устройств 422 и 423 второго компонентного кодера 420 и генератор битов 463 в соответствии с выходным сигналом логического элемента ИСКЛЮЧАЮЩЕЕ ИЛИ 461, формирующий сигнал завершения блока данных и подачи сигнала ко второму переключателю 465. Во втором генераторе остаточных битов 360 второй переключатель 465 подключают ко второму компонентному кодеру 420 при завершении блока данных и формируют сигнал завершения блока данных.
Первое средство выкидывания точки 470 выкидывает точку в информационных битах. Второе средство выкидывания точки 480 выкидывает точку в кодированных данных, принимаемых от первого и второго компонентных кодеров 410 и 420. Первое и второе средства выкидывания точки 470 и 480 регулируют скорость передачи данных. Мультиплексор 491 объединяет выходные сигналы генераторов битов 453 и 463. Третий переключатель 493 переключает остаточные биты, принимаемые от мультиплексора 491, в канал передачи при завершении блока данных.
Первый и второй генераторы остаточных битов 450 и 460 формируют остаточные биты для завершения операций первого и второго компонентных кодеров 410 и 420 соответственно. Первое и второе средства выкидывания точки 470 и 480 регулируют скорость передачи до приемлемого уровня.
Обратимся к фиг.13, турбокод имеет остаточные биты для завершения действия компонентных кодеров 410 и 420. Здесь, поскольку компонентные коды турбокода являются систематическими, то запоминающие устройства 412 и 413, и 422 и 423 компонентных кодеров 410 и 420 не вводят в действие даже при вводе последовательных нулей, как в несистематическом сверточном коде. Чтобы установить на нули значения в запоминающем устройстве, которое является ближайшим ко входу, первый и второй компонентные кодеры 410 и 420 вводят сумму обратноподанных значений в запоминающие устройства с помощью генераторов остаточных битов. Поэтому для турбокодера требуется такое число остаточных битов, которое равно числу запоминающих устройств каждого компонентного кодера. Первый и второй переключатели 455 и 465 переключают при генерировании остаточных битов. Затем биты четности, генерированные из остаточных битов, подают из первого и второго компонентных кодеров 410 и 420 ко второму средству выкидывания точки 480, а остаточные биты, генерированные из генераторов остаточных битов, переключают третьим переключателем 493, чтобы вывести их как информационные биты Xk.
Желательно установить скорость передачи в степень 2, чтобы уменьшить аппаратурную усложненность. Но скорость передачи, равная 384 кб/сек, не может быть степенью 2, использующей турбокод со скоростью кода, равной 1/2. В этом случае в турбокоде 1/2 выкидывают точку, и он превращается в код 3/8. Конкретно, в случае скорости 144 кб/сек турбокод 1/2 подвергают выкидыванию точки и превращают его в код 9/16. Примеры матриц выкидывания точки для формирования кода 9/16 изображены в табл. 9, 10.
В табл. 9 и 10 информационными битами являются dk, которые подают к первому средству выкидывания точки 470, и PCC1 являются битами четности, которые подают из первого компонентного кодера 410 во второе средство выкидывания точки 480. Табл. 9 в качестве примера изображает выкидывание точки в битах четности, выводимых из компонентных кодеров 410 и 420. В этом случае имеется несколько следующих друг за другом нулей, соответствующих битам четности. То есть, когда в битах четности выкинуты точки для регулирования скорости передачи, последовательно появляются нули, которые указаны подчеркиванием в табл. 9. Но поскольку в каждом из компонентных кодеров 410 и 420 имеется два запоминающих устройства, то, если не будет последовательной передачи двух или более битов четности, могут быть генерированы серьезные ошибки. Поэтому в информационных битах выкидываются точки, согласно табл.10 данного изобретения. Табл. 10 изображает матрицу 9/16 выкидывания точки; данная матрица отличается от матрицы табл. 9 тем, что последовательно передают два или более бита четности. При этом рабочие показатели турбокода улучшаются при возрастании числа итерационных декодирований.
Согласно описываемому выше изобретению турбокод, который был неприемлем для передачи речи и данных в системе связи по причине задержки времени, может найти свое применение в передачи речи и данных при введении перемежителя, имеющего уменьшенный размер и хорошие характеристики в отношении турбокода в турбокодере. Помимо этого перемежитель, имеющий хорошие рабочие показатели, уменьшает число состояний компонентного кодера в турбокодере, тем самым в свою очередь снижая усложненность декодера. Также в соответствии с описываемым выше примером осуществления данного изобретения с помощью выкидывания точки во входной информации можно обеспечивать разные скорости кодирования.
Несмотря на то что данное изобретение описывается подробно относительно конкретных примеров осуществления, они являются только примерами иллюстративного применения. Поэтому понятно, что специалисты в данной области смогут реализовать в пределах объема его сущности многие варианты данного изобретения, определяемого в прилагаемой формуле изобретения.

Claims (42)

1. Способ диагонального перемежения, отличающийся тем, что принимают изменяющуюся входную информацию, определяют размер изменяющейся входной информации, выводят значения столбцов и строк, соответствующие размеру входной информации, формируют адрес считывания для перемежения изменяющейся входной информации в соответствии со значениями столбцов и строк и диагонально перемежают для считывания информационные биты изменяющейся входной информации согласно значениям столбцов и строк.
2. Способ диагонального перемежения по п. 1, отличающийся тем, что диагональное перемежение выполняют на основе для (k = 0; k <M x N - 1; k + +)
new addr [k] = (M - 1 - (k mod N) x N + (k mod N),
где M и N - значения столбцов и строк;
М х N - размер блока данных;
k - размер входного блока данных;
new addr [ ] - новый адрес диагонально перемеженных информационных битов.
3. Способ диагонального перемежения по п. 1, отличающийся тем, что диагональное перемежение выполняют на основе
для (j = 0; j <M; j + +)
для (i = 0; i <N; i + +)
new addr [i + j + N] = i +(М - 1 - 1(i + j) mod M) x N,
где М и N - значения столбцов и строк,
М х N - размер блока данных,
i и j - приращение местоположения блока данных;
mod - операция взятия модуля;
new addr [ ] - новый адрес диагонально перемеженных информационных битов.
4. Способ диагонального перемежения по п. 1, отличающийся тем, что диагональное перемежение выполняют на основе
для (j = 0; j <M; j + +)
для (i = 0; i <N; i + +)
new addr [i + j + N] = i + ((i + j) mod M) x N,
где М и N - значения столбцов и строк; М х N - размер блока данных;
i и j - приращение местоположения блока данных;
new addr [ ] - новый адрес диагонально перемеженных информационных битов.
5. Способ перемежения с циклическим смещением, отличающийся тем, что принимают изменяющуюся входную информацию, определяют размер изменяющейся входной информации, выводят параметры скачка и перехода, соответствующие размеру изменяющейся входной информации, формируют адрес считывания для перемежения изменяющейся входной информации в соответствии с параметрами скачка и перехода и выполняют перемежение с циклическим смещением для считывания на информационных битах изменяющейся входной информации в соответствии с адресом считывания.
6. Способ перемежения с циклическим смещением по п. 5, отличающийся тем, что перемежение с циклическим смещением выполняют на основе
для (i = 0; i <SIZE; i + +)
new addr [i] = (р x i + STEP) mod SIZE,
где SIZE - размер подлежащих перемежению данных;
р - параметр скачка для перемежения с циклическим смешением;
STEP - параметр перехода, имеющий целое число, для смещения данных из положения после скачка;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
i - приращение местоположения блока данных.
7. Способ перемежения с циклическим смещением по п. 5, отличающийся тем, что перемежение с циклическим смещением выполняют на основе
d = GCD (P, SIZE)
для (k - j = 0; j <d; j + +)
для (i = 0; i <SIZE/d; i + +, k + +)
new addr [k] = ((P x i + STEP) + j) mod SIZE,
где SIZE - размер подлежащих перемежению данных;
р - параметр скачка для перемежения с циклическим смещением;
STEP - параметр перехода, имеющий целое число, для смещения данных из положения после скачка;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
GCD - наибольший общий знаменатель;
i, j - приращение местоположения блока данных;
k - размер входного блока данных.
8. Турбокодер, содержащий множество компонентных кодеров для кодирования битов изменяющейся входной информации и перемежитель, предназначенный для перемежения битов изменяющейся входной информации, подключенный к входному порту одного из множества компонентных кодеров, отличающийся тем, что перемежитель выполнен в виде диагонального перемежителя и содержит регистр, предназначенный для записи размера изменяющейся входной информации, таблицу диагонального перемежения для запоминания значений столбцов и строк, соответствующих размеру изменяющейся входной информации, контроллер диагонального перемежения для генерирования адреса считывания изменяющейся входной информации и запоминающий блок, на вход которого поступает изменяющаяся входная информация и с выхода которого считанная входная информация поступает на входной порт соответствующего компонентного кодера.
9. Турбокодер по п. 8, отличающийся тем, что диагональное перемежение осуществляется на основе
для (k = 0; k <M x N - 1; k + +)
new addr [k] = (M - 1 - (k mod N)) x N + (k mod N),
где М и N - информация о столбцах и строках;
k - размер входного блока данных;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
М х N - размер блока данных.
10. Турбокодер по п. 8, отличающийся тем, что адрес считывания для диагонального перемежения генерируется на основе
для (j = 0; j <M; j + +)
для (i = 0; i <N; i + +)
new addr [i + j + N] = i + (M - 1 (i + j) mod M) x N,
где М и N - информация о столбцах и строках;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
i и j - приращение местоположения блока данных.
11. Турбокодер по п. 8, отличающийся тем, что адрес считывания для диагонального перемежения генерируется на основе
для (j = 0; j <M; j + +)
для (i = 0; i <N; i + +)
new addr [i + j + N] = i + ((i + j) mod M) x N,
где М и N - информация о столбцах и строках;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
i и j - приращение местоположения блока данных.
12. Турбокодер, содержащий множество компонентных кодеров для кодирования изменяющейся входной информации и перемежитель, предназначенный для перемежения изменяющейся входной информации, подключенный ко входному порту одного из множества компонентных кодеров, отличающийся тем, что перемежитель выполнен в виде перемежителя с циклическим смещением и содержит регистр, предназначенный для записи размера изменяющейся входной информации, таблицу перемежения с циклическим смещением, предназначенную для запоминания значений столбцов и строк, а также интервалов скачков и параметра перехода, соответствующих размеру изменяющейся входной информации, контроллер перемежения с циклическим смещением для генерирования адреса считывания изменяющейся входной информации и запоминающий блок, на вход которого поступает входная информация и с выхода которого считанная входная информация поступает на входной порт соответствующего компонентного кодера.
13. Турбокодер по п. 12, отличающийся тем, что адрес считывания перемежения с циклическим смещением генерируется на основе
для (i = 0; i <SIZE; i + +)
new addr [i] = (р x i + STEP) mod SIZE,
где SIZE - размер перемежаемых данных;
р - параметр скачка для перемежения с циклическим смещением;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
STEP - параметр перехода, являющийся целым числом, для смещения данных из положения скачка;
i - приращение местоположения блока данных.
14. Турбокодер по п. 12, отличающийся тем, что адрес считывания перемежения с циклическим смещением формируется на основе
d = GCD (P, SIZE)
для (k - j = 0; j <d; j + +)
для (i = 0; i <SIZE/d; i + +, k + +)
new addr [k] = ((P x i + STEP) + j) mod SIZE,
где SIZE - размер перемежаемых данных блока данных;
р - параметр скачка для перемежения с циклическим смещением;
i и j - приращение местоположения блока данных;
k - размер блока данных;
new addr [ ] - новый адрес для диагонально перемеженных информационных битов;
STEP - параметр перехода, являющийся целым числом, для смещения данных из положения скачка.
15. Турбокодер, содержащий первый компонентный кодер для кодирования входных информационных битов, перемежитель, предназначенный для перемежения входных информационных битов, и второй компонентный кодер для кодирования выходного сигнала перемежителя, отличающийся тем, что содержит первое средство для исключения бита, предназначенное для изменения скорости передачи выходного сигнала первого и второго компонентных кодеров, а также первый и второй генераторы остаточных битов с переключателями, причем каждый генератор остаточных битов предназначен для генерирования сигнала завершения блока данных входных информационных битов согласно выходным сигналам запоминающих устройств каждого компонентного кодера и подачи сигнала завершения блока данных к соответствующему переключателю, подключенному к входному порту соответствующего компонентного кодера.
16. Турбокодер по п. 15, отличающийся тем, что перемежитель выполнен в виде диагонального перемежителя.
17. Турбокодер по п. 15, отличающийся тем, что перемежитель выполнен в виде перемежителя с циклическим смещением.
18. Способ канального кодирования для использования в канальном кодере, содержащем первый и второй компонентные кодеры, отличающийся тем, что выводят размер изменяющейся входной информации блока данных, генерируют первую четность изменяющейся входной информации посредством первого компонентного кодера, определяют размер изменяющейся входной информации, выводят значения столбцов и строк, соответствующие размеру изменяющейся входной информации блока данных, генерируют адрес считывания для перемежения изменяющейся входной информации согласно значениям столбцов и строк, диагонально перемежают для считывания информационные биты изменяющейся входной информации согласно значениям столбцов и строк и генерируют вторую четность перемеженной входной информации посредством второго компонентного кодера.
19. Способ канального кодирования по п. 18, отличающийся тем, что диагональное перемежение выполняют на основе
для (k = 0; k <M x N - 1; k + +)
new addr [k] = (М - 1 - (k mod N) x N + (k mod N),
где М и N - значения столбцов и строк;
М х N - размер блока данных;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
k - размер входного блока данных.
20. Способ канального кодирования по п. 18, отличающийся тем, что диагональное кодирование выполняют на основе
для (j = 0; j <M; j + +)
для (i = 0; i <N; i + +)
new addr [i + j + N] = i + (М - 1 - (i + j) mod M) x N,
где М и N - значения столбцов и строк;
М х N - размер блока данных;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
i и j - приращение местоположения блока данных.
21. Способ канального кодирования по п. 18, отличающийся тем, что диагональное перемежение выполняют на основе
для (j = 0; j <M; j + +)
для (i = 0; i <N; i + +)
new addr [i + j + N] = i + ((i + j) mod M) x N,
где М и N - значения столбцов и строк;
М х N - размер блока данных;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
i и j - приращение местоположения блока данных.
22. Способ канального кодирования для использования в канальном кодере, имеющем первый и второй компонентные кодеры, отличающийся тем, что выводят изменяющуюся входную информацию, генерируют первую четность изменяющейся входной информации с помощью первого компонентного кодера, определяют размер изменяющейся входной информации, выводят параметры скачка и перехода, соответствующие размеру изменяющейся входной информации блока данных, генерируют адрес считывания для перемежения изменяющейся входной информации согласно параметрам скачка и перехода, осуществляют перемежение с циклическим смещением для считывания информационных битов изменяющейся входной информации в соответствии с адресом считывания и генерируют вторую четность перемеженной входной информации посредством второго компонентного кодера.
23. Способ канального кодирования по п. 22, отличающийся тем, что адрес считывания для перемежения с циклическим смещением генерируют на основе
для (i = 0; i <SIZE; i + +)
new addr [i] = (р x i + STEP) mod SIZE,
где i - порядок входных информационных битов;
р - параметр скачка для перемежения с циклическим смещением;
STEP - начальное положение, включающее нуль;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
SIZE - размер цикла.
24. Способ канального кодирования по п. 23, отличающийся тем, что размер цикла равен размеру изменяющейся входной информации.
25. Способ канального кодирования по п. 22, отличающийся тем, что адрес считывания для перемежения с циклическим смещением генерируют на основе
d = GCD (P, SIZE)
для (k - j = 0; j <d; j + +)
для (i = 0; i <SIZE/d; i + +, k + +)
new addr [k] = ((P x i + STEP) + j) mod SIZE,
где SIZE - размер цикла;
р - параметр скачка для перемежения с циклическим смещением;
STEP - начальное положение, включающее нуль;
GCD - наибольший общий знаменатель;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
i и j - индексы.
26. Способ канального кодирования для использования в канальном кодере, имеющем первый и второй компонентные кодеры, отличающийся тем, что выводят изменяющуюся входную информацию, генерируют первую четность изменяющейся входной информации с помощью первого компонентного кодера, перемежают изменяющуюся входную информацию, генерируют вторую четность перемеженной входной информации с помощью второго компонентного кодера.
27. Способ канального кодирования по п. 26, отличающийся тем, что перемежение является перемежением с циклическим смещением.
28. Способ канальной информации по п. 27, отличающийся тем, что перемежение с циклическим смещением выполняют согласно параметру скачка, соответствующему размеру изменяющейся входной информации и порядку, в котором размещают входные информационные биты.
29. Способ канального кодирования по п. 28, отличающийся тем, что перемежение с циклическим смещением выполняют с помощью остатка, полученного делением произведения параметра скачка и информации о порядке изменяющихся входных информационных битов на размер цикла.
30. Способ канального кодирования по п. 29, отличающийся тем, что перемежение с циклическим смещением выполняют на основе
для (i = 0; i <SIZE; i + +)
new addr [i] = (p x i + STEP) mod SIZE,
где i - порядок входных информационных битов;
р - параметр скачка для перемежения с циклическим смещением;
STEP - начальное положение, включающее нуль;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
SIZE - размер цикла.
31. Способ канального кодирования по п. 30, отличающийся тем, что размер цикла равен размеру изменяющейся входной информации.
32. Способ канального кодирования по п. 29, отличающийся тем, что перемежение с циклическим смещением выполняют на основе
d = GCD (P, SIZE),
для (k - j = 0; i <d; j + +)
для (i = 0; i <SIZE/d; i + +, k + +)
new addr [k] = ((P x i + STEP) + j) mod SIZE,
где SIZE - размер перемежаемой входной информации;
р - параметр скачка для перемежения с циклическим смещением;
STEP - начальное положение, включающее нуль;
GCD - наибольший общий знаменатель;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
i и j - приращение местоположения блока данных;
k - размер входного блока данных.
33. Устройство канального кодирования, отличающееся тем, что содержит первый компонентный кодер для кодирования изменяющейся входной информации и генерирования первой четности, таблицу диагонального перемежения для вывода значений столбцов и строк, соответствующих размеру изменяющейся входной информации блока данных, контроллер диагонального перемежения для генерирования адреса считывания изменяющейся входной информации, запоминающий блок, на вход которого поступает изменяющаяся входная информация и с выхода которого считанная входная информация поступает на входной порт соответствующего компонентного кодера, и второй компонентный кодер для кодирования перемеженной информации и генерирования второй четности.
34. Устройство канального кодирования по п. 33, отличающееся тем, что диагональное перемежение выполняют на основе
для (k = 0; k <M x N - 1; k + +)
new addr [k] = (М - 1-(k mod N)) x N + (k mod N),
где М и N - значения столбцов и строк;
М х N - размер блока данных;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
k - размер входного блока данных.
35. Устройство канального кодирования по п. 33, отличающееся тем, что диагональное перемежение выполняют на основе
для (j = 0; j <M; j + +)
для (i = 0; i <N; i + +)
new addr [i + j + N] = i + (M - 1 (i + j) mod M) x N,
где М и N - значения столбцов и строк;
М х N - размер блока данных;
GCD - наибольший общий знаменатель;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
i и j - приращение местоположения блока данных.
36. Устройство канального кодирования по п. 33, отличающееся тем, что диагональное перемежение выполняют на основе
для (j = 0; j <M; j + +)
для (i = 0; i <N; i + +)
new addr [i + j + N] = i + ((i + j) mod M) x N,
где М и N - значения столбцов и строк;
М х N - размер блока данных;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
i и j - приращение местоположения блока данных.
37. Устройство канального кодирования, отличающееся тем, что содержит первый компонентный кодер для кодирования изменяющейся входной информации и генерирования первой четности, таблицу перемежения с циклическим смещением, предназначенную для запоминания значений столбцов и строк, а также интервалов скачков и параметра перехода, соответствующих размеру изменяющейся входной информации блока данных, контроллер перемежения с циклическим смещением для генерирования адреса считывания изменяющейся входной информации, запоминающий блок, на вход которого поступает входная информация и с выхода которого считанная входная информация поступает на входной порт соответствующего компонентного кодера, и второй компонентный кодер для кодирования перемеженной информации и генерирования второй четности.
38. Устройство канального кодирования по п. 37, отличающееся тем, что перемежение с циклическим смещением выполняют согласно параметру скачка, соответствующему размеру входной информации, и порядку, в котором расположены биты изменяющейся входной информации.
39. Устройство канального кодирования по п. 37, отличающееся тем, что перемежение с циклическим смещением выполняют с помощью остатка, полученного делением произведения параметра скачка и информации о порядке битов изменяющейся входной информации на размер цикла.
40. Устройство канального кодирования по п. 39, отличающееся тем, что перемежение с циклическим смещением выполняют на основе
для (i = 0; i <SIZE; i + +)
new addr [i] = (Р x i + STEP) mod SIZE,
где i - порядок входных информационных битов;
р - параметр скачка для перемежения с циклическим смещением;
STEP - начальное положение, включающее нуль;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
SIZE - размер цикла.
41. Устройство канального кодирования по п. 40, отличающееся тем, что размер цикла равен размеру изменяющейся входной информации.
42. Устройство канального кодирования по п. 39, отличающееся тем, что перемежение с циклическим смещением выполняют на основе
d = GCD (P, SIZE),
для (k - j = 0; j <d; j + +)
для (i = 0; i <SIZE/d; i + +, k + +)
new addr [k] = ((P x i + STEP) + j) mod SIZE,
где SIZE - размер цикла;
р - параметр скачка для перемежения с циклическим смещением;
STEP - начальное положение, включающее нуль;
GCD - наибольший общий знаменатель;
new addr [ ] - новый адрес диагонально перемеженных информационных битов;
i и j - приращение местоположения блока данных;
k - размер входного блока данных.
Приоритет по пунктам:
30.07.1997 по пп. 1, 2, 8, 9, 15-19, 22, 26, 27, 33, 34 и 37;
10.11.1997 по пп. 3-7, 10-14, 20, 21, 23-25, 28-32, 35, 36, 38-42.
RU2000102353A 1997-07-30 1998-07-30 Способ адаптивного канального кодирования и устройство для его осуществления RU2193276C2 (ru)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR1997/36265 1997-07-30
KR97/36265 1997-07-30
KR19970036265 1997-07-30
KR97/60101 1997-11-10
KR1019970060101A KR100454952B1 (ko) 1997-07-30 1997-11-10 적응형채널부호화방법및장치
KR1997/60101 1997-11-10

Publications (2)

Publication Number Publication Date
RU2000102353A RU2000102353A (ru) 2001-10-27
RU2193276C2 true RU2193276C2 (ru) 2002-11-20

Family

ID=26632977

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2000102353A RU2193276C2 (ru) 1997-07-30 1998-07-30 Способ адаптивного канального кодирования и устройство для его осуществления

Country Status (9)

Country Link
EP (2) EP0997031B1 (ru)
JP (2) JP3492632B2 (ru)
CN (2) CN1150680C (ru)
BR (1) BR9811299A (ru)
CA (1) CA2295791C (ru)
DE (2) DE69838451T2 (ru)
ES (2) ES2344299T3 (ru)
RU (1) RU2193276C2 (ru)
WO (1) WO1999007076A2 (ru)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430722B1 (en) 1998-01-23 2002-08-06 Hughes Electronics Corporation Forward error correction scheme for data channels using universal turbo codes
US7536624B2 (en) 2002-01-03 2009-05-19 The Directv Group, Inc. Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes
KR100557177B1 (ko) * 1998-04-04 2006-07-21 삼성전자주식회사 적응 채널 부호/복호화 방법 및 그 부호/복호 장치
AU5675499A (en) * 1998-08-17 2000-03-06 Hughes Electronics Corporation Turbo code interleaver with near optimal performance
KR100333469B1 (ko) 1998-08-27 2002-04-25 마이클 더블유.세일즈 범용 터보 코드 트렐리스 종료 방법
JP3932091B2 (ja) 1999-03-01 2007-06-20 富士通株式会社 ターボ復号装置
FR2790621B1 (fr) 1999-03-05 2001-12-21 Canon Kk Dispositif et procede d'entrelacement pour turbocodage et turbodecodage
CA2268853C (en) * 1999-04-13 2011-08-02 Wen Tong Rate matching and channel interleaving for a communications system
EP1186107B1 (en) * 1999-05-28 2007-01-10 Lucent Technologies Inc. Turbo code termination
AU2003204597B2 (en) * 1999-07-06 2005-01-20 Samsung Electronics Co., Ltd. Rate matching device and method for a data communication system
IL141800A0 (en) 1999-07-06 2002-03-10 Samsung Electronics Co Ltd Rate matching device and method for a data communication system
DE19934646C2 (de) * 1999-07-16 2001-09-13 Univ Dresden Tech Verfahren und Vorrichtung zur iterativen Decodierung von verketteten Codes
FR2796780B1 (fr) * 1999-07-21 2003-09-19 Groupe Ecoles Telecomm Procede et dispositif de codage a au moins deux codages en parallele et permutation amelioree, et procede et dispositif de decodage correspondants
DE19935785A1 (de) * 1999-07-29 2001-02-08 Siemens Ag Verfahren und Einrichtung zur Erzeugung eines ratenkompatiblen Codes
FI108822B (fi) * 2000-02-14 2002-03-28 Nokia Corp Lomittelumenetelmä ja -järjestelmä
DE10008064B4 (de) * 2000-02-22 2009-07-02 Siemens Ag Verfahren zum Anpassen der einem Turbo-Codierer zuzuführenden Datenblöcke und entsprechende Kommunikationsvorrichtung
US6289000B1 (en) * 2000-05-19 2001-09-11 Intellon Corporation Frame control encoder/decoder for robust OFDM frame transmissions
JP2002076925A (ja) * 2000-08-31 2002-03-15 Sony Corp 軟出力復号装置及び軟出力復号方法、並びに、復号装置及び復号方法
JP2002076915A (ja) * 2000-08-31 2002-03-15 Sony Corp インターリーブ装置及びインターリーブ方法、並びに、復号装置及び復号方法
DE10048872A1 (de) 2000-10-02 2002-04-25 Infineon Technologies Ag Abschnittsweise Entschachtelung
US6871270B2 (en) * 2001-12-03 2005-03-22 Samsung Electronics Co., Ltd. Device and method for minimizing puncturing-caused output delay
US6973579B2 (en) 2002-05-07 2005-12-06 Interdigital Technology Corporation Generation of user equipment identification specific scrambling code for the high speed shared control channel
FI20021222A (fi) 2002-06-20 2003-12-21 Nokia Corp Informaatiobittien limitys
CN1333598C (zh) * 2004-03-05 2007-08-22 上海交通大学 一种用于数字电视地面传输的比特交织方法
CN1333599C (zh) * 2004-03-29 2007-08-22 上海交通大学 一种用于数字电视地面传输的比特交织方法
US7590045B2 (en) 2005-01-11 2009-09-15 Samsung Electronics Co., Ltd Apparatus and method for transmitting fast feedback information in a wireless communication system
JP4848359B2 (ja) * 2005-02-03 2011-12-28 パナソニック株式会社 並列インターリーバ、並列デインターリーバ及びインターリーブ方法
KR100729258B1 (ko) * 2005-12-07 2007-06-18 엘지전자 주식회사 확장된 링크 적응화 기법을 제공하는 이동 통신 단말기 및그 방법
JP4436315B2 (ja) * 2005-12-26 2010-03-24 京セラ株式会社 畳み込み符号化器、通信装置、及び畳み込み符号化方法
WO2007134542A1 (fr) * 2006-05-23 2007-11-29 Huawei Technologies Co., Ltd. Procédé et appareil d'envoi et de réception de signaux
US7925956B2 (en) * 2006-10-03 2011-04-12 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8194750B2 (en) * 2006-10-16 2012-06-05 Samsung Electronics Co., Ltd. System and method for digital communication having a circulant bit interleaver for equal error protection (EEP) and unequal error protection (UEP)
CN101584121B (zh) * 2007-01-16 2014-10-29 皇家飞利浦电子股份有限公司 用于对数据比特或码元进行交织的系统、装置和方法
CN101075812B (zh) * 2007-06-08 2011-01-05 中国科学技术大学 一种并行级联结构的系统形式低密度码的构造方法
CN101350626B (zh) * 2007-07-20 2012-02-15 电信科学技术研究院 一种Turbo码编码装置及方法
JP2009077371A (ja) * 2007-08-30 2009-04-09 Hitachi Communication Technologies Ltd インタリーブ方法、送信機、無線機、および無線通信システム。
ES2373240T3 (es) 2007-12-20 2012-02-01 Panasonic Corporation Señalización de canal de control usando un campo de señalización común para el formato de transporte y la versión de redundancia.
WO2010008165A2 (ko) * 2008-07-13 2010-01-21 엘지전자 주식회사 이동통신 시스템에서 ctc(convolutional turbo code) 인코더를 이용하여 데이터를 전송하기 위한 장치 및 그 방법.
CN101753261B (zh) * 2008-12-01 2012-11-21 电信科学技术研究院 一种编码器、译码器及编码、译码方法
CN101753151B (zh) * 2008-12-02 2014-02-05 电信科学技术研究院 一种数据处理装置及方法
CN101753153B (zh) * 2008-12-04 2014-02-05 电信科学技术研究院 一种Turbo码编码器、译码器及编码、译码方法
CN101753155B (zh) * 2008-12-22 2014-12-03 电信科学技术研究院 一种数据处理装置及其方法
CN105100862B (zh) * 2014-04-18 2018-04-24 阿里巴巴集团控股有限公司 网格移动的显示处理方法及其系统
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US11043966B2 (en) 2016-05-11 2021-06-22 Qualcomm Incorporated Methods and apparatus for efficiently generating multiple lifted low-density parity-check (LDPC) codes
US10454499B2 (en) 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US9917675B2 (en) 2016-06-01 2018-03-13 Qualcomm Incorporated Enhanced polar code constructions by strategic placement of CRC bits
US10313057B2 (en) 2016-06-01 2019-06-04 Qualcomm Incorporated Error detection in wireless communications using sectional redundancy check information
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
US20210281359A1 (en) 2016-07-27 2021-09-09 Qualcomm Incorporated Design of hybrid automatic repeat request (harq) feedback bits for polar codes
EP4075673A1 (en) 2017-03-23 2022-10-19 QUALCOMM Incorporated Parity bit channel assignment for polar coding
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
CN110832799B (zh) 2017-07-07 2021-04-02 高通股份有限公司 应用低密度奇偶校验码基图选择的通信技术
CN110098891B (zh) * 2018-01-30 2021-09-07 华为技术有限公司 交织方法和交织装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901319A (en) * 1988-03-18 1990-02-13 General Electric Company Transmission system with adaptive interleaving
GB2296165B (en) * 1994-12-15 1999-12-29 Int Mobile Satellite Org Multiplex communication
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor

Also Published As

Publication number Publication date
ES2344299T3 (es) 2010-08-24
CN1256812C (zh) 2006-05-17
CA2295791A1 (en) 1999-02-11
WO1999007076A2 (en) 1999-02-11
WO1999007076A3 (en) 1999-09-16
DE69841631D1 (de) 2010-06-02
CA2295791C (en) 2006-06-13
CN1492589A (zh) 2004-04-28
BR9811299A (pt) 2000-12-05
DE69838451T2 (de) 2008-01-10
JP3492632B2 (ja) 2004-02-03
DE69838451D1 (de) 2007-10-31
JP2001512914A (ja) 2001-08-28
JP2004040818A (ja) 2004-02-05
EP1601109B1 (en) 2010-04-21
ES2290990T3 (es) 2008-02-16
CN1150680C (zh) 2004-05-19
EP1601109A3 (en) 2007-10-03
EP1601109A2 (en) 2005-11-30
JP3730238B2 (ja) 2005-12-21
CN1264509A (zh) 2000-08-23
EP0997031B1 (en) 2007-09-19
EP0997031A2 (en) 2000-05-03

Similar Documents

Publication Publication Date Title
RU2193276C2 (ru) Способ адаптивного канального кодирования и устройство для его осуществления
US6289486B1 (en) Adaptive channel encoding method and device
RU2313177C2 (ru) Турбодекодер, использующий линейные конгруэнтные последовательности
JP3575606B2 (ja) データの低密度パリティ検査符号化方法および装置
US6862707B2 (en) Turbo code encoder having an improved interleaver
US6857087B2 (en) High-performance low-memory interleaver banks for turbo-codes
WO1998011671A1 (en) An improved system for coding signals
JPH11508439A (ja) 並列連結のテイルバイティング・コンボルーション・コード及びその復号器
KR20040055719A (ko) 순환 리던던시 코드 서명 비교를 구비한 터보 디코더
JP3837023B2 (ja) ターボ符号のためのハイブリッドインタリーバー
KR100454952B1 (ko) 적응형채널부호화방법및장치
KR100370780B1 (ko) 해밍 부호를 연접한 터보 부호화/복호화 방법 그리고 그의 부호기/복호기
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법
EP1347580A2 (en) Hybrid interleaver for turbo codes
Encoder 3.1 Recursive Systematic Convolutional (RSC) Encoder
KR20030082699A (ko) 골든 시퀀스를 이용한 터보 내부 인터리빙 방법 및 그 장치