RU2373641C2 - Устройство кодирования с исправлением ошибок и способ кодирования с исправлением ошибок, используемый в нем - Google Patents

Устройство кодирования с исправлением ошибок и способ кодирования с исправлением ошибок, используемый в нем Download PDF

Info

Publication number
RU2373641C2
RU2373641C2 RU2007126849/09A RU2007126849A RU2373641C2 RU 2373641 C2 RU2373641 C2 RU 2373641C2 RU 2007126849/09 A RU2007126849/09 A RU 2007126849/09A RU 2007126849 A RU2007126849 A RU 2007126849A RU 2373641 C2 RU2373641 C2 RU 2373641C2
Authority
RU
Russia
Prior art keywords
polynomial
polynomials
bits
length
output
Prior art date
Application number
RU2007126849/09A
Other languages
English (en)
Other versions
RU2007126849A (ru
Inventor
Норифуми КАМИЯ (JP)
Норифуми КАМИЯ
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 RU2007126849A publication Critical patent/RU2007126849A/ru
Application granted granted Critical
Publication of RU2373641C2 publication Critical patent/RU2373641C2/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/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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
    • 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/0057Block codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

Устройство кодирования с исправлением ошибок, в котором конструкция устройства простая; используется итеративное декодирование для достижения декодирования с точностью, близкой к оптимальной; и простое математическое выражение используется для выполнения оценки характеристик области зоны насыщения без использования каких-либо экспериментов на компьютере. В блоке 1 умножения многочленов узлы (12-1-12-(m-1)) умножения многочленов (n-1)-го порядка дополнительно делят строку информационных битов, которая была разделена на блоки для кодирования с исправлением ошибок, на (m-1) блоков, имеющих длину n, и один блок, имеющий длину (n-r) (где тип представляют целые числа, равные или большие двух, и где г представляет целое число от 1 до n включительно); принимают блоки, которые имеют длину n, разделенных строк информационных битов; и выводят серию, имеющую такую же длину. Узел 2 деления многочленов r-го порядка принимает добавление выходов от соответствующих узлов (12-1-12-(m-1)) умножения многочленов (n-1)-го порядка и также принимает блок, имеющий длину (n-r), и выводит серию избыточных битов, имеющую длину r. Технический результат - достижение декодирования с точностью, близкой к оптимальной, и упрощение математического выражения для выполнения характеристики области зоны насыщения. 2 н. и 3 з.п. ф-лы, 7 ил.

Description

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству кодирования с исправлением ошибок и к способу кодирования с исправлением ошибок, используемому в нем, и, в частности, к системе блочного кодирования с исправлением ошибок, в которой информационная серия разделяется на блоки, имеющие предварительно определенную длину, и избыточная серия независимо добавляется к каждому блоку, к способу кодирования с низкой плотностью проверок на четность (НППЧ), используемому в его схеме, и его устройству.
Предшествующий уровень техники
Технологии кодирования с исправлением ошибок, достигающие большого выигрыша от кодирования, были внедрены в системы спутниковой связи и мобильных телекоммуникаций, чтобы соответствовать требованиям, касающимся конструкции системы, таких как снижение потребляемой мощности и размеров антенн. Код с низкой плотностью проверок на четность известен как код с исправлением ошибок, достигающий очень большого выигрыша от кодирования, и использовался в различных системах связи и запоминающих устройствах, таких как магнитные запоминающие устройства.
Код с низкой плотностью проверок на четность не относится к одному конкретному способу кодирования с исправлением ошибок, но он представляет собой общий термин для кодов с исправлением ошибок, отличающихся разреженной проверочной матрицей (большинство элементов в матрице равно 0, и количество элементов «1» очень мало). Посредством выбора разреженной проверочной матрицы и использования способа итеративного декодирования, такого как алгоритм сумма-произведений, код с низкой плотностью проверок на четность может реализовать систему кодирования с исправлением ошибок, способную достигать очень большого выигрыша от кодирования, близкого к теоретическому пределу (например, смотрите непатентные документы 1 и 2).
Технические проблемы, касающиеся кода с низкой плотностью проверок на четность, следующие. Большое количество вычислений, необходимое для способа кодирования (способа вычисления последовательности избыточных битов из последовательности информационных битов), и трудно оценить эффективность характеристик частоты появления ошибок (полученный выигрыш от кодирования) в области, где вероятность ошибок низкая, особенно в области зоны насыщения. В наиболее типичном устройстве кодирования, в котором система кодирования составляется матричным умножением на порождающую матрицу кода, количество требуемых операций Исключающее-ИЛИ пропорционально квадрату длины кода.
Далее, когда устройство кодирования снабжается проверочной матрицей кода, проверочная матрица преобразуется при помощи элементарного матричного преобразования, так что оно частично образует диагональную матрицу, такую как выражение (1), и устройство реализуется при помощи преобразованной проверочной матрицы.
[Выражение 1]
Figure 00000001
Более конкретно, когда часть, обозначенная А в выражении (1), представляет собой матрицу размера r x k (где r и k представляют положительные целые числа), и с1, с2, …, сk представляют собой серию информационных битов из k битов, каждый бит pi (где i представляет целое число от 1 до r включительно) из строки p1, p2, …, pr избыточных битов из r битов, которые соответствуют серии информационных битов из k битов, может быть получен при помощи следующего выражения (2):
[Выражение 2]
Figure 00000002
Здесь ai, j в выражении (2) представляет (i, j) элемент матрицы А размером r x k (где i представляет целое число от 1 до r включительно, и j представляет целое число от 1 до k включительно). Поэтому, чтобы образовать устройство кодирования кода с исправлением ошибок, матрица А размером r x k хранится в запоминающем устройстве, таком как память, и операции Исключающее-ИЛИ должны быть выполнены столько раз, чему равно количество «1» в элементах матрицы.
Фиг.7 изображает пример обычного устройства кодирования, относящегося к коду с низкой плотностью проверок на четность. Позиция 51 на фиг.7 представляет собой узел вычисления строки избыточных битов, который выполняет вычисления по выражению (2), позиция 52 на фиг.7 представляет собой память, которая хранит матрицу А в выражении (1), и позиция 53 на фиг.7 представляет собой переключатель.
В отношении снижения требуемого объема памяти и узлов Исключающее-ИЛИ в устройстве кодирования известны способ, в котором объем памяти уменьшается, и упрощаются операции Исключающее-ИЛИ посредством ограничения проверочной матрицы до матрицы, образованной матрицей циклических перестановок в виде блочной матрицы, и наложения регулярности на матрицу А (например, смотрите патентный документ 1), и способ составления кодов с низкой плотностью проверок на четность, в которых минимизируется количество «1» в элементах матрицы А, тогда как максимизируется выигрыш от кодирования, получаемый посредством итеративного кодирования (например, смотрите непатентный документ 3).
Далее, в качестве кодов с исправлением ошибок, с которыми легко может быть реализовано устройство кодирования, известны циклические коды, в которых строки избыточных битов вычисляются посредством использования только схемы деления многочленов; циклические коды представляются кодом Рида-Соломона (РС) и кодом Боуза-Чоудхури-Хоквингема (БЧХ-кодом), в частности. Далее, как и с вышеупомянутыми циклическими кодами, устройство кодирования легко может быть реализовано посредством использования сверточных кодов.
Однако в циклических кодах или сверточных кодах, имеющих большую длину кодового ограничения, очень большое количество вычислений, необходимых для декодирования с мягким решением, которое выполняет декодирование с точностью, близкой к оптимальной, представляя проблему, и нельзя получить достаточный выигрыш от кодирования по сравнению с кодами с низкой плотностью проверок на четность, в которых декодирование легко может быть выполнено с точностью, близкой к оптимальной, используя узел итеративного декодирования, применяющий вышеупомянутый алгоритм сумма-произведений, который вызывает проблему. В качестве относительно простых кодов, которые могут декодироваться с точностью, близкой к оптимальной, используя итеративное декодирование, и использоваться для устройства кодирования, известны турбокоды (например, смотрите патентный документ 2), однако турбокоды имеют низкую скорость кодирования (отношение длины строки информационных битов и длины строки кодовых битов), поэтому они не пригодны для системы, в которой требуется высокая скорость кодирования.
Известен тот факт, что оценка характеристик частоты появления ошибок кодов с низкой плотностью проверок на четность и предсказание эффективности характеристик частоты появления ошибок может, как правило, выполняться системой, называемой «эволюцией плотности» в области, где вероятность ошибки достаточно высока (например, смотрите непатентный документ 4). Предсказание эффективности характеристик частоты появления ошибок в области, где вероятность ошибок низкая, особенно в области, называемой зоной насыщения, оценивается экспериментальным способом, использующим моделирование на компьютере.
Как описано выше, обычное устройство кодирования, относящееся к коду с низкой плотностью проверок на четность, реализуется при помощи запоминающих устройств, которые хранят матрицу А по выражению (1), и узлов обработки операций, которые выполняют операцию по выражению (2). Далее, оценка характеристик частоты появления ошибок выполняется экспериментально.
[Патентный документ 1]
Публикация патента Японии Kokai № JP-P2003-115768A (стр.10-11, фиг.4-7)
[Патентный документ 2]
Патент США 5446747 (стр.2, фиг.1)
[Непатентный документ 1]
Gallager R., “Low-Density Parity-Check Codes”, MIT Press, 1963 г.
[Непатентный документ 2]
MacKay D. J. C., “Good Error-Correcting Codes Based on Very Sparse Matrices”, труды Института инженеров по электротехнике и радиоэлектронике (ИИЭР) по теории информации, том 45, № 2, Март 1999 г., стр.399-431.
[Непатентный документ 3]
Richardson T. J., and Urbanke, R. L., “Efficient Encoding of Low-Density Parity-Check Codes”, труды ИИЭР по теории информации, том 47, № 2, сентябрь 2001 г., стр.638-656.
[Непатентный документ 4]
Richardson, T. J., Shokrollahi, M. A. and Urbanke, R. L., “Design of Capacity-Approaching Irregular Low-Density Parity-Check Codes”, труды ИИЭР по теории информации, том 47, № 2, сентябрь 2001 г., стр.619-637.
Сущность изобретения
Проблемы, решаемые изобретением
Так как обычное устройство кодирования с исправлением ошибок, относящееся к коду с низкой плотностью проверок на четность, описанному выше, реализуется посредством запоминающих устройств, которые хранят матрицу А по выражению (1), и узлов обработки операций, которые выполняют операцию по выражению (2), размер устройства кодирования очень большой по сравнению с устройствами, применяющими циклические коды, такие как код Рида-Соломона или сверточные коды. В частности, в условиях, когда являются высокими требования к размеру устройства и потреблению мощности, таких как спутниковая связь и мобильные телекоммуникации, требуется дальнейшее снижение количества запоминающих устройств и узлов Исключающее-ИЛИ.
Далее, хотя устройство кодирования может быть реализовано относительно легко с использованием турбокодов, трудно применить такое устройство в системе, которая требует высоких скоростей кодирования, так как турбокоды имеют низкие скорости кодирования. Из-за проблем, описанных выше, чтобы получить большой выигрыш от кодирования, используя коды с низкой плотностью проверок на четность, большое количество вычислений требуется для процесса кодирования, и конфигурация устройства становится сложной, особенно в системах связи, в которых требуются высокие скорости кодирования.
Далее, в обычном устройстве кодирования с исправлением ошибок оценка характеристик частоты появления ошибок должна выполняться экспериментально. Предсказание характеристик частоты появления ошибок в области, где вероятность ошибок низкая, особенно в области, называемой «зоной насыщения», или предсказание вероятности ошибок, в которых наблюдается эффект насыщения, представляет собой важный вопрос при оценке надежности системы связи. Экспериментальный способ, использующий моделирование на компьютере, является эффективным, однако, он занимает много времени, чтобы экспериментально моделировать характеристики области с вероятностью ошибок 10-12, учитывая возможности современных компьютеров.
Следовательно, задачей настоящего изобретения является решение вышеописанных проблем и обеспечение устройства кодирования с исправлением ошибок, в котором конструкция устройства простая, итеративное декодирование используется для достижения декодирования с точностью, близкой к оптимальной, и простое математическое выражение используется для выполнения оценки характеристики области зоны насыщения без использования каких-либо экспериментов на компьютере, и способа кодирования с исправлением ошибок, используемого в нем.
Средство решения проблем
Устройство кодирования с исправлением ошибок согласно настоящему изобретению представляет собой устройство кодирования с исправлением ошибок, которое использует код с низкой плотностью проверок на четность и содержит (m-1) узлов умножения многочленов (где m представляет целое число, равное или большее двух), которые, соответственно, принимают блок, имеющий длину n (где n представляет целое число, равное или большее двух), строки информационных битов, разделенной на (m-1) блоков строк битов, имеющих длину n, и один блок строки битов, имеющий длину (n-r) (где r представляет целое число от 1 до n включительно), выполняет умножение многочленов и, соответственно, выводит серию битов, имеющих длину n; узел сумматора, который суммирует каждый выход (m-1) узлов умножения многочленов; и узел деления многочленов, который выполняет деление многочленов выходного результата узла сумматора и блока, имеющего длину (n-r), и выводит серию избыточных битов, имеющую длину r.
Способ кодирования с исправлением ошибок согласно настоящему изобретению представляет собой способ кодирования с исправлением ошибок, в котором используется код с низкой плотностью проверок на четность; (m-1) узлов умножения многочленов (где m представляет целое число, равное или большее двух), соответственно, принимают блок, имеющий длину n (где n представляет целое число, равное или большее двух), строки информационных битов, разделенной на (m-1) блоков строк битов, имеющих длину n, и один блок строки битов, имеющий длину (n-r) (где r представляет целое число от 1 до n включительно), выполняет умножение многочленов и, соответственно, выводит серию битов, имеющую длину n; узел сумматора добавляет каждый выход (m-1) узлов умножения многочленов; и узел деления многочленов выполняет деление многочленов выходного результата узла сумматора и блока, имеющего длину (n-r), и выводит серию избыточных битов, имеющую длину r.
Другими словами, чтобы достичь задачи, описанной выше, устройство кодирования с исправлением ошибок согласно настоящему изобретению содержит (m-1) узлов умножения многочленов, которые дополнительно делят строку информационных битов, имеющую длину K (где K представляет целое число), которая была разделена на блоки для кодирования с исправлением ошибок, на (m-1) блоков, имеющих длину n, и один блок, имеющий длину (n-r) (где m и n представляют целые числа, равные или большие двух, и r представляет целое число от 1 до n включительно), принимают (m-1) блоков, которые имеют длину n, из числа разделенных строк информационных битов, выполняют умножение многочленов и выводят серию, имеющую длину n; узел сумматора, который суммирует каждый выход (m-1) узлов умножения многочленов; и узел деления многочленов, который принимает выходной результат узла сумматора и блок, имеющий длину (n-r), выполняет деление многочленов и выводит серию избыточных битов, имеющую длину r.
Имея описанную выше конфигурацию, устройство кодирования с исправлением ошибок настоящего изобретения может быть реализовано с простой конструкцией устройства, так как оно образовано из узлов умножения многочленов и узла деления многочленов, и могут быть уменьшены количество вычислений, необходимое для обработки кодирования, и размер устройства. Далее, количество кодовых слов с минимальным весом в устройстве кодирования с исправлением ошибок настоящего изобретения может быть сделано небольшим посредством выбора коммутационного соединения в узлах умножения многочленов и коммутационного соединения в узле деления многочленов.
Поэтому в устройстве кодирования с исправлением ошибок настоящего изобретения размер устройства небольшой, конструкция устройства простая, и большой выигрыш от кодирования может быть получен с использованием способа итеративного декодирования, способствуя повышению надежности и снижению потребляемой мощности в системах связи.
Далее, так как точная аппроксимация минимального расстояния и количества кодовых слов с минимальным весом делается возможной посредством того, что выполняется переключение коммутационного соединения в узлах умножения многочленов и узле деления многочленов в устройстве кодирования с исправлением ошибок настоящего изобретения, можно легко вычислить хорошую аппроксимацию характеристик частоты появления ошибок, особенно вероятность ошибок в области зоны насыщения, в типовой системе связи, в которой применяется настоящее изобретение. Поэтому становится возможным количественно оценивать надежность системы связи, даже когда занимает очень много времени выполнение экспериментальной оценки с использованием моделирования на компьютере или когда количество вычислений слишком большое для выполнения этого.
Выгоды изобретения
В настоящем изобретении с конфигурацией и функционированием, описанными ниже, конструкция устройства может быть сделана простой, декодирование с точностью, близкой к оптимальной, может достигаться с использованием итеративного декодирования, и оценка характеристик области зоны насыщения может выполняться с использованием простого математического выражения без использования каких-либо экспериментов на компьютере.
Краткое описание чертежей
Фиг.1 представляет собой блок-схему, изображающую конфигурацию устройства кодирования с исправлением ошибок согласно примеру настоящего изобретения.
Фиг.2 представляет собой блок-схему, изображающую конфигурацию узла умножения многочленов (n-1)-го порядка, изображенного на фиг.1.
Фиг.3 представляет собой блок-схему, изображающую конфигурацию узла деления многочленов r-го порядка, показанного на фиг.1.
Фиг.4 представляет собой блок-схему, изображающую подробную конфигурацию блока 1 умножения многочленов, показанного на фиг.1.
Фиг.5 представляет собой блок-схему последовательности операций, изображающую пример способа вычисления m многочленов, которые не равны нулю, согласно примеру настоящего изобретения.
Фиг.6 представляет собой блок-схему последовательности операций, изображающую пример способа вычисления многочленов согласно другому примеру настоящего изобретения.
Фиг.7 представляет собой блок-схему, изображающую пример обычного устройства кодирования с исправлением ошибок, относящегося к коду с низкой плотностью проверок на четность.
Объяснение ссылочных символов
1: блок умножения многочленов
2: узел деления многочленов r-го порядка
3, 4, 24, 34, 124: переключатель
11, 40: узел последовательно-параллельного преобразователя
12, 12-1 - 12-(m-1): узел умножения многочленов (n-1)-го порядка
13: узел сумматора
21-1 - 21-r, 31-1 - 31-n, 121-1 - 121-n: регистр
22-1 - 22-r, 32-1 - 32-n, 122-1 - 122-n: узел операции Исключающее-ИЛИ
23-1 - 23-(r-1), 33, 123-1 - 123-n: переключатель, указывающий скоммутированное или нескоммутированное состояние
Предпочтительные варианты для осуществления изобретения
Ниже описываются примеры настоящего изобретения с ссылкой на чертежи. Фиг.1 представляет собой блок-схему, изображающую конфигурацию устройства кодирования с исправлением ошибок согласно примеру настоящего изобретения. На фиг.1 устройство кодирования с исправлением ошибок согласно примеру настоящего изобретения образовано блоком 1 умножения многочленов, содержащим узел 11 последовательно-параллельного (Пос-Пар) преобразователя, узлы 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка в количестве m-1 и узел 13 сумматора, узлом 2 деления многочленов r-го порядка и переключателями 3 и 4 и представляет собой устройство, которое преобразует строку информационных битов из (nm-r) битов в строку кодовых битов из nm битов (где m и n представляют целые числа, равные или большие двух, и r представляет целое число от 1 до n включительно).
Как описано ниже, блок 1 умножения многочленов конфигурируется так, как показано на фиг.4, однако, чтобы упростить объяснение, заявители предполагают, что блок 1 умножения многочленов составлен из узлов 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка в количестве m-1.
Способ (или система) кодирования настоящего изобретения представлена в качестве схемы систематического кодирования, в которой (nm-r) битов с первого бита строки кодовых битов совпадает со строкой информационных битов, тогда как остальные r битов становятся строкой избыточных битов для исправления ошибок.
(m-1) узлов 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка дополнительно делят строку информационных битов, имеющую длину K (где K представляет целое число), которая была разделена на блоки для кодирования с исправлением ошибок, на (m-1) блоков, имеющих длину n, и один блок, имеющий длину (n-r) (где m и n представляют целые числа, равные или большие двух, и где r представляет целое число от 1 до n включительно), принимают каждый из (m-1) блоков, имеющих длину n, из разделенных строк информационных битов, выполняют умножение многочленов (n-1)-го порядка, и каждый выводит серию (или последовательность), причем каждая имеет длину n.
Узел 13 сумматора складывает каждый выход (m-1) узлов 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка. Узел 2 деления многочленов r-го порядка принимает блок, имеющий длину (n-r), и выходной результат узла 13 сумматора, выполняет деление многочленов r-го порядка и выводит серию избыточных битов, имеющую длину r.
Фиг.2 представляет собой блок-схему, изображающую конфигурацию узла умножения многочленов (n-1)-го порядка. На фиг.2 узел 12 умножения многочленов (n-1)-го порядка составлен из регистров 121-1 - 121-n в количестве n и узлов 122-1 - 122-n Исключающее-ИЛИ в количестве n, максимум. Узлы 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка на фиг.1 все конфигурируются идентично этому узлу 12 умножения многочленов (n-1)-го порядка.
Узел 12 умножения многочленов (n-1)-го порядка принимает/выводит n битов и последовательно принимает строку входных битов из n битов. После того как он примет все биты, переключатель 124 переключается и последовательно выводится содержимое n регистров 121-1 - 121-n.
На фиг.2 позиции 123-1 - 123-n представляют собой переключатели, в которых выполняется коммутационное соединение или коммутационное разъединение под действием предварительно определенной строки битов из n битов (h1, h2, …, hn). Когда hj равен 1, в элементе, обозначенном hj, выполняется коммутационное соединение, и когда hj равен 0, в элементе, обозначенном hj, выполняется коммутационное разъединение (j представляет собой целое число от 1 до m включительно). Как выбирается эта строка битов из n битов (h1, h2, …, hn), описывается ниже.
Фиг.3 представляет собой блок-схему, изображающую конфигурацию узла деления многочленов r-го порядка, показанного на фиг.1. На фиг.3 узел 2 деления многочленов r-го порядка составлен из регистров 21-1 - 21-r в количестве r, узлов 22-1 - 22-r Исключающее-ИЛИ в количестве r, максимум, и переключателя 24.
Узел 2 деления многочленов r-го порядка принимает результирующие n битов операций Исключающее-ИЛИ между (n-r) информационными битами и каждым выходным битом (m-1) узлов 121-1 - 121-n умножения многочленов (n-1)-го порядка и выводит r битов. После того как он примет (n-r) информационных битов, узел 2 деления многочленов r-го порядка переключает переключатель 24 и последовательно выводит результаты операций Исключающее-ИЛИ между остальными r битами с каждого выхода узлов 121-1 - 121-(m-1) умножения многочленов (n-1)-го порядка и содержимым r регистров 21-1 - 21-r на фиг.3 (в этот момент ввод строки информационных битов устанавливается в 0).
Выходные r биты узла 2 деления многочленов r-го порядка становятся строкой избыточных битов из r битов для строки информационных битов из (nm-r) битов. На фиг.3 позиции 23-1 - 23-(r-1) представляют собой переключатели, в которых выполняется коммутационное соединение или коммутационное разъединение под действием предварительно определенной строки битов из (r-1) битов (u1, u2, …, ur-1). Когда uj равен 1, в элементе, обозначенном uj, выполняется коммутационное соединение, и когда uj равен 0, в элементе, обозначенном uj, выполняется коммутационное разъединение (j представляет собой целое число от 1 до (r-1) включительно). Как выбирается эта строка битов из (r-1) битов (u1, u2, …, ur-1), описывается ниже.
Фиг.4 представляет собой блок-схему, изображающую подробную конфигурацию блока 1 умножения многочленов, показанного на фиг.1. На фиг.4 регистры являются совместно используемыми. Позиция 33 на фиг.4 представляет переключатель, который соединяется или разъединяется под действием строки предварительно определенных битов из n(m-1) битов. Когда этот же способ применяется для выбора этой строки битов из n(m-1) битов и строки битов, которая определяет состояние коммутационного соединения переключателей в узлах 12 умножения многочленов (n-1)-го порядка на фиг.2, зависимость между входом и выходом, показанная на фиг.4, совпадает с зависимостью между входом и выходом блока 1 умножения многочленов, реализованного с использованием узлов 12 умножения многочленов (n-1)-го порядка в количестве (m-1) на фиг.2.
Проверочная матрица, которая соответствует устройству кодирования с исправлением ошибок согласно примеру настоящего изобретения, показанному на фиг.1, указывается в следующем выражении:
[Выражение 3]
Figure 00000003
Figure 00000004
Проверочная матрица в выражении (3) представляет собой линейное расположение циклических матриц размера n x n в количестве m, и Hi в выражении (3) обозначает циклическую матрицу размера n x n (где i представляет собой целое число от 1 до m включительно). Циклическая матрица выражается следующим образом.
[Выражение 4]
Figure 00000005
В выражении (4) положения векторов первой строки сдвигаются на один бит влево во второй строке, и после этого положения векторов первой строки сдвигаются на (k-1) битов влево в k-ой строке (где k представляет целое число от двух до n включительно).
Векторы первой строки циклической матрицы размера n x n в выражении (4) выражаются следующим выражением:
[Выражение 5]
Figure 00000006
В выражении (5) векторы первой строки циклической матрицы размера n x n выражаются многочленом порядка (n-1) или менее как f(i)(x) (где i представляет собой целое число от 1 до m включительно).
Выбор строки n битов, которая определяет коммутационное соединение между узлами 12 умножения многочленов (n-1)-го порядка: 12-1 - 12-(m-1) и узлом 2 деления многочленов r-ого порядка, определяется выбором m многочленов порядка (n-1) или менее: f(1)(x), f(2)(x), …, f(m)(x). Сначала описывается способ выбора m многочленов порядка (n-1) или менее: f(1)(x), f(2)(x), …, f(m).
Что касается многочлена f(x) порядка (n-1) или менее, множество s(f(x)) определяется следующим выражением:
[Выражение 6]
Figure 00000007
Здесь коэффициент члена порядка i f(x) обозначается как fi+1. Множество s(f(x)) представляет собой подмножество целых чисел от 0 до (n-1) включительно, определенное многочленом f(x).
Далее, для целых чисел v от 1 до (n-1) включительно подмножество λ v(f(x)) декартова произведения s(f(x))×s(f(x)) определяется следующим выражением:
[Выражение 7]
Figure 00000008
Одним из условий для выбора m многочленов порядка не более, (n-1): f(1)(x), f(2)(x), …, f(m)(x) является то, что m многочленов удовлетворяет следующему выражению для всех целых чисел v от 1 до (n-1) включительно:
[Выражение 8]
Figure 00000009
Здесь, количество элементов в множестве А обозначается как |A|. Вторым условием для выбора m многочленов порядка не более (n-1): f(1)(x), f(2)(x), …, f(m)(x) является то, что каждый из (m-1) многочленов f(2)(x), …, f(m)(x) делится на многочлен f(1)(x), при этом многочлен (xn-1) используется в качестве делителя. Далее, факторы-многочлены в количестве (m-1) выражаются как g(2)(x), g(3)(x), …, g(m)(x), что указывается следующим выражением:
[Выражение 9]
Figure 00000010
Первое условие [выражение (8)] для выбора m многочленов порядка не более (n-1): f(1)(x), f(2)(x), …, f(m)(x) представляет собой необходимое условие для достижения декодирования с точностью, близкой к оптимальной, используя итеративное декодирование кода с низкой плотностью проверок на четность, обычно алгоритм сумма-произведений и т.д. Фактически, посредством выполнения этого условия [выражение (8)] максимальное количество 1, включенных в каждый вектор строки проверочной матрицы, показанной в выражении (3), становится равным (nm)1/2, и проверочная матрица становится разреженной матрицей.
Второе условие [выражение (9)] представляет собой необходимое условие, чтобы устройство кодирования с исправлением ошибок, показанное на фиг.1, точно вычисляло строку избыточных битов. Примеры многочленов, которые удовлетворяют обоим условиям [выражения (8) и (9)], описываются ниже.
Ниже описывается коммутационное соединение в узле 12 умножения многочленов (n-1)-го порядка, показанном на фиг.2. Как упомянуто выше, коммутационное соединение переключателей 123-1 - 123-n в узле 12 умножения многочленов (n-1)-го порядка на фиг.2 определяется предварительно определенной строкой битов (h1, h2, …, hn). Когда hj равен 1, элемент, обозначенный hj, соединяется, и, когда hj равен 0, элемент, обозначенный hj, разъединяется (j представляет собой целое число от 1 до m включительно).
Эта строка битов из n битов (h1, h2, …, hn) выбирается следующим образом. Как упомянуто ранее, устройство кодирования с исправлением ошибок содержит узлы 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка, и строка n битов, которая определяет коммутационное соединение в узлах 12-i умножения многочленов (n-1)-го порядка, выражается следующим образом.
[Выражение 10]
Figure 00000011
(где i представляет целое число от 1 до (m-1) включительно). Эта строка n битов определяется следующим выражением (11), используя (m-1) многочленов g(2)(x), g(3)(x), …, g(m)(x), указанных в выражении (9):
[Выражение 11]
Figure 00000012
Где
[Выражение 12]
Figure 00000013
(где k представляет собой целое число от 2 до m включительно). Далее, битовая строка из n(m-1) битов, которая определяет коммутационное соединение переключателей на фиг.4, аналогично определяется выражением (10).
[Выражение 13]
Figure 00000014
Ниже описывается коммутационное соединение в узле 2 деления многочленов r-го порядка, показанном на фиг.3. В переключателях 23-1 - 23-(r-1) на фиг.3 выполняется коммутационное соединение или разъединение посредством предварительно определенной битовой строки из (r-1) битов (u1, u2, …, ur-1). Когда uj равен 1, элемент, обозначенный uj, соединяется, и, когда uj равен 0, элемент, обозначенный uj, разъединяется (j представляет собой целое число от 1 до (r-1) включительно). Битовая строка из (r-1) битов (u1, u2, …, ur-1) определяется следующим выражением, используя вышеупомянутый многочлен f(1)(x):
[Выражение 14]
Figure 00000015
Здесь gcd(f(1)(x), xn-1) представляет наибольший общий многочлен из f(1)(x) и (xn-1), и порядок этого наибольшего общего многочлена равен (n-r). Как упомянуто ранее, r представляет собой количество избыточных битов устройства кодирования настоящего изобретения. Другими словами, количество информационных битов устройства кодирования с исправлением ошибок настоящего изобретения равно количеству битов, полученному добавлением порядкового номера наибольшего общего многочлена f(1)(x) и (xn-1) к n(m-1).
Ниже описывается принцип действия настоящего примера. Устройство кодирования с исправлением ошибок, показанное на фиг.1, последовательно принимает строку информационных битов, имеющую длину K=(nm-r) битов (где m и n представляют целые числа, равные или большие двух, и r представляет целое число от 1 до n включительно), которая была разбита на блоки для кодирования с исправлением ошибок. Серия информационных битов делится на первый блок, включающий в себя от первого бита до n(m-1)-го бита, и второй блок, включающий в себя от (n(m-1)+1)-го бита до (nm-r)-го бита.
Блок 1 умножения многочленов, составленный из (m-1) узлов 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка, последовательно принимает первый блок, и, после переключения переключателя 3, второй блок последовательно принимается узлом 2 деления многочленов r-го порядка. Первый блок, имеющий длину n(m-1) в строке информационных битов, принятой блоком 1 умножения многочленов, преобразуется узлом 11 последовательно-параллельного преобразователя в (m-1) битов, и каждый бит преобразованных (m-1) битов последовательно подается на узлы 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка.
Количество узлов 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка равно (m-1), и i-ый бит (где i представляет целое число от 1 до (m-1) включительно) последовательно-параллельно преобразованных (m-1) битов подается на i-ый узел 12-i умножения многочленов (n-1)-го порядка. Другими словами, первый блок дополнительно делится на (m-1) блоков, имеющих длину n, узлом 11 последовательно-параллельного преобразователя, и каждый из (m-1) блоков, имеющих длину n, принимается каждым из (m-1) узлов 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка.
Каждый из узлов 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка принимает разделенные n биты, и их выходное количество битов равно n битов. Побитовая операция Исключающее-ИЛИ каждого выхода (m-1) узлов 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка превращает в n-битовый выход блока 1 умножения многочленов.
Ниже описывается принцип действия узла 12 умножения многочленов (n-1)-го порядка, показанного на фиг.2. Содержимое всех регистров 121-1 - 121-n инициализируется в нуль, и они последовательно принимают строку из n битов бит за битом. В течение этого времени переключатель 124 устанавливается так, что существует обратная связь. После того как будут приняты все из n битов, переключатель 124 переключается, и содержимое регистров 121-1 - 121-n последовательно выводится.
Устройство кодирования с исправлением ошибок, показанное на фиг.1, использует узлы 12 умножения многочленов (n-1)-го порядка в количестве (m-1). Так как операция Исключающее-ИЛИ каждого выхода узлов 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка превращает в выход блока 1 умножения многочленов, каждый регистр (121-1 - 121-n) может совместно использоваться с другими узлами 12-1 - 12-(m-1) умножения многочленов (n-1)-го порядка.
Конфигурация блока 1 умножения многочленов, показанного на фиг.4, может достигаться так, как описано выше. Принцип действия конфигурации по фиг.4 одинаков с описанным принципом действия за исключением того, что регистры 31-1 - 31-n являются совместно используемыми, и требуемый выходной результат может быть получен с этой конфигурацией, показанной на фиг.4.
Ниже описывается узел 2 деления многочленов r-го порядка, показанный на фиг.3. Содержимое всех регистров 21-1 - 21-r инициализируется в нуль, и они последовательно и одновременно принимают последнюю половину (n-r) битов строки информационных битов и n-битовый выход блока 1 умножения многочленов бит за битом. В течение этого времени переключатель 24 на фиг.3 устанавливается так, что существует обратная связь. После того как будет принята (n-r)-битовая строка информационных битов, переключатель 24 переключается, и операции Исключающее-ИЛИ остальных r битов выхода блока 1 умножения многочленов и содержимое каждого регистра (21-1 - 21-r) последовательно выводятся (вход строки информационных битов устанавливается в нуль в это время).
r-битовый выход узла 2 деления многочленов r-го порядка, показанного на фиг.3, становится строкой избыточных битов для строки информационных битов из (nm-r) битов. Когда количество r избыточных битов совпадает с n, то это означает, что количество битов строки информационных битов, принятой узлом 2 деления многочленов r-порядка, равно нулю, и в этом случае узел 2 деления многочленов r-го порядка просто выводит n-битовый выход блока 1 умножения многочленов.
Ниже описывается выходной переключатель 4 устройства кодирования с исправлением ошибок, показанный на фиг.1. Строка информационных битов из (nm-r) битов становится выходной битовой строкой устройства кодирования с исправлением ошибок одновременно с тем, как она принимается блоком 1 умножения многочленов или узлом 2 деления многочленов r-го порядка. В этот момент времени, если необходимо, с первого по n(m-1)-ый бит информационных битов, принятых блоком 1 умножения многочленов, переупорядочиваются так, что их порядок совпадает с порядком битов, указанным проверочной матрицей, показанной в выражении (3), перед выводом.
После того как будут выведены все (nm-r) биты строки информационных битов, переключатель 4 переключается так, что становится активным выход узла 2 деления многочленов r-го порядка, и r-битовый выход узла 2 деления многочленов r-го порядка выводится в качестве выхода устройства кодирования с исправлением ошибок. Как описано, настоящим примером является устройство систематического кодирования, в котором с первого по n(m-r) биты строки кодовых битов совпадают со строкой информационных битов, и остальные r биты становятся строкой избыточных битов для исправления ошибок.
Имея такую конфигурацию, устройство кодирования с исправлением ошибок, использующее код с низкой плотностью проверок на четность со скоростью кодирования, равной или большей, чем (n-1)/n, может быть составлено из максимум 2n регистров и 2n узлов Исключающее-ИЛИ в настоящем примере.
Далее, как описано ниже, устройство кодирования с исправлением ошибок, в котором выигрыш от кодирования является большим, и характеристики частоты появления ошибок в области зоны насыщения могут вычисляться простым математическим оценочным выражением (или формулой), может быть составлено из конфигурации настоящего примера.
Ниже описывается конкретный пример вычисления многочленов, которые удовлетворяют вышеупомянутым условиям [выражения (8) и (9)]. Далее, используя данный пример, объясняется, как может быть получен большой выигрыш от кодирования и как могут быть вычислены характеристики частоты появления ошибок в области зоны насыщения простым математическим оценочным выражением.
α представляет собой примитивный элемент конечного поля GF(22S) (где S представляет собой положительное целое число), и R представляет собой делитель S, но не равен ни 1, ни S. Далее, n представляется посредством (2S+1)(2R-1), и m - посредством (2S-2S-R)/(2R-1). Многочлен ψ (k)(x) порядка не более (n-1) определяется следующим выражением:
[Выражение 15]
Figure 00000016
(где k представляет целые числа от 0 до (2S-1)/(2R-1)-1 включительно).
Здесь L(K) представляет собой подмножество целых чисел от 0 до (n-1) включительно, и оно определяется следующим выражением:
[Выражение 16]
Figure 00000017
Отметьте, что Tr2S|S в выражении (16) представляет след от конечного поля GF(22S) на GF(2S). Существует количество m многочленов ψ (k)(x), которые не равны нулю, где k представляет целые числа от 0 до (2S-1)/(2R-1)-1 включительно.
Фиг.5 представляет собой блок-схему последовательности операций, изображающую пример способа вычисления m многочленов, которые не равны нулю. Равен ли многочлен ψ (k)(x) нулю или нет (где k представляет целые числа от 0 до (2S-1)/(2R-1)-1 включительно) может определяться тем, что равен ли нулю или нет след αk(2S+1) (где α представляет собой элемент конечного поля GF(2S)) на GF(2R). Другими словами, он может определяться следующим выражением:
[Выражение 17]
Figure 00000018
Так как (2S-1)/(2R-1), умноженное на m, равно 22S-1, множество L(k) в выражении (16) соответствует множеству элементов, которые являются подмножеством конечного поля GF(22S), значения которого совпадают друг с другом при возведении в m-ую степень, и следы которого на конечное поле GF(2S) равны 1. Далее, даже когда значение вышеуказанного следа не равно нулю, вышеупомянутое выражение действует до тех пор, пока значение следа одинаково для каждого k (где k представляет целые числа от 0 до (2S-1)/(2R-1)-1 включительно). Поэтому многочлены ψ (k)(x) определяются множеством элементов, значения которых совпадают друг с другом при возведении в m-ую степень, и следы которых на конечное поле GF(2S) представляют собой предварительно определенное значение, отличное от нуля, и совпадают друг с другом в подмножестве конечного поля GF(22S) (этапы S1-S7 на фиг.5).
После того как m многочленов, которые представляют собой выход блок-схемы последовательности операций на фиг.5, надлежащим образом упорядочены, они представляются как f(1)(x), f(2)(x), …, f(m)(x). Эти m многочленов f(1)(x), f(2)(x), …, f(m)(x) удовлетворяют вышеупомянутым условиям [выражения (8) и (9)]. В данном случае, эти m многочленов должны быть упорядочены так, что, в частности, многочлен f(1)(x) представляет собой минимальный многочлен, что означает, что среди многочленов ψ (k)(x), которые не равны нулю, номер порядка их наибольшего общего многочлена с (xn-1) является наименьшим.
Длина N строки кодовых битов в устройстве кодирования с исправлением ошибок согласно настоящему примеру, составленному многочленами, выбранными так, как описано, равна следующему.
N=nm=(2S+1)(2S-2S-R)
Длина K строки информационных битов не меньше, чем
n(m-1)=(2S+1)(2S-2S-R-2R+1)
Точнее говоря, как описано выше, фактически, это номер бита, полученный посредством добавления номера порядка наибольшего общего многочлена f(1)(x) и (xn-1) к n(m-1).
Далее, минимальное расстояние d представляется посредством d=2R+1, и число Ad строк кодовых битов с весом d составляет, по меньшей мере, (2S+1)(2S-2S-R). В действительности, число Ad строк кодовых битов с весом d очень близко к (2S+1)(2S-2S-R), поэтому это хорошая аппроксимация. Кроме того, число строк кодовых битов с весом d очень небольшое, и этот факт имеет хорошее влияние на характеристики частоты появления ошибок, как описано ниже.
Используя аппроксимации минимального расстояния d и число строк кодовых битов с весом d, примерное значение вероятности Pb битовой ошибки, когда схемой модуляции является двухкратная фазовая манипуляция (2-ФМн), и каналом является канал с аддитивным гауссовым шумом, может вычисляться по следующему выражению:
[Выражение 18]
Figure 00000019
Здесь d представляет минимальное расстояние (d=2R+1), Ad представляет число строк кодовых битов с весом d, N представляет длину строки кодовых битов, и γ представляет скорость кодирования (γ=K/N). Далее, Eb/No представляет отношение сигнал-шум (ОСШ) на бит в канале с аддитивным гауссовым шумом, и Q представляет гауссову Q функцию, которая может быть выражена следующим выражением:
[Выражение 19]
Figure 00000020
Соответствующей подстановкой (2R+1) и (2S+1)(2S-2S-R) вместо N и d и (2S+1)(2S-2S-R) вместо Ad в выражении (18) может быть вычислено примерное значение вероятности Pb битовой ошибки. Эта аппроксимация очень точная в области зоны насыщения, и она эффективна для оценки характеристики области зоны насыщения, когда занимает слишком много времени выполнение экспериментальной оценки, используя моделирование на компьютере, или когда количество вычислений слишком большое для их выполнения.
Увеличение минимального расстояния d является эффективным для улучшения вероятности ошибки, используя выражение (18), и получения большего выигрыша от кодирования. Имеются многочлены в количестве m, которые не равны нулю, из числа многочленов ψ (k)(x) (k=0, 1, …, (2S-1)/(2R-1)-1), указанных выражением (15). Вместо использования всех m многочленов, как описано, можно увеличить минимальное расстояние примерно до (2R+1) посредством использования только частей многочленов. Этот способ описывается ниже.
m' многочленов выбираются из m многочленов ψ (k)(x) (где k представляет целые числа от 0 до (2S-1)/(2R-1)-1) включительно, которые не равны нулю. После того как они будут надлежащим образом упорядочены, предположим, что они представлены как f(1)(x), f(2)(x), …, f(m')(x). В этом случае многочлен ψ (k)(x) и многочлен ψ (r(k)(x) не должен выбираться вместе одновременно. Здесь r(k) представляет остаток, когда (2xk) делится на (2S-1)/(2R-1).
Эти m' многочленов f(1)(x), f(2)(x), …, f(m')(x) удовлетворяют вышеупомянутым условиям [выражения (8) и (9)], и длина N строки кодовых битов в устройстве кодирования настоящего изобретения, составленной многочленами, выбранными так, как описано, составляет N=nm'. Минимальное расстояние равно или меньше, чем 2R+1, и число строк кодовых битов с весом 2R+1 равно, по меньшей мере, значению, полученному умножением биномиального коэффициента m' и 2 на n. Значение, полученное подстановкой нижней границы строк кодовых битов с этим весом 2R+1 в выражение (18), может обеспечивать очень хорошую аппроксимацию характеристик частоты появления ошибок, когда вероятность ошибки относительно низка (когда отношение сигнал-шум канала относительно высокое). Используя этот способ, скорость кодирования становится более низкой по сравнению со случаем, когда используются все m многочленов, однако, взамен улучшаются характеристики ошибок.
Настоящий пример дополнительно описывается с использованием приведенных в качестве примера конкретных значений. В настоящем примере, описанном выше, заявители предполагают S=6 и R=3. В этом случае n=455 и m=8. Далее, многочлены ψ (k)(x) выражения (15) (где k представляет целые числа от 0 до 8 включительно) могут быть выражены следующим образом.
[Выражение 20]
Figure 00000021
Далее, ψ (0)(x)=0 и g(x) представляет фактор-многочлен, когда ψ (3)(x) делится на ψ (1)(x), используя (x455-1) в качестве делителя.
Когда восемь многочленов f(1)(x), f(2)(x), …, f(8)(x) представляются посредством f(k)(x)=ψ (k)(x) (где k=1, 2, …, 8), эти восемь многочленов удовлетворяют вышеупомянутым условиям [выражения (8) и (9)]. В этом случае длина N строки кодовых битов равна 3640 битов; длина K строки информационных битов равна 3288 битов; скорость кодирования γ равна примерно 0,9; минимальное расстояние равно 9; и число А9 строк кодовых битов с весом 9 равно или больше 3640.
Подставив эти значения в выражение (18) и вычислив вероятность ошибки, может быть обнаружен тот факт, что отношение сигнал-шум на бит, необходимое для достижения вероятности битовой ошибки 10-12 после декодирования, составляет примерно 5 децибел. Это может достигаться посредством использования способа итеративного декодирования.
Также легко может быть вычислено отношение сигнал-шум, необходимое для достижения еще меньшей частоты появления битовой ошибки, используя способ итеративного декодирования. Далее, в сравнении со случаем, когда этот код кодируется с использованием кода Рида-Соломона с этой же скоростью кодирования и декодируется с использованием обычного способа декодирования с ограниченным расстоянием, может быть получен выигрыш от кодирования 2,0 децибела (дБ) или более, когда вероятность битовой ошибки после декодирования составляет 10-6.
Когда четыре многочлена из восьми многочленов ψ (1)(x), ψ (2)(x), …, ψ (8)(x) используются и представляются как f(1)(x)= ψ (1)(x), f(2)(x)=ψ (4)(x), f(3)(x)=ψ (7)(x), f(4)(x)=ψ (3)(x), эти четыре многочлена также удовлетворяют вышеупомянутым условиям [выражения (8) и (9)]. В этом случае длина N строки кодовых битов равна 1820 битов; длина K строки информационных битов равна 1468 битов; скорость кодирования γ равна примерно 0,8; минимальное расстояние равно 16 или менее; и число А16 строк кодовых битов с весом 16 равно 2730 или больше.
Подставив эти значения в выражение (18) и вычислив вероятность ошибки, может быть обнаружен тот факт, что отношение сигнал-шум на бит, необходимое для достижения вероятности битовой ошибки 10-12 после декодирования, равно примерно 4,4 децибела, и это может быть достигнуто использованием способа итеративного декодирования. Также легко может быть вычислено отношение сигнал-шум, необходимое для достижения даже меньших частот появления битовых ошибок, используя способ итеративного декодирования. Далее, по сравнению со случаем, когда этот код кодируется с использованием кода Рида-Соломона с такой же скоростью кодирования и декодируется с использованием обычного способа декодирования с ограниченным расстоянием, может быть получен выигрыш от кодирования 2,0 децибела (дБ) или более, когда вероятность битовой ошибки после декодирования составляет 10-6.
Фиг.6 представляет собой блок-схему последовательности операций, изображающую способ вычисления многочленов согласно другому примеру настоящего изобретения. На фиг.6 k представляет неотрицательное целое число, и Т представляет множество многочлена (многочленов) порядка (порядков) не более чем (n-1) (где n представляет целое число, равное или большее двух). Далее, p представляет степени двух, такие как 2 и 4. В начальном состоянии k=0; T представляет собой пустое множество; и многочлены порядка (порядков) не более чем (n-1) f(x) выбираются случайным образом.
Когда эти многочлены удовлетворяют вышеупомянутому условию [выражение (8)] (в выражении (8) m равно 1, и f(1)(x) равно f(x)), f(x) добавляется к элементам множества Т, и значение k увеличивается на единицу. При k-ой итеративной обработке на фиг.6 (где k представляет целое число, равное или большее двух), когда следующий многочлен (выражение (21)), вычисленный из множества многочленов Т, и многочлены f(x), описанные выше, удовлетворяют вышеупомянутому условию [выражение (8)] (m в выражении (8) равно k), f(k)(x) добавляется к элементам множества Т, и значение k увеличивается на единицу.
[Выражение 21]
Figure 00000022
Как только количество многочленов, включенных в множество многочленов Т, достигает предварительно определенного количества m (где m представляет целое число, равное или большее двух), Т выводится и обработка завершается (этапы S11-S17 на фиг.6).
На фиг.6, как описано выше, посредством многочленов f(x), которые выбираются случайным образом в начальном состоянии, может быть получено следующее выражение:
[Выражение 22]
Figure 00000023
Тогда выход Т блок-схемы последовательности операций по фиг.6 равен T={f(1)(x), f(2)(x), …, f(m)(x)}, и они удовлетворяют вышеупомянутым условиям [выражения (8) и (9)]. Далее, когда количество членов, которые не равны нулю в многочленах f(x), выбранных в начальном состоянии, представлено посредством w, каждый из многочленов, включенных в Т, имеет w членов, которые не равны нулю.
Длина N строки кодовых битов в устройстве кодирования с исправлением ошибок согласно настоящему примеру, составленному m многочленами f(1)(x), f(2)(x), …, f(m)(x), которые представляют собой выход блок-схемы последовательности операций на фиг.6, равна N=nm, и длина K строки информационных битов составляет по меньшей мере n(m-1). Говоря точнее, как описано выше, это, фактически, представляет собой количество битов, полученное посредством добавления номера порядка наибольшего общего многочлена f(1)(x) и (xn-1) к n(m-1).
Когда p равно 2, минимальное расстояние d равно d=w+1, и число Ad строк кодовых битов с весом d составляет по меньшей мере n(m-1). В большинстве случаев значение, полученное заменой нижней границы числа строк кодовых битов на этот минимальный вес в выражении (18), может обеспечить очень хорошую аппроксимацию характеристик частоты появления ошибок, когда вероятность ошибок относительно низкая (когда отношение сигнал-шум канала относительно высокое).
Далее, когда p не равно 2, число строк кодовых битов с весом 2w представляет собой, по меньшей мере, значение, полученное умножением биномиального коэффициента m и 2 на n, и в большинстве случаев значение, полученное заменой нижней границы числа строк кодовых битов на этот минимальный вес 2w в выражении (18), может обеспечивать очень хорошую аппроксимацию характеристик частоты появления ошибок, когда вероятность ошибок относительно низкая (когда отношение сигнал-шум канала относительно высокое).
Ниже дополнительно описывается настоящий пример с использованием конкретных значений в качестве примера. Когда n=255, m=4 и p=4 в настоящем примере, посредством f5(x), выраженного ниже,
[Выражение 23]
Figure 00000024
может быть получено следующее выражение:
[Выражение 24]
Figure 00000025
Тогда, в качестве выхода обработки, описанной на фиг.6, например, может быть получено Т={f(1)(x), f(2)(x), f(3)(x), f(4)(x)}.
Эти многочлены удовлетворяют вышеупомянутым условиям [выражения (8) и (9)]. В этом случае длина N строки кодовых битов равна 1020 битов; количество K информационных битов равно 769 битов; скорость кодирования равна примерно 0,754; минимальное расстояние равно 10 или меньше; и число A10 строк кода с весом 10 равно 1530 или более.
Посредством подстановки их в выражение (18) и вычисления вероятности ошибок может быть обнаружен тот факт, что отношение сигнал-шум на бит, необходимое для достижения вероятности битовой ошибки 10-12 после декодирования, составляет примерно 5,6 децибел, и оно может достигаться использованием способа итеративного декодирования. Также легко может быть вычислено отношение сигнал-шум, необходимое для достижения даже меньшей частоты появления битовой ошибки, с использованием способа итеративного декодирования.
Затем посредством f7(x) в выражении (23) может быть получено следующее выражение:
[Выражение 25]
Figure 00000026
Тогда, в качестве выхода обработки, изображенной на фиг.6, может быть получено Т={f(1)(x), f(2)(x), f(3)(x), f(4)(x)} как в случае с f(5)(x), описанном выше. Эти многочлены удовлетворяют вышеупомянутым условиям [выражения (8) и (9)]. В этом случае длина N строки кодовых битов, количество K информационных битов и скорость кодирования равны 1020, 769 и 0,754, соответственно, точно такие же как в случае с f(5)(x), описанном выше, за исключением того, что минимальное расстояние другое: 14 или менее. Далее, число А14 строк кода с весом 14 равно 1530 или более.
В результате подстановки их в выражение (18) и вычисления вероятности ошибки может быть обнаружен тот факт, что отношение сигнал-шум на бит, необходимое для достижения вероятности битовой ошибки 10-12 после декодирования, равно примерно 5,0 децибел, и оно может достигаться использованием способа итеративного декодирования. Также легко может быть вычислено отношение сигнал-шум, необходимое для достижения даже меньшей частоты появления битовой ошибки, с использованием способа итеративного декодирования.
Когда вероятность битовой ошибки после декодирования составляет 10-12, в сравнении с устройством, составленным посредством f5(x), описанного выше, может ожидаться увеличение выигрыша от кодирования на 0,6 децибел. С другой стороны, когда вероятность битовой ошибки после декодирования составляет 10-6 в сравнении с устройством, составленным посредством f5(x), выигрыш от кодирования уменьшается на 0,4 децибела. В этом случае конструкция устройства кодирования с исправлением ошибок должна выбираться в соответствии с требованиями на систему связи, и посредством выбора многочленов устройство кодирования с исправлением ошибок согласно настоящему изобретению способно удовлетворять широкому диапазону требований.
Промышленная применимость
Настоящее изобретение может быть применено к технологии исправления ошибок для удовлетворения требований, относящихся к конструкции системы, таких как снижение потребляемой мощности и размера антенн в системах спутниковой связи и мобильной телекоммуникации, или к технологии исправления ошибок для повышения надежности запоминающих устройств, таких как магнитные запоминающие устройства.

