RU2348103C2 - Device and method for coding and decoding of block code of low density parity check - Google Patents

Device and method for coding and decoding of block code of low density parity check Download PDF

Info

Publication number
RU2348103C2
RU2348103C2 RU2007105100/09A RU2007105100A RU2348103C2 RU 2348103 C2 RU2348103 C2 RU 2348103C2 RU 2007105100/09 A RU2007105100/09 A RU 2007105100/09A RU 2007105100 A RU2007105100 A RU 2007105100A RU 2348103 C2 RU2348103 C2 RU 2348103C2
Authority
RU
Russia
Prior art keywords
matrix
vector
parity
block
information word
Prior art date
Application number
RU2007105100/09A
Other languages
Russian (ru)
Other versions
RU2007105100A (en
Inventor
Гиу-Бум КИУНГ (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 RU2007105100A publication Critical patent/RU2007105100A/en
Application granted granted Critical
Publication of RU2348103C2 publication Critical patent/RU2348103C2/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/1134Full parallel processing, i.e. all bit nodes or check nodes are processed in parallel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1182Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the structure of the parity-check matrix is obtained by reordering of a random parity-check matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

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

Abstract

FIELD: physics, radio.
SUBSTANCE: invention is related to device and method for coding of block code of low density parity check (LDPC). Substance of invention consists in the fact that during reception of information word vector coder codes vector of information word into block code of LDPC in compliance with preset generating matrix. Modulator modulates block code LDPC into modulation symbol using preset modulation pattern. Transmitter sends modulation symbol.
EFFECT: provision of decoding reliability with minimization of LDPC block code coding complexity.
11 cl, 17 dwg

Description

Уровень техники изобретенияBACKGROUND OF THE INVENTION

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

Настоящее изобретение относится к устройству и способу кодирования и декодирования блочных кодов LDPC (разреженного контроля четности).The present invention relates to an apparatus and method for encoding and decoding block LDPC (Sparse Parity Check) codes.

Описание предшествующего уровня техникиDescription of the Related Art

В связи наиболее существенной проблемой является эффективная и надежная передача данных по каналу. Мобильная мультимедийная система связи следующего поколения, которая исследуется в настоящее время, требует системы связи с высокой скоростью передачи, допускающей обработку и передачу различной информации, например, изображения или данных радиовещания, помимо предыдущей, ориентированной на голос услуги. Следовательно, необходимо повышать эффективность системы с помощью использования схемы кодирования канала, подходящей для системы.In connection, the most significant problem is the efficient and reliable transmission of data over the channel. The next generation mobile multimedia communication system, which is being investigated, requires a high-speed communication system capable of processing and transmitting various information, such as images or broadcast data, in addition to the previous voice-oriented service. Therefore, it is necessary to increase the efficiency of the system by using a channel coding scheme suitable for the system.

Передача данных неизбежно страдает от ошибок из-за шума, помех и замирания в соответствии с условиями канала, таким образом вызывая потерю большого количества информации. Для того, чтобы уменьшить потерю информации, в настоящее время используются различные схемы контроля ошибок, которые основаны частично на характеристиках канала для улучшения тем самым надежности мобильной системы связи. Самая элементарная схема исправления ошибок использует коды исправления ошибок.Data transmission inevitably suffers from errors due to noise, interference and fading in accordance with the conditions of the channel, thereby causing the loss of a large amount of information. In order to reduce the loss of information, various error control schemes are currently being used, which are based in part on channel characteristics, thereby improving the reliability of the mobile communication system. The most basic error correction scheme uses error correction codes.

Фиг.1 - это схема, иллюстрирующая приемопередатчик в традиционной системе мобильной связи. Ссылаясь на фиг.1, в передатчике сообщение 'u' передачи кодируется посредством кодера 101 с помощью предопределенной схемы кодирования перед передачей по каналу. Закодированный символ 'c', кодируемый посредством кодера 101, модулируется посредством модулятора 103, используя предопределенную схему модуляции, и модулированный сигнал 's' передается приемнику по каналу 105.1 is a diagram illustrating a transceiver in a conventional mobile communication system. Referring to FIG. 1, in a transmitter, a transmission message 'u' is encoded by an encoder 101 using a predetermined coding scheme before being transmitted over a channel. The encoded symbol 'c' encoded by encoder 101 is modulated by a modulator 103 using a predetermined modulation scheme, and the modulated signal 's' is transmitted to the receiver on channel 105.

В приемнике принятый сигнал 'r' является искаженным сигналом, в котором сигнал 's', переданный передатчиком, смешивается с несколькими шумами соответственно условиям канала. Принятый сигнал 'r' демодулируется посредством демодулятора 107 с помощью схемы демодуляции, соответствующей схеме модуляции, используемой в модуляторе 103 передатчика, и демодулированный сигнал 'x' декодируется посредством декодера 109 с помощью схемы декодирования, соответствующей схеме кодирования, используемой в кодере 101 передатчика. Сигнал, декодируемый посредством декодера 109, обозначается посредством û. At the receiver, the received signal 'r' is a distorted signal in which the signal 's' transmitted by the transmitter is mixed with several noises according to channel conditions. The received signal 'r' is demodulated by the demodulator 107 using a demodulation scheme corresponding to the modulation scheme used in the transmitter modulator 103, and the demodulated signal 'x' is decoded by the decoder 109 using the decoding scheme corresponding to the encoding scheme used in the encoder 101 of the transmitter. A signal decoded by decoder 109 is denoted by û .

Соответственно, существует необходимость высокоэффективных кодера и декодера канала для возможности приемнику восстанавливать сигнал 'u', переданный посредством передатчика без ошибки. В частности, когда канал 105 является беспроводным каналом, ошибки, вызванные каналом, должны рассматриваться более серьезно. Декодер 109 приемника может оценивать сообщение передачи на основе данных, принятых по каналу 105.Accordingly, there is a need for a high-performance channel encoder and decoder for the receiver to be able to recover the 'u' signal transmitted by the transmitter without error. In particular, when channel 105 is a wireless channel, errors caused by the channel should be considered more seriously. Receiver decoder 109 may evaluate the transmission message based on data received on channel 105.

В связи со стремительным развитием системы мобильной связи существует потребность в технологии, допускающей возможность передачи данных в беспроводной сети, имеющих большую емкость, приближающуюся к таковой в беспроводной сети. Так как существует потребность в быстродействующей высокопроизводительной системе связи, допускающей обработку и передачу мультимедийных данных, например, изображения и данных радиовещания помимо ориентированной на голос службы, то необходимо увеличивать эффективность передачи в системе с помощью использования подходящей схемы кодирования канала для улучшения производительности системы. Тем не менее, система мобильной связи неизбежно страдает от ошибок, которые обычно происходят из-за шума, помех и замирания соответственно условиям канала во время передачи данных. Как описано выше, возникновение ошибок вызывает потерю информационных данных.In connection with the rapid development of the mobile communication system, there is a need for a technology capable of transmitting data in a wireless network having a large capacity approaching that of a wireless network. Since there is a need for a high-speed, high-performance communication system capable of processing and transmitting multimedia data, for example, image and broadcast data, in addition to the voice-oriented service, it is necessary to increase transmission efficiency in the system by using a suitable channel coding scheme to improve system performance. However, the mobile communication system inevitably suffers from errors that usually occur due to noise, interference and fading according to channel conditions during data transmission. As described above, the occurrence of errors causes the loss of information data.

Для того, чтобы уменьшить потерю информационных данных из-за возникновения ошибок, возможно улучшать надежность мобильной системы связи посредством использования методик контроля ошибок. Методика, использующая коды исправления ошибок, является наиболее распространенной используемой методикой контроля ошибок. В настоящий момент будет сделано описание турбокодов и кодов LDPC (разреженного контроля четности), которые являются обычными кодами исправления ошибок.In order to reduce the loss of information data due to errors, it is possible to improve the reliability of a mobile communication system by using error control techniques. A technique that uses error correction codes is the most common error control technique used. A description will now be made of turbo codes and LDPC (Sparse Parity Check) codes, which are common error correction codes.

Хорошо известно, что турбокод превосходит в повышении производительности сверточный код, традиционно используемый для исправления ошибок во время высокоскоростной передачи данных. Турбокод является выгодным в том, что он может эффективно исправлять ошибку, вызванную шумами, сформированными в канале передачи, таким образом повышая надежность передачи данных.It is well known that turbo code is superior in performance enhancement to the convolutional code traditionally used to correct errors during high-speed data transfer. The turbo code is advantageous in that it can efficiently correct an error caused by noise generated in the transmission channel, thereby increasing the reliability of data transmission.

Код LDPC может быть декодирован с использованием итеративного алгоритма декодирования на основе алгоритма суммы-произведения в графе множителей. Так как декодер использует для кода LDPC итеративный алгоритм декодирования, основанный на алгоритме суммы-произведения, то он менее сложен по отношению к декодеру для турбокода. Кроме того, декодер для кода LDPC легко реализовать с помощью декодера параллельной обработки, по сравнению с декодером для турбокода.The LDPC code can be decoded using an iterative decoding algorithm based on the sum-product algorithm in the factor graph. Since the decoder uses an iterative decoding algorithm for the LDPC code based on the sum-product algorithm, it is less complex with respect to the decoder for the turbo code. In addition, the decoder for the LDPC code is easy to implement using a parallel processing decoder, compared to a decoder for a turbo code.

Теорема Шэннона о кодировании канала показывает, что надежная связь возможна только при скорости передачи данных, не превышающей пропускную способность канала связи. Тем не менее, теорема Шэннона о кодировании канала не предложила подробного способа кодирования и декодирования для канала для поддержания скорости передачи данных до предела пропускной способности канала связи. Хотя случайный код, имеющий очень большой размер блока, показывает производительность, приближающуюся к пределу пропускной способности канала связи по теореме Шэннона о кодировании канала, фактически невозможно реализовать способ декодирования с максимумом апостериорной вероятности (MAP) или максимально правдоподобный (ML) из-за его сложной вычислительной нагрузки.Shannon’s channel coding theorem shows that reliable communication is only possible with a data rate that does not exceed the bandwidth of the communication channel. However, Shannon’s channel coding theorem did not propose a detailed coding and decoding method for the channel to maintain the data rate to the maximum bandwidth of the communication channel. Although a random code having a very large block size shows performance approaching the bandwidth limit of the communication channel according to the Shannon theorem on channel coding, it is practically impossible to implement a decoding method with a maximum a posteriori probability (MAP) or the most plausible (ML) due to its complex computational load.

Турбокод был предложен Берроу, Главо и Титимаджшима в 1993 г. и имеет более высокую производительность, приближающуюся к пределу пропускной способности канала связи согласно теореме Шэннона о кодировании канала. Предложение турбокода инициировало активное исследование по итеративному декодированию и графическому представлению кодов, и коды LDPC, предложенные Галлагером в 1962 г., вновь находятся в центре внимания исследований. Циклы существуют в графе множителей турбокода и кода LDPC, и хорошо известно, что итеративное декодирование в графе множителей кода LDPC, где существуют циклы, является условно оптимальным. Также экспериментально доказано, что код LDPC имеет прекрасную производительность по итеративному декодированию. Известно, что код LDPC имеет самую высокую производительность, которую когда-либо показывает производительность, имеющая разность лишь около 0,04 [дБ] при пределе пропускной способности канала связи по теореме Шэннона о кодировании канала при частоте появления ошибочных битов (BER) 10-5, используя размер блока 107. Кроме того, хотя код LDPC, определенный в поле Галуа (GF) c q>2, т.е. GF(q), увеличивает сложность в своем декодировании, он является превосходящим по своей производительности двоичный код. Тем не менее, не предусмотрено удовлетворительное теоретическое описание успешного декодирования посредством итеративного алгоритма декодирования для кода LDPC, определенного в GF(q).The turbo code was proposed by Burrow, Glavo and Titimajshima in 1993 and has higher performance, approaching the limit of the bandwidth of the communication channel according to the Shannon theorem on channel coding. The turbo code proposal initiated an active study on iterative decoding and graphical representation of codes, and the LDPC codes proposed by Gallagher in 1962 are once again the focus of research. Loops exist in the multiplier graph of the turbo code and LDPC code, and it is well known that iterative decoding in the multiplier graph of the LDPC code, where loops exist, is conditionally optimal. It has also been experimentally proven that LDPC code has excellent iterative decoding performance. It is known that the LDPC code has the highest performance that performance has ever shown, having a difference of only about 0.04 [dB] at the limit of the throughput of the communication channel according to the Shannon theorem on channel coding at the occurrence frequency of error bits (BER) 10 -5 using a block size of 10 7 . In addition, although the LDPC code defined in the Galois field (GF) with q> 2, i.e. GF (q), increases the complexity in its decoding, it is superior in its performance to binary code. However, a satisfactory theoretical description of successful decoding by means of an iterative decoding algorithm for the LDPC code defined in GF (q) is not provided.

Код LDPC, предложенный Галлагером, определяется посредством матрицы контроля четности, в которой основные элементы имеют значение 0 и второстепенные элементы, т.е. элементы, не имеющие значение 0, имеют значение 1. Например, код LDPC (N, j, k) является линейным блочным кодом, имеющим длину блока N, и определяется матрицей разреженного контроля четности, в которой каждый столбец имеет j элементов, имеющих значение 1, каждый ряд имеет k элементов, имеющих значение 1, и все элементы за исключением элементов, имеющих значение 1, имеют значение 0.The LDPC code proposed by the Gallagher is determined by means of a parity check matrix in which the main elements have a value of 0 and secondary elements, i.e. elements that do not have a value of 0 have a value of 1. For example, the LDPC code (N, j, k) is a linear block code having a block length of N, and is determined by a sparse parity check matrix in which each column has j elements with a value of 1 , each row has k elements having a value of 1, and all elements except 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 to 'j' and the weight of each row in the parity matrix is fixed to 'k', as described above, is called the “regular LDPC code”. In this document, "weight" refers to the number of elements having a non-zero value among the elements included in the generator matrix and the parity matrix. Unlike a regular LDPC code, an LDPC code in which the weight of each column in the parity matrix and the weight of each row in the parity matrix are not fixed is called an “irregular LDPC code”. It is well known that irregular LDPC code is higher in performance with respect to the 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 are not fixed, i.e. irregular, the weight of each column in the parity matrix and the weight of each row in the parity matrix must be properly set in order to guarantee excellent performance.

Фиг.2 - это схема, иллюстрирующая матрицу контроля четности общего кода LDPC (8, 2, 4). Ссылаясь на фиг.2, матрица H контроля четности кода LDPC (8, 2, 4) имеет 8 столбцов и 4 строки, в которой вес каждого столбца зафиксирован на 2 и вес каждой строки зафиксирован на 4. Так как вес каждого столбца и вес каждой строки в матрице контроля четности являются регулярными, код LDPC (8, 2, 4), проиллюстрированный на фиг.2, становится регулярным кодом LDPC.2 is a diagram illustrating a parity check matrix of a common LDPC code (8, 2, 4). Referring to FIG. 2, the LDPC code parity check matrix H (8, 2, 4) has 8 columns and 4 rows, in which the weight of each column is fixed at 2 and the weight of each row is fixed at 4. Since the weight of each column and the weight of each the rows in the parity matrix are regular, the LDPC code (8, 2, 4) illustrated in FIG. 2 becomes the regular LDPC code.

Фиг.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-тым узлом.FIG. 3 is a diagram illustrating a graph of multipliers of the LDPC code (8, 2, 4) in FIG. 2. Referring to FIG. 3, the multiplier graph of the LDPC code (8, 2, 4) includes 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 of the control nodes 316, 318, 320 and 322. When the element having a value of 1, i.e. a nonzero value exists at the point where the i-th row and j-th column of the LDPC code parity matrix (8, 2, 4) intersect each other, a branch is created between the variable node x i and the control j-th node.

Так как матрица контроля четности кода LDPC имеет очень небольшой вес, то возможно выполнять декодирование посредством итеративного декодирования, даже в блочном коде, имеющем относительно большой размер, который показывает производительность, приближающуюся к пределу пропускной способности канала связи по теореме Шэннона о кодировании канала, например, турбокода, в то время, как размер блока блочного кода постоянно увеличивается. Мак Кей и Нил доказали, что итеративный процесс декодирования кода LDPC, используя схему диаграммы потока, приближается к итеративному процессу декодирования турбокода по производительности.Since the LDPC code parity matrix is very lightweight, it is possible to perform decoding by iterative decoding, even in a block code having a relatively large size, which shows performance approaching the bandwidth limit of the communication channel according to Shannon’s channel coding theorem, for example, turbo code, while the block code block size is constantly increasing. Mack Kay and Neil have proven that the iterative process of decoding an LDPC code using a flowchart diagram approaches the iterative process of decoding a turbo code in terms of performance.

Для того, чтобы сформировать высокопроизводительный код LDPC, должны выполняться следующие условия.In order to generate a high-performance LDPC code, the following conditions must be met.

(1) Циклы в графе множителей кода LDPC должны быть приняты во внимание.(1) The cycles in the multiplier graph of the LDPC code should be taken into account.

Термин "цикл" относится к петле, образованной гранями, соединяющими переменные узлы с контрольными узлами в графе множителей кода LDPC, и длина цикла определяется как число граней, составляющих петлю. Цикл петли означает, что число граней, соединяющих переменные узлы с контрольными узлами, составляющих петлю в графе множителей кода LDPC, является большим. В противоположность этому, короткий цикл означает, что число граней, соединяющих переменные узлы с контрольными узлами, составляющих петлю в графе множителей кода LDPC, является небольшим.The term “loop” refers to a loop formed by faces connecting variable nodes to control nodes in the multiplier graph of the LDPC code, and the length of the loop is defined as the number of faces making up the loop. The loop cycle means that the number of faces connecting the variable nodes to the control nodes that make up the loop in the multiplier graph of the LDPC code is large. In contrast, a short loop means that the number of faces connecting the variable nodes to the control 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 LDPC code factor graph become longer, the relative performance level of the LDPC code increases. Those. when long loops are formed in the LDPC code factor graph, it becomes possible to prevent performance degradation, for example, the minimum level of error that occurs when too many short-cycle cycles exist in the LDPC code factor graph.

(2) Эффективное кодирование кода LDPC должно быть принято во внимание(2) Effective coding of the LDPC code should be taken into account

Код LDPC сложно подвергнуть кодированию в реальном масштабе времени, по сравнению со сверточным кодом или турбокодом из-за высокой сложности его кодирования. Для того, чтобы уменьшить сложность кодирования кода LDPC, предложен код RA (повторного накопления). Тем не менее, код RA также имеет предел в уменьшении сложности кодирования кода LDPC. Следовательно, эффективное кодирование кода LDPC должно быть принято во внимание.LDPC code is difficult to encode in real time, compared to a convolutional code or turbo code due to the high complexity of its coding. In order to reduce the encoding complexity of the LDPC code, an RA (re-accumulation) code is proposed. However, the RA code also has a limit in reducing the encoding complexity of the LDPC code. Therefore, efficient coding of the LDPC code must be taken into account.

(3) Распределение степеней в графе множителей кода LDPC должно быть принято во внимание.(3) The degree distribution in the factor graph of the LDPC code should be taken into account.

В целом нерегулярный код LDPC превосходит в производительности регулярный код LDPC, так как граф множителей нерегулярного кода LDPC имеет различные степени. Термин "степень" относится к числу граней, соединенных с переменными узлами и контрольными узлами в графе множителей кода LDPC. Дополнительно, фраза "распределение степеней" в графе множителей кода LDPC относится к соотношению числа узлов, имеющих конкретную степень к общему числу узлов. Кроме того, Ричардсоном доказано, что код LDPC, имеющий конкретное распределение степеней, является превосходящим по производительности.In general, an irregular LDPC code is superior in performance to a regular LDPC code, since the factor graph of an irregular LDPC code has varying degrees. The term “degree” refers to the number of faces connected to variable nodes and control nodes in the multiplier graph of the LDPC code. Additionally, the phrase “degree distribution” in the factor graph of the LDPC code refers to the ratio of the number of nodes having a specific degree to the total number of nodes. In addition, Richardson proved that LDPC code with a specific degree distribution is superior in performance.

Фиг.4 - это схема, иллюстрирующая матрицу контроля четности для общего блочного кода LDPC. Тем не менее, до того, как будет дано описание фиг.4, следует заметить, что блочный код LDPC является новым кодом LDPC, что эффективное кодирование и эффективное хранение и повышение производительности матрицы контроля четности были приняты во внимание и блочный код LDPC является кодом LPDC, расширенным посредством обобщения структуры регулярного кода LDPC.4 is a diagram illustrating a parity matrix for a common block LDPC code. However, before the description of FIG. 4 is given, it should be noted that the block LDPC code is a new LDPC code, that efficient coding and efficient storage and improved performance of the parity matrix are taken into account, and the block LDPC code is an LPDC code extended by generalizing the structure of the regular LDPC code.

Ссылаясь на фиг.4, матрица контроля четности блочного кода LDPC разделена на множество частных блоков, и матрица перестановок сопоставлена с каждым из частных блоков. На фиг.4 'P' представляет матрицу перестановок, имеющую размер NsxNs и верхний индекс (или показатель степени)apq матрицы P перестановок является либо 0pqs-l, либо apq=. Кроме того, 'p' указывает, что соответствующая матрица перестановок располагается в p-той строке частных блоков матрицы контроля четности, и 'q' указывает, что соответствующая матрица перестановок располагается в q-том столбце частных блоков матрицы контроля четности. То есть

Figure 00000001
представляет матрицу перестановок, расположенную в частном блоке, где p-тая строка и q-тый столбец матрицы контроля четности, содержащей множество частных блоков, пересекают друг друга. Более конкретно, 'p' и 'q' представляют собой число строк и число столбцов частных блоков, сопоставленных, соответственно, информационной части в матрице контроля четности.Referring to FIG. 4, a parity check matrix of a block LDPC code is divided into a plurality of private blocks, and a permutation matrix is mapped to each of the private blocks. 4, 'P' represents a permutation matrix having a size N s xN s and a superscript (or exponent) a pq of the permutation matrix P is either 0 pqs -l or a pq =. In addition, 'p' indicates that the corresponding permutation matrix is located in the pth row of partial blocks of the parity matrix, and 'q' indicates that the corresponding permutation matrix is located in the qth column of partial blocks of the parity matrix. I.e
Figure 00000001
represents a permutation matrix located in a private block, where the pth row and the qth column of the parity matrix containing many private blocks intersect each other. More specifically, 'p' and 'q' represent the number of rows and the number of columns of the private blocks associated, respectively, of the information part in the parity matrix.

Фиг.5 является схемой, иллюстрирующей матрицу P перестановок по фиг.4. Как проиллюстрировано на фиг.5, матрица перестановок P является квадратной матрицей, имеющей размер NsxNs и каждый из столбцов Ns, включенный в матрицу P перестановок, имеет вес 1 и каждая из строк Ns, включенная в матрицу P перестановок, также имеет вес 1. В этом документе, хотя размер матрицы P перестановок и выражен как NsxNs, он будет также выражаться и как Ns, так как матрица P перестановок является квадратной матрицей.5 is a diagram illustrating a permutation matrix P of FIG. 4. As illustrated in Figure 5, the permutation matrix P is a square matrix having a size of N s xN s and each of the columns N s, is included in the permutation matrix P has a weight of 1 and each of the rows N s, included in the permutation matrix P also It has a weight of 1. In this document, although the size and the permutation matrix P is expressed as N s xN s, it will also be expressed also as N s, because the permutation matrix P is a square matrix.

На фиг.4 матрица P перестановок с верхним индексом apq=0, т.е. матрица перестановок P° представляет собой единичную матрицу INsxNs и матрица P перестановок с верхним индексом apq=, т.е. матрица Р перестановок представляет собой нулевую матрицу. В данном документе INsxNs представляет собой единичную матрицу размером NsxNs.In Fig. 4, the permutation matrix P with superscript a pq = 0, i.e. the permutation matrix P ° is the identity matrix I NsxNs and the permutation matrix P with the superscript a pq =, i.e. permutation matrix P is a zero matrix. In this document, I NsxNs is a unit matrix of size N s xN s .

В полной матрице контроля четности блочного кода LDPC, проиллюстрированного на фиг.4, так как общее количество строк - Nsxp и общее количество столбцов - Nsxq (для p), когда полная матрица контроля четности кода LDPC имеет полный ранг, скорость кода может быть выражена уравнением (1) независимо от размера частных блоков.In the full parity check matrix of the block LDPC code illustrated in FIG. 4, since the total number of rows is N s xp and the total number of columns is N s xq (for p), when the full LDPC code parity matrix has a full rank, the code rate can be expressed by equation (1) regardless of the size of the private blocks.

Figure 00000002
Figure 00000002

Если apq для всех p и q, то матрицы перестановок, соответствующие частным блокам, не являются нулевыми матрицами и частные блоки составляют регулярный код LDPC, в котором значение веса каждого столбца и значение веса каждой строки в каждой из матриц перестановок, соответствующих частным блокам, являются p и q соответственно. В данном документе каждая из матриц перестановок, соответствующих частным блокам, будет указываться как "частная матрица".If a pq for all p and q, then the permutation matrices corresponding to the private blocks are not null matrices and the private blocks compose 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 the private blocks are p and q respectively. In this document, each of the permutation matrices corresponding to the private blocks will be referred to as a “private matrix”.

Так как зависимые строки (p-1) существуют в матрице контроля четности, скорость кодирования выше, чем скорость кодирования, вычисленная посредством уравнения (1). В блочном коде LDPC, если положение веса первой строки каждой из частных матриц, включенных в полную матрицу контроля четности, определено, то положения весов остающихся строк (Ns-1) может быть определено. Следовательно, требуемый размер памяти сводится к 1/NS, по сравнению с тем, когда веса нерегулярно выбираются для хранения информации во всей матрице контроля четности.Since dependent rows (p-1) exist in the parity check matrix, the coding rate is higher than the coding rate calculated by equation (1). In the block LDPC code, if the position of the weight of the first row of each of the partial matrices included in the full matrix of the parity is determined, then the position of the weights of the remaining rows (N s -1) can be determined. Therefore, the required memory size is reduced to 1 / N S , compared with when the weights are irregularly selected for storing information in the entire parity matrix.

Как описано выше, термин "цикл" относится к петле, образованной гранями, соединяющими переменные узлы с контрольными узлами в графе множителей кода LDPC, и длина цикла определяется как число граней, составляющих петлю. Длинный цикл означает, что число граней, соединяющих переменные узлы с контрольными узлами, составляющих петлю в графе множителей кода LDPC, является большим. Когда циклы в графе множителей кода LDPC становятся длиннее, относительный уровень производительности кода LDPC возрастает. В противоположность, когда циклы в графе множителей кода LDPC становятся короче, возможность исправления ошибок кода LDPC возрастает, так как происходит ухудшение производительности, например, минимального уровня ошибки. То есть, когда существует много циклов небольшой длины в графе множителей кода LDPC, информация на конкретном узле, принадлежащая циклу небольшой длины, начиная от него, возвращается после небольшого числа итераций. Когда число итераций возрастает, информация возвращается к соответствующему узлу чаще, так, что информацию нельзя правильно обновить, тем самым ухудшая возможность исправления ошибок кода LDPC.As described above, the term “loop” refers to a loop formed by faces connecting the variable nodes to the control nodes in the factor graph of the LDPC code, and the cycle length is defined as the number of faces making up the loop. A long cycle means that the number of faces connecting the variable nodes to the control nodes that make up the loop in the multiplier graph of the LDPC code is large. As the cycles in the multiplier graph of the LDPC code become longer, the relative performance level of the LDPC code increases. In contrast, when the cycles in the multiplier graph of the LDPC code become shorter, the possibility of correcting errors in the LDPC code increases, since performance degradation, for example, the minimum error level, occurs. That is, when there are many small cycles of small length in the factor graph of the LDPC code, information on a particular node belonging to a small cycle, starting from it, is returned after a small number of iterations. When the number of iterations increases, the information returns to the corresponding node more often, so that the information cannot be updated correctly, thereby impairing the ability to correct LDPC code errors.

Фиг.6 является схемой, иллюстрирующей структуру цикла блочного кода LDPC, матрица контроля четности которого включает в себя 4 частных матрицы. Тем не менее, до того, как дано описание фиг. 6, следует заметить, что блочный код LDPC является новым кодом LDPC, что эффективное кодирование и эффективное хранение и повышение производительности матрицы контроля четности были приняты во внимание. Блочный код LDPC является также кодом LDPC, расширенным посредством обобщения структуры регулярного кода LDPC.6 is a diagram illustrating a loop structure of a block LDPC code whose parity matrix includes 4 partial matrices. However, before the description of FIG. 6, it should be noted that the block LDPC code is a new LDPC code, that efficient coding and efficient storage and improved performance of the parity matrix were taken into account. The block LDPC code is also an LDPC code extended by generalizing the structure of a regular LDPC code.

Матрица контроля четности блочного кода LDPC, проиллюстрированная на фиг.6, включает в себя 4 частных блока. Диагональная линия представляет собой положение, где располагаются элементы, имеющие значение 1 и части, отличные от частей на диагонали, представляют собой положения, в которых расположены элементы, имеющие значение 0. Кроме того, 'P' представляет собой ту же самую матрицу перестановок, что и матрица перестановок, описанная в связи с фиг.5.The parity check matrix of the block LDPC code illustrated in FIG. 6 includes 4 private blocks. The diagonal line represents the position where the elements having a value of 1 and the parts other than the parts on the diagonal are located, represent the positions in which the elements having a value of 0 are located. In addition, 'P' represents the same permutation matrix that and a permutation matrix described in connection with FIG.

Для того, чтобы проанализировать структуру цикла блочного кода LDPC, проиллюстрированного на фиг.6, элемент, имеющий значение 1, расположенный в i-той строке частной матрицы Pa, определяется как опорный элемент и элемент, имеющий значение 1, расположенный в i-той строке, будет указываться как "отметка-0". В данном документе "частная матрица" будет относится к матрице, соответствующей частному блоку. Отметка 0 расположена в (i+a)-том столбце частной матрицы Pa.In order to analyze a cycle structure of a block code, LDPC, illustrated in Figure 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-one line, will be indicated as "mark-0". As used herein, a “private matrix” will refer to a matrix corresponding to a private block. The 0 located in the (i + a) th column of the partial matrix P a.

Элемент, имеющий значение 1 в частной матрице Pb, расположенный в той же строке, что и нулевая отметка, будет указываться как "отметка-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 the zero mark will be indicated as “mark-1”. For the same reason as mark-0, mark-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.An element having a value of 1 in the partial matrix P c located in the same column as mark-1 will be indicated as “mark-2”. Since the partial matrix P c is the matrix obtained by shifting the corresponding columns of the identity matrix I to the right relative to the module N s by c, the mark-2 is located in the (i + bc) -th row of the private matrix P c .

Кроме того, элемент, имеющий значение 1 в частной матрице Pb, расположенный в той же строке, что и отметка-2, будет упоминаться как "отметка-3". Отметка-3 располагается в (i+b-c+d)-том столбце частной матрицы Pd.In addition, an element having a value of 1 in the partial matrix P b located on the same line as mark-2 will be referred to as “mark-3”. Mark-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.An element having a value of 1 in the partial matrix P a located in the same column as mark-3 will be indicated as “mark-4”. 4-point is located in an (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 illustrated in FIG. 6, if there is a loop of length 4, then mark-0 and mark-4 are in the same position. That is, the relationship between the mark-0 and the mark-4 is determined by equation (2)

Figure 00000003
или
Figure 00000004
Figure 00000003
or
Figure 00000004
(2)(2)

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

Figure 00000005
Figure 00000005
(3)(3)

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

Figure 00000006
и зависимость, показанная в уравнении (4), выполняется.When the dependence of equation (3) is fulfilled, a cycle with a length of 4 is formed. In general, when the mark-0 and the mark-4p are first identical to each other, then the dependence
Figure 00000006
and the dependence shown in equation (4) is satisfied.

Figure 00000007
Figure 00000007
(4)(four)

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

Соответственно, как описано выше, для (a-b+c-d)0, если выполняется gcd(Ns, a-b+c-d)=l, тогда p = Ns. Следовательно, цикл длиной 4NS становится циклом с минимальной длиной.Accordingly, as described above, for (a-b + cd) 0, if gcd (N s , a-b + cd) = l holds, then p = N s . Therefore, a cycle of length 4N S becomes a cycle with a minimum length.

Ниже в данном документе будет использоваться методика Ричардсона-Урбанке, как методика кодирования для блочного кода LDPC. Так как методика Ричардсона-Урбанке используется как методика кодирования, то сложность кодирования может быть минимизирована, поскольку вид матрицы контроля четности становится аналогичным виду полной нижней треугольной матрицы.Later in this document, the Richardson-Urbank technique will be used as the coding technique for the block LDPC code. Since the Richardson-Urbanke technique is used as a coding technique, the coding complexity can be minimized, since the form of the parity check matrix becomes similar to that of the complete lower triangular matrix.

Фиг.7 является схемой, иллюстрирующей матрицу контроля четности, имеющей форму, аналогичную той, которую имеет полная нижняя треугольная матрица. Тем не менее, матрица контроля четности, проиллюстрированная на фиг.7, имеет отличную четную часть, чем матрица контроля четности, имеющая форму полной нижней треугольной матрицы.7 is a diagram illustrating a parity check matrix having a shape similar to that of a full lower triangular matrix. However, the parity check matrix illustrated in FIG. 7 has an excellent even part than the parity check matrix having the form of a complete lower triangular matrix.

Ссылаясь на фиг.7, верхний индекс (или показатель степени) apq матрицы P перестановок части информации является либо 0pqs-1, либо apq=. Матрица P перестановок с верхним индексом apq=0, т.е. матрица перестановок P° информационной части представляет собой единичную матрицу INsxNs и матрица P перестановок с верхним индексом apq=, т.е. матрица Р перестановок представляет собой нулевую матрицу. Кроме того, 'p' представляет собой число строк частных блоков, сопоставленных информационной части в матрице контроля четности, и 'q' представляет собой число столбцов частных блоков, сопоставленных информационной части. К тому же, верхние индексы ap, x и y матриц P перестановок, сопоставленных четной части, представляют собой степени матрицы P перестановок. Тем не менее, для удобства различные верхние индексы ap, x и y используются для различия четной части от информационной части. То есть на фиг.7 c

Figure 00000008
по
Figure 00000009
являются также матрицами перестановок и верхние индексы с a1 по ap последовательно индексируются по отношению к частным матрицам, расположенным в диагональной части четной части.Referring to FIG. 7, the superscript (or exponent) a pq of the matrix P of the permutation of the piece of information is either 0 pqs -1 or a pq =. The permutation matrix P with superscript a pq = 0, i.e. the permutation matrix P ° of the information part is the identity matrix I NsxNs and the permutation matrix P with the superscript a pq =, i.e. permutation matrix P is a zero matrix. In addition, 'p' represents the number of rows of private blocks mapped to the information part in the parity matrix, and 'q' represents the number of columns of private blocks mapped to the information part. In addition, the superscripts a p , x, and y of the matrices P of permutations associated with the even part represent the powers of the matrix P of permutations. However, for convenience, various superscripts a p , x, and y are used to distinguish the even part from the information part. That is, in FIG. 7 c
Figure 00000008
by
Figure 00000009
are also permutation matrices, and the superscripts a 1 through a p are sequentially indexed with respect to the partial matrices located in the diagonal part of the even part.

Кроме того, Px и Py являются также матрицами перестановок и для удобства они индексируются по-разному, чтобы отличать четную часть от информационной части. Если размер блока блочного кода LDPC, имеющего матрицу контроля четности, изображенную на фиг.7, предполагается в размере N, то сложность кодирования блочного кода LDPC линейно возрастает относительно размера блока N(O(N)).In addition, P x and P y are also permutation matrices and, for convenience, they are indexed differently to distinguish the even part from the information part. If the block size of the block LDPC code having the parity matrix shown in FIG. 7 is assumed to be N, then the coding complexity of the block LDPC code linearly increases with respect to the block size N (O (N)).

Самой большой проблемой кода LDPC, имеющего матрицу контроля четности по фиг.7, является то, что если размер частного блока определяется как Ns, то формируются Ns контрольных узлов, степень которых всегда 1 в графе множителей блочного кода LDPC. Контрольные узлы со степенью 1 не могут влиять на повышение производительности на основе итеративного декодирования. Следовательно, стандартный нерегулярный код LDPC, основанный на методике Ричардсона-Урбанке, не включает в себя контрольный узел со степенью 1.The biggest problem with the LDPC code having the parity matrix of Fig. 7 is that if the size of the private block is defined as N s , then N s control nodes are formed, the degree of which is always 1 in the factor graph of the block LDPC code. The control nodes with degree 1 cannot influence the performance increase based on iterative decoding. Consequently, the standard irregular LDPC code based on the Richardson-Urbank technique does not include a control node with degree 1.

Соответственно, матрица контроля четности по фиг.7 будет предполагаться в качестве основной матрицы контроля четности для того, чтобы рассчитать матрицу контроля четности так, что она делает возможным эффективное кодирование, в то же время не включая в себя контрольный узел со степенью 1.Accordingly, the parity check matrix of FIG. 7 will be assumed as the main parity check matrix in order to calculate the parity check matrix so that it enables efficient coding, while not including a control node with degree 1.

В матрице контроля четности по фиг.7, включающей в себя частные матрицы, выбор частной матрицы является очень важным фактором для повышения производительности блочного кода LDPC, так, что поиск подходящего критерия выбора для частной матрицы также становится очень важным фактором.In the parity matrix of FIG. 7, including partial matrices, the selection of a particular matrix is a very important factor for improving the performance of the block LDPC code, so that finding the appropriate selection criteria for the partial matrix also becomes a very important factor.

Для того, чтобы облегчить способ расчета матрицы контроля четности блочного кода LDPC и способ кодирования блочного кода LDPC, предполагается, что матрица контроля четности, проиллюстрированная на фиг.7, составлена с помощью 6 частных матриц, как проиллюстрировано на фиг.8.In order to facilitate a method for calculating a parity check matrix of a block LDPC code and a method for encoding a block LDPC code, it is assumed that the parity check matrix illustrated in FIG. 7 is composed using 6 partial matrices, as illustrated in FIG.

Фиг.8 является схемой, иллюстрирующей матрицу контроля четности по фиг.7, которая разделена на 6 частных блоков. Ссылаясь на фиг.8, матрица контроля четности блочного кода LDPC, проиллюстрированная на фиг.7, разделяется на информационную часть 's', первую четную часть p1 и вторую четную часть p2. Информационная часть 's' представляет часть матрицы контроля четности, сопоставленной с действительным информационным словом во время процесса кодирования блочного кода LDPC, подобно информационной части, описанной в связи с фиг.7, и для удобства информационная часть 's' представляется посредством различных символов ссылки. Первая четная часть p1 и вторая четная часть p2 представляют часть матрицы контроля четности, сопоставленной с фактической четностью во время процесса кодирования блочного кода LDPC, подобно четной части, описанной в связи с фиг.7, и четная часть разделяется на две части.FIG. 8 is a diagram illustrating the parity matrix of FIG. 7, which is divided into 6 private blocks. Referring to FIG. 8, the parity check matrix of the block LDPC code illustrated in FIG. 7 is divided into the information part 's', the first even part p 1 and the second even part p 2 . The information part 's' represents the part of the parity check matrix associated with the actual information word during the encoding process of the block LDPC code, similar to the information part described in connection with Fig. 7, and for convenience, the information part 's' is represented by various reference characters. The first even part p 1 and the second even part p 2 represent the part of the parity check matrix compared with the actual parity during the LDPC block code coding process, like the even part described in connection with FIG. 7, and the even part is divided into two parts.

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

Фиг.9 является схемой, иллюстрирующей транспонированную матрицу частной матрицы B, проиллюстрированной на фиг.8, частной матрицы E, частной матрицы T и обратной матрицы частной матрицы T в матрице контроля четности, проиллюстрированной на фиг.7. Ссылаясь на фиг.9, частная матрица BT представляет собой транспонированную матрицу частной матрицы B и частная матрица T-1 представляет обратную матрицу частной матрицы T. P(k1~k2) представляет

Figure 00000010
.FIG. 9 is a diagram illustrating a transposed matrix of a partial matrix B illustrated in FIG. 8, a private matrix E, a private matrix T, and an inverse matrix of a private matrix T in the parity matrix illustrated in FIG. 7. Referring to FIG. 9, the partial matrix B T is the transposed matrix of the partial matrix B and the partial matrix T -1 represents the inverse matrix of the private matrix T. P (k1 ~ k2) represents
Figure 00000010
.

Матрицы перестановок, проиллюстрированные на фиг.9, например,

Figure 00000011
могут являться единичными матрицами. Как описано выше, если показатель степени матрицы перестановок, т.е. a1 является 0, то матрица
Figure 00000011
перестановок будет являться единичной матрицей. К тому же, если показатель степени матрицы перестановок, т.е. a1 увеличивается на заранее определенную величину, то матрица перестановок циклически сдвигается на заранее определенную величину, из условия, что матрица
Figure 00000011
будет являться единичной матрицей.The permutation matrices illustrated in FIG. 9, for example,
Figure 00000011
can be unit matrices. As described above, if the exponent of the permutation matrix, i.e. a 1 is 0, then the matrix
Figure 00000011
permutations will be the identity matrix. In addition, if the exponent of the permutation matrix, i.e. a 1 increases by a predetermined amount, then the permutation matrix is cyclically shifted by a predetermined amount, from the condition that the matrix
Figure 00000011
will be the identity matrix.

Фиг.10 - это блок-схема последовательности операций способа, иллюстрирующая алгоритм для формирования матрицы контроля четности общего блочного кода LDPC. Тем не менее, до того, как дается описание фиг.10, следует заметить, что для формирования блочного кода LDPC размер кодового слова и скорость кодирования блочного кода LDPC, которые необходимо сформировать, должны быть определены и размер матрицы контроля четности должен определяться согласно определенному размеру кодового слова и скорости кодирования. Если размер кодового слова блочного кода LDPC представляется посредством N и скорость кодирования представляется посредством R, то размер матрицы контроля четности обращается в N(1-R)xN.10 is a flowchart illustrating an algorithm for generating a parity check matrix of a common block LDPC code. However, before the description of FIG. 10 is given, it should be noted that in order to generate the block LDPC code, the codeword size and the coding rate of the block LDPC code to be generated must be determined and the size of the parity check matrix must be determined according to the determined size code word and coding rate. If the codeword size of the block LDPC code is represented by N and the coding rate is represented by R, then the size of the parity matrix is converted to N (1-R) xN.

Фактически алгоритм для формирования матрицы контроля четности блочного кода LDPC, проиллюстрированного на фиг.10, выполняется только один раз, так как матрица контроля четности первоначально формируется, подходящей для ситуации в системе связи, и после этого используется сформированная матрица контроля четности.In fact, the algorithm for generating the parity check matrix of the block LDPC code illustrated in FIG. 10 is performed only once, since the parity check matrix is initially formed suitable for the situation in the communication system, and then the generated parity check matrix is used.

Ссылаясь на фиг.10 на этапе 1011, контроллер разделяет матрицу контроля четности с размером N(1-R)xN на сумму блоков pxq, включающих в себя p блоков по горизонтальной оси и q блоков по вертикальной оси. Так как каждый из блоков имеет размер NsxNs, то матрица контроля четности включает в себя Nsxp строк и Nsxq столбцов. На этапе 1013 контроллер классифицирует блоки pxq, разделенные матрицей контроля четности на информационную часть 's', первую четную часть p1 и вторую четную часть p2.Referring to FIG. 10 in step 1011, the controller divides the parity check matrix with a size of N (1-R) xN by the sum of pxq blocks including p blocks along the horizontal axis and q blocks along the vertical axis. Since each of the blocks has a size of N s xN s, the parity check matrix includes N s xp rows and N s xq columns. At 1013, the controller classifies the pxq blocks separated by the parity matrix into the information part 's', the first even part p 1 and the second even part p 2 .

На этапе 1015 контроллер разделяет информационную часть 's' на ненулевые блоки или ненулевые матрицы и нулевые блоки или нулевые матрицы согласно распределению степеней для гарантирования достаточной производительности блочного кода LDPC. Так как распределение степеней для гарантирования достаточной производительности блочного кода LDPC описано выше, то подробное описание этого будет здесь пропущено.At 1015, the controller divides the information part 's' into non-zero blocks or non-zero matrices and zero blocks or zero matrices according to a power distribution to ensure sufficient performance of the block LDPC code. Since the degree distribution to ensure sufficient performance of the block LDPC code is described above, a detailed description of this will be omitted here.

На этапе 1017 контроллер определяет матрицы

Figure 00000012
перестановок из условия, что минимальная длина блочного цикла должна быть максимизирована, как описано выше в частях ненулевой матрицы в блоках, имеющих низкую степень среди блоков, определенных согласно распределению степеней для гарантирования достаточной производительности блочного кода LDPC. Матрицы
Figure 00000013
перестановок должны определяться, принимая во внимание блочные циклы информационной части 's', первую четную часть p1 и вторую четную часть p2.At 1017, the controller determines the matrices
Figure 00000012
permutations from the condition that the minimum length of the block cycle should be maximized, as described above in parts of a nonzero matrix in blocks having a low degree among blocks determined according to the degree distribution to ensure sufficient performance of the block LDPC code. Matrices
Figure 00000013
permutations should be determined, taking into account the block cycles of the information part 's', the first even part p 1 and the second even part p 2 .

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

Figure 00000013
перестановок в частях ненулевой матрицы в блоках, имеющих высокую степень среди блоков, определенных согласно распределению степеней, для гарантирования хорошей производительности блочного кода LDPC и затем заканчивает алгоритм. Даже когда матрицы
Figure 00000013
перестановок определяются для использования в частях ненулевой матрицы в блоках, имеющих высокую степень, матрицы
Figure 00000013
перестановок должны определяться из условия, что минимальная длина блочного цикла максимизируется. Матрицы
Figure 00000013
перестановок определяются, принимая во внимание блочные циклы информационной части 's', первую четную часть p1 и вторую четную часть p2. Пример матриц
Figure 00000013
перестановок, расположенных в информационной части 's' матрицы контроля четности, проиллюстрирован на фиг.9.At 1019, the controller randomly determines matrices
Figure 00000013
permutations in parts of a nonzero matrix in blocks having a high degree among blocks determined according to the degree distribution to guarantee good performance of the block LDPC code and then terminates the algorithm. Even when the matrices
Figure 00000013
permutations are determined for use in parts of a nonzero matrix in blocks with a high degree of matrix
Figure 00000013
permutations should be determined from the condition that the minimum length of the block cycle is maximized. Matrices
Figure 00000013
permutations are determined taking into account the block cycles of the information part 's', the first even part p 1 and the second even part p 2 . Matrix Example
Figure 00000013
permutations located in the information part 's' of the parity check matrix are illustrated in FIG.

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

Figure 00000014
перестановок в 2 частных блока среди частных блоков, включенных в частную матрицу B. Структура для ввода ненулевых матриц Py и
Figure 00000015
перестановок в 2 частных блока среди частных блоков, составляющих частную матрицу B, описана выше со ссылкой на фиг.9.At step 1021, the controller divides the first part p 1 and the second even part p 2 into 4 partial matrices B, T, D and E. At step 1023, the controller inputs non-zero matrices P y and
Figure 00000014
permutations of 2 private blocks among the private blocks included in the private matrix B. Structure for entering nonzero matrices P y and
Figure 00000015
permutations of 2 private blocks among the private blocks making up the private matrix B are described above with reference to Fig.9.

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

Figure 00000016
,
Figure 00000017
,...,
Figure 00000018
в частные блоки (i, i+1)th под диагональные элементы частной матрицы T. Структура для ввода единичных матриц I в диагональные частные блоки частной матрицы T и ввода конкретных матриц перестановок
Figure 00000016
,
Figure 00000017
,...,
Figure 00000019
в частные (i, i+1)-тые блоки под диагональные элементы частной матрицы T описана выше со ссылкой на фиг.9.At 1025, the controller enters the identity matrices I into the diagonal quotient blocks of the quotient matrix T and enters specific permutation matrices
Figure 00000016
,
Figure 00000017
, ...,
Figure 00000018
into the private blocks (i, i + 1) th under the diagonal elements of the private matrix T. The structure for introducing the identity matrices I into the diagonal private blocks of the private matrix T and entering the specific permutation matrices
Figure 00000016
,
Figure 00000017
, ...,
Figure 00000019
into partial (i, i + 1) -th blocks for the diagonal elements of a particular matrix T is described above with reference to Fig.9.

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

Figure 00000020
перестановок только в последний частный блок в частной матрице E и затем заканчивает алгоритм. Структура для ввода 2 матриц
Figure 00000021
перестановок только в последний частный блок среди частных блоков, составляющих частную матрицу E, описана выше со ссылкой на фиг.9.At 1027, the controller enters the permutation matrix P x into the private matrix D. At 1029, the controller enters the matrix
Figure 00000020
permutations only to the last private block in the private matrix E and then ends the algorithm. Structure for entering 2 matrices
Figure 00000021
permutations only to the last private block among the private blocks making up the private matrix E is described above with reference to Fig.9.

Как описано выше, известно, что код LDPC вместе с турбокодом обладает серьезным увеличением производительности во время передачи данных на высокой скорости и эффективно исправляет ошибки, вызванные шумами, сформированными в канале передачи, посредством этого увеличивая надежность передачи данных. Тем не менее, код LDPC является невыгодным в терминах скорости кодирования. То есть, так как код LDPC имеет относительно высокую скорость кодирования, то он имеет ограничение в терминах скорости кодирования. Среди кодов LDPC, доступных в настоящее время, основные коды LDPC имеют скорость кодирования 1/2 и только неосновные коды LDPC имеют скорость кодирования 1/3. Ограничение в скорости кодирования оказывает неизбежное влияние на высокоскоростную высокопроизводительную передачу данных.As described above, it is known that the LDPC code together with the turbo code has a significant increase in performance during data transmission at high speed and effectively corrects errors caused by noise generated in the transmission channel, thereby increasing the reliability of data transmission. However, the LDPC code is disadvantageous in terms of coding rate. That is, since the LDPC code has a relatively high coding rate, it has a limitation in terms of coding rate. Among the currently available LDPC codes, the main LDPC codes have a 1/2 coding rate and only minor LDPC codes have a 1/3 coding rate. A limitation in coding rate has an inevitable effect on high-speed, high-performance data transmission.

Хотя распределение степеней, представляющих оптимальные характеристики, может быть вычислено, используя схему эволюции плотности, чтобы реализовать относительно низкую скорость кодирования для кода LDPC, является сложным реализовать код LDPC, имеющий распределение степеней, показывающих оптимальные характеристики из-за различных ограничений, таких как, структура цикла в графе множителей и аппаратная реализация.Although the distribution of degrees representing optimal characteristics can be calculated using a density evolution scheme to implement a relatively low coding rate for an LDPC code, it is difficult to implement an LDPC code having a distribution of degrees showing optimal characteristics due to various constraints, such as structure cycle in the graph of factors and hardware implementation.

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

Целью настоящего изобретения, следовательно, является предоставление устройства и способа для кодирования и декодирования блочных кодов LDPC (разреженного контроля четности).An object of the present invention, therefore, is to provide an apparatus and method for encoding and decoding block LDPC (Sparse Parity Check) codes.

Другим аспектом настоящего изобретения является предоставление устройства и способа для кодирования и декодирования блочных кодов LDPC с минимизированной сложностью кодирования в системе мобильной связи.Another aspect of the present invention is the provision of a device and method for encoding and decoding block LDPC codes with minimized coding complexity in a mobile communication system.

В соответствии с одним аспектом настоящего изобретения предусматривается способ для кодирования блочного кода LDPC. Способ содержит этапы приема вектора информационного слова и кодирование вектора информационного слова в блочный код LDPC в соответствии с предопределенной порождающей матрицей.In accordance with one aspect of the present invention, there is provided a method for encoding a block LDPC code. The method comprises the steps of receiving an information word vector and encoding the information word vector into a block LDPC code in accordance with a predetermined generating matrix.

В соответствии с другим аспектом настоящего изобретения предусматривается устройство для кодирования блочного кода LDPC. Устройство содержит кодер для кодирования вектора информационного слова в блочном коде LDPC в соответствии с предопределенной порождающей матрицей; модулятор для модулирования блочного кода LDPC в символе модуляции, используя предопределенную схему модуляции; и передатчик для передачи символа модуляции.In accordance with another aspect of the present invention, there is provided an apparatus for encoding a block LDPC code. The device comprises an encoder for encoding an information word vector in a block LDPC code in accordance with a predetermined generator matrix; a modulator for modulating the block LDPC code in the modulation symbol using a predetermined modulation scheme; and a transmitter for transmitting a modulation symbol.

В соответствии с другим дополнительным аспектом настоящего изобретения предусматривается способ декодирования блочного кода LDPC. Способ содержит этапы: прием сигнала; декодирование принятого сигнала, используя матрицу контроля четности, предопределенную в соответствии с длиной блочного кода LDPC, который необходимо декодировать; и обнаружение блочного кода LDPC из декодированного принятого сигнала.In accordance with another further aspect of the present invention, there is provided a method for decoding a block LDPC code. The method comprises the steps of: receiving a signal; decoding the received signal using a parity matrix predetermined in accordance with the length of the block LDPC code to be decoded; and detecting the block LDPC code from the decoded received signal.

В соответствии с еще одним аспектом настоящего изобретения предусматривается устройство для декодирования блочного кода LDPC. Устройство содержит приемник для приема сигнала; и декодер для декодирования принятого сигнала, используя матрицу контроля четности, предопределенную в соответствии с длиной блочного кода LDPC, который необходимо декодировать; и обнаружение блочного кода LDPC из декодированного принятого сигнала.In accordance with another aspect of the present invention, there is provided an apparatus for decoding a block LDPC code. The device comprises a receiver for receiving a signal; and a decoder for decoding the received signal using the parity matrix predetermined in accordance with the length of the block LDPC code to be decoded; and detecting the block LDPC code from the decoded received signal.

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

Вышеуказанная и другие цели, признаки и преимущества настоящего изобретения станут более понятными из последующего подробного описания, рассматриваемого вместе с прилагаемыми чертежами, из которых:The above and other objectives, features and advantages of the present invention will become more apparent from the following detailed description, taken in conjunction with the accompanying drawings, of which:

Фиг.1 - это схема, иллюстрирующая приемопередатчик в традиционной системе мобильной связи;Figure 1 is a diagram illustrating a transceiver in a conventional mobile communication system;

Фиг.2 - это схема, иллюстрирующая матрицу контроля четности для стандартного кода LDPC (8, 2, 4);Figure 2 is a diagram illustrating a parity check matrix for a standard LDPC code (8, 2, 4);

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

Фиг.4 - это схема, иллюстрирующая матрицу контроля четности стандартного блочного кода LDPC;4 is a diagram illustrating a parity check matrix of a standard block LDPC code;

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

Фиг.6 является схемой, иллюстрирующей структуру цикла блочного кода LDPC, матрица контроля четности которого включает в себя 4 частных матрицы;6 is a diagram illustrating a loop structure of a block LDPC code whose parity matrix includes 4 partial matrices;

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

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

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

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

Фиг.11 является схемой, иллюстрирующей транспонированную матрицу BT частной матрицы B, частную матрицу D и частную матрицу T среди 6 частных матриц, отделенных от матрицы контроля четности нерегулярного блочного кода LDPC в соответствии с вариантом осуществления настоящего изобретения;11 is a diagram illustrating a transposed matrix B T of a private matrix B, a private matrix D and a private matrix T among 6 private matrices separated from a parity matrix of an irregular block LDPC code in accordance with an embodiment of the present invention;

Фиг.12 является схемой, иллюстрирующей матрицу F, используемую для формирования матрицы H' в соответствии с вариантом осуществления настоящего изобретения;12 is a diagram illustrating a matrix F used to form a matrix H ′ in accordance with an embodiment of the present invention;

Фиг.13 является схемой, иллюстрирующей матрицу контроля четности нерегулярного блочного кода LDPC в соответствии с вариантом осуществления настоящего изобретения;13 is a diagram illustrating a parity check matrix of an irregular block LDPC code in accordance with an embodiment of the present invention;

Фиг.14 является схемой, иллюстрирующей порождающую матрицу нерегулярного блочного кода LDPC в соответствии с вариантом осуществления настоящего изобретения;Fig. 14 is a diagram illustrating a generator matrix of an irregular block LDPC code in accordance with an embodiment of the present invention;

Фиг.15 является схемой, иллюстрирующей процесс кодирования нерегулярного блочного кода LDPC в соответствии с вариантом осуществления настоящего изобретения;15 is a diagram illustrating a coding process of an irregular block LDPC code in accordance with an embodiment of the present invention;

Фиг.16 является схемой, иллюстрирующей внутреннюю структуру устройства кодирования нерегулярного блочного кода LDPC в соответствии с вариантом осуществления настоящего изобретения; и16 is a diagram illustrating an internal structure of an irregular block LDPC code encoding apparatus according to an embodiment of the present invention; and

Фиг.17 является схемой, иллюстрирующей внутреннюю структуру устройства декодирования нерегулярного блочного кода LDPC в соответствии с вариантом осуществления настоящего изобретения.17 is a diagram illustrating an internal structure of an irregular block LDPC code decoding apparatus according to an embodiment of the present invention.

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

Предпочтительные варианты осуществления настоящего изобретения далее подробно описаны в данном документе ниже со ссылкой на прилагаемые чертежи. В последующем описании подробное описание известных функций и конфигураций, включенных в материалы настоящей заявки, опущено для краткости.Preferred embodiments of the present invention are further described in detail herein below with reference to the accompanying drawings. In the following description, a detailed description of known functions and configurations included in the materials of this application is omitted for brevity.

Настоящее изобретение представляет устройство и способ кодирования и декодирования блочных кодов LDPC, обеспечивающих высокую производительность. То есть настоящее изобретение представляет устройство и способ кодирования и декодирования блочных кодов LDPC, в которых длина минимального цикла в графе множителей максимизируется, сложность кодирования минимизируется и распределение степеней в графе множителей имеет самое лучшее распределение степеней в единицу. Хотя в данном документе не проиллюстрировано отдельно, устройство для кодирования и декодирования блочных кодов LDPC в соответствии с настоящим изобретением может применяться к приемопередатчику, описанному со ссылкой на фиг.1.The present invention provides an apparatus and method for encoding and decoding block LDPC codes providing high performance. That is, the present invention provides an apparatus and method for encoding and decoding block LDPC codes in which the minimum cycle length in the multiplier graph is maximized, the coding complexity is minimized, and the degree distribution in the multiplier graph has the best degree distribution per unit. Although not specifically illustrated herein, an apparatus for encoding and decoding block LDPC codes in accordance with the present invention can be applied to the transceiver described with reference to FIG. 1.

Фиг.11 является схемой, иллюстрирующей транспонированную матрицу BT частной матрицы B, частную матрицу D и частную матрицу T из числа 6 частных матриц, отделенных от матрицы контроля четности блочного кода LDPC в соответствии с вариантом осуществления настоящего изобретения.11 is a diagram illustrating a transposed matrix B T of a private matrix B, a private matrix D and a private matrix T of among 6 private matrices separated from the parity check matrix of a block LDPC code in accordance with an embodiment of the present invention.

До того, как дается описание фиг.11, следует заметить, что матрица контроля четности имеет структуру частных блоков, описанную в разделе предыдущего уровня техники со ссылкой на фиг.8. То есть матрица контроля четности блочного кода LDPC разделяется на частные блоки для информационной части 's', первой четной части pl и второй четной части p2. Информационная часть 's' представляет часть матрицы контроля четности, сопоставленной с фактическим информационным словом во время процесса кодирования блочного кода LDPC. Первая четная часть p1 и вторая четная часть p2 представляют части матрицы контроля четности, сопоставленные с фактической четностью во время процесса кодирования блочного кода LDPC.Before the description of FIG. 11 is given, it should be noted that the parity check matrix has a private block structure described in the section of the prior art with reference to FIG. That is, the parity check matrix of the block LDPC code is divided into private blocks for the information part 's', the first even part p l and the second even part p 2 . The information part 's' represents the part of the parity matrix mapped to the actual information word during the coding process of the block LDPC code. The first even part p 1 and the second even part p 2 represent portions of the parity matrix mapped to the actual parity during the coding process of the block LDPC code.

Как проиллюстрировано на фиг.8, информационная часть 's' разделяется на частный блок A и частный блок C, первая четная часть p1 разделятся на частный блок B и частный блок D, вторая четная часть p2 разделяется на частный блок T и частный блок E. Частные матрицы A и C соответствуют частным блокам A и C, частные матрицы B и D соответствуют частным блокам B и D, частные матрицы T и E соответствуют частным блокам T и E.As illustrated in FIG. 8, the information part 's' is divided into the private block A and the private block C, the first even part p 1 is divided into the private block B and the private block D, the second even part p 2 is divided into the private block T and the private block E. The partial matrices A and C correspond to the private blocks A and C, the partial matrices B and D correspond to the private blocks B and D, the partial matrices T and E correspond to the private blocks T and E.

Ссылаясь на фиг.11, частная матрица B включает в себя две единичные матрицы

Figure 00000015
перестановок и нулевые матрицы. Матрица P перестановок является квадратной матрицей с размером NsxNs, в которой вес каждой строки Ns равен 1 и вес каждого столбца равен также 1. Хотя размер матрицы P перестановок выражается как NsxNs, размер матрицы P перестановок, которая является квадратной матрицей, будет выражаться как Ns для удобства.Referring to FIG. 11, the partial matrix B includes two identity matrices
Figure 00000015
permutations and zero matrices. The permutation matrix P is a square matrix with size NsxNs, in which the weight of each row N s is 1 and the weight of each column is also 1. Although the size of the permutation matrix P is expressed as N s xN s , the size of the permutation matrix P, which is a square matrix, will be expressed as N s for convenience.

В вышеприведенном описании, данном со ссылкой на фиг.9, частная матрица B включает в себя матрицы

Figure 00000015
и Px перестановок и нулевые матрицы. В случае стандартного блочного кода LDPC, чтобы удовлетворять равенству ET-1B + D = I, матрицы
Figure 00000015
и Px перестановок, отличные от нулевых матриц частной матрицы B, должны быть зафиксированы в положении, как проиллюстрировано на фиг.9, и матрицы
Figure 00000015
и Px перестановок являются отличными друг от друга. Тем не менее, в настоящем изобретении две матрицы
Figure 00000015
перестановок, отличные от нулевых матриц частной матрицы B, не должны быть зафиксированы в положении, и две матрицы перестановок
Figure 00000015
обладают переменным положением и равны друг другу. Частная матрица T имеет единичные матрицы I в двухдиагональной структуре и нулевые матрицы. Частная матрица D включает в себя частную матрицу Px.In the above description given with reference to FIG. 9, the partial matrix B includes matrices
Figure 00000015
and P x permutations and zero matrices. In the case of the standard block LDPC code, in order to satisfy the equality ET -1 B + D = I, the matrices
Figure 00000015
and P x permutations other than the zero matrices of the partial matrix B, must be fixed in position, as illustrated in FIG. 9, and the matrices
Figure 00000015
and P x permutations are distinct from each other. However, in the present invention, two matrices
Figure 00000015
permutations other than the zero matrices of the partial matrix B should not be fixed in position, and two permutation matrices
Figure 00000015
have a variable position and are equal to each other. The partial matrix T has unit matrices I in a bi-diagonal structure and zero matrices. The partial matrix D includes the partial matrix P x .

На фиг.11 верхние индексы ai и x матрицы P перестановок представляют степени матрицы P перестановок.11, the superscripts a i and x of the permutation matrix P represent the degrees of the permutation matrix P.

Хотя две матрицы

Figure 00000015
перестановок сопоставляются с транспонированной матрицей BT частной матрицы B и матрица Px перестановок сопоставляется с частной матрицей D на фиг.11 в качестве примера, тот же самый результат может быть достигнут, если матрицы
Figure 00000015
перестановок сопоставляются только с двумя матрицами перестановок среди всего трех матриц перестановок, будучи сопоставленными с транспонированной матрицей BT частной матрицы B и частной матрицей D. То есть, хотя матрица
Figure 00000015
перестановок сопоставляется с любой из двух матриц перестановок, существующих в транспонированной матрице BT частной матрицы B, и матрица
Figure 00000015
перестановок сопоставляется с матрицей перестановок, существующей в частной матрице D, то может быть достигнут тот же самый результат.Although two matrices
Figure 00000015
permutations are compared with the transposed matrix B T of the partial matrix B and the permutation matrix P x is compared with the partial matrix D in FIG. 11 as an example, the same result can be achieved if the matrices
Figure 00000015
permutations are mapped to only two permutation matrices among only three permutation matrices, being mapped to the transposed matrix B T of the partial matrix B and the partial matrix D. That is, although the matrix
Figure 00000015
permutations is mapped to either of the two permutation matrices existing in the transposed matrix B T of the private matrix B, and the matrix
Figure 00000015
permutations matched with the permutation matrix existing in the partial matrix D, then the same result can be achieved.

Альтернативно, тот же самый эффект может быть достигнут, даже если матрицы

Figure 00000015
перестановок сопоставляются с двумя из двух матриц перестановок, существующих в транспонированной матрице BT частной матрицы B и матрице перестановок, существующей в частной матрице D.Alternatively, the same effect can be achieved even if the matrices
Figure 00000015
permutations are mapped to two of the two permutation matrices existing in the transposed matrix B T of the private matrix B and the permutation matrix existing in the private matrix D.

Кроме того, на фиг.11 матрица

Figure 00000015
перестановок может быть единичной матрицей, так как если степень матрицы перестановок равна a1=0, то матрица
Figure 00000015
перестановок становится единичной матрицей, как описано выше. К тому же, показатель a1 матрицы перестановок увеличивается на предопределенную величину, матрица перестановок циклически сдвигается на предопределенную величину, так, что матрица
Figure 00000015
перестановок будет являться единичной матрицей.In addition, in FIG. 11, the matrix
Figure 00000015
permutations can be the identity matrix, since if the degree of the permutation matrix is a 1 = 0, then the matrix
Figure 00000015
permutations becomes the identity matrix, as described above. In addition, the exponent a 1 of the permutation matrix is increased by a predetermined value, the permutation matrix is cyclically shifted by a predetermined value, so that the matrix
Figure 00000015
permutations will be the identity matrix.

В случае стандартного блочного кода LDPC нетронутая матрица контроля четности, используемая в декодере, используется как порождающая матрица для кодера. Тем не менее, в случае блочного кода LDPC, предложенного в настоящем изобретении, матрица контроля четности, используемая в декодере, модифицируется до использования ее в качестве порождающей матрицы для кодера, таким образом минимизируя сложность кодирования блочного кода LDPC.In the case of the standard block LDPC code, the pristine parity matrix used in the decoder is used as a generator matrix for the encoder. However, in the case of the block LDPC code proposed in the present invention, the parity matrix used in the decoder is modified to be used as a generator matrix for the encoder, thereby minimizing the coding complexity of the block LDPC code.

Матрица контроля четности, представленная посредством H, может выражаться, как показано в уравнении (5).The parity matrix represented by H may be expressed as shown in equation (5).

Figure 00000022
Figure 00000022
(5)(5)

В уравнении (5) H1 обозначает матрицу, сопоставленную с информационным словом, т.е. матрицу, сопоставленную с информационной частью 's' в матрице H контроля четности, и H2 обозначает матрицу, сопоставленную с четностью, т.е. матрицу, сопоставленную с первой четной частью p1 и второй четной частью p2 в матрице H контроля четности. То есть H1 представляет матрицу, включающую в себя частную матрицу A и частную матрицу C, и H2 представляет матрицу, включающую частную матрицу B, частную матрицу T, частную матрицу D и частную матрицу E. Тем не менее, так как схема кодирования, предложенная в настоящем изобретении, не основывается на методике Ричардсона-Урбанке, то предложенная схема кодирования не требует разделения матрицы контроля четности блочного кода LDPC на шесть частных матриц, как в методике Ричардсона-Урбанке. Вместо этого предложенная схема разделяет матрицу контроля четности на матрицу H1, сопоставленную с информационной частью, и матрицы H21 и H22, сопоставленные с первой четной частью и второй четной частью.In equation (5), H 1 denotes a matrix mapped to an information word, i.e. a matrix mapped to the information part 's' in the parity check matrix H, and H 2 denotes a matrix mapped to parity, i.e. a matrix mapped to the first even part p 1 and the second even part p 2 in the parity check matrix H. That is, H 1 represents a matrix including a private matrix A and a private matrix C, and H 2 represents a matrix including a private matrix B, a private matrix T, a private matrix D and a private matrix E. However, since the encoding scheme, Since the present invention is not based on the Richardson-Urbank technique, the proposed coding scheme does not require dividing the parity check matrix of the LDPC block code into six partial matrices, as in the Richardson-Urbank technique. Instead, the proposed scheme divides the parity check matrix into a matrix H 1 mapped to the information part and matrices H 21 and H 22 mapped to the first even part and the second even part.

Порождающая матрица, предусмотренная модификацией матрицы H контроля четности, используемой в кодере, представляется посредством H', и порождающая матрица H' может выражаться уравнением (6), используя новую матрицу F.The generator matrix provided for by the modification of the parity check matrix H used in the encoder is represented by H ′, and the generator matrix H ′ can be expressed by equation (6) using the new matrix F.

Figure 00000023
Figure 00000023
(6)(6)

В уравнении (6) F обозначает матрицу с размером (N-K)x(N-K), N обозначает размер блока или длину кодового слова кода и K обозначает длину информационного слова. Матрица F проиллюстрирована на фиг.12 и будет описана позже. Аналогично матрице H контроля четности, описанной со ссылкой на уравнение (5), порождающая матрица H' делится на H1', сопоставленную с информационным словом, и H2', сопоставленную с четностью, и H2' делится на H21', сопоставленную с первой четностью, и H22', сопоставленную со второй четностью.In equation (6), F denotes a matrix with a size of (NK) x (NK), N denotes a block size or a codeword length of a code, and K denotes an information word length. Matrix F is illustrated in FIG. 12 and will be described later. Similarly to the parity check matrix H described with reference to equation (5), the generating matrix H ′ is divided by H 1 ′ mapped to the information word, and H 2 ′ mapped with parity and H 2 ′ is divided by H 21 ′ mapped with the first parity, and H 22 ', compared with the second parity.

В порождающей матрице H', показанной в уравнении (6), степени всех ненулевых матриц перестановок, соответствующие последнему увеличению блока на am посредством действия по модулю Ns, H22', сопоставленная со второй четностью, имеет единичные матрицы в двухдиагональной структуре на каждый блок, и все остающиеся матрицы, за исключением единичных матриц, включают в себя нулевые матрицы.In the generator matrix H 'shown in equation (6), the degrees of all nonzero permutation matrices corresponding to the last block increase by a m by the modulo action N s , H 22 ', compared with the second parity, have unit matrices in a bi-diagonal structure for each block, and all remaining matrices, with the exception of unit matrices, include zero matrices.

Сейчас будет сделано описание процесса кодирования блочного кода LDPC, используя порождающую матрицу H'.A description will now be made of the coding process of the block LDPC code using the generator matrix H ′.

Вектор c кодового слова блочного кода LDPC может разделяться на вектор s информационного слова, первый вектор

Figure 00000024
четности и второй вектор
Figure 00000025
четности. Как описано выше, первый вектор
Figure 00000026
четности сопоставляется с частными блоками B и D и второй вектор
Figure 00000027
четности сопоставляется с частными блоками T и E.The LDPC block code codeword vector c may be divided into the information word vector s , the first vector
Figure 00000024
parity and second vector
Figure 00000025
parity. As described above, the first vector
Figure 00000026
parity is mapped to private blocks B and D and the second vector
Figure 00000027
parity is mapped to private blocks T and E.

Кодирование первого вектора

Figure 00000026
четности достигается применением уравнения (7) и уравнения (8), приведенными ниже. Так как Hc T = H'c T = 0, то зависимость уравнения (7) выполняетсяThe coding of the first vector
Figure 00000026
parity is achieved by applying equation (7) and equation (8) below. Since H c T = H ' c T = 0 , the dependence of equation (7) is satisfied

Figure 00000028
Figure 00000028
(7)(7)

В уравнении (7)

Figure 00000029
обозначает матрицу NsxK, предусмотренную суммированием строк блоков по всем строкам в каждом блоке в H'. Когда вычисление матрицы, основанное на суммировании по каждому блоку, применяется к матрице контроля четности, описанной со ссылкой на фиг.4, результирующая матрица становится матрицей NsxqN, и каждая матрица NsxNs становится матрицей, заданной суммированием всех матриц перестановок, соответствующих каждому столбцу блока. Например, первая матрица NsxNs имеет значение
Figure 00000030
на фиг.4.In equation (7)
Figure 00000029
denotes the matrix N s xK provided by summing the rows of blocks over all rows in each block in H '. When the matrix calculation based on summation over each block is applied to the parity matrix described with reference to FIG. 4, the resulting matrix becomes the matrix N s xqN, and each matrix N s xN s becomes the matrix given by the summation of all permutation matrices corresponding to each column of the block. For example, the first matrix N s xN s has the value
Figure 00000030
figure 4.

Аналогично

Figure 00000029
,
Figure 00000031
обозначает матрицу NsxNs, обеспеченную суммированием всех строк каждого блока в H21'. Подобным образом
Figure 00000032
обозначает матрицу Nsx(N-K-Ns), обеспеченную суммированием всех строк каждого блока в H22'.Similarly
Figure 00000029
,
Figure 00000031
denotes the matrix N s xN s provided by summing all the rows of each block in H 21 '. In a similar way
Figure 00000032
denotes the matrix N s x (NKN s ) provided by summing all the rows of each block in H 22 ′.

Выражение "суммирование строк в матрице в каждом блоке" относится к суммированию строк в частных блоках, включенных в соответствующую матрицу таким способом, что 1-тые строки в частных блоках складываются исключительно друг с другом. Что касается расчета

Figure 00000032
в уравнении (7), так как H22' имеет двухдиагональную структуру аналогично частной матрице T, проиллюстрированной на фиг.11, матрица, полученная суммированием строк каждого блока, становится нулевой матрицей Nsx(N-K-Ns), в которой все элементы равны 0. Так как
Figure 00000032
становится нулевой матрицей Nsx(N-K-Ns), то элемент
Figure 00000033
удаляется из уравнения (7), следовательно, матрица H21' может выражаться в уравнении (8) в соответствии со свойством частной матрицы B, описанной со ссылкой на фиг.11The expression "summation of rows in a matrix in each block" refers to the summation of rows in private blocks included in the corresponding matrix in such a way that the first rows in private blocks are added exclusively to each other. Regarding the calculation
Figure 00000032
in equation (7), since H 22 'has a two-diagonal structure similar to the partial matrix T illustrated in FIG. 11, the matrix obtained by summing the rows of each block becomes the zero matrix N s x (NKN s ), in which all elements are 0 . As
Figure 00000032
becomes the zero matrix N s x (NKN s ), then the element
Figure 00000033
is removed from equation (7), therefore, the matrix H 21 ′ can be expressed in equation (8) in accordance with the property of the partial matrix B described with reference to FIG. 11

Figure 00000034
Figure 00000034
(8)(8)

В уравнении (8)

Figure 00000035
является вектором, полученным циклическим сдвигом
Figure 00000036
на x, и
Figure 00000037
представляет транспонированный вектор первого вектора
Figure 00000038
четности.In equation (8)
Figure 00000035
is a cyclic shift vector
Figure 00000036
on x and
Figure 00000037
represents the transposed vector of the first vector
Figure 00000038
parity.

Второй вектор p2 четности может быть легко вычислен обратной подстановкой, так как H22' имеет двухдиагональную структуру. Так как блочный код LDPC, отличный от кода RA, имеет блочную структуру, он может выполнять обратную подстановку в каждом блоке, увеличивая скорость вычисления второго вектора

Figure 00000039
четности.The second parity vector p 2 can be easily calculated by reverse substitution, since H 22 'has a bi-diagonal structure. Since the block LDPC code, different from the RA code, has a block structure, it can perform backward substitution in each block, increasing the speed of computing the second vector
Figure 00000039
parity.

Более конкретно, если предполагается, что код RA имеет вектор p=(p1, p2,..., pN-K) четности, то P2 может вычисляться после того, как определяется p1. Подобным образом p3 может вычисляться после того, как определяется p2. Следовательно, биты (N-K) четности могут вычисляться последовательно.More specifically, if it is assumed that the RA code has a parity vector p = (p 1 , p 2 , ..., p NK ), then P 2 can be calculated after p 1 is determined. Similarly, p 3 can be calculated after p 2 is determined. Therefore, parity bits (NK) can be computed sequentially.

Тем не менее, в процессе кодирования блочного кода LDPC, как предложено в настоящем изобретении, так как частный блок, сопоставленный с четностью порождающей матрицы H', имеет двухдиагональную структуру, то p1 по pNs могут вычисляться одновременно, и следующие Ns бит могут быть вычислены одновременно, используя Ns бит с P1 по pNs, вычисленных на предыдущем этапе. Следовательно, процесс кодирования блочного кода LDPC, предложенный в настоящем изобретении, в Ns раз быстрее, чем процесс кодирования кода RA.However, in the encoding process of the block LDPC code, as proposed in the present invention, since the private block mapped to the parity of the generator matrix H ′ has a two-diagonal structure, p 1 by p Ns can be calculated simultaneously, and the next N s bits can be computed simultaneously using N s bits from P 1 to p Ns calculated in the previous step. Therefore, the LDPC block code encoding process proposed in the present invention is N s times faster than the RA code encoding process.

Фиг.13 является схемой, иллюстрирующей матрицу контроля четности блочного кода LDPC в соответствии с вариантом осуществления настоящего изобретения. Матрица контроля четности, проиллюстрированная на фиг.13, представляет матрицу контроля четности блочного кода LDPC со скоростью кодирования 1/2 и включает 12 x 24 блоков.13 is a diagram illustrating a parity check matrix of a block LDPC code in accordance with an embodiment of the present invention. The parity check matrix illustrated in FIG. 13 represents a parity check matrix of a block LDPC code with a 1/2 coding rate and includes 12 x 24 blocks.

На фиг.13 цифры, записанные в блоках, представляют степени матриц перестановок, расположенных в соответствующих блоках, и 'I' представляет единичные матрицы, расположенные в соответствующих блоках. Величина степени матрицы перестановки для матрицы контроля четности блочного кода LDPC с размером блока Ns может быть вычислена выполнением действия по модулю Ns над каждым показателем степени матриц перестановок, расположенных в соответствующих блоках. Если показатель соответствующего блока выше, чем размер Ns соответствующего блока, то это означает, что нужно выполнить действие по модулю Ns.13, the numbers recorded in the blocks represent the degrees of the permutation matrices located in the respective blocks, and 'I' represents the identity matrices located in the corresponding blocks. The degree of degree of the permutation matrix for the parity check matrix of the block LDPC code with the block size N s can be calculated by performing the modulo N s action on each exponent of the degree of permutation matrices located in the corresponding blocks. If the indicator of the corresponding block is higher than the size N s of the corresponding block, then this means that you need to perform the action modulo N s .

В общем, показатель должен быть меньше, чем Ns. Тем не менее, когда та же самая матрица контроля четности в общем используется и для большого, и для малого размера блоков, то значение показателя, большее, чем Ns, включается в матрицу случайно. В этом случае многие матрицы контроля четности необходимы в соответствии со скоростью кодирования и размерами блоков, увеличивая требуемую емкость памяти. Если величина, достигнутая выполнением действия по модулю Ns над показателем степени матрицы перестановок, равна 0, то матрица перестановок, расположенная в соответствующем блоке, становится единичной матрицей.In general, the indicator should be less than N s . However, when the same parity matrix is generally used for both large and small block sizes, an indicator value greater than N s is included in the matrix randomly. In this case, many parity matrices are necessary in accordance with the coding rate and block sizes, increasing the required memory capacity. If the value achieved by performing the action modulo N s on the exponent of the permutation matrix is 0, then the permutation matrix located in the corresponding block becomes the identity matrix.

Фиг.14 является схемой, иллюстрирующей порождающую матрицу блочного кода LDPC в соответствии с вариантом осуществления настоящего изобретения. Тем не менее, до того, как задано описание фиг.14, следует заметить, что порождающая матрица H' является матрицей, сформированной умножением матрицы H контроля четности на матрицу F, как описано выше. Матрица F будет описана со ссылкой на Фиг.12.14 is a diagram illustrating a block matrix LDPC matrix generator in accordance with an embodiment of the present invention. However, before the description of FIG. 14 is given, it should be noted that the generator matrix H ′ is a matrix formed by multiplying the parity check matrix H by the matrix F, as described above. Matrix F will be described with reference to FIG.

Фиг.12 является схемой, иллюстрирующей матрицу F, используемую для формирования матрицы H' в соответствии с вариантом осуществления настоящего изобретения. Ссылаясь на фиг.12, в матрице F единичные матрицы I располагаются вдоль линии диагонали и матрица

Figure 00000040
перестановок располагается в последнем элементе линии диагонали. Матрица
Figure 00000041
перестановок является матрицей перестановок, имеющей отрицательный показатель степени для матрицы
Figure 00000042
перестановок, расположенной в последней части матрицы E перестановок матрицы контроля четности. На фиг.12 предполагается, что am=1.12 is a diagram illustrating a matrix F used to form a matrix H ′ in accordance with an embodiment of the present invention. Referring to FIG. 12, in the matrix F, the identity matrices I are located along the diagonal line and the matrix
Figure 00000040
permutations are located in the last element of the diagonal line. Matrix
Figure 00000041
permutation is a permutation matrix having a negative exponent for the matrix
Figure 00000042
permutations located in the last part of the matrix E permutations of the parity matrix. 12, it is assumed that a m = 1.

Ссылаясь на фиг.14, порождающая матрица H' формируется умножением матрицы H контроля четности на матрицу F, как описано выше. Тем не менее, так как матрица

Figure 00000041
перестановок, расположенная в последней части матрицы F, является P-1, как описано выше, то порождающая матрица H' сравнивается с матрицей H контроля четности, и только матрицы, расположенные в последней строке блока порождающей матрицы H', имеют значения степеней меньше на 1 по сравнению со степенями матрицы H перестановок.Referring to FIG. 14, a generator matrix H ′ is formed by multiplying the parity check matrix H by a matrix F, as described above. However, since the matrix
Figure 00000041
permutations located in the last part of the matrix F is P -1 , as described above, then the generator matrix H 'is compared with the parity control matrix H, and only the matrices located in the last row of the block of the generator matrix H' have degrees less than 1 compared with powers of the permutation matrix H.

Фиг.15 является блок-схемой операций способа, иллюстрирующей процесс кодирования блочного кода LDPC в соответствии с вариантом осуществления настоящего изобретения. Ссылаясь на фиг.15 на этапе 1511, контроллер принимает вектор s информационного слова для кодирования в блочный код LDPC. В данном документе предполагается, что вектор s информационного слова имеет размер, соответствующий скорости кодирования для кодирования в блочный код LDPC, и размер вектора s информационного слова равен k.FIG. 15 is a flowchart illustrating a process for encoding a block LDPC code in accordance with an embodiment of the present invention. Referring to FIG. 15, in step 1511, the controller receives the information word vector s for encoding into the block LDPC code. In this document, it is assumed that the information word vector s has a size corresponding to the coding rate for encoding into the block LDPC code, and the size of the information word vector s is k.

На этапе 1513 контроллер вычисляет первый вектор

Figure 00000043
четности, используя матрицу, сформированную суммированием всех строк в H1' порождающей матрицы H' в каждом блоке, и транспонированный вектор принятого вектора s информационного слова. Матрица, сформированная суммированием всех строк в H1' порождающей матрицы H' имеет размер NsxK, и первый вектор
Figure 00000043
четности вычисляется, используя уравнение (8).At step 1513, the controller calculates the first vector
Figure 00000043
parity using a matrix formed by summing all the rows in H 1 'of the generating matrix H' in each block, and the transposed vector of the received information word vector s . The matrix formed by summing all the rows in H 1 'of the generating matrix H' has size N s xK, and the first vector
Figure 00000043
parity is calculated using equation (8).

На этапе 1515, контроллер вычисляет второй вектор

Figure 00000044
четности обратной подстановкой, используя вектор s информационного слова и первый вектор
Figure 00000043
четности. На этапе 1517 контроллер формирует вектор c кодового слова, используя вектор s информационного слова, первый вектор
Figure 00000043
четности и второй вектор
Figure 00000044
четности, и передает сформированный вектор c кодового слова.At step 1515, the controller calculates a second vector
Figure 00000044
parity by reverse substitution using the vector s of the information word and the first vector
Figure 00000043
parity. At step 1517, the controller generates a codeword vector c using the information word vector s , the first vector
Figure 00000043
parity and second vector
Figure 00000044
parity, and transmits the generated codeword vector c .

Фиг.16 является блок-схемой, иллюстрирующей внутреннюю структуру устройства кодирования блочного кода LDPC в соответствии с вариантом осуществления настоящего изобретения. Ссылаясь на фиг.16, устройство для кодирования блочного кода LDPC включает в себя умножитель 1611 матрицы, запоминающее устройство 1613, циклическое сдвигающее устройство 1615, процессор 1617 обратной подстановки и переключатели 1619, 1621 и 1623.16 is a block diagram illustrating an internal structure of an LDPC block code encoding apparatus according to an embodiment of the present invention. Referring to FIG. 16, an apparatus for encoding a block LDPC code includes a matrix multiplier 1611, a memory 1613, a cyclic shifter 1615, a backward substitution processor 1617, and switches 1619, 1621 and 1623.

Входной сигнал, т.е. вектор s информационного слова длиной k, который необходимо кодировать в блочный код LDPC, используется переключателем 1619, матричным умножителем 1611 и процессором 1617 обратной подстановки. Матричный умножитель 1611 умножает вектор s информационного слова на матрицу NsxK, сформированную суммированием всех строк в H1' порождающей матрицы H', сохраненных в запоминающем устройстве 1613 на каждый блок, и выводит результат на циклическое сдвигающее устройство 1615. Вывод сигнала от матричного умножителя 1611 является вектором

Figure 00000045
, полученным циклическим сдвигом транспонированного вектора
Figure 00000036
первого вектора
Figure 00000038
четности на x.Input signal i.e. an information word vector s of length k, which must be encoded into a block LDPC code, is used by switch 1619, matrix multiplier 1611, and backward substitution processor 1617. The matrix multiplier 1611 multiplies the information word vector s by the matrix N s xK formed by summing all the rows in H 1 ′ of the generating matrix H ′ stored in the memory 1613 by each block and outputs the result to the cyclic shifting device 1615. The signal output from the matrix multiplier 1611 is a vector
Figure 00000045
obtained by cyclic shift of the transposed vector
Figure 00000036
first vector
Figure 00000038
parity at x.

Циклическое сдвигающее устройство 1615 вычисляет транспонированный вектор

Figure 00000036
первого вектора
Figure 00000038
четности обратным циклическим сдвигом сигнала, выводимого от матричного умножителя 1611 на x, вычисляет первый вектор
Figure 00000038
четности, используя транспонированный вектор
Figure 00000036
первого вектора
Figure 00000038
четности, и выводит результат на процессор 1617 обратной подстановки и переключатель 1621. Процессор 1617 обратной подстановки вычисляет второй вектор
Figure 00000039
четности обратной заменой, используя вектор s информационного слова и первый вектор
Figure 00000038
четности, выведенный из циклического сдвигающего устройства 1615, и выводит результат на переключатель 1623.The cyclic shifter 1615 computes the transposed vector
Figure 00000036
first vector
Figure 00000038
the parity by the reverse cyclic shift of the signal output from the matrix multiplier 1611 by x, calculates the first vector
Figure 00000038
parity using a transposed vector
Figure 00000036
first vector
Figure 00000038
parity, and outputs the result to the backward substitution processor 1617 and the switch 1621. The backward substitution processor 1617 calculates a second vector
Figure 00000039
parity by reverse substitution using the vector s of the information word and the first vector
Figure 00000038
parity output from the cyclic shifting device 1615, and outputs the result to the switch 1623.

Каждый из переключателей 1619, 1621 и 1623 включается только в свой интервал времени передачи, чтобы передать свой ассоциативно связанный сигнал. То есть переключатель 1619 включается во время передачи вектора s информационного слова, переключатель 1621 включается во время передачи первого вектора P 1 четной части и переключатель 1623 включается во время передачи второго вектора P 2 четной части.Each of the switches 1619, 1621 and 1623 is included only in its own transmission time interval in order to transmit its associated signal. That is, the switch 1619 is turned on during the transmission of the information word vector s , the switch 1621 is turned on during the transmission of the first even part vector P 1 and the switch 1623 is turned on during the transmission of the second even part vector P 2 .

Все коды серии LDPC могут декодироваться в графе множителей, используя алгоритм частного произведения (sub-product). Схема декодирования кода LDPC может быть примерно разделена на схему двунаправленной передачи и схему передачи потока. Когда операция декодирования выполняется, используя схему двунаправленной передачи, каждый контрольный узел имеет узловой процессор, таким образом, увеличивая сложность декодирования пропорционально числу контрольных узлов. Тем не менее, так как все контрольные узлы одновременно обновляются, то скорость декодирования резко возрастает.All codes of the LDPC series can be decoded in the multiplier graph using the sub-product 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 control node has a node processor, thereby increasing the decoding complexity in proportion to the number of control nodes. However, since all control nodes are updated simultaneously, the decoding speed increases dramatically.

Отличная от этого, схема передачи потока имеет единственный узловой процессор и узловой процессор обновляет информацию, проходя через все узлы в графе множителей. Следовательно, схема передачи потока ниже по сложности декодирования, но увеличение в размере матрицы контроля четности, т.е. увеличение количества узлов вызывает снижение в скорости декодирования. Тем не менее, матрица контроля четности формируется на каждый блок аналогично блочному коду LDPC, предложенному в настоящем изобретении, затем количество узловых процессоров, равное количеству блоков, составляющих матрицу контроля четности, используется во время декодирования. В этом случае возможно реализовать декодер, который менее сложен в декодировании, чем схема двунаправленной передачи, и с более высокой скоростью декодирования, чем схема передачи потока.Different from this, the flow transmission scheme has a single nodal processor and the nodal processor updates information passing through all nodes in the multiplier graph. Therefore, the stream transmission scheme is lower in decoding complexity, but an increase in the size of the parity check matrix, i.e. an increase in the number of nodes causes a decrease in decoding speed. However, a parity check matrix is generated per block like the block LDPC code 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 during decoding. In this case, it is possible to implement a decoder that is less complicated to decode than the bidirectional transmission scheme, and with a higher decoding speed than the stream transmission scheme.

Фиг.17 является блок-схемой, иллюстрирующей внутреннюю структуру устройства декодирования для блочного кода LDPC в соответствии с вариантом осуществления настоящего изобретения. Ссылаясь на фиг.17, устройство декодирования для блочного кода LDPC включает в себя контроллер 1710 блоков, переменную узловую часть 1700, сумматор 1715, обращенный перемежитель 1717, перемежитель 1719, контроллер 1721, запоминающее устройство 1723, сумматор 1725, контрольную узловую часть 1750 и блок 1729 жесткого выбора решения. Переменная узловая часть 1700 включает в себя переменный узловой декодер 1711 и переключатели 1713 и 1714, и контрольная узловая часть включает в себя контрольный узловой декодер 1727.17 is a block diagram illustrating an internal structure of a decoding apparatus for a block LDPC code in accordance with an embodiment of the present invention. Referring to FIG. 17, a decoding apparatus for a block LDPC code includes a block controller 1710, a variable node portion 1700, an adder 1715, a deinterleaver 1717, an interleaver 1719, a controller 1721, a memory 1723, an adder 1725, a control node 1750, and a block 1729 hard decision choices. The variable nodal part 1700 includes a variable nodal decoder 1711 and switches 1713 and 1714, and the control nodal part includes a control nodal decoder 1727.

Сигнал, принятый по радиоканалу, является входным для контроллера 1710 блоков. Контроллер 1710 блоков определяет размер блоков принятого сигнала. Если существует часть информационного слова, прокалываемая в устройстве кодирования, соответствующем устройству декодирования, то контроллер 1710 блоков вставляет '0' в проколотую часть информационного слова, чтобы регулировать размер полного блока, и выводит результирующий сигнал на переменный узловой декодер 1711. Переменный узловой декодер 1711 вычисляет значения вероятности вывода сигнала контроллера 1710 блоков, обновляет вычисленные значения вероятности и выводит обновленные значения вероятности на переключатели 1713 и 1714. Переменный узловой декодер 1711 соединяет переменные узлы в соответствии с матрицей контроля четности, предварительно заданной в устройстве декодирования для блочного кода LDPC, и выполняет операцию обновления над столькими входными и выходными значениями, как и число единиц, соединенных с переменными узлами. Число единиц, соединенных с переменными узлами, равно весу каждого из столбцов, составляющих матрицу контроля четности. Внутреннее функционирование переменного узлового декодера 1711 отличается в соответствии с весом каждого из столбцов, составляющих матрицу контроля четности. За исключением ситуации, когда включен переключатель 1713, переключатель 1714 включается для вывода выходного сигнала переменного узлового декодера 1711 к сумматору 1715.The signal received over the air is the input to the controller 1710 blocks. 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, then the block controller 1710 inserts '0' into the punctured part of the information word to adjust the size of the full block, and outputs the resulting signal to a variable node decoder 1711. The variable node decoder 1711 calculates the probability values of the output signal of the controller 1710 blocks, updates the calculated probability values and displays the updated probability values on the switches 1713 and 1714. The variable y lovoy decoder 1711 connects the variable nodes according to a parity check matrix previously set in the decoding apparatus for the block code, LDPC, and performs an update operation on as many input values and output values as the number of units connected to the variable nodes. The number of units connected to variable nodes is equal to the weight of each of the columns that make up the parity matrix. The internal operation of the variable node decoder 1711 differs in accordance with the weight of each of the columns constituting the parity 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 output from the variable node decoder 1711 and outputs the 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 variable node decoder 1711, and outputs the subtraction result to the inverted interleaver 1717. If the decoding process is the initial decoding process, it should be assumed that the output signal of the interleaver 1719 is 0.

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

Сумматор 1725 принимает выходной сигнал контрольного узлового декодера 1711 в предыдущем итеративном процессе декодирования и выходной сигнал обращенного перемежителя 1717, вычитает выходной сигнал обращенного перемежителя 1717 из выходного сигнала контрольного узлового декодера 1727 в предыдущем процессе итеративного декодирования и выводит итог вычитания на перемежитель 1719. Контрольный узловой декодер 1727 соединяет контрольные узлы в соответствии с матрицей контроля четности, предварительно заданной в устройстве декодирования для блочного кода LDPC, и выполняет операцию обновления над столькими входными и выходными значениями, сколько число единиц, соединенных с контрольными узлами. Число единиц, соединенных с контрольными узлами, равно весу каждой строки, включенной в матрицу контроля четности. Следовательно, внутренняя работа контрольного узлового декодера 1727 отличается в соответствии с весом каждой строки, составляющей матрицу контроля четности.The adder 1725 receives the output signal of the control node decoder 1711 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 signal of the control node decoder 1727 in the previous iterative decoding process and outputs the subtraction to the interleaver 1719. The control node decoder 1727 connects the control nodes in accordance with a parity check matrix predefined in a block decoding device of the LDPC code, and performs an update operation on as many input values and output values as the number of units connected to the check nodes. The number of units connected to the control nodes is equal to the weight of each row included in the parity matrix. Therefore, the internal operation of the control node decoder 1727 is different in accordance with the weight of each line constituting the parity check matrix.

Перемежитель 1719 под управлением контроллера 1721 перемежает выходной сигнал от сумматора 1725 в соответствии с предопределенной схемой перемежения и выводит перемеженный сигнал на сумматор 1715 и переменный узловой декодер 1711. Контроллер 1721 считывает информацию, относящуюся к перемежению, сохраненную в запоминающем устройстве 1723, и управляет схемой перемежения перемежителя 1719 согласно считываемой информации. Аналогично, если процесс декодирования является первоначальным процессом декодирования, то следует принять во внимание, что выходной сигнал обращенного перемежителя 1717 равен 0.An interleaver 1719 under the control of the controller 1721 interleaves the output signal from the adder 1725 in accordance with a predetermined interleaving circuit and outputs the interleaved signal to the adder 1715 and the variable node decoder 1711. The controller 1721 reads the information related to the interleaving stored in the memory 1723 and controls the interleaving circuit interleaver 1719 according to the read information. Similarly, if the decoding process is the original decoding process, it should be taken into account that the output signal of the deinterleaver 1717 is 0.

Итеративно выполняя вышеупомянутые процессы, устройство декодирования выполняет надежное безошибочное декодирование.By iteratively performing the above processes, the decoding apparatus performs reliable error-free decoding.

После того, как итеративное декодирование выполняется предопределенное число раз, переключатель 1714 выключает соединение между переменным узловым декодером 1711 и сумматором 1715, и переключатели 1713 включают соединение между переменным узловым декодером 1711 и блоком 1729 принятия жесткого решения, чтобы обеспечить выход сигнала от переменного узлового декодера 1711 на блок 1729 жесткого принятия решения. Блок 1729 выбора жесткого решения применяет жесткое решение над выходным сигналом из переменного узлового декодера 1711 и выводит итог жесткого решения, и выходная величина блока 1729 выбора жесткого решения становится окончательно декодированной величиной.After iterative decoding is performed 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 to provide a signal output from the variable node decoder 1711 to block 1729 hard decision. The hard decision block 1729 applies the hard decision over the output signal from 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, обеспечивая надежное декодирование.As can be taken into account from the above description, the present invention provides a block LDPC code whose minimum cycle length is maximized in a mobile communication system, thereby maximizing error correction capability. Therefore, the decoding apparatus can correctly decode the received data using the block LDPC code, providing reliable decoding.

Кроме того, настоящее изобретение формирует эффективную порождающую матрицу, используя матрицу контроля четности, таким образом, минимизируя сложность кодирования блочного кода LDPC.In addition, the present invention generates an efficient generator matrix using a parity matrix, thereby minimizing the coding complexity of the block LDPC code.

То есть настоящее изобретение предлагает обеспечить таким образом блочному коду LDPC высокую производительность путем использования итеративного декодирования в графе множителей.That is, the present invention proposes to provide thus high performance LDPC block code by using iterative decoding in the factor graph.

Кроме того, настоящее изобретение создает матрицу контроля четности блочного кода LDPC, блок за блоком, таким образом делая возможным реализацию декодера с минимальной сложностью декодирования, усовершенствованной в плане скорости декодирования. В особенности, настоящее изобретение минимизирует сложность кодирования, используя простое перемножение матриц и поблочную обратную подстановку.In addition, the present invention provides a block-by-block LDPC parity check matrix, thus making it possible to implement a decoder with minimal decoding complexity, improved in terms of decoding speed. In particular, the present invention minimizes coding complexity using simple matrix multiplication and blockwise inverse substitution.

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

Claims (11)

1. Способ кодирования/декодирования блочного кода разреженного контроля четности (LDPC), содержащий этапы, на которых принимают вектор информационного слова и кодируют вектор информационного слова в блочный код LDPC в соответствии с порождающей матрицей; причем порождающая матрица формируется модифицированием матрицы контроля четности, соответствующей длине, которую необходимо использовать, когда формируют вектор информационного слова в блочном коде LDPC;
причем блочный код LDPC включает в себя вектор информационного слова, первый вектор четности и второй вектор четности, и порождающая матрица включает в себя первую матрицу, сопоставленную с вектором информационного слова, вторую матрицу, сопоставленную с первым вектором четности, и третью матрицу, сопоставленную со вторым вектором четности; первая матрица формируется умножением четвертой матрицы, сопоставленной с вектором информационного слова матрицы контроля четности, соответствующей длине, которую необходимо использовать, когда формируют вектор информационного слова в блочном коде LDPC, на предопределенную пятую матрицу, вторая матрица формируется умножением шестой матрицы, сопоставленной с первым вектором четности матрицы контроля четности, на пятую матрицу, и третья матрица формируется умножением седьмой матрицы, сопоставленной со вторым вектором четности матрицы контроля четности, на пятую матрицу; причем этап кодирования вектора информационного слова в блочном коде LDPC в соответствии с предопределенной порождающей матрицей содержит этапы, на которых формируют первый вектор четности из условия, что вектор, сформированный умножением матрицы, сформированной суммированием всех строк четвертой матрицы в каждом блоке, на транспонированный вектор вектора информационного слова, становится вектором, сформированным циклическим сдвигом транспонированного вектора первого вектора четности на предопределенную величину; формируют второй вектор четности, используя обратную подстановку; и формируют блочный код LDPC соединением первого вектора четности и второго вектора четности в вектор информационного слова.
1. A method for encoding / decoding a block code of a low-density parity check (LDPC), comprising the steps of: receiving a vector of the information word and encoding the vector of the information word in the block LDPC code in accordance with the generating matrix; moreover, the generating matrix is formed by modifying the parity check matrix corresponding to the length that must be used when forming the vector of the information word in the LDPC block code;
moreover, the LDPC block code includes an information word vector, a first parity vector and a second parity vector, and the generating matrix includes a first matrix mapped to the information word vector, a second matrix mapped to the first parity vector, and a third matrix mapped to the second parity vector; the first matrix is formed by multiplying the fourth matrix associated with the vector of the information word of the parity check matrix corresponding to the length to be used when forming the vector of the information word in the LDPC block code by the predetermined fifth matrix, the second matrix is formed by multiplying the sixth matrix compared with the first parity vector the parity check matrix by the fifth matrix, and the third matrix is formed by multiplying the seventh matrix associated with the second matrix parity vector parity, on the fifth matrix; wherein the step of encoding the information word vector in the LDPC block code in accordance with a predetermined generating matrix comprises the steps of forming a first parity vector from the condition that the vector formed by multiplying the matrix formed by summing all rows of the fourth matrix in each block by the transposed vector of the information vector words, becomes a vector formed by a cyclic shift of the transposed vector of the first parity vector by a predetermined value; forming a second parity vector using backward substitution; and form a block LDPC code by combining the first parity vector and the second parity vector into an information word vector.
2. Способ по п.1, в котором матрица, сформированная суммированием всех строк четвертой матрицы в каждом блоке, формируется суммированием одних и тех же строк частных блоков, включенных в четвертую матрицу.2. The method according to claim 1, in which the matrix formed by summing all the rows of the fourth matrix in each block is formed by summing the same rows of private blocks included in the fourth matrix. 3. Способ по п.1, в котором первый вектор четности формируется, используя формулу
Figure 00000046

где s обозначает вектор информационного слова,
Figure 00000047
обозначает первый вектор четности, s T обозначает транспонированный вектор вектора информационного слова,
Figure 00000048
обозначает транспонированный вектор первого вектора четности, Рx обозначает матрицу, сформированную циклическим сдвигом матрицы перестановок с размером NsxNs на х, р1T' обозначает вектор, сформированный циклическим сдвигом
Figure 00000049
на х, и
Figure 00000050
обозначает действие суммирования всех строк соответствующей матрицы в каждом блоке, H1' обозначает матрицу, сопоставленную с вектором информационного слова, в которую включена порождающая матрица, х обозначает показатель степени матрицы перестановок.
3. The method according to claim 1, in which the first parity vector is formed using the formula
Figure 00000046

where s denotes the vector of the information word,
Figure 00000047
denotes the first parity vector, s T denotes the transposed vector of the information word vector,
Figure 00000048
denotes the transposed vector of the first parity vector, P x denotes a matrix formed by cyclic shift of a permutation matrix with size N s x N s by x, p 1 T ' denotes a vector formed by cyclic shift
Figure 00000049
on x and
Figure 00000050
denotes the action of summing all the rows of the corresponding matrix in each block, H 1 ′ denotes the matrix associated with the vector of the information word, in which the generating matrix is included, x denotes the exponent of the permutation matrix.
4. Способ по п.3, в котором действие суммирования всех строк соответствующей матрицы в каждом блоке складывает те же самые строки частных блоков, включенные в соответствующую матрицу.4. The method according to claim 3, in which the action of summing all the rows of the corresponding matrix in each block adds up the same rows of private blocks included in the corresponding matrix. 5. Способ по п.1, дополнительно содержащий этапы
декодирования принятого сигнала, используя матрицу контроля четности; и
выделения блочного кода LDPC из декодированного принятого сигнала,
причем этапы декодирования принятого сигнала, используя матрицу контроля четности, и выделения блочного кода LDPC из декодированного принятого сигнала содержат этапы, на которых определяют схему устранения перемежения и схему перемежения в соответствии с матрицей контроля четности; обнаруживают значения вероятности принятого сигнала; формируют выходной сигнал переменного узлового декодера посредством вычисления значения вероятности сигнала, выводимого из принятого сигнала и сигнала предыдущей обработки декодирования; формируют первый сигнал вычитанием сигнала, сформированного в предшествующем процессе декодирования, из значений вероятности выходного сигнала переменного узлового декодера; устраняют перемежение первого сигнала, используя упомянутую схему устранения перемежения; обнаруживают значения вероятности из сигнала с устраненным перемежением; формируют выходной сигнал контрольного узлового декодера из сигнала с устраненным перемежением; формируют второй сигнал вычитанием сигнала с устраненным перемежением из значений вероятности выходного сигнала контрольного узлового декодера; перемежают второй сигнал, используя схему перемежения; и определяют блочный код LDPC итеративным декодированием сигнала с перемежением.
5. The method according to claim 1, additionally containing steps
decoding the received signal using a parity matrix; and
extracting the block LDPC code from the decoded received signal,
moreover, the steps of decoding the received signal using the parity matrix and extracting the block LDPC code from the decoded received signal comprise the steps of determining an interleaving elimination circuit and an interleaving scheme in accordance with the parity matrix; detect the probability values of the received signal; generating an output signal of a variable nodal decoder by calculating a probability value of a signal output from a received signal and a signal of previous decoding processing; generating the first signal by subtracting the signal generated in the previous decoding process from the probability values of the output signal of the variable node decoder; eliminating interleaving of the first signal using said interleaving elimination circuit; detecting probability values from a signal with eliminated interleaving; form the output signal of the control node decoder from the signal with the eliminated interleaving; generating a second signal by subtracting the signal with the eliminated interleaving from the probability values of the output signal of the control node decoder; interleaving a second signal using an interleaving scheme; and determining the block LDPC code by iteratively decoding the interleaved signal.
6. Устройство для кодирования/декодирования блочного кода LDPC, содержащее кодер для кодирования вектора информационного слова в блочный код LDPC в соответствии с предопределенной порождающей матрицей и модулятор для модулирования блочного кода LDPC в символ модуляции, используя предопределенную схему модуляции; причем порождающая матрица формируется модифицированием матрицы контроля четности, соответствующей длине, которую необходимо использовать, когда формируют вектор информационного слова в блочном коде LDPC; причем блочный код LDPC включает в себя вектор информационного слова, первый вектор четности и второй вектор четности, и порождающая матрица включает в себя первую матрицу, сопоставленную с вектором информационного слова, вторую матрицу, сопоставленную с первым вектором четности, и третью матрицу, сопоставленную со вторым вектором четности; первая матрица формируется умножением четвертой матрицы, сопоставленной с вектором информационного слова матрицы контроля четности, соответствующей длине, которую необходимо использовать, когда формируют вектор информационного слова в блочном коде LDPC, на предопределенную пятую матрицу, вторая матрица формируется умножением шестой матрицы, сопоставленной с первым вектором четности матрицы контроля четности, на пятую матрицу, и третья матрица формируется умножением седьмой матрицы, сопоставленной со вторым вектором четности матрицы контроля четности, на пятую матрицу; и причем кодер содержит умножитель матрицы для умножения вектора информационного слова на матрицу, сформированную суммированием всех строк четвертой матрицы в каждом блоке; циклическое сдвигающее устройство для формирования первого вектора четности циклическим сдвигом выходного сигнала от умножителя матрицы на предопределенную величину; процессор обратной подстановки для формирования второго вектора четности посредством выполнения обратной подстановки по вектору информационного слова и выходному сигналу от циклического сдвигающего устройства и переключатели для формирования блочного кода LDPC посредством переключения вектора информационного слова, первого вектора четности и второго вектора четности.6. An apparatus for encoding / decoding a block LDPC code, comprising: an encoder for encoding an information word vector into a block LDPC code in accordance with a predetermined generator matrix and a modulator for modulating the block LDPC code into a modulation symbol using a predetermined modulation scheme; moreover, the generating matrix is formed by modifying the parity check matrix corresponding to the length that must be used when forming the vector of the information word in the LDPC block code; moreover, the LDPC block code includes an information word vector, a first parity vector and a second parity vector, and the generating matrix includes a first matrix mapped to the information word vector, a second matrix mapped to the first parity vector, and a third matrix mapped to the second parity vector; the first matrix is formed by multiplying the fourth matrix associated with the vector of the information word of the parity check matrix corresponding to the length to be used when forming the vector of the information word in the LDPC block code by the predetermined fifth matrix, the second matrix is formed by multiplying the sixth matrix compared with the first parity vector the parity check matrix by the fifth matrix, and the third matrix is formed by multiplying the seventh matrix associated with the second matrix parity vector parity, on the fifth matrix; and wherein the encoder comprises a matrix multiplier for multiplying the information word vector by a matrix formed by summing all rows of the fourth matrix in each block; a cyclic shifting device for generating a first parity vector by cyclic shifting the output signal from the matrix multiplier by a predetermined value; a backward substitution processor for generating a second parity vector by performing backward substitution for the information word vector and the output signal from the cyclic shifting device; and switches for generating the LDPC block code by switching the information word vector, the first parity vector and the second parity vector. 7. Устройство по п.6, в котором кодер формирует первый вектор четности из условия, что вектор, сформированный умножением матрицы, сформированной суммированием всех строк четвертой матрицы в каждом блоке, на транспонированный вектор вектора информационного слова, становится вектором, сформированным циклическим сдвигом транспонированного вектора первого вектора четности на предопределенную величину, формирует второй вектор четности обратной подстановкой и формирует блочный код LDPC присоединением первого вектора четности и второго вектора четности к вектору информационного слова.7. The device according to claim 6, in which the encoder generates a first parity vector from the condition that the vector formed by multiplying the matrix formed by summing all the rows of the fourth matrix in each block by the transposed vector of the information word vector becomes a vector formed by cyclic shift of the transposed vector the first parity vector by a predetermined value, forms a second parity vector by reverse substitution and forms a block LDPC code by adding the first parity vector and the second vect Dr. parity vector to the information word. 8. Устройство по п.7, в котором матрица, сформированная суммированием всех строк четвертой матрицы в каждом блоке, формируется суммированием тех же самых строк частных блоков, включенных в четвертую матрицу.8. The device according to claim 7, in which the matrix formed by summing all the rows of the fourth matrix in each block is formed by summing the same rows of private blocks included in the fourth matrix. 9. Устройство по п.7, в котором кодер формирует первый вектор четности, используя
Figure 00000051

где s обозначает вектор информационного слова,
Figure 00000052
обозначает первый вектор четности, s T обозначает транспонированный вектор вектора информационного слова,
Figure 00000053
обозначает транспонированный вектор первого вектора четности, Рх обозначает матрицу, сформированную циклическим сдвигом матрицы перестановок с размером NsxNs на х, р1T обозначает вектор, сформированный циклическим сдвигом
Figure 00000054
на х, и
Figure 00000055
обозначает действие суммирования всех строк соответствующей матрицы в каждом блоке.
9. The device according to claim 7, in which the encoder generates a first parity vector using
Figure 00000051

where s denotes the vector of the information word,
Figure 00000052
denotes the first parity vector, s T denotes the transposed vector of the information word vector,
Figure 00000053
denotes the transposed vector of the first parity vector, P x denotes a matrix formed by cyclic shift of a permutation matrix with a size of N s x N s by x, p 1 T denotes a vector formed by a cyclic shift
Figure 00000054
on x and
Figure 00000055
denotes the action of summing all the rows of the corresponding matrix in each block.
10. Устройство по п.9, в котором действие суммирования всех строк соответствующей матрицы в каждом блоке складывает те же самые строки частных блоков, включенных в соответствующую матрицу.10. The device according to claim 9, in which the action of summing all the rows of the corresponding matrix in each block adds up the same rows of private blocks included in the corresponding matrix. 11. Устройство по п.6, дополнительно содержащее декодер для декодирования принятого сигнала, используя матрицу контроля четности, и определения блочного кода LDPC из декодированного принятого сигнала, причем декодер содержит переменный узловой декодер для обнаружения значений вероятности принятого сигнала посредством соединения переменных узлов в соответствии с весом каждого столбца, включенного в матрицу контроля четности; первый сумматор для вычитания сигнала, сформированного в предыдущем процессе декодирования, из выходного сигнала от переменного узлового декодера; обращенный перемежитель для устранения перемежения выходного сигнала от первого сумматора, используя схему устранения перемежения, установленную в соответствии с матрицей контроля четности; контрольный узловой декодер для обнаружения значений вероятности выходного сигнала от обращенного перемежителя посредством соединения контрольных узлов в соответствии с весом каждой строки, включенной в матрицу контроля четности; второй сумматор для вычитания выходного сигнала от обращенного перемежителя из выходного сигнала от контрольного узлового декодера; перемежитель для перемежения выходного сигнала от второго сумматора, используя схему перемежения, заданную в соответствии с матрицей контроля четности, и вывода перемеженного сигнала на переменный узловой декодер и первый сумматор; и контроллер для управления схемой устранения перемежения и схемой перемежения в соответствии с матрицей контроля четности. 11. The device according to claim 6, further comprising a decoder for decoding the received signal using the parity matrix and determining a block LDPC code from the decoded received signal, the decoder comprising a variable nodal decoder for detecting probability values of the received signal by connecting variable nodes in accordance with the weight of each column included in the parity matrix; a first adder for subtracting the signal generated in the previous decoding process from the output signal from the variable node decoder; inverted interleaver to eliminate the interleaving of the output signal from the first adder using the interleave elimination circuitry set in accordance with the parity check matrix; a control node decoder for detecting probability values of an output signal from a deinterleaver by connecting control nodes in accordance with the weight of each row included in the parity matrix; a second adder for subtracting the output signal from the deinterleaver from the output signal from the control node decoder; an interleaver for interleaving the output signal from the second adder using the interleaving circuit defined in accordance with the parity check matrix and outputting the interleaved signal to an alternating nodal decoder and a first adder; and a controller for controlling the interleaving circuit and the interleaving circuit in accordance with the parity check matrix.
RU2007105100/09A 2004-08-10 2005-08-10 Device and method for coding and decoding of block code of low density parity check RU2348103C2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2004-0062977 2004-08-10
KR20040062977 2004-08-10

Publications (2)

Publication Number Publication Date
RU2007105100A RU2007105100A (en) 2008-08-20
RU2348103C2 true RU2348103C2 (en) 2009-02-27

Family

ID=35431229

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2007105100/09A RU2348103C2 (en) 2004-08-10 2005-08-10 Device and method for coding and decoding of block code of low density parity check

Country Status (10)

Country Link
US (1) US7600174B2 (en)
EP (1) EP1626505B1 (en)
JP (1) JP4545793B2 (en)
KR (1) KR100713371B1 (en)
CN (1) CN1993892B (en)
AU (1) AU2005272268B2 (en)
CA (1) CA2563642C (en)
DE (1) DE602005026754D1 (en)
RU (1) RU2348103C2 (en)
WO (1) WO2006016769A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2716044C1 (en) * 2016-07-20 2020-03-05 Хуавей Текнолоджиз Ко., Лтд. Methods and systems for encoding and decoding ldpc codes
RU2731883C1 (en) * 2017-06-27 2020-09-08 Телефонактиеболагет Лм Эрикссон (Пабл) Ldpc-shift coefficients for new radio communication standard
RU2739465C2 (en) * 2016-11-03 2020-12-24 Хуавей Текнолоджиз Ко., Лтд. Method and apparatus for encoding and decoding codes with low density of parity checks
RU2731883C9 (en) * 2017-06-27 2022-08-08 Телефонактиеболагет Лм Эрикссон (Пабл) Ldpc-shift coefficients for new radio communication standard

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100641052B1 (en) * 2004-12-08 2006-11-02 한국전자통신연구원 LDPC encoder and decoder, and method for LDPC encoding and decoding
US20070198905A1 (en) * 2006-02-03 2007-08-23 Nokia Corporation Transmitter for a communications network
KR100975558B1 (en) * 2006-05-03 2010-08-13 삼성전자주식회사 Signal transceiving device and method in communication system
KR100834650B1 (en) * 2006-09-04 2008-06-02 삼성전자주식회사 Signal transceiving device and method in communication system
US8271851B2 (en) 2006-11-13 2012-09-18 France Telecom Encoding and decoding a data signal as a function of a correcting code
US7913149B2 (en) * 2006-12-20 2011-03-22 Lsi Corporation Low complexity LDPC encoding algorithm
KR100975696B1 (en) 2007-04-05 2010-08-12 삼성전자주식회사 Coding apparatus and method in communication system
US8473824B1 (en) * 2008-09-08 2013-06-25 Marvell International Ltd. Quasi-cyclic low-density parity-check (QC-LDPC) encoder
CN101488819B (en) * 2008-01-15 2013-02-27 华为技术有限公司 LDPC code encoding modulation method and apparatus
WO2009150707A1 (en) * 2008-06-09 2009-12-17 パイオニア株式会社 Generating method of inspection matrix, inspection matrix, decoding device and decoding method
KR101481431B1 (en) * 2008-12-08 2015-01-12 삼성전자주식회사 A method for rearranging a low-density parity check matrix and a device using the same
JP5445829B2 (en) * 2009-05-29 2014-03-19 ソニー株式会社 Receiving apparatus, receiving method, program, and receiving system
JP5413701B2 (en) * 2011-03-22 2014-02-12 日本電気株式会社 Error correction encoding apparatus, error correction encoding method, and error correction encoding program
CN102315911B (en) * 2011-09-29 2017-10-27 中兴通讯股份有限公司 A kind of low density parity check code encoding method and device
CN104488196B (en) 2012-11-05 2017-08-01 三菱电机株式会社 Error correction/encoding method and encoder for correcting
CN103580807B (en) * 2013-11-05 2017-01-18 上海数字电视国家工程研究中心有限公司 BICM transmission method and system for LDPC code words in specific degree distribution
CN104363023B (en) * 2014-10-11 2017-10-03 中国科学院国家授时中心 Big Dipper high-precision difference information coding method
CA3209954A1 (en) 2015-03-02 2016-09-09 Samsung Electronics Co., Ltd. Transmitter and parity permutation method thereof
US10367525B2 (en) * 2015-05-29 2019-07-30 National Instruments Corporation Incremental loop modification for LDPC encoding
TWI602188B (en) * 2017-01-03 2017-10-11 慧榮科技股份有限公司 Method for performing data management in memory device, and associated memory device and controller thereof
US10484134B2 (en) * 2017-03-30 2019-11-19 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
CN118473421A (en) 2017-05-05 2024-08-09 华为技术有限公司 Information processing method and communication device
EP4187794A1 (en) 2017-06-15 2023-05-31 Huawei Technologies Co., Ltd. Qc-ldpc codes for 3gpp 5g mobile radio
CN109150197B (en) 2017-06-27 2024-05-14 华为技术有限公司 Information processing method, device and communication equipment
US10621035B2 (en) * 2017-10-18 2020-04-14 Intel Corporation Techniques for correcting data errors in memory devices
CN111313909A (en) * 2018-12-12 2020-06-19 北京航空航天大学 LDPC code decoding method and encoding method
CN112015325B (en) * 2019-05-28 2024-03-26 阿里巴巴集团控股有限公司 Method for generating decoding matrix, decoding method and corresponding device
US11405055B2 (en) * 2019-06-26 2022-08-02 Polaran Haberlesme Teknolojileri Anonim Sirketi Methods and apparatus for error correction coding with triangular factorization of generator matrix
CN111211793B (en) * 2020-02-10 2023-08-04 成都烨软科技有限公司 Parallel TPC coding method based on Hamming code
CN112398488B (en) * 2020-12-29 2021-04-30 支付宝(杭州)信息技术有限公司 Method and device for vector compression
CN116383848B (en) * 2023-04-04 2023-11-28 北京航空航天大学 A three-party secure computing anti-evil method, equipment and medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1505451A3 (en) * 1984-03-24 1989-08-30 Н.В.Филипс Глоэлампенфабрикен (Фирма) Device for decoding information with error correction
WO2002095965A1 (en) * 2001-05-21 2002-11-28 Pctel, Inc. Dsl modem utilizing low density parity check codes
RU2001118276A (en) * 1998-12-04 2003-06-27 Квэлкомм Инкорпорейтед Turbo code interleaver using linear congruent sequences

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838267A (en) 1996-10-09 1998-11-17 Ericsson, Inc. Method and apparatus for encoding and decoding digital information
US6304991B1 (en) 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
JP2002313036A (en) 2001-04-18 2002-10-25 Sharp Corp Demodulation method, error correction method, and recording medium reproducing device
US6789227B2 (en) 2001-07-05 2004-09-07 International Business Machines Corporation System and method for generating low density parity check codes using bit-filling
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US6829308B2 (en) 2002-07-03 2004-12-07 Hughes Electronics Corporation Satellite communication system utilizing low density parity check codes
EP1379001A3 (en) * 2002-07-03 2004-03-10 Hughes Electronics Corporation Method and system for decoding low density parity check (LDPC) codes
KR100543154B1 (en) * 2002-07-26 2006-01-20 휴우즈 일렉트로닉스 코오포레이션 Method and system for generating low density parity check codes
US6785863B2 (en) * 2002-09-18 2004-08-31 Motorola, Inc. Method and apparatus for generating parity-check bits from a symbol set
US7222289B2 (en) * 2002-09-30 2007-05-22 Certance Llc Channel processor using reduced complexity LDPC decoder
KR20040036460A (en) * 2002-10-26 2004-04-30 삼성전자주식회사 LDPC decoding apparatus and method
US7702986B2 (en) 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
KR100502609B1 (en) * 2002-11-21 2005-07-20 한국전자통신연구원 Encoder using low density parity check code and encoding method thereof
US7162684B2 (en) * 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
KR100906474B1 (en) * 2003-01-29 2009-07-08 삼성전자주식회사 Error correction method and apparatus using low density additional information generation matrix
KR100809619B1 (en) 2003-08-26 2008-03-05 삼성전자주식회사 Block Low Density Parity Check Coding / Decoding Apparatus and Method in Mobile Communication System
KR100550101B1 (en) 2003-12-22 2006-02-08 한국전자통신연구원 An apparatus for encoding and decoding of Low-Density Parity-Check Codes, and methods thereof
KR20050073359A (en) * 2004-01-09 2005-07-13 주식회사 하이닉스반도체 Method of manufacturing test reticle
US7260763B2 (en) * 2004-03-11 2007-08-21 Nortel Networks Limited Algebraic low-density parity check code design for variable block sizes and code rates
KR100678176B1 (en) * 2004-04-28 2007-02-28 삼성전자주식회사 Block low density parity check code encoding / decoding apparatus and method with variable block length

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1505451A3 (en) * 1984-03-24 1989-08-30 Н.В.Филипс Глоэлампенфабрикен (Фирма) Device for decoding information with error correction
RU2001118276A (en) * 1998-12-04 2003-06-27 Квэлкомм Инкорпорейтед Turbo code interleaver using linear congruent sequences
WO2002095965A1 (en) * 2001-05-21 2002-11-28 Pctel, Inc. Dsl modem utilizing low density parity check codes

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2716044C1 (en) * 2016-07-20 2020-03-05 Хуавей Текнолоджиз Ко., Лтд. Methods and systems for encoding and decoding ldpc codes
US10868567B2 (en) 2016-07-20 2020-12-15 Huawei Technologies Co., Ltd. Methods and systems for encoding and decoding for LDPC codes
RU2739465C2 (en) * 2016-11-03 2020-12-24 Хуавей Текнолоджиз Ко., Лтд. Method and apparatus for encoding and decoding codes with low density of parity checks
US11265014B2 (en) 2016-11-03 2022-03-01 Huawei Technologies Co., Ltd. Method and apparatus for encoding and decoding LDPC codes
RU2731883C1 (en) * 2017-06-27 2020-09-08 Телефонактиеболагет Лм Эрикссон (Пабл) Ldpc-shift coefficients for new radio communication standard
RU2731883C9 (en) * 2017-06-27 2022-08-08 Телефонактиеболагет Лм Эрикссон (Пабл) Ldpc-shift coefficients for new radio communication standard
US11515893B2 (en) 2017-06-27 2022-11-29 Telefonaktiebolaget Lm Ericsson (Publ) Shift values for quasi-cyclic LDPC codes
US11848685B2 (en) 2017-06-27 2023-12-19 Telefonaktiebolaget Lm Ericsson (Publ) Shift values for quasi-cyclic LDPC codes
US12334955B2 (en) 2017-06-27 2025-06-17 Telefonaktiebolaget Lm Ericsson (Publ) Shift values for quasi-cyclic LDPC codes
RU2791717C1 (en) * 2022-12-14 2023-03-13 Акционерное общество "Научно-производственная фирма "Микран" Channel encoding method in a communication system using an ldpc code

Also Published As

Publication number Publication date
AU2005272268B2 (en) 2008-07-31
US20060036927A1 (en) 2006-02-16
CA2563642C (en) 2013-10-01
CA2563642A1 (en) 2006-02-16
DE602005026754D1 (en) 2011-04-21
CN1993892A (en) 2007-07-04
AU2005272268A1 (en) 2006-02-16
WO2006016769A1 (en) 2006-02-16
JP2008501287A (en) 2008-01-17
KR20060050384A (en) 2006-05-19
EP1626505A1 (en) 2006-02-15
KR100713371B1 (en) 2007-05-04
EP1626505B1 (en) 2011-03-09
CN1993892B (en) 2012-12-26
JP4545793B2 (en) 2010-09-15
RU2007105100A (en) 2008-08-20
US7600174B2 (en) 2009-10-06

Similar Documents

Publication Publication Date Title
RU2348103C2 (en) Device and method for coding and decoding of block code of low density parity check
RU2341894C2 (en) Device and method of encoding/decoding discharged even-parity check with variable block length
US7516391B2 (en) Apparatus and method for coding/decoding block low density parity check code with variable block length
EP1596501B1 (en) Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
US9319068B2 (en) Apparatus and method for coding/decoding block low density parity check code in a mobile communication system
US7526717B2 (en) Apparatus and method for coding and decoding semi-systematic block low density parity check codes
KR100809616B1 (en) Apparatus and method for coding/decoding block low density parity check code with variable block length
RU2369008C2 (en) Device and method for coding/decoding block code for low density parity check with variable block length
KR20060016061A (en) Block low density parity check code encoding / decoding apparatus and method with variable block length

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20190811