RU2313177C2 - Турбодекодер, использующий линейные конгруэнтные последовательности - Google Patents

Турбодекодер, использующий линейные конгруэнтные последовательности Download PDF

Info

Publication number
RU2313177C2
RU2313177C2 RU2003107665/09A RU2003107665A RU2313177C2 RU 2313177 C2 RU2313177 C2 RU 2313177C2 RU 2003107665/09 A RU2003107665/09 A RU 2003107665/09A RU 2003107665 A RU2003107665 A RU 2003107665A RU 2313177 C2 RU2313177 C2 RU 2313177C2
Authority
RU
Russia
Prior art keywords
bits
interleaver
output symbols
input bits
input
Prior art date
Application number
RU2003107665/09A
Other languages
English (en)
Other versions
RU2003107665A (ru
Inventor
Дуглас Н. РОВИТЧ (US)
Дуглас Н. РОВИТЧ
Фуниун ЛИНГ (US)
Фуниун ЛИНГ
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
Application filed by Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед
Publication of RU2003107665A publication Critical patent/RU2003107665A/ru
Application granted granted Critical
Publication of RU2313177C2 publication Critical patent/RU2313177C2/ru

Links

Images

Classifications

    • 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/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/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/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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
    • H03M13/2764Circuits therefore
    • 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/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

Abstract

Изобретение относится к области кодирования для коммуникационных систем, в частности к турбодекодерам. Технический результат - повышение вероятности исправления ошибок. Для этого перемежитель (100) турбокода, использующий линейные конгруэнтные последовательности, может быть использован как двумерный перемежитель (16) в турбокодере (10), который также содержит первый и второй составные кодеры (12, 14). Перемежитель (16) и первый кодер (12) выполнены с возможностью приема входных битов. Первый кодер (12) создает из них выходные символы (22, 24). Перемежитель (16) принимает входные биты (20) последовательно по строкам. Алгоритм рекурсии линейной конгруэнтной последовательности в перемежителе (16) служит для псевдослучайного переупорядочения, или тасования, битов в каждой строке перемежителя (16). Биты (26) затем выводятся из перемежителя последовательно по столбцам. Второй кодер (14) выполнен с возможностью приема перемежающихся битов из перемежителя. Второй кодер (14) создает из них выходные символы (28). Два потока выходных символов (22, 24) мультиплексируются вместе с соответствующим прокалыванием. Если требуется, линейная конгруэнтная рекурсивная последовательность может быть сгенерирована с секверсией. Также, если требуется, в перемежителе (16) может быть использован, способ инвертирования бит для переупорядочения, или тасования, строк перемежителя (16). 6 н. и 6 з.п. ф-лы, 3 ил., 4 табл.

Description

Область техники, к которой относится изобретение
Настоящее изобретение имеет отношение вообще к области кодирования для коммуникационных систем и более конкретно - к турбодекодерам.
Уровень техники
Передача цифровых данных неотъемлемо склонна к помехам, которые могут вносить ошибки в передаваемые данные. Предложены схемы обнаружения ошибок для как можно более надежного определения, внесены ли ошибки в передаваемые данные. Например, является обычным передача данных в пакетах и добавление к каждому пакету поля контроля избыточным циклическим кодом (КИЦК), например, длиной шестнадцать битов, которая несет контрольную сумму данных пакета. Когда приемник принимает данные, приемник вычисляет ту же самую контрольную сумму на принимаемых данных и проверяет, является ли результат вычисления идентичным контрольной сумме в поле КИЦК.
Когда передаваемые данные не используются в интерактивном режиме, возможен запрос повторной передачи ошибочных данных, когда обнаруживаются ошибки. Однако, когда передача выполняется в интерактивном режиме, таком как, например, в телефонных линиях, сотовых телефонах, дистанционных видеосистемах и т.д., невозможен запрос повторной передачи.
Были введены сверточные коды для того, чтобы позволить приемникам цифровых данных правильно определять передаваемые данные, даже когда ошибки могут появиться во время передачи. Сверточные коды вносят избыточность в передаваемые данные и упаковывают передаваемые данные в пакеты, в которых значение каждого бита зависит от предшествующих битов в последовательности. Таким образом, когда случаются ошибки, приемник может по-прежнему прослеживать исходные данные обратным прослеживанием возможных последовательностей в принимаемых данных.
Для того чтобы дополнительно улучшить производительность канала передачи, некоторые схемы кодирования содержат перемежители, которые перемешивают порядок битов в пакете во время кодирования. Таким образом, когда помехи разрушают некоторые смежные биты во время передачи, действие помех расширяется через весь исходный пакет и может быть легко преодолено процессом декодирования. Другие улучшения могут включать многокомпонентные коды, которые кодируют пакет более одного раза, параллельно или последовательно. Например, в данной области техники известно использование способа исправления ошибок, который использует, по меньшей мере, два сверточных кодера параллельно. Такое параллельное кодирование обычно называется турбокодированием.
Для многокомпонентных кодов оптимальное декодирование часто является очень сложной задачей и может требовать больших периодов времени, обычно отсутствующих для интерактивного декодирования. Разработаны способы итеративного декодирования для преодоления этой проблемы. Вместо того чтобы определять немедленно, являются ли принимаемые биты нулем или единицей, приемник присваивает каждому биту значение на многоуровневой шкале, представляющей вероятность того, что бит равен единице. Обычная шкала, называемая вероятностями регистрируемых отношений правдоподобия (РОП), представляет каждый бит целым в некотором диапазоне, например {-32, 31}. Значение 31 означает, что передаваемый бит был нулем с очень высокой вероятностью, а значение -32 означает, что передаваемый бит был единицей с очень высокой вероятностью. Значение ноль указывает, что логическое значение бита является неопределенным.
Данные, представленные в многоуровневой шкале, называются "гибкими данными", и итеративное декодирование является обычно гибким входом/гибким выходом, т.е. процесс декодирования принимает последовательность входных сигналов, соответствующих вероятностям для значений бит, и предоставляет в качестве выходного сигнала скорректированные вероятности, принимая во внимание ограничения кода. Обычно декодер, который выполняет итеративное декодирование, использует гибкие данные из предыдущих итераций для декодирования гибких данных, считанных приемником. Во время итеративного декодирования многокомпонентных кодов декодер использует результаты декодирования одного кода для улучшения декодирования второго кода. Когда используются параллельные кодеры, как в турбокодировании, два соответствующих декодера могут удобно использоваться параллельно для этой цели. Такое итеративное декодирование выполняется в течение множества итераций до тех пор, пока полагают, что гибкие данные близко представляют передаваемые данные. Тем битам, которые имеют вероятность, указывающую, что они находятся ближе к единице (например, между 0 и 31 на шкале, описанной выше), присваивается двоичный ноль, а остальным битам присваивается двоичная единица.
"Турбокодирование" представляет важное усовершенствование в области кодирования с упреждающим исправлением ошибок (УИО). Имеется много вариантов турбокодирования, но большинство типов турбокодирования использует многочисленные операции кодирования, разделенные операциями перемежения, объединенные с использованием итеративного декодирования. Это объединение обеспечивает ранее недоступную эффективность относительно допуска шума в коммуникационных системах. А именно турбокодирование дает возможность коммуникаций на уровнях спектральной плотности, отношения энергии на бит к мощности шума (Eb/N0), которые были неприемлемы при использовании существующих способов упреждающего исправления ошибок.
Многие коммуникационные системы используют способы упреждающего исправления ошибок и, следовательно, извлекли бы выгоду из использования турбокодирования. Например, турбокоды могли бы улучшить производительность беспроводных спутниковых линий связи, в которых ограниченная передаваемая мощность по нисходящей линии связи (линии связи спутник - наземная станция) неизбежно влечет за собой наличие систем приемника, которые могут работать на низких уровнях (Eb/N0).
Цифровые беспроводные телекоммуникационные системы, такие как, например, цифровые сотовые и телефонные системы ПСС (персональные системы связи) также используют упреждающее исправление ошибок. Например, Ассоциация промышленности средств связи опубликовала стандарт воздушного интерфейса, временный стандарт TIA/EIA 95 и его производные, такие как, например, IS-95B (далее совместно называемые IS-95), которые определяют цифровую беспроводную коммуникационную систему, которая использует сверточное кодирование для обеспечения выигрыша при кодировании для увеличения пропускной способности системы. Система и способ для обработки радиочастотных (РЧ) сигналов, по существу, в соответствии с использованием стандарта IS-95, описаны в патенте США №5103459.
Имеется непрерывная тенденция в промышленности средств связи постоянного улучшения выигрышей при кодировании. В традиционных цифровых беспроводных коммуникационных системах было обнаружено, что последовательный перемежитель для турбокодирования может быть выгодно реализован с помощью конгруэнтной случайной последовательности. В данной области техники известно, что однородная случайная последовательность может быть сгенерирована при использовании алгоритма линейной конгруэнтной рекурсии. См., например, 2 D. Knuth, The Art of Computer Programming (1969) (описывающую генерирование псевдослучайных чисел с помощью линейной конгруэнтной рекурсии). Также было обнаружено, что параллельный турбокодер, использующий двумерный перемежитель (т.е. перемежитель, организованный как прямоугольный массив данных, содержащий строки и столбцы), обычно превосходит параллельный турбокодер, имеющий одномерный перемежитель (т.е. перемежитель, в котором данные организованы как один линейный массив), с точки зрения выигрыша при кодировании.
Было бы выгодно дополнительно увеличить эффективность турбокодера. Кроме того, так как турбокодеры являются значительно более сложными для реализации, чем сверточные кодеры, было бы желательно обеспечить реализацию турбокодера с уменьшенной сложностью. Таким образом, существует потребность в двумерном перемежителе уменьшенной сложности, который использует многочисленные линейные конгруэнтные последовательности.
Сущность изобретения
Настоящее изобретение направлено на турбодекодер, содержащий двумерный перемежитель уменьшенной сложности, который использует многочисленные линейные конгруэнтные последовательности. Таким образом, в одном аспекте изобретения турбодекодер преимущественно содержит первый кодер, выполненный с возможностью приема множества входных битов последовательно и генерирования из него первого множества выходных символов; перемежитель, выполненный с возможностью приема множества входных битов последовательно, причем перемежитель содержит множество ячеек хранения битов, расположенных в матрице строк и столбцов, и генератор линейной конгруэнтной последовательности, выполненной с возможностью псевдослучайного генерирования последовательности для тасования битов в каждой строке перемежителя; и второй кодер, выполненный с возможностью приема множества перемежающихся битов последовательно из перемежителя и генерирования из множества перемежающихся битов второго множества выходных символов, причем первый и второй кодеры выполнены с возможностью итеративного декодирования множества входных битов.
В другом аспекте изобретения предложен генератор адреса в турбодекодере, в котором каждый входной бит из последовательных входных битов назначен идентификатору строк и столбцов, содержащий генератор линейной конгруэнтной последовательности, выполненный с возможностью перестановки последовательных входных битов в каждой строке; и блок инвертирования бит, соединенный с генератором линейной конгруэнтной последовательности и выполненный с возможностью перестановки назначенных строк.
В другом аспекте изобретения предложено беспроводное устройство, выполненное с возможностью турбокодирования, содержащее первый кодер, выполненный с возможностью приема множества входных битов последовательно и генерирования из него первого множества выходных символов; перемежитель, выполненный с возможностью приема множества входных битов последовательно, причем перемежитель содержит множество ячеек хранения битов, расположенных в матрице строк и столбцов, и генератор линейной конгруэнтной последовательности, выполненный с возможностью псевдослучайного генерирования последовательности для тасования битов в каждой строке перемежителя; и второй кодер, выполненный с возможностью приема множества перемежающихся битов последовательно из перемежителя и генерирования из него второго множества выходных символов, причем первый и второй кодеры выполнены с возможностью итеративного декодирования множества входных битов.
В еще одном аспекте изобретения предложен способ турбодекодирования, заключающийся в том, что декодируют множество входных битов последовательно для генерирования из него первого множества выходных символов; перемежают первое множество выходных символов последовательно, причем при перемежении генерируют значение линейной конгруэнтной последовательности для по меньшей мере части множества входных битов, причем каждое значение из множества значений линейной конгруэнтной последовательности идентифицирует первый параметр для множества входных битов и генерируют второе множество выходных символов в виде функции значений линейной конгруэнтной последовательности; и декодируют второе множество выходных символов.
В еще одном аспекте изобретения предложено устройство для турбодекодирования, содержащее средство для декодирования множества входных битов последовательно для генерирования из него первого множества выходных символов; средство для перемежения первого множества выходных символов последовательно, содержащее средство для генерирования значения линейной конгруэнтной последовательности для по меньшей мере части множества входных битов, причем каждое значение из множества значений линейной конгруэнтной последовательности идентифицирует первый параметр для множества входных битов, и средство для генерирования второго множества выходных символов в виде функции значений линейной конгруэнтной последовательности; и средство для декодирования второго множества выходных символов.
В другом аспекте изобретения предложено беспроводное устройство, выполненное с возможностью турбодекодирования, содержащее запоминающее устройство, содержащее множество ячеек хранения битов, расположенных в матрице строк и столбцов; и процессор, выполненный с возможностью приема множества входных битов последовательно и генерирования из него первого множества выходных символов, хранимых в матрице; псевдослучайного генерирования последовательности для тасования битов в каждой строке матрицы; и приема перетасованных битов и генерирования из него второго множества выходных символов.
Краткое описание чертежей
Фиг.1 - блок-схема параллельного составного турбокодера.
Фиг.2 - блок-схема перемежителя, который может быть использован в параллельном составном турбокодере фиг.1.
Фиг.3 - блок-схема составного кодера, который может быть использован вместе с перемежителем фиг.2.
Подробное описание предпочтительных вариантов осуществления изобретения
В соответствии с одним вариантом осуществления изобретения, как проиллюстрировано на фиг.1, параллельный составной турбокодер 10, или турбокодер 10, содержит первый и второй кодеры 12, 14, перемежитель 16 и мультиплексор 18. Первый кодер 12 и перемежитель 16 выполнены с возможностью приема входных данных 20 кодера, которые обычно являются пользовательской информацией или данными управления. Первый кодер 12 выводит систематические символы 22, которые являются обычно копией исходных входных битов 20, и символы 24 контроля по четности. Второй кодер 14 выполнен с возможностью приема перемежающегося выходного сигнала 26 перемежителя 16 и для вывода второго множества символов 28 контроля по четности. Систематические символы (не изображены), генерируемые вторым кодером 14, сжимаются, а остальные соответствующие выходные сигналы 22, 24, 28 первого и второго кодеров 12, 14 мультиплексируются мультиплексором 18 в поток 30 выходных данных.
Дополнительные пары кодера и перемежителя могут быть добавлены параллельно для уменьшения скорости кодирования, таким образом, обеспечивая улучшенное упреждающее исправление ошибок. Альтернативно некоторые из систематических символов 22 и/или символов 24 контроля по четности могут быть проколоты для увеличения скорости кодирования и обеспечения улучшенной спектральной эффективности.
Первый и второй кодеры 12, 14 могут быть кодерами различных типов, известными в данной области техники, включая блочные кодеры и сверточные кодеры. Примерные блочные кодеры и сверточные кодеры описаны в статье Бернарда Склара в журнале Digital Communication, 245-380 (1988). Первый и второй кодеры 12, 14 являются преимущественно сверточными кодерами с относительно малыми ограниченными длинами К, такими как, например, К=4, таким образом, обеспечивая уменьшенную сложность, поскольку малые ограниченные длины уменьшают сложность соответствующих декодеров (не изображены). Первый и второй кодеры 12, 14 также преимущественно являются рекурсивными систематическими сверточными (РСС) кодерами, которые известны в данной области техники. Перемежитель 16 преимущественно является двумерным перемежителем, как описано ниже.
Обычно первый и второй кодеры 12, 14 выводят два символа 24, 28 контроля по четности для каждого принимаемого бита 20, давая скорость кодирования R=1/2 для каждого кодера 12, 14. Тем не менее, общая скорость кодирования для турбокодера 10 равна 1/3, поскольку систематический бит из второго кодера прокалывается.
Как изображено на фиг.2, двумерный (2-D) перемежитель 100 линейной конгруэнтной последовательности (ЛКП) в соответствии с одним вариантом осуществления изобретения содержит четыре справочных таблицы (СТ) 102, 104, 106, 108, семь двухвходовых мультиплексоров (МП) 110, 112, 114, 116, 118, 120, 122 и R-входовый мультиплексор 124, счетчик 126 строки, первый и второй логические блоки 128, 130 инвертирования бит, модуль 132 проверки правильности адреса, множество R регистров 134, 136, 138, 140 индекса столбца или строки (изображенных для простоты как четыре регистра), регистр 142 для маркировки сброса индекса столбца, первый и второй k-битовые мультиплексоры 144, 146 и четыре k-битовых сумматора 148, 150, 152, 154. Генератор 156 рекурсии ЛКП изображен пунктирной линией. Перемежитель 100 может использоваться параллельно составному турбокодеру фиг.1 или альтернативно перемежитель 100 может использоваться последовательно составному турбокодеру, в котором перемежитель 100 расположен снаружи или внутри составных кодеров, что очевидно специалистам в данной области техники.
Размер перемежителя 100 равен N, которое меньше или равно 2m и больше 2m-1. Число строк R, умноженное на число столбцов С, равно 2m. Число столбцов С равно 2k, т.е. k=log2C. Число строк R равно 2r, т.е. r=log2R.
Модуль 132 проверки правильности адреса может быть преимущественно реализован в виде логической схемы на дискретных вентильных элементах, сконфигурированной как сдвиговый регистр и сумматор. Модуль 132 проверки правильности адреса служит для проверки, меньше ли вход Х, чем произведение номера С столбца и входа Y (индекса строки), сложенных с входом Z (индексом столбца), выполняя, например, функцию сдвига и суммирования. Модуль 132 проверки правильности адреса служит для генерирования маркера, который указывает, является ли адрес неправильным, т.е. содержит ли адрес избыточные биты степени 2 (т.е. находится ли размер перемежителя между последовательными степенями 2), которые должны быть отброшены.
Генератор 156 рекурсии ЛКП служит для псевдослучайного переупорядочения, или тасования, значений бит, содержащихся в каждой строке перемежителя 100, как описано ниже, с помощью приема значения номера строки на входах в четыре СТ 102, 104, 106, 108 и генерирования индекса столбца (входа Z в модуль 132 проверки правильности адреса). Специалистам в данной области техники будет понятно, что в параллельном составном турбокодере, таком как проиллюстрирован на фиг.1, физическое переупорядочение элементов данных можно преимущественно обойти в пользу использования псевдослучайно генерируемой ЛКП на считывании, адресуемом вторым кодером. Первый и второй логические блоки 128, 130 инвертирования бит служат для переупорядочения, или тасования, строк в перемежителе 100 в соответствии с заданным правилом инвертирования бит, как описано ниже и известно в данной области техники.
СТ 102, 104, 106, 108 могут быть реализованы в виде некоторого запоминающего средства, известного в данной области техники. Первая СТ 102 используется для хранения значений коэффициента с. Вторая СТ 104 используется для хранения значений коэффициента а. Третья СТ 106 используется для хранения значений коэффициента а, взятого в степени коэффициента b. Четвертая СТ 108 используется для хранения значений ×(-1). Размер каждой СТ 102, 104, 106, 108 равен r×k битов. Общими требованиями к памяти для перемежителя 100 являются 4r×k битов плюс r×k битов регистров для регистров 134, 136, 138, 140.
Регистр 142 принимает значение бит, определяющее номер строки, который первоначально устанавливается равным R-1. С каждым циклом обработки регистр 142 выводит значение бит, означающее номер столбца, который первоначально устанавливается не равным нулю. Регистр 142, таким образом, служит для сброса индекса столбца каждый раз, когда номер строки циклически проходит через все строки.
С каждым циклом обработки входной МП 110 генерирует значение либо 1, либо -1, в зависимости от того, установлен ли маркер выполнения в обратном направлении. Это значение подается в сумматор 148, который суммирует это значение со значением бита, обозначенного NextRow (следующая строка). Результирующая сумма подается на вход данных счетчика 126 строки. Значение 1 подается на второй вход счетчика 126 строки. Счетчик 126 строки создает значение строки (хранимое первоначально как R-1 в регистре 142), которое подается во второй логический блок 130 инвертирования бит. Значение строки также подается в каждую из СТ 102, 104, 106, 108. Значение строки также подается в сумматор 150, который суммирует значение строки со значением 1 и подает результирующую сумму в первый логический блок 128 инвертирования бит.Эта результирующая сумма также подается на первый вход МП 112.
С каждым циклом обработки первый логический блок 128 инвертирования бит подает некоторое значение на первый вход МП 114. Второй логический блок 130 инвертирования бит подает значение индекса строки на второй вход МП 114, а также на вход Y модуля 132 проверки правильности адреса. Модуль 132 проверки правильности адреса принимает значение N на входе Х. Модуль 132 проверки правильности адреса принимает значение а, основанное на хранимых коэффициентах, на входе Z. Модуль 132 проверки правильности адреса ЛКП вычисляет произведение С и значения входа Y, суммирует произведение со значением входа Z и проверяет, является ли результат больше или равным значению N на входе Х. Если вычисленное значение больше или равно N, модуль 132 проверки правильности адреса выводит значение 1. Иначе значение выхода равно 0. Выходное значение является маркером, обозначенным Addr_GT_N, который, когда установлен в 1, означает, что размер перемежителя находится между последовательными степенями 2, так что избыточные биты после более низкой степени 2 должны быть отброшены.
Значение Addr_GT_N подается в виде селекторного входного сигнала в МП 112, 114, 120 и 122. МП 112 выбирает свой первый вход, если значение Addr_GT_N установлено в 1. Выбранный входной сигнал, который выводится из МП 112, является перемежающимся значением NextRow. МП 114 выбирает свой первый вход, если значенеие Addr_GT_N установлено в 1. Выбранный входной сигнал, который выводится из МП 114, представляет значение индекса конечной строки.
Генерация рекурсии ЛКП выполняется следующим образом. С каждым циклом обработки k-битовое значение, представляющее коэффициент с, посылается из первой СТ 102 в k-битовый сумматор пути данных. Значение а посылается из второй СТ 104 на первый вход МП 116. Значение, представляющее а, взятое в степени b, посылается из третьей СТ 106 на второй вход МП 116. МП 116 принимает маркер RunBackwards (выполнения в обратном порядке) на селекторном входе. Если значение RunBackwards равно 1, МП 116 выбирает свой второй вход и подает выбранное значение, k-битовое значение, в умножитель 144. Иначе МП 116 подает свой первый входной сигнал, k-битовое значение, в умножитель 144. Значение ×(-1) посылается из четвертой СТ 108 на первый вход МП 118. МП 118 принимает на втором входе k-битовое значение, выведенное из МП 124. МП 118 принимает значение индекса столбца в качестве селекторного индекса. Значение индекса столбца первоначально устанавливается не равным нулю. Если значение индекса столбца равно 1, МП 118 выбирает свой второй вход. Иначе МП 118 выбирает свой первый вход. Выбранное входное значение, k-битовое значение, подается в умножитель 144. Результирующее произведение из умножителя 144 подается в k-битовый сумматор 152. Преимущественно k-битовый сумматор 152 пути данных является программируемым сумматором/вычитающим устройством, который известен в данной области техники. Когда перемежитель 100 производит выполнение в обратном направлении, сумматор 152 вычитает значение с.
k-Битовый сумматор 152 подает выходное значение с каждым циклом обработки на вход Z модуля 132 проверки правильности адреса. Выходной сигнал сумматора 152 также подается на первый вход МП 120 и в каждый из регистров 136, 138, 140 первой по (R-1)-й строки. Выходной сигнал сумматора 152 также подается как k-битовое входное значение на первый вход МП 122.
МП 120 принимает второе входное значение из k-битового сумматора 154. Если селекторный вход МП 120 установлен в 1, МП 120 выбирает свой первый вход. Иначе МП 120 выбирает свой второй вход. Выбранный входной сигнал подается в регистр 134 нулевой строки. Каждый регистр 134, 136, 138, 140 строки подает выходное значение на соответствующие входы МП 124. Дополнительно выходное значение из регистра 134 нулевой строки подается в умножитель 146. МП 124 принимает значение строки (выходной сигнал счетчика 126 строки) на селекторном входе. Входной сигнал регистра строки, выбранный МП 124, зависит от значения строки на селекторном входе. Таким образом, каждый регистр 134, 136, 138, 140 строки обновляется, когда значение строки равно соответствующему номеру регистра строки, а регистр 134 нулевой строки также включается, когда маркер Addr_GT_N равен нулю.
k-Битовое начальное входное значение b для R=0 подается в умножитель 146. Умножитель 146 также принимает значение, выведенное из регистра 134 нулевой строки. Умножитель 146 умножает два принимаемых значения вместе и подает результирующее произведение в k-битовый сумматор 154. k-Битовый сумматор 154 пути данных также принимает начальное входное значение с для R=0. Преимущественно k-битовый сумматор 154 пути данных является программируемым сумматором/устройством вычитания, который известен в данной области техники. Когда перемежитель 100 работает в обратном направлении, сумматор 154 вычитает начальное значение с. Сумматор 154 суммирует (или, как запрограммирован, вычитает) два принятых значения. Результирующая сумма, k-битовое значение, подается на второй вход МП 122.
МП 122 выбирает свой первый вход, если его селекторный вход установлен в 1. Иначе МП 122 выбирает свой второй вход. МП 122 выводит выбранный входной сигнал как значение индекса конечного столбца. Адрес для следующего значения бита является произведением R и значения индекса конечного столбца, выведенного из МП 122, просуммированного со значением индекса конечного столбца, выведенным из МП 114.
В одном варианте осуществления ЛКП с периодом М рекурсивно генерируется в соответствии со следующим тождеством:
x(n+1)=(ax(n)+c)modM
с целыми а, с и М, удовлетворяющими следующим трем условиям: (1) с должно быть взаимно простым для М. (2) а-1 должно быть кратным p, где p - любое простое число, которое делит М. Когда М является кратным 4, а-1 должно быть кратно 4. (3) ×(0) является значением начального числа, которое может быть любым целым. Для упрощения реализации М может быть преимущественно выбрано равным степени 2. Таким образом, а должно быть в виде 4р+1, в то время как с может быть взято как любое нечетное число. Следует заметить, что в то время как ×(0) используется выше для обозначения начального условия, ×(-1) используется для обозначения начального условия в варианте осуществления изобретения, описанном в связи с фиг.2. Никакое значение не должно придаваться различным используемым числам.
2-D перемежитель ЛКП в соответствии с одним вариантом осуществления изобретения определяется следующим образом: допуская размер перемежения равным K=2N, перемежитель определяется как прямоугольная матрица с R строками и С столбцами, где R и С даются степенями 2. Перемежаемые данные записываются в матрицу по строкам. Строки данных сначала перестанавливаются (т.е. перемежаются) в соответствии с любым традиционным правилом перемежения. Преимущественно строки данных перестанавливаются в соответствии с правилом инвертирования бит, применяемым к индексу строки. Внутри каждой строки столбцы (т.е. элементы данных, так как каждый столбец имеет один элемент данных на строку) перестанавливаются в соответствии с правилом, определяемым связанной ЛКП. ЛКП, связанные с двумя различными строками, являются преимущественно различными, но могут быть в альтернативе одинаковыми. После перестановки всех строк данные считываются по столбцам для выдачи перемежающейся последовательности. Специалистам в данной области техники будет понятно, что перемежитель с длиной, меньшей 2N и большей 2N-1, может быть сгенерирован удалением неправильных адресов из перемежителя длины 2N.
В одном варианте осуществления изобретения 2-D перемежитель ЛКП включает следующие технические условия: размер перемежителя равен 32 (т.е. N=5), а массив данных определяется как {d(0), d(1), d(2), ... d(31)}. Перемежитель организован как массив с четырьмя строками и восьмью элементами в строке. Элементы данных заполняются по строкам следующим образом:
Figure 00000002
Индексы строки в двоичном виде (00, 01, 10, 11) могут быть преимущественно инвертированы по битам (т.е. 00, 10, 01, 11), а строки переставлены таким образом, чтобы получить
Figure 00000003
Инвертирование бит служит для тасования строк перемежителя в соответствии с заданным алгоритмом инвертирования бит. Применение алгоритма инвертирования бит обеспечивает желаемое временное разделение между строками перемежителя. Тем не менее, инвертирование бит не обязательно для реализации перемежителя.
В конкретном варианте осуществления изобретения перестановка ЛКП генерируется в соответствии со следующими уравнениями:
x1(n+1)=(5x1(n)+7)mod8, c x1(0)=3,
x2(n+1)=(x2(n)+5)mod8, с x2(0)=0,
x3(n+1)=(5x3(n)+3)mod8, с x3(0)=4,
и
x4(n+1)=(x4(n)+3)mod8, c x4(0)=3.
Конфигурации перестановки задаются {3, 6, 5, 0, 7, 2, 1, 4}, {0, 5, 2, 7, 4, 1, 6, 3}, {4, 7, 6, 1, 0, 3, 2, 5} и {7, 2, 5, 0, 3, 6, 1, 4} для четырех строк соответственно. Таким образом, после применения перестановки столбцов первая строка становится
(d(3) d(6) d(5) d(0) d(7) d(2) d(1) d(4)),
вторая строка становится
(d(16) d(21) d(18) d(23) d(20) d(17) d(22) d(19)),
третья строка становится
{d(12) d(15) d(14) d(9) d(8) d(11) d(10) d(13)},
и четвертая строка становится
{d(31) d(26) d(29) d(24) d(27) d(30) d(25) d(28)}
После того как все столбцы переставлены внутри соответствующих им строк, матрица перемежающихся данных имеет следующий вид:
Figure 00000004
Данные в перемежающейся матрице считываются по столбцам, выдавая следующую перемежающуюся последовательность: {d(3), d(16), d(12), d(31), d(6), d(21), d(15), d(26), d(5), d(18), d(14), ..., d(11), d(30), d(1), d(22), d(10), d(25), d(4), d(19), d(13), d(28)}. Если требуется перемежитель длины 30, перемежитель, генерируемый, как описано выше, может быть укорочен удалением элементов данных d(30) и d(31), создавая следующую перемежающуюся последовательность: {d(3), d(16), d(12),
Figure 00000005
d(6), d(21), d(15), d(26), d(5), d(18), d(14), ..., d(11),
Figure 00000006
d(1), d(22), d(10), d(25), d(4), d(19), d(13), d(28)}.
ЛКП, используемые в конструкции перемежителя, могут быть сгенерированы либо в прямом, либо в обратном направлении, как требуется, для оптимального использования с декодерами протокола МАР в турбодекодировании. В одном варианте осуществления изобретения генерирование обратной последовательности задается следующим уравнением:
x(n)=(aβx(n+1)-c)modM,
где
β=(M1/2)-1.
Следует заметить, что элемент β, который используется в вышеприведенных уравнениях, представляет коэффициент b, описанный в связи с вариантом осуществления изобретения по фиг.2.
Таким образом, генерирование последовательностей ЛКП требует, чтобы каждый перемежитель был однозначно определен параметрами 3R, где R - число строк. Требуется относительно короткий умножитель log2(C)×log2(С). Благодаря операции по модулю не требуется генерирование битов выше ячейки бит log2(C). Для хранения промежуточных результатов R конгруэнтных последовательностей требуется одно множество R регистров.
Для каждой строки с различными параметрами ×(0), а и b имеются многие различные возможности для перестановки последовательностей. Желательно выполнить исследование для оптимизации параметров перемежителя для использования с конкретными турбокодами.
На фиг.3 составной кодер 200 в соответствии с одним вариантом осуществления изобретения оптимизирован для конкретного турбокода, используемого в цифровых беспроводных коммуникационных системах МДКР (множественного доступа с кодовым разделением каналов). Кодер 200 содержит семь сумматоров 202, 204, 206, 208, 210, 212, 214 по модулю 2 и три ячейки 216, 218, 220 бит. Ячейки 216, 218, 220 бит могут быть реализованы как трехбитовый регистр или альтернативно три однобитовых регистра. Сумматоры 202, 204, 206, 208, 210, 212, 214 по модулю 2 соединяются с ячейками 216, 218, 220 бит точным способом так, чтобы создавать требуемое множество отводов обратной связи. Таким образом, сумматор 202 выполнен с возможностью приема входного бита. Сумматор 202 также соединяется с ячейкой 216 бит и с сумматорами 204 и 206. Ячейка 216 бит соединяется с ячейкой 218 бит и с сумматорами 204 и 206. Ячейка 218 бит соединяется с ячейкой 220 бит и с сумматорами 208 и 210. Сумматор 210 соединяется с сумматором 202. Сумматор 204 соединяется с сумматором 212. Сумматор 206 соединяется с сумматором 208. Сумматор 208 соединяется с сумматором 214. Ячейка 220 бит соединяется с сумматорами 210, 214 и 212. Сумматоры 212, 214 выполнены с возможностью вывода соответственно первого и второго символов.
В данной области техники известно, что эффективность ошибки может быть определена входным и выходным весовым коэффициентом событий ошибки в составных декодерах (не изображены). Смотри, например, S. Benedetto & G. Montorsi, Unveiling Turbo Codes: Some Results on Parallel Concatenated Coding Schemes, 42 IEEE Trans. Info. Theory 409-28 (март 1996). Входной весовой коэффициент события ошибки равен числу ошибок в битах, тогда как выходной весовой коэффициент события ошибки равен числу ошибок кодового символа. Событие ошибки входного весового коэффициента 1 очевидно будет отклоняться от состояния всех нулей и никогда повторно не объединится (1 будет циклически повторяться бесконечно в сдвиговом регистре, накапливая все больший выходной весовой коэффициент вдоль пути). Это происходит из-за рекурсивной, или обратной, связи части кодера. Благодаря этой структуре было показано, что эффективность турбокодов при высоком отношении сигнала к шуму (ОСШ) подавляется событиями выходной ошибки с входным весовым коэффициентом 2. Минимальный уровень ошибки турбокода может быть точно предсказан, используя так называемую асимптоту эффективного произвольного отклонения. Эффективное произвольное отклонение равно минимальному выходному весовому коэффициенту всех событий ошибки входного весового коэффициента 2. События ошибки входного весового коэффициента 2, которые являются короткими по длительности, будут обычно вызывать события ошибки минимального отклонения. Для кодера 200 фиг.3 полином обратной связи равен 1+D2+D3, а все возможные события ошибки входного весового коэффициента 2 представляются в виде Dk (1+D7j), где j=1, 2, ..., а k - произвольный сдвиг в диапазоне 0, ..., K-7j (предполагается, что К является размером перемежителя). Это может быть легко проверено исследованием решеток составного кодера 200, что очевидно для специалистов в данной области техники.
Следует заметить, что размер перемежителя для варианта осуществления изобретения по фиг.3 обозначен K, в то время как размер перемежителя для варианта осуществления изобретения по фиг.2 обозначен N. Специалистам в данной области техники будет понятно, что использование различных букв не имеет никакого специального значения.
Предположим, например, что конфигурация ошибки Dk (1+D7) вызывает событие ошибки минимального отклонения из первого декодера. Турбоперемежитель будет отображать две ошибки (Dk, Dk+7) в две позиции (Dn, Dm). Если |m-n|=7 или равно некоторому числу, кратному 7, вероятным является событие ошибки малого отклонения из второго декодера. Основным назначением турбоперемежителя является не допускать появления таких отображений. А именно перемежитель должен преимущественно отображать совокупности битов, которые склонны к событиям ошибки низкого весового коэффициента, в первом измерении, в совокупности битов, которые генерируют большую величину выходного весового коэффициента, во втором измерении. Таким образом, желаемым подходом к проектированию перемежителя является попытка не допустить отображения пар бит, расположенных в индексах (k, k+7j), в пары бит, расположенных в индексах (s, s+7t), с особым акцентом на меньшие значения j и t. Такие события входной ошибки перечислены в таблице 1 ниже. Для каждого события перечислен выходной весовой коэффициент контроля по четности первого составного кода при использовании соответствующих конфигураций прокола для турбокодов прямой линии связи скорости 1/2, 1/3 и 1/4, как определено в IS-95.
Таблица 1
События входной ошибки весового коэффициента 2
Событие выходной ошибки Выходная длина 1-й составной входной весовой коэффициент
Скорость 1/2 Скорость 1/3 Скорость 1/4
Dk (1+D7) 8 3 6 8
Dk (1+D14) 15 6 10 16
Dk (1+D21) 22 7 14 20
Dk (1+D28) 29 10 18 28
Если данный перемежитель содержит отображение входного весового коэффициента 2→2 в виде Dk1(1+D7)→Dk2(1+D7), тогда составной выходной весовой коэффициент события результирующей ошибки будет равен 2+3+3=8 для турбокода скорости 1/2. В предыдущем вычислении весовой коэффициент систематических битов (2) суммируется с соответствующим весовым коэффициентом проверки по четности из двух составных кодеров (3 и 3). Аналогично, если перемежитель содержит отображение входного весового коэффициента 2→2 в виде Dk1(1+D7)→Dk2(1+D14), тогда составной выходной весовой коэффициент события результирующей ошибки будет равен 2+3+6=11 для турбокода скорости 1/2 или 2+6+10=18 для турбокода скорости 1/3.
Кроме того, возможно, что события входной ошибки весового коэффициента 4 низкого составного выходного весового коэффициента могут отображаться в два события входной ошибки весового коэффициента 2 низкого выходного весового коэффициента во втором измерении. Такие отображения обозначаются 4→{2, 2}. Несмотря на то что не имеется решения законченного вида для событий составной ошибки входного весового коэффициента 4, следующая таблица содержит некоторые из событий ошибки низкого выходного весового коэффициента для составного кодера 200, где составной кодер 200 используется как первый составной кодер для турбокодов прямой линии связи в цифровой беспроводной коммуникационной системе МДКР, использующей воздушный интерфейс, извлеченный из IS-95.
Таблица 2
События входной ошибки весового коэффициента 4
Событие входной ошибки Входная длина 1-й составной выходной весовой коэффициент
Скорость1/2 Скорость 1/3 Скорость 1/4
Dk(1+D3+D4+D5) 5 2 4 6
Dk(1+D1+D3+D6) 6 2 4 8
Dk(1+D2+D4+D8) 8 2 4 8
Dk(1+D1+D4+D9) 9 2 4 8
Dk(1+D5+D10+D11) 11 2 8 12
Dk(1+D1+D2+D4) 4 3 4 6
Dk(1+D2+D5+D6) 6 3 4 8
Dk(1+D1+D6+D10) 10 3 4 8
Dk(1+D4+D8+D9) 9 3 8 10
Dk(1+D1+D3+D13) 13 3 8 12
DK(1+D5+D9+D13) 13 3 8 12
Dk(1+D2+D4+D15) 15 3 8 12
Dk(1+D8+D14+D15) 15 3 8 12
Dk(1+D6+D9+D12) 12 3 8 14
Dk(1+D2+D12+D13) 13 3 8 14
Dk(1+D6+D10+D15) 15 3 8 14
Dk(1+D1+D7+D8) 8 4 4 8
Dk(1+D5+D6+D9) 9 4 8 10
Dk(1+D1+D2+D11) 11 4 8 10
Dk(1+D4+D7+D11) 11 4 8 10
Dk(1+D8+D9+D11) 1 4 8 10
Dk(1+D2+D7+D9) 9 4 8 12
Dk(1+D3+D7+D10) 10 4 8 12
DK(1+D6+D8+D10) 10 4 8 12
Dk(1+D2+D5+D13) 13 4 8 12
Dk(1+D3+D8+D13) 13 4 8 12
Dk(1+D6+D7+D13) 13 4 8 12
Dk(1+D9+D12+D13) 13 4 8 12
Dk(1+D1+D6+D17) 17 4 8 12
Dk(1+D8+D13+D17) 17 4 8 12
Dk(1+D2+D6+D12) 12 4 8 14
Dk(1+D5+D7+D12) 12 4 8 14
Dk(1+D1+D14+D15) 15 4 8 14
Dk(1+D2+D11+D15) 15 4 8 14
Dk(1+D6+D12+D16) 16 4 8 14
Dk(1+D5+D13+D16) 16 4 12 18
Dk(1+D5+D14+D19) 19 4 12 18
Dk(1+D6+D9+D19) 19 4 12 18
Если, например, перемежитель содержит отображение входного весового коэффициента 4→{2,2} в виде Dk1(1+D3+D4+D5)→{Dk2(1+D7)Dk3(1+D7)}, тогда составной выходной весовой коэффициент события результирующей ошибки будет равен 4+2+3+3=12 для турбокода скорости 1/2. Это событие составной ошибки незначительно хуже, чем событие ошибки из-за отображения Dk1(1+D7)→Dk2(1+D14), которое имеет составной выходной весовой коэффициент 11. Первостепенной задачей проектирования, таким образом, является оптимизация параметров перемежителя так, что вышеописанные типы плохого отображения исключаются или, по меньшей мере, минимизируются. Идеально плохие отображения, имеющие самый низкий составной весовой коэффициент, являются отображениями, наиболее важными для исключения и/или минимизации. При проектировании перемежителя для конкретного размера (например, 1530) возможно оптимизировать параметры премежителя так, чтобы минимизировать оба типа отображений (т.е. весового коэффициента 2→2 и весового коэффициента 4→{2, 2}. Этот подход выдает оптимальный перемежитель для этого конкретного размера. Следует заметить, что при проектировании перемежителя размера 2N, который может быть надежно проколот до размера, большего 2N-1 (который называется перемежителем "дружелюбного прокола"), оптимизация для отображений 4→{2, 2} весового коэффициента может быть более трудной для достижения.
Было проведено исследование для получения перемежителей дружелюбного прокола размера 2N из 2-D перемежителя ЛКП в соответствии с вариантом осуществления изобретения по фиг.3. Таблица 3 ниже содержит начальные результаты исследования. Для каждого размера перемежителя число используемых строк и число используемых столбцов определяются вместе с коэффициентами ×(0), а и с. Для простоты и эффективности в реализации тридцать две строки использовались для всех перемежителей.
Таблица 3
Коэффициенты 2-D перемежителя ЛКП
K=512, 32×16 K=1024, 32×32 K=2048, 32×64 K=4096, 32×128
×(0) А с ×(0) а с ×(0) а с ×(0) a С
14 9 11 30 29 9 24 45 63 95 61 63
6 1 13 17 29 5 11 53 53 7 121 119
6 1 11 19 9 1 46 53 41 29 113 105
10 13 15 31 1 17 46 5 43 28 29 53
6 5 13 19 17 31 9 29 13 16 25 97
7 9 11 11 13 19 15 37 39 69 33 33
1 9 5 18 13 21 13 53 19 41 93 81
4 9 5 20 9 27 28 1 57 34 1 117
14 5 9 31 21 11 20 29 5 100 69 75
11 13 9 29 21 17 1 49 39 69 113 39
12 9 5 26 25 21 15 33 31 40 13 15
10 9 1 19 29 15 9 33 19 13 33 19
10 13 13 11 13 7 30 21 5 23 77 123
1 5 5 1 1 27 61 37 45 84 9 127
11 1 1 24 13 31 12 45 7 87 65 113
2 5 11 10 5 29 9 37 19 16 17 81
4 9 11 23 29 29 12 37 53 85 117 69
15 9 5 26 1 15 59 13 25 103 41 73
14 1 3 28 21 23 18 25 37 50 73 5
9 1 9 11 21 11 9 49 31 91 73 35
7 1 7 16 21 3 17 45 29 59 73 59
13 13 13 17 13 11 50 25 23 87 97 39
6 13 9 10 21 13 26 21 41 47 125 3
1 13 15 13 17 7 14 61 45 34 21 33
7 1 7 24 9 5 12 25 37 120 57 103
2 5 15 17 25 1 34 33 55 76 77 103
5 5 9 10 21 25 10 29 59 19 13 73
0 9 1 28 21 27 16 13 15 49 121 111
10 5 1 13 25 9 29 37 41 4 97 97
9 9 13 21 13 3 33 5 33 13 101 71
3 9 1 4 17 27 30 49 51 73 9 77
11 9 3 18 29 29 0 21 47 102 101 1
Таблица 3 (продолжение;
Коэффициенты 2-D перемежителя ЛКП
K=8192, 32×256 K=16384 32×512 K=32768, 32×1024
×(0) А с ×(0) a с ×(0) a С
40 37 249 181 45 289 939 281 913
73 53 59 75 217 223 9 85 969
88 177 105 251 125 257 463 989 165
46 29 91 89 141 457 363 981 59
199 73 141 304 29 31 637 437 751
211 185 133 328 153 161 599 597 621
85 193 181 428 17 451 971 173 615
18 169 209 394 245 147 1007 157 79
246 81 89 178 321 111 444 693 415
192 85 71 186 217 227 339 205 331
144 189 223 438 357 423 382 293 565
3 129 73 465 85 261 505 981 259
118 69 119 24 185 109 728 845 447
221 217 127 415 417 465 139 953 383
241 109 27 225 137 33 682 537 461
235 209 133 77 61 265 487 293 903
181 189 235 158 45 211 453 9 885
126 245 37 278 373 255 352 729 619
129 173 191 410 117 175 442 81 315
222 9 43 275 253 429 537 945 519
89 113 159 35 85 289 201 13 175
21 13 205 496 249 15 459 745 97
75 253 183 79 365 221 592 69 829
195 149 71 257 449 337 803 909 385
45 101 209 232 81 137 133 425 201
246 193 159 385 121 87 965 109 1001
228 85 97 138 429 73 707 685 105
0 161 151 479 9 23 627 289 97
191 45 31 158 141 51 1019 805 753
162 165 35 442 481 71 101 69 573
196 149 191 464 269 157 521 753 183
94 157 197 413 505 237 290 221 181
В альтернативном варианте осуществления изобретения коэффициент а может быть установлен равным 1, причем было выполнено новое исследование для получения перемежителей "дружелюбного прокола" размера 2N из 2-D перемежителя ЛКП. Уравнения прямой и обратной рекурсии ЛКП упрощаются, соответственно, в следующие:
х(n+1)=(x(n)+c)modM
и
х(n)=(x(n+1)-c)modM
Таблица 4, приведенная ниже, содержит начальные результаты исследования. Для простоты и эффективности реализации тридцать два ряда использовались для всех перемежителей. Специалистам в данной области техники будет понятно из результатов, изображенных в таблице 4, что установка а равным 1 во всех рекурсиях ЛКП не порождает ухудшения в качестве результирующих перемежителей. Кроме того, выигрыши сложности, достигаемые из упрощения установки а равным 1, являются существенными. Например, вторая и третья СТ, описанные в вариантах осуществления изобретения по фиг.2 (СТ, используемые для хранения значений а и аb), не требуются. K-битовые умножители, описанные в варианте осуществления по фиг.2, являются также необязательными. Как видно из таблицы 4, приведенной ниже, только начальное условие ×(-1) и аддитивная константа с должны быть определены для каждой строки перемежителя. Коэффициенты для перемежителей большего размера не включены в таблицу, которая определяет только результаты начального исследования, поскольку их не было в наличии ко времени регистрации настоящей заявки.
Таблица 4
Коэффициенты 2-D перемежителя ЛК
K=513 32×16 K=1024 32×32 K=2048 32×64 K=4096 32×128 K=8192 32×256 K=16384 32×512 K=32768 32×1024
×(-1) C ×(-1) C ×(-1) C ×(-1) c ×(-1) c ×(-1) c ×(-1) с
1 1 1 3 0 5 - - - - - - - -
11 9 14 1 1 1 - - - - - - - -
11 15 5 13 14 1 - - - - - - - -
1 5 13 27 3 23 - - - - - - - -
1 5 3 17 9 25 - - - - - - - -
6 7 3 13 8 3 - - - - - - - -
6 15 25 5 4 1 - - - - - - - -
12 11 3 23 57 61 - - - - - - - -
14 13 2 19 0 5 - - - - - - - -
15 7 1 13 60 49 - - - - - - - -
13 15 8 5 1 9 - - - - - - - -
4 5 25 9 47 55 - - - - - - -
15 5 14 9 20 25 - - - - - - - -
14 5 11 23 34 19 - - - - - - - -
12 3 17 13 46 1 - - - - - - - -
3 15 19 13 52 13 - - - - - - - -
14 13 4 39 8 75 - - - - - - - -
8 19 17 35 35 67 - - - - - - - -
12 15 24 27 48 51 - - - - - - - -
14 11 28 23 57 47 - - - - - - - -
14 11 29 19 59 35 - - - - - - - -
6 27 12 51 24 103 - - - - - - - -
7 31 14 59 29 115 - - - - - - - -
2 23 4 47 9 91 - - - - - - - -
1 27 2 55 4 107 - - - - - - - -
2 15 5 27 11 55 - - - - - - - -
13 7 26 11 52 19 - - - - - - - -
9 3 19 3 38 7 - - - - - - - -
12 11 24 23 49 47 - - - - - - - -
14 15 28 31 56 63 - - - - - - - -
11 19 22 35 45 67 - - - - - - - -
12 15 25 27 50 51 - - - - - - - -
Таким образом, описан новый и усовершенствованный перемежитель турбокода, использующий линейные конгруэнтные последовательности. Специалистам в данной области техники будет понятно, что, несмотря на то что варианты осуществления изобретения, раскрытые в настоящем описании, описаны в контексте системы сотовой телефонной связи, признаки настоящего изобретения в равной степени годятся для применения в любом виде коммуникационных систем, включая, например, спутниковую коммуникационную систему. Специалистам в данной области техники дополнительно будет понятно, что варианты осуществления изобретения, описанные здесь, могут быть использованы для кодирования либо сообщений данных, либо речевых сообщений. Также будет понятно, что данные, инструкции, команды, информация, сигналы, биты, символы и элементарные сигналы, которые могут быть упомянуты на протяжении всего вышеприведенного описания, преимущественно представляются напряжениями, токами, электромагнитными волнами, магнитными полями или частицами, оптическими полями или частицами или любыми их сочетаниями.
Кроме того, специалистам в данной области техники понятно, что различные иллюстративные логические блоки и операции алгоритма, описанные в связи с вариантами осуществления изобретения, раскрытыми в настоящем описании, могут быть реализованы или выполнены с помощью процессора цифрового сигнала (ПЦС), специализированной интегральной схемы (СИС), дискретных вентильных или транзисторных логических элементов, дискретных компонентов технического обеспечения, таких как, например, регистры и память магазинного типа "первым пришел, первым обслужен", процессор, выполняющий множество команд встроенных программ, или любой традиционный программируемый модуль программного обеспечения и процессор. Процессор может быть преимущественно микропроцессором, но в альтернативе процессор может быть любым обычным процессором, контроллером, микроконтроллером или конечным автоматом. Модуль программного обеспечения мог бы находиться в памяти с произвольной выборкой, флэш-памяти, регистрах или любого другого вида считываемого запоминающего носителя информации, известного в данной области техники.
Таким образом, изображены и описаны предпочтительные варианты осуществления настоящего изобретения. Однако обычным специалистам в данной области техники будет очевидно, что многочисленные изменения могли бы быть сделаны для вариантов осуществления изобретения, раскрытых в настоящем описании, без отступления от сущности и объема изобретения. Таким образом, настоящее изобретение не должно ограничиваться ничем, кроме следующей формулы изобретения.

Claims (12)

1. Турбодекодер, содержащий
первый кодер, выполненный с возможностью приема множества входных битов последовательно и генерирования из него первого множества выходных символов,
перемежитель, выполненный с возможностью приема множества входных битов последовательно, причем перемежитель содержит множество ячеек хранения битов, расположенных в матрице строк и столбцов, и генератор линейной конгруэнтной последовательности, выполненный с возможностью псевдослучайного генерирования последовательности для тасования битов в каждой строке перемежителя, и
второй кодер, выполненный с возможностью приема множества перемежающихся битов последовательно из перемежителя и генерирования из него второго множества выходных символов,
причем первый и второй кодеры выполнены с возможностью итеративного декодирования множества входных битов.
2. Турбодекодер по п.1, отличающийся тем, что перемежитель дополнительно выполнен с возможностью приема второго множества выходных символов последовательно и при этом генератор линейной конгруэнтной последовательности выполнен с возможностью псевдослучайного генерирования обратной последовательности для тасования битов в каждой строке перемежителя.
3. Турбодекодер по п.2, отличающийся тем, что перемежитель выполнен с возможностью генерирования выходного сигнала в первый кодер, причем выходной сигнал идентифицирует адрес для каждого выходного символа из второго множества выходных символов.
4. Турбодекодер по п.1, отличающийся тем, что он выполнен с возможностью приема множества входных битов из канала с высокой скоростью передачи данных.
5. Генератор адреса в турбодекодере, в котором каждый входной бит из последовательных входных битов назначен идентификатору строк и столбцов, содержащий
генератор линейной конгруэнтной последовательности, выполненный с возможностью перестановки последовательных входных битов в каждой строке, и
блок инвертирования бит, соединенный с генератором линейной конгруэнтной последовательности и выполненный с возможностью перестановки назначенных строк.
6. Генератор адреса по п.5, отличающийся тем, что генератор линейной конгруэнтной последовательности дополнительно содержит справочную таблицу для каждой строки из назначенных строк, справочную таблицу для хранения целого числа, используемого в тождестве линейной конгруэнтной последовательности, задаваемом в виде
x(n+1)=(x(n)+c)modM,
где n является значением индекса, с является целым числом, а М является вторым целым числом, причем с является взаимно простым для М.
7. Генератор адреса по п.6, отличающийся тем, что дополнительно содержит блок выбора, выполненный с возможностью выбора функции кодирования или функции декодирования.
8. Генератор адреса по п.5, отличающийся тем, что каждый бит из переставленных последовательных входных битов в каждой из переставленных строк идентифицируется с помощью уникального адреса, причем генератор адреса дополнительно содержит ограничитель размера, соединенный с генератором линейной конгруэнтной последовательности и с блоком инвертирования бит, причем ограничитель размера выполнен с возможностью поддержания уникальных адресов в первом диапазоне.
9. Беспроводное устройство, выполненное с возможностью турбокодирования, содержащее
первый кодер, выполненный с возможностью приема множества входных битов последовательно и генерирования из него первого множества выходных символов,
перемежитель, выполненный с возможностью приема множества входных битов последовательно, причем перемежитель содержит множество ячеек хранения битов, расположенных в матрице строк и столбцов, и генератор линейной конгруэнтной последовательности, выполненный с возможностью псевдослучайного генерирования последовательности для тасования битов в каждой строке перемежителя, и
второй кодер, выполненный с возможностью приема множества перемежающихся битов последовательно из перемежителя и генерирования из него второго множества выходных символов,
причем первый и второй кодеры выполнены с возможностью итеративного декодирования множества входных битов.
10. Способ турбодекодирования, заключающийся в том, что
декодируют множество входных битов последовательно для генерирования из него первого множества выходных символов,
перемежают первое множество выходных символов последовательно, причем при перемежении
генерируют значение линейной конгруэнтной последовательности для по меньшей мере части множества входных битов, причем каждое значение из множества значений линейной конгруэнтной последовательности идентифицирует первый параметр для множества входных битов, и
генерируют второе множество выходных символов в виде функции значений линейной конгруэнтной последовательности, и
декодируют второе множество выходных символов.
11. Устройство для турбодекодирования, содержащее
средство для декодирования множества входных битов последовательно для генерирования из него первого множества выходных символов,
средство для перемежения первого множества выходных символов последовательно, содержащее
средство для генерирования значения линейной конгруэнтной последовательности для по меньшей мере части множества входных битов, причем каждое значение из множества значений линейной конгруэнтной последовательности идентифицирует первый параметр для множества входных битов, и
средство для генерирования второго множества выходных символов в виде функции значений линейной конгруэнтной последовательности, и
средство для декодирования второго множества выходных символов.
12. Беспроводное устройство, выполненное с возможностью
турбодекодирования, содержащее
запоминающее устройство, содержащее множество ячеек хранения битов, расположенных в матрице строк и столбцов, и
процессор, выполненный с возможностью
приема множества входных битов последовательно и генерирования из него первого множества выходных символов, хранимых в матрице,
псевдослучайного генерирования последовательности для тасования битов в каждой строке матрицы и
приема перетасованных битов и генерирования из него второго множества выходных символов.
RU2003107665/09A 1998-12-04 1999-12-03 Турбодекодер, использующий линейные конгруэнтные последовательности RU2313177C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/205,511 US6304991B1 (en) 1998-12-04 1998-12-04 Turbo code interleaver using linear congruential sequence
US09/205,511 1998-12-04

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2001118276/09A Division RU2235424C2 (ru) 1998-12-04 1999-12-03 Перемежитель турбокода, использующий линейные конгруэнтные последовательности

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2007125429/09A Division RU2376702C2 (ru) 1998-12-04 2007-07-05 Турбодекодер, использующий линейные конгруэнтные последовательности

Publications (2)

Publication Number Publication Date
RU2003107665A RU2003107665A (ru) 2004-09-20
RU2313177C2 true RU2313177C2 (ru) 2007-12-20

Family

ID=22762490

Family Applications (3)

Application Number Title Priority Date Filing Date
RU2003107665/09A RU2313177C2 (ru) 1998-12-04 1999-12-03 Турбодекодер, использующий линейные конгруэнтные последовательности
RU2001118276/09A RU2235424C2 (ru) 1998-12-04 1999-12-03 Перемежитель турбокода, использующий линейные конгруэнтные последовательности
RU2007125429/09A RU2376702C2 (ru) 1998-12-04 2007-07-05 Турбодекодер, использующий линейные конгруэнтные последовательности

Family Applications After (2)

Application Number Title Priority Date Filing Date
RU2001118276/09A RU2235424C2 (ru) 1998-12-04 1999-12-03 Перемежитель турбокода, использующий линейные конгруэнтные последовательности
RU2007125429/09A RU2376702C2 (ru) 1998-12-04 2007-07-05 Турбодекодер, использующий линейные конгруэнтные последовательности

Country Status (15)

Country Link
US (2) US6304991B1 (ru)
EP (2) EP1147614A1 (ru)
JP (2) JP4723089B2 (ru)
KR (1) KR100711326B1 (ru)
CN (1) CN1202625C (ru)
AU (1) AU763873B2 (ru)
BR (1) BR9915926A (ru)
CA (1) CA2353455C (ru)
HK (1) HK1045030B (ru)
ID (1) ID30087A (ru)
MX (1) MXPA01005573A (ru)
NO (1) NO20012708L (ru)
RU (3) RU2313177C2 (ru)
UA (1) UA63024C2 (ru)
WO (1) WO2000035103A1 (ru)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19736626C1 (de) * 1997-08-22 1998-12-10 Siemens Ag Verfahren zur Datenübertragung in einem digitalen Übertragungssystem bei paketvermitteltem Dienst
EP0998087A1 (en) * 1998-10-30 2000-05-03 Lucent Technologies Inc. Multilevel transmission system and method with adaptive mapping
EP0998045A1 (en) * 1998-10-30 2000-05-03 Lucent Technologies Inc. Digital transmission system and method
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
US6871303B2 (en) * 1998-12-04 2005-03-22 Qualcomm Incorporated Random-access multi-directional CDMA2000 turbo code interleaver
KR100306282B1 (ko) 1998-12-10 2001-11-02 윤종용 통신시스템의인터리빙/디인터리빙장치및방법
US6625234B1 (en) * 1998-12-10 2003-09-23 Nortel Networks Limited Efficient implementations of proposed turbo code interleavers for third generation code division multiple access
US6463556B1 (en) * 1999-01-04 2002-10-08 Motorola, Inc. Method and apparatus for interleaving in a communication system
JP3746426B2 (ja) * 1999-02-26 2006-02-15 富士通株式会社 ターボ復号装置
CA2266283C (en) * 1999-03-19 2006-07-11 Wen Tong Data interleaver and method of interleaving data
EP1166449A4 (en) * 1999-04-06 2005-10-19 Samsung Electronics Co Ltd DEVICE WITH A METHOD OF TWO-DIMENSIONAL NEGOTIATION
CA2742096C (en) * 1999-04-13 2015-01-06 Ericsson Ab Rate matching and channel interleaving for a communications system
FR2792476B1 (fr) * 1999-04-13 2001-06-08 Canon Kk Procede de type arq pour procede de transmission utilisant des turbo-codes, et dispositif associe
US6543013B1 (en) * 1999-04-14 2003-04-01 Nortel Networks Limited Intra-row permutation for turbo code
US6377607B1 (en) * 1999-05-13 2002-04-23 Qualcomm Incorporated System and method for performing accurate demodulation of turbo-encoded signals via pilot assisted coherent demodulation
CN100442679C (zh) 1999-05-19 2008-12-10 三星电子株式会社 涡式交织装置
CN100391122C (zh) * 1999-07-08 2008-05-28 三星电子株式会社 移动通信系统中用于控制速率匹配的去复用器和复用器的设备和方法
EP1085660A1 (en) * 1999-09-15 2001-03-21 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Parallel turbo coder implementation
US6687870B1 (en) * 1999-09-23 2004-02-03 Qualcomm, Incorporated Method and apparatus for interleaving for information transmission or storage applications
US6628723B1 (en) 1999-10-15 2003-09-30 Cisco Technology Coding rate reduction for turbo codes
JP3399904B2 (ja) * 2000-03-17 2003-04-28 松下電器産業株式会社 インタリーブアドレス生成装置
US6952454B1 (en) 2000-03-22 2005-10-04 Qualcomm, Incorporated Multiplexing of real time services and non-real time services for OFDM systems
KR100360251B1 (ko) * 2000-03-29 2002-11-08 엘지전자 주식회사 통신시스템의 핸드오프 처리장치 및 이동체 수신기
US6854077B2 (en) * 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
US7242726B2 (en) 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US9979580B2 (en) 2001-02-01 2018-05-22 Qualcomm Incorporated Coding scheme for a wireless communication system
US6961388B2 (en) 2001-02-01 2005-11-01 Qualcomm, Incorporated Coding scheme for a wireless communication system
US6938224B2 (en) * 2001-02-21 2005-08-30 Lucent Technologies Inc. Method for modeling noise emitted by digital circuits
US6857087B2 (en) * 2001-06-11 2005-02-15 Her Majesty The Queen In Right Of Canada, As Represented By The Secretary Of State For Industry Through The Communication Research Centre High-performance low-memory interleaver banks for turbo-codes
US6871270B2 (en) * 2001-12-03 2005-03-22 Samsung Electronics Co., Ltd. Device and method for minimizing puncturing-caused output delay
US6954885B2 (en) * 2001-12-14 2005-10-11 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
KR100860660B1 (ko) * 2002-01-09 2008-09-26 삼성전자주식회사 통신시스템의 인터리빙 장치 및 방법
AU2003268814B2 (en) * 2002-02-06 2005-07-28 Samsung Electronics Co., Ltd. Interleaver and interleaving method in a communication system
RU2261529C2 (ru) * 2002-02-06 2005-09-27 Самсунг Электроникс Ко.,Лтд Перемежитель и способ перемежения в системе связи
US7352817B2 (en) * 2002-09-27 2008-04-01 Ibiquity Digital Corporation Method and apparatus for interleaving signal bits in a digital audio broadcasting system
KR20040037624A (ko) * 2002-10-29 2004-05-07 삼성전자주식회사 인터리빙된 데이터 열의 디인터리빙 방법 및 장치
JP2004266586A (ja) 2003-03-03 2004-09-24 Hitachi Ltd 移動通信システムのデータ送受信方法
US7430241B2 (en) * 2003-03-14 2008-09-30 Lucent Technologies Inc. Method for early decoding of control channel information
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
US7346832B2 (en) 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
JP4545793B2 (ja) 2004-08-10 2010-09-15 サムスン エレクトロニクス カンパニー リミテッド ブロック低密度パリティ検査符号を符号化/復号化する装置及び方法
EP1641129A1 (en) * 2004-09-22 2006-03-29 STMicroelectronics Pvt. Ltd An improved turbo encoder
US7281174B1 (en) 2004-10-01 2007-10-09 Rockwell Collins, Inc. Diversity code combining scheme for turbo coded systems
US7551697B1 (en) 2004-10-01 2009-06-23 Rockwell Collins, Inc. Reduced complexity soft-output noncoherent continuous phase demodulator systems
KR101131323B1 (ko) * 2004-11-30 2012-04-04 삼성전자주식회사 이동통신 시스템에서 채널 인터리빙 장치 및 방법
US7542410B2 (en) * 2004-12-06 2009-06-02 Intel Corporation Interleaver and associated methods
US7543197B2 (en) * 2004-12-22 2009-06-02 Qualcomm Incorporated Pruned bit-reversal interleaver
US7340669B2 (en) * 2005-03-11 2008-03-04 Via Telecom Co., Ltd. Memory efficient streamlined transmitter with a multiple instance hybrid ARQ
BRPI0611236A2 (pt) * 2005-05-12 2010-08-24 Qualcomm Inc equipamento e mÉtodo para intercalaÇço de canal em sistema de comunicaÇço
US7395461B2 (en) * 2005-05-18 2008-07-01 Seagate Technology Llc Low complexity pseudo-random interleaver
US7630350B2 (en) * 2005-06-06 2009-12-08 Broadcom Corporation Method and system for parsing bits in an interleaver for adaptive modulations in a multiple input multiple output (MIMO) wireless local area network (WLAN) system
KR100708474B1 (ko) * 2005-09-15 2007-04-18 삼성전자주식회사 선형 합동 인터리버의 매개변수 결정 방법 및 그를 이용한 선형 합동 인터리버
US7925956B2 (en) * 2006-10-03 2011-04-12 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8356232B2 (en) * 2006-10-06 2013-01-15 Motorola Mobility Llc Method and apparatus for encoding and decoding data
US8583983B2 (en) 2006-11-01 2013-11-12 Qualcomm Incorporated Turbo interleaver for high data rates
US7949926B2 (en) * 2006-11-30 2011-05-24 Motorola Mobility, Inc. Method and apparatus for encoding and decoding data
US8751769B2 (en) 2007-12-21 2014-06-10 Qualcomm Incorporated Efficient address generation for pruned interleavers and de-interleavers
KR101502623B1 (ko) 2008-02-11 2015-03-16 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 방법 및 장치
KR100943908B1 (ko) 2008-02-19 2010-02-24 엘지전자 주식회사 Pdcch를 통한 제어 정보 송수신 방법
US8200733B1 (en) 2008-04-15 2012-06-12 Freescale Semiconductor, Inc. Device having interleaving capabilities and a method for applying an interleaving function
EP2139120B1 (de) 2008-06-23 2019-01-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Interleaver
US7667628B2 (en) * 2008-06-23 2010-02-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Interleaver for scrambling and information word
DE102008029623A1 (de) 2008-06-23 2009-12-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Interleaver
US8516351B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8375278B2 (en) * 2009-07-21 2013-02-12 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US9397699B2 (en) * 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured codes
US8516352B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8638244B2 (en) 2009-08-31 2014-01-28 Freescale Semiconductor, Inc. Encoding module, apparatus and method for determining a position of a data bit within an interleaved data stream
US8374098B2 (en) * 2009-11-03 2013-02-12 Arm Limited Check data encoding using parallel lane encoders
US8595588B2 (en) * 2009-11-13 2013-11-26 Panasonic Corporation Encoding method, decoding method, coder and decoder
JP2011199414A (ja) * 2010-03-17 2011-10-06 Toshiba Corp 素材収録装置及び素材収録方法
JP5521722B2 (ja) * 2010-04-14 2014-06-18 沖電気工業株式会社 符号化装置、復号化装置、符号化・復号化システム、及び、プログラム
JP5988222B2 (ja) * 2011-10-18 2016-09-07 パナソニックIpマネジメント株式会社 シャッフルパターン生成回路、プロセッサ、シャッフルパターン生成方法、命令
KR101844438B1 (ko) 2014-02-21 2018-04-02 후아웨이 테크놀러지 컴퍼니 리미티드 폴라 코드 비율 매칭 방법 및 장치
JP6455766B2 (ja) * 2014-12-22 2019-01-23 華為技術有限公司Huawei Technologies Co.,Ltd. 極性符号の符号化方法および符号化装置
FR3037746B1 (fr) 2015-06-19 2020-10-02 Inst Mines Telecom Procede de construction d'un entrelaceur pour turbo-encodeur
FR3064138B1 (fr) 2017-03-20 2021-05-07 Orange Procedes et dispositifs de codage a rendement compatible
CN109885384B (zh) * 2018-12-13 2023-02-07 平安壹钱包电子商务有限公司 任务并行度优化方法、装置、计算机设备及存储介质
RU2718579C1 (ru) * 2019-05-20 2020-04-08 Антон Юрьевич Баринов Быстрый псевдослучайный перемежитель

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62200974A (ja) * 1986-02-28 1987-09-04 Matsushita Graphic Commun Syst Inc インタ−リ−ブ装置
US5103459B1 (en) 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
JP3077944B2 (ja) * 1990-11-28 2000-08-21 シャープ株式会社 信号再生装置
US5392299A (en) * 1992-01-15 1995-02-21 E-Systems, Inc. Triple orthogonally interleaed error correction system
US5241563A (en) 1992-08-10 1993-08-31 General Instrument Corporation Method and apparatus for communicating interleaved data
JPH06216882A (ja) * 1993-01-19 1994-08-05 Matsushita Electric Ind Co Ltd 誤り訂正送信装置及び受信装置
US5633881A (en) 1993-02-22 1997-05-27 Qualcomm Incorporated Trellis encoder and decoder based upon punctured rate 1/2 convolutional codes
US5668820A (en) * 1995-01-23 1997-09-16 Ericsson Inc. Digital communication system having a punctured convolutional coding system and method
EP2302809B1 (en) * 1995-02-01 2013-06-05 Sony Corporation Multi-channel transmission with interlacing through in-place addressing of RAM memory
WO1997007451A2 (en) * 1995-08-16 1997-02-27 Microunity Systems Engineering, Inc. Method and system for implementing data manipulation operations
KR0183171B1 (ko) * 1995-08-18 1999-04-15 김광호 인터리버 및 디인터리버와 그 방법
JPH09101878A (ja) * 1995-10-03 1997-04-15 Mitsubishi Electric Corp 乱数発生回路
US6205190B1 (en) * 1996-04-29 2001-03-20 Qualcomm Inc. System and method for reducing interference generated by a CDMA communications device
JPH1065654A (ja) * 1996-08-19 1998-03-06 Oki Electric Ind Co Ltd データ伝送誤り低減方法及びその装置
KR100215566B1 (ko) * 1996-09-30 1999-08-16 전주범 정적 램을 이용한 길쌈 인터리버/디인터리버 및정적 램의 주소 생성 방법
JPH10163887A (ja) * 1996-11-28 1998-06-19 Matsushita Electric Ind Co Ltd インターリーブ装置およびデインターリーブ装置
US5983384A (en) * 1997-04-21 1999-11-09 General Electric Company Turbo-coding with staged data transmission and processing
US5907582A (en) * 1997-08-11 1999-05-25 Orbital Sciences Corporation System for turbo-coded satellite digital audio broadcasting
US6430722B1 (en) * 1998-01-23 2002-08-06 Hughes Electronics Corporation Forward error correction scheme for data channels using universal turbo codes
US5978365A (en) * 1998-07-07 1999-11-02 Orbital Sciences Corporation Communications system handoff operation combining turbo coding and soft handoff techniques
US6014411A (en) * 1998-10-29 2000-01-11 The Aerospace Corporation Repetitive turbo coding communication method
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence

Also Published As

Publication number Publication date
EP2267903A2 (en) 2010-12-29
AU763873B2 (en) 2003-07-31
HK1045030B (zh) 2005-10-07
RU2007125429A (ru) 2009-01-10
MXPA01005573A (es) 2002-06-04
CN1357172A (zh) 2002-07-03
US6637000B2 (en) 2003-10-21
WO2000035103A1 (en) 2000-06-15
WO2000035103A9 (en) 2001-12-13
BR9915926A (pt) 2002-01-15
JP2011087329A (ja) 2011-04-28
EP1147614A1 (en) 2001-10-24
CA2353455A1 (en) 2000-06-15
AU1931500A (en) 2000-06-26
JP2002532941A (ja) 2002-10-02
EP2267903A3 (en) 2012-04-04
US20020032890A1 (en) 2002-03-14
RU2376702C2 (ru) 2009-12-20
ID30087A (id) 2001-11-01
HK1045030A1 (en) 2002-11-08
JP5394410B2 (ja) 2014-01-22
NO20012708L (no) 2001-07-20
NO20012708D0 (no) 2001-06-01
JP4723089B2 (ja) 2011-07-13
CA2353455C (en) 2009-05-19
US6304991B1 (en) 2001-10-16
KR100711326B1 (ko) 2007-04-27
UA63024C2 (en) 2004-01-15
RU2235424C2 (ru) 2004-08-27
KR20010080679A (ko) 2001-08-22
CN1202625C (zh) 2005-05-18

Similar Documents

Publication Publication Date Title
RU2313177C2 (ru) Турбодекодер, использующий линейные конгруэнтные последовательности
JP4191485B2 (ja) ランダムアクセスマルチ方向cdma2000のターボコードインターリーバ
JP4955150B2 (ja) 高並列map復号器
JP3359913B1 (ja) 移動通信システムの直列鎖状コンボルーション符号化器に使用するためのインタリーバ及びそのインタリービング方法
MXPA01010239A (es) Sistema y metodo que emplean un decodificador modular para decodificar codigos turbo y similares al turbo en una red de comunicaciones.
KR20010015765A (ko) 최적 성능을 갖는 터보 코드 인터리버
US7702970B2 (en) Method and apparatus for deinterleaving interleaved data stream in a communication system
US6625762B1 (en) Interleaving device and method for turbocoding and turbodecoding
JP2010016861A (ja) マップ・デコーダのためのメモリ・アーキテクチャ
US6789218B1 (en) High spread highly randomized generatable interleavers
KR20040037624A (ko) 인터리빙된 데이터 열의 디인터리빙 방법 및 장치