Claims (5)

1. Устройство кодирования с исправлением ошибок, использующее код с низкой плотностью проверок на четность, отличающееся тем, что содержит:
переключатель для переключения первого блока, имеющего длину n(m-1) (где n и m представляют целые числа, равные или большие двух), где первый блок разделен на (m-1) блоков строк битов, имеющих длину n, и второго блока, имеющего длину n-r строки информационных битов (где r представляет целое число от 1 до n включительно);
узел последовательно-параллельного преобразователя для преобразования первого блока в (m-1) битов, где каждый бит из преобразованных (m-1) битов последовательно передается в (m-1) узлов умножения многочленов (n-1)-го порядка; (m-1) узлов умножения многочленов, которые принимают первый блок, выполняют умножение многочленов и выводят, соответственно, серию битов, имеющую длину n;
узел сумматора, который добавляет каждый выход упомянутых (m-1) узлов умножения многочленов; узел деления многочленов, который выполняет деление многочленов выходного результата упомянутого узла сумматора и упомянутого второго блока, имеющего длину (n-r), и выводит серию избыточных битов, имеющую длину r;
переключатель для переключения таким образом, что становится активным выход узла деления многочленов, и выводится r-битовый выход узла деления многочленов;
причем упомянутый узел деления многочленов и упомянутые узлы умножения многочленов включают в себя схему, в которой регистры и схемы Исключающее-ИЛИ, подсоединенные к выходам упомянутых регистров, подсоединены последовательным образом во множестве каскадов; и
выходная логика упомянутых схем Исключающее-ИЛИ устанавливается коммутационным соединением, определяемым в соответствии с предварительно определенной операцией многочленов, так что выходная логика упомянутых схем Исключающее-ИЛИ является не инвертированной или инвертированной.
2. Устройство кодирования с исправлением ошибок по п.1, в котором коммутационный многочлен, который задает коммутационное соединение в упомянутом узле деления многочленов, представляет собой минимальный многочлен из числа многочленов, определенных множеством элементов, значения которых совпадают друг с другом при возведении в m-ю степень, и проекции которых на конечное поле из 2S элементов представляют собой значение, отличное от нуля, и совпадают друг с другом в подмножестве конечного поля из 22S (где S представляет положительное целое число) элементов, и фактор-многочлен, когда многочлен, определенный подмножеством другого конечного поля, делится на упомянутый минимальный многочлен, представляет собой многочлен коммутационного соединения, который задает коммутационное соединение в упомянутых узлах умножения многочленов.
3. Устройство кодирования с исправлением ошибок по п.1, в котором коммутационные многочлены, которые задают коммутационное соединение в упомянутом узле деления многочленов, выбираются случайным образом, и каждый из (m-1) коммутационных многочленов, которые задают коммутационное соединение в упомянутых (m-1) узлах умножения многочленов, определяется степенью упомянутых многочленов, выбранных случайным образом, которые отличны друг от друга.
4. Способ кодирования с исправлением ошибок, использующий код с низкой плотностью проверок на четность, отличающийся тем, что содержит этапы, на которых:
переключают, посредством переключателя, первый блок, имеющий длину n(m-1) (где n и m представляют целые числа, равные или большие двух), где первый блок разделен на (m-1) блоков строк битов, имеющих длину n, и второй блок, имеющий длину n-r строки информационных битов (где r представляет целое число от 1 до n включительно);
в узле последовательно-параллельного преобразователя, преобразовывают первый блок в (m-1) битов, где каждый бит из преобразованных (m-1) битов последовательно передается в (m-1) узлов умножения многочленов (n-1)-го порядка;
в (m-1) узлах умножения многочленов принимают первый блок и выполняют умножения многочленов и, соответственно, вывод серии битов, имеющей длину n;
в узле сумматора добавление каждого выхода упомянутых (m-1) узлов умножения многочленов;
в узле деления многочленов выполнение деления многочленов выходного результата упомянутого узла сумматора и упомянутого второго блока, имеющего длину (n-r), и вывод серии избыточных битов, имеющей длину r;
переключают, посредством переключателя, таким образом, что становится активным выход узла деления многочленов, и выводится r-битовый выход узла деления многочленов;
причем коммутационный многочлен, который задает коммутационное соединение в упомянутом узле деления многочленов, представляет собой минимальный многочлен из числа многочленов, определенных множеством элементов, значения которых совпадают друг с другом при возведении в m-ю степень, и проекции которых на конечное поле из 2S элементов представляют собой значение, отличное от нуля, и совпадают друг с другом в подмножестве конечного поля из 22S (где S представляет положительное целое число) элементов, и фактор-многочлен, когда многочлен, определенный подмножеством другого конечного поля, делится на упомянутый минимальный многочлен, представляет собой коммутационный многочлен, который задает коммутационное соединение в упомянутых узлах умножения многочленов.
5. Способ кодирования с исправлением ошибок по п.4, в котором коммутационные многочлены, которые задают коммутационное соединение в упомянутом узле деления многочленов, выбираются случайным образом, и каждый из (m-1) коммутационных многочленов, которые задают коммутационное соединение в упомянутых (m-1) узлах умножения многочленов, определяется степенями упомянутых многочленов, выбранных случайным образом, которые отличны друг от друга.
RU2007126849/09A 2004-12-15 2005-11-29 Устройство кодирования с исправлением ошибок и способ кодирования с исправлением ошибок, используемый в нем RU2373641C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004362135 2004-12-15
JP2004-362135 2004-12-15

