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

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

Info

Publication number
KR20060016061A
KR20060016061A KR1020050003732A KR20050003732A KR20060016061A KR 20060016061 A KR20060016061 A KR 20060016061A KR 1020050003732 A KR1020050003732 A KR 1020050003732A KR 20050003732 A KR20050003732 A KR 20050003732A KR 20060016061 A KR20060016061 A KR 20060016061A
Authority
KR
South Korea
Prior art keywords
matrix
parity check
permutation
check matrix
exponent
Prior art date
Application number
KR1020050003732A
Other languages
Korean (ko)
Inventor
경규범
명세호
양경철
양현구
박동식
김재열
박성은
최승훈
주판유
정홍실
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020040105183A external-priority patent/KR20060016059A/en
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to JP2007503846A priority Critical patent/JP4519902B2/en
Priority to AU2005273169A priority patent/AU2005273169B2/en
Priority to EP05009389A priority patent/EP1628401A1/en
Priority to CN2005800268211A priority patent/CN1993917B/en
Priority to PCT/KR2005/001239 priority patent/WO2006019217A1/en
Priority to CA2560852A priority patent/CA2560852C/en
Priority to US11/116,869 priority patent/US7516391B2/en
Priority to KR1020050035721A priority patent/KR100678175B1/en
Publication of KR20060016061A publication Critical patent/KR20060016061A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix

Landscapes

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

Abstract

본 발명은 블록 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호의 패리티 검사 행렬이 정보어에 대응되는 정보 파트와, 패리티에 대응되는 제1패리티 파트 및 제2패리티 파트로 구성되고, 에러 정정 성능을 향상시키기 위한 상기 패리티 검사 행렬을 생성하는 방법에 있어서, 상기 정보어를 상기 블록 LDPC 부호로 부호화시 적용되는 부호화율과, 상기 블록 LDPC 부호의 부호어 길이가 상기 부호화율에서 지원 가능한, 미리 설정된 제1부호어 길이에 대응하도록 제1패리티 검사 행렬의 크기를 결정하는 제1과정과, 상기 결정된 크기의 제1패리티 검사 행렬을 미리 설정된 설정 개수의 블록들로 분할하는 제2과정과, 상기 블록들을 상기 정보 파트에 대응되는 블록들과, 상기 제1패리티 파트에 대응되는 블록들과, 상기 제2패리티 파트에 대응되는 블록들로 분류하는 제3과정과, 상기 제1패리티 파트로 분류된 블록들중 미리 결정된 블록들에 순열 행렬들을 배열하고, 상기 제2패리티 파트로 분류된 블록들중 미리 결정된 블록들에 완전 하삼각 형태로 순열 행렬들을 배열하는 제4과정과, 상기 정보 파트로 분류된 블록들에 상기 블록 LDPC 부호의 팩터 그래프상의 최소 사이클 길이가 미리 설정된 제1사이클 길이가 되고, 웨이트가 불균일하도록 상기 순열 행렬들을 배열하는 제5과정을 포함함을 특징으로 한다.
According to the present invention, a parity check matrix of a block low density parity check (LDPC) code includes an information part corresponding to an information word, a first parity part and a second parity part corresponding to parity, and an error correction performance. A method of generating the parity check matrix for improving the parity check, the code rate applied when the information word is encoded into the block LDPC code and the code word length of the block LDPC code can be supported at the code rate. A first process of determining a size of a first parity check matrix so as to correspond to a length of a first codeword, a second process of dividing the first parity check matrix having the determined size into blocks having a preset number of blocks; The data is divided into blocks corresponding to the information part, blocks corresponding to the first parity part, and blocks corresponding to the second parity part. And permutation matrices in predetermined blocks among the blocks classified as the first parity part, and permutation in the form of a full lower triangle to predetermined blocks among the blocks classified as the second parity part. A fourth process of arranging the matrices, and a step of arranging the permutation matrices such that the minimum cycle length on the factor graph of the block LDPC code becomes a preset first cycle length to blocks classified as the information part, and the weight is non-uniform. It includes five steps.

가변 길이 블록 LDPC 부호, 부호화율, 순열 행렬, 항등 행렬, 최소 사이클Variable-length block LDPC code, code rate, permutation matrix, identity matrix, minimum cycle

Description

가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호 부호화/복호 장치 및 방법{APPARATUS AND METHOD FOR CODING/DECODING BLOCK LOW DENSITY PARITY CHECK CODE WITH VARIABLE BLOCK LENGTH} Apparatus and method for block low density parity check code encoding / decoding having a variable block length {APPARATUS AND METHOD FOR CODING / DECODING BLOCK LOW DENSITY PARITY CHECK CODE WITH VARIABLE BLOCK LENGTH}             

도 1은 일반적인 통신 시스템의 송수신기 구조를 개략적으로 도시한 도면1 is a view schematically showing a transceiver structure of a general communication system

도 2는 일반적인 (8, 2, 4) LDPC 부호의 패리티 검사 행렬을 도시한 도면2 illustrates a parity check matrix of a general (8, 2, 4) LDPC code.

도 3은 도 2의 (8, 2, 4) LDPC 부호의 factor 그래프를 도시한 도면3 is a diagram illustrating a factor graph of the (8, 2, 4) LDPC code of FIG.

도 4는 일반적인 블록 LDPC 부호의 패리티 검사 행렬을 개략적으로 도시한 도면4 schematically illustrates a parity check matrix of a general block LDPC code.

도 5는 도 4의 순열 행렬 P를 도시한 도면FIG. 5 shows a permutation matrix P of FIG. 4.

도 6은 패리티 검사 행렬이 4개의 부분 행렬들로 구성된 블록 LDPC 부호의 사이클 구조를 개략적으로 도시한 도면6 is a diagram schematically illustrating a cycle structure of a block LDPC code in which a parity check matrix is composed of four partial matrices.

도 7은 완전 하삼각 행렬 형태와 유사한 형태를 가지는 패리티 검사 행렬을 도시한 도면7 is a diagram illustrating a parity check matrix having a form similar to that of a full lower triangular matrix.

도 8은 도 7의 패리티 검사 행렬을 6개의 부분 블록들로 분할한 도면FIG. 8 is a diagram of dividing the parity check matrix of FIG. 7 into six partial blocks.

도 9는 도7의 패리티 검사 행렬의 부분 행렬을 도 8의 부분 행렬 B의 전치 행렬과, 부분 행렬 E와, 부분 행렬 T와, 부분 행렬 T의 역행렬로 도시한 도면 FIG. 9 shows the partial matrix of the parity check matrix of FIG. 7 as the transpose matrix of the partial matrix B of FIG. 8, the partial matrix E, the partial matrix T, and the inverse of the partial matrix T;                 

도 10은 본 발명의 실시예에 따른 블록 LDPC 부호의 패리티 검사 행렬 생성 과정을 도시한 순서도10 is a flowchart illustrating a process of generating a parity check matrix of a block LDPC code according to an embodiment of the present invention.

도 11은 본 발명의 제1실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면11 illustrates a parity check matrix of a variable length block LDPC code according to a first embodiment of the present invention.

도 12는 본 발명의 제2실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면12 illustrates a parity check matrix of a variable length block LDPC code according to a second embodiment of the present invention.

도 13은 본 발명의 제3실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면13 illustrates a parity check matrix of a variable length block LDPC code according to a third embodiment of the present invention.

도 14는 본 발명의 제4실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면14 illustrates a parity check matrix of a variable length block LDPC code according to a fourth embodiment of the present invention.

도 15는 본 발명의 제1실시예 내지 제4실시예에 따른 가변 길이 블록 LDPC 부호의 부호화 과정을 도시한 순서도15 is a flowchart illustrating a process of encoding a variable length block LDPC code according to the first to fourth embodiments of the present invention.

도 16은 본 발명의 실시예들에서의 기능을 수행하기 위한 가변 길이 블록 LDPC 부호의 부호화 장치 내부 구조를 도시한 블록도16 is a block diagram showing an internal structure of a coding apparatus of a variable length block LDPC code for performing a function in embodiments of the present invention.

도 17은 본 발명의 실시예들에서의 기능을 수행하는 블록 LDPC 부호의 복호화 장치 내부 구조를 도시한 도면17 is a diagram illustrating an internal structure of a decoding apparatus of a block LDPC code for performing a function in embodiments of the present invention.

도 18은 본 발명의 제5실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면18 illustrates a parity check matrix of a variable length block LDPC code according to a fifth embodiment of the present invention.

도 19는 본 발명의 제6실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면 19 illustrates a parity check matrix of a variable length block LDPC code according to a sixth embodiment of the present invention.                 

도 20은 본 발명의 제7실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면20 illustrates a parity check matrix of a variable length block LDPC code according to a seventh embodiment of the present invention.

도 21은 본 발명의 제8실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면21 illustrates a parity check matrix of a variable length block LDPC code according to an eighth embodiment of the present invention.

도 22는 본 발명의 제9실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면22 illustrates a parity check matrix of a variable length block LDPC code according to a ninth embodiment of the present invention.

도 23은 본 발명의 제10실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면23 is a diagram illustrating a parity check matrix of a variable length block LDPC code according to a tenth embodiment of the present invention.

도 24는 본 발명의 제11실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면24 illustrates a parity check matrix of a variable length block LDPC code according to an eleventh embodiment of the present invention.

도 25는 본 발명의 제12실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면25 illustrates a parity check matrix of a variable length block LDPC code according to a twelfth embodiment of the present invention.

도 26은 본 발명의 제13실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면26 illustrates a parity check matrix of a variable length block LDPC code according to a thirteenth embodiment of the present invention.

도 27은 본 발명의 제14실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면27 illustrates a parity check matrix of a variable length block LDPC code according to a fourteenth embodiment of the present invention.

도 28은 본 발명의 제15실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면
28 illustrates a parity check matrix of a variable length block LDPC code according to a fifteenth embodiment of the present invention.

본 발명은 이동 통신 시스템에 관한 것으로서, 특히 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호를 부호화/복호하는 장치 및 방법에 관한 것이다.The present invention relates to a mobile communication system, and more particularly, to an apparatus and method for encoding / decoding a block low density parity check code having a variable block length.

통신에서 가장 근본적인 문제는 채널(channel)을 통하여 얼마나 효율적이고 신뢰성 있게(reliably) 데이터(data)를 전송할 수 있느냐 하는 것이다. 최근에 활발하게 연구되고 있는 차세대 멀티미디어 이동 통신 시스템에서는 초기의 음성 위주의 서비스를 벗어나 영상, 무선 데이터 등의 다양한 정보를 처리하고 전송할 수 있는 고속 통신 시스템이 요구됨에 따라 시스템에 적절한 채널 부호화 기법을 사용하여 시스템의 효율을 높이는 것이 필수적이다. The most fundamental problem in communication is how efficiently and reliably data can be transmitted over a channel. In the next generation multimedia mobile communication system, which is being actively researched recently, a channel communication technique suitable for the system is used as a high speed communication system capable of processing and transmitting various information such as video and wireless data beyond the initial voice-oriented service is required. It is essential to increase the efficiency of the system.

데이터를 전송할 때 채널의 상황에 따라 잡음, 간섭 그리고 페이딩(fading) 등으로 인한 불가피한 오류가 발생하여 정보의 손실이 생긴다. 일반적으로 이러한 정보의 손실을 감소시키기 위해 채널의 성격에 따라 다양한 오류 제어 기법(error-control technique)을 이용하여 시스템의 신뢰도를 높인다. 이러한 오류 제어 기법 중에 가장 기본적인 방법은 오류 정정 부호(error-correcting code)를 사용하는 것이다.When transmitting data, inevitable errors due to noise, interference, and fading occur depending on the channel conditions, resulting in loss of information. In general, in order to reduce such information loss, various error-control techniques are used according to the characteristics of the channel to increase the reliability of the system. The most basic of these error control techniques is the use of error-correcting codes.

상기 오류 정정 부호 등을 사용하여 부호화 및 복호화하는 통신 시스템의 기본적인 블록 다이아그램(block diagram)을 도 1을 참조하여 설명하기로 한다.A basic block diagram of a communication system for encoding and decoding using the error correction code or the like will be described with reference to FIG. 1.

상기 도 1은 일반적인 통신 시스템의 송수신기 구조를 개략적으로 도시한 도면이다. 1 is a diagram schematically illustrating a transceiver structure of a general communication system.                         

상기 도 1을 참조하면, 먼저 송신기측에서 전송하고자 하는 메시지 u는 채널을 통해 전송되기 전 부호화기(encoder)(101)에 의해 미리 설정되어 있는 부호화 방식으로 부호화된다. 또한, 상기 부호화기(101)에 의해 부호화된 부호화 심볼 c는 변조기(modulator)(103)에서 미리 설정되어 있는 변조 방식에 의해 변조되고, 상기 변조된 신호 s는 채널(105)을 통해 수신기측으로 전송된다.Referring to FIG. 1, first, a message u to be transmitted from a transmitter is encoded by an encoding method preset by an encoder 101 before being transmitted through a channel. In addition, the encoded symbol c encoded by the encoder 101 is modulated by a modulation scheme preset in the modulator 103, and the modulated signal s is transmitted to the receiver through the channel 105. .

상기 수신기측에서 수신된 신호 r은 상기 송신기측에서 전송한 신호 s에 채널 상황에 따라 여러 가지 잡음 등이 섞인 형태의 왜곡된 신호가 된다. 상기 수신 신호 r은 복조기(demodulator)(107)를 통해 상기 송신기측의 변조기(101)에서 적용한 변조 방식에 대응되는 방식으로 복조되고, 상기 복조된 신호 x는 복호화기(decoder)(109)에서 상기 송신기측의 부호화기(101)에서 적용한 부호화 방식에 대응되는 방식으로 복호화된다. 상기 복호화기(109)를 통해 복호화된 신호는

Figure 112005002202285-PAT00001
이며, 상기 송신기측에서 송신한 신호 u를 수신기측에서 오류 없이 복원하기 위하여 보다 성능이 우수한 채널 부호화기 및 복호화기가 요구되고 있다. 특히, 상기 채널이 무선 채널일 경우 채널에 의한 오류는 보다 심각하게 고려되어야 한다. 상기 수신기측의 복호화기(109)는 상기 채널을 통해 수신된 데이터를 통해 송신 메시지의 추정치(estimate)를 알아낸다.The signal r received at the receiver side becomes a distorted signal in which various noises are mixed with the signal s transmitted from the transmitter side according to channel conditions. The received signal r is demodulated in a manner corresponding to the modulation scheme applied by the modulator 101 on the transmitter side through a demodulator 107, and the demodulated signal x is decoded in a decoder 109. The decoding is performed in a manner corresponding to the encoding scheme applied by the encoder 101 on the transmitter side. The signal decoded by the decoder 109 is
Figure 112005002202285-PAT00001
In order to recover the signal u transmitted from the transmitter side without error at the receiver side, a channel encoder and a decoder having better performance are required. In particular, if the channel is a wireless channel, errors due to the channel should be considered more seriously. The decoder 109 on the receiver side finds an estimate of the transmission message through the data received on the channel.

이동 통신 시스템이 급속하게 발전해나감에 따라 무선 네트워크에서 유선 네트워크의 용량(capacity)에 근접하는 대용량 데이터를 전송할 수 있는 기술 개발이 요구되고 있다. 이렇게, 음성 위주의 서비스를 벗어나 영상, 무선 데이터 등의 다 양한 정보를 처리하고 전송할 수 있는 고속 대용량 통신 시스템이 요구됨에 따라 적정한 채널 부호화(channel coding) 방식을 사용하여 시스템 전송 효율을 높이는 것이 시스템 성능 향상에 필수적인 요소로 작용하게 된다. 그러나, 이동 통신 시스템은 이동 통신 시스템의 특성상 데이터를 전송할 때 채널의 상황에 따라 잡음(noise)과, 간섭(interference) 및 페이딩(fading) 등으로 인해 불가피하게 오류(error)가 발생하고, 따라서 상기 오류 발생으로 인한 정보 데이터의 손실이 발생한다. With the rapid development of mobile communication systems, there is a demand for developing a technology capable of transmitting a large amount of data approaching the capacity of a wired network in a wireless network. As a high-speed mass communication system capable of processing and transmitting a variety of information such as video and wireless data beyond voice-oriented services is required, improving system transmission efficiency by using an appropriate channel coding method is required. It becomes an essential element for improvement. However, due to the characteristics of the mobile communication system, the mobile communication system inevitably generates an error due to noise, interference, fading, etc. according to channel conditions when transmitting data. Loss of information data due to error occurs.

이러한 오류 발생으로 인한 정보 데이터 손실을 감소시키기 위해서 채널의 성격에 따라 다양한 오류 제어 기술(error-control technique)들을 사용함으로써 상기 이동 통신 시스템의 신뢰도를 향상시킬 수 있다. 상기 오류 제어 기술들 중에서 가장 보편적으로 사용되고 있는 오류 제어 기술은 오류 정정 부호(error-correcting code)를 사용하는 기술이다. 상기 오류 정정 부호의 대표적인 부호들로는 터보 부호(turbo code)와, 저밀도 패리티 검사(LDPC: Low Density Parity Check, 이하 'LDPC'라 칭하기로 한다) 부호 등이 있다.In order to reduce information data loss due to such an error, the reliability of the mobile communication system can be improved by using various error-control techniques according to the characteristics of the channel. The most commonly used error control technique among the error control techniques is a technique using an error-correcting code. Representative codes of the error correction code include a turbo code, a low density parity check (LDPC) code, and the like.

상기 터보 부호는 종래 오류 정정을 위해 주로 사용되던 컨벌루셔널 부호(convolutional code)에 비하여 고속 데이터 전송시에 성능 이득이 우수한 것으로 알려져 있으며, 전송 채널에서 발생하는 잡음에 의한 오류를 효과적으로 정정하여 데이터 전송의 신뢰도를 높일 수 있다는 장점을 가진다. 또한, 상기 LDPC 부호는 팩터(factor, 이하 'factor'라 칭하기로 한다) 그래프 상에서 합곱(sum-product) 알고리즘(algorithm)에 기반한 반복 복호화(iterative decoding) 알고리즘을 사용 하여 복호화할 수 있다. 상기 합곱 알고리즘에 기반한 반복 복호화 알고리즘을 사용하는 복호화 방법을 사용함으로써 상기 LDPC 부호의 복호화기(decoder)는 상기 터보 부호의 복호화기에 비해 낮은 복잡도를 가질 뿐만 아니라 병렬 처리 복호화기를 구현함에 있어 용이하게 된다.The turbo code is known to have a superior performance gain in high-speed data transmission, compared to a convolutional code used mainly for error correction. The turbo code effectively corrects errors due to noise generated in a transmission channel and transmits data. It has the advantage of increasing the reliability of. In addition, the LDPC code may be decoded using an iterative decoding algorithm based on a sum-product algorithm on a factor (hereinafter, referred to as a 'factor') graph. By using a decoding method using an iterative decoding algorithm based on the sum product algorithm, the decoder of the LDPC code not only has a lower complexity than the decoder of the turbo code but also facilitates the implementation of a parallel processing decoder.

한편, Shannon의 채널 부호화 이론(channel coding theorem)은 채널의 용량을 초과하지 않는 데이터 레이트(data rate)에 한해 신뢰성 있는 통신이 가능하다고 밝히고 있다. 하지만 Shannon의 채널 부호화 이론에서는 채널의 용량 한계까지 사용할 수 있는 채널 부호화 및 복호화에 대한 구체적인 방법 제시는 전혀 없었다. 블록(block) 크기가 굉장히 큰 랜덤(random) 부호는 Shannon의 채널 부호화 이론에서 채널 용량 한계에 근접하는 성능을 보이지만, MAP(maximum a posteriori) 또는 ML(maximum likelihood) 복호화를 적용할 경우 계산량에 있어 굉장한 로드(load)가 존재하여 실제 구현이 불가능하였다.Shannon's channel coding theorem, on the other hand, says that reliable communication is possible only at data rates that do not exceed the capacity of the channel. In Shannon's channel coding theory, however, there was no specific method for channel coding and decoding that could use the channel's capacity limit. Random codes with very large block sizes show performance close to the channel capacity limit in Shannon's channel coding theory, but in terms of computation when applying maximum a posteriori (MLAP) or maximum likelihood (ML) decoding There was a huge load that was not possible.

상기 터보 부호는 1993년 Berrou와 Glavieux, Thitimajshima에 의해 제안되었으며, 상기 Shannon의 채널 부호화 이론의 채널 용량 한계에 근접하는 우수한 성능을 가지고 있다. 상기 터보 부호의 제안으로 인해 부호의 반복 복호화와 그래프 표현에 대한 연구가 활발하게 진행되었으며, 이 시점에서 Gallager가 1962년 제안한바 있는 LDPC 부호가 재발견되었다. 또한, 상기 터보 부호와 LDPC 부호의 factor 그래프상에는 사이클(cycle)이 존재하는데, 사이클이 존재하는 상기 LDPC 부호의 factor 그래프 상에서의 반복 복호화는 준최적(suboptimal)이라는 것은 이미 잘 알려져 있는 사실이며, 상기 LDPC 부호는 반복 복호화를 통해 우수한 성능을 가진다 는 것 역시 실험적으로 입증된 바 있다. 지금까지 알려진 최고의 성능을 가지는 LDPC 부호는 블록 크기

Figure 112005002202285-PAT00002
을 사용하여 비트 에러 레이트(BER: Bit Error Rate)
Figure 112005002202285-PAT00003
에서 Shannon의 채널 부호화의 채널 용량 한계에서 단지 0.04[dB] 정도의 차이를 가지는 성능을 나타낸다. 또한,
Figure 112005002202285-PAT00004
인 갈로아 필드(Galois Field, 이하 'GF'라 칭하기로 한다), 즉 GF(q)에서 정의된 LDPC 부호는 복호화에 있어서 복잡도가 증가하긴 하지만 이진(binary) 부호에 비해 훨씬 더 우수한 성능을 보인다. 그러나, 아직 반복 복호화 알고리즘의 성공적인 복호화에 대한 만족스런 이론적인 설명이 이루어지지 않고 있다.The turbo code was proposed in 1993 by Berrou, Glavieux, and Thitimajshima, and has an excellent performance approaching the channel capacity limit of Shannon's channel coding theory. Due to the proposal of the turbo code, studies on iterative decoding and graph representation of the code have been actively conducted. At this point, the LDPC code proposed by Gallager in 1962 was rediscovered. In addition, a cycle exists on the factor graph of the turbo code and the LDPC code, and it is well known that iterative decoding on the factor graph of the LDPC code in which the cycle exists is suboptimal. LDPC code has also been experimentally proven to have excellent performance through iterative decoding. The best performing LDPC code known to date is block size
Figure 112005002202285-PAT00002
Bit Error Rate (BER)
Figure 112005002202285-PAT00003
Shows the performance of only 0.04 [dB] difference in channel capacity limit of Shannon's channel coding. Also,
Figure 112005002202285-PAT00004
LDPC codes defined in Galois Fields (hereinafter referred to as'GF's), ie, GF ( q ), perform much better than binary codes, although they increase complexity in decoding. . However, a satisfactory theoretical explanation for successful decoding of an iterative decoding algorithm has not been made yet.

