KR101187070B1 - Method for encoding using parity check matrix - Google Patents
Method for encoding using parity check matrix Download PDFInfo
- Publication number
- KR101187070B1 KR101187070B1 KR1020060036352A KR20060036352A KR101187070B1 KR 101187070 B1 KR101187070 B1 KR 101187070B1 KR 1020060036352 A KR1020060036352 A KR 1020060036352A KR 20060036352 A KR20060036352 A KR 20060036352A KR 101187070 B1 KR101187070 B1 KR 101187070B1
- Authority
- KR
- South Korea
- Prior art keywords
- matrix
- parity
- encoding
- parity check
- model
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 LDPC(Low Density Parity Check) 부호화와 복호화에 관한 것으로서, 보다 상세하게는, 간단한 처리과정을 통해 정보어를 부호어로 변환시키는 패리티 검사 행렬을 사용하는 데이터의 송수신 장치 및 그를 이용하는 부호화/복호화 방법에 관한 것이다. The present invention relates to LDPC (Low Density Parity Check) encoding and decoding, and more particularly, an apparatus for transmitting / receiving data using a parity check matrix for converting an information word into a code word through a simple process and encoding / decoding using the same. It is about a method.
본원 발명에 따른 부호화하는 방법은, 수신 측으로 전송할 정보 비트를 정보어 부분 및 패리티 부분으로 이루어진 패리티 검사 행렬을 이용하여 부호화하는 단계; 및 상기 부호화된 신호를 수신 측으로 전송하는 단계를 포함하여 이루어지되, 상기 패리티 부분은, 하위 삼각형(lower triangle) 타입에 따라 설계된 것을 특징으로 한다. The encoding method according to the present invention includes encoding information bits to be transmitted to a receiver using a parity check matrix including an information word portion and a parity portion; And transmitting the encoded signal to a receiving side, wherein the parity portion is designed according to a lower triangle type.
LDPC, 패리티 검사 행렬, 모델 행렬, 패리티 부분, 부호화 LDPC, parity check matrix, model matrix, parity part, coding
Description
도 1은 본 발명 및 종래 기술이 적용되는 이동통신 채널의 구조를 나타내는 도면이다.1 is a view showing the structure of a mobile communication channel to which the present invention and the prior art are applied.
도 2는 구조화된(structured) LDPC를 설명하기 위한 도면이다. 2 is a diagram for explaining structured LDPC.
도 3은 종래 기술에 따른 모델 행렬을 나타낸 도면이다. 3 is a view showing a model matrix according to the prior art.
도 4는 쉬프트 넘버에 따른 행렬의 표현 방법을 나타낸 도면이다.4 is a diagram illustrating a method of expressing a matrix according to a shift number.
도 5는 LDPC 복호화 방법에 대하여 설명한 도면이다. 5 is a diagram illustrating an LDPC decoding method.
도 6은 본 실시예에 따른 일반적인 모델 행렬의 구조를 나타낸 것이다.6 shows the structure of a general model matrix according to the present embodiment.
도 7a 내지 도 7j는 본 실시예에 따른 모델 행렬의 구조를 나타낸 것이다.7A to 7J show the structure of the model matrix according to the present embodiment.
도 8은 본 실시예에 따른 하위 삼각형 타입의 패리티 검사 행렬에 의해 부호화가 수행되는 일례를 나타낸다.8 shows an example in which encoding is performed by a parity check matrix of a lower triangle type according to the present embodiment.
도 9a 및 도 9b는 본 실시예에 따른 부호화 방법을 도시적으로 표시한 도면이다.9A and 9B are diagrams illustrating the encoding method according to the present embodiment.
도 10은 본 실시예에 따라 다양한 서브 블록(Pi ,j)들로 이루어지는 모델 행렬의 일례를 나타내는 도면이다.FIG. 10 is a diagram illustrating an example of a model matrix composed of various subblocks Pi and j according to the present embodiment.
본 발명은 LDPC(Low Density Parity Check) 부호화와 복호화에 관한 것으로서, 보다 상세하게는, 간단한 처리과정을 통해 정보어를 부호어로 변환시키는 패리티 검사 행렬을 사용하는 데이터의 송수신 장치 및 그를 이용하는 부호화/복호화 방법에 관한 것이다. The present invention relates to LDPC (Low Density Parity Check) encoding and decoding, and more particularly, an apparatus for transmitting / receiving data using a parity check matrix for converting an information word into a code word through a simple process and encoding / decoding using the same. It is about a method.
도 1은 본 발명 및 종래 기술이 적용되는 이동통신 채널의 구조를 나타내는 도면이다. 이하, 도 1을 참조하여 이동통신 채널의 구조를 설명한다. 송신 단(Transmitter)에서 전송할 데이터를 무선채널에서 손실이나 왜곡 없이 전송하기 위해 채널 코딩(channel coding) 절차를 거친다. 상기 채널 코딩 기법으로는, Convolutional Coding, Turbo Coding, LDPC Coding 등의 다양한 기술이 있다. 상기 채널 코딩(Channel coding) 절차를 거친 데이터(data)는 무선 채널로 전송될 때 여러 개의 비트들이 모여서 하나의 심볼로 전송될 수 있다. 이때, 여러 비트들을 하나의 심볼(symbol)로 매핑(mapping) 되는 절차를 변조(modulation)라 한다. 1 is a view showing the structure of a mobile communication channel to which the present invention and the prior art are applied. Hereinafter, the structure of a mobile communication channel will be described with reference to FIG. 1. In order to transmit the data to be transmitted from the transmitter without loss or distortion in the radio channel, a channel coding procedure is performed. As the channel coding technique, there are various techniques such as convolutional coding, turbo coding, and LDPC coding. Data that has undergone the channel coding procedure may be transmitted as a single symbol by collecting a plurality of bits when transmitted through a wireless channel. In this case, a procedure in which several bits are mapped to one symbol is called modulation.
변조된 데이터는 다중화(Multiplexing) 과정 또는 다중 접속(Multiple Access) 방법을 거쳐 다중 전송을 위한 신호로 변환된다. 상기 다중화 방법으로는, CDM, TDM, FDM 등의 다양한 방법이 존재하는바, 도 1에서는 OFDM(Orthogonal Frequency Division Multiplexing)의 예를 표시하였다. 상기 다중화(Multiplexing) 블록을 거친 신호는 한 개 이상의 다중 안테나에 전송되기 적합한 구조로 변경되어 무선채널을 통해 수신 단(Receiver)에 전달된다. 무선 채널을 통과하는 과정에서 전송된 데이터는 페이딩(Fading)과 열 잡음을 겪게 되어 데이터에 왜곡이 발생할 수 있다.The modulated data is converted into a signal for multiplex transmission through a multiplexing process or a multiple access method. As the multiplexing method, various methods such as CDM, TDM, and FDM exist. In FIG. 1, an example of orthogonal frequency division multiplexing (OFDM) is illustrated. The signal that has passed through the multiplexing block is changed into a structure suitable for transmission to one or more multiple antennas and transmitted to a receiver through a radio channel. Data transmitted in the course of passing through the wireless channel may experience fading and thermal noise, which may cause distortion of the data.
상기 변조(Modulation)된 데이터는 무선 채널을 통해 수신 단(Receiver)에 전달된다. 이 과정에서 전송된 데이터는 페이딩(Fading)과 열 잡음 등을 겪게 되어 데이터에 왜곡이 발생할 수 있다. 수신 단에서는 상기 왜곡된 데이터를 수신한 후 상기 송신 단의 일련의 절차를 역순으로 수행한다. 상기 심볼로 매핑(mapping)된 데이터를 비트열로 바꾸는 복조(demodulation) 작업을 수행하고, 채널 디코딩(Channel Decoding) 절차를 거치며 왜곡된 데이터를 원래 데이터로 복원한다.The modulated data is transmitted to a receiver through a wireless channel. In this process, the transmitted data may experience fading and thermal noise, which may cause distortion of the data. After receiving the distorted data, the receiving end performs a series of procedures in the reverse order. A demodulation operation of converting the data mapped to the symbol into a bit string is performed, and the distorted data is restored to the original data through a channel decoding process.
상기 채널 코딩을 수행하는 장치는, 입력된 데이터(Systematic Bits)에 첨가될 패리티 비트(Parity Bits)을 발생시키는 사용되는 패리티 검사 행렬(Parity Check Matrix)인 H 행렬 또는 H 행렬로부터 유도되는 패리티 검사 생성 행렬(Parity Check Generate Matrix)인 G행렬을 저장하고 있다. 즉, 상기 송신 단은, 상기 H 또는 G 행렬과 상기 입력된 데이터를 통해 패리티 비트(Parity Bit)들을 발생하는 인코더(Encoder)를 포함한다. 채널 디코딩(Channel Decoding)을 수행하는 장치는, 수신된 데이터(왜곡된 Systematic Bits + Parity Bits)를 H행렬과 연산을 통하여 상기 입력된 데이터(Systematic Bits)들이 제대로 복구되는지 확인하고 복구 실패시 연산을 재수행한다. The apparatus for performing channel coding generates a parity check derived from an H matrix or an H matrix, which is a parity check matrix used to generate parity bits to be added to input data (Systematic Bits). It stores G matrix, which is a parity check generate matrix. That is, the transmitting end includes an encoder for generating parity bits through the H or G matrix and the input data. The apparatus for performing channel decoding checks whether the inputted data (Systematic Bits) are properly recovered through the H matrix and the operation of the received data (distorted Systematic Bits + Parity Bits). Rerun
상기 변조(Modulation)는 BPSK(Binary Phase Shift Keying), QPSK(Quadrature Phase Shift Keying), 16-QAM(Quadrature Amplitude Modulation), 64-QAM, 256-QAM 등이 사용된다. 예를 들어, 16-QAM은 변조(Modulation)시 채널 인코딩(Channel Encoding) 절차를 거친 데이터 열을 4비트 단위로 하나의 심볼에 매핑(mapping)한다. 16-QAM은 복조(Demodulation) 시 무선 채널을 거쳐 수신된 데이터의 하나의 심볼을 4개의 bit로 디매핑(demapping) 한다.The modulation includes Binary Phase Shift Keying (BPSK), Quadrature Phase Shift Keying (QPSK), Quadrature Amplitude Modulation (16-QAM), 64-QAM, 256-QAM, and the like. For example, 16-QAM maps a sequence of data that has undergone a channel encoding procedure to one symbol in units of 4 bits during modulation. In demodulation, 16-QAM demaps one symbol of data received through a wireless channel into four bits.
이하 LDPC 부호에 관하여 설명한다. LDPC 부호의 개념을 설명하면 다음과 같다. The LDPC code will be described below. The concept of the LDPC code is as follows.
선형 부호는 생성행렬 G 또는 패리티 체크 행렬 H로 기술될 수 있다. 선형 부호의 특징은 모든 부호어 c 에 대하여, 을 만족하도록 부호가 구성된다는 점이다. 이 선형 부호의 일종으로서, 최근에 주목받는 LDPC 부호는 1962년 Gallager에 의하여 처음 제안되었다. 이 부호의 특징으로는 패리티 체크 행렬의 성분이 대부분 0으로 이루어지고, 0이 아닌 성분의 개수는 부호 길이에 비하여 적은 수를 가지도록 하여 확률을 기반으로 한 반복적 복호가 가능한 점이다. 처음 제안된 LDPC 부호는 패리티 체크 행렬을 비체계적인(non-systematic) 형태로 정의하였고, 그것의 행과 열에 균일하게 적은 무게(weight)를 갖도록 설계되었다. The linear code can be described by the generation matrix G or parity check matrix H. The characteristic of linear code is that for all codewords c, The sign is constructed to satisfy. As a form of this linear code, a recent notable LDPC code was first proposed by Gallager in 1962. The characteristic of this code is that the components of the parity check matrix are mostly 0, and the number of non-zero components has a smaller number than the code length so that iterative decoding based on probability is possible. The first proposed LDPC code defines the parity check matrix in a non-systematic form and is designed to have a uniformly low weight in its rows and columns.
여기서, 무게(weight)란 행렬에서 열(column) 또는 행(row)에 포함된 1의 개수를 의미한다.Here, the weight means the number of 1s included in a column or a row in the matrix.
LDPC 부호의 패리티 체크 행렬 H 상에 0이 아닌 성분의 밀도가 적기 때문에 낮은 복호 복잡도를 가지게 된다. 아울러, 복호 성능도 기존의 부호들보다 우수하여 Shannon의 이론적인 한계에 근접하는 좋은 성능을 보인다. 하지만 LDPC 부호는 당시 하드웨어 기술로서 구현이 어려워서 30여 년이 넘게 많은 사람의 관심을 끌지 못하였다. 1980년대 초반 그래프를 이용하여 반복적 복호를 하는 방법이 개발되어, 이를 이용하여 LDPC 부호를 실제로 복호할 수 있는 여러 알고리즘들이 개발되었다. 이를 대표하는 알고리즘으로 합곱 알고리즘(sum-product Algorithm)을 뽑을 수 있다. Since the density of nonzero components on the parity check matrix H of the LDPC code is small, the decoding complexity is low. In addition, the decoding performance is also better than the existing codes, showing a good performance close to Shannon's theoretical limit. The LDPC code, however, was a hardware technology that was difficult to implement at the time and has not attracted much attention for more than 30 years. In the early 1980s, a method of iterative decoding using a graph was developed, and various algorithms were developed to actually decode the LDPC code using the graph. The sum-product algorithm can be extracted as the representative algorithm.
이하, LDPC 부호의 특징을 설명한다. LDPC 부호는 높은 오류 정정 성능을 갖고 있으며, 이로 인해 통신 속도와 용량의 개선을 가능하게 한다. 상기 LDPC 부호는 MIMO(Multiple Input Multiple Output) 시스템과 결합하여 수백 Mbit/s의 전송이 가능한 고속 무선 LAN에 적용될 수 있고, 또한 250km/h에서 1Mbit/s 이상의 전송 속도를 갖는 고속 이동 통신에 적용될 수 있고, 또한 40Gbits/s 이상의 광통신에 적용될 수 있다. 또한, 상기 LDPC 부호의 높은 오류 정정 성능으로 인해 전송 품질이 개선되어 저품질의 통신 경로에서 재전송의 회수를 감소시키는 양자 암호화 통신을 가능하게 할 수 있다. 또한, LDPC 부호의 낮은 복잡도와 뛰어난 손실 보상으로 인해, 유실된 패킷을 용이하게 복원할 수 있으며, 이는 인터넷과 이동 통신을 통해 TV 품질과 동일한 품질의 컨텐츠를 전송할 수 있게 한다. LDPC의 장점인 넓은 적용 범위와 큰 용량으로 인하여, 전에는 불가능한 것으로 여겨졌던 100m 범위까지의 10GBASE-T 전송이 LDPC 부호를 통해 실현 가능하다. 동시에 36MHz 대역의 단일 위성 송신기의 전송 용량을 1.3배 늘어난 80M비트/s까지 늘릴 수 있다. 이런 장점으로 높은 주파수 효율을 지향하는 IEEE802.16 시스템과 IEEE802.11 시스템 등에서 차세대 채널코딩 방법으로 채택되고 있다.Hereinafter, the features of the LDPC code will be described. LDPC codes have high error correction performance, which allows for improvements in communication speed and capacity. The LDPC code may be applied to a high speed wireless LAN capable of transmitting hundreds of Mbit / s in combination with a multiple input multiple output (MIMO) system, and may be applied to high speed mobile communication having a transmission speed of 1 Mbit / s or more at 250 km / h. It can also be applied to optical communication of 40Gbits / s or more. In addition, the high error correction performance of the LDPC code may improve the transmission quality, thereby enabling quantum encrypted communication that reduces the number of retransmissions in a low quality communication path. In addition, due to the low complexity and excellent loss compensation of the LDPC code, lost packets can be easily recovered, which makes it possible to transmit content of the same quality as TV quality through the Internet and mobile communication. Due to the wide coverage and large capacity of LDPC, 10GBASE-T transmissions up to the 100m range, previously considered impossible, are possible with LDPC codes. At the same time, the transmission capacity of a single satellite transmitter in the 36MHz band can be increased by 1.3 times to 80Mbit / s. These advantages are being adopted as the next generation channel coding method in IEEE802.16 system and IEEE802.11 system for high frequency efficiency.
이하, 구조화된(structured) LDPC를 설명한다. The structured LDPC is described below.
LDPC code를 사용하기 위해서는 패리티 체크 행렬 H를 사용하는데, 사용하는 행렬 H는 대부분의 0과 일부의 1을 성분(elemnet)으로 포함하는데, H 행렬의 크기가 105 비트 이상으로 크기 때문에 H 행렬을 표현하는데 큰 크기의 메모리가 필요하다. 상기 구조화된 LDPC 기법은 LDPC 부호화 및 복호화에 사용되는 상기 H 행렬의 성분들을 도 2와 같이 일정한 크기의 서브 블록(sub-block)으로 표현하는 방법이다. IEEE802.16e에서는 상기 서브 블록을 하나의 정수 인덱스(index)로 표시하여, 상기 H 행렬을 저장하는데 필요한 메모리의 크기를 줄인다. 상기 서브 블록은 다양한 행렬일 수 있는바, 예를 들어 일정한 크기의 퍼뮤테이션 행렬(Permutation Matrix)일 수도 있다.In order to use the LDPC code includes a matrix H to use, uses a parity check matrix H is most 0 and part of one of the components (elemnet), the H matrix, since the size of the H matrix size by more than 10 5 bits It requires a large amount of memory to represent. The structured LDPC technique is a method of expressing components of the H matrix used for LDPC encoding and decoding into sub-blocks having a constant size as shown in FIG. 2. In IEEE802.16e, the subblock is represented by one integer index to reduce the size of memory required to store the H matrix. The subblock may be various matrices, for example, a permutation matrix of a constant size.
상기 구조화된 LDPC 기법을 사용하게 되면 특정한 메모리에 1 또는 0으로 구성되는 일정 크기의 행렬을 저장하는 대신, 하나의 정수(즉, 인덱스)만 저장하면 되기 때문에 상기 H 행렬을 표시하는데 필요한 메모리의 크기를 줄일 수 있다.In the structured LDPC technique, instead of storing a matrix of 1 or 0 in a specific memory, only one integer (that is, an index) needs to be stored. Can be reduced.
일례로, IEEE802.16e 표준에 반영된 코드워드(codeword)의 크기가 2304이고, 부호율(code rate)이 2/3인 경우에, LDPC 부호화/복호화를 위해 사용되는 모델 행렬(model matrix)은 도 3과 같다. For example, when the size of the codeword reflected in the IEEE802.16e standard is 2304 and the code rate is 2/3, the model matrix used for LDPC encoding / decoding is shown in FIG. Same as 3.
도 3에 도시된 바와 같이, IEEE802.16e의 구조화된 LDPC 행렬은 -1, 0 과 양의 정수의 성분들로 이루어진다. -1은 원소가 모두 0인 영 행렬(zero matrix)이며 0은 단위 행렬(identity matrix)을 나타낸다. -1과 0을 제외한 양의 정수 성분들은 양의 정수만큼 상기 단위 행렬(identity matrix)이 오른쪽으로 쉬프트(shift)된 형태의 퍼뮤테이션 행렬(permutation matrix)이다. 즉, 행렬의 성분이 3이면 상기 단위 행렬을 오른쪽으로 3번 쉬프트(shift)시킨 형태의 퍼뮤테이션 행렬을 표현하는 것이다.As shown in Fig. 3, the structured LDPC matrix of IEEE802.16e consists of -1, 0 and positive integer components. -1 is a zero matrix of all
도 4는 상술한 양의 정수, 즉 쉬프트 넘버에 따른 행렬의 표현 방법을 나타낸 도면이다. 특정한 H 행렬을 4*4 크기의 행렬(즉, 서브 블록)로 구조화하여 표현하는 경우, 상기 특정한 서브 블록을 3이라 표시하면, 상기 서브 블록은 도 4의 행렬이 된다. 4 is a diagram illustrating a method of expressing a matrix according to the aforementioned positive integer, that is, a shift number. When a specific H matrix is structured and expressed as a matrix having a size of 4 * 4 (that is, a sub block), if the specific sub block is denoted as 3, the sub block becomes the matrix of FIG.
이하, LDPC 부호화 방법을 설명한다. Hereinafter, the LDPC encoding method will be described.
일반적인 LDPC 부호화(Encoding) 방법은, LDPC 패리티 검사행렬(Parity Check Matrix) H로부터 생성행렬(Generation Matrix) G를 유도해 내어, 정보 비트(information bit)를 부호화(encoding)한다. 상기 생성행렬 G를 유도하기 위해, 상기 검사행렬 H를 가우스 소거(Gaussian Reduction) 방법을 통해 [ PT : I ] 형태로 구성한다. 상기 정보 비트(Information bit)의 수를 k이라 하고, 인코딩된 코드 워드(codeword)의 크기를 n이라고 할 때, 상기 P 행렬은 행의 개수가 k이고 열의 개수가 n-k인 행렬이고, 상기 I는 행 크기가 k 열 크기가 k인 단위 행렬(Identity Matrix)이다. In the general LDPC encoding method, a generation matrix G is derived from an LDPC parity check matrix H to encode an information bit. In order to derive the generation matrix G, the inspection matrix H is configured in the form of [P T : I] through a Gaussian Reduction method. When the number of information bits is k and the size of an encoded codeword is n, the P matrix is a matrix in which the number of rows is k and the number of columns is nk, and I is K is the identity matrix whose k column size is k.
상기 생성행렬 G 는, 상기 검사행렬 H 가 [ PT : I ]와 같이 표현되었을 때, [ I : P ] 행렬이 된다. 인코딩(Encoding) 되는 k 비트 크기의 정보 비트를 행렬로 표시하면, 행의 개수는 1이고 열의 개수는 k인 행렬 x로 표현할 수 있다. 이 경우 코드 워드 c는 다음과 같은 식으로 설명된다. The generation matrix G becomes a [I: P] matrix when the check matrix H is expressed as [P T : I]. If the encoded information bits of k-bit size are represented in a matrix, the number of rows is 1 and the number of columns is k. In this case, the code word c is described as follows.
상기 수식에서, x는 정보어 부분(systematic part)를 나타내고, xP는 패리티 부분(parity part)를 나타낸다. In the above equation, x denotes a systematic part and xP denotes a parity part.
한편, 위와 같이 가우스 소거(Gaussian Reduction) 방법으로 부호화하는 경우에는 계산량이 많아, 상기 H 행렬의 형태를 특수한 구조로 디자인(design)하여 상기 G 행렬을 유도하지 않고, 상기 H 행렬에서 직접 부호화하는 방법을 사용한다. 즉, 상기 G 행렬과 상기 H 행렬에 대한 전치(Transpose) 형태의 HT 간의 곱이 0 이라는 성질(즉, )을 이용하여, 상기 수학식 1에서 HT을 곱하면, 하기 수학식 2 같은 수학식을 얻을 수 있다. 하기 수학식 2에 부합하는 패리티 비트를 정보 비트(x) 뒤에 추가하여 코드워드 c를 얻을 수 있다. On the other hand, in the case of encoding by the Gaussian Reduction method as described above, a large amount of calculation is performed, and a method of directly encoding the H matrix without inducing the G matrix by designing the shape of the H matrix into a special structure. Use That is, H T in the form of a transpose of the G matrix and the H matrix. The product of 0 (that is, By multiplying H T by
이하, LDPC 복호화 방법에 대하여 설명한다. Hereinafter, the LDPC decoding method will be described.
통신시스템에서 부호화된 데이터는 도 1의 무선 채널을 통과하는 과정에서 잡음을 포함하게 되는데, 수신 단에서는 도 5와 같은 절차를 통해 데이터의 복호 를 수행한다. 수신 단의 복호화 블록에서는 부호화된 코드워드(c)에 잡음이 첨가된 수신신호(c')로부터 정보 비트(x)를 구하는데, cHT=0인 성질을 이용하여 찾아낸다. 즉, 수신된 코드워드를 c'라 할 때, c'HT의 값을 계산하여 결과가 0이면, c'에서 처음 k개의 비트를 상기 정보 비트(x)로 결정한다. 만약, c'HT의 값이 0이 아닌 경우, 그래프를 통한 합곱(sum-product) 알고리즘 등의 복호화 기법을 사용하여, c'HT의 값이 0을 만족하는 c'을 찾아 상기 정보 비트(x)를 복구한다.The coded data in the communication system includes noise in the process of passing through the wireless channel of FIG. 1, and the receiving end performs decoding of the data through the procedure of FIG. 5. The decoded block of the receiving end to obtain the information bits from the noise to the encoded code word (c) adding the received signal (c ') (x), find using the cH T = 0 in nature. That is, when the received codeword is c ', the value of c'H T is calculated, and if the result is 0, the first k bits in c' are determined as the information bits x. If the value of c'H T is not 0, a decoding technique such as a sum-product algorithm through a graph is used to find c 'whose value of c'H T satisfies 0. recover (x)
이하, LDPC 부호의 부호율(code rate)을 설명한다. Hereinafter, the code rate of the LDPC code will be described.
일반적으로, 부호율(R: code rate)은 상기 정보 비트의 크기가 k이고, 실제 전송되는 코드워드의 크기가 n일 때 다음과 같다. In general, a code rate (R) is as follows when the size of the information bit is k and the size of the codeword actually transmitted is n.
LDPC 부호화 및 복호화에 필요한 상기 H 행렬의 행의 크기가 m, 열의 크기가 n인 경우, 부호율은 다음과 같다. The code rate is as follows when the row size of the H matrix required for LDPC encoding and decoding is m and the size of the column is n.
상술한 바와 같이, 종래의 LDPC 부호는 상기 H 행렬에 의해 부호화 및 복호화를 수행하는바, 상기 H 행렬의 구조가 매우 중요하다. 즉, 부호화 및 복호화의 성능이 상기 H 행렬의 구조에 크게 영향을 받기 때문에, 상기 H 행렬의 설계가 무 엇보다 중요하다. As described above, the conventional LDPC code is encoded and decoded by the H matrix, and thus the structure of the H matrix is very important. That is, the design of the H matrix is more important than anything, since the performance of encoding and decoding is greatly affected by the structure of the H matrix.
본 발명의 상술한 종래 기술을 개선하기 위해 제안된 것으로, 본 발명의 목적은, 종래에 비해 향상된 성능의 패리티 검사 행렬을 제안하는 것이다. It is proposed to improve the above-mentioned prior art of the present invention, and an object of the present invention is to propose a parity check matrix of improved performance compared to the prior art.
본 발명의 다른 목적은, 부호화에 따른 복잡도를 개선한 패리티 검사 행렬을 제안하는 것이다.Another object of the present invention is to propose a parity check matrix with improved complexity due to coding.
본원 발명은 종래 기술에 비해 성능을 향상시키기 위해, 패리티 검사 행렬의 패리티 부분(parity part)의 구조를 변형하는 것을 특징으로 한다. 보다 구체적으로, 본 발명에 따른 패리티 검사 행렬 H는, 패리티 부분이 이중 대각(dual diagonal) 성분을 갖되, 하위 삼각형(lower triangle) 타입의 패리티 부분을 갖는 특징으로 한다. 본원 발명에 따른 패리티 검사 행렬은 종래에 비해 부호화에 따른 복잡도가 감소하는 유리한 효과가 있다.The present invention is characterized by modifying the structure of the parity part of the parity check matrix in order to improve performance compared to the prior art. More specifically, the parity check matrix H according to the present invention is characterized in that the parity portion has a dual diagonal component and a parity portion of a lower triangle type. The parity check matrix according to the present invention has an advantageous effect of reducing the complexity due to coding compared to the prior art.
본원 발명에 따른 부호화하는 방법은, 수신 측으로 전송할 정보 비트를 정보어 부분 및 패리티 부분으로 이루어진 패리티 검사 행렬을 이용하여 부호화하는 단계; 및 상기 부호화된 신호를 수신 측으로 전송하는 단계를 포함하여 이루어지되, 상기 패리티 부분은, 하위 삼각형(lower triangle) 타입에 따라 설계된 것을 특징으로 한다. The encoding method according to the present invention includes encoding information bits to be transmitted to a receiver using a parity check matrix including an information word portion and a parity portion; And transmitting the encoded signal to a receiving side, wherein the parity portion is designed according to a lower triangle type.
본원 발명에 따른 복호화 방법은, 송신 측으로부터 전송되는 신호를 수신하는 단계; 및 상기 수신 신호를 정보어 부분 및 패리티 부분으로 이루어진 패리티 검사 행렬을 이용하여 복호화하는 단계를 포함하여 이루어지되, 상기 패리티 부분은, 하위 삼각형 타입에 따라 설계된 것을 특징으로 한다, The decoding method according to the present invention comprises the steps of: receiving a signal transmitted from a transmitting side; And decoding the received signal using a parity check matrix composed of an information word part and a parity part, wherein the parity part is designed according to a lower triangle type.
본 발명의 구성, 동작 및 효과는 이하에서 설명되는 본 발명의 일 실시예에 의해 구체화될 것이다. 이하, 첨부된 도면을 참조하여 본 발명의 일 실시예를 설명한다. The construction, operation and effects of the present invention will be embodied by one embodiment of the present invention described below. Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.
이하, 상술한 구조화된(structured) LDPC 기법에 따라 특정한 z * z 크기의 서브 블록으로 패리티 검사 행렬을 나타내는 행렬을 모델 행렬(model matrix)이라 한다. 상기 모델 행렬의 각 서브 블록은 특정한 인덱스에 의해 다양한 종류의 행렬로 확장될 수 있는바, 상기 모델 행렬은 상기 인덱스를 상기 모델 행렬의 성분(element)으로 한다. 상기 모델 행렬의 각 서브 블록은 상기 인덱스에 따라 다양한 방식으로 결정될 수 있는바, 이하에서 상기 인덱스는 특정한 크기(z*z)의 단위 행렬에 대한 쉬프트 수(shift number)인 경우를 가정한다. 또한, 상기 인덱스가 -1인 경우에는, 상기 -1의 인덱스를 갖는 서브 블록은 특정한 크기(z*z)의 영 행렬(zero matrix)이다. Hereinafter, a matrix representing a parity check matrix in a subblock of a specific z * z size according to the structured LDPC technique described above is referred to as a model matrix. Each subblock of the model matrix can be extended to various kinds of matrices by a specific index, and the model matrix makes the index an element of the model matrix. Each sub block of the model matrix may be determined in various ways according to the index. Hereinafter, it is assumed that the index is a shift number for a unit matrix of a specific size z * z. In addition, when the index is -1, the sub block having the index of -1 is a zero matrix of a specific size z * z.
상기 모델 행렬은 상기 인덱스에 따라 특정한 패리티 검사 행렬로 확장되는바, 상기 모델 행렬에 의해 부호화 및 복호화가 수행된다는 것은, 상기 모델 행렬에 의해 생성되는 특정한 패리티 검사 행렬에 의해 부호화 및 복호화가 수행되는 것을 의미한다. The model matrix is extended to a specific parity check matrix according to the index, so that encoding and decoding are performed by the model matrix, and that encoding and decoding is performed by a specific parity check matrix generated by the model matrix. it means.
도 6은 본 발명의 일 실시예에 따른 모델 행렬의 구조를 나타낸 것이다. 도 6에 표시된 각각의 정수는 인덱스를 나타내며, 표시되지 않은 부분은 -1의 인덱스 를 갖는다. 도 6의 모델 행렬은, 크게 정보어 부분(systematic part)과 패리티 부분(parity part)으로 구성된다. 즉, 도 6의 모델 행렬은, [Hd : Hp]의 구조로 이루어지는바, 상기 Hd는 상기 모델 행렬에 의해 부호화되는 정보 비트(information bit)에 1:1로 대응하는 정보어 부분이고, 상기 Hp(p1, p2, p3, p4)는 부호화된 코드워드에 포함되는 패리티 비트를 생성하는 패리티 부분이다. 6 illustrates a structure of a model matrix according to an embodiment of the present invention. Each integer indicated in FIG. 6 represents an index, and an unmarked portion has an index of -1. The model matrix of FIG. 6 is largely comprised of an information part and a parity part. That is, the model matrix of FIG. 6 has a structure of [H d : H p ], where H d is an information word portion corresponding to an information bit encoded by the model matrix in a 1: 1 ratio. H p (p1, p2, p3, p4) is a parity portion that generates a parity bit included in an encoded codeword.
도시된 바와 같이, 도 6의 모델 행렬은 상기 패리티 부분에 이중 대각(dual diagonal) 성분을 갖는다. 다만, 도 6의 모델 행렬의 이중 대각 성분은 도시된 바와 같이, 하나의 대각(diagonal) 성분과 상기 대각 성분에 인접한 성분으로 이루어진다. 또한, 상기 인접한 성분은, 상기 대각 성분의 상단(upper)에 위치한다. 달리 표현하면, 상기 인접한 성분은 상기 대각 성분의 우측에 위치한다. 행렬의 성분에 대한 상하 좌우는 행렬을 보는 방향에 따라 가변적인바, 도 6의 행렬을 다른 방법으로 설명하면 다음과 같다. As shown, the model matrix of FIG. 6 has a dual diagonal component in the parity portion. However, the double diagonal component of the model matrix of FIG. 6 includes one diagonal component and a component adjacent to the diagonal component. The adjacent component is also located at the upper of the diagonal component. In other words, the adjacent component is located to the right of the diagonal component. The up, down, left, and right sides of the components of the matrix are variable according to the direction of viewing the matrix. The matrix of FIG.
상기 모델 행렬을 [Hd : Hp]라 하고, 도 6의 패리티 부분 내에서 서브 블록의 행을 r이라 하고, 열을 c로 인덱싱하고, 특정한 서브 블록에 대한 쉬프트 수를 Ar ,c라 하는 경우, 상기 인덱스 Ar ,c는 r=c인 경우와 c=r+1인 경우에 0을 갖는다. 나머지 경우에는 상기 인덱스 Ar ,c는 -1을 갖는다. 예를 들어, 도 6의 모델 행렬의 패리티 부분이 16개의 서브 블록을 갖는 경우, 상기 패리티 부분은 하기 수학식 5와 같이 결정된다. The model matrix is called [H d : H p ], the row of sub blocks in the parity portion of FIG. 6 is r, the column is indexed by c, and the shift number for a particular sub block is A r , c . In this case, the indexes A r and c have 0 when r = c and when c =
모델 행렬 또는 패리티 검사 행렬의 패리티 부분은, 이중 대각 성분의 설계 방법에 따라 여러 가지로 구분될 수 있는바, 도 6의 모델 행렬과 동일한 방식으로 설계된 패리티 부분은 '상위 삼각형(upper triangle) 타입'에 따라 설계되었다고 표현한다.The parity portion of the model matrix or parity check matrix can be divided into various types according to the design method of the double diagonal component. The parity portion designed in the same manner as the model matrix of FIG. 6 is an 'upper triangle type'. Expressed as designed according to
상기 상위 삼각형 타입에 따라 설계된 모델 행렬에 의해 부호화가 수행되는 경우, 코드워드에 포함되는 패리티 비트는 다음과 같은 방법으로 결정된다. When encoding is performed by a model matrix designed according to the upper triangle type, the parity bits included in the codeword are determined by the following method.
상기 모델 행렬을 Hb라 하는 경우, 상기 모델 행렬을 다음의 수식으로 정리할 수 있다. When the model matrix is referred to as H b , the model matrix may be summarized by the following equation.
상기 kb는 특정한 모델 행렬의 정보어 부분에서 행 방향으로 위치하는 서브 블록의 개수를 나타낸다. 또한, 상기 mb는 상기 모델 행렬에서 열 방향으로 위치하는 서브 블록의 개수를 나타낸 것이다. 즉 상기 모델 행렬의 정보어 부분은, 서브 블록의 단위로 표현할 때, mb * kb의 크기를 갖는다. 또한, 상기 모델 행렬의 패리티 부분은, 서브 블록의 단위로 표현할 때, mb * mb의 크기를 갖는다. K b represents the number of sub-blocks located in the row direction in the information word portion of the specific model matrix. In addition, m b represents the number of sub-blocks located in the column direction in the model matrix. That is, the information word portion of the model matrix has a size of m b * k b when expressed in units of sub-blocks. In addition, the parity portion of the model matrix has a size of m b * m b when expressed in units of sub-blocks.
상기 Hb에 의해 생성되는 코드워드 x는, 정보 비트 s와 패리티 비트 p를 포함하는바, 하기 수식으로 표현된다. The codeword x generated by H b includes an information bit s and a parity bit p, and is represented by the following formula.
상술한 바와 같이, 상기 모델 행렬은 z * z 크기의 서브 블록으로 구성되는바, 부호화를 위해서 정보 비트 s를 z 비트씩 묶어서 kb개의 그룹으로 분리할 수 있다. 비록 종래에는 상기 정보 비트를 1 비트 단위로 처리하였으나, 이하 설명의 편의를 위해 정보 비트 s를 z 비트씩 묶어서 kb개의 그룹으로 분리하여 처리한다고 가정한다. kb개의 그룹으로 그룹화된 정보 비트 s는 하기 수학식 8과 같이 벡터로 표현될 수 있다.As described above, the model matrix is composed of subblocks of size z * z. For encoding, the model matrix may be divided into k b groups by z-bit information bits. Although the information bits are conventionally processed in units of 1 bit, for convenience of description, it is assumed that the information bits s are grouped by z bits and divided into k b groups. Information bits s grouped into k b groups may be represented as vectors, as shown in
상기 수학식 8에서 u(i)는, 크기가 z*1인 열 벡터(column vector)이다. In
상기 수학식 8에서 사용한 방법과 동일한 그룹화(grouping) 방법으로 상기 패리티 비트를 표현하면 다음과 같다. The parity bits are expressed by the same grouping method as the method used in
상기 수학식 9에서 v(i)는, 크기가 z*1인 열 벡터(column vector)이다. In
상기 상위 삼각형 타입의 모델 행렬을 이용하여 z*z 단위로 부호화되는 과정은, 하기 수학식 10 내지 수학식 12로 표현될 수 있다. A process of encoding the z * z unit using the upper triangle type model matrix may be represented by
상기 수학식 10에서도 알 수 있듯이, 전체 패리티 비트 중 처음 z 비트를 구하기 위해서는 상기 모델 행렬의 정보어 부분 전체에 대한 연산을 수행하여야 한다. As can be seen from
상기 수학식 11은 전체 패리티 비트 중 처음 z비트 값을 이용하여, 그 다음 z 비트의 패리티를 구하는 과정을 나타낸다.
상기 수학식 12는 상기 수학식 10 및 수학식 11을 내용을 기초로 모델 행렬을 이용한 부호화 과정을 재귀적으로 표현한 것이다.
상술한 일반적인 모델 행렬(특정한 크기의 서브 블록으로 이루어진 행렬)에 따른 부호화 과정의 특징을 정리하면 다음과 같다.The characteristics of the encoding process according to the above-described general model matrix (matrix consisting of sub-blocks of a specific size) are summarized as follows.
첫째, 상기 모델 행렬에 의해 패리티 비트가 생성되는 경우, 전체 패리티 비트 중 처음 일부의 패리티 비트를 산출하기 위해 상기 모델 행렬의 정보어 부분 전체에 대한 연산을 수행하여야 한다. First, when a parity bit is generated by the model matrix, an operation on the entire information word portion of the model matrix should be performed to calculate a parity bit of the first part of all parity bits.
일반적으로 이중 대각(Dual diagonal) 형태의 패리티 부분을 가지는 모델 행렬을 사용하면, 누산기(accumulator) 형태로 동작하는 부호화 장치를 통해 패리티 비트를 간단하게 계산할 수 있는 장점이 있다. 다만, 패리티 비트 중 처음 비트들이 이미 구해진 경우에, 상기 누산기를 통해 간단하게 패리티 비트를 구할 수 있다. 그러나 패리티 부분이 상기 상위 삼각형(upper triangle) 형태일 경우, 상기 패리티 부분의 처음 비트들을 구하기 위해서는, 정보어 부분 전체에 대한 연산을 수행해야 한다. 상기 정보어 부분 전체에 대한 연산량은 상기 처음 비트들을 제외한 나머지 패리티 비트를 구하는 연산량과 비슷한 정도이기 때문에, 상기 상위 삼각형 형태의 모델 행렬은 복호의 복잡도를 증가시키는 특징이 있다. In general, when a model matrix having a parity portion having a dual diagonal form is used, a parity bit can be easily calculated through an encoding device operating in an accumulator form. However, when the first bits of the parity bits have already been obtained, the parity bits can be simply obtained through the accumulator. However, when the parity portion is in the upper triangle form, in order to obtain the first bits of the parity portion, it is necessary to perform an operation on the entire information word portion. Since the amount of computation for the entire information word portion is about the same as the amount of computation for obtaining the parity bits except for the first bits, the model matrix of the upper triangular form increases the complexity of decoding.
둘째, 상기 모델 행렬을 이용하여 H-ARQ 등의 재전송 기법을 수행하는 경우 복잡도가 증가한다. Second, when the retransmission scheme such as H-ARQ is performed using the model matrix, complexity increases.
H-ARQ 등의 재전송 기법에 따라 부호율을 달리하여 데이터를 재전송하는 경우에는, 패리티 비트의 길이를 제어하여 부호율을 조정할 수 있다. 상기 모델 행렬을 이용하여 추가적인 패리티 비트를 생성해야 하는 경우, 추가로 생성되는 패리티 비트에 상응하는 패리티 부분만을 계산하기 위해, 상기 정보어 부분 전체에 대한 계산을 다시 수행한다. 결과적으로, 상기 모델 행렬을 이용하여 재전송 기법을 수행하는 경우 복잡도가 증가한다.When data is retransmitted at different code rates according to a retransmission scheme such as H-ARQ, the code rate can be adjusted by controlling the length of the parity bits. When additional parity bits need to be generated using the model matrix, the entire calculation of the information word portion is performed again to calculate only the parity portion corresponding to the additionally generated parity bits. As a result, the complexity increases when the retransmission scheme is performed using the model matrix.
이하, 본 발명의 일 실시예에 따른 모델 행렬을 설명한다. Hereinafter, a model matrix according to an embodiment of the present invention will be described.
도 7a은 본 실시예에 따른 모델 행렬의 구조를 나타낸 것이다. 도 7a의 모델 행렬은, 크게 정보어 부분(systematic part)과 패리티 부분(parity part)으로 구성된다. 즉, 도 7a의 모델 행렬은, [Hd : Hp]의 구조로 이루어지는바, 상기 Hd는 상기 모델 행렬에 의해 부호화되는 정보 비트(information bit)에 1:1로 대응하는 정보어 부분이고, 상기 Hp는 부호화된 코드워드에 포함되는 패리티 비트를 생성하는 패리티 부분이다. 7A shows the structure of the model matrix according to the present embodiment. The model matrix of FIG. 7A is largely comprised of a systematic part and a parity part. That is, the model matrix of FIG. 7A has a structure of [H d : H p ], where H d is an information word portion corresponding to an information bit encoded by the model matrix in a 1: 1 ratio. , H p is a parity portion for generating a parity bit included in the coded codeword.
도시된 바와 같이, 본 실시예에 따른 모델 행렬은 상기 패리티 부분에 이중 대각(dual diagonal) 성분을 갖는다. 다만, 본 실시예에 따른 이중 대각 성분은 도시된 바와 같이, 하나의 대각(diagonal) 성분과 상기 대각 성분에 인접한 성분으로 이루어진다. 또한, 상기 인접한 성분은, 상기 대각 성분의 하단(lower)에 위치한다. 즉, 상기 인접한 성분은 상기 대각 성분의 좌측에 위치한다. 행렬의 성분에 대 한 상하 좌우는 행렬을 보는 방향에 따라 가변적인바, 본 실시예에 따른 모델 행렬을 다른 방법으로 설명하면 다음과 같다. As shown, the model matrix according to the present embodiment has a dual diagonal component in the parity portion. However, the double diagonal component according to the present exemplary embodiment includes one diagonal component and a component adjacent to the diagonal component as shown. The adjacent component is also located at the lower end of the diagonal component. That is, the adjacent component is located to the left of the diagonal component. The up, down, left, and right sides of the components of the matrix are variable depending on the direction of viewing the matrix. The model matrix according to the present embodiment is described in another method as follows.
상기 모델 행렬을 [Hd : Hp]라 하고, 도 7a의 패리티 부분 내에서 서브 블록의 행을 r이라 하고, 열을 c로 인덱싱하고, 특정한 서브 블록에 대한 쉬프트 수를 Ar ,c라 하는 경우, 상기 인덱스 Ar ,c는 r=c인 경우와 r=c+1인 경우에 -1인 아닌 임의의 정수를 갖는다. 즉, 도 7a의 모델 행렬의 패리티 부분이 16개의 서브 블록을 갖는 경우, 상기 패리티 부분은 하기 수학식 13과 같이 결정된다. The model matrix is called [H d : H p ], the row of sub blocks in the parity portion of FIG. 7A is r, the column is indexed by c, and the shift number for a particular sub block is A r , c . In this case, the index A r , c has any integer that is not -1 when r = c and r = c + 1. That is, when the parity portion of the model matrix of FIG. 7A has 16 subblocks, the parity portion is determined as shown in
상기 수식에서 xi와 yi는 임의의 정수를 나타낸다. 모델 행렬 또는 패리티 검사 행렬의 패리티 부분은, 이중 대각 성분의 설계 방법에 따라 여러 가지로 구분될 수 있는바, 도 7a의 모델 행렬의 방식으로 설계된 패리티 부분은 '하위 삼각형(lower triangle) 타입'에 따라 설계되었다고 표현한다.In the above formula, x i and y i represent an arbitrary integer. The parity portion of the model matrix or parity check matrix can be divided into various types according to the design method of the double diagonal component. The parity portion designed by the method of the model matrix of FIG. 7A has a 'lower triangle type'. Expressed as designed accordingly.
도 7b 내지 도 7j는 본 실시예에 따른 다양한 모델 행렬을 나타낸다. 도 7b 내지 도 7j의 모델 행렬에서 x_1 내지 x_21, y_1 내지 y45, z_1 내지 z_55는 임의의 쉬프트 수(shift number)를 나타낸다. 상기 x_1 내지 x_21은 이중 대각 성분이 므로 영 행렬을 의미하는 '-1'을 제외한 다양한 쉬프트 수를 가질 수 있다. 7B to 7J illustrate various model matrices according to the present embodiment. In the model matrix of FIGS. 7B-7J, x_1 to x_21, y_1 to y45, and z_1 to z_55 represent arbitrary shift numbers. Since x_1 to x_21 are double diagonal components, they may have various shift numbers except '-1' which means a zero matrix.
또한, 도 7b 내지 도 7j의 모델 행렬의 정보어 부분(Hd-part)는 다양한 쉬프트 수를 갖을 수 있기 때문에, 구체적인 쉬프트 수에 대한 표시를 생략한다. In addition, since the information word portion Hd-part of the model matrices of FIGS. 7B to 7J may have various shift numbers, a description of the specific shift number is omitted.
도 7b에 도시된 바와 같이, 모델 행렬의 이중 대각 성분과 상기 이중 대각 성분을 제외한 나머지 성분들은 서로 동일하거나 상이한 다양한 값을 갖을 수 있다.As shown in FIG. 7B, the double diagonal component of the model matrix and the remaining components except for the double diagonal component may have the same or different various values.
또한, 도 7c에 도시된 바와 같이, 상기 하위 삼각형 타입에 따라 설계된 모델 행렬의 이중 대각 성분은 '0'의 쉬프트 수(shift number)일 수 있다. In addition, as illustrated in FIG. 7C, the double diagonal component of the model matrix designed according to the lower triangle type may be a shift number of '0'.
도 7d 및 도 7e에 도시된 바와 같이, 상기 하위 삼각형 타입에 따라 설계된 모델 행렬의 이중 대각 성분의 상부에 위치하는 성분들은, 영 행렬(zero matrix)에 상응하는 '-1'의 쉬프트 수일 수 있다. 다만, 도 7e와 같이, 상기 하위 삼각형 타입에 따라 설계되는 모델 행렬에는, 특정한 개수의 '-1'이 아닌 성분(z_1, z_2, z_3)이 포함될 수 있다. As shown in FIGS. 7D and 7E, the components positioned on the double diagonal component of the model matrix designed according to the lower triangle type may be a shift number of '-1' corresponding to a zero matrix. . However, as shown in FIG. 7E, the model matrices designed according to the lower triangle type may include components z_1, z_2, and z_3 that are not a certain number of '-1'.
도 7f는 상기 하위 삼각형 타입에 따라 설계된 모델 행렬의 또 다른 일례를 나타낸다. 도시된 바와 같이, 모델 행렬의 하부에 위치하는 성분들은, 영 행렬(zero matrix)에 상응하는 '-1'의 쉬프트 수일 수 있다. 또한, 도 7g 및 도 7h에 도시된 바와 같이, 모델 행렬의 하부에 위치하는 성분들 중 일부는, '-1'이 아닌 성분(y_1, y_2)일 수 있다. 7F shows another example of a model matrix designed according to the lower triangle type. As shown, the components located below the model matrix may be shift numbers of '-1' corresponding to a zero matrix. Also, as shown in FIGS. 7G and 7H, some of the components located below the model matrix may be components y_1 and y_2 that are not '-1'.
도 7i 및 도 7j는 상기 하위 삼각형 타입에 따라 설계된 모델 행렬의 또 다른 일례를 나타낸다. 도시된 바와 같이, 상기 하위 삼각형 타입에 따라 설계된 모 델 행렬의 x_1 성분은 '0'과 '-1'이 아닌 임의의 성분일 수 있으며, 상기 임의의 성분과 동일한 열(column)에 위치하는 특정한 개수의 성분은 '-1'이 아닌 임의의 성분일 수 있다. '0'이 아닌 이중 대각 성분과 동일한 열에 위치하는 '-1'이 아닌 성분의 위치와 개수는 다양하게 정해질 수 있다. 즉, 패리티 비트를 생성하는 부호화 장치 또는 상기 모델 행렬의 정보어 부분의 구조 등에 따라 다양한 값을 갖을 수 있다. 7I and 7J show another example of a model matrix designed according to the lower triangle type. As shown, the x_1 component of the model matrix designed according to the lower triangle type may be any component other than '0' and '-1', and is located in the same column as the arbitrary component. The number of components can be any component other than '-1'. The position and number of non--1 components positioned in the same column as the double diagonal component other than '0' may be determined in various ways. That is, it may have various values depending on the encoding device for generating parity bits or the structure of the information word portion of the model matrix.
상기 하위 삼각형 타입에 따라 설계된 모델 행렬에 의해 부호화가 수행되는 경우, 코드워드에 포함되는 패리티 비트는 다음과 같은 방법으로 결정된다. When encoding is performed by a model matrix designed according to the lower triangle type, the parity bits included in the codeword are determined by the following method.
도 8은 본 실시예에 따른 하위 삼각형 타입의 패리티 검사 행렬에 의해 부호화가 수행되는 일례를 나타낸다. 도 8의 일례는, 설명의 편의를 위해 비트 단위로 동작하는 패리티 검사 행렬을 기초로 부호화 단계를 설명하나, 본 발명에 따른 부호화 방법은 모델 행렬 및 패리티 검사 행렬에 모두 적용할 수 있고, 부호화 동작 역시 비트 단위 또는 서브 블록 단위로 수행될 수 있다. 이하, 도 8을 참조하여 본 실시예에 따른 부호화 방법을 설명한다. 8 shows an example in which encoding is performed by a parity check matrix of a lower triangle type according to the present embodiment. 8 illustrates an encoding step based on a parity check matrix operating in units of bits for convenience of description, but the encoding method according to the present invention can be applied to both a model matrix and a parity check matrix. It may also be performed in units of bits or sub-blocks. Hereinafter, the encoding method according to the present embodiment will be described with reference to FIG. 8.
정보 비트는 a0, a1, a2, a3이며, 도 8의 패리티 검사 행렬에 의해 패리티 비트 p0, p1, p2, p3가 추가되어, 코드워드 c(a0, a1, a2, a3, p0, p1, p2, p3)가 생성된다. 도시된 바와 같이, 패리티 비트 중 첫 번째 패리티 비트 p0는 도 8의 정보어 부분 중 일부에 대한 연산을 통해 산출된다. 즉, p0는 도 8의 첫 번째 행(row)에 대한 연산() 만을 통해 계산될 수 있다. 또한, p1은 도 8의 두 번째 행에 대한 연산() 만을 통해 계산될 수 있다. 상기 p1을 구하는 도중에 p0 값이 필요하지만, 이미 p0는 산출되어 있는바 새롭게 구할 필요가 없다. 동일한 방법으로, p2, p3를 구할 수 있는바, 본 실시예에 따라 하위 삼각형 구조의 패리티 검사 행렬을 사용하는 경우, 정보어 부분 중 일부에 대한 연산을 통하여 패리티 비트를 구할 수 있다. The information bits are a 0 , a 1 , a 2 , a 3 , and the parity bits p 0 , p 1 , p 2 , p 3 are added by the parity check matrix of FIG. 8, and the codeword c (a 0 , a 1 , a 2 , a 3 , p 0 , p 1 , p 2 , p 3 ) are generated. As shown, the first parity bit p 0 of the parity bits is calculated through operations on some of the information word portions of FIG. 8. That is, p 0 is an operation on the first row of FIG. ) Can be calculated only. In addition, p 1 is the operation for the second row of FIG. ) Can be calculated only. While the value of p 0 is required during the calculation of p 1 , p 0 has already been calculated and there is no need to obtain a new value. In the same manner, p 2 and p 3 can be obtained. In the case of using the parity check matrix having a lower triangular structure according to the present embodiment, the parity bit can be obtained by calculating a part of the information word part.
도 9a 및 도 9b는 본 실시예에 따른 부호화 방법을 도시적으로 표시한 도면이다. 이하, 도 8 및 도 9를 참조하여 본 실시예에 따른 부호화 방법의 특징을 설명한다. 도 9a에서 p0를 구하기 위해서는 패리티 검사 행렬의 구조에 따라 정보 비트들에 대한 연산을 수행해야 한다. 즉, 901 영역에 대한 패리티 값을 구하기 위해서는 902 영역에 대한 연산이 수행되어야 한다. 만약 일반적인 패리티 검사 행렬을 사용하여 부호화를 수행하는 경우, 901 영역에 대한 연산이 완료되기 위해서는 903 영역에 대한 연산이 먼저 수행되어야 한다. 그러나, 본 실시예는 상기 하위 삼각형 타입의 패리티 부분을 포함하는바, 상기 902 영역에 대한 계산 만으로도 상기 901 영역에 대한 패리티 값을 구할 수 있다.9A and 9B are diagrams illustrating the encoding method according to the present embodiment. Hereinafter, the features of the encoding method according to the present embodiment will be described with reference to FIGS. 8 and 9. In order to obtain p 0 in FIG. 9A, operations on information bits should be performed according to the structure of the parity check matrix. That is, in order to obtain a parity value for the
도 9b는 p1을 구하기 위한 연산 과정을 설명한다. 도 9b에서 p1을 구하기 위해서는 패리티 검사 행렬의 구조에 따라 정보 비트들에 대한 연산을 수행해야 한 다. 즉, 904 영역에 대한 패리티 값을 구하기 위해서는 905 영역에 대한 연산이 수행되어야 한다. 만약 일반적인 패리티 검사 행렬을 사용하여 부호화를 수행하는 경우, 904 영역에 대한 연산이 완료되기 위해서는 903 영역에 대한 연산이 먼저 수행되어야 한다.9B illustrates an operation for obtaining p 1 . In order to obtain p 1 in FIG. 9B, an operation on information bits should be performed according to the structure of the parity check matrix. That is, to obtain a parity value for the
결론적으로, 본 실시예에 따른 하위 삼각형 타입의 패리티 검사 행렬을 이용하는 경우, 패리티 비트의 처음 비트(만약, 서브 블록 단위로 계산하는 경우 서브 블록의 크기에 상응하는 비트들)를 구하기 위해 정보어 부분 전체에 대한 계산을 수행할 필요가 없고, 생성하려는 패리티 비트에 상응하는 정보어 부분에 대하여 계산을 수행하면 된다.In conclusion, in the case of using the parity check matrix of the lower triangular type according to the present embodiment, the information word part is used to obtain the first bit of the parity bit (if the bits correspond to the size of the sub-block when the sub-block is calculated). There is no need to perform the calculation on the whole, but only on the information word portion corresponding to the parity bit to be generated.
이하, 특정한 크기의 서브 블록으로 이루어지는 모델 행렬에 의해 부호화가 수행되는 방법을 설명한다. Hereinafter, a method of encoding is performed by a model matrix consisting of subblocks having a specific size.
상기 모델 행렬을 Hb라 하는 경우, 상기 Hb는 정보어, 즉 정보비트(information bit)와 일대일 대응되는 정보어 부분 Hb1과, 패리티 부분 Hb2으로 구성된다. 상기 모델 행렬을 수식으로 정리하면 다음과 같다. When the model matrix is referred to as H b , the H b is composed of an information word, that is, an information word part H b1 corresponding to an information bit one-to-one and a parity part H b2 . The model matrix is summarized as follows.
도 10은 본 실시예에 따라 다양한 서브 블록(Pi ,j)들로 이루어지는 모델 행렬의 일례를 나타내는 도면이다. 본 발명에 따른 모델 행렬의 패리티 부분의 이중 대 각 성분은, 다양한 쉬프트 수(shift number)를 가질 수 있는바, 이하 쉬프트 수 '0'을 갖는 이중 대각 성분으로 이루어진 모델 행렬 상의 동작을 설명한다.FIG. 10 is a diagram illustrating an example of a model matrix composed of various subblocks Pi and j according to the present embodiment. The double diagonal component of the parity portion of the model matrix according to the present invention may have various shift numbers. Hereinafter, the operation on the model matrix composed of the double diagonal component having the shift number '0' will be described.
상기 Hb에 의해 생성되는 코드워드 x는, 정보 비트 s와 패리티 비트 p를 포함하는바, 하기 수식으로 표현된다.The codeword x generated by H b includes an information bit s and a parity bit p, and is represented by the following formula.
상술한 바와 같이, 상기 모델 행렬은 z * z 크기의 서브 블록들로 구성되는바, 부호화를 위해서 정보 비트 s를 z 비트씩 묶어서 kb개의 그룹으로 분리할 수 있다. 이하, 정보 비트 s를 z 비트씩 묶어서 kb개의 그룹으로 분리하여 처리하는 방법을 설명한다. kb개의 그룹으로 그룹화된 정보 비트 s는 하기 수학식 16과 같이 열 벡터로 표현된다. As described above, the model matrix is composed of subblocks of size z * z. For encoding, the model matrix may be divided into k b groups by grouping the information bits s by z bits. Hereinafter, a method of processing the information bits s by z bits and separating them into k b groups will be described. Information bits s grouped into k b groups are represented by column vectors as shown in
상기 수학식 16에서 u(i)는, 크기가 z*1인 열 벡터(column vector)이다. In
상기 수학식 16에서 사용한 방법과 동일한 그룹화(grouping) 방법으로 상기 패리티 비트를 표현하면 다음과 같다. The parity bits are expressed by the same grouping method as the method used in
상기 수학식 17에서 v(i)는, 크기가 z*1인 열 벡터(column vector)이다. In
상기 하위 삼각형 타입의 모델 행렬에 따라 z*z 단위로 부호화되는 과정은 하기 수학식 18 내지 수학식 20으로 표현될 수 있다. A process of encoding the z * z unit according to the lower triangle type model matrix may be represented by
상기 수학식에서, 는 패리티 부분에 위치하는 서브 블록으로부터 확장되어 생성되는 행렬을 나타낸다. 예를 들어, 이라면, 특정한 모델 행렬의 첫 번째 행과 첫 번째 열에 위치하는 서브 블록을 나타내는 것이다. 상기 수학식 18a에서도 알 수 있듯이, 전체 패리티 비트 중 처음 z 비트는 처음 z비트에 상응하는 정보어 부분에 대한 연산 결과이다. 다음 z 비트는, 처음 z 비트에 대한 패리티 부분에 대한 연산과 다음 z비트에 상응하는 정보어 부분에 대한 연산 결과를 이용하여 계산되는바, 패리티 비트를 계산하는 과정은 상기 수학식 18b와 같은 재귀적 방법으로 표현될 수 있다. In the above equation, Denotes a matrix generated by extending from a subblock located in the parity portion. E.g, , The subblock at the first row and first column of a particular model matrix. As can be seen from Equation 18a, the first z bits of all the parity bits are the operation result of the information word portion corresponding to the first z bits. The next z bits are calculated using the operation on the parity portion for the first z bits and the operation result on the information word portion corresponding to the next z bits. The process of calculating the parity bits is recursive as shown in Equation 18b. Can be expressed in an enemy way.
상기 수학식을 통해서도 확인할 수 있듯이, 본 실시예에 따라 하위 삼각형 형태의 행렬을 이용하여 부호화를 수행하는 경우, 좀더 적은 양의 계산을 통하여 부호화를 완료하는 이점이 있다. As can be seen from the above equation, when encoding is performed using a lower triangular matrix according to the present embodiment, there is an advantage in that the encoding is completed through a smaller amount of calculation.
본 실시예에 따라 부호화된 신호를 수신하는 수신 측은 상기 하위 삼각형 형태의 행렬을 이용하여 복호화를 수행하여 원하는 데이터를 수신할 수 있다. The receiving side receiving the encoded signal according to the present embodiment may receive desired data by performing decoding using the matrix of the lower triangular form.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정해져야 할 것이다. Those skilled in the art through the above description can be seen that various changes and modifications can be made without departing from the spirit of the present invention. Therefore, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification but should be defined by the claims.
이하, 본 발명에 따른 효과를 설명한다. Hereinafter, the effect of the present invention will be described.
본 발명에 따른 부호화 방법은 하위 삼각형 특징을 갖는 모델 행렬 또는 패리티 검사 행렬을 사용하여 부호화를 수행하는바, 상기 하위 삼각형 특징을 갖는 행렬은 패리티 부분의 구조에 의해 첫 번째 패리티 비트들이 빠르게 계산된다. 즉 복호화에 따른 복잡도(complexity)가 감소하는 유리한 효과가 있다. In the encoding method according to the present invention, encoding is performed using a model matrix or a parity check matrix having a lower triangular feature. In the matrix having the lower triangular feature, first parity bits are quickly calculated by the structure of a parity part. In other words, there is an advantageous effect of reducing complexity due to decoding.
또한, 본 발명에 따른 부호화 방법을 수행하는 경우 특정한 필요에 의해 패리티 비트를 추가로 계산하는 경우, 추가되는 패리티 비트에 상응하는 정보어 부분만을 계산하여 상기 추가되는 패리티 비트를 산출할 수 있는 유리한 효과가 있다. In addition, in the case of performing the encoding method according to the present invention, when the parity bit is additionally calculated by a specific need, the additional parity bit may be calculated by calculating only an information word portion corresponding to the added parity bit. There is.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060036352A KR101187070B1 (en) | 2006-04-21 | 2006-04-21 | Method for encoding using parity check matrix |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060036352A KR101187070B1 (en) | 2006-04-21 | 2006-04-21 | Method for encoding using parity check matrix |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070104138A KR20070104138A (en) | 2007-10-25 |
KR101187070B1 true KR101187070B1 (en) | 2012-09-27 |
Family
ID=38818315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060036352A Active KR101187070B1 (en) | 2006-04-21 | 2006-04-21 | Method for encoding using parity check matrix |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101187070B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101295069B1 (en) * | 2011-07-11 | 2013-08-08 | 주식회사 데이터스트림즈 | Readable symmetric encryption method |
KR102727068B1 (en) * | 2019-03-13 | 2024-11-08 | 한국전자통신연구원 | Human body communication transmitter and human body communication receiver |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004343170A (en) | 2003-05-13 | 2004-12-02 | Sony Corp | Decoding method, decoder, and program |
KR100502608B1 (en) | 2002-12-24 | 2005-07-20 | 한국전자통신연구원 | A Simplified Massage-Passing Decoder for Low-Density Parity-Check Codes |
KR100550101B1 (en) * | 2003-12-22 | 2006-02-08 | 한국전자통신연구원 | An apparatus for encoding and decoding of Low-Density Parity-Check Codes, and methods thereof |
-
2006
- 2006-04-21 KR KR1020060036352A patent/KR101187070B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100502608B1 (en) | 2002-12-24 | 2005-07-20 | 한국전자통신연구원 | A Simplified Massage-Passing Decoder for Low-Density Parity-Check Codes |
JP2004343170A (en) | 2003-05-13 | 2004-12-02 | Sony Corp | Decoding method, decoder, and program |
KR100550101B1 (en) * | 2003-12-22 | 2006-02-08 | 한국전자통신연구원 | An apparatus for encoding and decoding of Low-Density Parity-Check Codes, and methods thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20070104138A (en) | 2007-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101191196B1 (en) | Method of encoding and decoding using a parity check matrix | |
KR101119111B1 (en) | Method of data reretransmission using Low Density Parity Check Code | |
KR101455978B1 (en) | Coding method using LDPC code | |
KR101102396B1 (en) | Codeword Size Matching Method and Transmission Device in Mobile Communication System | |
KR101154995B1 (en) | Method for performing a Low Density Parity Check encoding | |
JPWO2007029734A1 (en) | Data transmission system and data transmission method | |
KR101253184B1 (en) | Method of puncturing data encoded by Low Density Parity Check model matrix | |
KR101187070B1 (en) | Method for encoding using parity check matrix | |
KR101128804B1 (en) | Method of LDPC encoding and LDPC decoding using a reference matrix | |
KR101276845B1 (en) | Method of Low Density Parity Check Code decoding using a plurality of layers | |
KR101265636B1 (en) | method of performing a Low-density parity-check codes decoding using a model matrix | |
KR101227514B1 (en) | Method for configuring a model matrix for Low Density Parity Check encoding and decoding | |
KR101187072B1 (en) | Method for encoding using parity check matrix | |
KR101221897B1 (en) | LDPC encoder | |
WO2008117994A1 (en) | Method of encoding data using a low density parity check code | |
KR101162217B1 (en) | Method of LDPC encoding using a parity check matrix | |
KR101191197B1 (en) | Method of decoding using a plurality of parity check matrices | |
KR101319891B1 (en) | method for processing signals encoded by a block code | |
KR101503133B1 (en) | Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes | |
KR20070022569A (en) | Device for transmitting / receiving LDPC encoded data and modulation / modulation method using same | |
KR101137349B1 (en) | Method of encoding using a plurality of parity check matrices | |
KR20060063003A (en) | Codeword Generation Method by Iteration | |
KR101221911B1 (en) | Method for a retransmission using a Low Density Parity Check code | |
WO2008034291A1 (en) | An interleaving scheme for an ldpc coded qpsk/8psk system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20060421 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20101028 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20060421 Comment text: Patent Application |
|
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20120119 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20120829 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20120921 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20120924 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20150824 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20150824 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160824 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20160824 Start annual number: 5 End annual number: 5 |
|
LAPS | Lapse due to unpaid annual fee |