Publications (2)

Publication Number Publication Date
RU2007126849A RU2007126849A (ru) 2009-01-27
RU2373641C2 true RU2373641C2 (ru) 2009-11-20

Family

ID=36587718

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2007126849/09A RU2373641C2 (ru) 2004-12-15 2005-11-29 Устройство кодирования с исправлением ошибок и способ кодирования с исправлением ошибок, используемый в нем

Country Status (7)

Country Link
US (1) US7979780B2 (ru)
EP (1) EP1841075A4 (ru)
JP (1) JP4821613B2 (ru)
CN (1) CN101080874B (ru)
DE (1) DE05811730T1 (ru)
RU (1) RU2373641C2 (ru)
WO (1) WO2006064659A1 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2639661C1 (ru) * 2016-09-02 2017-12-21 Акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" Способ умножения и деления элементов конечных полей
RU2747089C2 (ru) * 2016-08-11 2021-04-26 Зебваре Аб Устройство и соответствующая методология для кодирования и декодирования данных для кода затирания

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101019168B1 (ko) * 2002-12-06 2011-03-04 톰슨 라이센싱 원격 튜닝 및 클록 동기화하기 위한 방법 및 시스템
RU2408979C2 (ru) * 2006-05-12 2011-01-10 Нек Корпорейшн Способ и устройство кодирования с исправлением ошибок
JP4317860B2 (ja) * 2006-08-30 2009-08-19 株式会社日立コミュニケーションテクノロジー 光集線装置および光加入者装置
KR100833515B1 (ko) * 2006-12-05 2008-05-29 한국전자통신연구원 가변 정보 길이 및 가변 부호율을 가진 ldpc 부호의패리티 검사 행렬 생성 방법, 부/복호화 방법 및 이를이용하는 장치
US8745471B2 (en) 2007-09-28 2014-06-03 Panasonic Corporation Low-density parity-check convolutional code (LDPC-CC) encoding method, encoder and decoder
US8266507B2 (en) * 2007-11-16 2012-09-11 Samsung Electronics Co., Ltd. Data processing apparatus for operating lens correction and method for compressing and restoring lookup table values
BRPI0908963A2 (pt) * 2008-03-28 2015-07-28 Thomson Licensing Aparelho e método decodificação de sinais
US8370711B2 (en) 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
CN101582739A (zh) * 2008-06-27 2009-11-18 北京新岸线移动多媒体技术有限公司 数字广播信号的发送装置、发送方法和发送系统
JP4935778B2 (ja) * 2008-08-27 2012-05-23 富士通株式会社 符号化装置、送信装置および符号化方法
JP2010073137A (ja) * 2008-09-22 2010-04-02 Nec Electronics Corp 半導体集積回路設計方法及び設計プログラム
US9122563B2 (en) * 2009-02-03 2015-09-01 Microsoft Technology Licensing, Llc Computing minimal polynomials
CN102541675B (zh) * 2010-12-23 2015-03-11 慧荣科技股份有限公司 提升错误更正能力的方法、记忆装置及其控制器
US8713398B2 (en) * 2011-03-22 2014-04-29 Nec Corporation Error correct coding device, error correct coding method, and error correct coding program
US9190856B2 (en) * 2013-02-15 2015-11-17 GM Global Technology Operations LLC Systems and methods for charging multiple vehicle rechargeable energy storage systems
CN112328962B (zh) * 2020-11-27 2021-12-31 深圳致星科技有限公司 矩阵运算优化方法、装置、设备和可读存储介质
CN116757158B (zh) * 2023-08-11 2024-01-23 深圳致赢科技有限公司 基于半导体存储的数据管理方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63107319A (ja) * 1986-10-24 1988-05-12 Ricoh Co Ltd 拡張ガロア体上の多項式除算回路
FR2675971B1 (fr) 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
US5768296A (en) * 1994-07-01 1998-06-16 Quantum Corporation ECC system supporting different-length Reed-Solomon codes whose generator polynomials have common roots
KR19990003242A (ko) * 1997-06-25 1999-01-15 윤종용 구조적 펀처드 길쌈부호 부호와 및 복호기
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
JP4045872B2 (ja) 2001-07-18 2008-02-13 ソニー株式会社 符号化方法および符号化装置
US6766345B2 (en) * 2001-11-30 2004-07-20 Analog Devices, Inc. Galois field multiplier system
US7028247B2 (en) * 2002-12-25 2006-04-11 Faraday Technology Corp. Error correction code circuit with reduced hardware complexity
US7155656B1 (en) * 2003-05-01 2006-12-26 Hellosoft Inc. Method and system for decoding of binary shortened cyclic code

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2747089C2 (ru) * 2016-08-11 2021-04-26 Зебваре Аб Устройство и соответствующая методология для кодирования и декодирования данных для кода затирания
RU2639661C1 (ru) * 2016-09-02 2017-12-21 Акционерное общество "Калужский научно-исследовательский институт телемеханических устройств" Способ умножения и деления элементов конечных полей

