RU2369008C2 - Device and method for coding/decoding block code for low density parity check with variable block length - Google Patents

Device and method for coding/decoding block code for low density parity check with variable block length Download PDF

Info

Publication number
RU2369008C2
RU2369008C2 RU2007105746/09A RU2007105746A RU2369008C2 RU 2369008 C2 RU2369008 C2 RU 2369008C2 RU 2007105746/09 A RU2007105746/09 A RU 2007105746/09A RU 2007105746 A RU2007105746 A RU 2007105746A RU 2369008 C2 RU2369008 C2 RU 2369008C2
Authority
RU
Russia
Prior art keywords
parity check
check matrix
block
ldpc code
matrix
Prior art date
Application number
RU2007105746/09A
Other languages
Russian (ru)
Other versions
RU2007105746A (en
Inventor
Гиу-Бум КИУНГ (KR)
Гиу-Бум КИУНГ
Се-Хо МИУНГ (KR)
Се-Хо МИУНГ
Киеонг-Чеол ЯНГ (KR)
Киеонг-Чеол ЯНГ
Хиун-Коо ЯНГ (KR)
Хиун-Коо ЯНГ
Донг-Сеек ПАРК (KR)
Донг-Сеек ПАРК
Дзае-Йоел КИМ (KR)
Дзае-Йоел КИМ
Сунг-Еун ПАРК (KR)
Сунг-Еун ПАРК
Сеунг-Хоон ЧОИ (KR)
Сеунг-Хоон ЧОИ
Пан-Юх ДЗОО (KR)
Пан-Юх ДЗОО
Хонг-Сил ДЗЕОНГ (KR)
Хонг-Сил ДЗЕОНГ
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 RU2007105746A publication Critical patent/RU2007105746A/en
Application granted granted Critical
Publication of RU2369008C2 publication Critical patent/RU2369008C2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0046Code rate detection or code type detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Abstract

FIELD: information technology.
SUBSTANCE: invention relates to a mobile communication system and is meant for coding/decoding block codes for low density parity check (LDPC) with variable block length. The device and procedure involve reception of data words and coding the data words in the LDPC block code in accordance with the first or second parity check matrix depending on the length used for generating data words in the LDPC block code.
EFFECT: prevention of information data loss.
12 cl, 28 dwg

Description

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Настоящее изобретение, в общем, относится к системе мобильной связи, и в частности к устройству и способу кодирования/декодирования блочных кодов проверки на четность с низкой плотностью (LDPC, ПЧНП).The present invention, in General, relates to a mobile communication system, and in particular to an apparatus and method for encoding / decoding block low-density parity check codes (LDPC).

Уровень техникиState of the art

В результате быстрого развития систем мобильной связи возникла необходимость разработки технологии, позволяющей передавать большие массивы данных, приближаясь к пропускной способности кабельной сети в беспроводной среде связи. Для удовлетворения все увеличивающейся потребности в высокоскоростной системе связи, работающей с высокой пропускной способностью, которая позволяет обрабатывать и передавать различные данные, такие как данные изображения и радиоданные, помимо услуги, ориентированной на голосовую передачу, требуется повысить эффективность передачи системы, используя соответствующую схему кодирования канала, чтобы, таким образом, улучшить общие рабочие характеристики системы. Однако мобильная система связи, с учетом ее характеристик, неизбежно генерирует ошибки во время передачи данных из-за шумов, помех и затухания, в соответствии с условиями канала. Генерирование ошибок приводит к потере большого количества информационных данных.As a result of the rapid development of mobile communication systems, it became necessary to develop a technology that allows the transfer of large amounts of data, approaching the bandwidth of the cable network in a wireless communication environment. To meet the ever-increasing demand for a high-speed, high-bandwidth communication system that can process and transmit various data, such as image and radio data, in addition to the service focused on voice transmission, it is necessary to increase the transmission efficiency of the system using an appropriate channel coding scheme so as to improve overall system performance. However, the mobile communication system, taking into account its characteristics, inevitably generates errors during data transmission due to noise, interference and attenuation, in accordance with the conditions of the channel. The generation of errors leads to the loss of a large amount of information data.

Для предотвращения потери информационных данных в результате генерирования ошибок в настоящее время используют различные схемы управления ошибками, которые частично основаны на характеристиках канала, чтобы, таким образом, повысить надежность системы мобильной связи. В наиболее типичной схеме управления ошибками используют коды коррекции ошибок.To prevent the loss of information data as a result of error generation, various error management schemes are currently used, which are partially based on channel characteristics, in order to thereby increase the reliability of the mobile communication system. In the most typical error management scheme, error correction codes are used.

Ниже, со ссылкой на фиг. 1, приведено описание структуры передатчика/приемника в общей системе мобильной связи.Below, with reference to FIG. 1, a description is given of the structure of a transmitter / receiver in a common mobile communication system.

На фиг. 1 показана схема, иллюстрирующая структуру передатчика/приемника в общей системе мобильной связи. Как показано на фиг. 1, передатчик 100 включает в себя кодер 111, модулятор 113 и радиочастотный (RF, РЧ) процессор 115, и приемник 150 включает в себя РЧ процессор 151, демодулятор 153 и декодер 155.In FIG. 1 is a diagram illustrating a structure of a transmitter / receiver in a common mobile communication system. As shown in FIG. 1, transmitter 100 includes an encoder 111, a modulator 113, and a radio frequency (RF) processor 115, and a receiver 150 includes an RF processor 151, a demodulator 153, and a decoder 155.

В передатчике 100, если генерируют информационные данные "u", предназначенные для передачи, их передают в кодер 111. Кодер 111 генерирует кодированный символ "c" путем кодирования информационных данных "u", используя заданную схему кодирования, и выводит кодированный символ "c" в модулятор 113. Модулятор 113 генерирует символ "s" модуляции в результате модуляции кодированного символа "c" использованием заданной схемы модуляции и выводит символ "s" модуляции в РЧ процессор 115. РЧ процессор 115 выполняет РЧ обработку символа модуляции "s", поступающего с выхода модулятора 113, и передает сигнал после РЧ обработки по беспроводному каналу связи через антенну ANT (АНТ).In the transmitter 100, if information information “u” intended for transmission is generated, it is transmitted to the encoder 111. The encoder 111 generates an encoded symbol “c” by encoding the information data “u” using a predetermined coding scheme, and outputs the encoded symbol “c” to modulator 113. Modulator 113 generates a modulation symbol "s" by modulating the encoded symbol "c" using a predetermined modulation scheme and outputs the modulation symbol "s" to the RF processor 115. The RF processor 115 performs RF processing of the modulation symbol "s" coming from out a modulator 113, and transmits the signal after RF processing on the wireless link through an antenna ANT (ANT).

Сигнал, переданный по беспроводному каналу связи передатчиком 100, таким образом, принимают в приемнике 150 через его антенну АНТ, и сигнал, принятый через антенну, подают в РЧ процессор 151. РЧ процессор 151 выполняет РЧ обработку принятого сигнала и выводит сигнал "r" после РЧ обработки в демодулятор 153. Демодулятор 153 демодулирует сигнал "r" после РЧ обработки, поступающий с выхода РЧ процессора 151, используя схему демодуляции, соответствующую схеме модуляции, использованной в модуляторе 113, и выводит демодулированный сигнал "x" в декодер 155. Декодер 155 декодирует демодулированный сигнал "x", поступающий с выхода демодулятора 153, используя схему декодирования, соответствующую схеме кодирования, использованной в кодере 111, и выводит декодированный сигнал "u" в качестве окончательно декодированных информационных данных.The signal transmitted over the wireless channel by the transmitter 100 is thus received at the receiver 150 through its ANT antenna, and the signal received through the antenna is supplied to the RF processor 151. The RF processor 151 performs RF processing of the received signal and outputs the “r” signal after RF processing to the demodulator 153. Demodulator 153 demodulates the “r” signal after RF processing from the output of the RF processor 151 using the demodulation circuit corresponding to the modulation scheme used in the modulator 113 and outputs the demodulated signal “x” to the decoder 155. Decoder 155 decodes the demodulated signal "x" coming from the output of the demodulator 153 using the decoding scheme corresponding to the encoding scheme used in the encoder 111, and outputs the decoded signal "u" as the finally decoded information data.

Для обеспечения возможности декодирования без ошибок в приемнике 150 информационных данных "u", переданных передатчиком 100, необходимо использовать высокоэффективный кодер и декодер. В частности, поскольку требуется учитывать среду радиоканала и характеристики мобильной системы связи, следует более серьезно учитывать ошибки, которые могут быть сгенерированы под влиянием среды радиоканала.In order to enable error-free decoding at the receiver 150 of the “u” information data transmitted by the transmitter 100, it is necessary to use a highly efficient encoder and decoder. In particular, since it is necessary to take into account the radio channel environment and the characteristics of the mobile communication system, one should more seriously take into account errors that can be generated under the influence of the radio channel environment.

Наиболее типичные коды коррекции ошибки включают в себя турбокоды и коды проверки на четность с низкой плотностью (LDPC).The most common error correction codes include turbo codes and low density parity check (LDPC) codes.

Известно, что турбокод обеспечивает лучшее повышение рабочих характеристик по сравнению со сверточным кодом, который обычно используют для коррекции ошибок во время передачи данных с высокой скоростью. Преимущество турбокода состоит в том, что он позволяет эффективно корректировать ошибку, вызванную шумами, генерируемыми в канале передачи данных, повышая, таким образом, надежность передачи данных. Код LDPC можно декодировать, используя итеративный алгоритм декодирования, основанный на алгоритме суммирования-умножения в фактор-графе. Поскольку в декодере для кода LDPC используют итеративный алгоритм декодирования на основе алгоритма суммирования-умножения, он является менее сложным, чем декодер для турбокода. Кроме того, декодер для кода LDPC легко воплотить на практике, используя декодер параллельной обработки, по сравнению с декодером для турбокода.It is known that a turbo code provides a better performance improvement compared to a convolutional code, which is usually used to correct errors during data transmission at high speed. The advantage of the turbo code is that it allows you to effectively correct the error caused by the noise generated in the data channel, thereby increasing the reliability of data transmission. The LDPC code can be decoded using an iterative decoding algorithm based on a sum-multiplication algorithm in a factor graph. Since the decoder for the LDPC code uses an iterative decoding algorithm based on the summation-multiplication algorithm, it is less complex than the decoder for the turbo code. In addition, the decoder for the LDPC code is easy to put into practice using the parallel processing decoder compared to the decoder for the turbo code.

Теорема Шеннона кодирования канала показывает, что надежная связь возможна только при скорости передачи данных, не превышающей пропускную способность канала. Однако теорема Шеннона кодирования канала не предлагает подробный способ кодирования/декодирования канала для поддержания скорости передачи данных вплоть до максимальной предельной пропускной способности канала. Обычно, хотя случайный код, имеющий очень большой размер блока, проявляет рабочие характеристики, приближающиеся к предельному значению пропускной способности канала в соответствии с теоремой Шеннона кодирования канала, на практике, при использовании способа декодирования MAP (maximum a posteriori, МАВ (максимум апостериорной вероятности)) или ML (МП, максимального правдоподобия), невозможно выполнить этот способ декодирования из-за чрезвычайно большой вычислительной нагрузки.The Shannon theorem of channel coding shows that reliable communication is possible only at a data transfer rate not exceeding the channel capacity. However, the Shannon channel coding theorem does not offer a detailed channel coding / decoding method to maintain the data rate up to the maximum channel bandwidth. Usually, although a random code having a very large block size exhibits performance characteristics approaching the limit value of the channel throughput in accordance with the Shannon theorem of channel coding, in practice, using the MAP decoding method (maximum a posteriori, MAV (maximum a posteriori probability) ) or ML (MP, maximum likelihood), it is impossible to perform this decoding method due to the extremely large computational load.

Турбокод был предложен авторами Berrou, Glavieux и Thitimajshima в 1993 г., и он проявляет исключительные рабочие характеристики, которые приближаются к предельному значению пропускной способности канала в соответствии с теоремой Шеннона кодирования канала. Появление турбокода инициировало активное исследование в области итерационного декодирования и графического выражения кодов, в результате коды LDPC, предложенные автором Gallager в 1962 г., вышли на первый план в этих исследованиях. В фактор-графе турбокода и кода LDPC существуют циклы, и известно, что итерационное декодирование в фактор-графе кода LDPC, в котором существуют циклы, является субоптимальным. Кроме того, экспериментально было подтверждено, что код LDPC обладает исключительными характеристиками при использовании итеративного декодирования. Код LDPC, как известно, проявляет наилучшие характеристики, отличающиеся только приблизительно на 0,04 [дБ] от предельного значения пропускной способности канала, в соответствии с теоремой Шеннона кодирования канала, с частотой передачи ошибочных битов (BER, ЧБО) 10-5, при использовании размера блока 107. Кроме того, хотя сложность процесса декодирования кода LDPC, определенного в поле Галуа (GF, ПГ) при q > 2, то есть GF(q), увеличивается, его характеристики намного превышают двоичный код. При этом, однако, отсутствует удовлетворительное теоретическое описание успешного декодирования с использованием итеративного алгоритма декодирования для кода LDPC, определенного в GF(q).The turbo code was proposed by Berrou, Glavieux, and Thitimajshima in 1993, and it exhibits exceptional performance characteristics that approach the limit value of channel capacity in accordance with the Shannon theorem of channel coding. The advent of the turbo code initiated an active study in the field of iterative decoding and graphic expression of codes; as a result, the LDPC codes proposed by the author of Gallager in 1962 came to the fore in these studies. Loops exist in the factor graph of the turbo code and LDPC code, and iterative decoding in the factor graph of the LDPC code in which loops exist is known to be suboptimal. In addition, it was experimentally confirmed that the LDPC code has exceptional performance using iterative decoding. The LDPC code, as you know, shows the best characteristics, differing only by approximately 0.04 [dB] from the limit value of the channel throughput, in accordance with the Shannon theorem of channel coding, with a transmission frequency of error bits (BER, BWO) of 10 -5 , at using block size 10 7 . In addition, although the complexity of the decoding process of the LDPC code defined in the Galois field (GF, PG) for q> 2, that is, GF (q), increases, its characteristics far exceed the binary code. However, there is no satisfactory theoretical description of successful decoding using an iterative decoding algorithm for the LDPC code defined in GF (q).

Код LDPC, предложенный автором Gallager, определен по матрице проверки на четность, в которой большая часть элементов имеет значение 0 и меньшая часть элементов, за исключением элементов, имеющих значение 0, имеет ненулевое значение, например значение, равное 1. В следующем описании предполагается, что не равное нулю значение представляет собой значение, равное 1.The LDPC code proposed by the author of Gallager is determined by the parity matrix, in which most of the elements have a value of 0 and a smaller number of elements, with the exception of elements having a value of 0, have a nonzero value, for example, a value of 1. In the following description, it is assumed that a non-zero value is a value of 1.

Например, код LDPC (N, j, k) представляет собой линейный блочный код, имеющий длину блока N, и определен как разреженная матрица проверки на четность, в которой каждый столбец имеет j элементов, имеющих значение 1, каждая строка имеет k элементов, имеющих значение 1, и все элементы, за исключением элементов, имеющих значение 1, имеют значение 0.For example, the LDPC code (N, j, k) is a linear block code having a block length of N and is defined as a sparse parity check matrix in which each column has j elements having a value of 1, each row has k elements having value 1, and all elements, with the exception of elements having a value of 1, have a value of 0.

Код LDPC, в котором вес каждого столбца в матрице проверки на четность фиксирован значением "j" и вес каждой строки в матрице проверки на четность фиксирован значением "k", как описано выше, называется "регулярным кодом LDPC". Здесь "вес" относится к количеству элементов, имеющих ненулевое значение, среди элементов, составляющих матрицу проверки на четность. В отличие от регулярного кода LDPC, код LDPC, в котором не фиксированы вес каждого столбца и вес каждой строки в матрице проверки на четность, называется "нерегулярным кодом LDPC". Общеизвестно, что нерегулярный код LDPC обладает лучшими характеристиками по сравнению с регулярным кодом LDPC. Однако в случае нерегулярного кода LDPC, поскольку вес каждого столбца и вес каждой строки в матрице проверки на четность не фиксирован, то есть является нерегулярным, вес каждого столбца в матрице проверки на четность и вес каждой строки в матрице проверки на четность необходимо соответствующим образом регулировать для гарантирования лучших рабочих характеристик.An LDPC code in which the weight of each column in the parity matrix is fixed by the value “j” and the weight of each row in the parity matrix is fixed by the value “k”, as described above, is called the “regular LDPC code”. Here, “weight” refers to the number of elements having a nonzero value among the elements making up the parity check matrix. Unlike a regular LDPC code, an LDPC code in which the weight of each column and the weight of each row in the parity matrix are not fixed is called an “irregular LDPC code”. It is well known that an irregular LDPC code has better performance than a regular LDPC code. However, in the case of an irregular LDPC code, since the weight of each column and the weight of each row in the parity matrix is not fixed, that is, it is irregular, the weight of each column in the parity matrix and the weight of each row in the parity matrix must be adjusted accordingly for guaranteeing the best performance.

Ниже, со ссылкой на фиг. 2, приведено описание матрицы проверки на четность кода LDPC (8, 2, 4) в качестве примера кода LDPC (N, j, k).Below, with reference to FIG. 2, a description is given of a parity check matrix of an LDPC code (8, 2, 4) as an example of an LDPC code (N, j, k).

На фиг. 2 показана схема, иллюстрирующая матрицу проверки на четность для общего кода LDPC (8, 2, 4). Как показано на фиг. 2, матрица H проверки на четность кода LDPC (8, 2, 4) состоит из 8 столбцов и 4 строк, в которой вес каждого столбца фиксирован и равен 2 и вес каждой строки фиксирован и равен 4. Поскольку вес каждого столбца и вес каждой строки в матрице проверки на четность является регулярным, как указано выше, код LDPC (8, 2, 4), представленный на фиг. 2, становится регулярным кодом LDPC.In FIG. 2 is a diagram illustrating a parity check matrix for a common LDPC code (8, 2, 4). As shown in FIG. 2, the parity check matrix H of the LDPC code (8, 2, 4) consists of 8 columns and 4 rows, in which the weight of each column is fixed and equal to 2 and the weight of each row is fixed and equal to 4. Since the weight of each column and the weight of each row in the parity check matrix is regular, as indicated above, the LDPC code (8, 2, 4) shown in FIG. 2, becomes a regular LDPC code.

Матрица проверки на четность кода LDPC (8, 2, 4) была описана выше со ссылкой на фиг. 2. Далее, со ссылкой на фиг. 3, будет описан фактор-граф кода LDPC (8, 2, 4), описанного со ссылкой на фиг. 2.The LDPC code parity check matrix (8, 2, 4) has been described above with reference to FIG. 2. Next, with reference to FIG. 3, the factor graph of the LDPC code (8, 2, 4) described with reference to FIG. 2.

На фиг. 3 показана схема, иллюстрирующая фактор-граф кода LDPC (8, 2, 4) по фиг. 2. Как показано на фиг. 3, фактор-граф кода LDPC (8, 2, 4) состоит из 8 переменных узлов x1 300, x2 302, x3 304, x4 306, x5 308, x6 310, x7 312 и x8 314 и 4 узлов 316, 318, 320 и 322 проверки. Когда элемент, имеющий значение 1, то есть имеющий значение, не равное нулю, существует в точке, в которой i-ая строка и j-ый столбец матрицы проверки на четность кода LDPC (8, 2, 4) пересекаются друг с другом, между переменным узлом xi и j-ым узлом проверки, формируется ответвление.In FIG. 3 is a diagram illustrating a factor graph of the LDPC code (8, 2, 4) of FIG. 2. As shown in FIG. 3, the factor graph of the LDPC code (8, 2, 4) consists of 8 variable nodes x 1 300, x 2 302, x 3 304, x 4 306, x 5 308, x 6 310, x 7 312 and x 8 314 and 4 check nodes 316, 318, 320 and 322. When an element having a value of 1, that is, having a non-zero value, exists at the point at which the i-th row and j-th column of the LDPC (8, 2, 4) code parity matrix intersect each other, between by the variable node x i and the jth node of the check, a branch is formed.

Поскольку матрица проверки на четность кода LDPC имеет очень небольшой вес, как описано выше, становится возможным выполнить декодирование, используя итеративное декодирование даже в блочном коде, имеющем относительно большую длину, который проявляет рабочую характеристику, приближающуюся к предельному значению пропускной способности канала для теоремы Шеннона кодирования канала, таком как турбокод, при постоянном увеличении длины блока блочного кода. Авторы MacKay и Neal доказали, что процесс итеративного декодирования кода LDPC с использованием схемы передачи потока приближается по своим рабочим характеристикам к процессу итеративного декодирования турбокода.Since the LDPC code parity check matrix has a very small weight, as described above, it is possible to perform decoding using iterative decoding even in a relatively long block code that exhibits a performance approaching the channel bandwidth limit for the Shannon coding theorem channel, such as turbo code, while constantly increasing the length of the block code block. The authors of MacKay and Neal proved that the iterative decoding of the LDPC code using the flow transfer scheme approximates in its performance characteristics to the iterative decoding of the turbo code.

Для генерирования кода LDPC с высокими рабочими характеристиками следует удовлетворить следующие условия.To generate high performance LDPC code, the following conditions must be met.

(1) Следует учитывать циклы фактор-графа кода LDPC.(1) The factor graph cycles of the LDPC code should be considered.

Термин "цикл" относится к петле, формируемой ребрами, соединяющими переменные узлы с узлами проверки в фактор-графе кода LDPC, и длина цикла определена количеством ребер, составляющих петлю. Длинный цикл означает, что количество ребер, соединяющих переменные узлы с узлами проверки, составляющими петлю в фактор-графе кода LDPC, велико. В отличие от этого, короткий цикл означает, что количество ребер, соединяющих переменные узлы с узлами проверки, составляющими петлю в фактор-графе кода LDPC, невелико.The term "cycle" refers to a loop formed by edges connecting variable nodes to test nodes in the factor graph of the LDPC code, and the cycle length is determined by the number of edges making up the loop. A long cycle means that the number of edges connecting the variable nodes to the verification nodes that make up the loop in the factor graph of the LDPC code is large. In contrast, a short cycle means that the number of edges connecting the variable nodes to the verification nodes that make up the loop in the factor graph of the LDPC code is small.

По мере того, как циклы в фактор-графе кода LDPC становятся более длинными, эффективность рабочих характеристик кода LDPC повышается по следующим причинам. Когда длинные циклы генерируют в фактор-графе кода LDPC, становится возможным предотвратить снижение такой характеристики, как минимальный уровень ошибок, возникающий, когда в фактор-графе кода LDPC существуют слишком много циклов с короткой длиной.As the cycles in the factor graph of the LDPC code become longer, the performance of the LDPC code improves for the following reasons. When long cycles are generated in the factor graph of the LDPC code, it becomes possible to prevent a decrease in a characteristic such as the minimum error level that occurs when there are too many short cycles in the factor graph of the LDPC code.

(2) Следует учитывать эффективное кодирование кода LDPC.(2) Effective coding of the LDPC code should be considered.

Для кода LDPC трудно выполнить кодирование в режиме реального времени по сравнению со сверточным кодом или турбокодом из-за высокой сложности кодирования. Для снижения сложности кодирования кода LDPC был предложен код повторного накопления (RA, ПН). Однако код RA также имеет ограничения в отношении снижения сложности кода LDPC. Поэтому следует учитывать эффективное кодирование кода LDPC.For LDPC code, it is difficult to perform real-time coding compared to a convolutional code or turbo code due to the high coding complexity. To reduce the complexity of encoding the LDPC code, a re-accumulation code (RA, PN) has been proposed. However, the RA code also has limitations with respect to reducing the complexity of the LDPC code. Therefore, effective coding of the LDPC code should be considered.

(3) Следует учитывать степень распределения фактор-графа кода LDPC.(3) The degree of distribution of the factor graph of the LDPC code should be considered.

Обычно нерегулярный код LDPC обладает лучшими характеристиками по сравнению с регулярным кодом LDPC, поскольку фактор-граф нерегулярного кода LDPC имеет различные степени. Термин "степень" относится к количеству ребер, соединенных с переменными узлами, и узлами проверки в фактор-графе кода LDPC. Кроме того, фраза "распределение степени" фактор-графа кода LDPC относится к отношению количества узлов, имеющих определенную степень, к общему количеству узлов. Автор Richardson доказал, что код LDPC, имеющий определенную степень распределения, обладает лучшими характеристиками.Typically, an irregular LDPC code has better performance than a regular LDPC code, since the factor graph of an irregular LDPC code has varying degrees. The term “degree” refers to the number of edges connected to the variable nodes and the verification nodes in the factor graph of the LDPC code. In addition, the phrase “degree distribution” of the factor graph of the LDPC code refers to the ratio of the number of nodes having a certain degree to the total number of nodes. Richardson has proven that LDPC code with a certain degree of distribution has better performance.

Далее, со ссылкой на фиг. 4, будет приведено описание матрицы проверки на четность блочного кода LDPC.Next, with reference to FIG. 4, a description will be given of a parity check matrix of a block LDPC code.

На фиг. 4 показана схема, иллюстрирующая матрицу проверки на четность общего блочного кода LDPC. Перед описанием фиг. 4, следует отметить, что блочный код LDPC представляет собой новый код LDPC, для которого не учитывается не только эффективное кодирование, но также и эффективное хранение и улучшение рабочих характеристик матрицы проверки на четность, и блочный код LDPC представляет собой код LDPC, продолженный путем обобщения структуры регулярного кода LDPC. Как показано на фиг. 4, матрица проверки на четность блочного кода LDPC разделена на множество частичных блоков, и матрицу перестановок отображают на каждом из частичных блоков. На фиг. 4 "P" представляет собой матрицу перестановок, имеющую размер Ns×Ns, и верхний индекс (или экспоненту) apq матрицы перестановок P равен либо 0 < apq < Ns-1 или apq = ∞.In FIG. 4 is a diagram illustrating a parity check matrix of a common block LDPC code. Before describing FIG. 4, it should be noted that the block LDPC code is a new LDPC code for which not only effective coding is taken into account, but also the effective storage and performance improvement of the parity check matrix, and the block LDPC code is an LDPC code, continued by generalizing regular LDPC code structures. As shown in FIG. 4, the parity check matrix of the block LDPC code is divided into a plurality of partial blocks, and a permutation matrix is displayed on each of the partial blocks. In FIG. 4 “P” is a permutation matrix of size N s × N s , and the superscript (or exponent) a pq of the permutation matrix P is either 0 <a pq <N s -1 or a pq = ∞.

Кроме того, "p" обозначает, что соответствующая матрица перестановок расположена в p-ой строке частичных блоков матрицы проверки на четность, и "q" обозначает, что соответствующая матрица перестановок расположена в q-ом столбце частичных блоков матрицы проверки на четность. Таким образом,

Figure 00000001
представляет матрицу перестановок, расположенную в частичном блоке, где р-ая строка и q-ый столбец матрицы проверки на четность, состоящей из множества частичных блоков, пересекаются друг с другом. Таким образом, "p" и "q" представляют количество строк и количество столбцов частичных блоков, соответствующих информационной части матрицы проверки на четность соответственно.In addition, “p” indicates that the corresponding permutation matrix is located in the pth row of partial blocks of the parity check matrix, and “q” indicates that the corresponding permutation matrix is located in the qth column of partial blocks of the parity check matrix. In this way,
Figure 00000001
represents a permutation matrix located in a partial block, where the p-th row and q-th column of the parity check matrix, consisting of many partial blocks, intersect each other. Thus, “p” and “q” represent the number of rows and the number of columns of partial blocks corresponding to the information part of the parity check matrix, respectively.

Матрица перестановок будет описана ниже со ссылкой на фиг. 5.A permutation matrix will be described below with reference to FIG. 5.

На Фиг. 5 показана схема, иллюстрирующая матрицу P перестановок по фиг. 4. Как показано на фиг. 5, матрица P перестановок представляет собой квадратную матрицу, имеющую размер Ns×Ns, и каждый из Ns столбцов, составляющих матрицу P перестановок, имеет вес 1, и каждая из Ns строк, составляющих матрицу P перестановок, также имеет вес 1. Здесь, хотя размер матрицы P перестановок выражен, как Ns×Ns, он также может быть выражен как Ns, поскольку матрица P перестановок представляет собой квадратную матрицу.In FIG. 5 is a diagram illustrating the permutation matrix P of FIG. 4. As shown in FIG. 5, the permutation matrix P is a square matrix having a size of N s × N s , and each of the N s columns constituting the permutation matrix P has a weight of 1, and each of the N s rows constituting the permutation matrix P also has a weight of 1 Here, although the size of the permutation matrix P is expressed as N s × N s , it can also be expressed as N s since the permutation matrix P is a square matrix.

На фиг. 4 матрица P перестановок с верхним индексом apq=0, то есть матрица P° перестановок представляет собой единичную

Figure 00000002
, и матрица P перестановок с верхним индексом apq=∞, то есть матрица P∞ перестановок представляет собой нулевую матрицу. Здесь
Figure 00000003
представляет собой единичную матрицу с размером Ns×Ns.In FIG. 4, the permutation matrix P with superscript a pq = 0, i.e., the permutation matrix P ° is the identity
Figure 00000002
, and the permutation matrix P with superscript a pq = ∞, that is, the permutation matrix P∞ is a zero matrix. Here
Figure 00000003
represents an identity matrix with a size of N s × N s .

Во всей матрице проверки на четность блочного кода LDPC, представленного на фиг. 4, поскольку общее количество строк равно Ns×p и общее количество столбцов равно Ns×q (для p ≤ q), когда вся матрица проверки на четность кода LDPC имеет полный ранг, скорость кодирования может быть выражена как уравнение (1) независимо от размера частичных блоков.Throughout the entire parity check matrix of the block LDPC code shown in FIG. 4, since the total number of rows is N s × p and the total number of columns is N s × q (for p ≤ q), when the entire LDPC code parity matrix is full rank, the coding rate can be expressed as equation (1) independently on the size of partial blocks.

Figure 00000004
Figure 00000005
(1)
Figure 00000004
Figure 00000005
(one)

Если apq≠∞ для всех p и q, матрицы перестановок, соответствующие частичным блокам, представляют собой не нулевые матрицы, и частичные блоки составляют регулярный код LDPC, в котором весовое значение каждого столбца и весовое значение каждой строки в каждой из матриц перестановок, соответствующих частичным блокам, равны p и q соответственно. Здесь каждая из матриц перестановок, соответствующая частичным блокам, будет называться "частичной матрицей".If a pq ≠ ∞ for all p and q, the permutation matrices corresponding to the partial blocks are non-zero matrices, and the partial blocks form a regular LDPC code in which the weight value of each column and the weight value of each row in each of the permutation matrices corresponding to partial blocks equal p and q respectively. Here, each of the permutation matrices corresponding to the partial blocks will be called the "partial matrix".

Поскольку (p-1) зависимых строк существуют во всей матрице проверки на четность, получают более высокую скорость кодирования, чем скорость кодирования, рассчитанная по уравнению (1). В случае блочного кода LDPC, если будет определено положение веса первой строки каждой из частичных матриц, составляющих всю матрицу проверки на четность, также можно будет определить положение весов для остальных строк (Ns- 1). Поэтому требуемый размер памяти уменьшается до 1/Ns по сравнению со случаем, когда веса выбирают нерегулярно для сохранения информации по всей матрице проверки на четность.Since (p-1) dependent rows exist in the entire parity check matrix, a higher coding rate is obtained than the coding rate calculated by equation (1). In the case of the block LDPC code, if the position of the weight of the first row of each of the partial matrices constituting the entire parity check matrix is determined, it will also be possible to determine the position of the weights for the remaining rows (N s - 1). Therefore, the required memory size is reduced to 1 / N s compared to the case when the weights are selected irregularly to store information throughout the parity check matrix.

Как описано выше, термин "цикл" относится к петле, формируемой ребрами, соединяющими различные узлы с узлами проверки в фактор-графе кода LDPC, и длина цикла определяется как количество ребер, составляющих петлю. Длинный цикл означает, что количество ребер, соединяющих переменные узлы с узлами проверки, составляющими петлю в фактор-графе кода LDPC, велико. По мере того, как циклы в фактор-графе кода LDPC становятся более длинными, эффективность рабочих характеристик кода LDPC повышается.As described above, the term “cycle” refers to a loop formed by edges connecting different nodes to test nodes in the factor graph of the LDPC code, and the cycle length is defined as the number of edges making up the loop. A long cycle means that the number of edges connecting the variable nodes to the verification nodes that make up the loop in the factor graph of the LDPC code is large. As the cycles in the factor graph of the LDPC code become longer, the performance of the LDPC code improves.

В отличие от этого, по мере того, как циклы в фактор-графе кода LDPC становятся более короткими, возможности коррекции ошибки кода LDPC снижаются из-за деградации рабочих характеристик в результате возникновения минимального уровня ошибок. То есть в случае, когда в фактор-графе кода LDPC существует множество циклов с короткой длиной, информация о конкретном узле, принадлежащем циклу с более короткой длиной, начинающемуся от него, возвращается после небольшого количества итераций. По мере увеличения количества итераций информация возвращается к соответствующему узлу более часто, в результате чего информация не может быть правильно обновлена, что приводит к ухудшению способности коррекции ошибок кода LDPC.In contrast, as the cycles in the factor graph of the LDPC code become shorter, the possibilities for error correction of the LDPC code are reduced due to degradation of performance due to a minimum error level. That is, in the case when there are many cycles with a short length in the factor graph of the LDPC code, information about a particular node belonging to a cycle with a shorter length starting from it is returned after a small number of iterations. As the number of iterations increases, the information returns to the corresponding node more often, as a result of which the information cannot be correctly updated, which leads to a deterioration in the ability of error correction of the LDPC code.

Ниже, со ссылкой на фиг. 6, приведено описание структуры цикла блочного кода LDPC.Below, with reference to FIG. 6, a description is given of the loop structure of the block LDPC code.

На фиг. 6 показана схема, иллюстрирующая структуру цикла блочного кода LDPC, в котором матрица проверки на четность состоит из 4 частичных матриц. Перед описанием фиг. 6, следует отметить, что блочный код LDPC представляет собой новый код LDPC, для которого учитывается не только эффективное кодирование, но также и эффективное сохранение, и улучшение рабочих характеристик матрицы проверки на четность. Блочный код LDPC также представляет собой код LDPC, расширенный путем обобщения структуры регулярного кода LDPC. Матрица проверки на четность блочного кода LDPC, представленного на фиг. 6, состоит из 4 частичных блоков, диагональная линия представляет положение, где расположены элементы, имеющие значение 1, и другие части, кроме участков, расположенных на диагональной линии, представляют собой положения, где расположены элементы, имеющие значение, равное 0. Кроме того, "P" представляет ту же матрицу перестановок, что и матрица перестановок, описанная со ссылкой на фиг. 5.In FIG. 6 is a diagram illustrating a loop structure of a block LDPC code in which the parity check matrix consists of 4 partial matrices. Before describing FIG. 6, it should be noted that the block LDPC code is a new LDPC code for which not only effective coding is taken into account, but also efficient storage and improvement of the performance of the parity check matrix. The block LDPC code is also an LDPC code, extended by generalizing the structure of the regular LDPC code. The parity check matrix of the block LDPC code shown in FIG. 6, consists of 4 partial blocks, the diagonal line represents the position where the elements having a value of 1 are located, and other parts, except for the sections located on the diagonal line, represent the positions where the elements having a value equal to 0. In addition, “P” represents the same permutation matrix as the permutation matrix described with reference to FIG. 5.

Для анализа структуры цикла блочного кода LDPC, представленного на фиг. 6, элемент, имеющий значение 1, расположенный в i-ой строке частичной матрицы Pa, определен как эталонный элемент, и элемент, имеющий значение 1, расположенный в i-ой строке, будет называться " точкой 0 ". Здесь "частичная матрица" относится к матрице, соответствующей частичному блоку. Точка 0 расположена в (i+a)-ом столбце частичной матрицы Pa.To analyze the loop structure of the block LDPC code shown in FIG. 6, an element having a value of 1 located in an i-th row of the partial matrix P a, is defined as a reference element, and an element having a value of 1 located in an i-th row will be referred to as "point 0". Here, a “partial matrix” refers to a matrix corresponding to a partial block. The 0-point is located in an (i + a) th column of the partial matrix P a.

Элемент, имеющий значение 1 в частичной матрице Pb, расположенный в той же строке, что и точка 0, называется "точкой 1". По той же причине, что и точка 0, точка 1 расположена в (i+b)-ом столбце частичной матрицы Pb.An element having a value of 1 in the partial matrix P b located in the same row as point 0 is called “point 1”. For the same reason as point 0, point 1 is located in the (i + b) th column of the partial matrix P b .

Далее элемент, имеющий значение 1 в частичной матрице Pc, расположенный в том же столбце, что и точка 1, будет называться "точкой 2". Поскольку частичная матрица Pc представляет собой матрицу, полученную путем сдвига соответствующих столбцов единичной матрицы I вправо относительно модуля Ns на c, точка 2 расположена в (i+b-c)-ой строке частичной матрицы Pc.Further, an element having a value of 1 in the partial matrix P c located in the same column as point 1 will be called “point 2”. Since the partial matrix P c is a matrix obtained by shifting the corresponding columns of the identity matrix I to the right relative to the module N s by c, point 2 is located in the (i + bc) -th row of the partial matrix P c .

Кроме того, элемент, имеющий значение 1 в частичной матрице Pd, расположенный в той же строке, что и точка 2, будет называться "точкой 3". Точка 3 расположена в (i+b-c+d)-ом столбце частичной матрицы Pd.In addition, an element having a value of 1 in the partial matrix P d located in the same row as point 2 will be called “point 3”. Point 3 is located in the (i + b-c + d) -th column of the partial matrix P d .

Наконец, элемент, имеющий значение 1, в частичной матрицу Pa, расположенный в том же столбце, что и точка 3, будет называться "точкой 4". Точка 4 расположена в (i+b-c+d-a)-ой строке частичной матрицы Pa.Finally, an element having a value of 1 in a partial matrix P a located in the same column as point 3 will be called “point 4”. Point 4 is located in the (i + b-c + da ) th row of the partial matrix P a.

В структуре цикла кода LDPC, представленного на фиг. 6, если существует цикл с длиной 4, точка 0 и точка 4 расположены в одном и том же положении. То есть взаимосвязь между точкой 0 и точкой 4 определена уравнением (2)In the loop structure of the LDPC code shown in FIG. 6, if there is a cycle with a length of 4, point 0 and point 4 are located in the same position. That is, the relationship between point 0 and point 4 is defined by equation (2)

i

Figure 00000006
i + b-c + d-a (modNs) i
Figure 00000006
i + bc + da (modNs) илиor (2)(2) i + а
Figure 00000007
i + b-c + d (modNs)
i + a
Figure 00000007
i + bc + d (modNs)

Уравнение (2) может быть переписано как уравнение (3)Equation (2) can be rewritten as equation (3)

a+c

Figure 00000007
b + d (modNs)a + c
Figure 00000007
b + d (modN s ) (3)(3)

В результате, когда удовлетворяется взаимозависимость по уравнению (3), генерируется цикл с длиной 4. Обычно, когда точка 0 и точка 4p представляют собой первые идентичные друг другу точки, задается соотношение i

Figure 00000007
i + p(b - c + d - e) As a result, when the interdependence according to equation (3) is satisfied, a cycle with a length of 4 is generated. Usually, when point 0 and point 4p are the first points identical to each other, the relation i
Figure 00000007
i + p (b - c + d - e)

(modNs), и удовлетворяется следующее соотношение, показанное в уравнении (4)(modN s ), and the following relation is satisfied, shown in equation (4)

p (a - b + c - d )

Figure 00000007
0 (modNs)p (a - b + c - d)
Figure 00000007
0 (modN s ) (4)(four)

Другими словами, если положительное целое число, имеющее минимальное значение среди положительных целых чисел, удовлетворяющих уравнение (4) для заданных a, b, c и d определено как "p", цикл с длиной 4p становится циклом, имеющим минимальную длину в структуре цикла блочного кода LDPC, представленного на фиг. 6.In other words, if a positive integer with a minimum value among positive integers satisfying equation (4) for given a, b, c and d is defined as “p”, a cycle with a length of 4p becomes a cycle having a minimum length in the structure of a block cycle the LDPC code shown in FIG. 6.

В заключение, как описано выше, для (a-b+c-d) ≠ 0, если удовлетворяется условие gcd (Ns, a-b+c-d) = 1, тогда p = Ns. Здесь, gcd (Ns, a-b+c-d) представляет собой функцию для расчета "наибольшего общего делителя" для целых чисел Ns и a-b+c-d. Поэтому цикл с длиной 4NS становится циклом с минимальной длиной.In conclusion, as described above, for (a-b + cd) ≠ 0, if the condition gcd (N s , a-b + cd) = 1 is satisfied, then p = N s . Here, gcd (N s , a-b + cd) is a function for calculating the “greatest common factor” for the integers N s and a-b + cd. Therefore, a cycle with a length of 4N S becomes a cycle with a minimum length.

Методика Richardson-Urbanke будет использоваться как методика кодирования для кода блока LDPC. Поскольку методика Richardson-Urbanke используется как методика кодирования, степень кодирования можно минимизировать, по мере того, как форма матрицы проверки на четность становится аналогичной форме полной нижней треугольной матрицы.The Richardson-Urbanke technique will be used as the coding technique for the LDPC block code. Since the Richardson-Urbanke technique is used as a coding technique, the degree of coding can be minimized as the shape of the parity check matrix becomes similar to that of the full lower triangular matrix.

Ниже, со ссылкой на фиг. 7, приведено описание матрицы проверки на четность, имеющей форму, аналогичную форме полной нижней треугольной матрицы.Below, with reference to FIG. 7, a description is made of a parity check matrix having a form similar to that of a complete lower triangular matrix.

На фиг. 7 показана схема, иллюстрирующая матрицу проверки на четность, имеющую форму, аналогичную форме полной нижней треугольной матрицы. Матрица проверки на четность, представленная на фиг. 7, отличается от матрицы проверки на четность, имеющей форму полной нижней треугольной матрицы, формой части проверки на четность. На фиг. 7 верхний индекс (или экспонента) apq матрицы P перестановок информационной части составляет либо 0 ≤ apq ≤ Ns - 1 или apq = ∞, как описано выше. Матрица P перестановок с верхним индексом apq=0, то есть матрица P0 перестановок в информационной части представляет собой единичную матрицу Ns×Ns, и матрица P перестановок с верхним индексом apq = ∞, то есть, матрица P перестановок представляет собой нулевую матрицу. На фиг. 7 "p" представляет собой количество строк частичных блоков, отображенных на информационную часть, и "q" представляет собой количество столбцов частичных блоков, отображенных на часть проверки на четность. Кроме того, верхние индексы ap, x и y матриц P перестановок, отображенных на часть проверки на четность, представляют собой экспоненты матрицы P перестановок. Однако, для удобства пояснения, различные верхние индексы ap, x и y используются для различения части проверки на четность от информационной части. То есть на фиг. 7,

Figure 00000008
и
Figure 00000009
также представляют собой матрицы перестановок, а верхние индексы ai - ap последовательно индексированы для частичных матриц, расположенных в диагональной части, для части проверки на четность. Кроме того, Px и Py также представляют собой матрицы перестановок, и для удобства пояснения они индексированы по-другому для различения части проверки на четность от информационной части. Если длина блочного кода LDPC, имеющего матрицу проверки на четность, представленную на фиг. 7, как предполагается, равна N, степень кодирования блочного кода LDPC линейно увеличивается относительно длины N (0(N)) блока.In FIG. 7 is a diagram illustrating a parity check matrix having a shape similar to that of a full lower triangular matrix. The parity check matrix shown in FIG. 7 differs from the parity check matrix in the form of a complete lower triangular matrix in the form of the parity check part. In FIG. 7, the superscript (or exponent) a pq of the matrix P of permutations of the information part is either 0 ≤ a pq ≤ N s - 1 or a pq = ∞, as described above. The permutation matrix P with superscript a pq = 0, that is, the permutation matrix P 0 in the information part is the identity matrix N s × N s , and the permutation matrix P with superscript a pq = ∞, that is, the permutation matrix P represents is a zero matrix. In FIG. 7, “p” represents the number of rows of partial blocks mapped to the information part, and “q” represents the number of columns of partial blocks mapped to the parity part. In addition, the superscripts a p , x, and y of the permutation matrices P mapped to the parity part are exponentials of the permutation matrix P. However, for convenience of explanation, various superscripts a p , x, and y are used to distinguish the parity part from the information part. That is, in FIG. 7,
Figure 00000008
and
Figure 00000009
also represent permutation matrices, and the superscripts ai - a p are sequentially indexed for partial matrices located in the diagonal part, for the parity part. In addition, P x and P y are also permutation matrices, and for convenience of explanation, they are indexed differently to distinguish the parity part from the information part. If the length of the block LDPC code having the parity check matrix shown in FIG. 7 is assumed to be N, the degree of coding of the block LDPC code linearly increases with respect to the length N (0 (N)) of the block.

Самая большая проблема кода LDPC, имеющего матрицу проверки на четность по фиг. 7, состоит в том, что, если длина частичного блока будет определена как Ns, будет сгенерировано Ns узлов проверки, степени которых всегда равны 1 в фактор-графе блочного кода LDPC. Узлы проверки со степенью 1 не могут повлиять на улучшение рабочих характеристик на основе итеративного декодировании. Поэтому стандартный нерегулярный код LDPC, основанный на методике авторов Richardson-Urbanke, не включает в себя узел проверки со степенью 1. Поэтому предполагается, что матрица проверки на четность по фиг. 7 представляет собой основную матрицу проверки на четность для разработки матрицы проверки на четность так, что она обеспечивает возможность эффективного кодирования, когда она не включает в себя узел проверки со степенью 1. Если матрица проверки на четность по фиг. 7 содержит частичные матрицы, выбор частичной матрицы является очень важным фактором для улучшения рабочих характеристик блочного кода LDPC, так что поиск соответствующего критерия выбора для частичной матрицы также становится очень важным фактором.The biggest problem of the LDPC code having the parity check matrix of FIG. 7, is that if the length of the partial block is determined to be N s , N s verification nodes will be generated, the degrees of which are always 1 in the factor graph of the block LDPC code. Verification nodes of degree 1 cannot affect performance improvements based on iterative decoding. Therefore, the standard irregular LDPC code based on the methodology of the authors of Richardson-Urbanke does not include a check node with degree 1. Therefore, it is assumed that the parity check matrix of FIG. 7 is a basic parity check matrix for designing a parity check matrix so that it enables efficient coding when it does not include a check node with degree 1. If the parity check matrix of FIG. 7 contains partial matrices, the selection of the partial matrix is a very important factor for improving the performance of the block LDPC code, so finding the appropriate selection criteria for the partial matrix also becomes a very important factor.

Далее будет приведено описание способа разработки матрицы проверки на четность блочного кода LDPC, на основе приведенного выше блочного кода LDPC.Next, a description will be given of a method for developing a parity check matrix of a block LDPC code based on the above block LDPC code.

Для упрощения способа разработки матрицы проверки на четность блочного кода LDPC и способа кодирования блочного кода LDPC, предполагается, что матрица проверки на четность, показанная на фиг. 7, будет сформирована с 6 частичными матрицами, как показано на фиг. 8.In order to simplify the method for developing the parity check matrix of the block LDPC code and the coding method for the block LDPC code, it is assumed that the parity check matrix shown in FIG. 7 will be formed with 6 partial matrices as shown in FIG. 8.

На фиг. 8 показана схема, иллюстрирующая матрицу проверки на четность по фиг. 7, которая разделена на 6 частичных блоков. Как показано на фиг. 8, матрица проверки на четность блочного кода LDPC, представленная на фиг. 7, разделена на информационную часть "s", первую часть p1 проверки на четность и вторую часть p2 проверки на четность. Информационная часть "s" представляет собой часть матрицы проверки на четность, отображенную на действительное информационное слово в процессе кодирования блочного кода LDPC, так же, как информационная часть, описанная со ссылкой на фиг. 7, но для удобства пояснения информационная часть "s" представлена другими буквами, обозначающими ссылочные позиции. Первая часть p1 проверки на четность и вторая часть p2 проверки на четность представляют собой часть матрицы проверки на четность, отображаемую на действительную четность во время процесса кодирования блочного кода LDPC, так же, как и часть проверки на четность, описанная со ссылкой на фиг. 7, и часть проверки на четность разделена на две части.In FIG. 8 is a diagram illustrating a parity check matrix of FIG. 7, which is divided into 6 partial blocks. As shown in FIG. 8, the parity check matrix of the block LDPC code shown in FIG. 7 is divided into the information part “s”, the first parity part p 1 and the second parity part p 2 . The information part “s” is the part of the parity check matrix mapped to the actual information word in the encoding process of the block LDPC code, the same as the information part described with reference to FIG. 7, but for convenience of explanation, the information part "s" is represented by other letters indicating the reference position. The first part p 1 of the parity check and the second part p 2 of the parity check are part of the parity check matrix mapped to the actual parity during the coding process of the block LDPC code, as well as the part of the parity check described with reference to FIG. . 7, and the parity check part is divided into two parts.

Частичные матрицы A и C соответствуют частичным блокам А (802) и C (804) информационной части "s", частичные матрицы B и D соответствуют частичным блокам B (806) и D (808) первой части p1 проверки на четность, и частичные матрицы T и E соответствуют частичным блокам T (810) и E (812) второй части p2 проверки на четность. Хотя матрица проверки на четность на фиг. 8 разделена на 7 частичных блоков, следует отметить, что "0" не является отдельным частичным блоком, и, поскольку частичная матрица T, соответствующая частичному блоку T (810), имеет полную нижнюю треугольную форму, область, где нулевые матрицы расположены в основании диагонали, представлена "0". Процесс упрощения способа кодирования с использованием частичных матриц информационной части "s" первой части p1 проверки на четность и второй части p2 проверки на четность будет описан ниже со ссылкой на фиг. 10.Partial matrices A and C correspond to partial blocks A (802) and C (804) of the information part “s”, partial matrices B and D correspond to partial blocks B (806) and D (808) of the first parity part p 1 , and partial matrices T and E correspond to partial blocks T (810) and E (812) of the second part p 2 of the parity check. Although the parity check matrix in FIG. 8 is divided into 7 partial blocks, it should be noted that “0” is not a separate partial block, and since the partial matrix T corresponding to the partial block T (810) has a complete lower triangular shape, the region where the zero matrices are located at the base of the diagonal , represented by "0". The process of simplifying the encoding method using partial matrices of the information part "s" of the first parity part p 1 and the second parity part p 2 will be described below with reference to FIG. 10.

Частичные матрицы по фиг. 8 будут описаны ниже со ссылкой на фиг. 9.The partial matrices of FIG. 8 will be described below with reference to FIG. 9.

На фиг. 9 показана схема, иллюстрирующая транспонированную матрицу частичной матрицы B, показанной на фиг. 8, частичной матрицы E, частичной матрицы T и обратной матрицы частичной матрицы T, в матрице проверки на четность по фиг. 7.In FIG. 9 is a diagram illustrating a transposed matrix of the partial matrix B shown in FIG. 8, a partial matrix E, a partial matrix T, and an inverse matrix of a partial matrix T, in the parity check matrix of FIG. 7.

Как показано на фиг. 9, частичная матрица BT представляет собой транспонированную матрицу частичной матрицы B, и частичная матрица T-1 представляет собой обратную матрицу частичной матрицы T.

Figure 00000010
представляет
Figure 00000011
. Матрицы перестановок, представленные на фиг. 9, например
Figure 00000012
, могут представлять собой единичную матрицу. Как описано выше, если верхний индекс матрицы перестановок, то есть a1 равен 0,
Figure 00000013
будет представлять собой единичную матрицу. Кроме того, если верхний индекс матрицы перестановок, то есть a1 увеличивается на заданное значение, для матрицы перестановок будет выполнен циклический сдвиг на заданное значение, в результате чего матрица
Figure 00000013
перестановок станет единичной матрицей.As shown in FIG. 9, the partial matrix B T is the transposed matrix of the partial matrix B, and the partial matrix T -1 is the inverse matrix of the partial matrix T.
Figure 00000010
represents
Figure 00000011
. The permutation matrices shown in FIG. 9 for example
Figure 00000012
, can be a unit matrix. As described above, if the superscript of the permutation matrix, that is, a 1 is 0,
Figure 00000013
will be a unit matrix. In addition, if the superscript of the permutation matrix, that is, a 1 increases by a given value, a cyclic shift by a given value will be performed for the permutation matrix, as a result of which the matrix
Figure 00000013
permutations will become the identity matrix.

Ниже, со ссылкой на фиг. 10, приведено описание процесса разработки матрицы проверки на четность блочного кода LDPC.Below, with reference to FIG. 10, a description is given of a process for developing a parity check matrix of a block LDPC code.

На фиг. 10 показана блок-схема последовательности выполнения, иллюстрирующая процедуру генерирования матрицы проверки на четность общего блочного кода LDPC. Перед описанием фиг. 10 следует отметить, что для генерирования блочного кода LDPC необходимо определить размер ключевого слова и значения скорости кодирования блочного кода LDPC, который должен быть сгенерирован, а также размер матрицы проверки на четность должен быть определен в соответствии с определенным размером ключевого слова и значением скорости кодирования. Если размер ключевого слова блочного кода LDPC представлен как N и скорость кодирования представлена как R, размер матрицы проверки на четность становится равным N(1-R)×N. В действительности, процедура для генерирования матрицы проверки на четность блочного кода LDPC, представленная на фиг. 10, выполняется только один раз, поскольку матрица проверки на четность генерируется первоначально так, чтобы она соответствовала ситуации в системе передачи данных, и после этого используют сгенерированную матрицу проверки на четность.In FIG. 10 is a flowchart illustrating a procedure for generating a parity check matrix of a common block LDPC code. Before describing FIG. 10 it should be noted that in order to generate a block LDPC code, it is necessary to determine the size of the keyword and the coding rate of the block LDPC code to be generated, as well as the size of the parity check matrix must be determined in accordance with the determined size of the keyword and the value of the coding rate. If the keyword size of the LDPC block code is represented as N and the coding rate is represented as R, the size of the parity check matrix becomes N (1-R) × N. In fact, the procedure for generating the parity check matrix of the block LDPC code shown in FIG. 10 is performed only once, since the parity check matrix is initially generated so that it matches the situation in the data transmission system, and then the generated parity check matrix is used.

На фиг. 10, на этапе 1011, контроллер разделяет матрицу проверки на четность с размером N(1-R) x N в общей сложности на pxq блоков, включающих p блоков по горизонтальной оси и q блоков по вертикальной оси, и затем переходит на этап 1013. Поскольку каждый из блоков имеет размер Ns×Ns, матрица проверки на четность состоит из Ns×p столбцов и Ns×q строк. На этапе 1013 контроллер классифицирует p×q блоков, выделенных из матрицы проверки на четность, на информационную часть "s", первую часть p1 проверки на четность и вторую часть p2 проверки на четность, и затем переходит на этапы 1015 и 1021.In FIG. 10, in step 1011, the controller divides the parity check matrix with a size of N (1-R) x N in total into pxq blocks including p blocks on the horizontal axis and q blocks on the vertical axis, and then proceeds to step 1013. Since each block is N s × N s in size; the parity matrix consists of N s × p columns and N s × q rows. At step 1013, the controller classifies the p × q blocks extracted from the parity check matrix into the information part “s”, the first parity check part p 1 and the second parity check part p 2 , and then proceeds to steps 1015 and 1021.

На этапе 1015 контроллер разделяет информационную часть "s" на ненулевые блоки, или ненулевые матрицы, и нулевые блоки, или нулевые матрицы в соответствии со степенью распределения, с тем, чтобы гарантировать хорошие рабочие характеристики блочного кода LDPC, и затем переходит на этап 1017. Поскольку степень распределения для гарантированно хороших рабочих характеристик блочного кода LDPC была описана выше, подробное ее описание здесь не приведено. На этапе 1017 контроллер определяет матрицы

Figure 00000014
перестановок так, чтобы минимальная длина цикла для цикла блока была максимальной, как описано выше на участках ненулевых матриц в блоках, имеющих низкую степень, среди блоков, определенных в соответствии со степенью распределения, для гарантирования хороших рабочих характеристик блочного кода LDPC, и затем переходит на этап 1019. Матрицы
Figure 00000014
перестановок должны быть определены с учетом циклов блоков не только по информационной части "s", но также и по первой части p1 проверки на четность и второй части p2 проверки на четность.In step 1015, the controller divides the information part “s” into non-zero blocks, or non-zero matrices, and zero blocks, or zero matrices according to the degree of distribution so as to guarantee good performance of the block LDPC code, and then proceeds to step 1017. Since the degree of distribution for the guaranteed good performance of the LDPC block code has been described above, a detailed description thereof is not given here. At 1017, the controller determines the matrices
Figure 00000014
permutations so that the minimum cycle length for a block cycle is maximum, as described above in sections of nonzero matrices in blocks with a low degree, among blocks determined according to the degree of distribution, to guarantee good performance of the block LDPC code, and then switches to step 1019. Matrices
Figure 00000014
permutations should be determined taking into account the cycles of the blocks not only by the information part "s", but also by the first part p 1 of the parity check and the second part p 2 of the parity check.

На этапе 1019 контроллер случайным образом определяет матрицы

Figure 00000014
перестановок на участках ненулевой матрицы в блоках, имеющих высокую степень по сравнению с другими блоками, определенную в соответствии с распределением степени для гарантирования хороших рабочих характеристик блочного кода LDPC, и затем заканчивает процедуру. Даже когда определены матрицы Papq перестановок, которые должны быть применены к участкам ненулевой матрицы в блоках, имеющих высокую степень, матрицы
Figure 00000014
перестановок должны быть определены таким образом, чтобы минимальная длина цикла для цикла блока была максимизирована, и матрицу
Figure 00000014
определяют с учетом циклов блоков, не только информационной части "s", но также и первой части p1 проверки на четность и второй части p2 проверки на четность. Пример матриц
Figure 00000014
перестановок, расположенных в информационной части "s" матрицы проверки на четность, представлен на фиг. 7.At 1019, the controller randomly determines matrices
Figure 00000014
permutations on sections of a nonzero matrix in blocks having a high degree compared to other blocks, determined in accordance with the degree distribution to guarantee good performance of the block LDPC code, and then ends the procedure. Even when the matrices Pa pq of permutations are determined, which should be applied to sections of a nonzero matrix in blocks with a high degree, matrices
Figure 00000014
permutations should be defined so that the minimum cycle length for the block cycle is maximized, and the matrix
Figure 00000014
determine, taking into account the cycles of the blocks, not only the information part "s", but also the first part p 1 of the parity check and the second part p 2 of the parity check. Matrix Example
Figure 00000014
permutations located in the information part "s" of the parity check matrix are shown in FIG. 7.

На этапе 1021 контроллер разделяет первую часть p1 и вторую часть p2 проверки на четность на 4 частичных матрицы B, T, D и E и затем переходит на этап 1023. На этапе 1023 контроллер вводит ненулевые матрицы

Figure 00000015
и
Figure 00000016
перестановок в 2 частичных блоках среди частичных блоков, составляющих частичную матрицу B, и затем переходит на этап 1025. Структура для ввода ненулевых матриц
Figure 00000017
и
Figure 00000018
перестановок в 2 частичных блоках среди частичных блоков, составляющих частичную матрицу B, была описана со ссылкой на фиг. 9.At step 1021, the controller divides the first part p 1 and the second part p 2 of the parity check into 4 partial matrices B, T, D and E and then proceeds to step 1023. At step 1023, the controller enters non-zero matrices
Figure 00000015
and
Figure 00000016
permutations in 2 partial blocks among the partial blocks making up the partial matrix B, and then proceeds to step 1025. Structure for inputting non-zero matrices
Figure 00000017
and
Figure 00000018
permutations in 2 partial blocks among the partial blocks constituting the partial matrix B has been described with reference to FIG. 9.

На этапе 1025 контроллер вводит единичные матрицы I в диагональные частичные блоки частичной матрицы T, вводит конкретные матрицы перестановок

Figure 00000019
,
Figure 00000020
, …,
Figure 00000021
в (i, i+1)-ые частичные блоки под диагональными компонентами частичной матрицы T, и затем переходит на этап 1027. Структура для ввода единичных матриц I в диагональные частичные блоки частичной матрицы T и ввода частичных матриц перестановок
Figure 00000022
,
Figure 00000023
, …,
Figure 00000024
в (i, i+1)-ые частичные блоки под диагональными компонентами частичной матрицы T была описана со ссылкой на фиг. 9.At 1025, the controller enters the identity matrices I into the diagonal partial blocks of the partial matrix T, enters specific permutation matrices
Figure 00000019
,
Figure 00000020
, ...,
Figure 00000021
to the (i, i + 1) th partial blocks under the diagonal components of the partial matrix T, and then proceeds to step 1027. Structure for inputting the unit matrices I into the diagonal partial blocks of the partial matrix T and entering the partial permutation matrices
Figure 00000022
,
Figure 00000023
, ...,
Figure 00000024
in the (i, i + 1) th partial blocks under the diagonal components of the partial matrix T was described with reference to FIG. 9.

На этапе 1027 контроллер вводит частичную матрицу Px в частичную матрицу D и затем переходит на этап 1029. На этапе 1029 контроллер вводит матрицы

Figure 00000025
перестановок только в последний частичный блок в частичной матрице E и затем заканчивает процедуру. Структура для ввода 2 матриц
Figure 00000026
перестановок только в последний частичный блок среди частичных блоков, составляющих частичную матрицу E, была описана со ссылкой на фиг. 9.At step 1027, the controller enters the partial matrix P x into the partial matrix D and then proceeds to step 1029. At step 1029, the controller enters the matrices
Figure 00000025
permutations only to the last partial block in the partial matrix E and then ends the procedure. Structure for entering 2 matrices
Figure 00000026
permutations of only the last partial block among the partial blocks making up the partial matrix E has been described with reference to FIG. 9.

Сущность изобретенияSUMMARY OF THE INVENTION

Как описано выше, известно, что код LDPC, так же как и турбокод, обладает высоким ростом рабочих характеристик во время высокоскоростной передачи данных и эффективно корректирует ошибку, вызываемую шумами, генерируемыми в канале передачи, способствуя повышению надежности передачи данных. Однако код LDPC имеет недостаток, связанный со скоростью кодирования, поскольку код LDPC имеет относительно высокую скорость кодирования, и имеет ограничения в смысле скорости кодирования. Среди доступных в настоящее время кодов LDPC, основные коды LDPC имеют скорость кодирования 1/2, и только незначительное количество кодов LDPC имеют скорость кодирования 1/3. Ограничение скорости кодирования оказывает фатальное влияние на передачу данных с высокой скоростью и высокой пропускной способностью. Конечно, хотя степень распределения, представляющая наилучшие рабочие характеристики, может быть рассчитана с использованием схемы эволюции плотности для выполнения относительно низкой скорости кодирования кода LDPC, трудно воплотить код LDPC, имеющий степень распределения, представляющую наилучшие рабочие характеристики, из-за различных ограничений, таких как структура цикла в фактор-графе, и при воплощении в аппаратных средствах.As described above, it is known that the LDPC code, like the turbo code, has a high increase in performance during high-speed data transmission and effectively corrects the error caused by noise generated in the transmission channel, thereby increasing the reliability of data transmission. However, the LDPC code has a disadvantage associated with the coding rate, since the LDPC code has a relatively high coding rate, and has limitations in terms of coding rate. Among the currently available LDPC codes, the main LDPC codes have a 1/2 coding rate, and only a small number of LDPC codes have a 1/3 coding rate. Limiting the coding rate has a fatal effect on data transmission with high speed and high bandwidth. Of course, although the degree of distribution representing the best performance can be calculated using the density evolution scheme to perform the relatively low coding rate of the LDPC code, it is difficult to implement the LDPC code having the degree of distribution representing the best performance, due to various limitations, such as cycle structure in a factor graph, and when implemented in hardware.

Таким образом, задача настоящего изобретения состоит в создании устройства и способа кодирования/декодирования кода LDPC, имеющего переменную длину блока в системе мобильной связи.Thus, an object of the present invention is to provide an apparatus and method for encoding / decoding an LDPC code having a variable block length in a mobile communication system.

Другая задача настоящего изобретения состоит в создании устройства и способа кодирования/декодирования кода LDPC, имеющего переменную длину блока, степень кодирования которого была бы минимизирована в мобильной системе связи.Another objective of the present invention is to provide an apparatus and method for encoding / decoding an LDPC code having a variable block length, the encoding of which would be minimized in a mobile communication system.

В соответствии с одним аспектом настоящего изобретения предложен способ кодирования блочного кода проверки на четность с низкой плотностью (LDPC), имеющего переменную длину. Способ включает в себя этапы, на которых принимают информационное слово; и кодируют это информационное слово в блочный код LDPC на основе одной матрицы из первой матрицы проверки на четность и второй матрицы проверки на четность в зависимости от длины, которая должна использоваться при генерировании информационного слова в блочный код LDPC.In accordance with one aspect of the present invention, there is provided a method for encoding a block variable density parity check (LDPC) code. The method includes the steps of taking an information word; and encode this information word into a block LDPC code based on one matrix from the first parity check matrix and the second parity check matrix depending on the length to be used when generating the information word in the LDPC block code.

В соответствии с другим аспектом настоящего изобретения предложено устройство для кодирования блочного кода проверки на четность с низкой плотностью (LDPC), имеющего переменную длину. Это устройство включает в себя кодер для кодирования информационного слова в блочный код LDPC на основе одной из первой матрицы проверки на четность и второй матрицы проверки на четность в зависимости от длины, которая должна использоваться при генерировании информационного слова в блочный код LDPC; и модулятор для модуляции блочного кода LDPC в символ модуляции с использованием заданной схемы модуляции.In accordance with another aspect of the present invention, there is provided an apparatus for encoding a variable low density block parity check (LDPC) code. This device includes an encoder for encoding an information word into a block LDPC code based on one of the first parity check matrix and the second parity check matrix depending on the length to be used when generating the information word in the LDPC block code; and a modulator for modulating the block LDPC code into a modulation symbol using a predetermined modulation scheme.

В соответствии с другим дополнительным аспектом настоящего изобретения предложен способ декодирования блочного кода проверки на четность с низкой плотностью (LDPC), имеющего переменную длину. Способ включает в себя этапы, на которых принимают сигнал и выбирают одну матрицу из первой матрицы проверки на четность и второй матрицы проверки на четность в соответствии с длиной блочного кода LDPC, предназначенного для декодирования, и декодируют принятый сигнал в соответствии с выбранной матрицей проверки на четность, детектируя, таким образом, блочный код LDPC.In accordance with another further aspect of the present invention, there is provided a method for decoding a low density block parity check (LDPC) code having a variable length. The method includes receiving a signal and selecting one matrix from the first parity check matrix and the second parity check matrix in accordance with the length of the block LDPC code for decoding, and decode the received signal in accordance with the selected parity check matrix thus detecting the block LDPC code.

В соответствии с еще одним аспектом настоящего изобретения предложено устройство для декодирования блочного кода проверки на четность с низкой плотностью (LDPC), имеющего переменную длину. Устройство включает в себя приемник для приема сигнала; и декодер для выбора одной матрицы из первой матрицы проверки на четность и второй матрицы проверки на четность в соответствии с длиной блочного кода LDPC, предназначенного для декодирования, и декодирования принятого сигнала в соответствии с выбранной матрицей проверки на четность с детектированием, таким образом, блочного кода LDPC.In accordance with yet another aspect of the present invention, there is provided an apparatus for decoding a low density block parity check (LDPC) code having a variable length. The device includes a receiver for receiving a signal; and a decoder for selecting one matrix from the first parity check matrix and the second parity check matrix in accordance with the length of the block LDPC code for decoding, and decoding the received signal in accordance with the selected parity check matrix with detection, thus, the block code LDPC.

Краткое описание чертежейBrief Description of the Drawings

Указанные выше и другие задачи, признаки и преимущества настоящего изобретения будут более понятны из следующего подробного описания, которое следует рассматривать совместно с прилагаемыми чертежами, на которых:The above and other objectives, features and advantages of the present invention will be better understood from the following detailed description, which should be considered in conjunction with the accompanying drawings, in which:

на фиг. 1 представлена схема, иллюстрирующая структуру передатчика/приемника в обычной системе мобильной связи;in FIG. 1 is a diagram illustrating a structure of a transmitter / receiver in a conventional mobile communication system;

на фиг. 2 показана схема, иллюстрирующая матрицу проверки на четность общего кода LDPC (8, 2, 4);in FIG. 2 is a diagram illustrating a parity check matrix of a common LDPC code (8, 2, 4);

на фиг. 3 показана схема, иллюстрирующая фактор-граф кода LDPC (8, 2, 4) по фиг. 2;in FIG. 3 is a diagram illustrating a factor graph of the LDPC code (8, 2, 4) of FIG. 2;

на фиг. 4 показана схема, иллюстрирующая матрицу проверки на четность обычного блочного кода LDPC;in FIG. 4 is a diagram illustrating a parity check matrix of a conventional block LDPC code;

на фиг. 5 показана схема, иллюстрирующая матрицу P перестановок по фиг. 4;in FIG. 5 is a diagram illustrating the permutation matrix P of FIG. four;

на фиг. 6 показана схема, иллюстрирующая структуру цикла блочного кода LDPC, в котором матрица проверки на четность состоит из 4 частичных матриц;in FIG. 6 is a diagram illustrating a loop structure of a block LDPC code in which a parity check matrix consists of 4 partial matrices;

на фиг. 7 показана схема, иллюстрирующая матрицу проверки на четность, имеющую форму, аналогичную форме полной нижней треугольной матрицы;in FIG. 7 is a diagram illustrating a parity check matrix having a shape similar to that of a full lower triangular matrix;

на фиг. 8 показана схема, иллюстрирующая матрицу проверки на четность по фиг. 7, которая разделена на 6 частичных блоков;in FIG. 8 is a diagram illustrating a parity check matrix of FIG. 7, which is divided into 6 partial blocks;

на фиг. 9 показана схема, иллюстрирующая транспонированную матрицу частичной матрицы B, показанной на фиг. 8, частичной матрицы E, частичной матрицы T и обратную матрицу частичной матрицы T;in FIG. 9 is a diagram illustrating a transposed matrix of the partial matrix B shown in FIG. 8, a partial matrix E, a partial matrix T, and an inverse matrix of a partial matrix T;

на фиг. 10 показана блок-схема последовательности операций, иллюстрирующая процедуру генерирования матрицы проверки на четность обычного блочного кода LDPC;in FIG. 10 is a flowchart illustrating a procedure for generating a parity check matrix of a conventional block LDPC code;

на фиг. 11 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с первым вариантом выполнения настоящего изобретения;in FIG. 11 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a first embodiment of the present invention;

на фиг. 12 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии со вторым вариантом выполнения настоящего изобретения;in FIG. 12 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a second embodiment of the present invention;

на фиг. 13 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с третьим вариантом выполнения настоящего изобретения;in FIG. 13 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a third embodiment of the present invention;

на фиг. 14 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с четвертым вариантом выполнения настоящего изобретения;in FIG. 14 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a fourth embodiment of the present invention;

на фиг. 15 показана блок-схема последовательности операций, иллюстрирующая процесс кодирования блочного кода LDPC с переменной длиной блока в соответствии с первым-четвертым вариантами выполнения настоящего изобретения;in FIG. 15 is a flowchart illustrating a process for encoding a block LDPC code with a variable block length in accordance with first to fourth embodiments of the present invention;

на фиг. 16 показана блок-схема, иллюстрирующая внутреннюю структуру устройства, предназначенного для кодирования блочного кода LDPC с переменной длиной блока в соответствии с вариантами выполнения настоящего изобретения;in FIG. 16 is a block diagram illustrating an internal structure of an apparatus for encoding a block LDPC code with a variable block length in accordance with embodiments of the present invention;

на фиг. 17 показана блок-схема, иллюстрирующая внутреннюю структуру устройства, предназначенного для декодирования блочного кода LDPC, в соответствии с вариантами выполнения настоящего изобретения;in FIG. 17 is a block diagram illustrating an internal structure of an apparatus for decoding a block LDPC code in accordance with embodiments of the present invention;

на фиг. 18 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с пятым вариантом выполнения настоящего изобретения;in FIG. 18 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a fifth embodiment of the present invention;

на фиг. 19 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с шестым вариантом выполнения настоящего изобретения;in FIG. 19 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a sixth embodiment of the present invention;

на фиг. 20 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока, в соответствии с седьмым вариантом выполнения настоящего изобретения;in FIG. 20 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a seventh embodiment of the present invention;

на фиг. 21 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока, в соответствии с восьмым вариантом выполнения настоящего изобретения;in FIG. 21 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to an eighth embodiment of the present invention;

на фиг. 22 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока, в соответствии с девятым вариантом выполнения настоящего изобретения;in FIG. 22 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a ninth embodiment of the present invention;

на фиг. 23 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока, в соответствии с десятым вариантом выполнения настоящего изобретения;in FIG. 23 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a tenth embodiment of the present invention;

на фиг. 24 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока, в соответствии с одиннадцатым вариантом выполнения настоящего изобретения;in FIG. 24 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to an eleventh embodiment of the present invention;

на фиг. 25 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока, в соответствии с двенадцатым вариантом выполнения настоящего изобретения;in FIG. 25 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a twelfth embodiment of the present invention;

на фиг. 26 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока, в соответствии с тринадцатым вариантом выполнения настоящего изобретения;in FIG. 26 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a thirteenth embodiment of the present invention;

на фиг. 27 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока, в соответствии с четырнадцатым вариантом выполнения настоящего изобретения; иin FIG. 27 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a fourteenth embodiment of the present invention; and

на фиг. 28 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока, в соответствии с пятнадцатым вариантом выполнения настоящего изобретения.in FIG. 28 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a fifteenth embodiment of the present invention.

Подробное описание предпочтительного варианта осуществленияDetailed Description of a Preferred Embodiment

Несколько предпочтительных вариантов осуществления настоящего изобретения будут подробно описаны ниже со ссылкой на прилагаемые чертежи. В следующем описании подробное пояснение приведенных здесь известных функций и конфигураций не представлено для краткости изложения.Several preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings. In the following description, a detailed explanation of the known functions and configurations given here is not presented for brevity.

В настоящем изобретении предложены устройство и способ, предназначенные для кодирования и декодирования блочного кода проверки на четность с низкой плотностью (LDPC), имеющего переменную длину блока (ниже называется "блочный код LDPC с переменной длиной блока"). Таким образом, в настоящем изобретении предложены устройство и способ, предназначенные для кодирования и декодирования блочного кода LDPC с переменной длиной блока, в котором максимизирована длина минимального цикла в фактор-графе блочного кода LDPC, степень кодирования блочного кода LDPC минимизирована, степень распределения фактор-графа блочного кода LDPC имеет оптимальную величину 1, и поддерживаются переменные длины блока. Хотя это отдельно не представлено в описании, устройство кодирования и декодирования блочного кода LDPC с переменной длиной блока в соответствии с настоящим изобретением можно применять для передатчика/приемника, описанного со ссылкой на фиг. 1.The present invention provides an apparatus and method for encoding and decoding a block low density parity check (LDPC) code having a variable block length (hereinafter referred to as a "block variable LDPC code with a variable block length"). Thus, the present invention provides an apparatus and method for encoding and decoding a block LDPC code with a variable block length in which the minimum cycle length in the factor graph of the LDPC block code is maximized, the degree of coding of the LDPC block code is minimized, the degree of distribution of the factor graph The block LDPC code has an optimal value of 1, and variable block lengths are supported. Although not separately described, the variable block length LDPC coding and decoding apparatus in accordance with the present invention can be applied to the transmitter / receiver described with reference to FIG. one.

Система мобильной связи следующего поколения получила развитие как система передачи данных пакетного обслуживания, и система передачи данных пакетного обслуживания, которая представляет собой систему, предназначенную для передачи пакетных данных в множество мобильных станций, была разработана так, чтобы она соответствовала возможности передачи данных с высокой пропускной способностью. Для увеличения пропускной способности передачи данных были предложены схема гибридного автоматического запроса на повторную передачу данных (HARQ, ГАЗП) и схема адаптивной модуляции и кодирования (AMC, АМК). Поскольку схема HARQ и схема AMC поддерживают переменную скорость кодирования, существует потребность в блочных кодах LDPC, имеющих разные длины блоков.The next generation mobile communication system has been developed as a packet service data transmission system, and the packet service data transmission system, which is a system for transmitting packet data to a plurality of mobile stations, has been designed to match high-bandwidth data transmission capabilities. . To increase data throughput, a hybrid automatic request for data retransmission (HARQ, HAZP) scheme and an adaptive modulation and coding scheme (AMC, AMC) were proposed. Because the HARQ scheme and the AMC scheme support variable coding rates, there is a need for block LDPC codes having different block lengths.

Конструкция блочного кода LDPC с переменной длиной блока, так же, как и конструкция обычного кода LDPC, выполнена с использованием конструкции матрицы с проверкой на четность. Однако в мобильной системе связи для обеспечения блочного кода LDPC с переменной длиной блока, с одним кодеком, то есть для обеспечения блочного кода LDPC, имеющего разные длины блока, матрица проверки на четность должна включать в себя матрицы проверки на четность, позволяющие представлять блочные коды LDPC, имеющие разные длины блока. Ниже приведено описание матрицы проверки на четность блочного кода LDPC, обеспечивающего переменную длину блока.The construction of a block LDPC code with a variable block length, as well as the construction of a conventional LDPC code, is performed using a matrix design with parity. However, in a mobile communication system, to provide a block LDPC code with a variable block length, with one codec, that is, to provide a block LDPC code having different block lengths, the parity check matrix must include parity check matrices to represent block LDPC codes having different block lengths. The following is a description of the parity check matrix of a block LDPC code providing a variable block length.

Вначале блочный код LDPC, имеющий минимальную длину блока, требуемую в системе, разрабатывают для требуемой скорости кодирования. В матрице проверки на четность, если увеличивать Ns, обозначающий размер ее частичной матрицы, получают блочный код LDPC, имеющий большую длину блока. "Частичная матрица", как описано выше, относится к матрице перестановок, соответствующей каждому из частичных блоков, полученных путем разделения матрицы проверки на четность на множество частичных блоков. Если предположить, что блочный код LDPC расширен таким образом, что вначале будет разработан блочный код LDPC с короткой длиной блока, и затем будет разработан блочный код LDPC с большой длиной блока, ввиду увеличения размера Ns, частичная матрица приводит к модификации структуры цикла, при этом экспоненты матриц перестановок для матриц проверки на четность выбирают таким образом, чтобы длина цикла была максимизирована. Здесь размер частичной матрицы, составляющей Ns, означает, что частичная матрица представляет собой квадратную матрицу, имеющую размер Ns×Ns, и для удобства описания, размер частичной матрицы представлен как Ns.Initially, a block LDPC code having the minimum block length required in the system is designed for the desired coding rate. In the parity check matrix, if you increase N s denoting the size of its partial matrix, a block LDPC code having a large block length is obtained. A “partial matrix”, as described above, refers to a permutation matrix corresponding to each of the partial blocks obtained by dividing the parity check matrix into a plurality of partial blocks. If we assume that the block LDPC code is expanded in such a way that first a block LDPC code with a short block length is developed, and then a block LDPC code with a large block length is developed, due to an increase in the size N s, the partial matrix leads to a modification of the loop structure, when In this case, the exponents of the permutation matrices for the parity check matrices are chosen so that the cycle length is maximized. Here, the size of the partial matrix constituting N s means that the partial matrix is a square matrix having a size of N s × N s , and for convenience of description, the size of the partial matrix is represented as N s .

Например, если предположить, что размер частичного блока основного блочного кода LDPC составляет Ns=2, когда требуется расширить базовый блочный код LDPC с Ns=2 до блочного кода LDPC с Ns=4 в 2 раза большей длины, чем основной блочный код LDPC, частичная матрица, экспонента которой равна 0, в матрице перестановок, может выбирать значение 0 или 2, если ее длина увеличивается от Ns=2 до Ns=4. Среди этих двух значений следует выбрать значение, позволяющее максимизировать цикл. Аналогично, в блочном коде LDPC с Ns=2 частичная матрица с экспонентой 1 может выбирать значение 1 или 3, если ее длина увеличивается от Ns=2 до Ns=4.For example, assuming that the partial block size of the main block LDPC code is N s = 2, when you want to expand the basic block LDPC code with N s = 2 to the block LDPC code with N s = 4 2 times longer than the main block code LDPC, a partial matrix whose exponent is 0 in the permutation matrix, can choose the value 0 or 2 if its length increases from N s = 2 to N s = 4. Among these two values, choose a value that maximizes the cycle. Similarly, in a block LDPC code with N s = 2, a partial matrix with exponent 1 can choose the value 1 or 3 if its length increases from N s = 2 to N s = 4.

Как описано выше, возможно разработать блочный код LDPC, имеющий максимальные рабочие характеристики для каждой длины блока, путем разработки блочного кода LDPC с использованием основного блочного кода LDPC, при увеличении величины Ns. Кроме того, один случайный блочный код LDPC среди блочных кодов LDPC, имеющих различные длины блока, может быть определен как основной блочный код LDPC, способствующий увеличению эффективности использования запоминающего устройства. Далее будет приведено описание способа генерирования матрицы проверки на четность блочного кода LDPC с переменной длиной блока. В настоящем изобретении предложено 4 типа матриц проверки на четность для блочного кода LDPC с переменной длиной блока, в соответствии со скоростью кодирования, и значения скорости кодирования, рассматриваемые в настоящем изобретении, включают в себя 1/2, 2/3, 3/4 и 5/6.As described above, it is possible to develop a block LDPC code having maximum performance for each block length by developing a block LDPC code using a basic block LDPC code, while increasing the value of N s . In addition, one random block LDPC code among block LDPC codes having different block lengths can be defined as a basic block LDPC code, which contributes to an increase in storage efficiency. Next, a description will be given of a method for generating a parity check matrix of a block LDPC code with a variable block length. The present invention provides 4 types of parity check matrices for a variable block length LDPC code according to the coding rate, and the coding rate values discussed in the present invention include 1/2, 2/3, 3/4, and 5/6.

Перед описанием матриц проверки на четность блочного кода LDPC с переменной длиной блока для скоростей кодирования 1/2, 2/3, 3/4, и 5/6, со ссылкой на фиг. 15 будет описан процесс кодирования блочного кода LDPC с переменной длиной блока, с использованием матрицы проверки на четность, разработанной в настоящем изобретении. 15.Before describing the parity check matrices of the block LDPC code with a variable block length for coding rates 1/2, 2/3, 3/4, and 5/6, with reference to FIG. 15, a process for encoding a block LDPC code with a variable block length will be described using the parity check matrix developed in the present invention. fifteen.

На фиг. 15 показана блок-схема последовательности операций, иллюстрирующая процесс кодирования блочного кода LDPC с переменной длиной блока, в соответствии с первым-четвертым вариантами выполнения настоящего изобретения. Перед описанием фиг. 15, предполагается, что матрица проверки на четность для блочного кода LDPC с переменной длиной блока состоит из 6 частичных матриц, как описано со ссылкой на фиг. 8.In FIG. 15 is a flowchart illustrating a process for encoding a block LDPC code with a variable block length in accordance with the first to fourth embodiments of the present invention. Before describing FIG. 15, it is assumed that the parity check matrix for the variable block length LDPC block code consists of 6 partial matrices, as described with reference to FIG. 8.

Как показано на фиг. 15, на этапе 1511, контроллер (не показан) принимает вектор "s" информационного слова, предназначенный для кодирования в блочный код LDPC с переменной длиной блока, и затем переходит на этапы 1513 и 1515. Здесь предполагается, что длина вектора "s" информационного слова, принимаемого для кодирования, в блочный код LDPC, равна k. На этапе 1513 контроллер выполняет матричное перемножение принятого вектора "s" информационного слова на частичную матрицу А матрицы (As) проверки на четность, и затем переходит на этап 1517. Здесь, поскольку количество элементов, имеющих значение 1, расположенных в частичной матрице A, намного меньше, чем количество элементов, имеющих значение 0, матричное умножение (As) вектора s информационного слова и частичной матрицы А матрицы проверки на четность может быть получено с относительно малым количеством операций суммирования-перемножения. Кроме того, в частичной матрице A, поскольку положения, где расположены элементы, имеющие значение 1, можно выразить как экспоненциальное умножение положения ненулевого блока и матрицы перестановок блока, перемножение матриц можно выполнить, используя очень простую операцию по сравнению со случайной матрицей проверки на четность. На этапе 1515 контроллер выполняет перемножение матриц (Cs) для частичной матрицы C в матрице проверки на четность и вектора "s" информационного слова и затем переходит на этап 1519.As shown in FIG. 15, in step 1511, a controller (not shown) receives an information word vector “ s ” intended to be encoded into a variable block length LDPC code, and then proceeds to steps 1513 and 1515. Here, it is assumed that the length of the information vector “ s ” words taken for encoding into the block LDPC code is k. At step 1513, the controller performs matrix multiplication of the received vector “ s ” of the information word by the partial matrix A of the parity matrix (As), and then proceeds to step 1517. Here, since the number of elements having a value of 1 located in the partial matrix A is much less than the number of elements having a value of 0, matrix multiplication (As) of the vector s of the information word and the partial matrix A of the parity check matrix can be obtained with a relatively small number of summation-multiplication operations. In addition, in the partial matrix A, since the positions where the elements having the value 1 are located can be expressed as the exponential multiplication of the positions of the nonzero block and the matrix of permutations of the block, the matrix multiplication can be performed using a very simple operation compared to a random parity check matrix. At step 1515, the controller performs matrix multiplication (C s ) for the partial matrix C in the parity check matrix and the information word vector s , and then proceeds to step 1519.

На этапе 1517 контроллер выполняет перемножение матриц (ET-1As) на результат перемножения матриц (As) вектора "s" информационного слова и частичной матрицы А из матрицы проверки на четность, и матрицы ET-1, и затем переходит на этап 1519. Здесь, поскольку количество элементов, имеющих значение 1 в матрице ET-1, очень мало, как описано выше, если будет задана экспонента матрицы перестановок блока, умножение матриц может быть выполнено просто. На этапе 1519 контроллер рассчитывает первый вектор P 1 проверки на четность путем суммирования ET-1As и Cs (P 1 = ET-1As + Cs), и затем переходит на этап 1521. Здесь операция суммирования представляет собой операцию исключающее ИЛИ (XOR), и ее результат становится равным 0 для операций между битами, имеющими одинаковое значение, и 1 для операций между битами, имеющими разные значения. То есть процесс, вплоть до этапа 1519, представляет собой процесс расчета первого вектора P 1 проверки на четность.At step 1517, the controller multiplies the matrices (ET −1 A s ) by the result of multiplying the matrices (A s ) of the information word vector s and the partial matrix A from the parity check matrix and the matrix ET -1 , and then proceeds to step 1519 Here, since the number of elements having a value of 1 in the matrix ET -1 is very small, as described above, if the exponent of the matrix of permutations of the block is specified, matrix multiplication can be performed simply. At step 1519, the controller calculates the first parity check vector P 1 by summing ET -1 A s and C s ( P 1 = ET -1 A s + C s ), and then proceeds to step 1521. Here, the summing operation is an exclusive operation OR (XOR), and its result becomes equal to 0 for operations between bits having the same value, and 1 for operations between bits having different values. That is, the process, up to step 1519, is the process of calculating the first parity check vector P 1 .

На этапе 1521 контроллер перемножает частичную матрицу B для матрицы проверки на четность на первый вектор P 1 проверки на четность (BP 1), суммирует результат умножения (BP 1) с As (As + BP 1), и затем переходит на этап 1523. Если заданы вектор "s" информационного слова и первый вектор P 1 проверки на четность, их следует умножить на обратную матрицу T-1 частичной матрицы T матрицы проверки на четность, для расчета второго вектора P 2 проверки на четность. Поэтому на этапе 1523 контроллер перемножает результат расчетов (As + BP 1) на этапе 1521 на обратную матрицу T-1 частичной матрицы T для расчета второго вектора P2 проверки на четность (P 2 =T-1 (As + BP 1), и затем переходит на этап 1525. Как описано выше, если будет задан вектор "s" информационного слова блочного кода LDPC, предназначенного для кодирования, можно будет рассчитать первый вектор P 1 проверки на четность и второй вектор P 2 проверки на четность, и, в результате, могут быть получены все векторы кодового слова. На этапе 1525 контроллер генерирует вектор "c" кодового слова, используя вектор "s" информационного слова, первый вектор P 1 проверки на четность и второй вектор P 2 проверки на четность, и передает сгенерированный вектор "c" кодового слова.At step 1521, the controller multiplies the partial matrix B for the parity check matrix by the first parity check vector P 1 (B P 1 ), sums the multiplication result (B P 1 ) with A s (A s + B P 1 ), and then goes to step 1523. If the vector s of the information word and the first parity check vector P 1 are specified, they should be multiplied by the inverse matrix T −1 of the partial matrix T of the parity check matrix to calculate the second parity check vector P 2 . Therefore, in step 1523, the controller multiplies the calculation result (A s + B P 1 ) in step 1521 by the inverse matrix T −1 of the partial matrix T to calculate the second parity check vector P 2 ( P 2 = T −1 (A s + B P 1), and then proceeds to step 1525. As described above, if there is a specified vector "s" information word block code LDPC, intended for encoding, can be calculated first vector P 1 and the parity vector P 2 of the second parity check and, as a result, all codeword vectors can be obtained. At block 1525, the controller generates a vector p "c" codeword vector using the "s" information word, the first vector P 1 and the parity vector P 2 of the second parity check, and transmits the generated vector "c" of the codeword.

Далее, со ссылкой на фиг. 16, описана внутренняя структура устройства, предназначенного для кодирования блочного кода LDPC с переменной длиной блока, в соответствии с вариантами выполнения настоящего изобретения.Next, with reference to FIG. 16, the internal structure of an apparatus for encoding a block LDPC code with a variable block length is described in accordance with embodiments of the present invention.

На фиг. 16 показана блок-схема, иллюстрирующая внутреннюю структуру устройства, предназначенного для кодирования блочного кода LDPC с переменной длиной блока, в соответствии с вариантами выполнения настоящего изобретения. Как показано на фиг. 16, устройство для кодирования блочного кода LDPC с переменной длиной блока включает в себя умножитель 1611 матрицы-А, умножитель 1613 матрицы-C, умножитель 1615 матрицы ET-1, сумматор 1617, умножитель 1619 матрицы-B, сумматор 1621, умножитель 1623 матрицы T-1 и переключатели 1625, 1627 и 1629.In FIG. 16 is a block diagram illustrating an internal structure of an apparatus for encoding a block LDPC code with a variable block length in accordance with embodiments of the present invention. As shown in FIG. 16, an apparatus for encoding a variable block length LDPC block code includes a matrix A multiplier 1611, a matrix C multiplier 1613, an ET -1 matrix multiplier 1615, an adder 1617, a matrix B multiplier 1619, an adder 1621, a T matrix multiplier 1623 -1 and switches 1625, 1627 and 1629.

Если будет принят входной сигнал, то есть вектор "s" информационного слова длиной k, которое должен быть закодировано в блочный код LDPC с переменной длиной блока, принятый вектор "s" информационного слова длиной k подают на переключатель 1625, умножитель 1611 матрицы-A и умножитель 1613 матрицы C, умножитель 1611 матрицы-A умножает вектор "s" информационного слова на частичную матрицу А полной матрицы проверки на четность, и выводит результат умножения в умножитель 1615 матрицы ET-1 и в сумматор 1621. Умножитель 1613 матрицы-C умножает вектор "s" информационного слова на частичную матрицу C полной матрицы проверки на четность, и выводит результат умножения в сумматор 1617. Умножитель 1615 матрицы ET-1 умножает сигнал, поступающий с выхода умножителя 1611 матрицы-A на частичную матрицу ET-1 полной матрицы проверки на четность, и выводит результат умножения в сумматор 1617.If an input signal is received, that is, an information word vector “ s ” of length k, which is to be encoded into a variable block length LDPC code, the received information word vector “ s ” of length k is supplied to switch 1625, matrix-A multiplier 1611, and matrix C multiplier 1613, matrix-A multiplier 1611 multiplies the information word vector " s " by the partial matrix A of the full parity check matrix, and outputs the multiplication result to matrix multiplier 1615 of ET -1 and to adder 1621. Matrix-C multiplier 1613 multiplies vector "s" information of words to complete a partial matrix C of the parity check matrix, and outputs the multiplication result to the adder 1617. The multiplier 1615 multiplies a matrix ET -1 signal output from the matrix multiplier 1611-A by a partial matrix ET -1 full parity check matrix, and outputs the multiplication result to the adder 1617.

Сумматор 1617 суммирует сигнал, поступающий с выхода калькулятора 1615 матрицы ET-1, с сигналом, поступающим с выхода умножителя 1613 матрицы-C, и выводит результат суммирования в умножитель 1619 матрицы-B и в переключатель 1627. Здесь сумматор 1617 выполняет операцию "исключающее ИЛИ" на побитовой основе. Например, если вектор длиной 3, представляющий собой x = (x1, x2, x3) и вектор длиной 3, представляющий собой y = (y1, y2, y3), подают на сумматор 1617, сумматор 1617 выводит вектор длиной 3, представляющий собой z = (x1

Figure 00000027
y1, x2
Figure 00000028
y2, x3
Figure 00000028
y3) после обработки с применением операции "исключающее ИЛИ" вектора x = (x1, x2, x3) длиной 3, и вектора y = (y1, y2, y3) длиной 3. Здесь операция
Figure 00000028
представляет собой операцию "исключающее ИЛИ", результат которой становится равным 0 для операций между битами, имеющими одинаковое значение, и 1 для операций между битами, имеющими разные значения. Сигнал, поступающий с выхода сумматора 1617, становится первым вектором P 1 проверки на четность.The adder 1617 sums the signal from the output of the calculator 1615 of the matrix ET -1 with the signal from the output of the multiplier 1613 of the matrix-C, and outputs the result of the summation to the multiplier 1619 of the matrix-B and the switch 1627. Here, the adder 1617 performs an exclusive OR operation "on a bit by bit basis. For example, if a vector of length 3, which is x = (x 1 , x 2 , x 3 ), and a vector of length 3, which is y = (y 1, y 2 , y 3 ), is fed to adder 1617, adder 1617 outputs a vector length 3, which is z = (x 1
Figure 00000027
y 1 , x 2
Figure 00000028
y 2 , x 3
Figure 00000028
y 3 ) after processing using the exclusive OR operation of the vector x = (x 1 , x 2 , x 3 ) of length 3, and the vector y = (y 1 , y 2 , y 3 ) of length 3. Here, the operation
Figure 00000028
represents an exclusive-OR operation, the result of which becomes 0 for operations between bits having the same value, and 1 for operations between bits having different values. The signal from the output of the adder 1617 becomes the first parity check vector P 1 .

Умножитель 1619 матрицы-B умножает сигнал, поступающий с выхода сумматора 1617, то есть первый вектор P 1 проверки на четность, на частичную матрицу B полной матрицы проверки на четность, и выводит результат умножения в сумматор 1621. Сумматор 1621 добавляет сигнал, поступающий с выхода умножителя 1619 матрицы-B, к сигналу, поступающему с выхода умножителя 1611 матрицы-A, и выводит результат суммирования в умножитель 1623 матрицы T-1. Сумматор 1621, так же, как и сумматор 1617, выполняет операцию "исключающее ИЛИ" для сигнала, поступающего с выхода умножителя 1619 матрицы-B, и сигнала, поступающего с выхода умножителя 1611 матрицы-A, и выводит результат операции "исключающее ИЛИ" в умножитель 1623 матрицы T-1.Matrix-B multiplier 1619 multiplies the signal from the output of adder 1617, that is, the first parity check vector P 1 , by the partial matrix B of the full parity check matrix, and outputs the multiplication result to adder 1621. Adder 1621 adds the signal coming from the output matrix-B multiplier 1619, to a signal coming from the output of matrix-A multiplier 1611, and outputs the summation result to matrix T -1 multiplier 1623. The adder 1621, as well as the adder 1617, performs an exclusive OR operation for the signal coming from the output of the matrix-B multiplier 1619, and the signal coming from the output of the matrix-A multiplier 1611, and outputs the result of the exclusive-OR operation to a multiplier 1623 of the matrix T -1 .

Умножитель 1623 матрицы T-1 умножает сигнал, поступающий с выхода сумматора 1621, на обратную матрицу T-1 частичной матрицы T полной матрицы проверки на четность, и выводит результат умножения в переключатель 1629. Выход умножителя 1623 матрицы T-1 становится вторым вектором P 2 проверки на четность. Каждый из переключателей 1625, 1627 и 1629 включают только во время его передачи, для передачи ассоциированного с ним сигнала. Переключатель 1625 включают во время передачи вектора "s" информационного слова, переключатель 1627 включают во время передачи первого вектора P 1 проверки на четность, и переключатель 1629 включают во время передачи второго вектора P 2 проверки на четность.The multiplier 1623 of the matrix T -1 multiplies the signal from the output of the adder 1621 by the inverse matrix T -1 of the partial matrix T of the full matrix of the parity check, and outputs the multiplication result to the switch 1629. The output of the multiplier 1623 of the matrix T -1 becomes the second vector P 2 parity checks. Each of the switches 1625, 1627, and 1629 is turned on only during transmission, to transmit an associated signal. A switch 1625 is turned on during the transmission of the information word vector s , a switch 1627 is turned on during the transmission of the first parity vector P 1 , and a switch 1629 is turned on during the transmission of the second parity vector P 2 .

Поскольку варианты выполнения настоящего изобретения должны обеспечить возможность генерирования блочного кода LDPC с переменной длиной блока, каждую из матриц, используемых в устройстве кодирования по фиг. 16 для блочного кода LDPC с переменной длиной блока, изменяют каждый раз, когда изменяется матрица проверки на четность блочного кода LDPC с переменной длиной блока, как будет описано со ссылкой на фиг. 17. Поэтому, хотя это отдельно не показано на фиг. 16, контроллер модифицирует матрицы, используемые в устройстве кодирования для блочного кода LDPC с переменной длиной блока, по мере того, как изменяется матрица проверки на четность блочного кода LDPC с переменной длиной блока.Since embodiments of the present invention should be capable of generating a block LDPC code with a variable block length, each of the matrices used in the encoding device of FIG. 16 for a variable block length LDPC block code, change each time a parity check matrix of a variable block length LDPC code is changed, as will be described with reference to FIG. 17. Therefore, although not separately shown in FIG. 16, the controller modifies the matrices used in the encoding device for the variable block length LDPC block code as the parity check matrix of the variable block length LDPC code is changed.

Выше приведено описание способа генерирования блочного кода LDPC с переменной длиной блока с учетом эффективного кодирования. Как описано выше, блочный код LDPC с переменной длиной блока из-за своей структурной характеристики, является предпочтительным для обеспечения эффективности использования памяти, для сохранения информации, связанной с матрицей проверки на четность, и позволяет обеспечить эффективное кодирование путем соответствующего выбора частичных матриц из матрицы проверки на четность. Однако, по мере того, как поблочно генерируется матрица проверки на четность, снижается ее произвольность, и снижение произвольности может привести к ухудшению рабочих характеристик блочного кода LDPC. Таким образом, поскольку нерегулярный блочный код LDPC обладает лучшими рабочими характеристиками по сравнению с блочным кодом LDPC с регулярной структурой, как описано выше, в процессе разработки блочного кода LDPC очень важно правильно выбрать частичные матрицы из полной матрицы проверки на четность.The above is a description of a method for generating a block LDPC code with a variable block length taking into account effective coding. As described above, a block LDPC code with a variable block length due to its structural characteristics is preferred for ensuring memory efficiency, for storing information related to a parity check matrix, and allows for efficient coding by appropriately selecting partial matrices from the check matrix for parity. However, as the parity check matrix is generated block by block, its randomness decreases, and a decrease in randomness can lead to a deterioration in the performance of the block LDPC code. Thus, since an irregular block LDPC code has better performance than a regular block LDPC code, as described above, it is very important to select partial matrices from the full parity check matrix when developing block LDPC code.

Ниже, со ссылкой на фиг. 11, приведено описание подробного способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 1/2.Below, with reference to FIG. 11, a detailed method is described for generating a block LDPC code with a variable block length for a 1/2 coding rate.

На фиг. 11 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока, в соответствии с первым вариантом выполнения настоящего изобретения. Перед описанием фиг. 11 следует отметить, что в первом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 1/2. Как показано на фиг. 11, если предположить, что возможный размер Ns частичных матриц составляет 4, 8, 12, 16, 20, 24, 28, 32, 36 и 40, становится возможным сгенерировать блочный код LDPC, имеющий длину 96, 192, 288, 384, 480, 576, 672, 768, 864 и 960, используя матрицу проверки на четность, представленную на фиг. 11. Значение, записываемое в каждом из частичных блоков, то есть в частичных матрицах, представленных на фиг. 11, представляет экспоненциальное значение соответствующей матрицы перестановок. Здесь матрица проверки на четность блочного кода LDPC с переменной длиной блока состоит из множества частичных блоков, и частичные матрицы, по отдельности соответствующие частичным блокам, составляют матрицу перестановок. Например, если матрица проверки на четность блочного кода LDPC с переменной длиной блока состоит из pxq частичных блоков, то есть если количество строк частичных блоков в матрице проверки на четность для блочного кода LDPC с переменной длиной блока составляет "p" и количество столбцов частичных блоков в матрице проверки на четность для блочного кода LDPC с переменной длиной блока составляет "q", матрицы перестановок, составляющие матрицу проверки на четность блочного кода LDPC с переменной длиной блока могут быть выражены как

Figure 00000029
, и верхний индекс apq матрицы P перестановок равен либо In FIG. 11 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a first embodiment of the present invention. Before describing FIG. 11, it should be noted that, in a first embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a coding rate of 1/2. As shown in FIG. 11, assuming that the possible size N s of the partial matrices is 4, 8, 12, 16, 20, 24, 28, 32, 36, and 40, it becomes possible to generate a block LDPC code having a length of 96, 192, 288, 384, 480, 576, 672, 768, 864, and 960 using the parity check matrix shown in FIG. 11. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 11 represents the exponential value of the corresponding permutation matrix. Here, the parity check matrix of a block LDPC code with a variable block length consists of a plurality of partial blocks, and partial matrices, individually corresponding to partial blocks, constitute a permutation matrix. For example, if the matrix parity check matrix of a block LDPC code with a variable block length consists of pxq partial blocks, that is, if the number of rows of partial blocks in a parity check matrix for a block LDPC code with a variable block length is “p” and the number of columns of partial blocks in the parity check matrix for a variable-length block LDPC code is “q”, the permutation matrices constituting the parity check matrix of a variable-length LDPC block code can be expressed as
Figure 00000029
, and the superscript a pq of the permutation matrix P is either

0 ≤ apq ≤ Ns-1 или apq = ∞. Таким образом, матрица

Figure 00000030
перестановок представляет собой матрицу перестановок, расположенную в частичном блоке, где p-ая строка и q-ый столбец матрицы проверки на четность блочного кода LDPC с переменной длиной блока, состоящего из множества частичных блоков, пересекают друг друга. Поэтому экспонентное значение матрицы перестановок, представленное на фиг. 11, приведено как apq, и путем выполнения операции модуль-Ns (где Ns соответствует размеру частичной матрицы) для экспоненциального значения матрицы перестановок, становится возможным рассчитать экспонентное значение матрицы перестановок для матрицы проверки на четность для блочного кода LDPC с переменной длиной блока, имеющей значение Ns. Если значение, полученное в результате выполнения операции модуль- Ns для экспоненты матрицы перестановок равно 0, соответствующая матрица перестановок становится единичной матрицей.0 ≤ a pq ≤ N s -1 or a pq = ∞. So the matrix
Figure 00000030
permutation is a permutation matrix located in a partial block, where the pth row and qth column of the parity check matrix of a block LDPC code with a variable block length consisting of many partial blocks intersect each other. Therefore, the exponential value of the permutation matrix shown in FIG. 11 is shown as a pq , and by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponential value of the permutation matrix, it becomes possible to calculate the exponential value of the permutation matrix for the parity matrix for the block LDPC code with a variable block length having a value of N s . If the value obtained as a result of the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Для подробного описания настоящего изобретения будет приведено определение следующих параметров.For a detailed description of the present invention, the following parameters will be defined.

Матрица проверки на четность блочного кода LDPC с переменной длиной блока, представленная на фиг. 11, называется "материнской матрицей", количество ненулевых матриц перестановок среди частичных матриц, то есть матриц перестановок, составляющих материнскую матрицу, определено как L, экспоненты L не равных нулю матриц перестановок, среди матриц перестановок составляющих материнскую матрицу, представлены как а1, a2,…., al и размер матриц перестановок, составляющих материнскую матрицу, предполагается, равен Ns. Поскольку количество ненулевых матриц перестановок среди матриц перестановок, составляющих материнскую матрицу, равно L, экспонента первой матрицы перестановок становится a1, экспонента второй матрицы перестановок становится равной a2, и таким образом, экспонента последней матрицы перестановок становится равной aL.The parity check matrix of the variable block length LDPC code shown in FIG. 11 is called the “mother matrix,” the number of nonzero permutation matrices among the partial matrices, that is, the permutation matrices that make up the mother matrix, is defined as L, the exponents L of non-zero permutation matrices, among the permutation matrices that make up the mother matrix, are presented as a 1 , a 2 , ..., al, and the size of the permutation matrices constituting the parent matrix is assumed to be N s . Since the number of nonzero permutation matrices among the permutation matrices that make up the parent matrix is L, the exponent of the first permutation matrix becomes a 1 , the exponent of the second permutation matrix becomes a 2 , and thus, the exponent of the last permutation matrix becomes aL.

В отличие от материнской матрицы, матрица проверки на четность, которая должна быть вновь сгенерирована, называется "дочерней матрицей", количество ненулевых матриц перестановок среди частичных матриц, то есть, матриц перестановок, составляющих дочернюю матрицу, определено как L, размер матриц перестановок, составляющих дочернюю матрицу, определен как Ns′, и экспоненты матриц перестановок, составляющих дочернюю матрицу, представлены как а1', a2',…, al'. Поскольку количество ненулевых матриц перестановок среди матриц перестановок, составляющих дочернюю матрицу, составляет L, экспонента первой матрицы перестановок становится равной а1', экспонента второй матрицы перестановок становится равной a2' и, таким образом, экспонента последней матрицы перестановок становится равной aL'.Unlike the parent matrix, the parity matrix that needs to be regenerated is called the “daughter matrix,” the number of nonzero permutation matrices among the partial matrices, that is, the permutation matrices that make up the daughter matrix, is defined as L, the size of the permutation matrices that make up a daughter matrix is defined as N s ′, and the exponents of the permutation matrices that make up the daughter matrix are represented as a 1 ', a 2 ', ..., al '. Since the number of nonzero permutation matrices among the permutation matrices constituting the daughter matrix is L, the exponent of the first permutation matrix becomes a 1 ', the exponent of the second permutation matrix becomes a 2 ' and, therefore, the exponent of the last permutation matrix becomes aL '.

Используя приведенное ниже уравнение (5), можно сгенерировать дочернюю матрицу, имеющую переменную длину блока, путем выбора размера Ns' матриц перестановок, составляющих дочернюю матрицу, которая должна быть сгенерирована из одной материнской матрицы.Using equation (5) below, it is possible to generate a daughter matrix having a variable block length by selecting the size N s ′ of the permutation matrices constituting the daughter matrix to be generated from one parent matrix.

ai' = ai modNs' (для 1 ≤ i ≤ L)a i '= a i modN s ' (for 1 ≤ i ≤ L) (5)(5)

Далее, со ссылкой на фиг. 12, приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 2/3.Next, with reference to FIG. 12, a detailed description is given of a method for generating a block LDPC code with a variable block length for a coding rate of 2/3.

На фиг. 12 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока, в соответствии со вторым вариантом выполнения настоящего изобретения. Перед описанием фиг. 12 следует отметить, что во втором варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 2/3. Как показано на фиг. 12, если предположить, что возможный размер Ns частичных матриц равен 8 и 16, возможно сгенерировать блочный код LDPC, имеющий длину 288 и 576, используя матрицу проверки на четность, показанную на фиг. 12. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, представленных на фиг. 12, представляет собой экспоненциальное значение соответствующей матрицы перестановок. Поэтому путем выполнения операции модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 12 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a second embodiment of the present invention. Before describing FIG. 12, it should be noted that in a second embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a coding rate of 2/3. As shown in FIG. 12, assuming that the possible size N s of the partial matrices is 8 and 16, it is possible to generate a block LDPC code having a length of 288 and 576 using the parity check matrix shown in FIG. 12. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 12 is the exponential value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value Ns can be calculated. If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 13, будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 3/4.Next, with reference to FIG. 13, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a 3/4 coding rate.

На фиг. 13 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с третьим вариантом выполнения настоящего изобретения. Перед описанием фиг. 13 следует отметить, что в третьем варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 3/4. Как показано на фиг. 13, если предположить, что возможный размер Ns частичных матриц составляет 3, 6, 9, 12, 15 и 18, можно сгенерировать блочный код LDPC, имеющий переменную длину 96, 192, 288, 384, 480 и 576, используя матрицу проверки на четность, показанную на фиг. 13. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 13, представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 13 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a third embodiment of the present invention. Before describing FIG. 13, it should be noted that in a third embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a 3/4 coding rate. As shown in FIG. 13, assuming that the possible size N s of the partial matrices is 3, 6, 9, 12, 15, and 18, it is possible to generate a block LDPC code having a variable length of 96, 192, 288, 384, 480, and 576 using a check matrix on the parity shown in FIG. 13. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 13 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 14 будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 5/6.Next, with reference to FIG. 14, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a 5/6 coding rate.

На фиг. 14 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с четвертым вариантом выполнения настоящего изобретения. Перед описанием фиг. 14 следует отметить, что в четвертом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 5/6. Как показано на фиг. 14, если предположить, что возможный размер Ns частичных матриц составляет 8 и 16, можно сгенерировать блочный код LDPC, имеющий длину 288 и 576, используя матрицу проверки на четность, показанную на фиг. 14. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 14, представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 14 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a fourth embodiment of the present invention. Before describing FIG. 14, it should be noted that in a fourth embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a 5/6 coding rate. As shown in FIG. 14, assuming that the possible size N s of the partial matrices is 8 and 16, it is possible to generate a block LDPC code having a length of 288 and 576 using the parity check matrix shown in FIG. 14. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 14 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 18, будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 1/2.Next, with reference to FIG. 18, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a 1/2 coding rate.

На фиг. 18 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с пятым вариантом выполнения настоящего изобретения. Перед описанием фиг. 18 следует отметить, что в пятом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 1/2. Как показано на фиг. 18, можно сгенерировать блочный код LDPC длиной 48NS в соответствии с размером Ns частичной матрицы, используя матрицу проверки на четность, показанную на фиг. 18. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 18 представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 18 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a fifth embodiment of the present invention. Before describing FIG. 18, it should be noted that in a fifth embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a coding rate of 1/2. As shown in FIG. 18, it is possible to generate a block LDPC code of length 48N S in accordance with the size N s of the partial matrix using the parity check matrix shown in FIG. 18. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 18 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 19, будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 2/3.Next, with reference to FIG. 19, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a coding rate of 2/3.

На фиг. 19 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с шестым вариантом выполнения настоящего изобретения. Перед описанием фиг. 19 следует отметить, что в пятом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 2/3. Как показано на фиг. 19, можно сгенерировать блочный код LDPC длиной 48NS в соответствии с размером Ns частичной матрицы, используя матрицу проверки на четность, показанную на фиг. 19. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 19, представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 19 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a sixth embodiment of the present invention. Before describing FIG. 19, it should be noted that in a fifth embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a coding rate of 2/3. As shown in FIG. 19, it is possible to generate a block LDPC code of length 48N S in accordance with the size N s of the partial matrix using the parity check matrix shown in FIG. 19. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 19 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 20, будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 3/4.Next, with reference to FIG. 20, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a 3/4 coding rate.

На фиг. 20 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с седьмым вариантом выполнения настоящего изобретения. Перед описанием фиг. 20 следует отметить, что в пятом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 3/4. Как показано на фиг. 20, можно сгенерировать блочный код LDPC длиной 48NS в соответствии с размером Ns частичной матрицы, используя матрицу проверки на четность, показанную на фиг. 20. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 20, представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 20 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a seventh embodiment of the present invention. Before describing FIG. 20, it should be noted that in a fifth embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a 3/4 coding rate. As shown in FIG. 20, it is possible to generate a block LDPC code of length 48N S in accordance with the size N s of the partial matrix using the parity check matrix shown in FIG. 20. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 20 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 21, будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 3/4.Next, with reference to FIG. 21, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a 3/4 coding rate.

На фиг. 21 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с восьмым вариантом выполнения настоящего изобретения. Перед описанием фиг. 21 следует отметить, что в пятом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 3/4. Как показано на фиг. 21, можно сгенерировать блочный код LDPC длиной 48NS в соответствии с размером Ns частичной матрицы, используя матрицу проверки на четность, показанную на фиг. 21. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 21, представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 21 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to an eighth embodiment of the present invention. Before describing FIG. 21, it should be noted that in a fifth embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a 3/4 coding rate. As shown in FIG. 21, it is possible to generate a block LDPC code of length 48N S in accordance with the size N s of the partial matrix using the parity check matrix shown in FIG. 21. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 21 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 22, будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 1/2.Next, with reference to FIG. 22, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a 1/2 coding rate.

На фиг. 22 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с девятым вариантом выполнения настоящего изобретения. Перед описанием фиг. 22 следует отметить, что в пятом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 1/2. Как показано на фиг. 22, можно сгенерировать блочный код LDPC длиной 24NS в соответствии с размером Ns частичной матрицы, используя матрицу проверки на четность, показанную на фиг. 22. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 22, представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 22 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a ninth embodiment of the present invention. Before describing FIG. 22, it should be noted that in a fifth embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a coding rate of 1/2. As shown in FIG. 22, it is possible to generate a block LDPC code of 24N S length in accordance with the size N s of the partial matrix using the parity check matrix shown in FIG. 22. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 22 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 23, будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 1/2.Next, with reference to FIG. 23, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a 1/2 coding rate.

На фиг. 23 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с десятым вариантом выполнения настоящего изобретения. Перед описанием фиг. 23 следует отметить, что в пятом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 1/2. Как показано на фиг. 23, можно сгенерировать блочный код LDPC длиной 24NS в соответствии с размером Ns частичной матрицы, используя матрицу проверки на четность, показанную на фиг. 23. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 23, представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 23 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a tenth embodiment of the present invention. Before describing FIG. 23, it should be noted that, in a fifth embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a coding rate of 1/2. As shown in FIG. 23, it is possible to generate a block LDPC code with a length of 24 N S in accordance with the size N s of the partial matrix using the parity check matrix shown in FIG. 23. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 23 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 24, будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 2/3.Next, with reference to FIG. 24, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a coding rate of 2/3.

На фиг. 24 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с одиннадцатым вариантом выполнения настоящего изобретения. Перед описанием фиг. 24 следует отметить, что в пятом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 2/3. Как показано на фиг. 24, можно сгенерировать блочный код LDPC длиной 24NS в соответствии с размером Ns частичной матрицы, используя матрицу проверки на четность, показанную на фиг. 24. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 24, представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 24 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to an eleventh embodiment of the present invention. Before describing FIG. 24, it should be noted that in a fifth embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a coding rate of 2/3. As shown in FIG. 24, it is possible to generate a block LDPC code of length 24N S in accordance with the size N s of the partial matrix using the parity check matrix shown in FIG. 24. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 24 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 25, будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 2/3.Next, with reference to FIG. 25, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a coding rate of 2/3.

Фиг. 25 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с двенадцатым вариантом выполнения настоящего изобретения. Перед описанием фиг. 25 следует отметить, что в пятом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 2/3. Как показано на фиг. 25, можно сгенерировать блочный код LDPC длиной 24NS в соответствии с размером Ns частичной матрицы, используя матрицу проверки на четность, показанную на фиг. 25. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 25, представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.FIG. 25 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a twelfth embodiment of the present invention. Before describing FIG. 25, it should be noted that in a fifth embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a coding rate of 2/3. As shown in FIG. 25, it is possible to generate a block LDPC code of length 24N S in accordance with the size N s of the partial matrix using the parity check matrix shown in FIG. 25. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 25 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 26, будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 1/2.Next, with reference to FIG. 26, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a 1/2 coding rate.

На фиг. 26 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с тринадцатым вариантом выполнения настоящего изобретения. Перед описанием фиг. 26 следует отметить, что в пятом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 1/2. Как показано на фиг. 26, можно сгенерировать блочный код LDPC длиной 24NS в соответствии с размером Ns частичной матрицы, используя матрицу проверки на четность, показанную на фиг. 26. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 26, представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 26 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a thirteenth embodiment of the present invention. Before describing FIG. 26, it should be noted that in a fifth embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a coding rate of 1/2. As shown in FIG. 26, it is possible to generate a block LDPC code of length 24N S in accordance with the size N s of the partial matrix using the parity check matrix shown in FIG. 26. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 26 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 27, будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 1/2.Next, with reference to FIG. 27, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a 1/2 coding rate.

На фиг. 27 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с четырнадцатым вариантом выполнения настоящего изобретения. Перед описанием фиг. 27 следует отметить, что в пятом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 1/2. Как показано на фиг. 27, можно сгенерировать блочный код LDPC длиной 24NS в соответствии с размером Ns частичной матрицы, используя матрицу проверки на четность, показанную на фиг. 27. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 27, представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 27 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a fourteenth embodiment of the present invention. Before describing FIG. 27, it should be noted that in a fifth embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a coding rate of 1/2. As shown in FIG. 27, it is possible to generate a block LDPC code of 24N S length in accordance with the size N s of the partial matrix using the parity check matrix shown in FIG. 27. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 27 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Далее, со ссылкой на фиг. 28, будет приведено подробное описание способа генерирования блочного кода LDPC с переменной длиной блока для скорости кодирования 2/3.Next, with reference to FIG. 28, a detailed description will be given of a method for generating a block LDPC code with a variable block length for a coding rate of 2/3.

На фиг. 28 показана схема, иллюстрирующая матрицу проверки на четность блочного кода LDPC с переменной длиной блока в соответствии с пятнадцатым вариантом выполнения настоящего изобретения. Перед описанием фиг. 28 следует отметить, что в пятом варианте выполнения настоящего изобретения предложена матрица проверки на четность блочного кода LDPC с переменной длиной блока для скорости кодирования 2/3. Как показано на фиг. 28, можно сгенерировать блочный код LDPC длиной 24NS в соответствии с размером Ns частичной матрицы, используя матрицу проверки на четность, показанную на фиг. 28. Значение, записанное в каждом из частичных блоков, то есть в частичных матрицах, показанных на фиг. 28, представляет собой значение экспоненты соответствующей матрицы перестановок. Поэтому, выполняя операцию модуль-Ns (где Ns соответствует размеру частичной матрицы) для значения экспоненты матрицы перестановок, можно вычислить значение экспоненты матрицы перестановок для матрицы проверки на четность для блочного кода LDPC, имеющего значение Ns. Если значение, полученное в результате выполнения операции модуль-Ns для экспоненты матрицы перестановок, равно 0, соответствующая матрица перестановок становится единичной матрицей.In FIG. 28 is a diagram illustrating a parity check matrix of a variable block length LDPC code block according to a fifteenth embodiment of the present invention. Before describing FIG. 28, it should be noted that in a fifth embodiment of the present invention, there is provided a parity check matrix of a block LDPC code with a variable block length for a coding rate of 2/3. As shown in FIG. 28, it is possible to generate a block LDPC code with a length of 24N S in accordance with the size N s of the partial matrix using the parity check matrix shown in FIG. 28. The value recorded in each of the partial blocks, that is, in the partial matrices shown in FIG. 28 is the exponent value of the corresponding permutation matrix. Therefore, by performing the module-N s operation (where N s corresponds to the size of the partial matrix) for the exponent of the permutation matrix, we can calculate the exponent of the permutation matrix for the parity check matrix for the block LDPC code having the value N s . If the value obtained from the module-N s operation for the exponent of the permutation matrix is 0, the corresponding permutation matrix becomes the identity matrix.

Все коды семейства LDPC можно декодировать в фактор-графе, используя алгоритм промежуточного результата. Схема декодирования кода LDPC может быть примерно разделена на схему двунаправленной передачи и схему передачи потока. Когда операцию декодирования выполняют, используя схему двунаправленной передачи, каждый узел проверки имеет процессор узла, который увеличивает сложность декодирования пропорционально количеству узлов проверки. Однако, поскольку все узлы проверки обновляют одновременно, скорость декодирования существенно повышается.All codes of the LDPC family can be decoded in a factor graph using the intermediate result algorithm. The LDPC code decoding scheme can be roughly divided into a bidirectional transmission scheme and a stream transmission scheme. When the decoding operation is performed using the bidirectional transmission scheme, each verification node has a node processor that increases the decoding complexity in proportion to the number of verification nodes. However, since all verification nodes are updated at the same time, the decoding speed is significantly increased.

В отличие от этого, схема передачи потока имеет один процессор узла, и процессор узла обновляет информацию, проходящую через все узлы в фактор-графе. Поэтому схема передачи потока имеет меньшую сложность декодирования, но при увеличении размера матрицы проверки на четность, то есть при увеличении количества узлов, уменьшается скорость декодирования. Однако если матрица проверки на четность генерируется поблочно, как в блочном коде LDPC с переменной длиной блока, имеющем различные длины блока в соответствии со скоростью кодирования, предложенном в настоящем изобретении, тогда используют количество процессоров узлов, равных количеству блоков, составляющих матрицу проверки на четность. В этом случае возможно выполнить декодер, который имеет меньшую сложность декодирования, чем схема двунаправленной передачи, и более высокую скорость декодирования, чем схема передачи потока.In contrast, the flow transmission scheme has one node processor, and the node processor updates information passing through all nodes in the factor graph. Therefore, the flow transmission scheme has less decoding complexity, but with an increase in the size of the parity check matrix, that is, with an increase in the number of nodes, the decoding speed decreases. However, if the parity check matrix is generated block by block, as in the LDPC block code with a variable block length having different block lengths in accordance with the coding rate proposed in the present invention, then the number of node processors equal to the number of blocks making up the parity check matrix is used. In this case, it is possible to execute a decoder that has less decoding complexity than the bidirectional transmission scheme and a higher decoding speed than the stream transmission scheme.

Далее, со ссылкой на фиг. 17, приведено описание внутренней структуры устройства декодирования, предназначенного для декодирования блочного кода LDPC с переменной длиной блока с использованием матрицы проверки на четность, в соответствии с вариантом выполнения настоящего изобретения.Next, with reference to FIG. 17, a description is made of the internal structure of a decoding apparatus for decoding a block LDPC code with a variable block length using a parity check matrix in accordance with an embodiment of the present invention.

На фиг. 17 показана блок-схема, иллюстрирующая внутреннюю структуру устройства декодирования блочного кода LDPC, в соответствии с вариантами выполнения настоящего изобретения. Как показано на фиг. 17, устройство декодирования, предназначенное для декодирования блочного кода LDPC с переменной длиной блока, включает в себя контроллер 1710 блока, часть 1700 переменного узла, сумматор 1715, обратный перемежитель 1717, перемежитель 1719, контроллер 1721, запоминающее устройство 1723, сумматор 1725, часть 1750 узла проверки и блок 1729 принятия жесткого решения. Часть 1700 переменного узла включает в себя декодер 1711 переменного узла и переключатели 1713 и 1714, и часть 1750 узла проверки включает в себя декодер 1727 узла проверки.In FIG. 17 is a block diagram illustrating an internal structure of an apparatus for decoding a block LDPC code in accordance with embodiments of the present invention. As shown in FIG. 17, a decoding apparatus for decoding a block LDPC code with a variable block length includes a block controller 1710, a variable node part 1700, an adder 1715, an interleaver 1717, an interleaver 1719, a controller 1721, a memory device 1723, an adder 1725, part 1750 the verification node and the hard decision block 1729. The variable node portion 1700 includes a variable node decoder 1711 and switches 1713 and 1714, and the verification node portion 1750 includes a verification node decoder 1727.

Сигнал, принимаемый по радиоканалу, подают в контроллер 1710 блока. Контроллер 1710 блока определяет размер блока принятого сигнала. Если присутствует часть информационного слова, проколотая в устройстве кодирования, соответствующем устройству декодирования, контроллер 1710 блока вставляет "0" в проколотую часть информационного слова для регулирования блока до полного размера и выводит полученный в результате сигнал в декодер 1711 переменного узла.The signal received over the air is supplied to a block controller 1710. The block controller 1710 determines the block size of the received signal. If there is a part of the information word punctured in the encoding device corresponding to the decoding device, the block controller 1710 inserts “0” into the punctured part of the information word to adjust the block to full size and outputs the resulting signal to the variable node decoder 1711.

Декодер 1711 переменного узла рассчитывает величины вероятности сигнала, поступающего из контроллера 1710 блока, обновляет рассчитанные значения вероятности и выводит обновленные значения вероятности в переключатели 1713 и 1714. Декодер 1711 переменного узла соединяет переменные узлы в соответствии с матрицей проверки на четность, ранее установленной в устройстве декодирования для нерегулярного блочного кода LDPC, и выполняет работу обновления для такого количества входных значений и выходных значений, какое количество единиц соединено с переменными узлами. Количество единиц, соединенных с переменными узлами, равно весу каждого столбца, составляющих матрицу проверки на четность. Внутренняя операция декодера 1711 переменного узла отличается в соответствии с весом каждого столбца, составляющих матрицу проверки на четность. За исключением случаев, когда переключатель 1713 включен, переключатель 1714 включен для вывода выходного сигнала декодера 1711 переменного узла в сумматор 1715.The variable node decoder 1711 calculates the probability values of the signal from the block controller 1710, updates the calculated probability values and outputs the updated probability values to the switches 1713 and 1714. The variable node decoder 1711 connects the variable nodes in accordance with the parity check matrix previously set in the decoding device for an irregular block LDPC code, and does the update job for as many input values and output values as the number of units connected to AC nodes. The number of units connected to variable nodes is equal to the weight of each column making up the parity check matrix. The internal operation of the variable node decoder 1711 is different in accordance with the weight of each column constituting the parity check matrix. Unless the switch 1713 is turned on, the switch 1714 is turned on to output the output signal of the variable node decoder 1711 to the adder 1715.

Сумматор 1715 принимает сигнал, поступающий с выхода декодера 1711 переменного узла, и выходной сигнал перемежителя 1719 в предыдущем процессе итеративного декодирования, вычитает выходной сигнал перемежителя 1719 в предыдущем итеративном процессе декодирования из выходного сигнала декодера 1711 переменного узла, и выводит результат вычитания в обратный перемежитель 1717. Если процесс декодирования представляет собой исходный процесс декодирования, следует считать, что выходной сигнал перемежителя 1719 равен 0.The adder 1715 receives the signal from the output of the decoder 1711 of the variable node, and the output signal of the interleaver 1719 in the previous iterative decoding process, subtracts the output signal of the interleaver 1719 in the previous iterative decoding process from the output signal of the decoder 1711 of the variable node, and outputs the subtraction result to the inverse interleaver 1717 If the decoding process is the original decoding process, it should be considered that the output signal of the interleaver 1719 is 0.

Обратный перемежитель 1717 выполняет перемежение сигнала, поступающего из сумматора 1715 в соответствии с заданной схемой перемежения и выводит сигнал после перемежения в сумматор 1725 и в декодер 1727 узла проверки. Обратный перемежитель 1717 имеет внутреннюю структуру, соответствующую матрице проверки на четность, поскольку выходное значение для входного значения перемежителя 1719, соответствующего обратному перемежителю 1717, отличается в соответствии с положением элементов, имеющих значение 1 в матрице проверки на четность.Reverse interleaver 1717 interleaves the signal from the adder 1715 in accordance with a predetermined interleaving scheme and outputs the signal after interleaving to the adder 1725 and the decoder 1727 of the verification node. The inverse interleaver 1717 has an internal structure corresponding to the parity check matrix, since the output value for the input value of the interleaver 1719 corresponding to the inverse interleaver 1717 differs according to the position of elements having a value of 1 in the parity check matrix.

Сумматор 1725 принимает выходной сигнал декодера 1727 узла проверки в предыдущем процессе итеративного декодирования и выходной сигнал обратного перемежителя 1717, вычитает выходной сигнал обратного перемежителя 1717 из выходного сигнала декодера 1727 узла проверки в предыдущем процессе итеративного декодирования и выводит результат вычитания в перемежитель 1719. Декодер 1727 узла проверки соединяет узлы проверки в соответствии с матрицей проверки на четность, установленной ранее в устройстве декодирования для блочного кода LDPC, и выполняет операцию обновления для количества входных значений и выходных значений, равного количеству единиц, соединенных с узлами проверки. Количество единиц, соединенных с узлами проверки, равно весу каждой из строк, составляющих матрицу проверки на четность. Поэтому внутренняя операция декодера 1727 узла проверки отличается в соответствии с весом каждой из строк, составляющих матрицу проверки на четность.The adder 1725 receives the output signal of the decoder 1727 of the verification node in the previous iterative decoding process and the output signal of the deinterleaver 1717, subtracts the output signal of the deinterleaver 1717 from the output of the decoder 1727 of the verification node in the previous iterative decoding process and outputs the subtraction result to the interleaver 1719. Node decoder 1727 checks connects the nodes of the check in accordance with the matrix parity set previously in the decoding device for the block LDPC code, and performs the operation This update is for the number of input values and output values equal to the number of units connected to the test nodes. The number of units connected to the check nodes is equal to the weight of each of the lines that make up the parity check matrix. Therefore, the internal operation of the decoder 1727 of the check node is different in accordance with the weight of each of the lines constituting the parity check matrix.

Перемежитель 1719, под управлением контроллера 1721, выполняет перемежение сигнала, поступающего с выхода сумматора 1725, в соответствии с заданной схемой перемежения, и выводит сигнал после перемежения в сумматор 1715 и в декодер 1711 переменного узла. Контроллер 1721 считывает информацию, относящуюся к схеме перемежения, заранее сохраненную в запоминающем устройстве 1723, и выполняет управление схемой перемежения перемежителя 1719 и схемой обратного перемежения обратного перемежителя 1717, в соответствии со считанной информацией схемы перемежения. Поскольку в запоминающем устройстве 1723 записана только материнская матрица, с помощью которой может быть сгенерирован блочный код LDPC с переменной длиной блока, контроллер 1721 считывает материнскую матрицу, сохраненную в запоминающем устройстве 1723, и генерирует экспоненты матриц перестановок, составляющих соответствующую дочернюю матрицу, используя размер Ns′ матрицы перестановок, соответствующий заданному размеру блока. Кроме того, контроллер 1721 управляет схемой перемежения перемежителя 1719 и схемой обратного перемежения обратного перемежителя 1717, используя сгенерированную дочернюю матрицу. Аналогично, если процесс декодирования представляет собой процесс исходного декодирования, следует считать, что выходной сигнал обратного перемежителя 1717 равен 0.The interleaver 1719, under the control of the controller 1721, interleaves the signal from the output of the adder 1725, in accordance with the specified interleaving circuit, and outputs the signal after interleaving to the adder 1715 and the decoder 1711 of the variable node. The controller 1721 reads information related to the interleaving scheme previously stored in the storage device 1723, and performs control of the interleaving circuit of the interleaver 1719 and the reverse interleaving circuit of the interleaver 1717, in accordance with the read interleaving circuit information. Since only the mother matrix is recorded in the storage device 1723, with which a block variable-length LDPC code can be generated, the controller 1721 reads the mother matrix stored in the storage device 1723 and generates the exponents of the permutation matrices constituting the corresponding daughter matrix using size N s ′ of the permutation matrix corresponding to the given block size. In addition, the controller 1721 controls the interleaver interleaver 1719 and the reverse interleaver deinterleaver 1717 using the generated daughter matrix. Similarly, if the decoding process is an initial decoding process, it should be considered that the output signal of the deinterleaver 1717 is 0.

В результате итеративного выполнения описанных выше процессов устройство декодирования выполняет надежное декодирование без ошибок. После выполнения итеративного декодирования заданное количество раз, переключатель 1714 выключает соединение между декодером 1711 переменного узла и сумматором 1715, и переключатели 1713 включают соединение между декодером 1711 переменного узла и блоком 1729 жесткого решения для передачи выходного сигнала из декодера 1711 переменного узла в блок 1729 принятия жесткого решения. Блок 1729 принятия жесткого решения принимает жесткое решение по сигналу, поступающему с выхода декодера 1711 переменного узла, и выводит результат жесткого решения, и выходное значение блока 1729 жесткого решения становится окончательно декодированным значением.As a result of the iterative execution of the above processes, the decoding device performs reliable decoding without errors. After performing iterative decoding a predetermined number of times, the switch 1714 turns off the connection between the variable node decoder 1711 and the adder 1715, and the switches 1713 turn on the connection between the variable node decoder 1711 and the hard decision block 1729 for transmitting the output signal from the variable node decoder 1711 to the hard decision block 1729 solutions. The hard decision block 1729 makes a hard decision on the signal from the output of the variable node decoder 1711 and outputs the result of the hard decision, and the output of the hard decision block 1729 becomes the finally decoded value.

Как можно видеть из предыдущего описания, в настоящем изобретении предложен блочный код LDPC с переменной длиной блока, в котором минимальную длину цикла максимизируют в системе мобильной связи, обеспечивая, таким образом, максимальные возможности коррекции ошибки и улучшая, таким образом, рабочие характеристики системы. Кроме того, в настоящем изобретении генерируют эффективную матрицу проверки на четность, сводя, таким образом, к минимуму сложность декодирования блочного кода LDPC с переменной длиной блока. Кроме того, в настоящем изобретении предложена такая конструкция блочного кода LDPC с переменной длиной блока, что сложность его декодирования должна быть пропорциональна его длине блока, обеспечивая, таким образом, возможность эффективного кодирования. В частности, в настоящем изобретении генерируется блочный код LDPC, который можно применять для различных значений скорости кодирования и различных значений длины блока, способствуя, таким образом, сведению к минимуму сложности аппаратных средств.As can be seen from the previous description, the present invention provides a block LDPC code with a variable block length in which the minimum cycle length is maximized in a mobile communication system, thereby providing maximum error correction capabilities and thereby improving system performance. In addition, an effective parity check matrix is generated in the present invention, thereby minimizing the complexity of decoding a block LDPC code with a variable block length. In addition, the present invention proposes such a design of a block LDPC code with a variable block length such that the complexity of its decoding should be proportional to its block length, thus providing the possibility of efficient coding. In particular, in the present invention, a block LDPC code is generated that can be applied to different coding rates and different block lengths, thereby helping to minimize hardware complexity.

Хотя изобретение было показано и описано со ссылкой на определенный предпочтительный вариант его выполнения, для специалистов в данной области техники будет понятно, что различные изменения в форме и деталях могут быть выполнены в нем без отхода от сущности и объема изобретения, которые определены приложенной формулой изобретения.Although the invention has been shown and described with reference to a certain preferred embodiment, it will be understood by those skilled in the art that various changes in form and details can be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (15)

1. Способ генерирования блочного кода проверки на четность с низкой плотностью (LDPC), заключающийся в том, что
принимают информационное слово и
генерируют блочный код LDPC путем кодирования информационного слова с помощью одной из первой матрицы проверки на четность и второй матрицы проверки на четность в зависимости от длины, которая должна использоваться при генерировании блочного кода LDPC,
причем вторая матрица проверки на четность представляет собой матрицу проверки на четность, определенную путем изменения размера первой матрицы проверки на четность, при этом первая матрица проверки на четность представляет собой матрицу проверки на четность, сгенерированную так, что блочный код LDPC имеет заданную длину и удовлетворяется при заданной скорости кодирования, причем первая матрица проверки на четность включает в себя заданное количество частичных блоков, и каждый из частичных блоков имеет заданный размер, а
когда скорость кодирования составляет 1/2, первую матрицу проверки на четность выражают как одну из нижеследующих 5-ти таблиц
Figure 00000031

Figure 00000032

Figure 00000033

Figure 00000034

Figure 00000035

где в каждой из этих 5-ти таблиц блоки представляют частичные блоки, цифры представляют экспоненты соответствующих матриц перестановок, а блоки без цифр представляют частичные блоки, на которые отображают нулевые матрицы.
1. The method of generating a block code parity check with low density (LDPC), namely, that
take the information word and
generating a block LDPC code by encoding an information word using one of the first parity check matrix and the second parity check matrix depending on the length to be used when generating the block LDPC code,
moreover, the second parity check matrix is a parity check matrix determined by changing the size of the first parity check matrix, while the first parity check matrix is a parity check matrix generated so that the block LDPC code has a given length and is satisfied when a given coding rate, and the first parity check matrix includes a predetermined number of partial blocks, and each of the partial blocks has a predetermined size, and
when the coding rate is 1/2, the first parity check matrix is expressed as one of the following 5 tables
Figure 00000031

Figure 00000032

Figure 00000033

Figure 00000034

Figure 00000035

where in each of these 5 tables, the blocks represent partial blocks, the numbers represent the exponentials of the corresponding permutation matrices, and the blocks without numbers represent the partial blocks onto which the zero matrices are mapped.
2. Способ генерирования блочного кода проверки на четность с низкой плотностью (LDPC), заключающийся в том, что
принимают информационное слово и
генерируют блочный код LDPC путем кодирования информационного слова с помощью одной из первой матрицы проверки на четность и второй матрицы проверки на четность в зависимости от длины, которая должна использоваться при генерировании блочного кода LDPC, причем вторая матрица проверки на четность представляет собой матрицу проверки на четность, определенную путем изменения размера первой матрицы проверки на четность, при этом первая матрица проверки на четность представляет собой матрицу проверки на четность, сгенерированную так, что блочный код LDPC имеет заданную длину и удовлетворяется при заданной скорости кодирования, причем первая матрица проверки на четность включает в себя заданное количество частичных блоков, и каждый из частичных блоков имеет заданный размер, а когда скорость кодирования составляет 2/3, первую матрицу проверки на четность выражают как одну из нижеследующих 5-ти таблиц
Figure 00000036

Figure 00000037

Figure 00000038

Figure 00000039

Figure 00000040

где в каждой из этих 5-ти таблиц блоки представляют частичные блоки, цифры представляют экспоненты соответствующих матриц перестановок, а блоки без цифр представляют частичные блоки, на которые отображают нулевые матрицы.
2. A method of generating a block code parity check with low density (LDPC), namely, that
take the information word and
generating a block LDPC code by encoding an information word using one of the first parity check matrix and the second parity check matrix depending on the length to be used when generating the block LDPC code, the second parity check matrix being a parity check matrix, determined by changing the size of the first parity check matrix, wherein the first parity check matrix is a parity check matrix generated so that the block the LDPC code has a predetermined length and is satisfied at a given coding rate, the first parity check matrix includes a given number of partial blocks, and each of the partial blocks has a given size, and when the coding rate is 2/3, the first parity check matrix expressed as one of the following 5 tables
Figure 00000036

Figure 00000037

Figure 00000038

Figure 00000039

Figure 00000040

where in each of these 5 tables, the blocks represent partial blocks, the numbers represent the exponentials of the corresponding permutation matrices, and the blocks without numbers represent the partial blocks onto which the zero matrices are mapped.
3. Способ генерирования блочного кода проверки на четность с низкой плотностью (LDPC), заключающийся в том, что
принимают информационное слово и генерируют блочный код LDPC путем кодирования информационного слова с помощью одной из первой матрицы проверки на четность и второй матрицы проверки на четность в зависимости от длины, которая должна использоваться при генерировании блочного кода LDPC,
причем вторая матрица проверки на четность представляет собой матрицу проверки на четность, определенную путем изменения размера первой матрицы проверки на четность, при этом первая матрица проверки на четность представляет собой матрицу проверки на четность, сгенерированную так, что блочный код LDPC имеет заданную длину и удовлетворяется при заданной скорости кодирования, причем первая матрица проверки на четность включает в себя заданное количество частичных блоков, и каждый из частичных блоков имеет заданный размер, а
когда скорость кодирования составляет 3/4, первую матрицу проверки на четность выражают как одну из нижеследующих 3-х таблиц
Figure 00000041

Figure 00000042

Figure 00000043

где в каждой из этих 3-х таблиц блоки представляют частичные блоки, цифры представляют экспоненты соответствующих матриц перестановок, а блоки без цифр представляют частичные блоки, на которые отображают нулевые матрицы.
3. A method of generating a block code parity check with low density (LDPC), namely, that
receive the information word and generate the block LDPC code by encoding the information word using one of the first parity check matrix and the second parity check matrix depending on the length to be used when generating the block LDPC code,
moreover, the second parity check matrix is a parity check matrix determined by changing the size of the first parity check matrix, while the first parity check matrix is a parity check matrix generated so that the block LDPC code has a given length and is satisfied when a given coding rate, and the first parity check matrix includes a predetermined number of partial blocks, and each of the partial blocks has a predetermined size, and
when the coding rate is 3/4, the first parity check matrix is expressed as one of the following 3 tables
Figure 00000041

Figure 00000042

Figure 00000043

where in each of these 3 tables, the blocks represent partial blocks, the numbers represent the exponentials of the corresponding permutation matrices, and the blocks without numbers represent the partial blocks onto which the zero matrices are mapped.
4. Устройство для генерирования блочного кода проверки на четность с низкой плотностью (LDPC), содержащее
кодер для приема информационного слова, генерирования блочного кода LDPC путем кодирования информационного слова с помощью одной из первой матрицы проверки на четность и второй матрицы проверки на четность в зависимости от длины, которая должна использоваться при генерировании блочного кода LDPC,
причем вторая матрица проверки на четность представляет собой матрицу проверки на четность, определенную путем изменения размера первой матрицы проверки на четность, при этом первая матрица проверки на четность представляет собой матрицу проверки на четность, сгенерированную так, что блочный код LDPC имеет заданную длину и удовлетворяется при заданной скорости кодирования, причем первая матрица проверки на четность включает в себя заданное количество частичных блоков, и каждый из частичных блоков имеет заданный размер, а когда скорость кодирования составляет 1/2, первая матрица проверки на четность выражена как одна из нижеследующих 5-ти таблиц
Figure 00000044

Figure 00000045

Figure 00000046

Figure 00000047

Figure 00000048

где в каждой из этих 5-ти таблиц блоки представляют частичные блоки, цифры представляют экспоненты соответствующих матриц перестановок, а блоки без цифр представляют частичные блоки, на которые отображены нулевые матрицы.
4. An apparatus for generating a low density block parity check (LDPC) code comprising
an encoder for receiving an information word, generating a block LDPC code by encoding an information word using one of the first parity check matrix and the second parity check matrix depending on the length to be used when generating the block LDPC code,
moreover, the second parity check matrix is a parity check matrix determined by changing the size of the first parity check matrix, while the first parity check matrix is a parity check matrix generated so that the block LDPC code has a given length and is satisfied when a given coding rate, and the first parity check matrix includes a given number of partial blocks, and each of the partial blocks has a given size, and when the speed encoding is 1/2, the first parity check matrix is expressed as one of the following 5 tables
Figure 00000044

Figure 00000045

Figure 00000046

Figure 00000047

Figure 00000048

where in each of these 5 tables, the blocks represent partial blocks, the numbers represent the exponents of the corresponding permutation matrices, and the blocks without numbers represent the partial blocks onto which the zero matrices are mapped.
5. Устройство для генерирования блочного кода проверки на четность с низкой плотностью (LDPC), содержащее
кодер для приема информационного слова, генерирования блочного кода LDPC путем кодирования информационного слова с помощью одной из первой матрицы проверки на четность и второй матрицы проверки на четность в зависимости от длины, которая должна использоваться при генерировании блочного кода LDPC, причем вторая матрица проверки на четность представляет собой матрицу проверки на четность, определенную путем изменения размера первой матрицы проверки на четность, при этом первая матрица проверки на четность представляет собой матрицу проверки на четность, сгенерированную так, что блочный код LDPC имеет заданную длину и удовлетворяется при заданной скорости кодирования, причем первая матрица проверки на четность включает в себя заданное количество частичных блоков, и каждый из частичных блоков имеет заданный размер, а когда скорость кодирования составляет 2/3, первая матрица проверки на четность выражена как одна из нижеследующих 5-ти таблиц
Figure 00000049

Figure 00000050

Figure 00000051

Figure 00000052

Figure 00000053

где в каждой из этих 5-ти таблиц блоки представляют частичные блоки, цифры представляют экспоненты соответствующих матриц перестановок, а блоки без цифр представляют частичные блоки, на которые отображены нулевые матрицы.
5. An apparatus for generating a low density block parity check (LDPC) code comprising
an encoder for receiving an information word, generating a block LDPC code by encoding an information word using one of the first parity check matrix and the second parity check matrix depending on the length to be used in generating the block LDPC code, the second parity check matrix representing a parity check matrix determined by changing the size of the first parity check matrix, wherein the first parity check matrix is a check matrix parity generated so that the block LDPC code has a given length and is satisfied at a given coding rate, the first parity check matrix includes a given number of partial blocks, and each of the partial blocks has a given size, and when the coding rate is 2 / 3, the first parity check matrix is expressed as one of the following 5 tables
Figure 00000049

Figure 00000050

Figure 00000051

Figure 00000052

Figure 00000053

where in each of these 5 tables, the blocks represent partial blocks, the numbers represent the exponents of the corresponding permutation matrices, and the blocks without numbers represent the partial blocks onto which the zero matrices are mapped.
6. Устройство для генерирования блочного кода проверки на четность с низкой плотностью (LDPC), содержащее кодер для приема информационного слова, генерирования блочного кода LDPC путем кодирования информационного слова с помощью одной из первой матрицы проверки на четность и второй матрицы проверки на четность в зависимости от длины, которая должна использоваться при генерировании блочного кода LDPC,
причем вторая матрица проверки на четность представляет собой матрицу проверки на четность, определенную путем изменения размера первой матрицы проверки на четность, при этом первая матрица проверки на четность представляет собой матрицу проверки на четность, сгенерированную так, что блочный код LDPC имеет заданную длину и удовлетворяется при заданной скорости кодирования, причем первая матрица проверки на четность включает в себя заданное количество частичных блоков, и каждый из частичных блоков имеет заданный размер, а
когда скорость кодирования составляет 3/4, первая матрица проверки на четность выражена как одна из нижеследующих 3-х таблиц
Figure 00000054

Figure 00000055

Figure 00000056

где в каждой из этих 3-х таблиц блоки представляют частичные блоки, цифры представляют экспоненты соответствующих матриц перестановок, а блоки без цифр представляют частичные блоки, на которые отображены нулевые матрицы.
6. A device for generating a block low-density parity check code (LDPC), comprising an encoder for receiving an information word, generating a block LDPC code by encoding an information word using one of the first parity check matrix and the second parity check matrix, depending on the length to be used when generating the block LDPC code,
moreover, the second parity check matrix is a parity check matrix determined by changing the size of the first parity check matrix, while the first parity check matrix is a parity check matrix generated so that the block LDPC code has a given length and is satisfied when a given coding rate, and the first parity check matrix includes a predetermined number of partial blocks, and each of the partial blocks has a predetermined size, and
when the coding rate is 3/4, the first parity matrix is expressed as one of the following 3 tables
Figure 00000054

Figure 00000055

Figure 00000056

where in each of these 3 tables, the blocks represent partial blocks, the numbers represent the exponentials of the corresponding permutation matrices, and the blocks without numbers represent the partial blocks onto which the zero matrices are mapped.
7. Способ декодирования блочного кода проверки на четность с низкой плотностью (LDPC), заключающийся в том, что принимают сигнал и
выбирают одну из первой матрицы проверки на четность и второй матрицы проверки на четность в соответствии с длиной блочного кода LDPC, предназначенного для декодирования, и декодируют принятый сигнал в соответствии с выбранной матрицей проверки на четность, детектируя, таким образом, блочный код LDPC,
причем вторая матрица проверки на четность представляет собой матрицу проверки на четность, определенную путем изменения размера первой матрицы проверки на четность, при этом первая матрица проверки на четность представляет собой матрицу проверки на четность, сгенерированную так, что блочный код LDPC имеет заданную длину и удовлетворяется при заданной скорости кодирования, причем первая матрица проверки на четность включает в себя заданное количество частичных блоков, и каждый из частичных блоков имеет заданный размер, а когда скорость кодирования составляет 1/2, первую матрицу проверки на четность выражают как одну из нижеследующих 5-ти таблиц
Figure 00000057

Figure 00000058

Figure 00000059

Figure 00000060

Figure 00000061

где в каждой из этих 5-ти таблиц блоки представляют частичные блоки, цифры представляют экспоненты соответствующих матриц перестановок, а блоки без цифр представляют частичные блоки, на которые отображают нулевые матрицы.
7. The method of decoding a block code parity check with low density (LDPC), which consists in the fact that the receive signal
one of the first parity check matrix and the second parity check matrix are selected in accordance with the length of the block LDPC code for decoding, and the received signal is decoded in accordance with the selected parity check matrix, thereby detecting the block LDPC code,
moreover, the second parity check matrix is a parity check matrix determined by changing the size of the first parity check matrix, while the first parity check matrix is a parity check matrix generated so that the block LDPC code has a given length and is satisfied when a given coding rate, and the first parity check matrix includes a given number of partial blocks, and each of the partial blocks has a given size, and when the speed encoding is 1/2, the first parity check matrix is expressed as one of the following 5 tables
Figure 00000057

Figure 00000058

Figure 00000059

Figure 00000060

Figure 00000061

where in each of these 5 tables, the blocks represent partial blocks, the numbers represent the exponentials of the corresponding permutation matrices, and the blocks without numbers represent the partial blocks onto which the zero matrices are mapped.
8. Способ декодирования блочного кода проверки на четность с низкой плотностью (LDPC), заключающийся в том, что
принимают сигнал и
выбирают одну из первой матрицы проверки на четность и второй матрицы проверки на четность в соответствии с длиной блочного кода LDPC, предназначенного для декодирования, и декодируют принятый сигнал в соответствии с выбранной матрицей проверки на четность, детектируя, таким образом, блочный код LDPC, причем вторая матрица проверки на четность представляет собой матрицу проверки на четность, определенную путем изменения размера первой матрицы проверки на четность, при этом первая матрица проверки на четность представляет собой матрицу проверки на четность, сгенерированную так, что блочный код LDPC имеет заданную длину и удовлетворяется при заданной скорости кодирования, причем первая матрица проверки на четность включает в себя заданное количество частичных блоков, и каждый из частичных блоков имеет заданный размер, а когда скорость кодирования составляет 2/3, первая матрица проверки на четность выражена как одна из нижеследующих 5-ти таблиц
Figure 00000062

Figure 00000063

Figure 00000064

Figure 00000065

Figure 00000066

где в каждой из этих 5-ти таблиц блоки представляют частичные блоки, цифры представляют экспоненты соответствующих матриц перестановок, а блоки без цифр представляют частичные блоки, на которые отображают нулевые матрицы.
8. A method for decoding a block low-density parity check (LDPC) code, wherein
receive the signal and
one of the first parity check matrix and the second parity check matrix are selected in accordance with the length of the block LDPC code for decoding, and the received signal is decoded in accordance with the selected parity check matrix, thereby detecting the block LDPC code, wherein the second the parity check matrix is a parity check matrix determined by changing the size of the first parity check matrix, wherein the first parity check matrix is a pro The parity check generated so that the block LDPC code has a given length and is satisfied at a given coding rate, the first parity check matrix includes a given number of partial blocks, and each of the partial blocks has a given size, and when the coding rate is 2 / 3, the first parity check matrix is expressed as one of the following 5 tables
Figure 00000062

Figure 00000063

Figure 00000064

Figure 00000065

Figure 00000066

where in each of these 5 tables, the blocks represent partial blocks, the numbers represent the exponentials of the corresponding permutation matrices, and the blocks without numbers represent the partial blocks onto which the zero matrices are mapped.
9. Способ декодирования блочного кода проверки на четность с низкой плотностью (LDPC), заключающийся в том, что
принимают сигнал и выбирают одну из первой матрицы проверки на четность и второй матрицы проверки на четность в соответствии с длиной блочного кода LDPC, предназначенного для декодирования, и декодируют принятый сигнал в соответствии с выбранной матрицей проверки на четность, детектируя, таким образом, блочный код LDPC,
причем вторая матрица проверки на четность представляет собой матрицу проверки на четность, определенную путем изменения размера первой матрицы проверки на четность, при этом первая матрица проверки на четность представляет собой матрицу проверки на четность, сгенерированную так, что блочный код LDPC имеет заданную длину и удовлетворяется при заданной скорости кодирования, причем первая матрица проверки на четность включает в себя заданное количество частичных блоков, и каждый из частичных блоков имеет заданный размер, а
когда скорость кодирования составляет 3/4, первую матрицу проверки на четность выражают как одну из нижеследующих 3-х таблиц
Figure 00000067

Figure 00000068

Figure 00000069

где в каждой из этих 3-х таблиц блоки представляют частичные блоки, цифры представляют экспоненты соответствующих матриц перестановок, а блоки без цифр представляют частичные блоки, на которые отображают нулевые матрицы.
9. A method for decoding a block low-density parity check (LDPC) code, wherein
receive the signal and select one of the first parity check matrix and the second parity check matrix in accordance with the length of the block LDPC code for decoding, and decode the received signal in accordance with the selected parity check matrix, thereby detecting the block LDPC code ,
moreover, the second parity check matrix is a parity check matrix determined by changing the size of the first parity check matrix, while the first parity check matrix is a parity check matrix generated so that the block LDPC code has a given length and is satisfied when a given coding rate, and the first parity check matrix includes a predetermined number of partial blocks, and each of the partial blocks has a predetermined size, and
when the coding rate is 3/4, the first parity check matrix is expressed as one of the following 3 tables
Figure 00000067

Figure 00000068

Figure 00000069

where in each of these 3 tables, the blocks represent partial blocks, the numbers represent the exponentials of the corresponding permutation matrices, and the blocks without numbers represent the partial blocks onto which the zero matrices are mapped.
10. Устройство для декодирования блочного кода проверки на четность с низкой плотностью (LDPC), содержащее
приемник для приема сигнала и
декодер для выбора одной из первой матрицы проверки на четность и второй матрицы проверки на четность в соответствии с длиной блочного кода LDPC, предназначенного для декодирования, и декодирования принятого сигнала в соответствии с выбранной матрицей проверки на четность, детектируя, таким образом, блочный код LDPC,
причем вторая матрица проверки на четность представляет собой матрицу проверки на четность, определенную путем изменения размера первой матрицы проверки на четность, при этом первая матрица проверки на четность представляет собой матрицу проверки на четность, сгенерированную так, что блочный код LDPC имеет заданную длину и удовлетворяется при заданной скорости кодирования, причем первая матрица проверки на четность включает в себя заданное количество частичных блоков, и каждый из частичных блоков имеет заданный размер, а когда скорость кодирования составляет 1/2, первая матрица проверки на четность выражена как одна из нижеследующих 5-ти таблиц
Figure 00000070

Figure 00000071

Figure 00000072

Figure 00000073

Figure 00000074

где в каждой из этих 5-ти таблиц блоки представляют частичные блоки, цифры представляют экспоненты соответствующих матриц перестановок, а блоки без цифр представляют частичные блоки, на которые отображены нулевые матрицы.
10. A device for decoding a block code parity check with low density (LDPC) containing
a receiver for receiving a signal and
a decoder for selecting one of the first parity check matrix and the second parity check matrix in accordance with the length of the block LDPC code for decoding and decoding the received signal in accordance with the selected parity check matrix, thereby detecting the block LDPC code,
moreover, the second parity check matrix is a parity check matrix determined by changing the size of the first parity check matrix, while the first parity check matrix is a parity check matrix generated so that the block LDPC code has a given length and is satisfied when a given coding rate, and the first parity check matrix includes a given number of partial blocks, and each of the partial blocks has a given size, and when the speed encoding is 1/2, the first parity check matrix is expressed as one of the following 5 tables
Figure 00000070

Figure 00000071

Figure 00000072

Figure 00000073

Figure 00000074

where in each of these 5 tables, the blocks represent partial blocks, the numbers represent the exponents of the corresponding permutation matrices, and the blocks without numbers represent the partial blocks onto which the zero matrices are mapped.
11. Устройство для декодирования блочного кода проверки на четность с низкой плотностью (LDPC), содержащее
приемник для приема сигнала и
декодер для выбора одной из первой матрицы проверки на четность и второй матрицы проверки на четность в соответствии с длиной блочного кода LDPC, предназначенного для декодирования, и декодирования принятого сигнала в соответствии с выбранной матрицей проверки на четность, детектируя, таким образом, блочный код LDPC,
причем вторая матрица проверки на четность представляет собой матрицу проверки на четность, определенную путем изменения размера первой матрицы проверки на четность, при этом первая матрица проверки на четность представляет собой матрицу проверки на четность, сгенерированную так, что блочный код LDPC имеет заданную длину и удовлетворяется при заданной скорости кодирования, причем первая матрица проверки на четность включает в себя заданное количество частичных блоков, и каждый из частичных блоков имеет заданный размер, а
когда скорость кодирования составляет 2/3, первая матрица проверки на четность выражена как одна из нижеследующих 5-ти таблиц
Figure 00000075

Figure 00000076

Figure 00000077

Figure 00000078

Figure 00000079

где в каждой из этих 5-ти таблиц блоки представляют частичные блоки, цифры представляют экспоненты соответствующих матриц перестановок, а блоки без цифр представляют частичные блоки, на которые отображены нулевые матрицы.
11. A device for decoding a block low-density parity check code (LDPC), comprising
a receiver for receiving a signal and
a decoder for selecting one of the first parity check matrix and the second parity check matrix in accordance with the length of the block LDPC code for decoding and decoding the received signal in accordance with the selected parity check matrix, thereby detecting the block LDPC code,
moreover, the second parity check matrix is a parity check matrix determined by changing the size of the first parity check matrix, while the first parity check matrix is a parity check matrix generated so that the block LDPC code has a given length and is satisfied when a given coding rate, and the first parity check matrix includes a predetermined number of partial blocks, and each of the partial blocks has a predetermined size, and
when the coding rate is 2/3, the first parity check matrix is expressed as one of the following 5 tables
Figure 00000075

Figure 00000076

Figure 00000077

Figure 00000078

Figure 00000079

where in each of these 5 tables, the blocks represent partial blocks, the numbers represent the exponents of the corresponding permutation matrices, and the blocks without numbers represent the partial blocks onto which the zero matrices are mapped.
12. Устройство для декодирования блочного кода проверки на четность с низкой плотностью (LDPC), содержащее
приемник для приема сигнала и декодер для выбора одной из первой матрицы проверки на четность и второй матрицы проверки на четность в соответствии с длиной блочного кода LDPC, предназначенного для декодирования, и декодирования принятого сигнала в соответствии с выбранной матрицей проверки на четность, детектируя, таким образом, блочный код LDPC,
причем вторая матрица проверки на четность представляет собой матрицу проверки на четность, определенную путем изменения размера первой матрицы проверки на четность, при этом первая матрица проверки на четность представляет собой матрицу проверки на четность, сгенерированную так, что блочный код LDPC имеет заданную длину и удовлетворяется при заданной скорости кодирования, причем первая матрица проверки на четность включает в себя заданное количество частичных блоков, и каждый из частичных блоков имеет заданный размер, а
когда скорость кодирования составляет 3/4, первая матрица проверки на четность выражена как одна из нижеследующих 3-х таблиц
Figure 00000080

Figure 00000081

Figure 00000082

где в каждой из этих 3-х таблиц блоки представляют частичные блоки, цифры представляют экспоненты соответствующих матриц перестановок, а блоки без цифр представляют частичные блоки, на которые отображены нулевые матрицы.
Приоритеты:
12. A device for decoding a block low-density parity check (LDPC) code, comprising
a receiver for receiving a signal and a decoder for selecting one of the first parity check matrix and the second parity check matrix in accordance with the length of the block LDPC code for decoding and decoding the received signal in accordance with the selected parity check matrix, thereby detecting , LDPC block code,
moreover, the second parity check matrix is a parity check matrix determined by changing the size of the first parity check matrix, while the first parity check matrix is a parity check matrix generated so that the block LDPC code has a given length and is satisfied when a given coding rate, and the first parity check matrix includes a predetermined number of partial blocks, and each of the partial blocks has a predetermined size, and
when the coding rate is 3/4, the first parity matrix is expressed as one of the following 3 tables
Figure 00000080

Figure 00000081

Figure 00000082

where in each of these 3 tables, the blocks represent partial blocks, the numbers represent the exponentials of the corresponding permutation matrices, and the blocks without numbers represent the partial blocks onto which the zero matrices are mapped.
Priorities:
13.12.2004 по пп.1, 4, 7, 10;December 13, 2004 according to claims 1, 4, 7, 10; 14.01.2005 по пп.2, 5, 8, 11;01/14/2005 according to claims 2, 5, 8, 11; 16.08.2004 по пп.3, 6, 9, 12. 08/16/2004 according to claims 3, 6, 9, 12.
RU2007105746/09A 2004-08-16 2005-04-28 Device and method for coding/decoding block code for low density parity check with variable block length RU2369008C2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR20040064465 2004-08-16
KR10-2004-0064465 2004-08-16
KR10-2004-0105183 2004-12-13
KR1020040105183A KR20060016059A (en) 2004-08-16 2004-12-13 Apparatus and method for coding/decoding block low density parity check code with variable block length
KR10-2005-0003732 2005-01-14

Publications (2)

Publication Number Publication Date
RU2007105746A RU2007105746A (en) 2008-08-20
RU2369008C2 true RU2369008C2 (en) 2009-09-27

Family

ID=37124450

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2007105746/09A RU2369008C2 (en) 2004-08-16 2005-04-28 Device and method for coding/decoding block code for low density parity check with variable block length

Country Status (3)

Country Link
KR (1) KR20060016059A (en)
CN (1) CN1993917B (en)
RU (1) RU2369008C2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2546571C2 (en) * 2010-09-16 2015-04-10 Квэлкомм Инкорпорейтед. System and method for transmitting low density parity check signal
RU2574828C2 (en) * 2010-09-03 2016-02-10 Сони Корпорейшн Data processing device and data processing method
RU2595579C2 (en) * 2011-04-28 2016-08-27 Сони Корпорейшн Data processing apparatus and data processing method
RU2598318C2 (en) * 2011-10-10 2016-09-20 Самсунг Электроникс Ко., Лтд. Device and method for transmitting and receiving data in communication/broadcasting system
RU2654132C2 (en) * 2013-02-08 2018-05-16 Сони Корпорейшн Data processing apparatus and data processing method
RU2656830C2 (en) * 2013-06-12 2018-06-06 Сони Корпорейшн Data processing apparatus and data processing method
RU2743784C1 (en) * 2020-11-13 2021-02-26 Акционерное Общество "Крафтвэй Корпорэйшн Плс" Data coding method based on ldpc code
RU2747050C1 (en) * 2020-11-13 2021-04-23 Акционерное Общество "Крафтвэй Корпорэйшн Плс" Data decoding method based on ldpc code

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4555334B2 (en) 2004-04-28 2010-09-29 サムスン エレクトロニクス カンパニー リミテッド Apparatus and method for encoding / decoding block low density parity check code having variable block length
KR20070107521A (en) 2006-05-03 2007-11-07 삼성전자주식회사 Method for generating of non binary structured low density parity check code
CN103281091B (en) * 2007-09-28 2017-10-27 松下电器产业株式会社 Coding method, encoder, decoder, dispensing device and reception device
CN102265520B (en) * 2008-12-26 2014-05-14 松下电器产业株式会社 Encoding method, encoder, and decoder
KR101685010B1 (en) 2012-06-01 2016-12-13 한국전자통신연구원 Low density parity check code for terrestrial cloud trasmission
US20160204801A1 (en) * 2013-09-20 2016-07-14 Sony Corporation Data processing device and data processing method
EP3051704A4 (en) * 2013-09-26 2017-06-21 Sony Corporation Data processing device and data processing method
US10050642B2 (en) * 2016-03-17 2018-08-14 Silicon Motion Inc. Low power scheme for bit flipping low density parity check decoder
US20180034588A1 (en) * 2016-08-01 2018-02-01 Mediatek Inc. Apparatus and method for data transmission using coded-combining or hybrid-coding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1185796C (en) * 2002-11-15 2005-01-19 清华大学 Improved correcting decoding method for non-regular low-density parity-check code

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2574828C2 (en) * 2010-09-03 2016-02-10 Сони Корпорейшн Data processing device and data processing method
RU2546571C2 (en) * 2010-09-16 2015-04-10 Квэлкомм Инкорпорейтед. System and method for transmitting low density parity check signal
RU2664396C2 (en) * 2010-09-16 2018-08-17 Квэлкомм Инкорпорейтед System and method for transmitting low density parity check signal
RU2595579C2 (en) * 2011-04-28 2016-08-27 Сони Корпорейшн Data processing apparatus and data processing method
RU2598318C2 (en) * 2011-10-10 2016-09-20 Самсунг Электроникс Ко., Лтд. Device and method for transmitting and receiving data in communication/broadcasting system
RU2654132C2 (en) * 2013-02-08 2018-05-16 Сони Корпорейшн Data processing apparatus and data processing method
RU2656830C2 (en) * 2013-06-12 2018-06-06 Сони Корпорейшн Data processing apparatus and data processing method
US11082065B2 (en) 2013-06-12 2021-08-03 Saturn Licensing Llc Data processing apparatus and data processing method using low density parity check encoding for decreasing signal-to-noise power ratio
RU2743784C1 (en) * 2020-11-13 2021-02-26 Акционерное Общество "Крафтвэй Корпорэйшн Плс" Data coding method based on ldpc code
RU2747050C1 (en) * 2020-11-13 2021-04-23 Акционерное Общество "Крафтвэй Корпорэйшн Плс" Data decoding method based on ldpc code

Also Published As

Publication number Publication date
RU2007105746A (en) 2008-08-20
CN1993917B (en) 2011-03-23
CN1993917A (en) 2007-07-04
KR20060016059A (en) 2006-02-21

Similar Documents

Publication Publication Date Title
RU2369008C2 (en) Device and method for coding/decoding block code for low density parity check with variable block length
RU2341894C2 (en) Device and method of encoding/decoding discharged even-parity check with variable block length
RU2348103C2 (en) Device and method for coding and decoding of block code of low density parity check
CA2560852C (en) Apparatus and method for coding/decoding block low density parity check code with variable block length
KR100809616B1 (en) Apparatus and method for coding/decoding block low density parity check code with variable block length
RU2354045C2 (en) Device and method for encoding and decoding block codes with low density of parity control with variable coding rate
US20070089027A1 (en) Apparatus and method for transmitting/receiving signal in a communication system using low density parity check code
US20080294963A1 (en) Method and apparatus for designing low density parity check code with multiple code rates, and information storage medium thereof
KR20070034904A (en) Apparatus and method for block low density parity check code encoding / decoding having variable coding rate
KR20070003294A (en) Apparatus and method for generating of quasi-cyclic low density parity check codes
CN108270448B (en) Quasi-cyclic low-density parity check coding method and device
KR20060016061A (en) Apparatus and method for coding/decoding block low density parity check code with variable block length

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20190927