또한, 상기 LDPC 부호는 Gallager에 의해 제안된 부호이며, 대부분의 엘리먼트들이 0의 값을 가지며, 상기 0의 값을 가지는 엘리먼트들 이외의 극히 소수의 엘리먼트들이 1의 값을 가지는 패리티 검사 행렬(parity check matrix)에 의해 정의된다. 일 예로, (N, j, k) LDPC 부호는 블록(block) 크기가 N인 선형 블록 부호(linear block code)로, 각 열(column)마다 j개의 1의 값을 가지는 엘리먼트들과, 각 행(row)마다 k개의 1의 값을 가지는 엘리먼트들을 가지고, 상기 1의 값을 가지는 엘리먼트들을 제외한 엘리먼트들은 모두 0의 값을 가지는 엘리먼트들로 구성된 성긴(sparse, 이하 'sparse'라 칭하기로 한다) 구조의 패리티 검사 행렬에 의해 정의된다. In addition, the LDPC code is a code proposed by Gallager, and a parity check matrix in which most elements have a value of 0, and very few elements other than the elements having the value of 0 have a value of 1. matrix). For example, the (N, j, k) LDPC code is a linear block code having a block size of N. Each element has j values of 1 and each row. A sparse structure consisting of elements having k values of 1 per (row), and all elements except 0 having values of 1 are elements having a value of 0. It is defined by the parity check matrix of.

상기에서 설명한 바와 같이 상기 패리티 검사 행렬내 각 열의 웨이트가 j개 로 일정하며, 상기 패리티 검사 행렬내 각 행의 웨이트가 k개로 일정한 LDPC 부호를 균일(regular) LDPC 부호라고 칭한다. 이와는 달리, 상기 패리티 검사 행렬내 각 열의 웨이트와 각 행의 웨이트가 일정하지 않은 LDPC 부호를 불균일(irregular) LDPC 부호라고 칭한다. 일반적으로, 상기 균일 LDPC 부호의 성능에 비해서 상기 불균일 LDPC 부호의 성능이 더 우수하다고 알려져있다. 그러나, 상기 불균일 LDPC 부호의 경우 패리티 검사 행렬내 각 열의 웨이트와 각 행의 웨이트가 일정하지 않기 때문에 패리티 검사 행렬내 각 열의 웨이트와 각 행의 웨이트를 적절하게 조절해야지만 우수한 성능을 보장받을 수 있다.As described above, an LDPC code having a constant weight of j in each parity check matrix and having a constant weight of k in the parity check matrix is called a regular LDPC code. In contrast, an LDPC code in which the weight of each column and the weight of each row in the parity check matrix is not constant is called an irregular LDPC code. In general, it is known that the performance of the non-uniform LDPC code is superior to that of the uniform LDPC code. However, in the case of the non-uniform LDPC code, since the weight of each column and the weight of each row in the parity check matrix are not constant, the weight of each column and the weight of each row in the parity check matrix must be properly adjusted to ensure excellent performance. .

그러면 여기서 도 2를 참조하여 (N, j, k) LDPC 부호, 일 예로 (8, 2, 4) LDPC 부호의 패리티 검사 행렬을 설명하기로 한다.Next, the parity check matrix of the (N, j, k) LDPC code, for example, the (8, 2, 4) LDPC code, will be described with reference to FIG. 2.

도 2는 일반적인 (8, 2, 4) LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.2 is a diagram illustrating a parity check matrix of a general (8, 2, 4) LDPC code.

상기 도 2을 참조하면, 먼저 상기 (8, 2, 4) LDPC 부호의 패리티 검사 행렬 H는 8개의 열들과 4개의 행들로 구성되어 있으며, 각 열의 웨이트는 2로 균일하며, 각 행의 웨이트는 4로 균일하다. 이렇게, 상기 패리티 검사 행렬내 각 열의 웨이트는 각 행의 웨이트와 균일하므로 상기 도 2에 도시되어 있는 상기 (8, 2, 4) LDPC 부호는 균일 LDPC 부호가 되는 것이다.Referring to FIG. 2, first, the parity check matrix H of the (8, 2, 4) LDPC code is composed of eight columns and four rows, and the weight of each column is equal to two, and the weight of each row is Uniform to 4 Thus, since the weight of each column in the parity check matrix is uniform with the weight of each row, the (8, 2, 4) LDPC code shown in FIG. 2 becomes a uniform LDPC code.

상기 도 2에서는 (8, 2, 4) LDPC 부호의 패리티 검사 행렬에 대해서 설명하였으며, 다음으로 도 3을 참조하여 상기 도 2에서 설명한 (8, 2, 4) LDPC 부호의 factor 그래프를 설명하기로 한다. In FIG. 2, the parity check matrix of the (8, 2, 4) LDPC code has been described. Next, a factor graph of the (8, 2, 4) LDPC code described with reference to FIG. 2 will be described with reference to FIG. 3. do.                         

상기 도 3은 도 2의 (8, 2, 4) LDPC 부호의 factor 그래프를 도시한 도면이다.3 is a diagram illustrating a factor graph of the (8, 2, 4) LDPC code of FIG.