Also Published As

Publication number Publication date
US20070300135A1 (en) 2007-12-27
US7979780B2 (en) 2011-07-12
EP1841075A4 (en) 2009-01-07
RU2007126849A (ru) 2009-01-27
DE05811730T1 (de) 2008-05-29
EP1841075A1 (en) 2007-10-03
JP4821613B2 (ja) 2011-11-24
JPWO2006064659A1 (ja) 2008-06-12
CN101080874A (zh) 2007-11-28
CN101080874B (zh) 2012-11-14
WO2006064659A1 (ja) 2006-06-22

Similar Documents

Publication Publication Date Title
RU2373641C2 (ru) Устройство кодирования с исправлением ошибок и способ кодирования с исправлением ошибок, используемый в нем
KR101405962B1 (ko) Ldpc 코드를 이용한 복호화 방법
EP2176758B1 (en) Generation of parity-check matrices
US7962828B2 (en) Apparatus and method for coding/decoding block low density parity check code in a mobile communication system
US6785863B2 (en) Method and apparatus for generating parity-check bits from a symbol set
EP1829223B1 (en) Parallel, layered decoding for Low-Density Parity-Check (LDPC) codes
US7657816B2 (en) Low-complexity hybrid LDPC code encoder
US7395494B2 (en) Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
US8108760B2 (en) Decoding of linear codes with parity check matrix
RU2408979C2 (ru) Способ и устройство кодирования с исправлением ошибок
JP4519694B2 (ja) Ldpc符号検出装置及びldpc符号検出方法
US8166363B2 (en) Decoding device and method
KR101211433B1 (ko) 낮은 복잡도를 가지는 고속의 qc-ldpc 부호의 부호화 장치 및 방법
KR100861674B1 (ko) 송신기 및 수신기를 동작시키는 방법, 및 데이터를 엔코딩 및 디코딩하는 장치
Lee et al. A flexible hardware encoder for low-density parity-check codes
JP4917023B2 (ja) 誤り訂正符号化装置
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
Khodaiemehr et al. Construction and encoding of QC-LDPC codes using group rings
Lou et al. Channel Coding
Mahdi et al. An encoding scheme and encoder architecture for rate-compatible QC-LDPC codes
Urman et al. Efficient maximum likelihood decoding of polar codes over the binary erasure channel
EP2951926B1 (en) Ldpc code design and encoding apparatus for their application
Zhang et al. Low-complexity transformed encoder architectures for quasi-cyclic nonbinary LDPC codes over subfields
Khan et al. A real time programmable encoder for low density parity check code as specified in the IEEE P802. 16E/D7 standard and its efficient implementation on a DSP processor
Schindelhauer et al. Cyclone codes