RU2316111C2 - Устройство и способ кодирования-декодирования блоковых кодов низкой плотности с контролем на четность в системе мобильной связи - Google Patents

Устройство и способ кодирования-декодирования блоковых кодов низкой плотности с контролем на четность в системе мобильной связи Download PDF

Info

Publication number
RU2316111C2
RU2316111C2 RU2006109470/09A RU2006109470A RU2316111C2 RU 2316111 C2 RU2316111 C2 RU 2316111C2 RU 2006109470/09 A RU2006109470/09 A RU 2006109470/09A RU 2006109470 A RU2006109470 A RU 2006109470A RU 2316111 C2 RU2316111 C2 RU 2316111C2
Authority
RU
Russia
Prior art keywords
matrix
blocks
partial
block
parity check
Prior art date
Application number
RU2006109470/09A
Other languages
English (en)
Other versions
RU2006109470A (ru
Inventor
Гиу-Бум КИУНГ
Хонг-Сил ДЗЕОНГ
Дзае-Йоел КИМ
Санг-Еун ПАРК
Киеонг-Чеол ЯНГ
Се-Хо МИУНГ
Original Assignee
Самсунг Электроникс Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Publication of RU2006109470A publication Critical patent/RU2006109470A/ru
Application granted granted Critical
Publication of RU2316111C2 publication Critical patent/RU2316111C2/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
    • 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
    • H03M13/1162Array based LDPC codes, e.g. array 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/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/1105Decoding
    • 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
    • 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
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • 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
    • 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/1151Algebraically constructed LDPC codes, e.g. LDPC codes derived from Euclidean geometries [EG-LDPC 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/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/1171Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC 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/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/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes

Landscapes

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

Abstract

Изобретение относится к системам мобильной связи, в частности к устройству и способу кодирования-декодирования блоковых кодов низкой плотности с проверкой на четность (НППЧ). Техническим результатом является повышение надежности передачи данных и улучшение исправляющей способности кода НППЧ, достигаемый за счет того, что способ включает в себя шаги, при которых определяют размер матрицы проверки на четность на основании скорости кодирования при кодировании информации блоковым кодом НППЧ и длины кодового слова; разделяют матрицу проверки на четность определенного размера на заранее заданное число блоков; классифицируют блоки на блоки, соответствующие информационной части; размещают матрицы перестановок в заранее заданных блоках среди блоков, классифицированных как первая проверочная часть, и размещают единичные матрицы в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как вторая проверочная часть; и размещают матрицы перестановок в блоках, классифицированных как информационная часть, так что минимальная длина цикла максимизируется и весовые значения являются нерегулярными на графе коэффициентов блокового кода НППЧ. 7 н. и 32 з.п. ф-лы, 20 ил.

Description

Область изобретения
Настоящее изобретение относится в общем к системам мобильной связи, а в частности к устройству и способу кодирования-декодирования блоковых кодов низкой плотности с проверкой на четность (НППЧ) (LDPC).
Уровень техники
С введением сотовой системы мобильной связи в Соединенных Штатах в конце 1970-х годов Южная Корея начала предоставлять услугу речевой связи в системе усовершенствованной услуги мобильного телефона (УУМТ) (AMPS) - аналоговой системе мобильной связи первого поколения (1G). В середине 1990-х годов Южная Корея коммерциализировала систему множественного доступа с кодовым разделением каналов (МДКР) (CDMA) - систему мобильной связи второго поколения (2G), чтобы предоставлять речевую услугу и услугу низкоскоростной передачи данных.
В конце 1990-х годов Южная Корея частично развернула международную мобильную телекоммуникационную систему IMT-2000 - систему мобильной связи третьего поколения (3G), нацеленную на усовершенствованные беспроводные мультимедийные услуги, глобальный роуминг и услугу высокоскоростной передачи данных. Эта система мобильной связи третьего поколения специально разрабатывалась для передачи данных с высокой скоростью согласно быстрому возрастанию в объемах обслуживаемых данных. То есть система мобильной связи третьего поколения превратилась в систему связи с услугой пакетной передачи, и эта система связи с услугой пакетной передачи передает пакеты данных ко множеству мобильных станций и сконструирована для передачи массовых данных. Система связи с услугой пакетной передачи разрабатывается для услуги высокоскоростной пакетной передачи.
Система мобильной связи третьего поколения развивается в систему мобильной связи четвертого поколения (4G). Система мобильной связи четвертого поколения находится в процессе стандартизации для стандартизации взаимодействия и интеграции между сетью проводной связи и сетью беспроводной связи вне простой услуги беспроводной связи, которую предоставляли предыдущие системы мобильной связи. Для беспроводной сети связи должна разрабатываться технология для передачи больших объемов данных вплоть до уровня пропускной способности, доступного в сети проводной связи.
Т.к. требуется высокоскоростная и с высокой пропускной способностью система связи, способная обрабатывать и передавать такие данные как изображение и радиоданные, а также такие простые как данные услуги речевой связи, необходимо увеличить эффективность передачи системы с помощью подходящей схемы канального кодирования, чтобы улучшить рабочие характеристики системы. Система мобильной связи неизбежно проявляет ошибки вследствие шумов, интерференции и затухания в соответствии с канальными условиями в течение передачи данных. Появление ошибок вызывает потерю информационных данных.
Чтобы снизить потерю информационных данных из-за появления ошибок, можно улучшить надежность системы мобильной связи за счет использования различных методов обнаружения ошибок. Один метод, использующий исправляющий ошибки код, является наиболее популярным методом обнаружения ошибок. Ниже приводится описание турбокода и кода низкой плотности с проверкой на четность (НППЧ), которые являются типичными обнаруживающими ошибки кодами.
Турбокод
Турбокод представляет собой обнаруживающий ошибки код, используемый как в синхронной системе мобильной связи третьего поколения, так и в асинхронной системе мобильной связи третьего поколения. Общеизвестно, что при высокоскоростной передаче данных турбокод превосходит по выигрышу в рабочих характеристиках сверточный код, ранее использовавшийся в качестве основного исправляющего ошибки кода. Помимо этого, турбокод является выгодным в том, что он может эффективно исправлять ошибку, вызванную шумами, генерируемыми в канале связи, тем самым увеличивая надежность передачи данных.
Код НППЧ
Код НППЧ может быть декодирован с помощью алгоритма итеративного декодирования на основании алгоритма суммирования-перемножения графа коэффициентов. Вследствие того, что декодер кода НППЧ использует основанный на алгоритме суммирования-перемножения алгоритм итеративного декодирования, он является менее сложным, чем декодер для турбокода. Помимо этого декодер для кода НППЧ легко воплотить с помощью декодера параллельной обработки в сравнении с декодером для турбокода. Когда код НППЧ выражается через граф коэффициентов, на графе коэффициентов кода НППЧ имеются циклы. Общеизвестно, что итеративное декодирование на графе коэффициентов кода НППЧ, где имеются циклы, является менее чем оптимизированным (субоптимальным). Кроме того, экспериментально доказано, что код НППЧ имеет превосходные рабочие характеристики при итеративном декодировании. Однако, когда на графе коэффициентов кода НППЧ имеется много циклов короткой длины, код НППЧ страдает от ухудшения рабочих характеристик. Поэтому постоянно проводятся исследования для разработки метода конструирования такого кода НППЧ, чтобы на графе коэффициентов кода НППЧ не имелось циклов короткой длины.
Процесс кодирования кода НППЧ превращается в процесс кодирования, который использует матрицу проверки на четность, имеющую низкую плотность весов вследствие характеристики порождающей матрицы, обычно имеющей высокую плотность весов. «Вес» представляет элемент с ненулевым значением среди элементов, составляющих порождающую матрицу и матрицу проверки на четность. В частности, если частичная матрица, соответствующая проверке на четность в матрице проверки на четность, имеет регулярный формат, возможно более эффективное кодирование.
Поскольку код НППЧ включает в себя различные коды с ненулевым значением, очень важно разработать алгоритм эффективного кодирования и алгоритм эффективного декодирования для различных типов кодов НППЧ, чтобы ввести код НППЧ в практическое использование. Помимо этого, поскольку матрица проверки на четность кода НППЧ определяет рабочие характеристики кода НППЧ, очень важно сконструировать матрицу проверки на четность с превосходными рабочими характеристиками. То есть, эффективная матрица проверки на четность с превосходными рабочими характеристиками, алгоритм эффективного кодирования и алгоритм эффективного декодирования должны учитываться одновременно, чтобы выработать высокопроизводительный код НППЧ.
Один код НППЧ определяется матрицей проверки на четность, в которой главные элементы имеют значение 0, а минорные элементы за исключением элементов, имеющих значение 0, имеют значение 1. Например, код НППЧ (N, j, k) является линейным блоковым кодом, имеющим блоковую длину N, и определяется неплотной матрицей проверки на четность, в которой каждый столбец имеет j элементов со значением 1, каждая строка имеет k элементов со значением 1, и все элементы, за исключением элементов, имеющих значение 1, имеют значение 0.
Код НППЧ, в котором весовое значение каждого столбца в матрице проверки на четность фиксируется на «j», а весовое значение каждой строки в матрице проверки на четность фиксируется на «k», как изложено выше, называется «регулярным кодом НППЧ». Здесь весовое значение представляет число весов. В отличие от регулярного кода НППЧ, код НППЧ, в котором весовое значение каждого столбца в матрице проверки на четность и весовое значение каждой строки в матрице проверки на четность не фиксируются, называется «нерегулярным кодом НППЧ». Общеизвестно, что нерегулярный код НППЧ лучше по рабочим характеристикам, чем регулярный код НППЧ. Однако в случае нерегулярного кода НППЧ из-за того, что весовое значение каждого столбца и весовое значение каждой строки в матрице проверки на четность не фиксируются, т.е. являются нерегулярными, весовое значение каждого столбца в матрице проверки на четность и весовое значение каждой строки в матрице проверки на четность должны соответственно регулироваться, чтобы гарантировать превосходные рабочие характеристики.
Теперь, со ссылкой на фиг.1, будет описана матрица проверки на четность кода НППЧ (8, 2, 4) в качестве примера кода НППЧ (N, j, k).
Фиг.1 является схемой, иллюстрирующей матрицу проверки на четность обычного кода НППЧ (8, 2, 4). На фиг.1 матрица Н проверки на четность кода НППЧ (8, 2, 4) состоит из 8 столбцов и 4 строк, причем весовое значение каждого столбца фиксируется на 2, а весовое значение каждой строки фиксируется на 4. Из-за того, что весовое значение каждого столбца и весовое значение каждой строки в матрице проверки на четность являются регулярными, как изложено выше, код НППЧ (8, 2, 4), показанный на фиг.1, становится регулярным кодом НППЧ.
Граф коэффициентов кода НППЧ (8, 2, 4), описанного в связи с фиг.1, будет теперь описан ниже со ссылкой на фиг.2.
Фиг.2 представляет собой схему, иллюстрирующую граф коэффициентов кода НППЧ (8, 2, 4) по фиг.1. На фиг.2 граф коэффициентов кода НППЧ (8, 2, 4) состоит из 8 узлов переменных х1 211, х2 213, х3 215, х4 217, х5 219, х6 221, х7 223 и х8 225, и 4 проверочных узлов 227, 229, 231 и 233. Когда элемент с весом, т.е. со значением 1, существует в точке, где i-я строка и j-й столбец матрицы проверки на четность кода НППЧ (8, 2, 4) пересекаются друг с другом, образуется ветвь между узлом xj и i-м проверочным узлом.
Поскольку матрица проверки на четность кода НППЧ имеет малое весовое значение, как описывается выше, возможно выполнить декодирование посредством процесса итеративного декодирования, даже в блоковом коде с относительно большой длиной, который проявляет производительность, приближающуюся к пределу пропускной способности шенноновского канала, такую как турбокод, при непрерывном повышении блоковой длины блокового кода. Доказано, что процесс итеративного декодирования кода НППЧ с помощью метода переноса потока является почти полным приближением к процессу итеративного декодирования турбокода по производительности.
Чтобы генерировать высокопроизводительный код НППЧ, должны удовлетворяться следующие условия.
(1) Следует учитывать циклы на графе коэффициентов кода НППЧ
«Цикл» относится к петле, образованной гранями, соединяющими узлы переменных с проверочными узлами на графе коэффициентов кода НППЧ, а длина цикла определяется как число граней, составляющих петлю. Цикл, имеющий большую длину, означает, что число граней, соединяющих узлы переменных с проверочными узлами и составляющих петлю на графе коэффициентов кода НППЧ, велико. В противоположность этому, цикл, имеющий малую длину, означает, что число граней, соединяющих узлы переменных с проверочными узлами и составляющих петлю на графе коэффициентов кода НППЧ, мало.
По мере того, как циклы на графе коэффициентов кода НППЧ становятся длиннее, эффективность рабочих характеристик кода НППЧ возрастает по следующим причинам. То есть, когда на графе коэффициентов кода НППЧ генерируются длинные циклы, возможно предотвратить такое ухудшение рабочих характеристик как нижний предел ошибок, появляющийся, когда слишком много циклов малой длины существуют на графе коэффициентов кода НППЧ.
(2) Следует учитывать эффективное кодирование кода НППЧ
Трудно подвергать код НППЧ кодированию в реальном времени по сравнению со сверточным кодом или турбокодом из-за его высокой сложности кодирования. Чтобы снизить сложность кодирования кода НППЧ, предложен код с повторным накоплением (ПН) (RA). Код ПН также имеет ограничение в снижении сложности кодирования кода НППЧ. Поэтому следует учитывать эффективное кодирование кода НППЧ.
(3) Следует учитывать распределение рангов графа коэффициентов кода НППЧ
Обычно нерегулярный код НППЧ превосходит по рабочим характеристикам регулярный код НППЧ, потому что граф коэффициентов нерегулярного кода НППЧ имеет разные ранги. «Ранг» относится к числу граней, соединенных с узлами переменных и проверочными узлами в графе коэффициентов кода НППЧ. Далее, «распределение рангов» на графе коэффициентов кода НППЧ относится к отношению числа узлов, имеющих конкретный ранг, к общему числу узлов. Доказано, что код НППЧ, имеющий конкретное распределение рангов, является превосходным по рабочим характеристикам.
Фиг.3 представляет собой схему, иллюстрирующую матрицу проверки на четность обычного блокового кода НППЧ. Перед тем, как дать описание фиг.3, следует отметить, что блоковый код НППЧ является новым кодом НППЧ, для которого учитывались не только эффективное кодирование, но также эффективное хранение и улучшение рабочих характеристик матрицы проверки на четность, и что блоковый код НППЧ является кодом НППЧ, расширенным путем обобщения структуры регулярного кода НППЧ. На фиг.3 матрица проверки на четность блокового кода НППЧ разделена на множество частичных блоков, и матрица перестановок отображается в каждый из этих частичных блоков. На фиг.3 «Р» представляет матрицу перестановок размером NS×NS, а верхний индекс (или экспонента) aij матрицы перестановок Р равна либо 0≤aij≤NS-1, либо aij=∞. На фиг.3 р представляет число строк частичных блоков, а q представляет число столбцов частичных блоков. «i» означает, что соответствующая матрица перестановок располагается в i-й строке частичных блоков матрицы проверки на четность, а «j» означает, что соответствующая матрица перестановок располагается в j-м столбце частичных блоков матрицы проверки на четность. То есть,
Figure 00000002
есть матрица перестановок, расположенная в частичном блоке, пересекающемся i-й строкой и j-м столбцом.
Теперь со ссылкой на фиг.4 будет описана матрица перестановок.
Фиг.4 представляет собой схему, иллюстрирующую матрицу перестановок Р по фиг.3. Как показано на фиг.4, матрица перестановок Р является квадратной матрицей размером NS×NS, и каждый из NS столбцов, составляющих матрицу перестановок Р, имеет вес 1, а каждая из NS строк, составляющих матрицу перестановок Р, также имеет вес 1.
На фиг.3 матрица перестановок с верхним индексом aij=0, т.е. матрица Р0 перестановок представляет единичную матрицу
Figure 00000003
, а матрица перестановок с верхним индексом aij=∞, т.е. матрица Р, представляет нулевую матрицу.
В полной матрице проверки на четность блокового кода НППЧ, показанной на фиг.3, вследствие того, что общее число строк составляет NS×p, а общее число столбцов составляет NS×q (для p≤q), когда полная матрица проверки на четность кода НППЧ имеет полный ранг, скорость кодирования может быть выражена как уравнение (1) независимо от размера частичных блоков.
Figure 00000004
(1)
Если aij≠∞ для всех i и j, матрицы перестановок, соответствующие частичным блокам, не являются нулевыми матрицами, и частичные блоки составляют регулярный код НППЧ, в котором весовое значение каждого столбца и весовое значение каждой строки в каждой из матриц перестановок, соответствующих частичным блокам, равны p и q, соответственно. Здесь каждая из матриц перестановок, соответствующих частичным блокам, будет именоваться «частичными матрицами».
Из-за того, что в полной матрице проверки на четность имеется (р-1) зависимых строк, скорость кодирования выше, чем скорость кодирования, вычисленная с помощью уравнения (1). В случае блокового кода НППЧ, если находится весовая позиция первой строки каждой из частичных матриц, составляющих полную матрицу проверки на четность, находятся и весовые позиции остальных (NS-1) строк. Поэтому требуемый размер памяти снижается до 1/NS по сравнению со случаем, где веса выбираются нерегулярно, чтобы хранить информацию во всей полной матрице проверки на четность.
Фиг.5 является схемой, иллюстрирующей матрицу проверки на четность обычного регулярного блокового кода НППЧ. Показанная на фиг.5 матрица проверки на четность представляет собой матрицу проверки на четность кода массива (s, r), т.е. регулярного блокового кода НППЧ. Предложенный код массива (s, r) является типичным регулярным блоковым кодом НППЧ, и этот код массива (s, r) соответствует блоковому коду НППЧ для NS=s и q=s и p=r на фиг.3. Здесь «s» является нечетным простым числом, а «r» всегда удовлетворяет условию r≤s.
Матрица проверки на четность кода массива (s, r) имеет s2 столбцов и r×s строк, а ее ранг становится r×(s-1). Причина, по которой ранг матрицы проверки на четность кода массива (s, r) становится r×(s-1), состоит в том, что в случае, где r частичных матриц в направлении строк матрицы проверки на четность кода массива (s, r), если s строк в каждой из частичных матриц суммируются, генерируется матрица, в которой все элементы имеют значение 1. То есть, из-за того, что генерируются r строк, в которых все элементы имеют значение 1, можно понять, что имеется r зависимых строк. Поэтому скорость Rмассив кодирования кода массива (s, r) можно выразить уравнением (2):
Figure 00000005
(2)
Как описано выше, можно отметить, что в случае кода массива (s, r) в графе коэффициентов не имеется цикла длиной 4 из-за его алгебраической характеристики, и можно также снизить емкость памяти, как изложено выше.
Однако, поскольку код массива (s, r) является регулярным кодом НППЧ, он стоит ниже нерегулярного кода НППЧ в ухудшении рабочих характеристик. Далее, блоковый код НППЧ не может гарантировать превосходных рабочих характеристик, потому что его случайность ниже. То есть, код массива (s, r), хотя учитывалось эффективное кодирование, все же имеет высокую сложность кодирования, и в коде массива (s, r), хотя имеется цикл длиной 4, имеется также цикл длиной 6. Далее, поскольку распределение рангов не учитывается, происходит ухудшение рабочих характеристик.
Фиг.6 является схемой, иллюстрирующей матрицу проверки на четность обычного блокового кода НППЧ. Перед тем, как дается описание фиг.6, следует отметить, что нерегулярный блоковый код НППЧ является блоковым кодом НППЧ, заданным путем модификации кода массива, описанного в связи с фиг.5, при учете эффективного кодирования. В матрице проверки на четность нерегулярного блокового кода НППЧ, показанного на фиг.6, «I» отмечает единичную матрицу размера s×s, а «0» отмечает нулевую матрицу размером s×s. Матрица проверки на четность нерегулярного блокового кода НППЧ, показанная на фиг.6, соответствует матрице проверки на четность блокового кода НППЧ для NS=s, q=k и p=r на фиг.3.
Для эффективного кодирования кода НППЧ кодирование разрешается в линейном времени за счет формирования частичной матрицы, соответствующей проверке на четность полной матрицы проверки на четность как полной нижней треугольной матрицы, как показано на фиг.6. Структура полной матрицы проверки на четность, т.е. структура частичной матрицы, соответствующей информационному слову, и частичной матрицы, соответствующей проверке на четность, будут описаны здесь ниже. Когда частичная матрица, соответствующая проверке на четность, формируется таким путем как полная нижняя треугольная матрица, матрица проверки на четность всегда имеет полный ранг из-за своих структурных характеристик. Поэтому длина блока модифицированного кода массива, т.е. нерегулярного кода НППЧ, становится ks, а скорость R кодирования может быть выражена уравнением (3):
Figure 00000006
(3)
Однако нерегулярный код НППЧ по фиг.6, имеющий матрицу проверки на четность, в которой частичная матрица, соответствующая проверке на четность, имеет форму полной нижней треугольной матрицы, является более эффективным, нежели код массива, но не учитывался ранг распределения на графе коэффициентов, который должен учитываться во время генерирования кода НППЧ, и не учитывалось также удаление циклов короткой длины. Поэтому он имеет более низкую, чем нерегулярный код НППЧ, имеющий случайный характер, исправляющую способность. Соответственно, имеется необходимость в нерегулярном коде НППЧ, который максимизирует исправляющую способность.
Сущность изобретения
Таким образом, цель настоящего изобретения состоит в обеспечении устройства и способа кодирования-декодирования кода НППЧ с максимизированной исправляющей способностью в системе мобильной связи.
Другая цель настоящего изобретения состоит в обеспечении устройства и способа кодирования-декодирования кода НППЧ с максимизированной минимальной длиной цикла в системе мобильной связи.
Еще одна цель настоящего изобретения состоит в обеспечении устройства и способа кодирования-декодирования кода НППЧ с минимизированной сложностью кодирования в системе мобильной связи.
Первым объектом настоящего изобретения является способ генерирования матрицы проверки на четность блокового кода низкой плотности с проверкой на четность (НППЧ), чтобы улучшить исправляющую способность, причем матрица проверки на четность имеет информационную часть, соответствующую информационному слову, и первую проверочную часть, соответствующую проверке на четность, и вторую проверочную часть, соответствующую проверке на четность. Этот способ включает в себя шаги, в которых: находят размер матрицы проверки на четность на основании скорости кодирования, примененной при кодировании информационного слова блоковым кодом НППЧ, и длины кодового слова; разделяют матрицу проверки на четность, имеющую найденный размер, на заранее заданное число блоков; классифицируют блоки на блоки, соответствующие информационной части, блоки, соответствующие первой проверочной части, и блоки, соответствующие второй проверочной части; размещают матрицы перестановки в заранее заданных блоках среди блоков, классифицированных как первая проверочная часть, и размещают единичные матрицы в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как вторая проверочная часть; и размещают матрицы перестановки в блоках, классифицированных как информационная часть, так что минимальная длина цикла максимизируется, а веса являются нерегулярными на графе коэффициентов блокового кода НППЧ.
Вторым объектом настоящего изобретения является способ кодирования блокового кода низкой плотности с проверкой на четность (НППЧ). Этот способ включает в себя следующие шаги: генерируют матрицу проверки на четность, состоящую из информационной части, соответствующей информационному слову, и первой проверочной части и второй проверочной части, каждая из которых соответствует проверке на четность, и определяют метод деперемежения и метод перемежения согласно матрице проверки на четность; находят значения вероятности приема сигнала; генерируют первый сигнал в текущем процессе декодирования путем вычитания сигнала, генерированного в предыдущем процессе декодирования, из значений вероятности принятого сигнала; деперемежают первый сигнал с помощью метода деперемежения; находят значения вероятности путем приема деперемеженного сигнала; генерируют второй сигнал путем вычитания деперемеженного сигнала из значений вероятности деперемеженного сигнала; и перемежают второй сигнал с помощью метода перемежения и итеративно декодируют перемеженный сигнал.
Третьим объектом настоящего изобретения является способ кодирования блокового кода низкой плотности с проверкой на четность (НППЧ). Этот способ включает в себя следующие шаги: генерируют первый сигнал путем перемножения информационного слова на первую частичную матрицу ранее генерированной матрицы проверки на четность, состоящей из информационной части, соответствующей информационному слову, и первой проверочной части и второй проверочной части, каждая из которых соответствует проверке на четность; генерируют второй сигнал путем перемножения информационного слова на вторую частичную матрицу матрицы проверки на четность; генерируют третий сигнал путем перемножения первого сигнала на матричное произведение третьей частичной матрицы и обратной матрицы от четвертой частичной матрицы из матрицы проверки на четность; генерируют четвертый сигнал путем сложения второго сигнала и третьего сигнала; генерируют пятый сигнал путем перемножения четвертого сигнала на пятую частичную матрицу матрицы проверки на четность; генерируют шестой сигнал путем сложения второго сигнала и пятого сигнала; генерируют седьмой сигнал путем перемножения шестого сигнала на матричное произведение третьей частичной матрицы и обратной матрицы от четвертой частичной матрицы из матрицы проверки на четность; и мультиплексируют информационное слово, четвертый сигнал в качестве первой проверочной части и седьмой сигнал в качестве второй проверочной части согласно формату блокового кода НППЧ.
Четвертым объектом настоящего изобретения является способ генерирования матрицы проверки на четность, чтобы улучшить исправляющую способность, причем эта матрица проверки на четность размещается в матрице строк и столбцов множества информационных частичных блоков и множества проверочных частичных блоков, матрица проверки на четность разделяется на информационную часть, состоящую из матриц информационных частичных блоков, и проверочную часть, состоящую из матриц проверочных частичных блоков, причем каждый из информационных частичных блоков состоит из матрицы, представляющей множество информационных битов, каждый из проверочных частичных блоков состоит из матрицы, представляющей множество битов проверки на четность, каждый из информационных частичных блоков и проверочных частичных блоков существуют во множестве строк в матрице проверки на четность, разделенной на первую информационную матрицу, первую проверочную матрицу и вторую проверочную матрицу, каждый из информационных частичных блоков и проверочных частичных блоков существуют во множестве остальных строк за исключением множества строк, разделенных на вторую информационную матрицу, третью проверочную матрицу и четвертую проверочную матрицу; и первая и вторая информационные матрицы, первая и третья проверочные матрицы, и вторая и четвертая проверочные матрицы размещены в одних и тех столбцах, соответственно. Способ включает в себя следующие шаги: суммируют третью проверочную матрицу и произведение четвертой проверочной матрицы, обратной матрицы от второй проверочной матрицы и первой проверочной матрицы так, что сумма является единичной матрицей; находят транспонированный вектор первого проверочного вектора, соответствующего первой проверочной матрице и третьей проверочной матрице, путем перемножения суммы второй информационной матрицы и произведения четвертой проверочной матрицы, обратной матрицы от второй проверочной матрицы и первой информационной матрицы на информационный вектор, соответствующий первой информационной матрице и второй информационной матрице; и находят транспонированный вектор второго проверочного вектора, соответствующего второй проверочной матрице и четвертой проверочной матрице, путем перемножения обратной матрицы от второй проверочной матрицы на сумму произведения первой информационной матрицы и транспонированного вектора информационного вектора и произведения первой проверочной матрицы и транспонированного вектора первого проверочного вектора.
Пятым объектом настоящего изобретения является способ генерирования матрицы проверки на четность блокового кода низкой плотности с проверкой на четность (НППЧ), чтобы улучшить исправляющую способность, при этом матрица проверки на четность размещена в матрице строк и столбцов из множества частичных блоков, а матрицы перестановки, генерированные путем сдвига единичной матрицы размером NS×NS на заранее заданную экспоненту согласно каждому из частичных блоков, размещены в каждом из частичных блоков. Способ включает в себя следующие шаги: находят блоковый цикл блокового кода НППЧ в качестве первого значения; и находят второе значение путем перемножения второго значения на значение, определенное вычитанием суммы экспонент матриц перестановки с нечетной экспонентой среди матриц перестановки, размещенных в каждом из частичных блоков, из суммы экспонент перестановок с четной экспонентой среди матриц перестановки, размещенных в каждом из частичных блоков; и выполняют контрольную операцию так, что каждый из частичных блоков имеет цикл, соответствующий произведению первого значения и второго значения.
Шестым объектом настоящего изобретения является устройство для декодирования блокового кода низкой плотности с проверкой на четность (НППЧ). Это устройство включает в себя декодер узлов переменных для соединения узлов переменных согласно весу каждого столбца, составляющего матрицу проверки на четность, состоящую из информационной части, соответствующей информационному слову, и первой проверочной части и второй проверочной части, каждая из которых соответствует проверке на четность согласно заранее заданному контрольному сигналу, и для нахождения значений вероятности принятого сигнала; первый сумматор для вычитания сигнала, генерированного в предыдущем процессе декодирования, из сигнала, выданного из декодера узлов переменных в текущем процессе декодирования; деперемежитель для деперемежения сигнала, выданного из первого сумматора, с помощью метода деперемежения, установленного согласно матрице проверки на четность; декодер узлов проверки для соединения узлов проверки согласно весу каждой строки, составляющей матрицу проверки на четность, и для нахождения значений вероятности сигнала, выданного из деперемежителя, согласно заранее заданному контрольному сигналу; второй сумматор для вычитания сигнала, выданного из деперемежителя, из сигнала, выданного из декодера узлов проверки; перемежитель для перемежения сигнала, выданного из второго сумматора, с помощью метода перемежения, установленного согласно матрице проверки на четность, и для выведения перемеженного сигнала на декодер узлов переменных и первый сумматор; и контроллер для генерирования матрицы проверки на четность и управления методом деперемежения и методом перемежения согласно матрице проверки на четность.
Седьмым объектом настоящего изобретения является устройство для кодирования блокового кода низкой плотности с проверкой на четность (НППЧ). Это устройство включает в себя первый матричный перемножитель для перемножения принятого информационного слова на первую частичную матрицу матрицы проверки на четность, состоящей из информационной части, соответствующей информационному слову, и первой проверочной части и второй проверочной части, каждая из которых соответствует проверке на четность; второй матричный перемножитель для перемножения информационного слова на вторую частичную матрицу матрицы проверки на четность; третий матричный перемножитель для перемножения сигнала, выданного из первого матричного перемножителя, на матричное произведение из третьей частичной матрицы и обратной матрицы от четвертой частичной матрицы из матрицы проверки на четность; первый сумматор для сложения сигнала, выданного из второго матричного перемножителя, и сигнала, выданного из третьего матричного перемножителя; четвертый матричный перемножитель для перемножения сигнала, выданного из первого сумматора, на пятую частичную матрицу матрицы проверки на четность; второй сумматор для сложения сигнала, выданного из второго матричного перемножителя, и сигнала, выданного из четвертого матричного перемножителя; пятый матричный перемножитель для перемножения сигнала, выданного из второго сумматора, на матричное произведение третьей частичной матрицы и обратной матрицы от четвертой частичной матрицы из матрицы проверки на четность; и переключатели для мультиплексирования информационного слова, выходного сигнала первого сумматора в качестве первой проверочной части и выходного сигнала пятого перемножителя в качестве второй проверочной части согласно формату блокового кода НППЧ.
Краткое описание чертежей
Вышеуказанные и иные цели, признаки и преимущества настоящего изобретения станут яснее из нижеследующего подробного описания вместе с сопровождающими чертежами, на которых:
Фиг.1 является схемой, иллюстрирующей матрицу проверки на четность обычного кода НППЧ (8, 2, 4);
Фиг.2 является схемой, иллюстрирующей граф коэффициентов кода НППЧ (8, 2, 4) по фиг.1;
Фиг.3 является схемой, иллюстрирующей матрицу проверки на четность обычного блокового кода НППЧ;
Фиг.4 является схемой, иллюстрирующей матрицу Р перестановок по фиг.3;
Фиг.5 является схемой, иллюстрирующей матрицу проверки на четность обычного регулярного блокового кода НППЧ;
Фиг.6 является схемой, иллюстрирующей матрицу проверки на четность обычного нерегулярного блокового кода НППЧ;
Фиг.7 является схемой, иллюстрирующей структуру цикла блокового кода НППЧ, матрица проверки на четность которого состоит из 4 частичных матриц;
Фиг.8 является схемой, иллюстрирующей структуру цикла блокового кода НППЧ, матрица проверки на четность которого состоит из 6 частичных матриц;
Фиг.9 является схемой, иллюстрирующей структуру блокового цикла блокового кода НППЧ;
Фиг.10 является схемой, иллюстрирующей структуру блокового цикла блокового кода НППЧ, в котором дублируются 6 частичных матриц из матрицы проверки на четность;
Фиг.11 является схемой, иллюстрирующей структуру блокового цикла блокового кода НППЧ, в котором дублируются 7 частичных блоков из матрицы проверки на четность;
Фиг.12 является схемой, иллюстрирующей матрицу проверки на четность, имеющую форму полной нижней треугольной матрицы;
Фиг.13 является схемой, иллюстрирующей матрицу проверки на четность, имеющую форму, подобную форме полной нижней треугольной матрицы;
Фиг.14 является схемой, иллюстрирующей матрицу проверки на четность по фиг.13, которая разделяется на 6 частичных блоков;
Фиг.15 является схемой, иллюстрирующей транспонированную матрицу частичной матрицы В, показанной на фиг.14, частичной матрицы Е, частичной матрицы Т и обратной матрицы от частичной матрицы Т;
Фиг.16 является схемой, иллюстрирующей матрицу проверки на четность блокового кода НППЧ согласно варианту осуществления настоящего изобретения;
Фиг.17 является блок-схемой алгоритма, иллюстрирующей процедуру генерирования матрицы проверки на четность блокового кода НППЧ согласно варианту осуществления настоящего изобретения;
Фиг.18 является блок-схемой алгоритма, иллюстрирующей процедуру кодирования блокового кода НППЧ согласно варианту осуществления настоящего изобретения;
Фиг.19 является блок-схемой, иллюстрирующей внутреннее строение кодирующего устройства для блокового кода НППЧ согласно варианту осуществления настоящего изобретения; и
Фиг.20 является блок-схемой, иллюстрирующей внутреннее строение декодирующего устройства для блокового кода НППЧ согласно варианту осуществления настоящего изобретения.
Подробное описание предпочтительного варианта осуществления
Теперь будет подробно описан предпочтительный вариант осуществления настоящего изобретения со ссылкой на приложенные чертежи. В нижеследующем описании подробное изложение известных функций и конфигураций, включенных сюда, опущено для краткости.
Настоящее изобретение предлагает схему для кодирования и декодирования высокопроизводительного нерегулярного кода низкой плотности с проверкой на четность (НППЧ). Настоящее изобретение предлагает схему для кодирования и декодирования нерегулярного кода НППЧ, в которой максимизируется минимальная длина цикла на графе коэффициентов, минимизируется сложность кодирования и оптимизируется распределение рангов на графе коэффициентов.
Термин «цикл», раз он связан с графом коэффициентов кода НППЧ, относится к петле, образованной гранями, соединяющими узлы переменных с узлами проверок в графе коэффициентов, а длина цикла определяется как число граней, составляющих эту петлю. Цикл, который имеет большую длину, означает, что число граней, соединяющих узлы переменных с узлами проверок, составляющих эту петлю в графе коэффициентов, велико. По мере того, как циклы на графе коэффициентов генерируются все более длинными, рабочие характеристики кода НППЧ становятся лучше. Наоборот, когда на графе коэффициентов имеется много циклов с короткой длиной, код НППЧ ухудшается в его исправляющей способности, потому что происходит такое ухудшение рабочих характеристик как нижний предел ошибок. То есть, когда много циклов с короткой длиной существуют на графе коэффициентов, информация о конкретном узле, принадлежащем циклу с короткой длиной, начинающаяся из него, возвращается после малого числа итераций. По мере того, как увеличивается число итераций, информация возвращается к соответствующему узлу чаще, так что информация не может обновляться правильно, что и вызывает ухудшение исправляющей способности кода НППЧ.
Фиг.7 является схемой, иллюстрирующей структуру цикла блокового кода НППЧ, матрица проверки на четность которого состоит из 4 частичных матриц. Перед тем, как дать описание фиг.7, следует отметить, что блоковый код НППЧ является новым кодом НППЧ, для которого учитывались не только эффективное кодирование, но также и эффективное хранение и улучшение рабочих характеристик матрицы проверки на четность. Блоковый код НППЧ является также кодом НППЧ, расширенным путем обобщения структуры регулярного кода НППЧ. Матрица проверки на четность блокового кода НППЧ, показанного на фиг.7, разделяется на 4 частичных блока, наклонная линия представляет позицию, где располагаются элементы со значением 1, а части, отличные от наклонных частей, представляют позиции, где располагаются элементы со значением 0. Помимо этого, «Р» представляет такую же матрицу перестановки, что и матрица перестановки, описанная в связи с фиг.4. Здесь матрица Р перестановки, как описано в связи с фиг.4, является квадратной матрицей размером NS×NS, в которой каждый из NS столбцов, составляющих матрицу Р перестановки, имеет вес 1, и каждая из NS строк, составляющих матрицу Р перестановки, имеет вес 1. Здесь «вес» представляет элемент с ненулевым значением среди элементов, составляющих матрицу проверки на четность.
Для того чтобы анализировать структуру цикла блокового кода НППЧ, показанного на фиг.7, элемент со значением 1, расположенный в i-й строке частичной матрицы Ра, определяется как эталонный элемент, а элемент со значением 1, расположенный в i-й строке, будет обозначаться как «0-точка». Здесь «частичная матрица» будет относиться к матрице, соответствующей частичному блоку. 0-точка располагается в (i+a)-м столбце частичной матрицы Ра.
Элемент со значением 1 в частичной матрице Pb, расположенный в той же самой строке, что и 0-точка, будет именоваться как «1-точка». По той же самой причине, что и 0-точка, 1-точка располагается в (i+b)-м столбце частичной матрицы Pb.
Далее, элемент со значением 1 в частичной матрице Рс, расположенный в том же самом столбце, что и 1-точка, будет именоваться как «2-точка». Поскольку частичная матрица Рс является матрицей, получаемой путем сдвига соответствующих столбцов единичной матрицы I вправо по модулю NS на с, 2-точка располагается в (i+b-c)-й строке частичной матрицы Рс.
Помимо этого, элемент со значением 1 в частичной матрице Pd, расположенный в той же самой строке, что и 2-точка, будет именоваться как «3-точка». 3-точка располагается в (i+b-c+d)-м столбце частичной матрицы Pd.
Наконец, элемент со значением 1 в частичной матрице Ра, расположенный в том же самом столбце, что и 3-точка, будет именоваться как «4-точка». 4-точка располагается в (i+b-c+d-a)-й строке частичной матрицы Ра.
В структуре цикла кода НППЧ, показанного на фиг.7, если цикл длиной 4 существует, 0-точка и 4-точка располагаются в одной и той же позиции. То есть, соотношение между 0-точкой и 4-точкой определяется уравнением (4):
i≅i+b-c+d-a(mod NS) или
i+a≅i+b-c+d(mod NS)
(4)
Уравнение (4) можно переписать в уравнение (5):
a+c≡b+d(mod NS) (5)
В результате, когда удовлетворяется соотношение в уравнении (5), генерируется цикл длиной 4. В общем, когда 0-точка и 4-точка идентичны друг другу, задается соотношение i≡i+m(b-c+d-a)(mod NS) и удовлетворяется нижеследующее соотношение в уравнении (6):
m(a-b+c-d)≡0(mod NS) (6)
Иными словами, если положительное целое число с минимальным значением среди положительных целых чисел, удовлетворяющих уравнению (6) для заданных a, b, c и d, определяется как «m», цикл длиной 4m становится циклом с минимальной длиной в структуре цикла блокового кода НППЧ, показанного на фиг.7.
В заключение, как описано выше, для (a-b+c-d)≠0, если удовлетворяется НОД(NS, a-b+c-d)=1, то m=NS. Здесь НОД(NS, a-b+c-d) есть функция для вычисления наибольшего общего делителя целых чисел NS и a-b+c-d. Поэтому цикл длиной 4NS становится циклом минимальной длины.
Описанный в связи с фиг.7 анализ цикла блокового кода НППЧ можно применять даже когда число блоков, составляющих матрицу проверки на четность блокового кода НППЧ, превышает 4, т.е. когда число частичных матриц, составляющих матрицу проверки на четность, превышает 4. Теперь, со ссылкой на фиг.8, будет дано описание структуры циклов кода НППЧ, в котором число частичных матриц, составляющих матрицу проверки на четность, превышает 4.
Фиг.8 является схемой, иллюстрирующей структуру циклов блокового кода НППЧ, матрица проверки на четность которого состоит из 6 частичных матриц. Матрица проверки на четность блокового кода НППЧ, показанная на фиг.8, состоит из 6 частичных матриц. Как показано на фиг.8, наклонная линия представляет позицию, где располагаются элементы со значением 1, а части, отличные от частей наклонной линии, представляют позиции, где располагаются элементы со значением 0. Помимо этого, «Р» представляет ту же самую матрицу перестановок, что и матрица перестановок, описанная в связи с фиг.4. Когда структура циклов кода НППЧ, показанная на фиг.8, анализируется способом, описанным в связи с фиг.7, цикл длиной 6m становится циклом минимальной длины.
В общем, когда 0-точка и 6m-точка, во-первых, идентичны друг другу, задано соотношение i≡i+m(b-c+d-e+f-a)(mod NS), и удовлетворяется нижеследующее соотношение, показанное в уравнении (7):
m(b-c+d-e+f-a)≡0(mod NS) (7)
Иными словами, если положительное целое число с минимальным значением среди положительных целых чисел, удовлетворяющих уравнению (7) для заданных a, b, c, d, e и f определяется как «m», цикл длиной 6m становится циклом с минимальной длиной в структуре цикла блокового кода НППЧ, показанного на фиг.8.
В заключение, как описано выше, для (a-b+c-d+e-f)≠0, если удовлетворяется НОД(NS, a-b+c-d+e-f)=1, то m=NS. Поэтому цикл длиной 6NS становится циклом минимальной длины.
Для описанного выше блокового кода НППЧ можно вывести следующие правила.
Правило 1
Если цикл длиной 2l существует в блоковом коде НППЧ, должно удовлетворяться условие уравнения (8):
а1+a3+a5+...+a2l-1≡a2+a4+a6+...+a2l (mod NS) (8)
В уравнении (8) ai (i=1, 2, ..., 2l) представляет экспоненты матриц перестановки, через которые последовательно проходит цикл длиной 2l. То есть, цикл длиной 2l проходит через частичные блоки, составляющие код проверки на четность блокового кода НППЧ в порядке
Figure 00000007
Figure 00000008
→...→
Figure 00000009
. Здесь не все значения ai должны обязательно отличаться друг от друга, и соответствующий цикл можно повторно проходить через одни и те же частичные блоки.
Правило 2
«m» будет определяться как минимальное положительное целое число, удовлетворяющее уравнению (9).
Figure 00000010
0 (mod NS), (1≤i, j≤2l)
(9)
В уравнении (9) ai представляет экспоненты матриц перестановки, выбранных так, что основанный на блоках цикл формируется во всей матрице проверки на четность. Как описано в Правиле 1, не все значения ai должны обязательно отличаться друг от друга, и соответствующий цикл может проходить повторно через одни и те же частичные блоки. В результате частичные матрицы
Figure 00000011
имеют структуру циклов, в которой минимальная длина составляет 2lm.
Характеристику структуры циклов блокового кода НППЧ можно легко анализировать с помощью Правила 1 и Правила 2. Например, при использовании Правила 1 и Правила 2 можно не только правильно определить, сколько циклов минимальной длины 6 распределены в коде массива, но также легко анализировать характеристику структуры основанного на блоках цикла («блокового цикла») блокового кода НППЧ, который будет описан здесь ниже. Блоковый цикл является важным фактором, используемым для регулировки длины цикла для формирования матрицы проверки на четность, и блоковый цикл будет описан со ссылкой на фиг.9, Правило 1 и Правило 2.
Фиг.9 является схемой, иллюстрирующей структуру блокового цикла блокового кода НППЧ. На фиг.9 предполагается, что каждый из блоков, составляющих блоковый код НППЧ, имеет вес 1, и когда блоки образуют цикл, говорится, что «блоковый цикл сформирован». Фиг.9 иллюстрирует слева блоковый цикл, образованный из 4 блоков, блоковый цикл, образованный из 6 блоков, и блоковый цикл, образованный из 8 блоков. Как описано в Правиле 1 и Правиле 2, хотя образуется блоковый цикл с короткой длиной, если частичные матрицы, соответствующие блокам, составляющим блоковый цикл, выбраны соответствующим образом, можно выполнять контрольную операцию, так что цикл с короткой длиной не генерируется в реальной матрице проверки на четность. Однако, когда множество блоковых циклов дублируются в блоковом коде НППЧ, минимальная длина реальных циклов в блоковых циклах снижается. В результате циклы с короткой длиной нежелательно генерируются в реальной матрице проверки на четность.
Теперь, со ссылкой на фиг.10, Правило 1 и Правило 2, будет дано описание проблемы, когда множество блоковых циклов дублируются в блоковом коде НППЧ, и причины, почему следует избегать дублированных блоковых циклов при генерировании матрицы проверки на четность кода НППЧ.
Фиг.10 является схемой, иллюстрирующей структуру блоковых циклов блокового кода НППЧ, в котором дублируются 6 частичных матриц в матрице проверки на четность. Нижеследующий последовательный порядок блоков можно рассматривать по стрелкам, показанным на фиг.10.
Figure 00000012
Figure 00000013
Figure 00000014
Figure 00000015
Figure 00000016
Figure 00000017
Figure 00000018
Figure 00000012
Figure 00000019
Figure 00000020
Figure 00000021
Figure 00000022
Figure 00000012
Экспоненты частичных матриц, следующие вышеприведенному последовательному порядку блоков, удовлетворяют уравнению (10) независимо от значений NS.
а124356213465≡0(mod NS) (10)
Если уравнение (10) прикладывается к уравнению (9), описанному в Правиле 2, то m=1. Поэтому в случае блокового кода НППЧ, показанного на фиг.10, где имеется блоковый цикл, в котором дублируются 6 частичных матриц, даже если выбирается любая частичная матрица, составляющая полную матрицу проверки на четность, выбранная частичная матрица всегда включает в себя структуру циклов длиной 12. То есть, в случае блокового кода НППЧ, показанного на фиг.10, где имеется блоковый цикл, в котором дублируются 6 частичных матриц, минимальная длина цикла матрицы проверки на четность ограничивается до максимума в 12.
Фиг.11 является схемой, иллюстрирующей структуру блоковых циклов блокового кода НППЧ, в котором дублируются 7 частичных блоков матрицы проверки на четность.
На фиг.11 показана структура блоковых циклов блокового кода НППЧ, где дублируются 7 частичных блоков матрицы проверки на четность, и нижеследующий последовательный порядок блоков можно рассматривать по стрелкам, показанным на фиг.11.
Figure 00000012
Figure 00000013
Figure 00000014
Figure 00000016
Figure 00000023
Figure 00000017
Figure 00000018
Figure 00000012
Figure 00000019
Figure 00000020
Figure 00000021
Figure 00000023
Figure 00000022
Figure 00000019
Figure 00000012
Экспоненты частичных матриц, следующие вышеприведенному последовательному порядку блоков, удовлетворяют уравнению (11) независимо от значений NS.
а12457621346753≡0(mod NS) (11)
Если уравнение (11) прикладывается к уравнению (9), описанному в Правиле 2, то m=1. Поэтому в случае блокового кода НППЧ, показанного на фиг.11, где имеется блоковый цикл, в котором дублируются 7 частичных матриц, даже если выбирается любая частичная матрица, составляющая полную матрицу проверки на четность, выбранная частичная матрица всегда включает в себя структуру циклов длиной 14. То есть, в случае блокового кода НППЧ, показанного на фиг.11, где имеется блоковый цикл, в котором дублируются 7 частичных матриц, минимальная длина цикла матрицы проверки на четность ограничивается до максимума в 14.
Как описано выше, если слишком много циклов дублируются между блоками, составляющими матрицу проверки на четность в блоковом коде НППЧ, то имеется ограничение при максимизации минимальной длины цикла независимо от того, как выбрать частичную матрицу матрицы проверки на четность, что вызывает ухудшение в рабочих характеристиках блокового кода НППЧ. Поэтому матрица проверки на четность генерируется в блоковом коде НППЧ так, что генерируются как можно меньше блоковых циклов, посредством чего предотвращается генерирование дублированных блоковых циклов.
Далее будет приведено описание способа генерирования матрицы проверки на четность блокового кода НППЧ с учетом эффективного кодирования кроме блокового цикла.
В настоящем изобретении в качестве метода кодирования блокового кода НППЧ будет использоваться метод Ричардсона-Урбанке. Поскольку в качестве метода кодирования используется метод Ричардсона-Урбанке, сложность кодирования можно минимизировать, так что форма матрицы проверки на четность может быть подобна форме полной нижней треугольной матрицы.
Фиг.12 является схемой, иллюстрирующей матрицу проверки на четность, имеющую форму полной нижней треугольной матрицы. Матрица проверки на четность, показанная на фиг.12, имеет форму полной нижней треугольной матрицы и состоит из информационной части и проверочной части. Информационная часть представляет часть матрицы проверки на четность, отображенную на реальное информационное слово в процессе кодирования блокового кода НППЧ, а проверочная часть представляет часть матрицы проверки на четность, отображенную на реальную проверку на четность в процессе кодирования блокового кода НППЧ. В проверочной части, как показано на фиг.12, нулевые матрицы и частичные матрицы существуют с единичными матрицами I в качестве их начальных точек, и частичные матрицы имеют полную нижнюю треугольную форму.
Фиг.13 является схемой, иллюстрирующей матрицу проверки на четность, имеющую форму, подобную форме полной нижней треугольной матрицы. Матрица проверки на четность, показанная на фиг.13, отличается от матрицы проверки на четность, имеющей форму полной нижней треугольной матрицы, показанной на фиг.12, в проверочной части. На фиг.13 верхний индекс (или экспонента) aij матрицы Р перестановок составляет либо 0≤aij≤NS-1, либо aij=∞. Матрица перестановок с верхним индексом aij=0, т.е. матрица Р0 перестановок представляет единичную матрицу
Figure 00000024
, а матрица перестановок с верхним индексом aij=∞, т.е. матрица Р перестановок представляет нулевую матрицу. На фиг.13 m представляет номер строки частичных блоков, отображающихся на информационную часть, а q представляет номер столбца частичных блоков, отображающихся на проверочную часть. «i» означает, что соответствующая матрица перестановок располагается в i-й строке частичных блоков матрицы проверки на четность, «j» означает, что соответствующая матрица перестановок располагается в j-м столбце частичных блоков матрицы проверки на четность. То есть,
Figure 00000025
является матрицей перестановок, расположенной в частичном блоке, пересекающемся i-й строкой и j-м столбцом.
Кроме того, верхние индексы ai, x, y в матрицах перестановки, отображающихся на проверочную часть, представляют верхние индексы матриц перестановки, однако для удобства пояснения эти верхние индексы ai, x, y представляются ссылочными буквами отличного формата для отличия от информационной части. То есть, на фиг.13 Pa1-Pam также являются матрицами перестановки, эти матрицы Pa1-Pam перестановки располагаются в диагональной части проверочной части. Верхние индексы a1-am индексированы последовательно. Матрицы PX и PY также является матрицами перестановок, однако, для удобства пояснения, матрицы PX и PY перестановок представляются ссылочными буквами отличного формата для отличия от информационной части.
Если предполагается, что длина блока блокового кода НППЧ, имеющего матрицу проверки на четность, показанную на фиг.13, составляет N, сложность кодирования блокового кода НППЧ линейно возрастает относительно длины N блока.
Наибольшая проблема кода НППЧ, имеющего матрицу проверки на четность по фиг.13, состоит в том, что если длина частичного блока определяется как NS, генерируются NS проверочных узлов, ранги которых всегда равны 1 на графе коэффициентов блокового кода НППЧ. Здесь ранги проверочных узлов не могут воздействовать на улучшение рабочих характеристик на основании итеративного декодирования. Поэтому стандартный код НППЧ на основании метода Ричардсона-Урбанке не включает в себя узла проверки с рангом 1. Поэтому матрица проверки на четность по фиг.13 будет предполагаться в качестве основной матрицы проверки на четность для конструирования такой матрицы проверки на четность, чтобы она обеспечивала эффективное кодирование, не включая в себя узла проверки с рангом 1. В матрице проверки на четность по фиг.13, состоящей из частичных матриц, выбор частичной матрицы представляет собой очень важный фактор для улучшения рабочих характеристик блокового кода НППЧ, так что нахождение приемлемого критерия выбора для частичной матрицы также становится очень важным фактором.
Поэтому, когда генерируется блоковый код НППЧ, матрица проверки на четность формируется с учетом нижеследующего критерия разработки.
Критерий разработки для матрицы проверки на четность блокового кода НППЧ
(1) Проверочная часть формируется так, чтобы она имела фиксированную форму.
Тот факт, что проверочная часть имеет фиксированную форму, означает, что она имеет конфигурацию, в которой единичные матрицы располагаются, как показано на фиг.16, которая будет описана здесь ниже.
(2) Частичные матрицы с более низким рангом выбираются последовательно первыми.
В настоящем изобретении «ранг» частичной матрицы относится к рангу между 3 и 5. Помимо этого, частичные матрицы размещаются так, что когда частичные матрицы с низким рангом выбираются последовательно первыми, генерируются как можно меньше блоковых циклов, и цикл с минимальной длиной среди частичных матриц с низким рангом формируется как можно дольше.
(3) Частичные матрицы с высоким рангом формируются последовательно после того, как формируются частичные матрицы с низким рангом. Когда размещены частичные матрицы с высоким рангом, цикл минимальной длины формируется как можно дольше.
Теперь будет описан способ разработки матрицы проверки на четность блокового кода НППЧ на основании вышеописанного критерия разработки для матрицы проверки на четность блокового кода НППЧ.
Чтобы облегчить способ разработки матрицы проверки на четность блокового кода НППЧ и способ кодирования блокового кода НППЧ, предполагается, что матрица проверки на четность, показанная на фиг.13, формируется шестью частными матрицами, как показано на фиг.14.
Фиг.14 является схемой, иллюстрирующей матрицу проверки на четность по фиг.13, которая разделяется на 6 частичных блоков. На фиг.14 матрица проверки на четность блокового кода НППЧ, показанная на фиг.14, разделяется на информационную часть s, первую проверочную часть р1 и вторую проверочную часть р2. Информационная часть s представляет часть матрицы проверки на четность, отображенной на реальное информационное слово в процессе кодирования блокового кода НППЧ, как и информационная часть, описанная в связи с фиг. 12 и 13, и однако, для удобства пояснения, информационная часть s представляется отличными ссылочными буквами. Первая проверочная часть р1 и вторая проверочная часть р2 представляют часть матрицы проверки на четность, отображенную на реальную проверку на четность в процессе кодирования блокового кода НППЧ, аналогично проверочной части, описанной в связи с фиг. 12 и 13, и проверочная часть разделяется на две части.
Частичные матрицы А и С соответствуют частичным блокам А и С информационной части s, частичные матрицы В и D соответствуют частичным блокам В и D первой проверочной части р1, а частичные матрицы Т и Е соответствуют частичным блокам Т и Е второй проверочной части р2. Хотя матрица проверки на четность разделяется на 7 частичных блоков на фиг.14, следует отметить, что «0» не является отдельным частичным блоком, а потому частичная матрица Т, соответствующая частичному блоку Т, имеет полную нижнюю треугольную форму, область же, где нулевые матрицы размещаются на основе диагонали, представляется посредством «0». Процесс упрощения способа кодирования с помощью частичных матриц информационной части s, первой проверочной части р1 и второй проверочной части р2 будет описан позже со ссылкой на фиг.17.
Частичные матрицы на фиг.14 будут теперь описаны здесь ниже со ссылкой на фиг.15.
Фиг.15 является схемой, иллюстрирующей транспонированную матрицу частичной матрицы В, показанной на фиг.14, частичную матрицу Е, частичную матрицу Т и обратную матрицу частичной матрицы Т. На фиг.15 частичная матрица ВТ представляет транспонированную матрицу частичной матрицы В, а частичная матрица Т-1 представляет обратную матрицу частичной матрицы Т.
Figure 00000026
представляет
Figure 00000027
.
Матрицы перестановок, показанные на фиг.15, к примеру Ра1 будет единичной матрицей. Как описано выше, если верхний индекс матрицы перестановки, т.е. а1 равен 0, Ра1 будет единичной матрицей. Также, если верхний индекс матрицы перестановки, т.е. а1 увеличивается согласно заранее заданному значению, эта матрица перестановки является циклическим сдвигом согласно заранее заданному значению, так что матрица Ра1 будет единичной матрицей.
Фиг.17 является блок-схемой алгоритма, иллюстрирующей процедуру генерирования матрицы проверки на четность блокового кода НППЧ согласно варианту осуществления настоящего изобретения. Перед тем, как дать описание фиг.17, следует отметить, что для генерирования блокового кода НППЧ нужно найти размер кодовых слов и скорость кодирования блокового кода НППЧ, подлежащего генерированию, а размер матрицы проверки на четность должен быть определен согласно найденным размеру кодовых слов и скорости кодирования. Если размер кодовых слов блокового кода НППЧ представляется как N, а кодовая скорость представляется как R, размер матрицы проверки на четность становится равным N(1-R)×N. Фактически процедура генерирования матрицы проверки на четность блокового кода НППЧ, показанного на фиг.17, выполняется лишь единожды, потому что матрица проверки на четность генерируется вначале, и генерированная матрица проверки на четность используется все время работы системы связи.
На фиг.17 на шаге 1711 контроллер разделяет матрицу проверки на четность размером N(1-R)×N на общее число из p×q блоков, в том числе р блоков по горизонтальной оси и q блоков по вертикальной оси, а затем переходит к шагу 1713. Поскольку каждый из блоков имеет размер NS×NS, матрица проверки на четность состоит из NS×p столбцов и NS×q строк. На шаге 1713 контроллер классифицирует р×q блоков, отделенных от матрицы проверки на четность, на информационную часть s, первую проверочную часть р1 и вторую проверочную часть р2, а затем переходит к шагам 1715 и 1721.
На шаге 1715 контроллер разделяет информационную часть на ненулевые блоки, или ненулевые матрицы, и нулевые блоки, или нулевые матрицы, согласно распределению рангов, чтобы гарантировать хорошие рабочие характеристики блокового кода НППЧ, а затем переходит к шагу 1717. Поскольку распределение рангов, чтобы гарантировать хорошие рабочие характеристики блокового кода НППЧ, описано выше, его подробное описание здесь опущено. На шаге 1717 контроллер находит такие матрицы
Figure 00000028
перестановки, что минимальная длина цикла блокового цикла должна максимизироваться, как описано выше, в ненулевых частях матрицы в блоках, имеющих низкий ранг среди блоков, найденных согласно распределению рангов, чтобы гарантировать хорошие рабочие характеристики блокового кода НППЧ, а затем переходит к шагу 1719. Здесь матрицы
Figure 00000029
перестановки должны определяться с учетом блоковых циклов не только информационной части s, но также первой проверочной части р1 и второй проверочной части р2.
На шаге 1719 контроллер случайным образом находит матрицы
Figure 00000030
перестановки в ненулевых частях матрицы в блоках, имеющих низкий ранг среди блоков, найденных согласно распределению рангов, чтобы гарантировать хорошие рабочие характеристики блокового кода НППЧ, а затем заканчивает процедуру. Здесь, даже когда определяются матрицы
Figure 00000031
перестановки, подлежащие приложению к ненулевым частям матриц в блоках, имеющих высокий ранг, матрицы
Figure 00000032
перестановки должны определяться так, что минимальная длина цикла блокового кода НППЧ максимизируется, и матрицы
Figure 00000033
перестановки определяются с учетом блоковых циклов не только информационной части s, но также первой проверочной части р1 и второй проверочной части р2. Пример матриц
Figure 00000034
перестановки, размещенных в матрице проверки на четность, иллюстрируется на фиг.16.
На шаге 1721 контроллер разделяет первую проверочную часть р1 и вторую проверочную часть р2 на 4 частичных матрицы В, Т, D и Е, а затем переходит к шагу 1723. На шаге 1723 контроллер не вводит нулевых матриц, но вводит матрицы РY и
Figure 00000035
перестановки в 2 частичных блока среди частичных блоков, составляющих частичную матрицу В, а затем переходит к шагу 1725. Способ не введения нулевых матриц, но матриц РY и
Figure 00000036
перестановки в 2 частичных блока среди частичных блоков, составляющих частичную матрицу В, уже описан со ссылкой на фиг.15.
На шаге 1725 контроллер вводит единичные матрицы I в диагональные частичные блоки частичной матрицы Т, вводит конкретные матрицы
Figure 00000013
,
Figure 00000037
,...,
Figure 00000038
перестановки в (i, i+1)-е частичные блоки под диагональными компонентами частичной матрицы Т, а затем переходит к шагу 1727. Способ введения единичных матриц I в диагональные частичные блоки частичной матрицы Т и введения конкретных матриц
Figure 00000013
,
Figure 00000037
,...,
Figure 00000039
перестановки в (i, i+1)-е частичные блоки под диагональными компонентами частичной матрицы Т уже описан со ссылкой на фиг.15.
На шаге 1727 контроллер вводит частичную матрицу РХ в частичную матрицу D, а затем переходит к шагу 1729. На шаге 1729 контроллер вводит матрицу
Figure 00000040
перестановки только в последний частичный блок в частичной матрице Е, а затем заканчивает процедуру. Способ введения 2 матриц
Figure 00000040
перестановки только в последний частичный блок среди частичных блоков, составляющих частичную матрицу Е, уже описан со ссылкой на фиг.15.
Если частичная матрица В, частичная матрица D и частичная матрица Е соответственно сформированы в матрице проверки на четность блокового кода НППЧ, процессом кодирования для блокового кода НППЧ можно легко управлять. Теперь будет дано описание процесса формирования частичной матрицы В, частичной матрицы D и частичной матрицы Е матрицы проверки на четность, чтобы легко управлять процессом кодирования для блокового кода НППЧ.
Когда матрица проверки на четность по фиг.13 разделяется на частичные матрицы, описанные в связи с фиг.14 вышеприведенным образом, можно рассмотреть фиг.15.
Когда вектор с кодового слова разделяется на информационную часть s, первую проверочную часть р1 и вторую проверочную часть р2, как показано на фиг.14, этот вектор с кодового слова можно разделить на вектор s информационного слова, первый проверочный вектор р 1 и второй проверочный вектор р 2. В этом случае произведение матрицы проверки на четность и вектора с кодового слова можно выразить как уравнение (12) и уравнение (13):
As T+Bp 1T+Tp 2T=0 (12)
(ET-1A+C)s T+(ET-1B+D)p 1T=0 (13)
В уравнении (12) Т обозначает операцию транспонирования, а в уравнении (13) часть р 1Т, относящаяся к первому проверочному вектору р 1, может быть вычислена так:
р 1Т-1(ЕТ-1А+С)s Т (φ≅ЕТ-1В+D) (14)
В уравнении (14), поскольку сложность кодирования блокового кода НППЧ пропорциональна квадрату размера матрицы φ, настоящее изобретение устанавливает матрицу φ, используемую для вычисления первого проверочного вектора р 1, как единичную матрицу I. За счет установки матрицы φ как единичной матрицы I таким образом, сложность кодирования блокового кода НППЧ минимизируется. Со ссылкой на фиг.15 будет дано описание процесса установки матрицы φ как единичной матрицы I.
Матрица
Figure 00000041
перестановки будет фиксироваться к единичной матрице I. В частичном блоке частичной матрицы Т-1, показанной в связи с фиг.15, часть
Figure 00000042
представляет произведение
Figure 00000043
матрицы
Figure 00000044
на матрицу
Figure 00000045
. Матрица φ может быть вычислена с помощью уравнений (15)-(17) ниже.
Сначала, на фиг.15, поскольку частичная матрица Е включает в себя все нулевые матрицы кроме одного частичного блока, произведение частичной матрицы Е и обратной матрицы Т-1 частичной матрицы Т можно выразить как произведение последней строки обратной матрицы Т-1 частичной матрицы Т и последнего блока частичной матрицы Е, как показано в уравнении (15):
ЕТ-1=
Figure 00000046
(15)
Если произведение частичной матрицы Е и обратной матрицы Т-1 частичной матрицы Т перемножается на частичную матрицу В, результат можно выразить, как показано в уравнении (16):
ЕТ-1В=
Figure 00000047
(16)
где k есть конкретное натуральное число, найденное согласно позиции РY.
Когда произведение частичной матрицы Е и обратной матрицы Т-1 частичной матрицы Т перемножается на частичную матрицу В, как показано в уравнении (16), поскольку частичная матрица В включает в себя все нулевые матрицы кроме двух частичных блоков, перемножение выполняется только на двух частичных блоках в частичной матрице В, посредством чего упрощаются вычисления.
Если D=PX=
Figure 00000048
и
Figure 00000049
=I, то φ=ЕТ-1В+D=I. Поэтому матрица φ становится единичной матрицей I. Уравнение (17) ниже в сжатом виде выражает условия того, что матрица φ становится единичной матрицей I:
x≡am+(
Figure 00000050
)(mod NS), am+(
Figure 00000051
)+y≡0(mod Ns)
(17)
Как описано выше со ссылкой на уравнения (15)-(17), если матрица φ устанавливается как единичная матрица I, процесс кодирования для блокового кода НППЧ можно упростить в его сложности.
Далее, со ссылкой на фиг.18, будет дано описание процедуры кодирования блокового кода НППЧ с помощью матрицы проверки на четность, разработанной в настоящем изобретении.
Фиг.18 является блок-схемой алгоритма, иллюстрирующей процедуру кодирования блокового кода НППЧ согласно варианту осуществления настоящего изобретения. На фиг.18 на шаге 1811 контроллер принимает вектор s информационного слова, а затем переходит к шагам 1813 и 1815. Здесь предполагается, что длина вектора s информационного слова, принятого для кодирования блокового кода НППЧ, равна k. На шаге 1813 контроллер матрично перемножает вектор s информационного слова на матрицу (As) проверки на четность, а затем переходит к шагу 1817. Поскольку число элементов со значением 1, имеющихся в частичной матрице А, намного меньше, чем число элементов со значением 0, имеющихся в частичной матрице А, матричное перемножение вектора s информационного слова и частичной матрицы А матрицы проверки на четность можно осуществить с относительно малым числом вычислений сумм-произведений. Помимо этого, поскольку позиции элементов со значением 1 в частичной матрице А можно выразить позицией ненулевого блока и экспонентой матрицы перестановки для ее блока, матричное перемножение можно выполнять с помощью простых вычислений по сравнению с конкретной матрицей проверки на четность. На шаге 1815 контроллер матрично перемножает частичную матрицу С матрицы проверки на четность на вектор s информационного слова (Cs), а затем переходит к шагу 1819.
На шаге 1817 контроллер матрично перемножает матрицу ЕТ-1 на результат матричного перемножения вектора s информационного слова и частичной матрицы А для матрицы проверки на четность (ЕТ-1Аs), а затем переходит к шагу 1819. Как описано выше, поскольку число элементов со значением 1 в матрице ЕТ-1 очень мало, если только известна экспонента матрицы перестановки соответствующего блока, матричное перемножение можно осуществить легко. На шаге 1819 контроллер вычисляет первый проверочный вектор р 1 путем сложения ЕТ-1Аs и Cs(р 1=ЕТ-1Аs+Cs), а затем переходит к шагу 1821. Здесь вычисление сложения является вычислением Исключительного ИЛИ (XOR), в котором когда складываются одинаковые биты, результат сложения становится «0», а когда складываются различные биты, результат сложения становится «1». То есть, в процессе до шага 1819 вычисляется первый проверочный вектор р 1 из уравнения (14).
На шаге 1821 контроллер перемножает частичную матрицу В матрицы проверки на четность на первый проверочный вектор р 1р 1), складывает Вр 1 и As (As+Bp 1), а затем переходит к шагу 1823. Как описано в связи с уравнением (12), если вектор s информационного слова и первый проверочный вектор р 1 известны, обратная матрица Т-1 частичной матрицы Т в матрице проверки на четность должна перемножаться, чтобы вычислить второй проверочный вектор р 2. Поэтому на шаге 1823 контроллер перемножает вектор (As+Bp 1), вычисленный на шаге 1821, на обратную матрицу Т-1 частичной матрицы Т, чтобы вычислить второй проверочный вектор р 2 (р 2-1(As+Bp 1)), а затем переходит к шагу 1825. Как описано выше, если известен только вектор s информационного слова блокового кода НППЧ, можно вычислить первый проверочный вектор р 1 и второй проверочный вектор р 2. В результате можно получить вектор кодового слова. На шаге 1825 контроллер передает вектор с информационного слова, генерированный вектором s информационного слова, первым проверочным вектором р 1 и вторым проверочным вектором р 2, и заканчивает процедуру.
Фиг.19 является блок-схемой, иллюстрирующей внутреннее строение кодирующего устройства для блокового кода НППЧ согласно варианту осуществления настоящего изобретения. На фиг.19 кодирующее устройство для блокового кода НППЧ состоит из перемножителя 1911 матрицы А, перемножителя 1913 матрицы С, перемножителя 1915 матрицы ЕТ-1, первого сумматора 1917, перемножителя 1919 матрицы В, второго сумматора 1921, перемножителя 1923 матрицы Т-1 и переключателей 1925, 1927 и 1929.
Когда принимается входной сигнал, т.е. вектор s информационного слова длиной k, подлежащий кодированию блоковым кодом НППЧ, принятый вектор s информационного слова вводится в каждый из переключателя 1925, перемножителя 1911 матрицы А и перемножителя 1913 матрицы С. Перемножитель 1911 матрицы А перемножает вектор s информационного слова на частичную матрицу А полной матрицы проверки на четность и выводит результат перемножения на перемножитель 1915 матрицы ЕТ-1 и второй сумматор 1921. Перемножитель 1913 матрицы С перемножает вектор s информационного слова на частичную матрицу С полной матрицы проверки на четность и выводит результат перемножения на первый сумматор 1917. Перемножитель 1915 матрицы ЕТ-1 перемножает сигнал, выведенный из перемножителя 1911 матрицы А, на частичную матрицу ЕТ-1 полной матрицы проверки на четность и выводит результат перемножения на первый сумматор 1917.
Первый сумматор 1917 складывает сигнал, выведенный из перемножителя 1915 матрицы ЕТ-1, и сигнал, выведенный из перемножителя 1913 матрицы С, и выводит результат сложения на перемножитель 1919 матрицы В и переключатель 1927. Здесь первый сумматор 1917 выполняет вычисление Исключительного ИЛИ на побитовой основе. Например, когда принимаются вектор длины 3 х=(х1, х2, х3) и вектор длины 3 у=(у1, у2, у3), первый сумматор 1917 осуществляет операцию Исключительное ИЛИ над вектором длины 3 х=(х1, х2, х3) и вектором длины 3 у=(у1, у2, у3) и выводит вектор длины 3 z=(x1⊕y1, x2⊕y2, x3⊕y3). Здесь вычисление ⊕ представляет вычисление Исключительного ИЛИ, в котором когда складываются одинаковые биты, результат сложения становится «0», а когда складываются различные биты, результат сложения становится «1». То есть, сигнал, выводимый из первого сумматора 1917, становится первым проверочным вектором р 1.
Перемножитель 1919 матрицы В перемножает сигнал или первый проверочный вектор р 1, выводимый из первого сумматора 1917, на частичную матрицу В полной матрицы проверки на четность и выводит результат перемножения на второй сумматор 1921. Второй сумматор 1921 складывает сигнал, выводимый из перемножителя 1919 матрицы В, и сигнал, выводимый из перемножителя 1911 матрицы А, и выводит результат перемножения на перемножитель 1923 матрицы Т-1. Второй сумматор 1921, как и сумматор 1917, осуществляет операцию Исключительное ИЛИ над сигналом, выводимым из перемножителя 1919 матрицы В, и сигналом, выводимым из перемножителя 1911 матрицы А, и выводит результат на перемножитель 1923 матрицы Т-1.
Перемножитель 1923 матрицы Т-1 перемножает сигнал, выводимый из сумматора 1921, на частичную матрицу Т-1 и выводит результат перемножения на переключатель 1929. Здесь выход перемножителя 1923 матрицы Т-1 становится вторым проверочным вектором р 2. Переключатели 1925, 1927 и 1929 включаются только в свое время передачи соответствующего сигнала. То есть, во время передачи вектора s информационного слова включается переключатель 1925; во время передачи первого проверочного вектора р 1 включается переключатель 1927; а во время передачи второго проверочного вектора р 2 включается переключатель 1929.
За счет соответствующего выбора частичных матриц полной матрицы проверки на четность, как описано выше, матричное перемножение для ЕТ-1 относительно упрощено, посредством чего облегчается вычисление для ЕТ-1Аs Т. Помимо этого, матрица φ становится единичной матрицей I, так что процесс вычисления для φ-1 для вычисления Р1Т опускается.
Как описано выше, блоковый код НППЧ гарантирует высокую эффективность памяти для хранения информации, связанной с матрицей проверки на четность согласно ее структурных характеристик, и обеспечивает эффективное кодирование за счет соответствующего выбора частичной матрицы в матрице проверки на четность. Однако из-за того, что матрица проверки на четность генерируется на поблочной основе, снижается хаотичность. Снижение хаотичности может вызвать ухудшение в рабочих характеристиках блокового кода НППЧ. То есть, поскольку нерегулярный блоковый код НППЧ превосходит по характеристикам регулярный блоковый код НППЧ, как описано выше, выбор частичной матрицы в полной матрице проверки на четность действует как очень важный фактор при разработке блокового кода НППЧ.
Теперь, со ссылкой на фиг.16, будет дано описание подробного способа генерирования блокового кода НППЧ, который проявляет великолепные рабочие характеристики, обеспечивая при этом эффективное кодирование при учете цикловых характеристик блокового кода НППЧ.
Фиг.16 является схемой, иллюстрирующей матрицу проверки на четность блокового кода НППЧ согласно варианту осуществления настоящего изобретения. На фиг.16 для структурной простоты матрица проверки на четность блокового кода НППЧ устанавливается так, что
Figure 00000052
=I (i=1,..., m-1),
Figure 00000053
1, РХ1 и РУ-1. В этом случае, как описано выше, матрица φ становится единичной матрицей I, обеспечивая тем самым эффективное кодирование. Длина блока частичной матрицы из матрицы проверки на четность составляет NS=3. Поэтому Р-130. Поскольку число блоков для всех столбцов в матрице проверки на четность равно 32, генерируется матрица проверки на четность блокового кода НППЧ общей длиной 32×31=992 и скоростью кодирования 1/2.
В результате блоковый код НППЧ, показанный на фиг.16, становится нерегулярным блоковым кодом НППЧ, состоящим из 15 блоков с весовыми значениями 2, 12 блоков с весовыми значениями 3 и 5 блоков с весовыми значениями 11 на основе каждого столбца матрицы проверки на четность. Поэтому распределение рангов блокового кода НППЧ, показанного на фиг.16, можно выразить уравнением (18):
f2=15/32, f3=12/32, f11=5/32,
Figure 00000054
=7/16,
Figure 00000055
=9/16
(18)
В уравнении (18) fi обозначает отношение узлов переменных с рангом i ко всем узлам переменных на графе коэффициентов блокового кода НППЧ, а fpi обозначает отношение проверочных узлов с рангом i ко всем проверочным узлам на графе коэффициентов блокового кода НППЧ. Например, в случае блокового кода НППЧ с длиной блока NS=32 столбцы матрицы проверки на четность, соответствующие 15 узлам переменных среди всех 32 узлов переменных на графе коэффициентов блокового кода НППЧ, имеют весовые значения 2, столбцы матрицы проверки на четность, соответствующие 12 узлам переменных, имеют весовые значения 3, а столбцы матрицы проверки на четность, соответствующие 5 узлам переменных, имеют весовые значения 11. Даже для матрицы проверки на четность, соответствующей проверочным узлам, вес можно учитывать таким же образом, как это сделано для узлов переменных. Распределение рангов, показанное в уравнении (18), вплотную приближает распределение рангов кода НППЧ к идеальному пороговому значению n. Далее, в случае блокового кода НППЧ, показанного на фиг.16, минимальная длина цикла, существующего между узлом с рангом 2 и узлом с рангом 3, равна 12, а минимальная длина цикла между всеми узлами равна 16.
Далее, со ссылкой на фиг.20, будет дано описание процесса декодирования блокового кода НППЧ с помощью кода проверки на четность согласно варианту осуществления настоящего изобретения.
Фиг.20 является блок-схемой, иллюстрирующей внутреннее строение декодирующего устройства для блокового кода НППЧ согласно варианту осуществления настоящего изобретения. На фиг.20 декодирующее устройство для блокового кода НППЧ состоит из части 2000 узлов переменных, первого сумматора 2015, деперемежителя 2017, перемежителя 2019, контроллера 2021, памяти 2023, второго сумматора 2025, части 2050 проверочных узлов и блока 2029 жесткого решения. Часть 2000 узлов переменных состоит из декодера 2011 узлов переменных и переключателя 2013, а часть 2050 проверочных узлов состоит из декодера 2027 проверочных узлов.
Принятый сигнал, принимаемый по радиоканалу, вводится в декодер 2011 узлов переменных в части 2000 узлов переменных, и декодер 2011 вычисляет значения вероятности принятого сигнала, обновляет вычисленные значения вероятности и выводит обновленные значения вероятности на переключатель 2013 и первый сумматор 2015. Декодер 2011 узлов переменных соединяет узлы переменных согласно матрице проверки на четность, установленной ранее в декодирующем устройстве для блокового кода НППЧ, и выполняет вычисление обновлений, имеющее столько входных и выходных значений, сколько «1» соединено с узлами переменных. Число «1», соединенных с каждым узлом переменных, идентично весу каждого из столбцов, составляющих матрицу проверки на четность. Поэтому внутреннее вычисление декодера 2011 узлов переменных различно согласно весу каждого из столбцов, составляющих матрицу проверки на четность.
Первый сумматор 2015 принимает сигнал, выводимый из декодера 2011 узлов переменных, и выходной сигнал перемежителя 2019 в процессе предыдущего итеративного декодирования, вычитает выходной сигнал перемежителя 2019 в предыдущем итеративном декодировании из сигнала, выводимого из декодера 2011 узлов переменных в процессе текущего декодирования, и выводит результат вычитания на деперемежитель 2017. Если процесс декодирования является начальным процессом декодирования, выходной сигнал перемежителя 2019 должен рассматриваться как «0».
Деперемежитель 2017 деперемежает сигнал, выводимый из первого сумматора 2015, согласно заранее заданному методу и выводит деперемеженный сигнал на второй сумматор 2025 и декодер 2027 проверочных узлов. Деперемежитель 2017 имеет внутреннюю структуру, соответствующую матрице проверки на четность, потому что выходное значение для входного значения перемежителя 2019, соответствующего деперемежителю 2017, становится различным согласно позициям элементов со значением 1 в матрице проверки на четность.
Второй сумматор 2025 принимает выходной сигнал декодера 2025 проверочных узлов в процессе предыдущего итеративного декодирования и выходной сигнал деперемежителя 2017, вычитает выходной сигнал деперемежителя 2017 из выходного сигнала декодера 2027 проверочных узлов в процессе предыдущего декодирования и выводит результат вычитания на перемежитель 2019. Декодер 2027 проверочных узлов соединяет проверочные узлы согласно матрице проверки на четность, установленной ранее в декодирующем устройстве для блокового кода НППЧ, и выполняет вычисление обновлений, имеющее столько входных и выходных значений, сколько «1» соединено с проверочными узлами. Число «1», соединенных с каждым из проверочных узлов, идентично весу каждой из строк, составляющих матрицу проверки на четность. Поэтому внутреннее вычисление декодера 2027 проверочных узлов различно согласно весу каждой из строк, составляющих матрицу проверки на четность.
Перемежитель 2019 под управлением контроллера 2021 перемежает сигнал, выводимый из второго сумматора 2025, согласно заранее заданному методу и выводит перемеженный сигнал на сумматор 2015 и декодер 2011 узлов переменных. Контроллер 2021 считывает связанную с методом перемежения информацию в памяти 2023 и управляет методом перемежения перемежителя 2019 согласно считанной связанной с методом перемежения информации. Кроме того, если процесс декодирования является начальным процессом декодирования, выходной сигнал деперемежителя 2017 должен считаться как «0».
Путем неоднократного выполнения вышеприведенного процесса декодирующее устройство обеспечивает свободное от ошибок высокопроизводительное декодирование, и после того, как декодирующее устройство выполняет итеративное декодирование столько раз, сколько итераций задано заранее, переключатель 2013 отключает декодер 2011 узлов переменных от второго сумматора 2015 и в то же самое время подключает декодер 2011 узлов переменных к блоку 2029 жесткого решения, так что сигнал, выводимый из декодера 2011 узлов переменных, является входным для блока 2029 жесткого решения. Блок 2029 жесткого решения принимает жесткое решения по сигналу, выводимому из декодера 2011 узлов переменных, и выводит результат жесткого решения, и выходное значение блока 2029 жесткого решения становится конечным декодированным значением.
Как можно понять из предшествующего описания, настоящее изобретение предлагает блоковый код НППЧ с максимизированной минимальной длиной цикла в системе мобильной связи, посредством чего максимизируется исправляющая способность и улучшаются рабочие характеристики. Помимо этого, настоящее изобретение генерирует эффективную матрицу проверки на четность, посредством чего минимизируется сложность кодирования блокового кода НППЧ.
Хотя изобретение показано и описано со ссылкой на его определенное предпочтительное выполнение, специалистам будет понятно, что в нем можно делать различные изменения в форме и деталях без отхода от сущности и объема изобретения, как оно определено приложенной формулой изобретения.

Claims (39)

1. Способ генерирования матрицы проверки на четность блокового кода низкой плотности с проверкой на четность (НППЧ), причем матрица проверки на четность имеет информационную часть, соответствующую информационному слову, и первую проверочную часть, соответствующую проверке на четность, и вторую проверочную часть, соответствующую проверке на четность, содержащий следующие шаги:
определяют размер матрицы проверки на четность на основании скорости кодирования, примененной при кодировании информационного слова блоковым кодом НППЧ, и длины кодового слова;
разделяют матрицу проверки на четность, имеющую определенный размер, на заранее заданное число блоков;
классифицируют блоки на блоки, соответствующие информационной части, блоки, соответствующие первой проверочной части, и блоки, соответствующие второй проверочной части;
размещают матрицы перестановки в заранее заданных блоках среди блоков, классифицированных как первая проверочная часть, и размешают матрицы перестановки в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как вторая проверочная часть; и
размещают матрицы перестановки в блоках, классифицированных как информационная часть, так что минимальная длина цикла максимизируется, а веса являются нерегулярными на графе коэффициентов блокового кода НППЧ.
2. Способ по п.1, в котором процесс размещения матриц перестановки в блоках, классифицированных как информационная часть, так что весовые значения нерегулярны, содержит следующие шаги: определяют блоки, где матрицы перестановки будут размещаться среди блоков, классифицированных как информационная часть; размещают матрицы перестановок для блоков, имеющих ранг меньше, чем заранее заданный ранг, среди определенных блоков, где будут размещаться матрицы перестановки, так что максимизируется минимальная длина цикла; и хаотически размещают матрицы перестановки для блоков, имеющих ранг больше или равный заранее заданному среди определенных блоков, где будут размещаться матрицы перестановок.
3. Способ по п.1, в котором матрицы перестановок в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как вторая проверочная часть, являются единичными матрицами.
4. Способ по п.3, в котором шаг размещения матриц перестановок в заранее заданных блоках среди блоков, классифицированных как первая проверочная часть, и размещения единичных матриц в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как вторая проверочная часть, содержит следующие шаги: классифицируют блоки, составляющие первую проверочную часть, на блоки, соответствующие первому частичному блоку, и блоки, соответствующие второму частичному блоку, и классифицируют блоки, составляющие вторую проверочную часть, на блоки, соответствующие третьему частичному блоку, и блоки, соответствующие четвертому частичному блоку; размещают матрицы перестановок в заранее заданных блоках среди блоков, классифицированных как первый частичный блок и второй частичный блок; размещают единичные матрицы в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как третий частичный блок; и размещают матрицы перестановок в заранее заданном блоке среди блоков, классифицированных как четвертый частичный блок.
5. Способ по п.4, в котором блоки, где единичные матрицы размещаются среди блоков, классифицированных как третий частичный блок, являются блоками, составляющими диагональ среди блоков, классифицированных как третий частичный блок.
6. Способ по п.4, содержащий далее шаг, на котором размещают матрицы перестановок в нижних блоках, которые параллельны блокам, где единичные матрицы размещаются среди блоков, классифицированных как третий частичный блок.
7. Способ по п.4, в котором блок, где матрицы перестановок размещаются среди блоков, классифицированных как четвертый частичный блок, является последним блоком среди блоков, классифицированных как четвертый частичный блок.
8. Способ по п.4, в котором матрицы перестановок определяются так, что матрица, определенная путем сложения матриц перестановок, размещенных во втором частичном блоке, и матричное произведение матриц перестановок, размещенных в четвертом частичном блоке, инверсные матрицы матриц перестановок, размещенных в третьем частичном блоке, и матрицы перестановок, размещенные в первом частичном блоке, являются единичными матрицами.
9. Устройство для декодирования блокового кода низкой плотности с проверкой на четность (НППЧ), содержащее
декодер узлов переменных для соединения узлов переменных согласно весу каждого столбца, составляющего матрицу проверки на четность, состоящую из информационной части, соответствующей информационному слову, и первой проверочной части и второй проверочной части, каждая из которых соответствует проверке на четность согласно заранее заданному контрольному сигналу, и для нахождения значений вероятности принятого сигнала;
первый сумматор для вычитания сигнала, генерированного в предыдущем процессе декодирования, из сигнала, выданного из декодера узлов переменных в текущем процессе декодирования;
деперемежитель для деперемежения сигнала, выданного из первого сумматора, с помощью метода деперемежения, установленного согласно матрице проверки на четность;
декодер узлов проверки для соединения узлов проверки согласно весу каждой строки матрицы проверки на четность, и для нахождения значений вероятности сигнала, выданного из деперемежителя, согласно заранее заданному контрольному сигналу;
второй сумматор для вычитания сигнала, выданного из деперемежителя, из сигнала, выданного из декодера узлов проверки;
перемежитель для перемежения сигнала, выданного из второго сумматора, с помощью метода перемежения, установленного согласно матрице проверки на четность, и для выведения перемеженного сигнала на декодер узлов переменных и первый сумматор; и
контроллер для генерирования матрицы проверки на четность и управления методом деперемежения и методом перемежения согласно матрице проверки на четность.
10. Устройство по п.9, в котором контроллер генерирует матрицу проверки на четность путем нахождения размера матрицы проверки на четность, так что этот размер соответствует скорости кодирования, применяемой при кодировании информационного слова блоковым кодом НППЧ, и длине кодового слова, разделения матрицы проверки на четность определенного размера на заранее заданное число блоков, классификации этих блоков на блоки, соответствующие информационной части, блоки, соответствующие первой проверочной части, и блоки, соответствующие второй проверочной части, размещения матриц перестановок в заранее заданных блоках среди блоков, классифицированных как первая проверочная часть, размещения матриц перестановок в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как вторая проверочная часть, и размещения матриц перестановок в блоках, классифицированных как информационная часть, так что минимальная длина цикла максимизируется и весовые значения являются нерегулярными на графе коэффициентов блокового кода НППЧ.
11. Устройство по п.10, в котором матрицы перестановок в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как вторая проверочная часть, являются единичными матрицами.
12. Устройство по п.11, в котором контроллер находит блоки, где матрицы перестановок будут размещаться среди блоков, классифицированных как информационная часть; размещает матрицы перестановок для блоков с рангом ниже, чем заранее заданный ранг, среди определенных блоков, где будут размещаться матрицы перестановок, так что минимальная длина цикла максимизируется; и хаотически размещает матрицы перестановок для блоков с рангом больше или равным заранее заданному рангу среди определенных блоков, где будут размещаться матрицы перестановок.
13. Устройство по п.11, в котором контроллер классифицирует блоки, составляющие первую проверочную часть, на блоки, соответствующие первому частичному блоку, и блоки, соответствующие второму частичному блоку, классифицирует блоки, составляющие вторую проверочную часть, на блоки, соответствующие третьему частичному блоку, и блоки, соответствующие четвертому частичному блоку, размещает матрицы перестановок в заранее заданных блоках среди блоков, классифицированных как первый частичный блок и второй частичный блок, размещает единичные матрицы в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как третий частичный блок, и размещает матрицы перестановок в заранее заданном блоке среди блоков, классифицированных как четвертый частичный блок.
14. Устройство по п.13, в котором контроллер размещает единичные матрицы в блоках, составляющих диагональ среди блоков, классифицированных как третий частичный блок.
15. Устройство по п.13, в котором контроллер размещает матрицы перестановок в нижних блоках, которые параллельны блокам, где единичные матрицы размещаются среди блоков, классифицированных как третий частичный блок.
16. Устройство по п.13, в котором контроллер размещает матрицы перестановок в последнем блоке среди блоков, классифицированных как четвертый частичный блок.
17. Устройство по п.13, в котором контроллер находит матрицы перестановок, так что матрица, определенная путем сложения матриц перестановок, размещенных во втором частичном блоке, и матричного произведения матриц перестановок, размещенного в четвертом частичном блоке, обратные матрицы матриц перестановок, размещенных в третьем частичном блоке, и матрицы перестановок, размещенные в первом частичном блоке, становятся единичными матрицами.
18. Способ декодирования блокового кода низкой плотности с проверкой на четность (НППЧ), содержащий следующие шаги:
генерируют матрицу проверки на четность, состоящую из информационной части, соответствующей информационному слову, и первой проверочной части и второй проверочной части, каждая из которых соответствует проверке на четность, и определяют метод деперемежения и метод перемежения согласно матрице проверки на четность;
определяют значения вероятности приема сигнала;
генерируют первый сигнал путем вычитания сигнала, генерированного в предыдущем процессе декодирования, из значений вероятности принятого сигнала;
деперемежают первый сигнал с помощью метода деперемежения;
определяют значения вероятности из деперемеженного сигнала;
генерируют второй сигнал путем вычитания деперемеженного сигнала из значений вероятности деперемеженного сигнала; и
перемежают второй сигнал с помощью метода перемежения и итеративно декодируют перемеженный сигнал.
19. Способ по п.18, в котором шаг генерирования матрицы проверки на четность содержит следующие шаги: определяют размер матрицы проверки на четность на основании скорости кодирования при кодировании информации блоковым кодом НППЧ и длины кодового слова; классифицируют блоки на блоки, соответствующие информационной части, блоки, соответствующие первой проверочной части, и блоки, соответствующие второй проверочной части; размещают матрицы перестановок в заранее заданных блоках среди блоков, классифицированных как первая проверочная часть, и размешают матрицы перестановок в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как вторая проверочная часть; и размещают матрицы перестановок в блоках, классифицированных как информационная часть, так что минимальная длина цикла максимизируется и весовые значения являются нерегулярными на графе коэффициентов блокового кода НППЧ.
20. Способ по п.19, в котором матрицы перестановок в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как вторая проверочная часть, являются единичными матрицами.
21. Способ по п.20, в котором шаг размещения матриц перестановки в блоках, классифицированных как информационная часть, так что весовые значения являются нерегулярными, содержит следующие шаги: нахождение блоков, где будут располагаться матрицы перестановок, среди блоков, классифицированных как информационная часть; размещение матриц перестановки для блоков с рангом меньше, чем заранее заданный ранг, среди определенных блоков, где будут размещаться матрицы перестановок, так что минимальная длина цикла максимизируется; и хаотическое размещение матриц перестановок для блоков с рангом больше или равным заранее заданному рангу, среди определенных блоков, где будут размещаться матрицы перестановок.
22. Способ по п.20, в котором шаг размещения матриц перестановок в заранее заданных блоках среди блоков, классифицированных как первая проверочная часть, и размещения единичных матриц в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как вторая проверочная часть, содержит следующие шаги:
классифицируют блоки, составляющие первую проверочную часть, на блоки, соответствующие первому частичному блоку, и блоки, соответствующие второму частичному блоку, и классифицируют блоки, составляющие вторую проверочную часть, на блоки, соответствующие третьему частичному блоку, и блоки, соответствующие четвертому частичному блоку; размещают матрицы перестановок в заранее заданных блоках среди блоков, классифицированных как первый частичный блок и второй частичный блок; размещают единичные матрицы в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как третий частичный блок; и размещают матрицы перестановок в заранее заданном блоке среди блоков, классифицированных как четвертый частичный блок.
23. Способ по п.22, в котором блоки, где единичные матрицы размещаются среди блоков, классифицированных как третий частичный блок, являются блоками, составляющими диагональ среди блоков, классифицированных как третий частичный блок.
24. Способ по п.22, содержащий далее шаг, на котором размещают матрицы перестановок в нижних блоках, которые параллельны блокам, где единичные матрицы размещаются среди блоков, классифицированных как третий частичный блок.
25. Способ по п.22, в котором блок, где матрицы перестановок размещаются среди блоков, классифицированных как четвертый частичный блок, является последним блоком среди блоков, классифицированных как четвертый частичный блок.
26. Способ по п.22, в котором матрицы перестановок определяются так, что матрица, определенная путем сложения матриц перестановок, размещенных во втором частичном блоке, и матричное произведение матриц перестановок, размещенных в четвертом частичном блоке, инверсные матрицы матриц перестановок, размещенных в третьем частичном блоке, и матрицы перестановок, размещенные в первом частичном блоке, являются единичными матрицами.
27. Устройство для кодирования блокового кода низкой плотности с проверкой на четность (НППЧ), содержащее первый матричный перемножитель для перемножения принятого информационного слова на первую частичную матрицу матрицы проверки на четность, состоящей из информационной части, соответствующей информационному слову, и первой проверочной части и второй проверочной части, каждая из которых соответствует проверке на четность;
второй матричный перемножитель для перемножения информационного слова на вторую частичную матрицу матрицы проверки на четность;
третий матричный перемножитель для перемножения сигнала, выданного из первого матричного перемножителя, на матричное произведение из третьей частичной матрицы и обратной матрицы от четвертой частичной матрицы из матрицы проверки на четность;
первый сумматор для сложения сигнала, выданного из второго матричного перемножителя, и сигнала, выданного из третьего матричного перемножителя;
четвертый матричный перемножитель для перемножения сигнала, выданного из первого сумматора, на пятую частичную матрицу матрицы проверки на четность;
второй сумматор для сложения сигнала, выданного из первого матричного перемножителя, и сигнала, выданного из четвертого матричного перемножителя;
пятый матричный перемножитель для перемножения сигнала, выданного из второго сумматора, на обратную матрицу от четвертой частичной матрицы из матрицы проверки на четность; и
переключатели для мультиплексирования информационного слова, выходного сигнала первого сумматора в качестве первой проверочной части и выходного сигнала пятого перемножителя в качестве второй проверочной части согласно формату блокового кода НППЧ.
28. Устройство по п.27, в котором первая частичная матрица и вторая частичная матрица являются частичными матрицами, соответствующими информационной части, а матрицы перестановок размещаются так, что минимальная длина цикла максимизируется и весовые значения являются нерегулярными на графе коэффициентов блокового кода НППЧ.
29. Устройство по п.27, в котором пятая частичная матрица и шестая частичная матрица являются частичными матрицами, соответствующими первой проверочной части, третья частичная матрица и четвертая частичная матрица являются частичными матрицами, соответствующими второй проверочной части; пятая частичная матрица и шестая частичная матрица являются частичными матрицами, где матрицы перестановок размещаются в заранее заданных позициях, а четвертая частичная матрица является частичной матрицей, где матрицы перестановок размещаются в полной нижней треугольной форме.
30. Устройство по п.29, в котором матрицы перестановок в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как вторая проверочная часть, являются единичными матрицами.
31. Способ кодирования блокового кода низкой плотности с проверкой на четность (НППЧ), содержащий следующие шаги:
генерируют первый сигнал путем перемножения информационного слова на первую частичную матрицу ранее генерированной матрицы проверки на четность, состоящей из информационной части, соответствующей информационному слову, и первой проверочной части и второй проверочной части, каждая из которых соответствует проверке на четность;
генерируют второй сигнал путем перемножения информационного слова на вторую частичную матрицу матрицы проверки на четность;
генерируют третий сигнал путем перемножения первого сигнала на матричное произведение третьей частичной матрицы и обратной матрицы от четвертой частичной матрицы из матрицы проверки на четность;
генерируют четвертый сигнал путем сложения второго сигнала и третьего сигнала;
генерируют пятый сигнал путем перемножения четвертого сигнала на пятую частичную матрицу матрицы проверки на четность;
генерируют шестой сигнал путем сложения первого сигнала и пятого сигнала;
генерируют седьмой сигнал путем перемножения шестого сигнала на обратную матрицу от четвертой частичной матрицы из матрицы проверки на четность; и
мультиплексируют информационное слово, четвертый сигнал в качестве первой проверочной части и седьмой сигнал в качестве второй проверочной части согласно формату блокового кода НППЧ.
32. Способ по п.31, в котором первая частичная матрица и вторая частичная матрица являются частичными матрицами, соответствующими информационной части, а матрицы перестановок размещаются так, что минимальная длина цикла максимизируется и весовые значения являются нерегулярными на графе коэффициентов блокового кода НППЧ.
33. Способ по п.32, в котором пятая частичная матрица и шестая частичная матрица являются частичными матрицами, соответствующими первой проверочной части, третья частичная матрица и четвертая частичная матрица являются частичными матрицами, соответствующими второй проверочной части; пятая частичная матрица и шестая частичная матрица являются частичными матрицами, где матрицы перестановок размещаются в заранее заданных позициях, а четвертая частичная матрица является частичной матрицей, где матрицы перестановок размещаются в полной нижней треугольной форме.
34. Способ по п.33, в котором матрицы перестановок в полной нижней треугольной форме в заранее заданных блоках среди блоков, классифицированных как вторая проверочная часть, являются единичными матрицами.
35. Способ генерирования матрицы проверки на четность, причем эта матрица проверки на четность размещается в матрице строк и столбцов множества информационных частичных блоков и множества проверочных частичных блоков, матрица проверки на четность разделяется на информационную часть, состоящую из матриц информационных частичных блоков, и проверочную часть, состоящую из матриц проверочных частичных блоков, причем каждый из информационных частичных блоков состоит из матрицы, представляющей множество информационных битов, каждый из проверочных частичных блоков состоит из матрицы, представляющей множество битов проверки на четность, каждый из информационных частичных блоков и проверочных частичных блоков существуют во множестве строк в матрице проверки на четность, разделенной на первую информационную матрицу, первую проверочную матрицу и вторую проверочную матрицу, каждый из информационных частичных блоков и проверочных частичных блоков существуют во множестве остальных строк за исключением множества строк, разделенных на вторую информационную матрицу, третью проверочную матрицу и четвертую проверочную матрицу; и первая и вторая информационные матрицы, первая и третья проверочные матрицы, и вторая и четвертая проверочные матрицы размещены в одних и тех столбцах, соответственно, при этом способ содержит следующие шаги:
суммируют третью проверочную матрицу и произведение четвертой проверочной матрицы, обратной матрицы от второй проверочной матрицы и первой проверочной матрицы, так что сумма является единичной матрицей;
определяют транспонированный вектор первого проверочного вектора, соответствующего первой проверочной матрице и третьей проверочной матрице, так что этот транспонированный вектор равен произведению суммы второй информационной матрицы и произведения четвертой проверочной матрицы, обратной матрицы от второй проверочной матрицы и первой информационной матрицы на информационный вектор, соответствующий первой информационной матрице и второй информационной матрице; и
определяют транспонированный вектор второго проверочного вектора, соответствующего второй проверочной матрице и четвертой проверочной матрице, так что этот транспонированный вектор равен произведению обратной матрицы от второй проверочной матрицы на сумму произведения первой информационной матрицы и транспонированного вектора информационного вектора и произведения первой проверочной матрицы и транспонированного вектора первого проверочного вектора.
36. Способ по п.35, в котором вторая проверочная матрица является полной нижней треугольной матрицей.
37. Способ по п.35, в котором первая информационная матрица и вторая информационная матрица имеют нерегулярные весовые значения.
38. Способ генерирования матрицы проверки на четность блокового кода низкой плотности с проверкой на четность (НППЧ), при этом матрица проверки на четность размещается в матрице строк и столбцов множества частичных блоков, а матрицы перестановки, генерированные путем сдвига единичной матрицы размером Ns×Ns на заранее заданную экспоненту согласно каждому из частичных блоков, размещаются в каждом из частичных блоков, при этом способ содержит следующие шаги:
определяют блоковый цикл блокового кода НППЧ в качестве первого значения; и
определяют второе значение такое, что второе значение равно результату перемножения упомянутого второго значения на значение, определенное вычитанием суммы экспонент матриц перестановки с нечетной экспонентой среди матриц перестановки, размещенных в каждом из частичных блоков, из суммы экспонент перестановок с четной экспонентой среди матриц перестановок, размещенных в каждом из частичных блоков, и выполняют контрольную операцию так, что каждый из частичных блоков имеет цикл, соответствующий произведению первого значения и второго значения.
39. Способ по п.38, в котором экспонента больше или равна 1 и меньше или равна первому значению.
RU2006109470/09A 2003-08-26 2004-08-26 Устройство и способ кодирования-декодирования блоковых кодов низкой плотности с контролем на четность в системе мобильной связи RU2316111C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2003-0059206 2003-08-26
KR1020030059206A KR100809619B1 (ko) 2003-08-26 2003-08-26 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법

Publications (2)

Publication Number Publication Date
RU2006109470A RU2006109470A (ru) 2006-07-10
RU2316111C2 true RU2316111C2 (ru) 2008-01-27

Family

ID=36830604

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006109470/09A RU2316111C2 (ru) 2003-08-26 2004-08-26 Устройство и способ кодирования-декодирования блоковых кодов низкой плотности с контролем на четность в системе мобильной связи

Country Status (9)

Country Link
US (4) US7313752B2 (ru)
EP (1) EP1511177B1 (ru)
JP (2) JP4160617B2 (ru)
KR (1) KR100809619B1 (ru)
CN (2) CN102164022B (ru)
AU (1) AU2004302428B2 (ru)
CA (1) CA2531806C (ru)
RU (1) RU2316111C2 (ru)
WO (1) WO2005020500A1 (ru)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2450443C1 (ru) * 2008-02-26 2012-05-10 Самсунг Электроникс Ко., Лтд. Способ и устройство для канального кодирования и декодирования в системе связи, в которой используются коды контроля четности с низкой плотностью
RU2461963C2 (ru) * 2008-04-30 2012-09-20 ЗетТиИ Корпорейшн Способ и устройство для декодирования кода с генераторной матрицей низкой плотности
RU2461970C2 (ru) * 2008-05-07 2012-09-20 ЗетТиИ Корпорейшн Способ и устройство для приема данных
RU2475955C2 (ru) * 2009-03-26 2013-02-20 Сони Корпорейшн Приемное устройство, способ приема, программа и приемная система
RU2480905C2 (ru) * 2008-10-08 2013-04-27 Сони Корпорейшн Устройство циклического сдвига, способ циклического сдвига, устройство декодирования ldpc-кода, телевизионный приемник и приемная система
RU2574828C2 (ru) * 2010-09-03 2016-02-10 Сони Корпорейшн Устройство обработки данных и способ обработки данных
RU2595579C2 (ru) * 2011-04-28 2016-08-27 Сони Корпорейшн Устройство обработки данных и способ обработки данных
RU2598318C2 (ru) * 2011-10-10 2016-09-20 Самсунг Электроникс Ко., Лтд. Устройство и способ для передачи и приема данных в системе связи/широковещания
RU2656723C2 (ru) * 2013-05-02 2018-06-06 Сони Корпорейшн Устройство обработки данных и способ обработки данных
RU2656726C2 (ru) * 2013-05-02 2018-06-06 Сони Корпорейшн Устройство обработки данных и способ обработки данных
RU2656725C2 (ru) * 2013-05-02 2018-06-06 Сони Корпорейшн Устройство обработки данных и способ обработки данных
RU2708349C1 (ru) * 2019-06-03 2019-12-05 Акционерное общество "Концерн "Созвездие" Способ передачи данных на основе кодов с низкой плотностью проверок на четность

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4224777B2 (ja) * 2003-05-13 2009-02-18 ソニー株式会社 復号方法および復号装置、並びにプログラム
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR101009785B1 (ko) * 2003-12-10 2011-01-19 삼성전자주식회사 불균일 반복 축적 부호 부호화/복호화 장치 및 방법
WO2005096510A1 (en) * 2004-04-02 2005-10-13 Nortel Networks Limited Ldpc encoders, decoders, systems and methods
CA2559818C (en) * 2004-04-28 2011-11-29 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code with variable block length
US7171603B2 (en) * 2004-05-06 2007-01-30 Motorola, Inc. Method and apparatus for encoding and decoding data
KR20050118056A (ko) * 2004-05-12 2005-12-15 삼성전자주식회사 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
KR100739510B1 (ko) * 2004-06-16 2007-07-13 포항공과대학교 산학협력단 반구조적 블록 저밀도 패리티 검사 부호 부호화/복호 장치및 방법
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
US7395490B2 (en) 2004-07-21 2008-07-01 Qualcomm Incorporated LDPC decoding methods and apparatus
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
EP1779525A1 (en) * 2004-08-05 2007-05-02 Nokia Corporation Irregularly structured, low denisty parity check codes
US7143333B2 (en) * 2004-08-09 2006-11-28 Motorola, Inc. Method and apparatus for encoding and decoding data
JP4672016B2 (ja) * 2004-08-09 2011-04-20 エルジー エレクトロニクス インコーポレイティド 低密度パリティ検査行列を用いた符号化及び復号化方法
CA2563642C (en) 2004-08-10 2013-10-01 Samsung Electronics Co., Ltd. Apparatus and method for encoding and decoding a block low density parity check code
US7506238B2 (en) 2004-08-13 2009-03-17 Texas Instruments Incorporated Simplified LDPC encoding for digital communications
CA2560852C (en) * 2004-08-16 2011-11-01 Samsung Electronics Co., Ltd. Apparatus and method for coding/decoding block low density parity check code with variable block length
KR100612047B1 (ko) * 2004-09-09 2006-08-14 한국전자통신연구원 성장 네트워크 모델을 이용한 엘디피시 부호의 형성방법
KR100684168B1 (ko) * 2004-12-09 2007-02-20 한국전자통신연구원 최적붙임방법을 이용한 다중 부호율 ldpc 부호의디자인 방법
WO2006031092A2 (en) * 2004-09-17 2006-03-23 Lg Electronics Inc. Method of encoding and decoding using ldpc code
KR101065693B1 (ko) * 2004-09-17 2011-09-19 엘지전자 주식회사 Ldpc 코드를 이용한 부호화, 복호화 방법 및 부호화또는 복호화를 위한 ldpc 코드 생성 방법
EP1800408A1 (en) * 2004-10-01 2007-06-27 Thomson Licensing A low density parity check (ldpc) decoder
US7752521B2 (en) * 2004-10-12 2010-07-06 Nortel Networks Limited Low density parity check (LDPC) code
WO2006039801A1 (en) 2004-10-12 2006-04-20 Nortel Networks Limited System and method for low density parity check encoding of data
KR100913876B1 (ko) * 2004-12-01 2009-08-26 삼성전자주식회사 저밀도 패리티 검사 부호의 생성 방법 및 장치
WO2006068435A2 (en) 2004-12-22 2006-06-29 Lg Electronics Inc. Apparatus and method for decoding using channel code
CN100486150C (zh) * 2005-01-23 2009-05-06 中兴通讯股份有限公司 基于非正则低密度奇偶校验码的编译码器及其生成方法
KR20060097503A (ko) 2005-03-11 2006-09-14 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널인터리빙/디인터리빙 장치 및 그 제어 방법
KR20060108959A (ko) * 2005-04-13 2006-10-19 삼성전자주식회사 블록단위의 저밀도 패리티 체크 행렬 생성 방법 및 장치와그 기록매체
JP4617985B2 (ja) * 2005-04-25 2011-01-26 ソニー株式会社 符号装置および符号化方法
KR101042747B1 (ko) 2005-06-21 2011-06-20 삼성전자주식회사 구조적 저밀도 패리티 검사 부호를 사용하는 통신시스템에서 데이터 송수신 장치 및 방법
US7499490B2 (en) * 2005-06-24 2009-03-03 California Institute Of Technology Encoders for block-circulant LDPC codes
KR20060135451A (ko) * 2005-06-25 2006-12-29 삼성전자주식회사 저밀도 패리티 검사 행렬 부호화 방법 및 장치
KR100941680B1 (ko) 2005-07-01 2010-02-12 삼성전자주식회사 준순환 저밀도 패리티 검사 부호의 생성 방법 및 장치
US7657816B2 (en) * 2005-07-13 2010-02-02 Leanics Corporation Low-complexity hybrid LDPC code encoder
US7559008B1 (en) * 2005-10-03 2009-07-07 Maxtor Corporation Nested LDPC encoders and decoder
KR100809616B1 (ko) 2005-10-19 2008-03-05 삼성전자주식회사 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
JP4558638B2 (ja) * 2005-12-15 2010-10-06 富士通株式会社 符号器および復号器
KR20070063851A (ko) 2005-12-15 2007-06-20 삼성전자주식회사 패리티 검사 행렬, 패리티 검사 행렬 생성 방법, 인코딩방법 및 에러 정정 장치
WO2007075043A2 (en) * 2005-12-27 2007-07-05 Lg Electronics Inc. Methods and apparatuses for decoding or encoding using channel code or ldpc
US8271850B2 (en) * 2005-12-29 2012-09-18 Intel Corporation Fast low-density parity-check code encoder
CN100438394C (zh) * 2006-01-12 2008-11-26 北京大学 非规则置换矩阵ldpc码的构造方法及装置
US20070180344A1 (en) * 2006-01-31 2007-08-02 Jacobsen Eric A Techniques for low density parity check for forward error correction in high-data rate transmission
KR100899738B1 (ko) 2006-02-02 2009-05-27 삼성전자주식회사 노드 메모리 기반의 ldpc 복호기 및 복호방법
US20070198905A1 (en) * 2006-02-03 2007-08-23 Nokia Corporation Transmitter for a communications network
KR100933139B1 (ko) 2006-02-22 2009-12-21 삼성전자주식회사 통신 시스템에서 신호 수신 장치 및 방법
US7657821B1 (en) * 2006-05-09 2010-02-02 Cisco Technology, Inc. Error detecting code for multi-character, multi-lane, multi-level physical transmission
WO2007145491A1 (en) * 2006-06-15 2007-12-21 Samsung Electronics Co., Ltd. Apparatus and method of encoding/decoding block low density parity check codes in a communication system
KR101154995B1 (ko) 2006-07-14 2012-06-15 엘지전자 주식회사 Ldpc 부호화를 수행하는 방법
JP4856605B2 (ja) * 2006-08-31 2012-01-18 パナソニック株式会社 符号化方法、符号化装置、及び送信装置
US8108758B2 (en) 2006-09-22 2012-01-31 Mcgill University Stochastic decoding of LDPC codes
KR101311634B1 (ko) * 2006-10-09 2013-09-26 엘지전자 주식회사 무선 통신 시스템의 부호어 생성 방법
US8117514B2 (en) 2006-11-13 2012-02-14 Qualcomm Incorporated Methods and apparatus for encoding data in a communication network
US8271851B2 (en) 2006-11-13 2012-09-18 France Telecom Encoding and decoding a data signal as a function of a correcting code
KR101433375B1 (ko) * 2006-12-04 2014-08-29 삼성전자주식회사 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
US7913149B2 (en) * 2006-12-20 2011-03-22 Lsi Corporation Low complexity LDPC encoding algorithm
WO2008092040A2 (en) * 2007-01-24 2008-07-31 Qualcomm Incorporated Ldpc encoding and decoding of packets of variable sizes
US8261155B2 (en) * 2007-03-09 2012-09-04 Qualcomm Incorporated Methods and apparatus for encoding and decoding low density parity check (LDPC) codes
KR100975696B1 (ko) * 2007-04-05 2010-08-12 삼성전자주식회사 통신 시스템에서 부호화 장치 및 방법
JP4788650B2 (ja) * 2007-04-27 2011-10-05 ソニー株式会社 Ldpc復号装置およびその復号方法、並びにプログラム
KR20080102902A (ko) * 2007-05-22 2008-11-26 삼성전자주식회사 가변 부호화율을 가지는 ldpc 부호 설계 방법, 장치 및그 정보 저장 매체
US8117523B2 (en) * 2007-05-23 2012-02-14 California Institute Of Technology Rate-compatible protograph LDPC code families with linear minimum distance
TW200906073A (en) * 2007-07-31 2009-02-01 Univ Nat Chiao Tung Calculation method applied to Low Density Parity check Code (LDPC) decoder and circuit thereof
US8196010B1 (en) 2007-08-17 2012-06-05 Marvell International, Ltd. Generic encoder for low-density parity-check (LDPC) codes
JP4487212B2 (ja) * 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、送受信システム、受信装置および方法、並びにプログラム
US8301963B2 (en) * 2007-10-23 2012-10-30 Spansion Llc Low-density parity-check code based error correction for memory device
US8219876B2 (en) 2007-10-24 2012-07-10 Core Wireless Licensing, S.a.r.l. Method, apparatus, computer program product and device providing semi-parallel low density parity check decoding using a block structured parity check matrix
KR101447751B1 (ko) * 2007-11-19 2014-10-13 삼성전자주식회사 블록 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서패리티 검사 행렬 생성 장치 및 방법
TWI390856B (zh) * 2007-11-26 2013-03-21 Sony Corp Data processing device and data processing method
US8473824B1 (en) * 2008-09-08 2013-06-25 Marvell International Ltd. Quasi-cyclic low-density parity-check (QC-LDPC) encoder
KR101502624B1 (ko) * 2007-12-06 2015-03-17 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
US8429486B2 (en) 2007-12-13 2013-04-23 Nec Corporation Decoding device, data storage device, data communication system, and decoding method
KR100949519B1 (ko) * 2007-12-18 2010-03-24 한국전자통신연구원 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법
KR101445080B1 (ko) * 2008-02-12 2014-09-29 삼성전자 주식회사 하이브리드 자동 반복 요구 방식을 사용하는 통신 시스템에서 신호 송신 방법 및 장치
ES2437143T3 (es) * 2008-02-18 2014-01-09 Samsung Electronics Co., Ltd. Aparato y método para codificación y descodificación de canal en un sistema de comunicación utilizando códigos de comprobación de paridad de baja densidad
KR20090117580A (ko) 2008-05-08 2009-11-12 엘지전자 주식회사 부호어의 생성 방법
US8370711B2 (en) 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
EP2306653A4 (en) * 2008-07-04 2015-04-01 Mitsubishi Electric Corp VERIFYING MATRIX CREATING DEVICE, VERIFYING MATRIX CREATING METHOD, VERIFYING MATRIX CREATING PROGRAM, TRANSMITTING DEVICE, RECEIVING DEVICE, AND COMMUNICATION SYSTEM
WO2010006430A1 (en) * 2008-07-15 2010-01-21 The Royal Institution For The Decoding of linear codes with parity check matrix
US8443033B2 (en) * 2008-08-04 2013-05-14 Lsi Corporation Variable node processing unit
CN101686061A (zh) * 2008-09-27 2010-03-31 松下电器产业株式会社 构造低密度奇偶校验码的方法及发送/接收装置和系统
US8612823B2 (en) * 2008-10-17 2013-12-17 Intel Corporation Encoding of LDPC codes using sub-matrices of a low density parity check matrix
TWI383617B (zh) * 2008-10-31 2013-01-21 Ind Tech Res Inst 具排列架構之無線通訊方法及系統
CN101442318B (zh) * 2008-11-06 2012-04-25 上海交通大学 基于近似下三角结构校验矩阵的低时延ira码编码器
US8719655B2 (en) 2009-02-06 2014-05-06 Marvell Hispania S.L. Method and device for communicating data across noisy media
JP4898858B2 (ja) * 2009-03-02 2012-03-21 パナソニック株式会社 符号化器、復号化器及び符号化方法
US8407555B2 (en) 2009-03-30 2013-03-26 Broadcom Corporation LDPC codes robust to non-stationary narrowband ingress noise
US8464123B2 (en) * 2009-05-07 2013-06-11 Ramot At Tel Aviv University Ltd. Matrix structure for block encoding
TWI427936B (zh) * 2009-05-29 2014-02-21 Sony Corp 接收設備,接收方法,程式,及接收系統
US8423861B2 (en) * 2009-11-19 2013-04-16 Lsi Corporation Subwords coding using different interleaving schemes
US8352847B2 (en) * 2009-12-02 2013-01-08 Lsi Corporation Matrix vector multiplication for error-correction encoding and the like
US8572463B2 (en) * 2010-02-01 2013-10-29 Sk Hynix Memory Solutions Inc. Quasi-cyclic LDPC encoding and decoding for non-integer multiples of circulant size
US8443257B1 (en) 2010-02-01 2013-05-14 Sk Hynix Memory Solutions Inc. Rate-scalable, multistage quasi-cyclic LDPC coding
US8448041B1 (en) * 2010-02-01 2013-05-21 Sk Hynix Memory Solutions Inc. Multistage LDPC encoding
US8504894B1 (en) 2010-03-04 2013-08-06 Sk Hynix Memory Solutions Inc. Systematic encoding for non-full row rank, quasi-cyclic LDPC parity check matrices
US8443249B2 (en) * 2010-04-26 2013-05-14 Lsi Corporation Systems and methods for low density parity check data encoding
US8527831B2 (en) * 2010-04-26 2013-09-03 Lsi Corporation Systems and methods for low density parity check data decoding
US8381065B2 (en) * 2010-10-01 2013-02-19 Nec Laboratories America, Inc. Modified progressive edge-growth LDPC codes for ultra-high-speed serial optical transport
JP5434890B2 (ja) * 2010-11-18 2014-03-05 株式会社Jvcケンウッド 符号化装置、符号化方法、プログラム
KR20120071511A (ko) * 2010-12-23 2012-07-03 한국전자통신연구원 이동통신 시스템의 데이터 레이트 매칭 방법 및 장치
KR101702358B1 (ko) 2011-01-06 2017-02-03 삼성전자주식회사 저밀도 패리티 검사 코드를 사용하는 통신 시스템에서의 채널 부호화/복호화 방법 및 장치
KR20120088369A (ko) * 2011-01-31 2012-08-08 삼성전자주식회사 방송 및 통신시스템에서 송?수신 방법 및 장치
KR101772008B1 (ko) * 2011-03-03 2017-09-05 삼성전자주식회사 통신 및 방송시스템에서 송수신 방법 및 장치
EP3547550A1 (en) 2011-03-30 2019-10-02 Samsung Electronics Co., Ltd. Apparatus and method for mapping and demapping signals in a communication system using a low density parity check code
KR101865068B1 (ko) * 2011-03-30 2018-06-08 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 시스템에서 신호 맵핑/디맵핑 장치 및 방법
EP2525497A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
DE102011078645A1 (de) * 2011-07-05 2013-01-10 Robert Bosch Gmbh Verfahren zum sicheren Prüfen eines Codes
CN102255693B (zh) * 2011-07-18 2014-01-29 国网信息通信有限公司 用于电力线通信的纠错编码方法
KR101922990B1 (ko) 2011-11-11 2018-11-28 삼성전자주식회사 멀티미디어 통신 시스템에서 준순환 저밀도 패리티 검사 부호 송/수신 장치 및 방법
JP5665725B2 (ja) * 2011-12-13 2015-02-04 株式会社東芝 符号化装置及びこれを用いた半導体メモリシステム
KR101685010B1 (ko) 2012-06-01 2016-12-13 한국전자통신연구원 지상파 클라우드 방송을 위한 ldpc 부호
CN104488196B (zh) 2012-11-05 2017-08-01 三菱电机株式会社 纠错编码方法及纠错编码装置
WO2014127140A1 (en) * 2013-02-13 2014-08-21 Qualcomm Incorporated Design for lifted ldpc codes having high parallelism, low error floor, and simple encoding principle
US8930792B2 (en) * 2013-02-14 2015-01-06 Lsi Corporation Systems and methods for distributed low density parity check decoding
US20160173229A1 (en) * 2013-08-05 2016-06-16 Lg Electronics Inc. Method and device for receiving signals in wireless access system
US9104589B1 (en) * 2013-10-16 2015-08-11 L-3 Communications Corp. Decoding vectors encoded with a linear block forward error correction code having a parity check matrix with multiple distinct pattern regions
KR102254102B1 (ko) * 2015-01-23 2021-05-20 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10404284B1 (en) 2015-07-21 2019-09-03 L-3 Communications Corp. Parallel-to-parallel conversion and reordering of a block of data elements
US10382064B2 (en) * 2015-10-13 2019-08-13 SK Hynix Inc. Efficient LDPC encoder for irregular code
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
US10129178B1 (en) 2015-12-02 2018-11-13 L-3 Communications Corp. Combining and processing as a whole portions of a ordered segment of data elements split between two communications channels
US10635909B2 (en) * 2015-12-30 2020-04-28 Texas Instruments Incorporated Vehicle control with efficient iterative triangulation
CN108432167B (zh) * 2016-01-14 2021-07-30 苹果公司 对消息进行编码解码的装置、系统和计算机可读介质
JP6699738B2 (ja) * 2016-01-29 2020-05-27 日本電気株式会社 情報処理装置、情報処理方法、及び、コンピュータプログラム
US10469104B2 (en) 2016-06-14 2019-11-05 Qualcomm Incorporated Methods and apparatus for compactly describing lifted low-density parity-check (LDPC) codes
EP3832922A1 (en) * 2016-07-15 2021-06-09 Sharp Kabushiki Kaisha Transmission apparatus, reception apparatus, transmission method, and reception method
TWI602188B (zh) * 2017-01-03 2017-10-11 慧榮科技股份有限公司 用來於記憶裝置中進行資料管理之方法以及記憶裝置及其控制器
US10340949B2 (en) * 2017-02-06 2019-07-02 Qualcomm Incorporated Multiple low density parity check (LDPC) base graph design
US10484134B2 (en) 2017-03-30 2019-11-19 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR102348466B1 (ko) * 2017-03-30 2022-01-10 삼성전자 주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
CN108809328B (zh) 2017-05-05 2024-05-17 华为技术有限公司 信息处理的方法、通信装置
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
EP4187794A1 (en) 2017-06-15 2023-05-31 Huawei Technologies Co., Ltd. Qc-ldpc codes for 3gpp 5g mobile radio
CN109150197B (zh) 2017-06-27 2024-05-14 华为技术有限公司 信息处理的方法、装置和通信设备
WO2019114992A1 (en) * 2017-12-15 2019-06-20 Huawei Technologies Co., Ltd. Design of base parity-check matrices for ldpc codes that have subsets of orthogonal rows
KR102523059B1 (ko) * 2018-04-18 2023-04-19 에스케이하이닉스 주식회사 에러 정정 회로 및 그것을 포함하는 메모리 시스템
US10886944B2 (en) * 2018-09-24 2021-01-05 National Chiao Tung University Low-density parity-check code scaling method
CN112671504A (zh) * 2019-10-15 2021-04-16 普天信息技术有限公司 5g nr标准的ldpc编码的实现方法和装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0156440B1 (en) 1984-03-24 1990-01-24 Koninklijke Philips Electronics N.V. An information transmission method with error correction for user words, an error correcting decoding method for such user words, an apparatus for information transmission for use with the method, a device for information decoding for use with the method and an apparatus for use with such device
US6304991B1 (en) 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
FR2799592B1 (fr) * 1999-10-12 2003-09-26 Thomson Csf Procede de construction et de codage simple et systematique de codes ldpc
DE60040805D1 (de) * 1999-12-20 2008-12-24 Research In Motion Ltd Hybrid-wiederholungsaufforderungsystem und -verfahren
US6539367B1 (en) * 2000-05-26 2003-03-25 Agere Systems Inc. Methods and apparatus for decoding of general codes on probability dependency graphs
EP1290802A1 (en) * 2000-06-16 2003-03-12 Aware, Inc. Systems and methods for ldpc coded modulation
US7000177B1 (en) * 2000-06-28 2006-02-14 Marvell International Ltd. Parity check matrix and method of forming thereof
US7072417B1 (en) * 2000-06-28 2006-07-04 Marvell International Ltd. LDPC encoder and method thereof
US6567465B2 (en) 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6938196B2 (en) 2001-06-15 2005-08-30 Flarion Technologies, Inc. Node processors for use in parity check decoders
US6789227B2 (en) * 2001-07-05 2004-09-07 International Business Machines Corporation System and method for generating low density parity check codes using bit-filling
US6895547B2 (en) * 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US7000167B2 (en) * 2001-08-01 2006-02-14 International Business Machines Corporation Decoding low density parity check codes
KR100848779B1 (ko) 2001-08-27 2008-07-28 엘지전자 주식회사 반복 복호기에서 두 가지 레벨 이상의 복호능력 표시방법
US7178080B2 (en) 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
CN1185796C (zh) * 2002-11-15 2005-01-19 清华大学 改进的非规则低密度奇偶校验码纠错译码方法
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
JP4163023B2 (ja) 2003-02-28 2008-10-08 三菱電機株式会社 検査行列生成方法および検査行列生成装置
US7139959B2 (en) * 2003-03-24 2006-11-21 Texas Instruments Incorporated Layered low density parity check decoding for digital communications
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
JP4167276B2 (ja) * 2006-06-23 2008-10-15 株式会社住化分析センター 導電体の溶断試験方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2520405C2 (ru) * 2008-02-26 2014-06-27 Самсунг Электроникс Ко., Лтд. Способ и устройство для канального кодирования и декодирования в системе связи, в которой используются коды контроля четности с низкой плотностью
US8271846B2 (en) 2008-02-26 2012-09-18 Samsung Electronics Co., Ltd Method and apparatus for channel encoding and decoding in a communication system using low-density parity-check codes
RU2450443C1 (ru) * 2008-02-26 2012-05-10 Самсунг Электроникс Ко., Лтд. Способ и устройство для канального кодирования и декодирования в системе связи, в которой используются коды контроля четности с низкой плотностью
RU2520406C2 (ru) * 2008-02-26 2014-06-27 Самсунг Электроникс Ко., Лтд. Способ и устройство для канального кодирования и декодирования в системе связи, в которой используются коды контроля четности с низкой плотностью
RU2461963C2 (ru) * 2008-04-30 2012-09-20 ЗетТиИ Корпорейшн Способ и устройство для декодирования кода с генераторной матрицей низкой плотности
RU2461970C2 (ru) * 2008-05-07 2012-09-20 ЗетТиИ Корпорейшн Способ и устройство для приема данных
RU2480905C2 (ru) * 2008-10-08 2013-04-27 Сони Корпорейшн Устройство циклического сдвига, способ циклического сдвига, устройство декодирования ldpc-кода, телевизионный приемник и приемная система
RU2475955C2 (ru) * 2009-03-26 2013-02-20 Сони Корпорейшн Приемное устройство, способ приема, программа и приемная система
RU2574828C2 (ru) * 2010-09-03 2016-02-10 Сони Корпорейшн Устройство обработки данных и способ обработки данных
RU2595579C2 (ru) * 2011-04-28 2016-08-27 Сони Корпорейшн Устройство обработки данных и способ обработки данных
RU2598318C2 (ru) * 2011-10-10 2016-09-20 Самсунг Электроникс Ко., Лтд. Устройство и способ для передачи и приема данных в системе связи/широковещания
RU2656723C2 (ru) * 2013-05-02 2018-06-06 Сони Корпорейшн Устройство обработки данных и способ обработки данных
RU2656726C2 (ru) * 2013-05-02 2018-06-06 Сони Корпорейшн Устройство обработки данных и способ обработки данных
RU2656725C2 (ru) * 2013-05-02 2018-06-06 Сони Корпорейшн Устройство обработки данных и способ обработки данных
RU2708349C1 (ru) * 2019-06-03 2019-12-05 Акционерное общество "Концерн "Созвездие" Способ передачи данных на основе кодов с низкой плотностью проверок на четность

Also Published As

Publication number Publication date
EP1511177A2 (en) 2005-03-02
US7962828B2 (en) 2011-06-14
US7313752B2 (en) 2007-12-25
US20070283221A1 (en) 2007-12-06
CN102164022A (zh) 2011-08-24
AU2004302428A1 (en) 2005-03-03
JP2008172824A (ja) 2008-07-24
US20050050435A1 (en) 2005-03-03
CN102164022B (zh) 2017-05-10
CA2531806A1 (en) 2005-03-03
US20110167315A1 (en) 2011-07-07
AU2004302428B2 (en) 2008-02-07
KR20050021108A (ko) 2005-03-07
KR100809619B1 (ko) 2008-03-05
RU2006109470A (ru) 2006-07-10
CN1836394A (zh) 2006-09-20
EP1511177A3 (en) 2006-07-26
WO2005020500A1 (en) 2005-03-03
JP2007503755A (ja) 2007-02-22
EP1511177B1 (en) 2018-06-06
JP4160617B2 (ja) 2008-10-01
US8719683B2 (en) 2014-05-06
CN1836394B (zh) 2011-05-25
US9319068B2 (en) 2016-04-19
US20140344639A1 (en) 2014-11-20
CA2531806C (en) 2014-04-08
JP5219552B2 (ja) 2013-06-26

Similar Documents

Publication Publication Date Title
RU2316111C2 (ru) Устройство и способ кодирования-декодирования блоковых кодов низкой плотности с контролем на четность в системе мобильной связи
RU2341894C2 (ru) Устройство и способ для кодирования/декодирования кода разреженного контроля четности с переменной длиной блока
EP1626505B1 (en) Apparatus and method for encoding and decoding a block low density parity check code
KR100678175B1 (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100809616B1 (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
RU2369008C2 (ru) Устройство и способ кодирования-декодирования блочного кода проверки на четность с низкой плотностью с переменной длиной блока
US7725801B2 (en) Method of generating quasi-cyclic low density parity check codes and an apparatus thereof
KR20050118056A (ko) 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
KR20060016061A (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법