상기 도 3을 참조하면, 상기 (8, 2, 4) LDPC 부호의 factor 그래프는 8개의 변수 노드(variable node)들, 즉 x1(211)과, x2(213)과, x3(215)과, x4(217)과, x5(219)과, x6(221)과, x7(223)과, x8(225)와, 4개의 검사 노드(check node)들(227,229,231,233)로 구성된다. 상기 (8, 2, 4) LDPC 부호의 패리티 검사 행렬의 i번째 열과 j번째 행이 교차하는 지점에 웨이트, 즉 1의 값을 가지는 엘리먼트가 존재할 경우 변수 노드 xi와 j번째 검사 노드 사이에 브랜치(branch)가 생성된다.Referring to FIG. 3, the factor graph of the (8, 2, 4) LDPC code includes eight variable nodes, that is, x1 (211), x2 (213), x3 (215), It consists of x4 217, x5 219, x6 221, x7 223, x8 225, and four check nodes 227, 229, 231, 233. If there is an element having a weight, that is, a value of 1 at the point where the i th column and the j th row of the parity check matrix of the (8, 2, 4) LDPC code intersect, a branch between the variable node xi and the j th check node ( branch is created.

상기에서 설명한 바와 같이 LDPC 부호의 패리티 검사 행렬은 매우 적은 값의 웨이트를 가지기 때문에, 비교적 긴 크기를 가지는 블록 부호(block code)에서도 반복 복호화를 통해 복호화가 가능하며, 블록 부호의 블록 크기를 계속 증가시켜가면 터보 부호와 같이 Shannon의 채널 용량 한계에 근접하는 형태의 성능을 나타낸다. 또한, MacKay와 Neal은 흐름 전달 방식을 사용하는 LDPC 부호의 반복 복호화 과정이 터보 부호의 반복 복호화 과정에 거의 근접하는 성능을 가진다는 것을 이미 증명한 바가 있다.As described above, since the parity check matrix of the LDPC code has a very small weight, it can be decoded through iterative decoding even in a block code having a relatively long size, and the block size of the block code continues to increase. As shown in the figure, the performance is in the form of a turbo code approaching Shannon's channel capacity limit. In addition, MacKay and Neal have already demonstrated that the iterative decoding process of the LDPC code using the flow transfer method has a performance almost close to the iterative decoding process of the turbo code.

한편, 성능이 좋은 LDPC 부호를 생성하기 위해서는 몇 가지 조건들을 만족시켜야만 하는데, 상기 조건들을 설명하면 다음과 같다.Meanwhile, in order to generate a high performance LDPC code, several conditions must be satisfied. The above conditions are described below.

(1) LDPC 부호의 factor 그래프상의 사이클을 고려해야만 한다.(1) The cycle on the factor graph of the LDPC code must be considered.

상기 사이클이란 LDPC 부호의 factor 그래프에서 변수 노드와 검사 노드를 연결하는 에지(edge)가 구성하는 루프(loop)를 나타내는데, 상기 사이클의 길이는 상기 루프를 구성하는 에지들의 개수로 정의된다. 상기 사이클의 길이가 길다는 것은 상기 LDPC 부호의 factor 그래프에서 루프를 구성하는 변수 노드들과 검사 노드들을 연결하는 에지들의 개수가 많다는 것을 나타내며, 이와는 반대로 상기 사이클의 길이가 짧다는 것은 상기 LDPC 부호의 factor 그래프에서 루프를 구성하는 변수 노드들과 검사 노드들을 연결하는 에지들의 개수가 적다는 것을 나타낸다.The cycle represents a loop formed by an edge connecting a variable node and a check node in a factor graph of an LDPC code, and the length of the cycle is defined as the number of edges constituting the loop. The long length of the cycle indicates that the number of edges connecting the variable nodes and the check nodes constituting the loop in the factor graph of the LDPC code is large. On the contrary, the short length of the cycle means that The factor graph indicates that the number of edges connecting the variable nodes and the check nodes constituting the loop is small.

상기 LDPC 부호의 factor 그래프상의 사이클을 길게 생성할 수록 상기 LDPC 부호의 성능이 좋아지게 되는데 그 이유는 다음과 같다. 상기 LDPC 부호의 factor 그래프상의 사이클을 길게 생성할 경우, 상기 LDPC 부호의 factor 그래프상에 짧은 길이의 사이클이 많이 존재할 때 발생하는 오류 마루(error floor)등의 성능 열화가 발생하지 않기 때문이다. The longer the cycle on the factor graph of the LDPC code is generated, the better the performance of the LDPC code is. This is because when a long cycle on the factor graph of the LDPC code is generated long, performance degradation such as an error floor generated when there are many short length cycles on the factor graph of the LDPC code does not occur.

(2) LDPC 부호의 효율적인 부호화를 고려해야만 한다.(2) Consideration should be given to efficient coding of LDPC codes.

상기 LDPC 부호는 상기 LDPC 부호의 특성상 컨벌루셔널 부호나 터보 부호에 비해 부호화 복잡도가 높아 실시간 부호화가 난이하다. 상기 LDPC 부호의 부호화 복잡도를 줄이기 위해서 반복 축적 부호(RA(Repeat Accumulate) code) 등이 제안되었으나, 상기 반복 축적 부호 역시 상기 LDPC 부호의 부호화 복잡도를 낮추는데 있어서는 한계를 나타내고 있다. 따라서, LDPC 부호의 효율적인 부호화를 고려해야만 한다. The LDPC code has a higher coding complexity than a convolutional code or a turbo code due to the characteristics of the LDPC code. In order to reduce the coding complexity of the LDPC code, a repeat accumulate code (RA) code or the like has been proposed, but the repeated accumulator code also has a limitation in reducing the coding complexity of the LDPC code. Therefore, efficient coding of LDPC codes must be considered.

(3) LDPC 부호의 factor 그래프상의 차수 분포를 고려해야만 한다.(3) The order distribution on the factor graph of the LDPC code should be considered.

일반적으로, 균일 LDPC 부호보다 불균일 LDPC 부호가 성능이 우수한데 그 이유는 상기 불균일 LDPC 부호의 factor 그래프상의 차수(degree)가 다양한 차수를 가지기 때문이다. 여기서, 상기 차수란 상기 LDPC 부호의 factor 그래프상에서 각 노드들, 즉 변수 노드들과 검사 노드들에 연결되어 있는 에지의 개수를 나타낸다. 또한, LDPC 부호의 factor 그래프상의 차수 분포란 특정 차수를 갖는 노드들이 전체 노드들 중 얼마만큼 존재하는지를 나타내는 것이다. 특정한 차수 분포를 가지는 LDPC 부호의 성능이 우수하다는 것은 Richardson 등이 이미 증명한 바가 있다. In general, a non-uniform LDPC code performs better than a uniform LDPC code because the degree on the factor graph of the non-uniform LDPC code has various orders. Here, the order represents the number of edges connected to each node, that is, variable nodes and check nodes, on the factor graph of the LDPC code. In addition, the order distribution on the factor graph of the LDPC code indicates how many nodes among the nodes have a particular order. Richardson et al. Have already demonstrated that the performance of LDPC codes with a particular order distribution is superior.

다음으로 도 4를 참조하여 블록 LDPC 부호의 패리티 검사 행렬에 대해서 설명하기로 한다.Next, a parity check matrix of a block LDPC code will be described with reference to FIG. 4.

상기 도 4는 일반적인 블록 LDPC 부호의 패리티 검사 행렬을 개략적으로 도시한 도면이다.4 is a diagram schematically illustrating a parity check matrix of a general block LDPC code.

상기 도 4를 설명하기에 앞서, 먼저 상기 블록 LDPC 부호는 효율적인 부호화뿐만 아니라 효율적인 패리티 검사 행렬의 저장 및 성능 개선을 모두 고려한 새로운 LDPC 부호로서, 상기 블록 LDPC 부호는 균일 LDPC 부호의 구조를 일반화시켜 확장한 개념의 LDPC 부호이다. 상기 도 4를 참조하면, 상기 블록 LDPC 부호의 패리티 검사 행렬은 전체 패리티 검사 행렬을 다수의 부분 블록(partial block)들로 분할하고, 상기 부분 블록들 각각에 순열 행렬(permutation matrix)을 대응시키는 형태를 가진다. 상기 도 4에 도시되어 있는 P는

Figure 112005002202285-PAT00005
크기를 가지는 순열 행렬을 나타내며, 상기 순열 행렬 P의 위첨자 aij
Figure 112005002202285-PAT00006
혹은 aij = ∞를 가진다. 또한, 상기 i는 해당 순열 행렬이 상기 패리티 검사 행렬의 다수의 부분 블록들중 i번째 행에 위치함을 나타내며, j는 해당 순열 행렬이 상기 패리티 검사 행렬의 다수의 부분 블록들중 j번째 열에 위치함을 나타낸다. 즉,
Figure 112005002202285-PAT00007
는 상기 다수의 부분 블록들로 구성된 패리티 검사 행렬의 i번째 행과 j번째 열이 교차하는 지점의 부분 블록에 존재하는 순열 행렬을 나타낸다.Before explaining FIG. 4, first, the block LDPC code is a new LDPC code considering not only efficient coding but also efficient storage and performance improvement of the parity check matrix. The block LDPC code is extended by generalizing a structure of a uniform LDPC code. One concept is the LDPC code. Referring to FIG. 4, the parity check matrix of the block LDPC code divides an entire parity check matrix into a plurality of partial blocks and associates a permutation matrix to each of the partial blocks. Has P shown in FIG. 4 is
Figure 112005002202285-PAT00005
Represents a permutation matrix having a magnitude, and the superscript a ij of the permutation matrix P is
Figure 112005002202285-PAT00006
Or a ij = ∞. In addition, i indicates that the permutation matrix is located in the i th row of the plurality of partial blocks of the parity check matrix, j is the permutation matrix located in the j th column of the plurality of partial blocks of the parity check matrix. It is displayed. In other words,
Figure 112005002202285-PAT00007
Denotes a permutation matrix present in the partial block of the point where the i-th row and the j-th column of the parity check matrix composed of the plurality of partial blocks intersect.

그러면 여기서 도 5를 참조하여 상기 순열 행렬에 대해서 설명하기로 한다.Next, the permutation matrix will be described with reference to FIG. 5.

상기 도 5는 도 4의 순열 행렬 P를 도시한 도면이다.FIG. 5 is a diagram illustrating a permutation matrix P of FIG. 4.

상기 도 5에 도시되어 있는 바와 같이 상기 순열 행렬 P는

Figure 112005002202285-PAT00008
크기를 가지는 정사각 행렬로서, 상기 순열 행렬 P는 상기 순열 행렬 P를 구성하는 Ns개의 행들 각각의 웨이트가 1이고, 상기 순열 행렬 P를 구성하는 Ns개의 행들 각각의 웨이트 역시 1인 행렬을 나타낸다.As shown in FIG. 5, the permutation matrix P is
Figure 112005002202285-PAT00008
As a square matrix having a size, and a permutation matrix P is a permutation and matrix P with a weight of each of N s of rows constituting a is 1, N s of rows, each of the weights is also one of the matrix constituting the permutation matrix P .

한편, 상기 도 4에서 상기 순열 행렬의 위첨자 aij가 0일 때, 즉 순열 행렬 P0는 항등 행렬

Figure 112005002202285-PAT00009
를 나타내며, 상기 순열 행렬 P의 위첨자 aij가 ∞일 때, 즉 순열 행렬 P는 영(zero) 행렬 나타낸다.Meanwhile, in FIG. 4, when the superscript a ij of the permutation matrix is 0, that is, the permutation matrix P 0 is an identity matrix.
Figure 112005002202285-PAT00009
When the superscript a ij of the permutation matrix P is ∞, that is, the permutation matrix P represents a zero matrix.

상기 도 4에서 상기 블록 LDPC 부호의 전체 패리티 검사 행렬은 전체 행의 개수가

Figure 112005002202285-PAT00010
이고, 전체 열의 개수가
Figure 112005002202285-PAT00011
이므로 (단,
Figure 112005002202285-PAT00012
), 상기 블록 LDPC 부호의 전체 패리티 검사 행렬이 최대 랭크(full rank)를 가지는 경우 상기 부분 블록들의 크기에 상관없이 부호화율(coding rate)은 하기 수학식 1과 같이 나타낼 수 있다.In FIG. 4, the total parity check matrix of the block LDPC code has the total number of rows.
Figure 112005002202285-PAT00010
, The total number of columns
Figure 112005002202285-PAT00011
(But,
Figure 112005002202285-PAT00012
In the case where the full parity check matrix of the block LDPC code has a maximum rank, a coding rate may be expressed by Equation 1 regardless of the size of the partial blocks.

Figure 112005002202285-PAT00013
Figure 112005002202285-PAT00013

한편, 모든 i, j에 대해서

Figure 112005002202285-PAT00014
일 경우, 상기 부분 블록들 각각에 대응하는 순열 행렬들 각각은 영 행렬이 아님을 나타내며, 부분 블록들 각각에 대응하는 순열 행렬들 각각의 각 열의 웨이트는 p, 각 행의 웨이트는 q인 균일 LDPC 부호가 된다. 여기서, 상기 부분 블록들에 대응하는 순열 행렬을 '부분 행렬'이라 칭하기로 한다. On the other hand, for all i and j
Figure 112005002202285-PAT00014
In this case, each of the permutation matrices corresponding to each of the partial blocks is not a zero matrix, and the weight of each column of each of the permutation matrices corresponding to each of the partial blocks is p and the weight of each row is q. Sign. Here, the permutation matrix corresponding to the partial blocks will be referred to as a 'partial matrix'.

또한, 상기 전체 패리티 검사 행렬은 p-1개의 종속적인(dependent) 행들이 존재하므로 부호화율은 상기 수학식 1에서 계산한 부호화율보다 큰 값을 가진다. 상기 블록 LDPC 부호는 전체 패리티 검사 행렬을 구성하는 부분 행렬들 각각의 첫번째 행의 웨이트 위치가 결정되면, 나머지 Ns-1개 행들의 웨이트 위치가 결정되므로, 상기 전체 패리티 검사 행렬의 정보를 저장하기 위해서 불규칙하게 웨이트를 선택하는 경우에 비해서는 필요로 되는 메모리의 크기가 1/Ns로 줄어든다.In addition, since the p-1 dependent rows exist in the entire parity check matrix, a coding rate has a larger value than the coding rate calculated in Equation (1). In the block LDPC code, when the weight position of the first row of each of the partial matrices constituting the entire parity check matrix is determined, the weight position of the remaining N s -1 rows is determined, thereby storing information of the entire parity check matrix. In order to reduce the size of the memory, the amount of memory required is reduced to 1 / N s .

한편, 상기에서 설명한 바와 같이 LDPC 부호의 factor 그래프상의 사이클이란 패리티 검사 행렬의 LDPC 부호의 factor 그래프에서 변수 노드와 검사 노드를 연결하는 에지가 구성하는 루프를 나타내는데, 상기 사이클의 길이는 상기 루프를 구성하는 에지들의 개수로 정의된다. 상기 사이클의 길이가 길다는 것은 상기 LDPC 부호의 factor 그래프에서 루프를 구성하는 변수 노드와 검사 노드를 연결하는 에지들의 개수가 많다는 것을 나타낸다. 상기 LDPC 부호의 factor 그래프상의 사이클의 길이를 길게 생성할수록 상기 LDPC 부호의 성능이 좋아지게 된다. 이와는 반대로, 상기 LDPC 부호의 factor 그래프상에 길이가 짧은 사이클이 많이 존재할 수록 상기 LDPC 부호는 오류 마루등의 성능 열화가 나타나기 때문에 오류 정정 능력이 저하된다. 즉, 상기 LDPC 부호의 factor 그래프상에 길이가 짧은 사이클이 많이 존재할 경우 상기 길이가 짧은 사이클에 속해있는 임의의 한 노드에서 출발한 자신의 정보가 적은 반복 회수 후에 다시 자신에게 돌아오게 되고, 상기 반복 회수가 증가할수록 그 정보가 계속해서 자신에게 돌아오게 되므로 정보 업데이트(update)가 잘 이루어지지 않아 결국 오류 정정 능력이 저하되는 것이다.On the other hand, as described above, the cycle on the factor graph of the LDPC code indicates a loop formed by the edge connecting the variable node and the check node in the factor graph of the LDPC code of the parity check matrix, and the length of the cycle constitutes the loop. It is defined as the number of edges. The long length of the cycle indicates that the number of edges connecting the variable node and the check node constituting the loop in the factor graph of the LDPC code is large. The longer the length of the cycle on the factor graph of the LDPC code is, the better the performance of the LDPC code is. On the contrary, the more short cycles exist on the factor graph of the LDPC code, the lower the error correction capability of the LDPC code is. That is, when there are many cycles of short length on the factor graph of the LDPC code, the information returned from one node belonging to the short cycle is returned to itself again after a small number of iterations. As the number of times increases, the information keeps coming back to the user, so the information is not updated well, and thus the error correction ability is degraded.

그러면 여기서 도 6을 참조하여 블록(block) LDPC 부호의 사이클 구조 특성을 설명하기로 한다.Next, a cycle structure characteristic of a block LDPC code will be described with reference to FIG. 6.

상기 도 6은 패리티 검사 행렬이 4개의 부분 행렬들로 구성된 블록 LDPC 부호의 사이클 구조를 개략적으로 도시한 도면이다.6 is a diagram schematically illustrating a cycle structure of a block LDPC code in which a parity check matrix is composed of four partial matrices.

상기 도 6을 설명하기에 앞서, 상기 블록 LDPC 부호는 효율적인 부호화뿐만 아니라 효율적인 패리티 검사 행렬의 저장 및 성능 개선을 모두 고려한 LDPC 부호로서, 균일 LDPC 부호의 구조를 일반화시켜 확장한 개념의 LDPC 부호이다. 상기 도 6에 도시되어 있는 블록 LDPC 부호의 패리티 검사 행렬은 4개의 블록들로 구성되 며, 사선은 1의 값을 가지는 엘리먼트들이 존재하는 위치를 나타내며, 상기 사선 부분 이외의 부분들은 모두 0의 값을 가지는 엘리먼트들이 존재하는 위치를 나타낸다. 또한, P는 상기 도 5에서 설명한 바와 같은 순열 행렬과 동일한 순열 행렬을 나타낸다.Before describing FIG. 6, the block LDPC code is an LDPC code considering not only efficient encoding but also efficient storage and performance improvement of a parity check matrix. The block LDPC code is an LDPC code having a generalized and extended structure of a uniform LDPC code. The parity check matrix of the block LDPC code illustrated in FIG. 6 is composed of four blocks, and an oblique line indicates a position where elements having a value of 1 exist, and all parts other than the oblique line part have a value of 0. Indicates the location of elements with. In addition, P represents the same permutation matrix as the permutation matrix described with reference to FIG. 5.

상기 도 6에 도시한 블록 LDPC 부호의 사이클 구조를 분석하기 위해서 부분 행렬 Pa의 i번째 행에 위치하는 1의 값을 가지는 엘리먼트를 기준으로 정하고, 상기 i번째 행에 위치하는 1의 값을 가지는 엘리먼트를 '0-점'이라 칭하기로 한다. 여기서, 상기 부분 행렬은 상기 부분 블록에 대응되는 행렬을 나타낸다. 그러면, 상기 0-점은 상기 부분 행렬 Pa의 i + a번째 열에 위치하게 된다.In order to analyze the cycle structure of the block LDPC code illustrated in FIG. 6, the element having a value of 1 located in the i th row of the partial matrix P a is determined based on the element, and has a value of 1 located in the i th row. The element will be referred to as '0-point'. Here, the partial matrix represents a matrix corresponding to the partial block. Then, the 0-point is located in the i + a th column of the partial matrix P a .

상기 0-점과 동일한 행에 위치한 부분 행렬 Pb에서의 1의 값을 가지는 엘리먼트를 '1-점'이라 칭하기로 한다. 상기 0-점과 마찬가지 이유로 상기 1-점은 부분 행렬 Pb의 i + b번째 열에 위치하게 된다.An element having a value of 1 in the partial matrix P b located in the same row as the zero point is referred to as a '1-point'. For the same reason as the zero point, the one-point is located in the i + b th column of the partial matrix P b .

다음으로 상기 1-점과 동일한 열에 위치한 부분 행렬 Pc에서의 1의 값을 가지는 엘리먼트를 '2-점'이라 칭하기로 한다. 상기 부분 행렬 Pc가 항등 행렬 I의 열들 각각을 오른쪽으로 모듈로(modulo) Ns에 대해서 c만큼 이동하여 획득한 행렬이기 때문에 2-점은 상기 부분 행렬 Pc의 i + b - c번째 행에 위치하게 된다. Next, an element having a value of 1 in the partial matrix P c positioned in the same column as the 1-point will be referred to as a '2-point'. Since the partial matrix P c is a matrix obtained by shifting each column of the identity matrix I to the right by modulo N s , a 2-point is i + b-c-th row of the partial matrix P c . It is located at.

또한, 상기 2-점과 같은 행에 위치한 부분 행렬 Pd에서의 1의 값을 가지는 엘리먼트를 '3-점'이라 칭하기로 한다. 상기 3-점은 상기 부분 행렬 Pd에서의 i + b - c + d번째 열에 위치하게 된다. In addition, an element having a value of 1 in the partial matrix P d positioned in the same row as the 2-point will be referred to as a '3-point'. The 3-point is located in the i + b-c + d-th column of the partial matrix P d .

마지막으로, 상기 3-점과 동일한 열에 위치한 부분 행렬 Pa에서의 1의 값을 가지는 엘리먼트를 '4-점'이라 칭하기로 한다. 상기 4-점은 상기 부분 행렬 Pa에서의 i + b - c + d - a번째 행에 위치하게 된다. Finally, an element having a value of 1 in the partial matrix P a located in the same column as the 3-point will be referred to as a '4-point'. The 4-point is located at the i + b-c + d-a th row in the partial matrix P a .

상기 도 6에 도시한 LDPC 부호의 사이클 구조에서 길이가 4인 사이클이 존재한다면 상기 0-점과 4-점은 서로 동일한 위치가 된다. 즉, 상기 0-점과 4-점간에는 하기 수학식 2와 같은 관계가 성립하게 된다.In the cycle structure of the LDPC code shown in FIG. 6, if there is a cycle of length 4, the 0-point and 4-point are the same positions. That is, the relationship shown in Equation 2 is established between the 0-point and the 4-point.

Figure 112005002202285-PAT00015
Figure 112005002202285-PAT00015

그리고, 상기 수학식 2를 다시 정리하면 하기 수학식 3과 같이 표현할 수 있다.And, rearranging Equation 2 can be expressed as Equation 3 below.

Figure 112005002202285-PAT00016
Figure 112005002202285-PAT00016

결과적으로, 상기 수학식 3과 같은 관계가 성립할 때, 길이가 4인 사이클이 생성되는 것이다. 일반적으로, 0-점과 4p-점이 최초로 동일하게 되는 경우는

Figure 112005002202285-PAT00017
의 관계가 성립하게 되고, 하기 수학식 4와 같은 관계가 성립하게 된다.As a result, when the relationship as in Equation 3 is established, a cycle of length 4 is generated. In general, when the 0-point and the 4p-point become equal for the first time,
Figure 112005002202285-PAT00017
Relationship is established, and the following equation (4) is established.

Figure 112005002202285-PAT00018
Figure 112005002202285-PAT00018

다시 설명하면, 주어진 a, b, c, d에 대해 상기 수학식 4를 만족하는 양의 정수들중에서 최소값을 가지는 양의 정수를 p이라고 하면, 상기 도 6에 도시한 바와 같은 블록 LDPC 부호의 사이클 구조에서는 길이가 4p인 사이클이 최소 길이를 가지는 사이클이 되는 것이다.In other words, assuming that p is a positive integer having a minimum value among positive integers satisfying Equation 4 for a, b, c, and d, the cycle of the block LDPC code as shown in FIG. In the structure, a cycle of length 4p is the cycle having the minimum length.

결과적으로, 상기에서 설명한 바와 같이

Figure 112005002202285-PAT00019
인 경우
Figure 112005002202285-PAT00020
이 성립하면, p = Ns가 되고, 따라서 길이가 4Ns인 사이클이 최소 길이를 가지는 사이클이 되는 것이다.As a result, as described above
Figure 112005002202285-PAT00019
If
Figure 112005002202285-PAT00020
If this holds, p = N s , and thus, a cycle having a length of 4N s becomes a cycle having a minimum length.

한편, 상기 블록 LDPC 부호의 부호화 방식으로서 Richardson-Urbanke 방식을 사용하기로 한다. 상기 Richardson-Urbanke 방식을 부호화 방식으로 사용하기 때문에 패리티 검사 행렬의 형태는 완전 하삼각 행렬 형태에 유사한 형태를 가질수록 부호화 복잡도를 최소화시킬 수 있게 된다. Meanwhile, the Richardson-Urbanke method will be used as the coding method of the block LDPC code. Since the Richardson-Urbanke method is used as an encoding method, the shape of the parity check matrix has a form similar to that of a full lower triangular matrix, thereby minimizing coding complexity.

그러면 여기서 도 7을 참조하여 완전 하삼각 행렬 형태와 유사한 형태를 가지는 패리티 검사 행렬에 대해서 설명하기로 한다.Next, a parity check matrix having a form similar to that of a full lower triangular matrix will be described with reference to FIG. 7.

상기 도 7은 완전 하삼각 행렬 형태와 유사한 형태를 가지는 패리티 검사 행 렬을 도시한 도면이다.FIG. 7 illustrates a parity check matrix having a form similar to that of a full lower triangular matrix.

상기 도 7에 도시되어 있는 패리티 검사 행렬은 완전 하삼각 행렬 형태의 패리티 검사 행렬에 비해서는 패리티 파트의 형태가 완전 하삼각 행렬 형태를 벗어난다. 상기 도 7에서 정보 파트의 순열 행렬 P의 위첨자 aij

Figure 112005002202285-PAT00021
혹은 aij = ∞를 가진다. 상기 정보 파트의 순열 행렬 P의 위첨자 aij가 0일 경우, 즉 P0는 항등 행렬
Figure 112005002202285-PAT00022
를 나타내며, 상기 순열 행렬 P의 위첨자 aij가 ∞일 때, 즉 순열 행렬 P는 영 행렬 나타낸다. 또한, p와 q는 상기 패리티 검사 행렬에서 상기 정보 파트에 해당하는 부분 블록들의 행과 열의 개수를 나타낸다. 또한, 상기 패리티 파트의 순열 행렬 P의 위첨자 ai, x, y 역시 순열 행렬 P의 지수를 나타내며, 다만 설명의 편의상 정보 파트와의 구분을 위해 상이하게 설정하였을 뿐이다. 즉, 상기 도 7에서
Figure 112005002202285-PAT00023
내지
Figure 112005002202285-PAT00024
역시 순열 행렬들이며, 상기 패리티 파트의 대각(diagonal) 부분에 위치하는 부분 행렬들에 순차적으로 인덱스(index)를 부여한 것이다. 또한, 상기 도 7에서 Px와 Py 역시 순열 행렬들이며, 설명의 편의상 임의의 인덱스를 부여한 것이다. 상기 도 7에 도시되어 있는 바와 같은 패리티 검사 행렬을 가지는 블록 LDPC 부호의 블록 크기를 N이라고 가정하면, 상기 블록 LDPC 부호의 부호화 복잡도는 상기 블록 크기 N에 대해서 선형적으로 증가한다(0(N)). In the parity check matrix illustrated in FIG. 7, the parity part is out of the shape of the full lower triangular matrix as compared to the parity check matrix having the full lower triangular matrix. In FIG. 7, the superscript a ij of the permutation matrix P of the information part is
Figure 112005002202285-PAT00021
Or a ij = ∞. If the superscript a ij of the permutation matrix P of the information part is 0, that is, P 0 is an identity matrix
Figure 112005002202285-PAT00022
When the superscript a ij of the permutation matrix P is ∞, that is, the permutation matrix P represents a zero matrix. In addition, p and q represent the number of rows and columns of partial blocks corresponding to the information part in the parity check matrix. In addition, the superscripts a i , x, and y of the permutation matrix P of the parity part also represent exponents of the permutation matrix P, but are merely set differently from the information part for convenience of description. That is, in FIG.
Figure 112005002202285-PAT00023
To
Figure 112005002202285-PAT00024
Also, they are permutation matrices, and indexes are sequentially assigned to partial matrices positioned in a diagonal portion of the parity part. In FIG. 7, P x and P y are also permutation matrices, which are given an arbitrary index for convenience of description. Assuming that the block size of the block LDPC code having the parity check matrix as shown in FIG. 7 is N, the coding complexity of the block LDPC code increases linearly with respect to the block size N (0 (N)). ).

한편, 상기 도 7과 같은 패리티 검사 행렬을 가지는 LDPC 부호의 가장 큰 문제점은 부분 블록의 크기가 Ns라고 할 때, 상기 블록 LDPC 부호의 factor 그래프 상에서 항상 차수(degree)가 1인 Ns개의 검사 노드들이 생성된다는 점이다. 여기서, 상기 차수가 1인 검사 노드들은 반복 복호화에 따른 성능 개선에 영향을 주지 못하며, 이에 따라 Richardson-Urbanke 방식과 같은 표준(standard) 불균일 LDPC 부호는 차수가 1인 검사 노드를 포함하고 있지 않다. 그러므로, 차수가 1인 검사 노드를 포함하지 않으면서 효율적인 부호화가 가능하도록 패리티 검사 행렬을 설계하기 위해 상기 도 7과 같은 패리티 검사 행렬을 기본적인 패리티 검사 행렬이라고 가정하기로 한다. 상기 도 7과 같이 부분 행렬들로 구성된 패리티 검사 행렬에서 부분 행렬의 선택은 상기 블록 LDPC 부호의 성능 개선에 있어서 매우 중요한 요소이고, 따라서 상기 부분 행렬의 적절한 선택 기준을 찾는 것 역시 매우 중요한 요소가 된다. On the other hand, the biggest problem of the LDPC code having a parity check matrix as shown in FIG. 7 is that when the size of the partial block is N s , N s checks having a degree of 1 are always on the factor graph of the block LDPC code. Nodes are created. In this case, the order 1 check nodes do not affect the performance improvement due to the iterative decoding, and thus, a standard non-uniform LDPC code such as the Richardson-Urbanke method does not include the order 1 check node. Therefore, it is assumed that the parity check matrix as shown in FIG. 7 is a basic parity check matrix in order to design the parity check matrix so as to enable efficient encoding without including the check node of order 1. The selection of the partial matrix in the parity check matrix composed of the partial matrices as shown in FIG. 7 is a very important factor in improving the performance of the block LDPC code, and therefore, finding an appropriate selection criterion of the partial matrix is also a very important factor. .

그러면 상기에서 설명한 블록 LDPC 부호의 구성을 기반으로 하여 상기 블록 LDPC 부호의 패리티 검사 행렬의 설계 방법을 설명하기로 한다. Next, a method of designing a parity check matrix of the block LDPC code based on the configuration of the block LDPC code described above will be described.

여기서, 상기 블록 LDPC 부호의 패리티 검사 행렬의 설계 방법과 상기 블록 LDPC 부호의 부호화 방법을 용이하게 하기 위해서 상기 도 8에 도시한 바와 같은 패리티 검사 행렬을 도 9에 도시한 바와 같이 6개의 부분 행렬들로 구성된 형태라고 가정하기로 한다.In order to facilitate the method of designing the parity check matrix of the block LDPC code and the coding method of the block LDPC code, the parity check matrix as shown in FIG. 8 is represented by six partial matrices as shown in FIG. 9. It is assumed that the form consisting of.

상기 도 8은 도 7의 패리티 검사 행렬을 6개의 부분 블록들로 분할한 도면이 다. 8 is a diagram illustrating the parity check matrix of FIG. 7 divided into six partial blocks.

상기 도 8을 참조하면, 상기 도 7에 도시되어 있는 블록 LDPC 부호의 패리티 검사 행렬을 정보 파트(s)와, 제1패리티 파트(p1)와, 제2패리티 파트(p2)의 부분 블록들로 분할한다. 여기서, 상기 정보 파트(s)는 상기 도 7에서 설명한 정보 파트와 같이 블록 LDPC 부호를 부호화하는 과정에서 실제 정보어에 매핑되는 상기 패리티 검사 행렬의 파트를 나타내며, 다만 설명의 편의상 표기를 달리하였을 뿐이다. 또한, 상기 제1패리티 파트(p1)와 제2패리티 파트(p2)는 상기 도 7에서 설명한 패리티 파트와 같이 상기 블록 LDPC 부호를 부호화하는 과정에서 실제 패리티에 매핑되는 상기 패리티 검사 행렬의 파트를 나타내며, 상기 패리티 파트를 2개의 파트들로 분할한 것이다.Referring to FIG. 8, the parity check matrix of the block LDPC code illustrated in FIG. 7 is a partial block of an information part (s), a first parity part (p 1 ), and a second parity part (p 2 ). Split into Here, the information part (s) represents a part of the parity check matrix that is mapped to an actual information word in the process of encoding a block LDPC code like the information part described with reference to FIG. 7, but the description is merely used for convenience of description. . In addition, the first parity part p 1 and the second parity part p 2 are parts of the parity check matrix mapped to actual parity in the process of encoding the block LDPC code as in the parity part described with reference to FIG. 7. The parity part is divided into two parts.

상기 정보 파트(s)의 부분 블록들, 즉 부분 블록 A(802)와 부분 블록 C(804)에 대응되는 부분 행렬들이 A와 C이며, 상기 제1패리티 파트(p1)의 부분 블록들, 즉 부분 블록 B(806)와 부분 블록 D(808)에 대응되는 부분 행렬들이 B와 D이며, 제2패리티 파트(p2)의 부분 블록들, 즉 부분 블록 T(810)와 부분 블록 E(812)에 대응되는 부분 행렬들이 T 및 E이다. 여기서, 상기 도 8에는 상기 패리티 검사 행렬이 7개의 부분 블록들로 분할된 것처럼 도시되어 있지만, O은 별도의 부분 블록이 아니라 부분 블록 T(810)에 대응되는 부분 행렬 T가 완전 하삼각 형태를 가지므로 대각선을 중심으로 O 행렬이 배치된 영역을 0으로 표기한 것일 뿐임에 유의하여야만 한다. 상기 정보 파트(s)와, 제1패리티 파트(p1)와, 제2패리티 파트(p2)의 부분 행렬들을 사용하여 부호화 방법을 간략하게 하는 과정은 하기 도 10에서 설명할 것이므로 여기서는 그 상세한 설명을 생략하기로 한다.The partial blocks of the information part s, that is, the partial matrices corresponding to the partial block A 802 and the partial block C 804 are A and C, partial blocks of the first parity part p 1 , That is, the partial matrices corresponding to the partial block B 806 and the partial block D 808 are B and D, and the partial blocks of the second parity part p 2 , that is, the partial block T 810 and the partial block E ( The partial matrices corresponding to 812 are T and E. In FIG. 8, the parity check matrix is illustrated as being divided into seven partial blocks. However, O is not a separate partial block, but the partial matrix T corresponding to the partial block T 810 has a completely lower triangular shape. It should be noted that only the area where the O matrix is arranged around the diagonal line is marked as 0. A process of simplifying an encoding method by using the partial matrices of the information part (s), the first parity part (p 1 ), and the second parity part (p 2 ) will be described with reference to FIG. 10. The description will be omitted.

그러면 여기서 상기 도 8의 부분 행렬들을 도 9를 참조하여 설명하기로 한다. Next, the partial matrices of FIG. 8 will be described with reference to FIG. 9.

상기 도 9는 도7의 패리티 검사 행렬의 부분 행렬을 도 8의 부분 행렬 B의 전치 행렬과, 부분 행렬 E와, 부분 행렬 T와, 부분 행렬 T의 역행렬로 도시한 도면이다. 9 is a diagram illustrating a partial matrix of the parity check matrix of FIG. 7 as a transpose matrix of the partial matrix B of FIG. 8, a partial matrix E, a partial matrix T, and an inverse matrix of the partial matrix T.

상기 도 9를 참조하면, 부분 행렬 BT는 상기 부분 행렬 B의 전치 행렬(transpose matrix)을 나타내며, 부분 행렬 T-1는 상기 부분 행렬 T의 역행렬(inverse matrix)을 나타낸다. 또한, 상기 도 9에서

Figure 112005002202285-PAT00025
Figure 112005002202285-PAT00026
를 나타낸다. 또한, 상기 도 9에서 상기 순열 행렬
Figure 112005002202285-PAT00027
는 항등 행렬이 될 수도 있음은 물론이다. 이는 상기에서 설명한 바와 같이 상기 순열 행렬의 지수, 즉
Figure 112005002202285-PAT00028
이 0이 될 경우에는 상기 순열 행렬
Figure 112005002202285-PAT00029
이 항등 행렬이 되기 때문이며, 또한 상기 순열 행렬의 지수, 즉
Figure 112005002202285-PAT00030
이 미리 설정된 값만큼 증가할 경우에는 상기 순열 행렬이 상기 증가한 설정값에 해당하는 만큼 다시 순환 쉬프트되어 결과적으로 상기 순열 행렬
Figure 112005002202285-PAT00031
이 항등 행렬이 되기 때문이다.Referring to FIG. 9, the partial matrix B T represents a transpose matrix of the partial matrix B, and the partial matrix T −1 represents an inverse matrix of the partial matrix T. In addition, in FIG.
Figure 112005002202285-PAT00025
Is
Figure 112005002202285-PAT00026
Indicates. In addition, the permutation matrix in FIG.
Figure 112005002202285-PAT00027
Of course, may be an identity matrix. This is the exponent of the permutation matrix as described above, i.e.
Figure 112005002202285-PAT00028
Is 0, the permutation matrix
Figure 112005002202285-PAT00029
This is because it becomes an identity matrix, and the exponent of the permutation matrix,
Figure 112005002202285-PAT00030
When the permutation matrix is increased by a predetermined value, the permutation matrix is cyclically shifted again by the corresponding increase of the set value, and as a result, the permutation matrix
Figure 112005002202285-PAT00031
This is because it becomes an identity matrix.

그러면 다음으로 도 10을 참조하여 상기 블록 LDPC 부호의 패리티 검사 행렬 설계 과정에 대해서 설명하기로 한다.Next, a parity check matrix design process of the block LDPC code will be described with reference to FIG. 10.

상기 도 10은 일반적인 블록 LDPC 부호의 패리티 검사 행렬 생성 과정을 도시한 순서도이다.10 is a flowchart illustrating a process of generating a parity check matrix of a general block LDPC code.

상기 도 10을 설명하기에 앞서, 블록 LDPC 부호를 생성하기 위해서는 생성하고자하는 블록 LDPC 부호의 부호어 크기와 부호화율을 결정하고, 상기 결정한 부호어 크기와 부호화율에 상응하게 패리티 검사 행렬의 크기를 결정해야만 한다. 상기 블록 LDPC 부호의 부호어 크기가 N이고, 부호화율을 R이라고 가정할 때 패리티 검사 행렬의 크기는

Figure 112005002202285-PAT00032
이 된다. 또한, 상기 도 10에 도시되어 있는 블록 LDPC 부호의 패리티 검사 행렬 생성 과정은 최초에 통신 시스템의 시스템 상황에 맞게 생성되고, 이후에는 상기 생성되어 있는 패리티 검사 행렬을 이용하는 것이므로, 실질적으로 상기 도 10의 패리티 검사 행렬 생성 과정은 1번만 수행되면 된다. Before describing FIG. 10, in order to generate a block LDPC code, a codeword size and a code rate of a block LDPC code to be generated are determined, and a size of a parity check matrix is corresponding to the determined codeword size and a code rate. You must decide. Assuming that the codeword size of the block LDPC code is N and the code rate is R, the size of the parity check matrix is
Figure 112005002202285-PAT00032
Becomes In addition, since the parity check matrix generation process of the block LDPC code shown in FIG. 10 is first generated in accordance with the system situation of the communication system, the generated parity check matrix is subsequently used. The parity check matrix generation process only needs to be performed once.

상기 도 10을 참조하면, 먼저 제어기(controller)는 1011단계에서 상기 크기

Figure 112005002202285-PAT00033
의 패리티 검사 행렬을 가로 축으로 p개의 블록들로 분할하고, 세로 축으로 q개의 블록들로 분할하여 총
Figure 112005002202285-PAT00034
개의 블록들로 분할한 후 1013단계로 진행한다. 여기서, 상기 블록들 각각의 크기는
Figure 112005002202285-PAT00035
이므로 상기 패리티 검사 행렬은
Figure 112005002202285-PAT00036
개의 행들과
Figure 112005002202285-PAT00037
개의 열들로 구성된다. 상기 1013단계에서 상기 제어기는 상기
Figure 112005002202285-PAT00038
개의 블록들로 분할한 패리티 검사 행렬을 정보 파트(s)와 패리티 파트, 즉 제1패리티 파트(p1)와 제2패리티 파트(p2)로 분류하고 1015단계 및 1021단계로 진행한다. Referring to FIG. 10, first, the controller is the size in step 1011.
Figure 112005002202285-PAT00033
The parity check matrix is divided into p blocks on the horizontal axis and q blocks on the vertical axis.
Figure 112005002202285-PAT00034
After dividing into four blocks, the process proceeds to step 1013. Here, the size of each of the blocks is
Figure 112005002202285-PAT00035
Since the parity check matrix is
Figure 112005002202285-PAT00036
Rows and
Figure 112005002202285-PAT00037
It consists of four columns. The controller in step 1013
Figure 112005002202285-PAT00038
The parity check matrix divided into four blocks is classified into an information part s and a parity part, that is, a first parity part p 1 and a second parity part p 2 , and the process proceeds to steps 1015 and 1021.

상기 1015단계에서 상기 제어기는 상기 정보 파트(s)를 상기 블록 LDPC 부호의 우수한 성능을 보장하는 차수 분포에 맞게 0이 아닌 블록, 즉 0 행렬이 아닌 블록과 0인 블록, 즉 0 행렬인 블록을 결정하고 1017단계로 진행한다. 여기서, 상기 블록 LDPC 부호의 우수한 성능을 보장하는 차수 분포는 상기에서 설명한 바와 같으므로 여기서는 그 상세한 설명을 생략하기로 한다. 상기 1017단계에서 상기 제어기는 상기 블록 LDPC 부호의 우수한 성능을 보장하는 차수 분포에 맞게 결정한 블록들중 낮은 차수를 가지는 블록들중에서 0 행렬이 아닌 부분에 상기에서 설명한 바와 같이 블록 사이클의 최소 사이클 길이가 최대가 되도록 순열 행렬

Figure 112005002202285-PAT00039
을 결정하고 1019단계로 진행한다. 여기서, 상기 순열 행렬
Figure 112005002202285-PAT00040
을 결정할 때는 상기 정보 파트(s) 뿐만 아니라 상기 제1패리티 파트(p1)와 제2패리티 파트(p2)의 블록 사이클 역시 고려해서 결정해야만 한다. In step 1015, the controller replaces the information part (s) with a nonzero block, that is, a nonzero matrix and a zero block, that is, a zero matrix, in accordance with an order distribution that ensures excellent performance of the block LDPC code. Decide and proceed to step 1017. Here, since the order distribution for ensuring the excellent performance of the block LDPC code is as described above, a detailed description thereof will be omitted. In step 1017, the controller determines that the minimum cycle length of the block cycle is as described above in the non-zero matrix portion among the blocks having the lower order among the blocks determined according to the order distribution ensuring the excellent performance of the block LDPC code. Permutation matrix to be maximum
Figure 112005002202285-PAT00039
Determine and proceed to step 1019. Where the permutation matrix
Figure 112005002202285-PAT00040
The decision must be made in consideration of not only the information part s but also the block cycles of the first parity part p 1 and the second parity part p 2 .

상기 1019단계에서 상기 제어기는 상기 블록 LDPC 부호의 우수한 성능을 보장하는 차수 분포에 맞게 결정한 블록들중 높은 차수(high degree)를 가지는 블록들중에서 0 행렬이 아닌 부분에 랜덤하게 순열 행렬

Figure 112005002202285-PAT00041
을 결정하고 종료한다. 여기서, 상기 높은 차수를 가지는 블록들중 0 행렬이 아닌 부분에 적용할 순열 행렬
Figure 112005002202285-PAT00042
을 결정할 때 역시 블록 사이클의 최소 사이클 크기가 최대가 되도록 순열 행렬
Figure 112005002202285-PAT00043
을 결정해야만 하고, 또한 상기 정보 파트(s) 뿐만 아니라 상기 제1패리티 파트(p1)와 제2패리티 파트(p2)의 블록 사이클 역시 고려해서 결정해야만 한다. 상기와 같이 패리티 검사 행렬의 정보 파트(s)에 순열 행렬
Figure 112005002202285-PAT00044
을 배열한 형태가 도 7에 도시되어 있다.In step 1019, the controller randomly permutes a non-zero matrix of blocks having a high degree among blocks determined according to an order distribution that ensures excellent performance of the block LDPC code.
Figure 112005002202285-PAT00041
Determine and exit. Here, the permutation matrix to be applied to the portion other than the zero matrix of the high order blocks
Figure 112005002202285-PAT00042
The permutation matrix so that the minimum cycle size of the block cycle is also maximum when
Figure 112005002202285-PAT00043
And the block cycles of the first parity part p 1 and the second parity part p 2 as well as the information part s. The permutation matrix in the information part (s) of the parity check matrix as described above.
Figure 112005002202285-PAT00044
Arranged form is shown in FIG.

한편, 상기 1021단계에서 상기 제어기는 상기 패리티 파트, 즉 제1패리티 파트(p1)와 제2패리티 파트(p2)를 4개의 부분 행렬들, 즉 부분 행렬 B와, 부분 행렬 T와, 부분 행렬 D 및 부분 행렬 E로 분할한 후 1023단계로 진행한다. 상기 1023단계에서 상기 제어기는 상기 부분 행렬 B를 구성하는 부분 블록들중 2개의 부분 블록들에 0이 아닌 순열 행렬 Py

Figure 112005002202285-PAT00045
을 입력하고 1025단계로 진행한다. 여기서, 상기 부분 행렬 B를 구성하는 부분 블록들중 2개의 부분 블록들에 0이 아닌 순열 행렬 Py
Figure 112005002202285-PAT00046
를 입력하는 구조는 이미 도 9에서 설명한 바가 있다.On the other hand, in step 1021, the controller divides the parity part, that is, the first parity part p 1 and the second parity part p 2 into four partial matrices, namely, partial matrix B, partial matrix T, and partial. After dividing the matrix D and the partial matrix E, the process proceeds to step 1023. In step 1023, the controller determines a non-zero permutation matrix P y from two partial blocks of the partial blocks constituting the partial matrix B.
Figure 112005002202285-PAT00045
Enter and proceed to step 1025. Here, the non-zero permutation matrix P y and two of the partial blocks constituting the partial matrix B and
Figure 112005002202285-PAT00046
The structure for inputting has already been described with reference to FIG. 9.

상기 1025단계에서 상기 제어기는 상기 부분 행렬 T의 대각 부분 블록들에는 항등 행렬 I를 입력하고, 상기 부분 행렬 T의 대각 성분들 아래의 (i, i+1)번째 부분 블록들에는 임의의 순열 행렬

Figure 112005002202285-PAT00047
을 입력하고 1027단계로 진행한다. 여기서, 상기 부분 행렬 T의 대각 부분 블록들에는 항등 행렬 I를 입력하고, 상기 부분 행렬 T의 대각 성분들 아래의 (i, i+1)번째 부분 블록들에는 임의의 순열 행렬
Figure 112005002202285-PAT00048
을 입력하는 구조는 이미 도 9에서 설명한 바가 있다.In step 1025, the controller inputs an identity matrix I to diagonal partial blocks of the partial matrix T, and random permutation matrix to the (i, i + 1) th partial blocks below the diagonal components of the partial matrix T.
Figure 112005002202285-PAT00047
Enter and proceed to step 1027. Here, an identity matrix I is input to diagonal partial blocks of the partial matrix T, and an arbitrary permutation matrix is included in the (i, i + 1) th partial blocks below the diagonal components of the partial matrix T.
Figure 112005002202285-PAT00048
The structure for inputting has already been described with reference to FIG. 9.

상기 1027단계에서 상기 제어기는 상기 부분 행렬 D에 순열 행렬

Figure 112005002202285-PAT00049
를 입력하고 1029단계로 진행한다. 상기 1029단계에서 상기 제어기는 상기 부분 행렬 E에는 마지막 부분 블록에만
Figure 112005002202285-PAT00050
를 입력하고 종료한다. 여기서, 상기 부분 행렬 E를 구성하는 부분 블록들중 마지막 부분 블록에 2개의
Figure 112005002202285-PAT00051
를 입력하는 구조는 이미 도 9에서 설명한 바가 있다.In step 1027, the controller performs a permutation matrix on the partial matrix D.
Figure 112005002202285-PAT00049
And proceed to step 1029. In step 1029, the controller selects only the last partial block in the partial matrix E.
Figure 112005002202285-PAT00050
And exit. Here, two of the partial blocks constituting the partial matrix E are located in the last partial block.
Figure 112005002202285-PAT00051
The structure for inputting has already been described with reference to FIG. 9.

상기에서 설명한 바와 같이 LDPC 부호는 터부 부호와 함께 고속 데이터 전송시에 성능 이득이 우수한 것으로 알려져 있으며, 전송 채널에서 발생하는 잡음에 의한 오류를 효과적으로 정정하여 데이터 전송의 신뢰도를 높일 수 있다는 장점을 가진다. 그러나, 상기 LDPC 부호는 부호화율(coding rate)면에 있어서 단점을 가진다. 즉, 상기 LDPC 부호는 비교적 높은 부호화율을 가지기 때문에 부호화율면에서 자유롭지 못하다는 단점을 가진다. 현재 제안되어 있는 LDPC 부호의 경우 대부분이 1/2의 부호화율을 가지고, 일부만 1/3의 부호화율을 가진다. 이렇게, 부호화율면에서의 제한은 결과적으로 고속 대용량 데이터 용량 전송에 치명적인 영향을 미치게 된다. 물론, 비교적 낮은 부호화율을 구현하기 위해서 밀도 진화(density evolution) 등과 같은 방식을 이용하여 최적의 성능을 나타내는 차수 분포를 구할 수는 있지만, 상기 최적의 성능을 나타내는 차수 분포를 가지는 LDPC 부호를 구현하는 것은 factor 그래프 상의 사이클 구조와 하드웨어 구현(implementation) 등의 여러 가지 제약 조건들로 인해서 난이하다.
As described above, the LDPC code is known to have a good performance gain in high-speed data transmission together with the tab code, and has an advantage of effectively correcting an error due to noise generated in a transmission channel, thereby increasing reliability of data transmission. However, the LDPC code has a disadvantage in terms of coding rate. That is, since the LDPC code has a relatively high coding rate, the LDPC code is not free in terms of coding rate. Most of the LDPC codes currently proposed have a code rate of 1/2, and only a part has a code rate of 1/3. As such, the limitations in terms of coding rate result in a fatal effect on high-speed large data capacity transmission. Of course, in order to implement a relatively low coding rate, a method such as density evolution may be used to obtain an order distribution indicating an optimal performance, but an LDPC code having an order distribution indicating the optimal performance may be obtained. This is difficult due to various constraints such as the cycle structure on the factor graph and the hardware implementation.

따라서, 본 발명의 목적은 이동 통신 시스템에서 가변 블록 길이를 가지는 LDPC 부호를 부호화/복호화하는 장치 및 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide an apparatus and method for encoding / decoding an LDPC code having a variable block length in a mobile communication system.

본 발명의 다른 목적은 이동 통신 시스템에서 부호화 복잡도가 최소화된, 가변 블록 길이를 가지는 LDPC 부호를 부호화/복호화하는 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide an apparatus and method for encoding / decoding an LDPC code having a variable block length with a minimum coding complexity in a mobile communication system.

상기한 목적들을 달성하기 위한 본 발명의 방법은; 블록 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호의 패리티 검사 행렬이 정보어에 대응되는 정보 파트와, 패리티에 대응되는 제1패리티 파트 및 제2패리티 파트로 구성되고, 에러 정정 성능을 향상시키기 위한 상기 패리티 검사 행렬을 생성하는 방법에 있어서, 상기 정보어를 상기 블록 LDPC 부호로 부호화시 적용되는 부호화율과, 상기 블록 LDPC 부호의 부호어 길이가 상기 부호화율에서 지원 가능한, 미리 설정된 제1부호어 길이에 대응하도록 제1패리티 검사 행렬의 크기를 결정하는 제1과정과, 상기 결정된 크기의 제1패리티 검사 행렬을 미리 설정된 설정 개수의 블록들로 분할하는 제2과정과, 상기 블록들을 상기 정보 파트에 대응되는 블록들과, 상기 제1패리티 파트에 대응되는 블록들과, 상기 제2패리티 파트에 대응되는 블록들로 분류하는 제3과정과, 상기 제1패리티 파트로 분류된 블록들중 미리 결정된 블록들에 순열 행렬들을 배열하고, 상기 제2패리티 파트로 분류된 블록들중 미리 결정된 블록들에 완전 하삼각 형태로 순열 행렬들을 배열하는 제4과정과, 상기 정보 파트로 분류된 블록들에 상기 블록 LDPC 부호의 팩터 그래프상의 최소 사이클 길이가 미리 설정된 제1사이클 길이가 되고, 웨이트가 불균일하도록 상기 순열 행렬들을 배열하는 제5과정을 포함함을 특징으로 한다.The method of the present invention for achieving the above objects; A parity check matrix of a block low density parity check (LDPC) code is composed of an information part corresponding to an information word, a first parity part and a second parity part corresponding to parity, and improve error correction performance. A method of generating the parity check matrix for the first code, comprising: a code rate applied when the information word is encoded into the block LDPC code and a codeword length of the block LDPC code can be supported at the code rate A first process of determining a size of a first parity check matrix so as to correspond to a length, a second process of dividing the first parity check matrix of the determined size into a predetermined number of blocks; A third classification into blocks corresponding to the part, blocks corresponding to the first parity part, and blocks corresponding to the second parity part And permutation matrices in predetermined blocks among the blocks classified into the first parity part, and permutation matrices in a completely lower triangular shape in the predetermined blocks among the blocks classified into the second parity part. A fourth process and a fifth process of arranging the permutation matrices such that the minimum cycle length on the factor graph of the block LDPC code becomes a preset first cycle length and blocks are non-uniform in weight classified into the information parts. It is characterized by.

상기한 목적들을 달성하기 위한 본 발명의 다른 방법은; 블록 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호의 복호화 방법에 있어서, 정보어에 대응되는 정보 파트와, 패리티에 대응되는 제1패리티 파트 및 제2패리티 파트로 구성되는 상기 패리티 검사 행렬을 생성하고, 상기 패리티 검사 행렬에 상응하게 디인터리빙 방식 및 인터리빙 방식을 결정하는 과정과, 수신 신호의 확률값들을 검출하는 과정과, 상기 수신 신호의 확률값들에서 이전 복호화시 생성된 신호를 감산하여 제1신호를 생성하는 과정과, 상기 제1신호를 입력하여 상기 디인터리빙 방식으로 디인터리빙하는 과정과, 상기 디인터리빙된 신호를 입력하여 확률값들을 검출하는 과정과, 상기 디인터리빙된 신호의 확률값들에서 상기 디인터리빙된 신호를 감산하여 제2신호를 생성하는 과정과, 상기 제2신호를 상기 인터리빙 방식으로 인터리빙하고, 상기 인터리빙된 신호를 반복 복호화하는 과정을 포함함을 특징으로 한다.Another method of the present invention for achieving the above objects is; A method for decoding a block low density parity check (LDPC) code, the method comprising: generating the parity check matrix including an information part corresponding to an information word and a first parity part and a second parity part corresponding to parity. Determining a deinterleaving scheme and an interleaving scheme corresponding to the parity check matrix, detecting probability values of a received signal, subtracting a signal generated during a previous decoding from probability values of the received signal, and performing a first signal Generating a signal; deinterleaving the first signal by inputting the first signal; detecting a probability value by inputting the deinterleaved signal; and detecting the probability values using the deinterleaved signal. Subtracting the interleaved signal to generate a second signal, and interleaving the second signal by the interleaving method And repeatedly decoding the interleaved signal.

상기한 목적들을 달성하기 위한 본 발명의 장치는; 블록 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호의 복호화 장치에 있어서, 소정 제어에 따라 정보어에 대응되는 정보 파트와, 패리티에 대응되는 제1패리티 파트 및 제2패리티 파트로 구성되는 상기 패리티 검사 행렬을 구성하는 열들 각각의 웨이트에 상응하게 변수 노드들을 연결하여 수신 신호의 확률값들을 검출하여 출력하는 변수 노드 복호기와, 상기 변수 노드 복호기에서 출력한 신호에서 이전 복호시 생성된 신호를 감산하여 출력하는 제1가산기와, 상기 제1가산기에서 출력한 신호를 입력하여 상기 패리티 검사 행렬에 상응하게 설정된 디인터리빙 방식으로 디인터리빙하여 출력하는 디인터리버와, 소정 제어에 따라 상기 패리티 검사 행렬을 구성하는 행들 각각의 웨이트에 상응하게 검사 노드들을 연결하여 상기 디인터리버에서 출력한 신호의 확률값들을 검출하여 출력하는 검사 노드 복호기와, 상기 검사 노드 복호기에서 출력한 신호에서 상기 디인터리버에서 출력한 신호를 감산하는 제2가산기와, 상기 제2가산기에서 출력한 신호를 상기 패리티 검사 행렬에 상응하게 설정된 인터리빙 방식으로 인터리빙하여 상기 변수 노드 복호기 및 상기 제1가산기로 출력하는 인터리버와, 상기 패리티 검사 행렬을 생성하고, 상기 디인터리빙 방식 및 인터리빙 방식을 상기 패리티 검사 행렬에 상응하게 제어하는 제어기를 포함함을 특징으 로 한다.
The apparatus of the present invention for achieving the above objects; In the decoding device of a block low density parity check (LDPC) code, the parity includes an information part corresponding to an information word, a first parity part corresponding to a parity, and a second parity part according to a predetermined control. Variable node decoder that detects and outputs the probability values of the received signal by connecting variable nodes corresponding to the weights of the columns constituting the test matrix, and subtracts the signal generated during the previous decoding from the signal output from the variable node decoder. A deinterleaver for inputting a first adder, a signal output from the first adder and deinterleaving the deinterleaving method according to the parity check matrix, and outputting the deinterleaver, and rows forming the parity check matrix according to a predetermined control; Check nodes are connected to the corresponding weights and output from the deinterleaver. A parity check matrix, a check node decoder for detecting and outputting probability values of a signal, a second adder subtracting a signal output from the deinterleaver from a signal output from the check node decoder, and a signal output from the second adder An interleaver for interleaving in the interleaving scheme set according to the interleaving scheme, and outputting the parity check matrix to the variable node decoder and the first adder, and controlling the deinterleaving scheme and the interleaving scheme according to the parity check matrix. Characterized by including.

이하, 본 발명에 따른 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다. Hereinafter, with reference to the accompanying drawings in accordance with the present invention will be described in detail. It should be noted that in the following description, only parts necessary for understanding the operation according to the present invention will be described, and descriptions of other parts will be omitted so as not to distract from the gist of the present invention.

본 발명은 가변 블록 길이를 가지는 블록(block) 저밀도 패리티 검사(LDPC: Low Density Parity Check, 이하 'LDPC'라 칭하기로 한다) 부호(이하 '가변 길이 블록 LDPC 부호'라 칭하기로 한다)를 부호화(coding) 및 복호화(decoding)하는 장치 및 방법을 제안한다. 즉, 본 발명은 블록 LDPC 부호의 팩터(factor, 이하 'factor'라 칭하기로 한다) 그래프상의 최소 사이클(cycle)의 길이가 최대가 되고, 상기 블록 LDPC 부호의 부호화를 위한 복잡도가 최소가 되고, 상기 블록 LDPC 부호의 factor 그래프상의 차수 분포가 최적 1의 분포를 가지면서도 다양한 블록 길이를 지원하는 가변 길이 블록 LDPC 부호의 부호화 및 복호화 장치 및 방법을 제안한다.The present invention encodes a block Low Density Parity Check (LDPC) code having a variable block length (hereinafter referred to as an LDPC) code (hereinafter referred to as a variable length block LDPC code). An apparatus and method for coding and decoding are provided. That is, in the present invention, the length of the minimum cycle on the factor (hereinafter, referred to as 'factor') graph of the block LDPC code is maximum, and the complexity for encoding the block LDPC code is minimum, An apparatus and method for encoding and decoding a variable length block LDPC code that supports a variety of block lengths while having an optimal distribution of 1 on a factor graph of the block LDPC code.

특히, 차세대 이동 통신 시스템은 패킷 서비스 통신 시스템(packet service communication system) 형태로 발전되어 왔으며, 패킷 서비스 통신 시스템은 버스트(burst)한 패킷 데이터(packet data)를 다수의 이동국들로 전송하는 시스템으로서, 대용량 데이터 전송에 적합하도록 설계되어 왔다. 특히, 상기 데이터 전송량을 증가시키기 위해 복합 재전송(HARQ: Hybrid Automatic Retransmission Request, 이하 'HARQ'라 칭하기로 한다) 방식과 적응적 변조 및 부호화(AMC: Adaptive Modulation and Coding, 이하 'AMC'라 칭하기로 한다) 방식 등과 같은 다양한 방식들이 제안되어 있으며, 상기 HARQ 방식 및 AMC 방식 등에서는 가변 부호화율(coding rate)을 지원하므로 다양한 블록 길이를 가지는 블록 LDPC 부호에 대한 필요성이 부각되고 있다. In particular, the next generation mobile communication system has been developed in the form of a packet service communication system, and the packet service communication system is a system for transmitting burst packet data to a plurality of mobile stations. It has been designed for large data transfers. In particular, a hybrid automatic retransmission request (HARQ) scheme and an adaptive modulation and coding (AMC) scheme will be referred to as 'AMC' in order to increase the data transmission amount. Various schemes have been proposed, and since the HARQ scheme and the AMC scheme support variable coding rates, the necessity for block LDPC codes having various block lengths is highlighted.

상기 가변 길이 블록 LDPC 부호의 설계는 일반적인 LDPC 부호를 설계할 경우와 마찬가지로 패리티 검사 행렬(parity check matrix)의 설계를 통해 구현된다. 그런데, 이동 통신 시스템에서 1개의 코덱(CODEC)으로 가변 길이 블록 LDPC 부호를 제공하기 위해서는, 즉 다양한 블록 길이를 가지는 블록 LDPC 부호를 제공하기 위해서는 상기 패리티 검사 행렬 내에 다른 블록 길이의 블록 LDPC 부호를 나타낼 수 있는 패리티 검사 행렬이 포함되는 형태가 되어야만 한다. 그러면 여기서 가변 블록 길이를 제공하는 블록 LDPC 부호의 패리티 검사 행렬에 대해서 설명하기로 한다.The design of the variable length block LDPC code is implemented through the design of a parity check matrix as in the case of designing a general LDPC code. However, in order to provide a variable length block LDPC code with one codec in a mobile communication system, that is, to provide a block LDPC code having various block lengths, a block LDPC code having a different block length may be represented in the parity check matrix. It must be of a type that contains a parity check matrix. Next, a parity check matrix of a block LDPC code that provides a variable block length will be described.

먼저, 설계하고자 하는 설정 부호화율에 대해서 시스템에서 요구하는 최소 길이의 블록 LDPC 부호를 설계한다. 상기 패리티 검사 행렬에서 부분 행렬의 크기인 Ns를 증가시키며 블록 길이가 긴 블록 LDPC 부호를 생성한다. 여기서, 상기 부분 행렬이라함은 상기 본 발명의 종래 기술 부분에서 설명한 바와 같이 상기 패리티 검사 행렬을 다수의 부분 블록(partial block)들로 분할하였을 경우, 상기 부분 블 록들 각각에 대응하는 순열 행렬(permutation matrix)을 나타낸다. 한편, 상기 부분 행렬의 크기인 Ns를 증가시키게 되면 사이클(cycle) 구조가 변경되기 때문에 우선 짧은 길이의 블록 LDPC 부호를 설계하고, 그 다음으로 긴 길이의 블록 LDPC 부호를 설계하는 형태로 확장하는 경우를 가정하여 상기 패리티 검사 행렬의 순열 행렬의 지수를 사이클이 최대가 되도록 선택한다. First, a block LDPC code having a minimum length required by the system is designed for a set coding rate to be designed. In the parity check matrix, a block LDPC code having a long block length is generated while increasing N s , the size of a partial matrix. Here, the partial matrix is a permutation matrix corresponding to each of the partial blocks when the parity check matrix is divided into a plurality of partial blocks as described in the prior art portion of the present invention. matrix). On the other hand, if the size of the partial matrix N s is increased, the cycle structure is changed. Therefore, a short block LDPC code is first designed, and then a long block LDPC code is designed to be extended. Assuming the case, the exponent of the permutation matrix of the parity check matrix is selected such that the cycle is maximum.

일 예로, 기본 블록 LDPC 부호의 부분 블록 크기 Ns = 2인 경우 상기 기본 블록 LDPC 부호를 2배 길이의 Ns = 4인 블록 LDPC 부호로 확장하고자 할 때, 순열 행렬의 지수가 0인 부분 행렬은 Ns = 2에서 Ns = 4로 증가되면 0 또는 2의 값을 선택할 수 있다. 여기서, 상기 2개의 값들중에 상기 사이클을 최대화할 수 있는 값을 선택해야만 한다. 이와 마찬가지로 Ns = 2인 블록 LDPC 부호에서 지수가 1인 부분 행렬은 Ns = 2에서 Ns = 4로 증가되면 1 또는 3의 값을 선택할 수 있다. For example, when the partial block size N s = 2 of the basic block LDPC code, when the basic block LDPC code is to be extended to a block LDPC code having N s = 4 of twice the length, the partial matrix of the permutation matrix has an index of 0 Is increased from N s = 2 to N s = 4, you can choose a value of 0 or 2. Here, one of the two values must be selected to maximize the cycle. Likewise, N s = 2 the block LDPC code index of 1 in a partial matrix may select the value of N s = N s = 4 when increased from 21, or 3.

상기에서 설명한 바와 같이 기본 블록 LDPC 부호를 이용하여 Ns 값을 증가시켜가면서 블록 LDPC 부호를 설계하면 각각의 블록 길이별로 최대 성능을 가지는 블록 LDPC 부호를 설계할 수 있다. 또한, 상기 다양한 길이의 블록 LDPC 부호들중 임의의 1개의 블록 LDPC 부호를 기본 블록 LDPC 부호로 정의할 수 있으므로, 메모리 효율성 면에서도 이득을 갖게 된다. 그러면 여기서 상기 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 생성하는 방법에 대해서 설명하기로 한다. 본 발명에서는 상기 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 부호화율에 상응하게 4가지 형태로 제안하며, 본 발명에서 고려하는 부호화율은 1/2, 2/3, 3/4, 5/6이다.As described above, when the block LDPC code is designed while increasing the N s value using the basic block LDPC code, the block LDPC code having the maximum performance for each block length can be designed. In addition, since any one block LDPC code of the various lengths of the block LDPC codes can be defined as a basic block LDPC code, there is a gain in terms of memory efficiency. Next, a method of generating a parity check matrix of the variable length block LDPC code will be described. In the present invention, the parity check matrix of the variable length block LDPC code is proposed in four forms corresponding to the coding rate, and the coding rates considered in the present invention are 1/2, 2/3, 3/4, and 5/6. .

한편, 상기 부호화율은 1/2, 2/3, 3/4, 5/6에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬에 대해서 설명하기 전에 도 15를 참조하여 본 발명에서 설계한 패리티 검사 행렬을 사용하여 가변 길이 블록 LDPC 부호를 부호화하는 과정을 설명하기로 한다.On the other hand, the code rate is a parity check matrix designed in the present invention with reference to Figure 15 before explaining the parity check matrix of the variable length block LDPC code according to 1/2, 2/3, 3/4, 5/6 A process of encoding a variable length block LDPC code using the following description will be described.

상기 도 15는 본 발명의 제1실시예 내지 제8실시예에 따른 가변 길이 블록 LDPC 부호의 부호화 과정을 도시한 순서도이다.15 is a flowchart illustrating a process of encoding a variable length block LDPC code according to the first to eighth embodiments of the present invention.

상기 도 15를 설명하기에 앞서, 상기 가변 길이 블록 LDPC 부호의 패리티 검사 행렬은 상기 종래 기술 부분의 도 8에서 설명한 바와 같은 6개의 부분 행렬들로 구성된 형태라고 가정하기로 한다. 상기 도 15를 참조하면, 먼저 제어기(도시하지 않음)는 1511단계에서 상기 가변 길이 블록 LDPC 부호로 부호화하기 위한 정보어 벡터(

Figure 112005002202285-PAT00052
)를 입력받고 1513단계 및 1515단계로 진행한다. 여기서, 상기 블록 LDPC 부호로 부호화하기 위해 입력받은 정보어 벡터(
Figure 112005002202285-PAT00053
)의 길이는 k라고 가정하기로 한다. 상기 1513단계에서 상기 제어기는 상기 입력받은 정보어 벡터(
Figure 112005002202285-PAT00054
)와 패리티 검사 행렬의 부분 행렬 A를 행렬 곱셈한 후(
Figure 112005002202285-PAT00055
) 1517단계로 진행한다. 여기서, 상기 부분 행렬 A에 존재하는 1의 값을 가지는 엘리먼트들의 개수는 0의 값을 가지는 엘리먼트들의 개수에 비해서 매우 적으므로 상기 정보어 벡터(
Figure 112005002202285-PAT00056
)와 패리티 검사 행렬의 부분 행렬 A의 행렬 곱셈은 비교적 적은 횟수의 합곱(sum-product) 연산만 으로도 가능하게 된다. 또한, 상기 부분 행렬 A에서 1의 값을 가지는 엘리먼트들의 위치는 0이 아닌 블록의 위치와 그 블록의 순열 행렬의 지수승으로 나타낼 수 있으므로 임의의 패리티 검사 행렬에 비하여 매우 간단한 연산만으로도 행렬 곱셈을 수행할 수 있다. 또한, 상기 1515단계에서 상기 제어기는 상기 패리티 검사 행렬의 부분 행렬 C와 상기 정보어 벡터(
Figure 112005002202285-PAT00057
)의 행렬 곱셈을 수행하고(
Figure 112005002202285-PAT00058
) 1519단계로 진행한다. Before describing FIG. 15, it is assumed that the parity check matrix of the variable length block LDPC code is formed of six partial matrices as described with reference to FIG. 8. Referring to FIG. 15, a controller (not shown) first includes an information word vector for encoding the variable length block LDPC code in operation 1511.
Figure 112005002202285-PAT00052
) And proceed to step 1513 and 1515. Here, the information word vector received for encoding with the block LDPC code (
Figure 112005002202285-PAT00053
) Is assumed to be k. In step 1513, the controller selects the received information word vector (
Figure 112005002202285-PAT00054
) And the matrix matrix of the parity check matrix
Figure 112005002202285-PAT00055
Proceed to step 1517. Here, since the number of elements having a value of 1 in the partial matrix A is very small compared to the number of elements having a value of 0, the information word vector (
Figure 112005002202285-PAT00056
Matrix multiplication of the parity check matrix and the partial matrix A of the parity check matrix is possible only with a relatively small number of sum-product operations. In addition, since the position of elements having a value of 1 in the partial matrix A can be represented by the position of a nonzero block and the exponential power of the permutation matrix of the block, matrix multiplication is performed by a very simple operation compared to any parity check matrix. can do. In operation 1515, the controller determines that the partial matrix C of the parity check matrix and the information word vector (
Figure 112005002202285-PAT00057
Matrix multiplication of ()
Figure 112005002202285-PAT00058
Proceed to step 1519.

한편, 상기 1517단계에서 상기 제어기는 상기 정보어 벡터(

Figure 112005002202285-PAT00059
)와 패리티 검사 행렬의 부분 행렬 A의 행렬 곱셈 결과와 행렬 ET-1의 행렬 곱셈을 수행하고(
Figure 112005002202285-PAT00060
) 1519단계로 진행한다. 여기서, 상기에서 설명한 바와 같이 상기 행렬 ET-1의 1의 값을 가지는 엘리먼트들의 개수는 매우 적기 때문에 블록의 순열 행렬의 지수승만 알게되면 상기 행렬 곱셈을 용이하게 수행할 수 있다. 상기 1519단계에서 상기 제어기는 상기
Figure 112005002202285-PAT00061
Figure 112005002202285-PAT00062
를 가산하여 제1패리티 벡터(
Figure 112005002202285-PAT00063
)를 계산한 후(
Figure 112005002202285-PAT00064
) 1821단계로 진행한다. 여기서, 가산 연산은 배타적 가산(exclusive OR) 연산으로 동일한 비트가 가산될 때는 0이 되고 상이한 비트가 가산될 때는 1이 된다. 결국, 상기 1519단계까지의 과정은 제1패리티 벡터(
Figure 112005002202285-PAT00065
)를 계산하기 위한 과정인 것이다. On the other hand, in step 1517 the controller is the information word vector (
Figure 112005002202285-PAT00059
) And the matrix multiplication of the parity check matrix submatrix A and the matrix ET -1 (
Figure 112005002202285-PAT00060
Proceed to step 1519. As described above, since the number of elements having a value of 1 of the matrix ET -1 is very small, the matrix multiplication can be easily performed when only the exponential power of the permutation matrix of the block is known. The controller in step 1519
Figure 112005002202285-PAT00061
Wow
Figure 112005002202285-PAT00062
By adding the first parity vector (
Figure 112005002202285-PAT00063
After calculating
Figure 112005002202285-PAT00064
Proceed to step 1821. Here, the addition operation is an exclusive OR operation, which is 0 when the same bit is added and 1 when different bits are added. As a result, the process up to step 1519 may include a first parity vector (
Figure 112005002202285-PAT00065
) Is to calculate

상기 1521단계에서 상기 제어기는 상기 패리티 검사 행렬의 부분 행렬 B와 상기 제1패리티 벡터(

Figure 112005002202285-PAT00066
)를 곱셈한 후
Figure 112005002202285-PAT00067
를 가산한 후 1523단계로 진행한다. 여기서, 상기 정보어 벡터(
Figure 112005002202285-PAT00068
)와 제1패리티 벡터(
Figure 112005002202285-PAT00069
)를 알면, 제2패리티 벡터(
Figure 112005002202285-PAT00070
)를 구하기 위해 상기 패리티 검사 행렬의 부분 행렬 T의 역행렬 T-1을 행렬 곱해야한다. 따라서, 상기 1523단계에서 상기 제어기는 상기 제2패리티 벡터(
Figure 112005002202285-PAT00071
)를 구하기 위해서 상기 1521단계에서 계산한 벡터에 상기 부분 행렬 T의 역행렬 T-1을 곱한 후(
Figure 112005002202285-PAT00072
) 1525단계로 진행한다. 상기에서 설명한 바와 같이 부호화하고자 하는 블록 LDPC 부호의 정보어 벡터(
Figure 112005002202285-PAT00073
)만을 알면 제1패리티 벡터(
Figure 112005002202285-PAT00074
)와, 제2패리티 벡터(
Figure 112005002202285-PAT00075
)를 구할수 있고, 결과적으로 부호어 벡터 모두를 얻을 수 있는 것이다. 그리고, 상기 제어기는 1525단계에서 상기 정보어 벡터(
Figure 112005002202285-PAT00076
)와, 제1패리티 벡터(
Figure 112005002202285-PAT00077
)와, 제2패리티 벡터(
Figure 112005002202285-PAT00078
)로 생성된 부호어 벡터(
Figure 112005002202285-PAT00079
)를 생성하여 전송하고 종료한다. In step 1521, the controller determines that the partial matrix B of the parity check matrix and the first parity vector (
Figure 112005002202285-PAT00066
) Then multiply
Figure 112005002202285-PAT00067
After adding, proceed to step 1523. Here, the information word vector (
Figure 112005002202285-PAT00068
) And the first parity vector (
Figure 112005002202285-PAT00069
), The second parity vector (
Figure 112005002202285-PAT00070
) To be the inverse matrix T -1 of a partial matrix T of the parity check matrix must be multiplied to obtain the matrix. Accordingly, in step 1523, the controller determines the second parity vector (
Figure 112005002202285-PAT00071
Multiplying the vector calculated in step 1521 by the inverse T- 1 of the partial matrix T
Figure 112005002202285-PAT00072
Proceed to step 1525. As described above, the information word vector of the block LDPC code to be encoded
Figure 112005002202285-PAT00073
) Only the first parity vector (
Figure 112005002202285-PAT00074
) And the second parity vector (
Figure 112005002202285-PAT00075
), And as a result, we can get all the codeword vectors. In operation 1525, the controller determines the information vector (
Figure 112005002202285-PAT00076
) And the first parity vector (
Figure 112005002202285-PAT00077
) And the second parity vector (
Figure 112005002202285-PAT00078
Codeword vector generated by
Figure 112005002202285-PAT00079
Create, send and exit.

다음으로 도 16을 참조하여 본 발명의 제1실시예 내지 제8실시예에서의 기능을 수행하기 위한 가변 길이 블록 LDPC 부호의 부호화 장치 내부 구조를 설명하기 로 한다.Next, an internal structure of a coding apparatus of a variable length block LDPC code for performing functions in the first to eighth embodiments of the present invention will be described with reference to FIG.

상기 도 16은 본 발명의 실시예들에서의 기능을 수행하기 위한 가변 길이 블록 LDPC 부호의 부호화 장치 내부 구조를 도시한 블록도이다.16 is a block diagram illustrating an internal structure of an apparatus for encoding a variable length block LDPC code for performing a function in embodiments of the present invention.

상기 도 16을 참조하면, 상기 가변 길이 블록 LDPC 부호의 부호화 장치는 행렬 A 곱셈기(1611)와, 행렬 C 곱셈기(1613)와, 행렬 ET-1 곱셈기(1615)와, 가산기(1617)와, 행렬 B 곱셈기(1619)와, 가산기(1621)와, 행렬 ET-1 곱셈기(1623)와, 스위치(switch)들(1625, 1627, 1629)로 구성된다. Referring to FIG. 16, the apparatus of encoding a variable length block LDPC code includes a matrix A multiplier 1611, a matrix C multiplier 1613, a matrix ET −1 multiplier 1615, an adder 1617, and a matrix. B multiplier 1619, adder 1621, matrix ET- 1 multiplier 1623, and switches 1625, 1627, 1629.

먼저, 입력 신호, 즉 가변 길이 블록 LDPC 부호로 부호화하고자 하는 길이 k의 정보어 벡터(

Figure 112005002202285-PAT00080
)가 입력되고, 상기 입력된 길이 k의 정보어 벡터(
Figure 112005002202285-PAT00081
)는 상기 스위치(1625)와, 행렬 A 곱셈기(1611)와, 행렬 C 곱셈기(1613)로 입력된다. 상기 행렬 A 곱셈기(1611)는 상기 정보어 벡터(
Figure 112005002202285-PAT00082
)와 전체 패리티 검사 행렬의 부분 행렬 A를 곱한 후 행렬 ET-1 곱셈기(1615)와 상기 가산기(1621)로 출력한다. 또한, 상기 행렬 C 곱셈기(1613)는 상기 정보어 벡터(
Figure 112005002202285-PAT00083
)와 전체 패리티 검사 행렬의 부분 행렬 C를 곱한 후 상기 가산기(1617)로 출력한다. 상기 행렬 ET-1 곱셈기(1615)는 상기 행렬 A 곱셈기(1611)에서 출력한 신호에 전체 패리티 검사 행렬의 부분 행렬 ET-1를 곱한 후 상기 가산기(1617)로 출력한다. First, an information word vector of length k to be encoded into an input signal, that is, a variable length block LDPC code (
Figure 112005002202285-PAT00080
) Is input, and the information word vector of the input length k (
Figure 112005002202285-PAT00081
) Is input to the switch 1625, the matrix A multiplier 1611, and the matrix C multiplier 1613. The matrix A multiplier 1611 uses the information vector (
Figure 112005002202285-PAT00082
) Is multiplied by the partial matrix A of the entire parity check matrix, and then output to the matrix ET -1 multiplier 1615 and the adder 1621. In addition, the matrix C multiplier (1613) is the information word vector (
Figure 112005002202285-PAT00083
) Is multiplied by the partial matrix C of the parity check matrix and output to the adder 1617. The matrix ET -1 multiplier 1615 multiplies the signal output from the matrix A multiplier 1611 by the partial matrix ET -1 of the entire parity check matrix and outputs the multiplier 1617 to the adder 1617.

상기 가산기(1617)는 상기 행렬 ET-1 곱셈기(1615)에서 출력한 신호와 상기 행렬 C 곱셈기(1613)에서 출력한 신호를 입력하여 가산한 후 상기 행렬 B 곱셈기(1619) 및 스위치(1627)로 출력한다. 여기서, 상기 가산기(1617)는 비트별로 배타적 논리합 연산을 수행한다. 일 예로, 길이 3인 벡터 x = (x1, x2, x3)와 길이 3인 벡터 y = (y1, y2, y3)가 상기 가산기(1617)로 입력될 경우, 상기 가산기(1617)는 상기 길이 3인 벡터 x = (x1, x2, x3)와 길이 3인 벡터 y = (y1, y2, y3)를 배타적 논리합 연산하여 길이 3인 벡터

Figure 112005002202285-PAT00084
를 출력한다. 여기서, 상기
Figure 112005002202285-PAT00085
연산은 동일한 비트가 연산되면 0이 되고, 상이한 비트가 연산되면 1이 되는 배타적 논리합 연산을 나타낸다. 결국, 상기 가산기(1617)에서 출력하는 신호가 제1패리티 벡터(
Figure 112005002202285-PAT00086
)가 되는 것이다. The adder 1617 inputs and adds the signal output from the matrix ET -1 multiplier 1615 and the signal output from the matrix C multiplier 1613, and then adds the signal to the matrix B multiplier 1619 and the switch 1627. Output Here, the adder 1617 performs an exclusive OR operation for each bit. For example, when a vector of length 3 x = (x 1 , x 2 , x 3 ) and a vector of length y = (y 1 , y 2 , y 3 ) are input to the adder 1617, the adder ( 1617) performs an exclusive OR on the vector of length 3, x = (x 1 , x 2 , x 3 ) and the length of vector y = (y 1 , y 2 , y 3 ).
Figure 112005002202285-PAT00084
Outputs Where
Figure 112005002202285-PAT00085
An operation represents an exclusive OR operation, which is 0 when the same bit is operated on, and 1 when different bits are operated on. As a result, the signal output from the adder 1617 becomes the first parity vector (
Figure 112005002202285-PAT00086
)

또한, 상기 행렬 B 곱셈기(1619)는 상기 가산기(1617)에서 출력한 신호, 즉 제1패리티 벡터(

Figure 112005002202285-PAT00087
)를 입력하여 상기 전체 패리티 검사 행렬의 부분 행렬 B를 곱한 후 상기 가산기(1621)로 출력한다. 상기 가산기(1621)는 상기 행렬 B 곱셈기(1619)에서 출력한 신호와 상기 행렬 A 곱셈기(1611)에서 출력한 신호를 가산한 후 상기 행렬 ET-1 곱셈기(1623)로 출력한다. 여기서, 상기 가산기(1621)는 상기 가산기(1617)에서 설명한 바와 같이 상기 행렬 B 곱셈기(1619)에서 출력한 신호와 상기 행렬 A 곱셈기(1611)에서 출력한 신호를 배타적 논리합 연산한 후 상기 행렬 ET-1 곱셈기(1623)로 출력하는 것이다.In addition, the matrix B multiplier 1619 outputs a signal output from the adder 1617, that is, a first parity vector (
Figure 112005002202285-PAT00087
) Is multiplied by the partial matrix B of the entire parity check matrix and output to the adder 1621. The adder 1621 adds the signal output from the matrix B multiplier 1619 and the signal output from the matrix A multiplier 1611 and outputs the result to the matrix ET -1 multiplier 1623. Here, the adder 1621 performs an exclusive OR on the signal output from the matrix B multiplier 1619 and the signal output from the matrix A multiplier 1611 as described in the adder 1617, and then performs the matrix ET −. It is output to the 1 multiplier (1623).

상기 행렬 ET-1 곱셈기(1623)는 상기 가산기(1621)에서 출력한 신호와 상기 행렬 ET-1를 곱한 후 상기 스위치(1629)로 출력한다. 여기서, 상기 행렬 ET-1 곱셈기(1623)의 출력이 결국 제2패리티 벡터(

Figure 112005002202285-PAT00088
)가 되는 것이다. 한편, 상기 스위치들(1625, 1627, 1629) 각각은 자신이 전송하는 시점에서만 스위칭 온(switching on)되어 해당 신호를 전송하도록 한다. 즉, 상기 정보어 벡터(
Figure 112005002202285-PAT00089
)가 전송되는 시점에서는 상기 스위치(1625)가 스위칭 온되고, 상기 제1패리티 벡터(
Figure 112005002202285-PAT00090
)가 전송되는 시점에서는 상기 스위치(1627)가 스위칭 온되고, 상기 제2패리티 벡터(
Figure 112005002202285-PAT00091
)가 전송되는 시점에서는 상기 스위치(1629)가 스위칭 온되는 것이다.The matrix ET -1 multiplier 1623 multiplies the signal output from the adder 1621 by the matrix ET -1 and outputs the result to the switch 1629. Here, the output of the matrix ET -1 multiplier 1623 eventually results in a second parity vector (
Figure 112005002202285-PAT00088
) On the other hand, each of the switches 1625, 1627, 1629 are switched on only at the time of their transmission to transmit the corresponding signal. That is, the information word vector (
Figure 112005002202285-PAT00089
Is transmitted, the switch 1625 is switched on and the first parity vector (
Figure 112005002202285-PAT00090
Is transmitted, the switch 1627 is switched on and the second parity vector (
Figure 112005002202285-PAT00091
Is transmitted, the switch 1629 is switched on.

상기에서는 효율적인 부호화를 고려한 가변 길이 블록 LDPC 부호의 생성 방법에 대해서 설명하였다. 상기에서 설명한 바와 같이 가변 길이 블록 LDPC 부호는 가변 길이 블록 LDPC 부호의 구조적인 특성에 따라 패리티 검사 행렬에 관련된 정보를 저장하기 위한 메모리 효율이 뛰어날 뿐만 아니라, 패리티 검사 행렬에서 부분 행렬을 적절하게 선택함으로써 효율적인 부호화가 가능하게 된다. 그러나, 블록 단위로 패리티 검사 행렬을 생성함에 따라 불규칙성(randomness)은 감소하게 되고, 상기 불규칙성의 감소는 블록 LDPC 부호의 성능의 열화를 발생시킬 수 있다. 즉, 상기에서 설명한 바와 같이 불균일 블록 LDPC 부호가 균일 블록 LDPC 부호에 비해서 성능이 좋기 때문에, 블록 LDPC 부호를 설계함에 있어 전체 패리티 검사 행렬에서 부분 행렬을 선택하는 것은 매우 중요한 요소로 작용하게 된다.In the above, a method of generating a variable length block LDPC code considering efficient encoding has been described. As described above, the variable length block LDPC code is excellent in memory efficiency for storing information related to the parity check matrix according to the structural characteristics of the variable length block LDPC code, and by appropriately selecting a partial matrix from the parity check matrix. Efficient coding becomes possible. However, as the parity check matrix is generated on a block basis, randomness is reduced, and the reduction of the irregularity may cause degradation of the performance of the block LDPC code. That is, as described above, since the nonuniform block LDPC code has better performance than the uniform block LDPC code, it is very important to select the partial matrix from the entire parity check matrix when designing the block LDPC code.

그러면 여기서 도 11을 참조하여 부호화율 1/2일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a concrete generation method of the variable length block LDPC code at the code rate 1/2 will be described with reference to FIG. 11.

상기 도 11은 본 발명의 제1실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.11 is a diagram illustrating a parity check matrix of a variable length block LDPC code according to the first embodiment of the present invention.

상기 도 11을 설명하기에 앞서, 상기 본 발명의 제1실시예는 부호화율이 1/2일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 11을 참조하면, 먼저 상기 부분 행렬의 크기인 Ns 값을 4, 8, 12, 16, 20, 24, 32, 36, 40이라고 가정할 경우 상기 도 11에 도시한 바와 같은 패리티 검사 행렬을 사용하여 길이 96, 192, 288, 384, 480, 576, 672, 768, 864, 960인 블록 LDPC 부호를 생성할 수 있다. 상기 도 11에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로(modulo) 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다. Before describing FIG. 11, the first embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when the coding rate is 1/2. Referring to FIG. 11, when the N s value, which is the size of the partial matrix, is assumed to be 4, 8, 12, 16, 20, 24, 32, 36, and 40, the parity check matrix as shown in FIG. Block LDPC codes having lengths of 96, 192, 288, 384, 480, 576, 672, 768, 864, and 960 can be generated. A value written in each of the blocks, ie, partial matrices, illustrated in FIG. 11 represents an exponent value of a permutation matrix. Accordingly, when a modulo operation of an N s value corresponding to the size of the partial matrix is modulated to an index value of the permutation matrix, a permutation matrix index value of a parity check matrix of a block LDPC code having the N s value may be obtained. . Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 12를 참조하여 부호화율 2/3일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a specific generation method of the variable length block LDPC code at the code rate 2/3 will be described with reference to FIG. 12.

상기 도 12는 본 발명의 제2실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.12 is a diagram illustrating a parity check matrix of a variable length block LDPC code according to a second embodiment of the present invention.

상기 도 12를 설명하기에 앞서, 상기 본 발명의 제2실시예는 부호화율이 2/3일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 12를 참조하면, 먼저 상기 부분 행렬의 크기인 Ns 값을 8,16이라고 가정할 경우 상기 도 12에 도시한 바와 같은 패리티 검사 행렬을 사용하여 길이 288, 576인 블록 LDPC 부호를 생성할 수 있다. 상기 도 12에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다. 12, the second embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when the coding rate is 2/3. Referring to FIG. 12, when assuming that N s , the size of the partial matrix, is 8,16, a block LDPC code having a length of 288 and 576 is generated using a parity check matrix as shown in FIG. 12. Can be. A value written in each of the blocks, ie, partial matrices, illustrated in FIG. 12 represents an exponent value of a permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 13을 참조하여 부호화율 3/4일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a specific generation method of the variable length block LDPC code when the code rate is 3/4 will be described with reference to FIG. 13.

상기 도 13은 본 발명의 제3실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.13 is a diagram illustrating a parity check matrix of a variable length block LDPC code according to a third embodiment of the present invention.

상기 도 13을 설명하기에 앞서, 상기 본 발명의 제3실시예는 부호화율이 3/4 일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 13을 참조하면, 먼저 상기 부분 행렬의 크기인 Ns 값을 3, 6, 9, 12, 15, 18이라고 가정할 경우 상기 도 13에 도시한 바와 같은 패리티 검사 행렬을 사용하여 길이 96, 192, 288, 384, 480, 576인 가변 길이 블록 LDPC 부호를 생성할 수 있다. 상기 도 13에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다. Before describing FIG. 13, the third embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when a coding rate is 3/4. Referring to FIG. 13, if it is assumed that the value of N s , which is the size of the partial matrix, is 3, 6, 9, 12, 15, or 18, the length 96, using the parity check matrix as shown in FIG. Variable length block LDPC codes of 192, 288, 384, 480, and 576 may be generated. A value written in each of the blocks illustrated in FIG. 13, that is, partial matrixes, indicates an exponent value of a permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 14를 참조하여 부호화율 5/6일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a specific generation method of the variable length block LDPC code when the code rate is 5/6 will be described with reference to FIG. 14.

상기 도 14는 본 발명의 제4실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.14 illustrates a parity check matrix of a variable length block LDPC code according to a fourth embodiment of the present invention.

상기 도 14를 설명하기에 앞서, 상기 본 발명의 제4실시예는 부호화율이 5/6일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 14를 참조하면, 먼저 상기 부분 행렬의 크기인 Ns 값을 8, 16이라고 가정할 경우 상기 도 14에 도시한 바와 같은 패리티 검사 행렬을 사용하여 길이 288, 576인 블록 LDPC 부호를 생성할 수 있다. 상기 도 14에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다.Before describing FIG. 14, the fourth embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when a coding rate is 5/6. Referring to FIG. 14, first, when assuming that N s values of the partial matrix are 8 and 16, a block LDPC code having lengths 288 and 576 may be generated using a parity check matrix as shown in FIG. 14. Can be. A value written in each of the blocks, ie, partial matrices, illustrated in FIG. 14 represents an exponent value of a permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 18을 참조하여 부호화율 1/2일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a specific generation method of the variable length block LDPC code at the code rate 1/2 will be described with reference to FIG. 18.

상기 도 18은 본 발명의 제5실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.18 is a diagram illustrating a parity check matrix of a variable length block LDPC code according to a fifth embodiment of the present invention.

상기 도 18을 설명하기에 앞서, 상기 본 발명의 제1실시예는 부호화율이 1/2일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 18을 참조하면, 도시되어 있는 패리티 검사 행렬을 사용하여 상기 부분 행렬의 크기인 Ns 값에 따라 길이가 48Ns인 블록 LDPC 부호를 생성할 수 있다. 상기 도 18에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다.Before describing FIG. 18, the first embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when the coding rate is 1/2. Referring to FIG. 18, a block LDPC code having a length of 48N s may be generated according to an N s value of the size of the partial matrix using the illustrated parity check matrix. A value written in each of the partial blocks, i.e., partial matrices, illustrated in FIG. 18 represents an exponent value of a permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 19를 참조하여 부호화율 2/3일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, with reference to FIG. 19, a concrete generation method of the variable length block LDPC code when the code rate is 2/3 will be described.

상기 도 19는 본 발명의 제6실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.19 illustrates a parity check matrix of a variable length block LDPC code according to a sixth embodiment of the present invention.

상기 도 19를 설명하기에 앞서, 상기 본 발명의 제6실시예는 부호화율이 2/3일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 19를 참조하면, 도시되어 있는 패리티 검사 행렬을 사용하여 상기 부분 행렬의 크기인 Ns 값에 따라 길이가 48Ns인 블록 LDPC 부호를 생성할 수 있다. 상기 도 19에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다. Before describing FIG. 19, the sixth embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when a coding rate is 2/3. Referring to FIG. 19, a block LDPC code having a length of 48N s may be generated according to an N s value of the size of the partial matrix using the illustrated parity check matrix. The values written in each of the blocks, ie, partial matrices, illustrated in FIG. 19 represent exponent values of the permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 20을 참조하여 부호화율 3/4일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a specific generation method of the variable length block LDPC code when the code rate is 3/4 will be described with reference to FIG. 20.

상기 도 20은 본 발명의 제7실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다. 20 illustrates a parity check matrix of a variable length block LDPC code according to a seventh embodiment of the present invention.                     

상기 도 20을 설명하기에 앞서, 상기 본 발명의 제7실시예는 부호화율이 3/4일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 20을 참조하면, 도시되어 있는 패리티 검사 행렬을 사용하여 상기 부분 행렬의 크기인 Ns 값에 따라 길이가 48Ns인 블록 LDPC 부호를 생성할 수 있다. 상기 도 20에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다. 20, the seventh embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when a coding rate is 3/4. Referring to FIG. 20, a block LDPC code having a length of 48N s may be generated according to an N s value of the size of the partial matrix using the illustrated parity check matrix. A value written in each of the partial blocks, i.e., partial matrixes, illustrated in FIG. 20 represents an exponent value of a permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 21을 참조하여 부호화율 3/4일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a specific generation method of the variable length block LDPC code when the code rate is 3/4 will be described with reference to FIG. 21.

상기 도 21은 본 발명의 제8실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.21 is a diagram illustrating a parity check matrix of a variable length block LDPC code according to an eighth embodiment of the present invention.

상기 도 21을 설명하기에 앞서, 상기 본 발명의 제8실시예는 부호화율이 3/4일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 21을 참조하면, 도시되어 있는 패리티 검사 행렬을 사용하여 상기 부분 행렬의 크기인 Ns 값에 따라 길이가 48Ns인 블록 LDPC 부호를 생성할 수 있다. 상기 도 21에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다.Before describing FIG. 21, the eighth embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when the coding rate is 3/4. Referring to FIG. 21, a block LDPC code having a length of 48N s may be generated according to an N s value of the size of the partial matrix using the illustrated parity check matrix. A value written in each of the blocks, ie, partial matrices, illustrated in FIG. 21 represents an exponent value of a permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 22를 참조하여 부호화율 1/2일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a specific generation method of the variable length block LDPC code at the code rate 1/2 will be described with reference to FIG. 22.

상기 도 22는 본 발명의 제9실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.22 is a diagram illustrating a parity check matrix of a variable length block LDPC code according to a ninth embodiment of the present invention.

상기 도 22를 설명하기에 앞서, 상기 본 발명의 제9실시예는 부호화율이 1/2일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 22를 참조하면, 도시되어 있는 패리티 검사 행렬을 사용하여 상기 부분 행렬의 크기인 Ns 값에 따라 길이가 24Ns인 블록 LDPC 부호를 생성할 수 있다. 상기 도 22에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다.Before describing FIG. 22, the ninth embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when a coding rate is 1/2. Referring to FIG. 22, a block LDPC code having a length of 24N s may be generated according to an N s value of the size of the partial matrix using the illustrated parity check matrix. A value written in each of the blocks illustrated in FIG. 22, that is, the partial matrices represents an exponent value of the permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 23을 참조하여 부호화율 1/2일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a specific generation method of the variable length block LDPC code at the code rate 1/2 will be described with reference to FIG. 23.

상기 도 23은 본 발명의 제10실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.23 is a diagram illustrating a parity check matrix of a variable length block LDPC code according to a tenth embodiment of the present invention.

상기 도 23을 설명하기에 앞서, 상기 본 발명의 제10실시예는 부호화율이 1/2일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 23을 참조하면, 도시되어 있는 패리티 검사 행렬을 사용하여 상기 부분 행렬의 크기인 Ns 값에 따라 길이가 24Ns인 블록 LDPC 부호를 생성할 수 있다. 상기 도 23에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다.Before describing FIG. 23, the tenth embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when a coding rate is 1/2. Referring to FIG. 23, a block LDPC code having a length of 24N s may be generated according to an N s value of the size of the partial matrix using the illustrated parity check matrix. A value written in each of the blocks illustrated in FIG. 23, that is, the partial matrices represents an exponent value of the permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 24를 참조하여 부호화율 2/3일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a specific generation method of the variable length block LDPC code at the code rate 2/3 will be described with reference to FIG. 24.

상기 도 24는 본 발명의 제11실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다. 24 is a diagram illustrating a parity check matrix of a variable length block LDPC code according to an eleventh embodiment of the present invention.                     

상기 도 24를 설명하기에 앞서, 상기 본 발명의 제11실시예는 부호화율이 2/3일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 24를 참조하면, 도시되어 있는 패리티 검사 행렬을 사용하여 상기 부분 행렬의 크기인 Ns 값에 따라 길이가 24Ns인 블록 LDPC 부호를 생성할 수 있다. 상기 도 24에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다.Before describing FIG. 24, the eleventh embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when a coding rate is 2/3. Referring to FIG. 24, a block LDPC code having a length of 24N s may be generated according to an N s value of the size of the partial matrix using the illustrated parity check matrix. The values written in each of the blocks illustrated in FIG. 24, that is, the partial matrices, represent exponent values of the permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 25를 참조하여 부호화율 2/3일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a method of generating a variable length block LDPC code at a code rate of 2/3 will be described with reference to FIG. 25.

상기 도 25는 본 발명의 제12실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.25 is a diagram illustrating a parity check matrix of a variable length block LDPC code according to a twelfth embodiment of the present invention.

상기 도 25를 설명하기에 앞서, 상기 본 발명의 제12실시예는 부호화율이 2/3일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 25를 참조하면, 도시되어 있는 패리티 검사 행렬을 사용하여 상기 부분 행렬의 크기인 Ns 값에 따라 길이가 24Ns인 블록 LDPC 부호를 생성할 수 있다. 상기 도 25에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지 수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다.25, a twelfth embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when a coding rate is 2/3. Referring to FIG. 25, a block LDPC code having a length of 24N s may be generated according to an N s value of the size of the partial matrix using the illustrated parity check matrix. A value written in each of the blocks illustrated in FIG. 25, that is, the partial matrices represents an exponent value of the permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 26을 참조하여 부호화율 1/2일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a specific generation method of the variable length block LDPC code when the coding rate is 1/2 will be described with reference to FIG. 26.

상기 도 26은 본 발명의 제13실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.26 is a diagram illustrating a parity check matrix of a variable length block LDPC code according to a thirteenth embodiment of the present invention.

상기 도 26을 설명하기에 앞서, 상기 본 발명의 제13실시예는 부호화율이 1/2일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 26을 참조하면, 도시되어 있는 패리티 검사 행렬을 사용하여 상기 부분 행렬의 크기인 Ns 값에 따라 길이가 24Ns인 블록 LDPC 부호를 생성할 수 있다. 상기 도 26에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다.Before describing FIG. 26, the thirteenth embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when a coding rate is 1/2. Referring to FIG. 26, a block LDPC code having a length of 24N s may be generated according to an N s value of the size of the partial matrix using the illustrated parity check matrix. The values written in each of the blocks illustrated in FIG. 26, that is, partial matrixes, represent exponent values of the permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 27을 참조하여 부호화율 1/2일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a specific generation method of the variable length block LDPC code at the code rate 1/2 will be described with reference to FIG. 27.

상기 도 27은 본 발명의 제14실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.27 illustrates a parity check matrix of a variable length block LDPC code according to a fourteenth embodiment of the present invention.

상기 도 27을 설명하기에 앞서, 상기 본 발명의 제14실시예는 부호화율이 1/2일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 27을 참조하면, 도시되어 있는 패리티 검사 행렬을 사용하여 상기 부분 행렬의 크기인 Ns 값에 따라 길이가 24Ns인 블록 LDPC 부호를 생성할 수 있다. 상기 도 27에 도시되어 있는 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다.27, a fourteenth embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when a coding rate is 1/2. Referring to FIG. 27, a block LDPC code having a length of 24N s may be generated according to an N s value of the size of the partial matrix using the illustrated parity check matrix. The values written in each of the blocks illustrated in FIG. 27, that is, partial matrixes, represent exponent values of the permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

다음으로 도 28을 참조하여 부호화율 2/3일 경우의 가변 길이 블록 LDPC 부호의 구체적인 생성 방법에 대해서 설명하기로 한다.Next, a specific generation method of the variable length block LDPC code when the code rate is 2/3 will be described with reference to FIG. 28.

상기 도 28은 본 발명의 제15실시예에 따른 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 도시한 도면이다. 28 illustrates a parity check matrix of a variable length block LDPC code according to a fifteenth embodiment of the present invention.                     

상기 도 28을 설명하기에 앞서, 상기 본 발명의 제15실시예는 부호화율이 2/3일 경우의 가변 길이 블록 LDPC 부호의 패리티 검사 행렬을 제안한다. 상기 도 28을 참조하면, 도시되어 있는 패리티 검사 행렬을 사용하여 부분 블록의 크기인 Ns 값에 따라 길이가 24Ns인 블록 LDPC 부호를 생성할 수 있다. 상기 도 28에 도시되어 있는 부분 블록들, 즉 부분 행렬들 각각에 표기되어 있는 값은 순열 행렬의 지수 값을 나타낸다. 따라서, 상기 순열 행렬의 지수값에 상기 부분 행렬의 크기에 해당하는 Ns 값을 모듈로 연산하면 상기 Ns 값을 가지는 블록 LDPC 부호의 패리티 검사 행렬의 순열 행렬 지수 값을 구할 수 있다. 여기서, 상기 순열 행렬의 지수가 상기 Ns 값으로 모듈로 연산을 수행했을 때 그 결과값이 0일 경우 해당 순열 행렬은 항등 행렬이 되는 것이다.28, the fifteenth embodiment of the present invention proposes a parity check matrix of a variable length block LDPC code when a code rate is 2/3. Referring to FIG. 28, a block LDPC code having a length of 24N s may be generated according to an N s value of a size of a partial block using the illustrated parity check matrix. The values written in each of the partial blocks, that is, the partial matrices illustrated in FIG. 28, represent exponent values of the permutation matrix. Accordingly, when the N s value corresponding to the size of the partial matrix is modulated by the index value of the permutation matrix, the permutation matrix index value of the parity check matrix of the block LDPC code having the N s value can be obtained. Here, when the index of the permutation matrix is modulo operation with the N s value, and the result value is 0, the permutation matrix becomes an identity matrix.

한편, 상기 LDPC 부호 계열의 모든 부호들은 factor 그래프 상에서 합곱 알고리즘(sum-product algorithm)으로 복호화가 가능하다. 상기 LDPC 부호의 복호화 방식은 크게 양방향 전달 방식과 흐름 전달 방식으로 분류할 수 있다. 상기 양방향 전달 방식으로 복호화 동작을 수행할 경우에는 검사 노드(check node) 당 노드 프로세서(processor)가 각각 존재하여 복호화기의 복잡도가 상기 검사 노드들의 개수에 비례하여 복잡해지지만, 모든 노드들이 동시에 업데이트되므로 복호화 속도가 굉장히 빨라진다.Meanwhile, all codes of the LDPC code sequence can be decoded by a sum-product algorithm on a factor graph. The decoding method of the LDPC code can be largely classified into a bidirectional transfer method and a flow transfer method. When the decoding operation is performed by the bidirectional transfer method, a node processor per check node is present so that the complexity of the decoder becomes complicated in proportion to the number of check nodes, but all nodes are updated at the same time. The decoding speed is very fast.

이와는 달리 상기 흐름 전달 방식은 한 개의 노드 프로세서가 존재하여 모든 factor 그래프 상의 노드를 지나가며 정보를 업데이트하게 된다. 따라서, 복호화기 의 복잡도는 간단해지지만 패리티 검사 행렬의 크기가 커질수록 즉, 노드들의 개수가 증가할수록 복호화 속도가 느려지게 된다. 하지만 본 발명에서 제안하는 부호율에 상응하게 다양한 블록 길이를 가지는 가변 길이 블록 LDPC 부호와 같이 블록 단위로 패리티 검사 행렬을 생성하게 되면, 복호화시 상기 패리티 검사 행렬을 구성하고 있는 블록들의 개수만큼의 노드 프로세서를 이용하므로 상기 양방향 전달 방식보다는 복호화기 복잡도가 감소되며, 또한 상기 흐름 전달 방식보다는 복호화 속도가 빠른 복호화기를 구현할 수 있다.In contrast, the flow transfer method has a single node processor, which updates information by passing through nodes on all factor graphs. Therefore, the complexity of the decoder is simplified, but as the size of the parity check matrix increases, that is, as the number of nodes increases, the decoding speed becomes slow. However, when a parity check matrix is generated in units of blocks, such as a variable length block LDPC code having various block lengths corresponding to the code rate proposed by the present invention, as many nodes as the number of blocks constituting the parity check matrix are decoded. The processor reduces the complexity of the decoder rather than the bidirectional delivery scheme, and can implement a decoder having a faster decoding speed than the flow transfer scheme.

다음으로 도 17을 참조하여 본 발명의 실시예들에 따른 패리티 검사 행렬을 사용하여 가변 길이 블록 LDPC 부호를 복호화하는 복호화 장치 내부 구조에 대해서 설명하기로 한다.Next, an internal structure of a decoding apparatus for decoding a variable length block LDPC code using a parity check matrix according to embodiments of the present invention will be described with reference to FIG. 17.

상기 도 17을 참조하면, 상기 가변 길이 블록 LDPC 부호의 복호화 장치는 블록 제어기(block controller)(1710)와, 변수 노드 파트(1700)와, 가산기(1715)와, 디인터리버(de-interleaver)(1717)와, 인터리버(interleaver)(1719)와, 제어기(1721)와, 메모리(1723)와, 가산기(1725)와, 검사 노드 파트(1750)와, 경판정기(1729)로 구성된다. 상기 변수 노드 파트(1700)는 변수 노드 복호화기(1711)와, 스위치들(1713,1714)로 구성되고, 상기 검사 노드 파트(1750)는 검사 노드 복호화기(1727)로 구성된다.Referring to FIG. 17, the apparatus for decoding a variable length block LDPC code includes a block controller 1710, a variable node part 1700, an adder 1715, and a de-interleaver ( 1717, an interleaver 1725, a controller 1721, a memory 1723, an adder 1725, an inspection node part 1750, and a hard determiner 1729. The variable node part 1700 includes a variable node decoder 1711 and switches 1713 and 1714, and the check node part 1750 includes a check node decoder 1727.

먼저, 무선 채널을 통해 수신되는 수신 신호는 상기 블록 제어기(1710)로 입력된다. 상기 블록 제어기(1710)는 상기 수신 신호의 블록 크기를 결정하며, 또한 상기 복호화 장치에 대응하는 부호화 장치에서 천공된 정보어 부분이 존재할 경우, 상기 천공된 정보어 부분에 0을 삽입하여 전체 블록 크기를 조정한 후 상기 변수 노드 복호화기(1711)로 출력한다. First, a received signal received through a wireless channel is input to the block controller 1710. The block controller 1710 determines the block size of the received signal, and if there is a punctured information word portion in the encoding apparatus corresponding to the decoding apparatus, the block controller 1710 inserts 0 into the punctured information word portion to determine the total block size. After the control is adjusted, the variable node decoder 1711 is output.

상기 변수 노드 복호화기(1711)는 상기 블록 제어기(1710)에서 출력한 신호를 입력하고, 상기 블록 제어기(1710)에서 출력한 신호의 확률값들을 계산하고, 상기 계산된 확률값들을 업데이트한 후 상기 스위치(1713) 및 상기 스위치(1714)로 출력한다. 여기서, 상기 변수 노드 복호화기(1711)는 상기 불균일 블록 LDPC 부호의 복호화 장치에 미리 설정되어 있는 패리티 검사 행렬에 상응하게 변수 노드들을 연결하며, 상기 변수 노드들에 연결된 1의 개수만큼의 입력값과 출력값을 갖는 업데이트 연산이 수행된다. 상기 변수 노드들 각각에 연결된 1의 개수는 상기 패리티 검사 행렬을 구성하는 열들 각각의 웨이트와 동일하다. 따라서, 상기 패리티 검사 행렬을 구성하는 열들 각각의 웨이트에 따라 상기 변수 노드 복호화기(1711)의 내부 연산이 상이하게 된다. 상기 스위치(1714)는 상기 스위치(1713)가 스위칭 온될 경우만을 제외하고, 즉 상기 스위치(1713)가 스위칭 오프될 경우만을 제외하고 스위칭 온되어 상기 블록 제어기(1710)에서 출력하는 신호를 상기 가산기(1715)로 전달한다. The variable node decoder 1711 inputs a signal output from the block controller 1710, calculates probability values of the signal output from the block controller 1710, updates the calculated probability values, and then switches the switch ( 1713 and the switch 1714. Here, the variable node decoder 1711 connects variable nodes corresponding to a parity check matrix preset in the decoding apparatus of the nonuniform block LDPC code, and inputs as many as 1 input values connected to the variable nodes. An update operation with an output value is performed. The number of 1s connected to each of the variable nodes is equal to the weight of each of the columns constituting the parity check matrix. Therefore, the internal operation of the variable node decoder 1711 is different according to the weight of each column constituting the parity check matrix. The switch 1714 is switched on except for when the switch 1713 is switched on, that is, only when the switch 1713 is switched off, and outputs a signal output from the block controller 1710 to the adder ( 1715).

상기 가산기(1715)는 상기 변수 노드 복호화기(1711)에서 출력한 신호와 이전 반복 복호화(iteration decoding) 과정에서의 상기 인터리버(1719)의 출력 신호를 입력하고, 상기 변수 노드 복호화기(1711)에서 출력한 신호에서 이전 반복 복호화 과정에서의 상기 인터리버(1719)의 출력 신호를 감산한 후 상기 디인터리버(1717)로 출력한다. 여기서, 상기 복호화 과정이 최초의 복호화 과정일 경우, 상기 인터리버(1719)의 출력 신호는 0이라고 간주해야함은 물론이다. The adder 1715 inputs the signal output from the variable node decoder 1711 and the output signal of the interleaver 1917 during a previous iteration decoding process, and the variable node decoder 1711 The output signal of the interleaver 1719 in the previous iterative decoding process is subtracted from the output signal and then output to the deinterleaver 1917. Here, of course, when the decoding process is the first decoding process, the output signal of the interleaver 1719 should be regarded as 0.

상기 디인터리버(1717)는 상기 가산기(1715)에서 출력한 신호를 입력하여 미리 설정되어 있는 설정 방식에 상응하게 디인터리빙(de-interleaving)한 후 상기 가산기(1725)와 검사 노드 복호화기(1727)로 출력한다. 여기서, 상기 디인터리버(1717)의 내부 구조는 상기 패리티 검사 행렬에 상응하는 구조를 가지며, 그 이유는 상기 패리티 검사 행렬의 1의 값을 가지는 엘리먼트들의 위치에 따라 상기 디인터리버(1717)에 대응하는 인터리버(1719)의 입력값에 대한 출력값이 상이해지기 때문이다. The deinterleaver 1725 receives the signal output from the adder 1715 and de-interleaves the signal according to a preset setting method, and then the adder 1725 and the check node decoder 1727. Will output Here, the internal structure of the deinterleaver 1917 has a structure corresponding to the parity check matrix, for the reason that the deinterleaver 1917 corresponds to the position of elements having a value of 1 in the parity check matrix. This is because the output value with respect to the input value of the interleaver 1917 is different.

상기 가산기(1725)는 이전 반복 복호화 과정에서의 상기 검사 노드 복호화기(1727)의 출력 신호와 상기 디인터리버(1717)의 출력 신호를 입력하고, 상기 이전 반복 복호화 과정에서의 상기 검사 노드 복호화기(1727)의 출력 신호에서 상기 디인터리버(1717)의 출력 신호를 감산한 후 상기 인터리버(1719)로 출력한다. 상기 검사 노드 복호화기(1727)는 상기 블록 LDPC 부호의 복호화 장치에 미리 설정되어 있는 패리티 검사 행렬에 상응하게 검사 노드들을 연결하며, 상기 검사 노드들에 연결된 1의 개수만큼의 입력값과 출력값을 갖는 업데이트 연산이 수행된다. 상기 검사 노드들 각각에 연결된 1의 개수는 상기 패리티 검사 행렬을 구성하는 행들 각각의 웨이트와 동일하다. 따라서, 상기 패리티 검사 행렬을 구성하는 행들 각각의 웨이트에 따라 상기 검사 노드 복호화기(1727)의 내부 연산이 상이하게 된다. The adder 1725 receives an output signal of the check node decoder 1727 and an output signal of the deinterleaver 1725 in a previous iterative decoding process, and adds the check node decoder in the previous iterative decoding process ( The output signal of the deinterleaver 1917 is subtracted from the output signal of 1727 and then output to the interleaver 1917. The check node decoder 1725 connects check nodes according to a parity check matrix preset in the decoding apparatus of the block LDPC code, and has an input value and an output value equal to 1 connected to the check nodes. Update operation is performed. The number of 1s connected to each of the check nodes is equal to the weight of each of the rows constituting the parity check matrix. Therefore, the internal operation of the check node decoder 1725 is different according to the weight of each of the rows constituting the parity check matrix.

여기서, 상기 인터리버(1719)는 상기 제어기(1721)의 제어에 따라 미리 설정되어 있는 설정 방식으로 상기 가산기(1725)에서 출력한 신호를 인터리빙한 후 상 기 가산기(1715) 및 상기 변수 노드 복호화기(1711)로 출력한다. 여기서, 상기 제어기(1721)는 상기 메모리(1723)에 저장되어 있는 인터리빙 방식에 관련된 정보를 읽어 상기 인터리버(1719)의 인터리빙 방식을 제어하게 되는 것이다. 또한, 상기 복호화 과정이 최초의 복호화 과정일 경우에는 상기 디인터리버(1717)의 출력 신호는 0이라고 간주해야함은 물론이다. Here, the interleaver 1725 interleaves the signal output from the adder 1725 in a preset manner according to the control of the controller 1721, and then adds the adder 1715 and the variable node decoder ( 1711). Herein, the controller 1721 reads information related to the interleaving scheme stored in the memory 1723 to control the interleaving scheme of the interleaver 1719. In addition, when the decoding process is the first decoding process, the output signal of the deinterleaver 1917 should be regarded as 0.

상기와 같은 과정들을 반복적으로 수행함으로써 오류 없이 신뢰도 높은 복호화를 수행하며, 미리 설정한 설정 반복 회수에 해당하는 반복 복호화를 수행한 후에는 상기 스위치(1713)는 상기 변수 노드 복호화기(1711)와 가산기(1715)간을 스위칭 오프(switching off)한 후, 상기 변수 노드 복호화기(1711)와 경판정기(1729)간을 스위칭 온하여 상기 변수 노드 복호화기(1711)에서 출력한 신호가 상기 경판정기(1729)로 출력하도록 한다. 상기 경판정기(1729)는 상기 변수 노드 복호화기(1711)에서 출력한 신호를 입력하여 경판정한 후, 그 경판정 결과를 출력하게 되고, 상기 경판정기(1729)의 출력값이 최종적으로 복호화된 값이 되는 것이다. By repeatedly performing the above processes, a reliable decoding is performed without error. After performing the repeated decoding corresponding to a preset number of preset repetitions, the switch 1713 performs the variable node decoder 1711 and the adder. After switching off the signal 1715, the signal output from the variable node decoder 1711 is switched on between the variable node decoder 1711 and the hard determiner 1729. 1729). The hard determiner 1729 inputs the signal output from the variable node decoder 1711 to make a hard decision, and then outputs the hard decision result. The output value of the hard determiner 1729 is finally decoded. Will be.

한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by the equivalents of the claims.

상술한 바와 같은 본 발명은 이동 통신 시스템에서 최소 사이클 길이가 최대가 되는 가변 길이 블록 LDPC 부호를 제안함으로써 오류 정정 능력을 최대화시켜 시스템 성능을 향상시킨다는 이점을 가진다. 또한, 본 발명은 효율적인 패리티 검사 행렬을 생성함으로써 가변 길이 블록 LDPC 부호의 부호화 복잡도를 최소화시킨다는 이점을 가진다. 또한 가변 길이 블록 LDPC 부호의 부호화 복잡도를 블록 길이에 비례하게 만들어서 효율적인 부호화가 가능하도록 한다는 이점을 가진다. 특히, 본 발명은 다양한 부호화율에 적용 가능하면서도 다양한 블록 길이를 가지는 블록 LDPC 부호를 생성 가능하게 함으로써 하드웨어 복잡도를 최소화한다는 이점을 가진다. As described above, the present invention has the advantage of improving system performance by maximizing error correction capability by proposing a variable length block LDPC code having a maximum minimum cycle length in a mobile communication system. In addition, the present invention has the advantage of minimizing the coding complexity of the variable length block LDPC code by generating an efficient parity check matrix. In addition, the coding complexity of the variable length block LDPC code is made proportional to the block length, thereby enabling efficient encoding. In particular, the present invention has an advantage of minimizing hardware complexity by enabling generation of block LDPC codes having various block lengths while being applicable to various coding rates.

Claims (55)

블록 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호의 패리티 검사 행렬이 정보어에 대응되는 정보 파트와, 패리티에 대응되는 제1패리티 파트 및 제2패리티 파트로 구성되고, 에러 정정 성능을 향상시키기 위한 상기 패리티 검사 행렬을 생성하는 방법에 있어서,A parity check matrix of a block low density parity check (LDPC) code is composed of an information part corresponding to an information word, a first parity part and a second parity part corresponding to parity, and improve error correction performance. In the method for generating the parity check matrix for: 상기 정보어를 상기 블록 LDPC 부호로 부호화시 적용되는 부호화율과, 상기 블록 LDPC 부호의 부호어 길이가 상기 부호화율에서 지원 가능한, 미리 설정된 제1부호어 길이에 대응하도록 제1패리티 검사 행렬의 크기를 결정하는 제1과정과,A size of a first parity check matrix such that a code rate applied when the information word is encoded into the block LDPC code and a codeword length of the block LDPC code correspond to a preset first codeword length supported by the code rate The first process of determining 상기 결정된 크기의 제1패리티 검사 행렬을 미리 설정된 설정 개수의 블록들로 분할하는 제2과정과,A second process of dividing the first parity check matrix of the determined size into blocks of a preset number; 상기 블록들을 상기 정보 파트에 대응되는 블록들과, 상기 제1패리티 파트에 대응되는 블록들과, 상기 제2패리티 파트에 대응되는 블록들로 분류하는 제3과정과,A third process of classifying the blocks into blocks corresponding to the information part, blocks corresponding to the first parity part, and blocks corresponding to the second parity part; 상기 제1패리티 파트로 분류된 블록들중 미리 결정된 블록들에 순열 행렬들을 배열하고, 상기 제2패리티 파트로 분류된 블록들중 미리 결정된 블록들에 완전 하삼각 형태로 순열 행렬들을 배열하는 제4과정과,A fourth arrangement in which the permutation matrices are arranged in predetermined blocks among the blocks classified as the first parity part, and the permutation matrices in a completely lower triangular shape in the predetermined blocks among the blocks classified as the second parity part. Process, 상기 정보 파트로 분류된 블록들에 상기 블록 LDPC 부호의 팩터 그래프상의 최소 사이클 길이가 미리 설정된 제1사이클 길이가 되고, 웨이트가 불균일하도록 상기 순열 행렬들을 배열하는 제5과정을 포함함을 특징으로 하는 상기 방법. And a fifth process of arranging the permutation matrices such that the minimum cycle length on the factor graph of the block LDPC code becomes a preset first cycle length to blocks classified as the information part, and the weight is non-uniform. The method. 제1항에 있어서,The method of claim 1, 상기 제1패리티 검사 행렬을 생성한 후 상기 정보어를 상기 부호화율과, 상기 블록 LDPC 부호의 길이가 미리 설정한 제2부호어 길이에 대응하도록 제2패리티 검사 행렬의 크기를 결정하는 제6과정과,A sixth process of generating a first parity check matrix and determining a size of a second parity check matrix such that the information word corresponds to the coding rate and the length of the second codeword set in advance to the length of the block LDPC code; and, 상기 결정된 크기의 제2패리티 검사 행렬을 상기 설정 개수의 블록들로 분할하는 제7과정과,A seventh process of dividing the second parity check matrix of the determined size into blocks of the predetermined number; 상기 제7과정에서 분할된 블록들을 상기 정보 파트에 대응되는 블록들과, 상기 제1패리티 파트에 대응되는 블록들과, 상기 제2패리티 파트에 대응되는 블록들로 분류하는 제8과정과,An eighth process of classifying the blocks divided in the seventh process into blocks corresponding to the information part, blocks corresponding to the first parity part, and blocks corresponding to the second parity part; 상기 제8과정에서 상기 제1패리티 파트로 분류된 블록들중 미리 결정된 블록들에 상기 제4과정에서 상기 제1패리티 검사 행렬의 제1패리티 파트로 분류된 블록들중 상기 미리 결정된 블록들에 배열된 순열 행렬들의 지수를 상기 블록의 크기로 모듈로 연산한 지수를 가지는 순열 행렬들을 배열하고, 제8과정에서 상기 제2패리티 파트로 분류된 블록들중 미리 결정된 블록들에 완전 하삼각 형태로 순열 행렬들을 배열하는 제9과정과,Arranged in predetermined blocks among blocks classified as the first parity part in the eighth process and arranged in the predetermined blocks among blocks classified as the first parity part of the first parity check matrix in the fourth process. Permutation matrices having exponents obtained by modulating the exponents of the permutation matrices by the size of the block. The ninth process of arranging the matrices, 상기 제8과정에서 상기 정보 파트로 분류된 블록들에 상기 블록 LDPC 부호의 팩터 그래프상의 최소 사이클 길이가 미리 설정된 제2사이클 길이가 되고, 웨이트가 불균일하도록 상기 제1패리티 검사 행렬의 정보 파트로 분류된 블록들에 배열된 순열 행렬들의 지수를 상기 블록의 크기로 모듈로 연산한 지수를 가지는 상기 순열 행렬들을 배열하여 상기 제2패리티 검사 행렬을 생성하는 제10과정을 더 포함함을 특징으로 하는 상기 방법.In the eighth step, the minimum cycle length on the factor graph of the block LDPC code becomes the preset second cycle length to the blocks classified as the information part, and is classified as the information part of the first parity check matrix such that the weight is nonuniform. And a tenth step of generating the second parity check matrix by arranging the permutation matrices having an exponent of the exponential permutation matrices arranged in the divided blocks by the size of the block. Way. 제1항에 있어서,The method of claim 1, 상기 제4과정에서 완전 하삼각 형태로 배열되는 순열 행렬들은 항등 행렬들임을 특징으로 하는 상기 방법.The permutation matrices arranged in the full lower triangular form in the fourth process are identity matrices. 제2항에 있어서,The method of claim 2, 상기 제9과정에서 완전 하삼각 형태로 배열되는 순열 행렬들은 항등 행렬들임을 특징으로 하는 상기 방법.The permutation matrices arranged in the full lower triangular form in the ninth process are identity matrices. 제1항에 있어서,The method of claim 1, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 1과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 1 below when the coding rate is 1/2.
Figure 112005002202285-PAT00092
Figure 112005002202285-PAT00092
상기 표 1에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 1 represent the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 2와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 2 below when the coding rate is 2/3.
Figure 112005002202285-PAT00093
Figure 112005002202285-PAT00093
상기 표 2에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 2 represent the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 3/4일 경우 상기 제1패리티 검사 행렬은 하기 표 3과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 3 below when the coding rate is 3/4.
Figure 112005002202285-PAT00094
Figure 112005002202285-PAT00094
상기 표 3에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 3 indicate the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 5/6일 경우 상기 제1패리티 검사 행렬은 하기 표 4과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 4 below when the coding rate is 5/6.
Figure 112005002202285-PAT00095
Figure 112005002202285-PAT00095
상기 표 4에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 4 represent the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 5와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 5 below when the coding rate is 1/2.
Figure 112005002202285-PAT00096
Figure 112005002202285-PAT00096
상기 표 5에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 5 represent the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 6과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 6 below when the coding rate is 2/3.
Figure 112005002202285-PAT00097
Figure 112005002202285-PAT00097
상기 표 6에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 6 represent the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 3/4일 경우 상기 제1패리티 검사 행렬은 하기 표 7과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 7 below when the coding rate is 3/4.
Figure 112005002202285-PAT00098
Figure 112005002202285-PAT00098
상기 표 7에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 7 represent the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 3/4일 경우 상기 제1패리티 검사 행렬은 하기 표 8과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 8 when the coding rate is 3/4.
Figure 112005002202285-PAT00099
Figure 112005002202285-PAT00099
상기 표 8에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 8 represent the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 9와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 9 below when the coding rate is 1/2.
Figure 112005002202285-PAT00100
Figure 112005002202285-PAT00100
상기 표 9에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 9 represent the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 10과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 10 below when the coding rate is 1/2.
Figure 112005002202285-PAT00101
Figure 112005002202285-PAT00101
상기 표 10에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 10, the numbers represent exponents of the permutation matrix, and I is an index representing that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 11과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 11 below when the coding rate is 2/3.
Figure 112005002202285-PAT00102
Figure 112005002202285-PAT00102
상기 표 11에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 11, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 12와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as in Table 12 when the coding rate is 2/3.
Figure 112005002202285-PAT00103
Figure 112005002202285-PAT00103
상기 표 12에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 12 represent the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 13과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 13 below when the coding rate is 1/2.
Figure 112005002202285-PAT00104
Figure 112005002202285-PAT00104
상기 표 13에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 13, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 14와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 14 below when the coding rate is 1/2.
Figure 112005002202285-PAT00105
Figure 112005002202285-PAT00105
상기 표 14에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 14, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제1항에 있어서,The method of claim 1, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 15와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 15 below when the coding rate is 2/3.
Figure 112005002202285-PAT00106
Figure 112005002202285-PAT00106
상기 표 15에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 15, the numbers represent exponents of the permutation matrix, and I is an index indicating that the exponent of the permutation matrix is zero.
블록 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호의 복호화 장치에 있어서,In the decoding device of a block low density parity check (LDPC) code, 소정 제어에 따라 정보어에 대응되는 정보 파트와, 패리티에 대응되는 제1패리티 파트 및 제2패리티 파트로 구성되는 상기 패리티 검사 행렬을 구성하는 열들 각각의 웨이트에 상응하게 변수 노드들을 연결하여 수신 신호의 확률값들을 검출하여 출력하는 변수 노드 복호기와,A received signal by connecting variable nodes corresponding to weights of columns of the parity check matrix including an information part corresponding to an information word and a first parity part and a second parity part corresponding to parity according to a predetermined control. A variable node decoder for detecting and outputting probability values of 상기 변수 노드 복호기에서 출력한 신호에서 이전 복호시 생성된 신호를 감산하여 출력하는 제1가산기와,A first adder for subtracting and outputting a signal generated during the previous decoding from the signal output from the variable node decoder; 상기 제1가산기에서 출력한 신호를 입력하여 상기 패리티 검사 행렬에 상응하게 설정된 디인터리빙 방식으로 디인터리빙하여 출력하는 디인터리버와, A deinterleaver for inputting the signal output from the first adder to deinterleave and output the deinterleaving method according to the parity check matrix; 소정 제어에 따라 상기 패리티 검사 행렬을 구성하는 행들 각각의 웨이트에 상응하게 검사 노드들을 연결하여 상기 디인터리버에서 출력한 신호의 확률값들을 검출하여 출력하는 검사 노드 복호기와,A check node decoder configured to detect and output probability values of a signal output from the deinterleaver by connecting check nodes according to weights of the rows constituting the parity check matrix according to a predetermined control; 상기 검사 노드 복호기에서 출력한 신호에서 상기 디인터리버에서 출력한 신호를 감산하는 제2가산기와,A second adder for subtracting the signal output from the deinterleaver from the signal output from the check node decoder; 상기 제2가산기에서 출력한 신호를 상기 패리티 검사 행렬에 상응하게 설정된 인터리빙 방식으로 인터리빙하여 상기 변수 노드 복호기 및 상기 제1가산기로 출력하는 인터리버와,An interleaver for interleaving the signal output from the second adder in an interleaving scheme set corresponding to the parity check matrix and outputting the interleaved signal to the variable node decoder and the first adder; 상기 패리티 검사 행렬을 생성하고, 상기 디인터리빙 방식 및 인터리빙 방식을 상기 패리티 검사 행렬에 상응하게 제어하는 제어기를 포함함을 특징으로 하는 상기 장치. And a controller for generating the parity check matrix and controlling the deinterleaving scheme and the interleaving scheme according to the parity check matrix. 제20항에 있어서,The method of claim 20, 상기 제어기는 상기 정보어를 상기 블록 LDPC 부호로 부호화시 적용되는 부호화율과 부호어 길이에 대응하도록 패리티 검사 행렬의 크기를 결정하고, 상기 결정된 크기의 패리티 검사 행렬을 미리 설정된 설정 개수의 블록들로 분할하고, 상기 블록들을 상기 정보 파트에 대응되는 블록들과, 상기 제1패리티 파트에 대응되는 블록들과, 상기 제2패리티 파트에 대응되는 블록들로 분류하고, 상기 제1패리티 파트로 분류된 블록들중 미리 결정된 블록들에 순열 행렬들을 배열하고, 상기 제2패리티 파트로 분류된 블록들중 미리 결정된 블록들에 완전 하삼각 형태로 순열 행렬들을 배열한 후, 상기 정보 파트로 분류된 블록들에 상기 블록 LDPC 부호의 팩터 그래프상의 최소 사이클 길이가 미리 설정된 사이클 길이가 되고, 웨이트가 불균일하도록 상기 순열 행렬들을 배열하여 상기 패리티 검사 행렬을 생성함을 특징으로 하는 상기 장치.The controller determines a size of a parity check matrix to correspond to a coding rate and a codeword length applied when the information word is encoded into the block LDPC code, and converts the parity check matrix having the determined size into a predetermined number of blocks. And dividing the blocks into blocks corresponding to the information part, blocks corresponding to the first parity part, blocks corresponding to the second parity part, and classified into the first parity part. Arrange the permutation matrices in predetermined blocks of the blocks, arrange the permutation matrices in a completely lower triangular form into predetermined blocks among the blocks classified as the second parity part, and then block classified into the information part. The permutation matrix such that the minimum cycle length on the factor graph of the block LDPC code becomes a preset cycle length, and the weight is nonuniform. And the parity check matrix is generated by arranging the data. 제21항에 있어서,The method of claim 21, 상기 완전 하삼각 형태로 배열되는 순열 행렬들은 항등 행렬들임을 특징으로 하는 상기 장치.And said permutation matrices arranged in a perfect lower triangular form are identity matrices. 제21항에 있어서,The method of claim 21, 상기 부호화율이 1/2일 경우 상기 패리티 검사 행렬은 하기 표 16과 같이 표현됨을 특징으로 하는 상기 장치.The parity check matrix is expressed as shown in Table 16 below when the coding rate is 1/2.
Figure 112005002202285-PAT00107
Figure 112005002202285-PAT00107
상기 표 16에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 16, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 17과 같이 표현됨을 특징으로 하는 상기 장치.The first parity check matrix is expressed as shown in Table 17 below when the coding rate is 2/3.
Figure 112005002202285-PAT00108
Figure 112005002202285-PAT00108
상기 표 17에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 17, numbers represent exponents of the permutation matrix, and I is an index representing that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 3/4일 경우 상기 패리티 검사 행렬은 하기 표 18과 같이 표현됨을 특징으로 하는 상기 장치.The parity check matrix is expressed as shown in Table 18 when the coding rate is 3/4.
Figure 112005002202285-PAT00109
Figure 112005002202285-PAT00109
상기 표 18에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 18, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 5/6일 경우 상기 제1패리티 검사 행렬은 하기 표 19와 같이 표현됨을 특징으로 하는 상기 장치.The first parity check matrix is expressed as shown in Table 19 below when the coding rate is 5/6.
Figure 112005002202285-PAT00110
Figure 112005002202285-PAT00110
상기 표 19에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 19 represent the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 20과 같이 표현됨을 특징으로 하는 상기 장치.And the first parity check matrix is expressed as shown in Table 20 below when the coding rate is 1/2.
Figure 112005002202285-PAT00111
Figure 112005002202285-PAT00111
상기 표 20에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.The numbers in Table 20 represent exponents of the permutation matrix, and I is an index indicating that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 21과 같이 표현됨을 특징으로 하는 상기 장치.The first parity check matrix is expressed as shown in Table 21 when the coding rate is 2/3.
Figure 112005002202285-PAT00112
Figure 112005002202285-PAT00112
상기 표 21에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 21 indicate the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 3/4일 경우 상기 제1패리티 검사 행렬은 하기 표 22와 같이 표현됨을 특징으로 하는 상기 장치.The first parity check matrix is expressed as shown in Table 22 below when the coding rate is 3/4.
Figure 112005002202285-PAT00113
Figure 112005002202285-PAT00113
상기 표 22에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 22, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 3/4일 경우 상기 제1패리티 검사 행렬은 하기 표 23과 같이 표현됨을 특징으로 하는 상기 장치.The first parity check matrix is expressed as shown in Table 23 below when the coding rate is 3/4.
Figure 112005002202285-PAT00114
Figure 112005002202285-PAT00114
상기 표 23에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 23, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 24와 같이 표현됨을 특징으로 하는 상기 장치.The first parity check matrix is expressed as shown in Table 24 below when the coding rate is 1/2.
Figure 112005002202285-PAT00115
Figure 112005002202285-PAT00115
상기 표 24에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 24, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 25와 같이 표현됨을 특징으로 하는 상기 장치.The first parity check matrix is expressed as shown in Table 25 below when the coding rate is 1/2.
Figure 112005002202285-PAT00116
Figure 112005002202285-PAT00116
상기 표 25에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.The numbers in Table 25 represent exponents of the permutation matrix, and I is an index indicating that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 26과 같이 표현됨을 특징으로 하는 상기 장치.The first parity check matrix is expressed as shown in Table 26 below when the coding rate is 2/3.
Figure 112005002202285-PAT00117
Figure 112005002202285-PAT00117
상기 표 26에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 26, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 27과 같이 표현됨을 특징으로 하는 상기 장치.The first parity check matrix is expressed as shown in Table 27 below when the coding rate is 2/3.
Figure 112005002202285-PAT00118
Figure 112005002202285-PAT00118
상기 표 27에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 27, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 28과 같이 표현됨을 특징으로 하는 상기 장치.And the first parity check matrix is expressed as shown in Table 28 below when the coding rate is 1/2.
Figure 112005002202285-PAT00119
Figure 112005002202285-PAT00119
상기 표 28에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 28, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 29와 같이 표현됨을 특징으로 하는 상기 장치.The first parity check matrix is expressed as shown in Table 29 below when the coding rate is 1/2.
Figure 112005002202285-PAT00120
Figure 112005002202285-PAT00120
상기 표 29에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 29, the numbers represent the exponents of the permutation matrix, and I is the index representing that the exponent of the permutation matrix is zero.
제21항에 있어서,The method of claim 21, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 30과 같이 표현됨을 특징으로 하는 상기 장치.The first parity check matrix is expressed as shown in Table 30 below when the coding rate is 2/3.
Figure 112005002202285-PAT00121
Figure 112005002202285-PAT00121
상기 표 30에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.Numbers in Table 30 indicate the exponent of the permutation matrix, I is an index indicating that the exponent of the permutation matrix is zero.
블록 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호의 복호화 방법에 있어서,In the decoding method of a block low density parity check (LDPC) code, 정보어에 대응되는 정보 파트와, 패리티에 대응되는 제1패리티 파트 및 제2패리티 파트로 구성되는 상기 패리티 검사 행렬을 생성하고, 상기 패리티 검사 행렬에 상응하게 디인터리빙 방식 및 인터리빙 방식을 결정하는 과정과, Generating the parity check matrix including an information part corresponding to an information word, a first parity part and a second parity part corresponding to a parity, and determining a deinterleaving method and an interleaving method according to the parity check matrix. and, 수신 신호의 확률값들을 검출하는 과정과,Detecting probability values of the received signal; 상기 수신 신호의 확률값들에서 이전 복호화시 생성된 신호를 감산하여 제1신호를 생성하는 과정과,Generating a first signal by subtracting a signal generated at a previous decoding from probability values of the received signal; 상기 제1신호를 입력하여 상기 디인터리빙 방식으로 디인터리빙하는 과정과,Inputting the first signal to deinterleave the deinterleaving method; 상기 디인터리빙된 신호를 입력하여 확률값들을 검출하는 과정과,Detecting probability values by inputting the deinterleaved signal; 상기 디인터리빙된 신호의 확률값들에서 상기 디인터리빙된 신호를 감산하여 제2신호를 생성하는 과정과, Generating a second signal by subtracting the deinterleaved signal from probability values of the deinterleaved signal; 상기 제2신호를 상기 인터리빙 방식으로 인터리빙하고, 상기 인터리빙된 신호를 반복 복호화하는 과정을 포함함을 특징으로 하는 상기 방법. And interleaving the second signal by the interleaving method, and repeatedly decoding the interleaved signal. 제38항에 있어서,The method of claim 38, 상기 패리티 검사 행렬을 생성하는 과정은;Generating the parity check matrix; 상기 정보어를 상기 블록 LDPC 부호로 부호화시 적용되는 부호화율과 부호어 길이에 대응하도록 상기 패리티 검사 행렬의 크기를 결정하는 과정과,Determining a size of the parity check matrix to correspond to a coding rate and a codeword length applied when the information word is encoded into the block LDPC code; 상기 결정된 크기의 패리티 검사 행렬을 미리 설정된 설정 개수의 블록들로 분할하는 과정과,Dividing the parity check matrix of the determined size into blocks having a preset number; 상기 블록들을 상기 정보 파트에 대응되는 블록들과, 상기 제1패리티 파트에 대응되는 블록들과, 상기 제2패리티 파트에 대응되는 블록들로 분류하는 과정과,Classifying the blocks into blocks corresponding to the information part, blocks corresponding to the first parity part, and blocks corresponding to the second parity part; 상기 제1패리티 파트로 분류된 블록들중 미리 결정된 블록들에 순열 행렬들을 배열하고, 상기 제2패리티 파트로 분류된 블록들중 미리 결정된 블록들에 완전 하삼각 형태로 순열 행렬들을 배열하는 과정과,Arranging permutation matrices in predetermined blocks among the blocks classified as the first parity part, and arranging permutation matrices in a completely lower triangular shape among predetermined blocks among the blocks classified as the second parity part; , 상기 정보 파트로 분류된 블록들에 상기 블록 LDPC 부호의 팩터 그래프상의 최소 사이클 길이가 미리 설정된 사이클 길이가 되고, 웨이트가 불균일하도록 상기 순열 행렬들을 배열하는 과정을 포함함을 특징으로 하는 상기 방법. And arranging the permutation matrices such that the minimum cycle length on the factor graph of the block LDPC code becomes a preset cycle length to blocks classified as the information part, and the weight is non-uniform. 제39항에 있어서,The method of claim 39, 상기 완전 하삼각 형태로 배열되는 순열 행렬들은 항등 행렬들임을 특징으로 하는 상기 방법.And wherein the permutation matrices arranged in a perfect lower triangular form are identity matrices. 제38항에 있어서,The method of claim 38, 상기 부호화율이 1/2일 경우 상기 패리티 검사 행렬은 하기 표 31과 같이 표현됨을 특징으로 하는 상기 방법.The parity check matrix is expressed as shown in Table 31 below when the coding rate is 1/2.
Figure 112005002202285-PAT00122
Figure 112005002202285-PAT00122
상기 표 31에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 31, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 32와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 32 below when the coding rate is 2/3.
Figure 112005002202285-PAT00123
Figure 112005002202285-PAT00123
상기 표 32에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 32, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 3/4일 경우 상기 패리티 검사 행렬은 하기 표 33과 같이 표현됨을 특징으로 하는 상기 방법.The parity check matrix is expressed as in Table 33 when the coding rate is 3/4.
Figure 112005002202285-PAT00124
Figure 112005002202285-PAT00124
상기 표 33에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 33, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 5/6일 경우 상기 제1패리티 검사 행렬은 하기 표 34와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 34 below when the coding rate is 5/6.
Figure 112005002202285-PAT00125
Figure 112005002202285-PAT00125
상기 표 34에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 34, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 35와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 35 below when the coding rate is 1/2.
Figure 112005002202285-PAT00126
Figure 112005002202285-PAT00126
상기 표 35에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 35, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 36과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 36 below when the coding rate is 2/3.
Figure 112005002202285-PAT00127
Figure 112005002202285-PAT00127
상기 표 36에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 36, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 3/4일 경우 상기 제1패리티 검사 행렬은 하기 표 37과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 37 below when the coding rate is 3/4.
Figure 112005002202285-PAT00128
Figure 112005002202285-PAT00128
상기 표 37에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 37, numbers represent exponents of the permutation matrix, and I is an index indicating that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 3/4일 경우 상기 제1패리티 검사 행렬은 하기 표 38과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 38 below when the coding rate is 3/4.
Figure 112005002202285-PAT00129
Figure 112005002202285-PAT00129
상기 표 38에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 38, the numbers represent the exponents of the permutation matrix, and I is the index representing that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 39와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 39 below when the coding rate is 1/2.
Figure 112005002202285-PAT00130
Figure 112005002202285-PAT00130
상기 표 39에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 39, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 40과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 40 below when the coding rate is 1/2.
Figure 112005002202285-PAT00131
Figure 112005002202285-PAT00131
상기 표 40에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 40, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제 38항에 있어서,The method of claim 38, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 41과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 41 below when the coding rate is 2/3.
Figure 112005002202285-PAT00132
Figure 112005002202285-PAT00132
상기 표 41에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 41, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 42와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 42 below when the coding rate is 2/3.
Figure 112005002202285-PAT00133
Figure 112005002202285-PAT00133
상기 표 42에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 42, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 43과 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 43 below when the coding rate is 1/2.
Figure 112005002202285-PAT00134
Figure 112005002202285-PAT00134
상기 표 43에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 43, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 1/2일 경우 상기 제1패리티 검사 행렬은 하기 표 44와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 44 below when the coding rate is 1/2.
Figure 112005002202285-PAT00135
Figure 112005002202285-PAT00135
상기 표 44에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 44, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
제38항에 있어서,The method of claim 38, 상기 부호화율이 2/3일 경우 상기 제1패리티 검사 행렬은 하기 표 45와 같이 표현됨을 특징으로 하는 상기 방법.The first parity check matrix is expressed as shown in Table 45 below when the coding rate is 2/3.
Figure 112005002202285-PAT00136
Figure 112005002202285-PAT00136
상기 표 45에서 숫자들은 상기 순열 행렬의 지수를 나타내며, I는 상기 순열 행렬의 지수가 0임을 나타내는 인덱스임.In Table 45, the numbers represent the exponents of the permutation matrix, and I is the index indicating that the exponent of the permutation matrix is zero.
KR1020050003732A 2004-08-16 2005-01-14 Apparatus and method for coding/decoding block low density parity check code with variable block length KR20060016061A (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2007503846A JP4519902B2 (en) 2004-08-16 2005-04-28 Apparatus and method for encoding / decoding block low density parity check code having variable block length
AU2005273169A AU2005273169B2 (en) 2004-08-16 2005-04-28 Apparatus and method for coding/decoding block low density parity check code with variable block length
EP05009389A EP1628401A1 (en) 2004-08-16 2005-04-28 Apparatus and method for coding/decoding block low density parity check code with variable block length
CN2005800268211A CN1993917B (en) 2004-08-16 2005-04-28 Apparatus and method for coding/decoding block low density parity check code with variable block length
PCT/KR2005/001239 WO2006019217A1 (en) 2004-08-16 2005-04-28 Apparatus and method for coding/decoding block low density parity check code with variable block length
CA2560852A CA2560852C (en) 2004-08-16 2005-04-28 Apparatus and method for coding/decoding block low density parity check code with variable block length
US11/116,869 US7516391B2 (en) 2004-08-16 2005-04-28 Apparatus and method for coding/decoding block low density parity check code with variable block length
KR1020050035721A KR100678175B1 (en) 2004-08-16 2005-04-28 Apparatus and method for coding/decoding block low density parity check code with variable block length

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20040064465 2004-08-16
KR1020040064465 2004-08-16
KR1020040105183 2004-12-13
KR1020040105183A KR20060016059A (en) 2004-08-16 2004-12-13 Apparatus and method for coding/decoding block low density parity check code with variable block length

Publications (1)

Publication Number Publication Date
KR20060016061A true KR20060016061A (en) 2006-02-21

Family

ID=37124452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050003732A KR20060016061A (en) 2004-08-16 2005-01-14 Apparatus and method for coding/decoding block low density parity check code with variable block length

Country Status (1)

Country Link
KR (1) KR20060016061A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101447751B1 (en) * 2007-11-19 2014-10-13 삼성전자주식회사 Method and apparatus for generating parity check matrix in a communication system using block low density parity check code
KR20190101361A (en) * 2016-11-23 2019-08-30 수에즈 그룹 Coders and decoders using short-length semi-cyclic semi-regular LDPC codes for low consumption applications such as remote read

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101447751B1 (en) * 2007-11-19 2014-10-13 삼성전자주식회사 Method and apparatus for generating parity check matrix in a communication system using block low density parity check code
KR20190101361A (en) * 2016-11-23 2019-08-30 수에즈 그룹 Coders and decoders using short-length semi-cyclic semi-regular LDPC codes for low consumption applications such as remote read

Similar Documents

Publication Publication Date Title
KR100678175B1 (en) Apparatus and method for coding/decoding block low density parity check code with variable block length
KR100678176B1 (en) Apparatus and method for coding/decoding block low density parity check code with variable block length
KR100809616B1 (en) Apparatus and method for coding/decoding block low density parity check code with variable block length
KR100713371B1 (en) Apparatus and method for encoding/decoding a block low density parity check code
KR100724922B1 (en) Apparatus and method for encoding and decoding block low density parity check codes with a variable coding rate
KR100739510B1 (en) Apparatus and method for coding/decoding semi-systematic block low density parity check code
KR100809619B1 (en) Apparatus and method for coding/decoding block low density parity check code in a mobile communication system
KR100918763B1 (en) Interleaving apparatus and method in a channel coder using a parallel concatenated low density parity check code
RU2369008C2 (en) Device and method for coding/decoding block code for low density parity check with variable block length
KR101009785B1 (en) Apparatus and method for coding/decoding irregular repeat accumulate code
KR100941680B1 (en) Apparatus and method for generating of quasi-cyclic low density parity check codes
KR20060016061A (en) Apparatus and method for coding/decoding block low density parity check code with variable block length