KR20080050957A - Apparatus and method of encoding/decoding block low density parity check codes in a communication system - Google Patents
Apparatus and method of encoding/decoding block low density parity check codes in a communication system Download PDFInfo
- Publication number
- KR20080050957A KR20080050957A KR1020070064585A KR20070064585A KR20080050957A KR 20080050957 A KR20080050957 A KR 20080050957A KR 1020070064585 A KR1020070064585 A KR 1020070064585A KR 20070064585 A KR20070064585 A KR 20070064585A KR 20080050957 A KR20080050957 A KR 20080050957A
- Authority
- KR
- South Korea
- Prior art keywords
- partial block
- blocks corresponding
- blocks
- classified
- parity
- Prior art date
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
-
- 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/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/255—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
도 1은 본 발명의 실시예에 따른 신호 송신 장치의 구조를 도시한 도면1 is a view showing the structure of a signal transmission apparatus according to an embodiment of the present invention
도 2는 본 발명의 실시예에 따른 신호 수신 장치의 구조를 도시한 도면2 is a diagram illustrating the structure of a signal receiving apparatus according to an embodiment of the present invention;
도 3은 본 발명의 실시예에 따른 블록 LDPC 부호의 패리티 검사 행렬 구조를 도시한 도면3 illustrates a parity check matrix structure of a block LDPC code according to an embodiment of the present invention.
도 4는 도 3의 패리티 검사 행렬을 6개의 부분 블록들로 분할한 도면4 is a diagram of dividing the parity check matrix of FIG. 3 into six partial blocks.
도 5는 도 4의 부분 행렬 B의 이항 행렬(transpose matrix)과, 부분 행렬 E와, 부분 행렬 T와, 부분 행렬 T의 역행렬(inverse matrix)을 도시한 도면FIG. 5 shows a transpose matrix of the partial matrix B of FIG. 4, a partial matrix E, a partial matrix T, and an inverse matrix of the partial matrix T. FIG.
도 6은 본 발명의 실시예에 따른 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬의 구조를 도시한 도면6 illustrates a structure of a parity check matrix of a first type semi-structured block LDPC code according to an embodiment of the present invention.
도 7은 본 발명의 실시예에 따른 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬 구조를 도시한 도면7 illustrates a parity check matrix structure of a second type semi-structured block LDPC code according to an embodiment of the present invention.
도 8은 본 발명의 실시예에 따른 제1타입 반구조적 블록 LDPC 부호의 모 패리티 검사 행렬을 기반으로 하여 생성된 자 패리티 검사 행렬의 구조를 도시한 도 면8 is a diagram illustrating a structure of a child parity check matrix generated based on a parent parity check matrix of a first type semi-structured block LDPC code according to an embodiment of the present invention.
도 9는 본 발명의 실시예에 따른 제2타입 반구조적 블록 LDPC 부호의 모 패리티 검사 행렬을 기반으로 하여 생성된 자 패리티 검사 행렬의 구조를 도시한 도면9 is a diagram illustrating a structure of a child parity check matrix generated based on a parent parity check matrix of a second type semi-structured block LDPC code according to an embodiment of the present invention.
도 10은 도 1의 부호화기(111) 내부 구조의 일 예를 도시한 블록도FIG. 10 is a block diagram illustrating an example of an internal structure of the
도 11은 도 2의 복호기(215) 내부 구조를 도시한 블록도11 is a block diagram showing the internal structure of the
도 12a 내지 도 12h는 부호화율이 1/2일 경우, 본 발명의 실시예에 따른 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 행렬의 일 예를 도시한 도면12A to 12H illustrate an example of a matrix corresponding to each partial block included in a parity check matrix of a first type semi-structured block LDPC code according to an embodiment of the present invention when the coding rate is 1/2. drawing
도 13a 내지 도 13g는 부호화율이 1/2일 경우, 본 발명의 실시예에 따른 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 행렬의 다른 예를 도시한 도면13A to 13G illustrate another example of a matrix corresponding to each partial block included in a parity check matrix of a first type semi-structured block LDPC code according to an embodiment of the present invention when the coding rate is 1/2. drawing
도 14a 내지 도 14b는 부호화율이 5/6일 경우, 본 발명의 실시예에 따른 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 행렬의 일 예를 도시한 도면14A to 14B illustrate an example of a matrix corresponding to each partial block included in a parity check matrix of a second type semi-structured block LDPC code according to an embodiment of the present invention when the coding rate is 5/6. drawing
도 15a 내지 도 15c는 부호화율이 11/12일 경우, 본 발명의 실시예에 따른 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 행렬의 일 예를 도시한 도면15A to 15C illustrate an example of a matrix corresponding to each partial block included in a parity check matrix of a second type semi-structured block LDPC code according to an embodiment of the present invention when the coding rate is 11/12. drawing
도 16a 및 16b은 부호화율이 1/2일 경우, 본 발명의 실시예에 따른 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 행렬의 일 예를 도시한 도면16A and 16B illustrate an example of a matrix corresponding to each partial block included in a parity check matrix of a first type semi-structured block LDPC code according to an embodiment of the present invention when the coding rate is 1/2;
도 17은 도 1의 부호화기(111) 내부 구조의 다른 예를 도시한 블록도17 is a block diagram illustrating another example of an internal structure of the
본 발명은 통신 시스템에서블록(block) 저밀도 패리티 검사(LDPC: Low Density Parity Check, 이하 'LDPC'라 칭하기로 한다) 부호를 부호화/복호하는 장치 및 방법에 관한 것이다. The present invention relates to an apparatus and method for encoding / decoding a block low density parity check (LDPC) code in a communication system.
차세대 통신 시스템은 패킷 서비스 통신 시스템(packet service communication system) 형태로 발전되어 왔으며, 패킷 서비스 통신 시스템은 버스트(burst)한 패킷 데이터(packet data)를 다수의 이동 단말기(MS: Mobile Station)들로 송신하는 시스템으로서, 고속 대용량 데이터 송수신에 적합하도록 설계되어 왔다. 특히, 차세대 통신 시스템에서는 고속 대용량 데이터 송수신 지원을 위해 하이브리드 자동 반복 요구(HARQ: Hybrid Automatic Repeat reQuest, 이하 'HARQ'라 칭하기로 한다) 방식과 적응적 변조 및 부호화(AMC: Adaptive Modulation and Coding, 이하 'AMC'라 칭하기로 한다) 방식 등과 같은 다양한 방식들이 제안된 바 있으며, 상기 HARQ 방식 및 AMC 방식 등과 같은 방식들을 사용하기 위해서는 다양한 부호화율(coding rate)들을 지원해야만 한다. The next generation communication system has been developed in the form of a packet service communication system, and the packet service communication system transmits bursted packet data to a plurality of mobile stations (MSs). The system has been designed to be suitable for high-speed mass data transmission and reception. In particular, in next-generation communication systems, a hybrid automatic repeat request (HARQ) scheme and an adaptive modulation and coding (AMC) scheme are used to support high-speed large data transmission and reception. Various schemes, such as the "AMC" scheme, have been proposed. In order to use the schemes such as the HARQ scheme and the AMC scheme, various coding rates must be supported.
또한, 차세대 통신 시스템에서는 터보 부호(turbo code)와 함께 고속 데이터 송신시에 그 성능 이득이 우수한 것으로 알려져 있으며, 송신 채널에서 발생하는 잡음에 의한 오류를 효과적으로 정정하여 데이터 송신의 신뢰도를 높일 수 있는 장점을 가지는 블록 LDPC 부호를 사용하는 것을 적극적으로 고려하고 있다. In addition, in the next-generation communication system, it is known that the performance gain is excellent in high-speed data transmission together with a turbo code, and it is possible to effectively correct errors caused by noise generated in a transmission channel to increase the reliability of data transmission. The use of a block LDPC code with
그런데, 상기 블록 LDPC 부호는 부호화율면에 있어서 단점을 가진다. 즉, 상기 블록 LDPC 부호는 상기 블록 LDPC 부호의 특성상 그 생성되는 부호어(codeword)가 비교적 높은 부호화율을 가지기 때문에 부호화율면에서 자유롭지 못하다는 단점을 가진다. 현재 제안되어 있는 블록 LDPC 부호의 경우 대부분이 1/2의 부호화율을 가지고, 일부만 1/3의 부호화율을 가진다. 이렇게, 상기 블록 LDPC 부호의 경우 그 부호화율면에서 제한이 존재하여, 고속 데이터 송신에 부적합하게 된다.However, the block LDPC code has a disadvantage in terms of coding rate. That is, the block LDPC code is disadvantageous in that it is not free in terms of coding rate because the generated codeword has a relatively high coding rate. Most of the block LDPC codes currently proposed have a code rate of 1/2, and only a part has a code rate of 1/3. Thus, in the case of the block LDPC code, there is a limitation in terms of the coding rate, which makes it unsuitable for high speed data transmission.
물론, 비교적 낮은 부호화율을 구현하기 위해서 밀도 진화(density evolution) 방식 등을 사용하여 최적의 성능을 나타내는 차수 분포를 구할 수는 있지만, 상기 최적의 성능을 나타내는 차수 분포를 가지는 블록 LDPC 부호를 구현하는 것은 이분(bipartite, 이하 'bipartite'라 칭하기로 한다) 그래프 상의 사이클(cycle) 구조와 하드웨어 구현(implementation) 등의 여러 가지 제약 조건들로 인해서 난이하다.Of course, in order to achieve a relatively low coding rate, the order distribution showing the optimal performance may be obtained by using a density evolution method, but the block LDPC code having the order distribution indicating the optimal performance may be obtained. This is difficult due to various constraints such as cycle structure and hardware implementation on a bipartite (hereinafter referred to as 'bipartite') graph.
상기에서 설명한 바와 같이 블록 LDPC 부호의 경우 그 특성상 부호화율면에서 제한이 존재하므로, 상기 블록 LDPC 부호를 사용하는 통신 시스템에서 낮은 부호화율부터 높은 부호화율까지 다양한 부호화율들을 지원하여 신호를 송수신하는 방안에 대한 필요성이 대두되고 있다.As described above, in the case of a block LDPC code, there is a limitation in terms of coding rate. Therefore, in a communication system using the block LDPC code, a method for transmitting and receiving signals by supporting various code rates from low to high code rates is provided. There is a need for it.
따라서, 본 발명은 통신 시스템에서 블록 LDPC 부호를 부호화/복호하는 장치 및 방법을 제안한다.Accordingly, the present invention proposes an apparatus and method for encoding / decoding a block LDPC code in a communication system.
또한, 본 발명은 통신 시스템에서 블록 LDPC 부호의 패리티 검사 행렬을 생성하는 방법을 제안한다.In addition, the present invention proposes a method for generating a parity check matrix of a block LDPC code in a communication system.
이하, 본 발명에 따른 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다. 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.
본 발명에서 제안하는 패리티 검사 행렬 생성 방법은; 통신 시스템에서 블록 저밀도 패러티 검사(LDPC: Low Density Parity Check) 부호의 패리티 검사 행렬을 생성하는 방법에 있어서, 정보 벡터를 블록 LDPC 부호로 부호화시 사용되는 제1패리티 검사 행렬과 제2패리티 검사 행렬중 적어도 하나를 생성하는 과정을 포함하며, 상기 제1패리티 검사 행렬은 제2패리티 검사 행렬을 사용하여 생성되며, 상기 제2패리티 검사 행렬은 다수의 블록들을 포함하며, 상기 다수의 블록들은 상기 정보 벡터에 대응되는 정보 파트에 대응되는 블록들과, 제1 패리티 벡터에 대응되는 제1패리티 파트에 대응되는 블록들과, 제2 패리티 벡터에 대응되는 제2패리티 파트에 대응되는 블록들과, 제3 패리티 벡터에 대응되는 제3패리티 파트에 대응되는 블록들로 분류되며, 상기 정보 벡터가 제1정보 벡터와 제2정보 벡터를 포함할 경우, 상기 정보 파트에 대응되는 블록들은 상기 제1정보 벡터에 대응되는 제1정보 파트에 대응되는 블록들과 상기 제2정보 벡터에 대응되는 제2정보 파트에 대응되는 블록들로 분류되며, 상기 제1정보 파트로 분류된 블록들은 제1부분 블록에 대응되는 블록들과, 제2부분 블록에 대응되는 블록들과, 제3부분 블록에 대응되는 블록들로 분류되며, 상기 제2정보 파트로 분류된 블록들은 제4부분 블록에 대응되는 블록들과, 제5부분 블록에 대응되는 블록들과, 제6부분 블록에 대응되는 블록들로 분류되며, 상기 제1패리티 파트로 분류된 블록들은 제7부분 블록에 대응되는 블록들과, 제8부분 블록에 대응되는 블록들과, 제9부분 블록에 대응되는 블록들로 분류되며,상기 제2패리티 파트로 분류된 블록들은 제10부분 블록에 대응되는 블록들과, 제11부분 블록에 대응되는 블록들과, 제12부분 블록에 대응되는 블록들로 분류되며, 상기 제3패리티 파트로 분류된 블록들은 제10부분 블록에 대응되는 블록들과, 제11부분 블록에 대응되는 블록들과, 제12부분 블록에 대응되는 블록들로 분류되며, 상기 제15부분 블록은 상기 제11부분 블록과 블록 단위로 대각의 관계를 가지며, 상기 제15부분 블록에 대응되는 블록들에는 항등 행렬이 배열됨을 특징으로 한다.Parity check matrix generation method proposed in the present invention; A method for generating a parity check matrix of a block low density parity check (LDPC) code in a communication system, comprising: a first parity check matrix and a second parity check matrix used for encoding an information vector into a block LDPC code; Generating at least one, wherein the first parity check matrix is generated using a second parity check matrix, the second parity check matrix comprises a plurality of blocks, wherein the plurality of blocks is the information vector. Blocks corresponding to the information part corresponding to the first block, blocks corresponding to the first parity part corresponding to the first parity vector, blocks corresponding to the second parity part corresponding to the second parity vector, and third When the information vector includes a first information vector and a second information vector, the information is classified into blocks corresponding to a third parity part corresponding to a parity vector. The blocks corresponding to the beam part are classified into blocks corresponding to the first information part corresponding to the first information vector and blocks corresponding to the second information part corresponding to the second information vector. Blocks classified as parts are classified into blocks corresponding to the first partial block, blocks corresponding to the second partial block, and blocks corresponding to the third partial block, and are classified into the second information part. Are classified into blocks corresponding to the fourth partial block, blocks corresponding to the fifth partial block, and blocks corresponding to the sixth partial block, and the blocks classified as the first parity part are the seventh partial block. Blocks classified into blocks corresponding to the second partial block, blocks corresponding to the eighth partial block, and blocks corresponding to the ninth partial block are blocks corresponding to the tenth partial block. And the block corresponding to the eleventh partial block. The blocks classified into the blocks and the blocks corresponding to the twelfth partial block, and the blocks classified into the third parity part may include blocks corresponding to the tenth partial block, blocks corresponding to the eleventh partial block, and twelfth. The fifteenth partial block has a diagonal relationship with the eleventh partial block in block units, and an identity matrix is arranged in the blocks corresponding to the fifteenth partial block. do.
본 발명에서 제안하는 다른 패리티 검사 행렬 생성 방법은; 통신 시스템에서 블록 저밀도 패러티 검사(LDPC: Low Density Parity Check) 부호의 패리티 검사 행렬을 생성하는 방법에 있어서, 정보 벡터를 블록 LDPC 부호로 부호화시 사용되는 제1패리티 검사 행렬과 제2패리티 검사 행렬중 적어도 하나를 생성하는 과정을 포함하며, 상기 제1패리티 검사 행렬은 제2패리티 검사 행렬을 사용하여 생성되며, 상기 제2패리티 검사 행렬은 다수의 블록들을 포함하며, 상기 다수의 블록들은 상기 정보 벡터에 대응되는 정보 파트에 대응되는 블록들과, 제1 패리티 벡터에 대응되는 제1패리티 파트에 대응되는 블록들과, 제2 패리티 벡터에 대응되는 제2패리티 파트에 대응되는 블록들로 분류되며, 상기 정보 벡터가 제1정보 벡터와 제2정보 벡터를 포함할 경우, 상기 정보 파트에 대응되는 블록들은 상기 제1정보 벡터에 대응되는 제1정보 파트에 대응되는 블록들과 상기 제2정보 벡터에 대응되는 제2정보 파트에 대응되는 블록들로 분류되며, 상기 제1정보 파트로 분류된 블록들은 제1부분 블록에 대응되는 블록들과 제2부분 블록에 대응되는 블록들로 분류되며, 상기 제2정보 파트로 분류된 블록들은 제3부분 블록에 대응되는 블록들과 제4부분 블록에 대응되는 블록들로 분류되며, 상기 제1패리티 파트로 분류된 블록들은 제5부분 블록에 대응되는 블록들과 제6부분 블록에 대응되는 블록들로 분류되며, 상기 제2패리티 파트로 분류된 블록들은 제7부분 블록에 대응되는 블록들과 제8부분 블록에 대응되는 블록들로 분류됨을 특징으로 한다.Another parity check matrix generation method proposed by the present invention includes; A method for generating a parity check matrix of a block low density parity check (LDPC) code in a communication system, comprising: a first parity check matrix and a second parity check matrix used for encoding an information vector into a block LDPC code; Generating at least one, wherein the first parity check matrix is generated using a second parity check matrix, the second parity check matrix comprises a plurality of blocks, wherein the plurality of blocks is the information vector. Blocks corresponding to the information part corresponding to the first block, blocks corresponding to the first parity part corresponding to the first parity vector, and blocks corresponding to the second parity part corresponding to the second parity vector, When the information vector includes a first information vector and a second information vector, blocks corresponding to the information part may include a first tablet corresponding to the first information vector. Blocks corresponding to the beam part and blocks corresponding to the second information part corresponding to the second information vector may be classified into blocks corresponding to the first partial block and blocks corresponding to the first partial block. The blocks classified into the two partial blocks and classified into the second information part are classified into blocks corresponding to the third partial block and blocks corresponding to the fourth partial block, and the first parity part. The blocks classified as are classified into blocks corresponding to the fifth partial block and blocks corresponding to the sixth partial block, and blocks classified into the second parity part are blocks corresponding to the seventh partial block and eighth. The block may be classified into blocks corresponding to the partial block.
먼저, 차세대 통신 시스템에서는 고속 대용량 데이터 송수신을 지원하기 위해 다양한 방식들, 일 예로 하이브리드 자동 반복 요구(HARQ: Hybrid Automatic Repeat reQuest, 이하 'HARQ'라 칭하기로 한다) 방식과 적응적 변조 및 부호화(AMC: Adaptive Modulation and Coding, 이하 'AMC'라 칭하기로 한다) 방식 등과 같은 다양한 방식들이 제안되었으며, 상기 HARQ 방식 및 AMC 방식 등을 사용하기 위해서는 다양한 부호화율들을 지원해야만 한다. 그런데, 차세대 통신 시스템에서 적극적으로 사용을 고려하고 있는 블록(block) 저밀도 패리티 검사(LDPC: Low Density Parity Check, 이하 'LDPC'라 칭하기로 한다) 부호는 그 특성상 부호화율면에서 제한이 존재한다. 따라서, 본 발명에서는 블록 LDPC 부호를 사용하는 통신 시스템에서 다양한 부호화율(coding rate)들을 지원하는 신호 송수신 장치 및 방법을 제안한다. First, in the next generation communication system, various methods, for example, hybrid automatic repeat request (HARQ) method and adaptive modulation and coding (AMC) method to support high-speed large data transmission and reception Various methods such as Adaptive Modulation and Coding (hereinafter, referred to as 'AMC') have been proposed, and various coding rates must be supported in order to use the HARQ method and the AMC method. However, a block low density parity check (LDPC) code, which is actively considered for use in a next generation communication system, has a limitation in terms of coding rate. Accordingly, the present invention proposes a signal transmission and reception apparatus and method for supporting various coding rates in a communication system using a block LDPC code.
도 1은 본 발명의 실시예에 따른 통신 시스템에서 신호 송신 장치의 구조를 도시한 도면이다.1 is a diagram showing the structure of a signal transmission apparatus in a communication system according to an embodiment of the present invention.
상기 도 1을 참조하면, 먼저 상기 신호 송신 장치는 부호화기(encoder)(111)와, 변조기(modulator)(113)와, 송신기(115)를 포함한다. 먼저, 상기 신호 송신 장치에서 송신하고자 하는 정보 벡터(information vector)()가 발생되면, 상기 정보 벡터()는 상기 부호화기(111)로 전달된다. 상기 부호화기(111)는 상기 정보 벡터()를 미리 설정되어 있는 부호화 방식으로 부호화하여 부호어 벡터(codeword vector)(), 즉 LDPC 부호어로 생성한 후 상기 변조기(113)로 출력한다. 여기서, 상기 부호화 방식은 LDPC 부호화 방식이 되는 것이다. 상기 변조기(113)는 상기 부호어 벡터()를 미리 설정되어 있는 변조 방식으로 변조하여 변조 벡터()으로 생성하여 상기 송신기(115)로 출력한다. 상기 송신기(115)는 상기 변조기(113)에서 출력한 변조 벡터()를 입력하여 송신 신호 처리한 후 안테나를 통해 신호 수신 장치로 송신한다. Referring to FIG. 1, first, the signal transmission apparatus includes an
다음으로 도 2를 참조하여본 발명의 실시예에 따른 통신 시스템의 신호 수신 장치 구조에 대해서 설명하기로 한다.Next, a structure of a signal receiving apparatus of a communication system according to an exemplary embodiment of the present invention will be described with reference to FIG. 2.
상기 도 2는 본 발명의 실시예에 따른 통신 시스템에서 신호 수신 장치의 구조를 도시한 도면이다.2 is a diagram showing the structure of a signal receiving apparatus in a communication system according to an embodiment of the present invention.
상기 도 2를 참조하면, 상기 신호 수신 장치는 수신기(211)와, 복조기(de-modulator)(213)와, 복호기(decoder)(215)를 포함한다. 먼저, 신호 송신 장치에서 송신한 신호는 상기 신호 수신 장치의 안테나를 통해 수신되고, 상기 안테나를 통해 수신된 신호는 상기 수신기(211)로 전달된다. 상기 수신기(211)는 상기 수신 신호를 수신 신호 처리한 후 그 수신 신호 처리된 수신 벡터()를 상기 복조기(213)로 출력한다. 상기 복조기(213)는 상기 수신기(211)에서 출력한 수신 벡터()를 입력하여 상기 신호 송신 장치의 변조기, 즉 변조기(113)에서 적용한 변조 방식에 상응하는 복조 방식으로 복조한 후 그 복조한 복조 벡터()를 상기 복호기(215)로 출력한다. 상기 복호기(215)는 상기 복조기(213)에서 출력한 복조 벡터()를 입력하여 상기 신호 송신 장치의 부호화기, 즉 부호화기(111)에서 적용한 부호화 방식에 상응하는 복호 방식으로 복호한 후 그 복호한 신호를 최종적으로 복원된 정보 벡터()로 출력한다. 여기서, 상기 복호 방식, LDPC 복호 방식은 일 예로 합곱(sum-product) 알고리즘(algorithm)에 기반한 반복 복호(iterative decoding) 알고리즘을 사용하는 방식이라고 가정하기로 한다. Referring to FIG. 2, the signal receiving apparatus includes a
다음으로 도 3을 참조하여 본 발명의 실시예에 따른 블록 LDPC 부호의 패리티 검사 행렬(parity check matrix)에 대해서 설명하기로 한다. Next, a parity check matrix of a block LDPC code according to an embodiment of the present invention will be described with reference to FIG. 3.
상기 도 3은 본 발명의 실시예에 따른 블록 LDPC 부호의 패리티 검사 행렬 구조를 도시한 도면이다.3 is a diagram illustrating a parity check matrix structure of a block LDPC code according to an embodiment of the present invention.
상기 도 3을 참조하면, 상기 블록 LDPC 부호의 패리티 검사 행렬은 다수의 블록들을 포함하고, 상기 다수의 블록들 각각에 순열 행렬(permutation matrix) 혹은 0(zero) 행렬이 대응되는 형태를 가진다. 여기서, 상기 순열 행렬 및 0 행렬은 크기를 가진다. 상기 순열 행렬이라 함은 상기 순열 행렬을 구성하는 Ns개의 행(row)들 각각의 웨이트(weight)가 1이고, 상기 순열 행렬을 구성하는 Ns개의 열(column)들 각각의 웨이트 역시 1인 행렬을 나타낸다. Referring to FIG. 3, the parity check matrix of the block LDPC code includes a plurality of blocks, and a permutation matrix or a zero matrix corresponds to each of the plurality of blocks. Here, the permutation matrix and the zero matrix are Has a size. The permutation matrix is a weight of each of the N s rows constituting the permutation matrix, and the weight of each of the N s columns constituting the permutation matrix is also one. Represents a matrix.
상기 패리티 검사 행렬은 정보 파트(information part)와 패리티 파트(parity part)를 포함한다. 여기서, 상기 정보 파트는 정보 벡터(information vector)를 부호어 벡터()로 생성할 경우 상기 정보 벡터()에 대응되는 상기 블록 LDPC 부호의 패리티 검사 행렬의 파트를 나타내며, 상기 패리티 파트는 패리티 벡터()에 대응되는 상기 블록 LDPC 부호의 패리티 검사 행렬의 파트를 나타낸다. 상기 정보 벡터()는 적어도 1개의 정보 비트를 포함하며, 상기 패리티 벡터()는 적어도 1개의 패리티 비트를 포함한다. The parity check matrix includes an information part and a parity part. Herein, the information part includes an information vector as a codeword vector ( ), The information vector ( ) Represents a part of a parity check matrix of the block LDPC code, and the parity part is a parity vector ( Part of the parity check matrix of the block LDPC code corresponding to " The information vector ( ) Includes at least one information bit, and the parity vector ( ) Includes at least one parity bit.
또한, 상기 도 3에서 정보 파트가 포함하는 순열 행렬 P의 위첨자 aij는 혹은 aij = ∞를 가진다. 상기 위첨자 aij는 순열 행렬 P가 항등 행렬 구조에서 위첨자 aij만큼 오른쪽으로 쉬프트(shift)된 형태의 구조를 가짐게 됨을 나타낸다. 여기서, i는 상기 정보 파트가 포함하는 행렬들의 행의 개수를 나타내며, j는 상기 정보 파트가 포함하는 행렬들의 열의 개수를 나타낸다. 상기 도 3에는 상기 i가 m(i = m)인 경우와, j가 n인 경우(j = n)가 도시되어 있는 것이다.In addition, the superscript a ij of the permutation matrix P included in the information part in FIG. Or a ij = ∞. The superscript a ij indicates that the permutation matrix P has a structure shifted to the right by the superscript a ij in the identity matrix structure. Here, i represents the number of rows of matrices included in the information part, and j represents the number of columns of matrices included in the information part. 3 illustrates a case where i is m (i = m) and a case where j is n (j = n).
상기 정보 파트가 포함하는 순열 행렬 P의 위첨자 aij가 0일 경우, 즉 P0는 항등 행렬 를 나타내며, 상기 순열 행렬 P의 위첨자 aij가 ∞일 때, 즉 순열 행렬 P∞는 영 행렬 나타낸다. 또는 상기 순열 행렬 P의 위첨자 aij가 -1일 때, 즉 순열 행렬 P- 1는 영 행렬 나타낸다. 또한, p와 q는 상기 패리티 검사 행렬에서 상기 정보 파트에 해당하는 블록들의 행과 열의 개수를 나타낸다. 또한, 상기 패리티 파트가 포함하는 순열 행렬 P의 위첨자 ai, x, y 역시 순열 행렬 P의 지수를 나타내며, 다만 설명의 편의상 정보 파트와의 구분을 위해 상이하게 설정하였을 뿐이다. 즉, 상기 도 3에서 내지 역시 순열 행렬들이며, 상기 패리티 파트의 대각(diagonal) 부분에 위치하는 행렬들에 순차적으로 인덱스(index)를 부여한 것이다. 또한, 상기 도 3에서 Px와 Py 역시 순열 행렬들이며, 설명의 편의상 임의의 인덱스를 부여한 것이다. When the superscript a ij of the permutation matrix P included in the information part is 0, that is, P 0 is an identity matrix When the superscript a ij of the permutation matrix P is ∞, that is, the permutation matrix P ∞ represents a zero matrix. Or when the superscript a ij of the permutation matrix P is -1, that is, the permutation matrix P - 1 represents a zero matrix. In addition, p and q represent the number of rows and columns of 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 included in 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. To Also, they are permutation matrices, and indexes are sequentially assigned to matrices located in the diagonal portion of the parity part. In addition, in FIG. 3, P x and P y are also permutation matrices, which are given an arbitrary index for convenience of description.
한편, 상기 블록 LDPC 부호의 패리티 검사 행렬의 설계와 상기 블록 LDPC 부호의 부호화를 용이하게 하기 위해서 상기 블록 LDPC 부호의 패리티 검사 행렬이 다수개의 부분 블록(partial-block)들을 포함하는 형태를 가진다고 가정할 수 있 다. 여기서, 상기 부분 블록은 적어도 1개의 블록을 포함한다. 이 경우, 상기 패리티 검사 행렬은 도 4와 같은 형태로 나타낼 수 있다.Meanwhile, in order to facilitate the design of the parity check matrix of the block LDPC code and the encoding of the block LDPC code, it is assumed that the parity check matrix of the block LDPC code includes a plurality of partial-blocks. Can be. Here, the partial block includes at least one block. In this case, the parity check matrix may be represented as shown in FIG. 4.
상기 도 4는 도 3의 패리티 검사 행렬을 6개의 부분 블록들로 분할한 도면이다. 4 is a diagram illustrating the parity check matrix of FIG. 3 divided into six partial blocks.
상기 도 4를 참조하면, 상기 도 3에 도시되어 있는 블록 LDPC 부호의 패리티 검사 행렬을 정보 파트와, 제1패리티 파트와, 제2패리티 파트의 부분 블록들로 분할한다. 여기서, 상기 정보 파트는 상기 도 3에서 설명한 정보 파트와 같이 블록 LDPC 부호를 부호화하는 과정에서 실제 정보 벡터()에 대응되는 상기 패리티 검사 행렬의 파트를 나타낸다. 또한, 상기 제1패리티 파트와 제2패리티 파트는 상기 도 3에서 설명한 패리티 파트와 같이 상기 블록 LDPC 부호를 부호화하는 과정에서 실제 패리티 벡터()에 대응되는 상기 패리티 검사 행렬의 파트를 나타내며, 상기 패리티 파트를 2개의 파트들로 분할한 것이다. 즉, 상기 패리티 벡터()가 제1패리티 벡터()와 제2패리티 벡터()를 포함할 경우, 상기 제1패리티 파트는 상기 제1패리티 벡터()에 대응되며, 상기 제2패리티 파트는 상기 제2패리티 벡터()에 대응된다. Referring to FIG. 4, the parity check matrix of the block LDPC code illustrated in FIG. 3 is divided into an information part, a first parity part, and partial blocks of a second parity part. Herein, the information part is the same as the information part described with reference to FIG. 3 in the process of encoding a block LDPC code. Part of the parity check matrix. In addition, the first parity part and the second parity part, as in the parity part described with reference to FIG. The parity check matrix corresponds to a part of the parity check matrix, and the parity part is divided into two parts. That is, the parity vector ( ) Is the first parity vector ( ) And the second parity vector ( ), The first parity part includes the first parity vector ( ) And the second parity part corresponds to the second parity vector ( Corresponds to).
상기 정보 파트의 부분 블록들, 즉 부분 블록 A(402)와 부분 블록 C(404)에 대응되는 행렬들이 부분 행렬 A와 부분 행렬 C이며, 상기 제1패리티 파트의 부분 블록들, 즉 부분 블록 B(406)와 부분 블록 D(408)에 대응되는 행렬들이 부분 행렬 B와 부분 행렬 D이며, 제2패리티 파트의 부분 블록들, 즉 부분 블록 T(410)와 부분 블록 E(412)에 대응되는 행렬들이 부분 행렬 0과 부분 행렬 T 및 부분 행렬 E이다. 여기서, 상기 도 4에는 상기 패리티 검사 행렬이 7개의 부분 블록들로 분할된 것처럼 도시되어 있지만, O은 별도의 부분 블록이 아니라 부분 블록 T(410)에 대응되는 부분 행렬 T가 완전 하삼각 형태를 가지므로 대각선(diagonal)을 중심으로 O(zero) 행렬이 배치된 영역을 0으로 표기한 것일 뿐임에 유의하여야만 한다.The partial blocks of the information part, that is, the matrixes corresponding to the
한편, 상기 도 4에서 설명한 본 발명의 실시예에 따른 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 부분 블록들 중 부분 블록 B(406)와, 부분 블록 E(412) 및 부분 블록 T(410) 각각에 대응되는 부분 행렬 B와, 부분 행렬 E 및 부분 행렬 T는 블록 LDPC 부호의 부호화 복잡도를 최소화시키기 위해 도 5에서 나타낸 바와 같은 구조를 가지도록 생성된다. Meanwhile, the
상기 도 5는 도 4의 부분 행렬 B의 이항 행렬(transpose matrix)과, 부분 행렬 E와, 부분 행렬 T와, 부분 행렬 T의 역행렬(inverse matrix)을 도시한 도면이다.FIG. 5 is a diagram illustrating a transpose matrix, a partial matrix E, a partial matrix T, and an inverse matrix of the partial matrix T of the partial matrix B of FIG. 4.
상기 도 5에는 부분 행렬 B의 이항 행렬인 행렬 BT와, 부분 행렬 E와, 부분 행렬 T와, 부분 행렬 T의 역행렬인 행렬 T-1이 도시되어 있다. 상기 부분 행렬 T는 완전 하삼각 행렬과 유사한 형태를 가진다. 즉, 상기 부분 행렬 T는 그 대각선(diagonal)상에 위치하는 블록들에는 항등 행렬이 매핑되도록 하고, 상기 대각선과 함께 이중 대각선(dual diagonal) 구조를 이루는 블록들에는 순열 행렬들이 매핑되도록 한다. 여기서, 블록에 매핑되는 행렬을 '블록 행렬'이라 칭하기로 하며, 이하 설명의 편의상 블록과 블록 행렬을 혼용하여 사용하기로 한다.FIG. 5 shows a matrix B T , which is a binomial matrix of the partial matrix B, a partial matrix E, a partial matrix T, and a matrix T −1 which is an inverse of the partial matrix T. The partial matrix T has a form similar to a full lower triangular matrix. That is, the partial matrix T allows an identity matrix to be mapped to blocks located on a diagonal, and permutation matrices are mapped to blocks having a dual diagonal structure with the diagonal. Herein, a matrix mapped to a block will be referred to as a 'block matrix', and for convenience of explanation, a block and a block matrix will be used interchangeably.
한편, 상기에서 설명한 바와 같이 블록 LDPC 부호를 사용하는 통신 시스템에서 다양한 부호화율을 지원하기 위해서는 상기 다양한 부호화율을 지원하는 패리티 검사 행렬을 지원해야만 한다. 따라서, 본 발명의 실시예에서는 다양한 부호화율을 지원하는 패리티 검사 행렬을 생성하는 방안을 제안한다. 즉, 본 발명의 실시예에서는 미리 설정되어 있는 제1패리티 검사 행렬, 즉 모(parent) 패리티 검사 행렬과 상기 모 패리티 검사 행렬을 기반으로 하여 생성되는 자(child) 패리티 검사 행렬을 사용하여 다양한 부호화율을 지원하도록 하는 방안을 제안한다. 즉, 상기 모 패리티 검사 행렬이 지원하는 부호화율을 초과하는 부호화율을 지원하기 위해서는 상기 모 패리티 검사 행렬에 천공 방식을 사용하도록 하며, 상기 모 패리티 검사 행렬이 지원하는 부호화율 미만의 부호화율을 지원하기 위해서는 상기 모 자 패리티 검사 행렬을 사용하도록 한다. 여기서는 설명의 편의를 위해 상기 자 패리티 검사 행렬이 상기 모 패리티 검사 행렬을 기반으로 하여 생성되는 경우를 설명하기로 하나, 상기 모 패리티 검사 행렬과 자 패리티 검사 행렬이 별도로 생성 가능함은 물론이다. 그러면 여기서 모 패리티 검사 행렬의 구조에 대해서 설명하면 다음과 같다. As described above, in order to support various code rates in a communication system using a block LDPC code, a parity check matrix supporting the various code rates must be supported. Accordingly, an embodiment of the present invention proposes a method of generating a parity check matrix that supports various coding rates. That is, according to an embodiment of the present invention, various encodings are performed by using a first parity check matrix, that is, a parent parity check matrix and a child parity check matrix generated based on the parent parity check matrix. Suggest ways to support the rate. That is, in order to support a code rate exceeding a code rate supported by the parent parity check matrix, a puncturing scheme is used for the parent parity check matrix, and a code rate less than a code rate supported by the parent parity check matrix is supported. To do this, the mother parity check matrix is used. Here, for convenience of description, the case where the child parity check matrix is generated based on the parent parity check matrix will be described. However, the parent parity check matrix and the child parity check matrix can be generated separately. The structure of the parent parity check matrix will now be described.
먼저, 본 발명의 실시예에서는 모 패리티 검사 행렬을 반구조적(semi-systematic) 블록 LDPC 부호의 패리티 검사 행렬로 생성한다고 가정하기로 한다. 상기 반구조적 블록 LDPC 부호라함은 일반적인 블록 LDPC 부호와 단일 패리티 검사 부호(single parity check code)가 연접된 구조를 가지는 부호를 나타낸다. First, it is assumed that an embodiment of the present invention generates a parent parity check matrix as a parity check matrix of a semi-systematic block LDPC code. The semi-structured block LDPC code is a code having a structure in which a general block LDPC code and a single parity check code are concatenated.
일반적으로, 선형 블록 부호(linear block code)에서 구조적 부호(systematic code)는 부호어 벡터를 송신할 때 상기 부호어 벡터중 일부분이 정보 벡터로 구성된 부호를 나타낸다. 따라서, 신호 수신 장치측에서 신호 송신 장치에서 송신한 부호어 벡터를 복호할 때 상기 부호어 벡터중 정보 벡터에 해당하는 부분만을 복호하면 된다. In general, a systematic code in a linear block code represents a code in which a part of the codeword vector is composed of an information vector when transmitting a codeword vector. Therefore, when decoding the codeword vector transmitted by the signal transmission apparatus on the signal receiving apparatus side, only a portion of the codeword vector corresponding to the information vector needs to be decoded.
이와는 반대로, 비구조적 부호(non systematic code)는 부호어 벡터를 송신할 때 정보 벡터를 송신하지 않고, 부호화기를 사용하여 상기 정보 벡터에 대응되는 부호어 벡터를 송신하는 부호를 나타낸다. 즉, 상기 비구조적 부호는 부호어 벡터 중 일부가 정보 벡터로 구성되는 구조적 부호와는 달리 부호어 벡터에 정보 벡터가 포함되지 않는다. 본 발명에서 제안하는 반구조적 블록 LDPC 부호는 상기 구조적 부호처럼 정보 벡터 전체가 부호어 벡터에 포함되는 것이 아니라 정보 벡터의 일부만 부호어 벡터에 포함되고, 나머지는 패리티 벡터가 부호어 벡터에 포함되는 부호를 나타낸다.In contrast, non systematic code indicates a code for transmitting a codeword vector corresponding to the information vector by using an encoder without transmitting the information vector when transmitting the codeword vector. That is, in the unstructured code, unlike the structural code in which a part of the codeword vector is composed of the information vector, the information vector is not included in the codeword vector. In the semi-structured block LDPC code proposed in the present invention, the entire information vector is not included in the codeword vector like the structural code, but only a part of the information vector is included in the codeword vector, and the rest is a code in which the parity vector is included in the codeword vector Indicates.
또한, 본 발명에서 제안하는 반구조적 블록 LDPC 부호의 패리티 검사 행렬은 크게 2개의 타입(type)들로 분류되며, 도 6을 참조하여 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬에 대해서 설명하기로 하며, 도 7을 참조하여 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬에 대해서 설명하기로 한다.In addition, the parity check matrix of the semi-structured block LDPC code proposed in the present invention is largely classified into two types. The parity check matrix of the first type semi-structured block LDPC code will be described with reference to FIG. 6. The parity check matrix of the second type semi-structured block LDPC code will be described with reference to FIG. 7.
상기 도 6은 본 발명의 실시예에 따른 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬의 구조를 도시한 도면이다.6 is a diagram illustrating a structure of a parity check matrix of a first type semi-structured block LDPC code according to an embodiment of the present invention.
상기 도 6을 설명하기에 앞서, 먼저 블록 LDPC 부호의 패리티 검사 행렬을 기반으로 하여 반구조적 블록 LDPC 부호의 패리티 검사 행렬을 생성할 경우 상기 반구조적 블록 LDPC 부호의 성능이 더 우수해진다. 따라서, 본 발명의 실시예에 따른 반구조적 블록 LDPC 부호의 패리티 검사 행렬은 일반적인 블록 LDPC 부호의 패리티 검사 행렬을 기반으로 하여 생성된다. Before describing FIG. 6, when the parity check matrix of the semi-structured block LDPC code is generated based on the parity check matrix of the block LDPC code, the performance of the semi-structured block LDPC code becomes better. Accordingly, the parity check matrix of the semi-structured block LDPC code is generated based on the parity check matrix of the general block LDPC code.
상기 도 6을 참조하면, 상기 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬은 부분 블록 A1(600)과, 부분 블록 C1(602)과, 부분 블록 F(604)과, 부분 블록 A2(610)과, 부분 블록 C2(612)과, 부분 블록 G(614)과, 부분 블록 B(620)과, 부분 블록 D(622)과, 부분 블록 0(624)과, 부분 블록 T(640)과, 부분 블록 E(642)과, 부분 블록 0(644)과, 부분 블록 0(650)과, 부분 블록 0(652)과, 부분 블록 H(654)를 포함한다. Referring to FIG. 6, the parity check matrix of the first type semi-structured block LDPC code includes a
또한, 상기 도 6에 도시되어 있는 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬을 사용하여 정보 벡터를 부호화하는 부호화기의 구조는 크게 2 파트들, 즉, 일반적인 블록 LDPC 부호의 패리티 검사 행렬에 해당하는 파트(part)와 신규로 추가되는 부분 블록들에 해당하는 파트로 구분된다. 이하 설명의 편의상 상기 일반적인 블록 LDPC 부호의 패리티 검사 행렬에 해당하는 파트를 기존 파트라고 칭하기로 하며, 신규로 추가된 부분 블록들에 해당하는 파트를 신규 파트라고 칭하기로 한다. 상기 도 6에서 (1)로 표시한 부분이 기존 파트이며, (2)로 표시한 부분이 신규 파트이다. In addition, the structure of the encoder for encoding the information vector using the parity check matrix of the first type semi-structured block LDPC code shown in FIG. 6 corresponds to two parts, that is, the parity check matrix of the general block LDPC code. It is divided into a part corresponding to a part and a part corresponding to newly added partial blocks. For convenience of description, a part corresponding to the parity check matrix of the general block LDPC code will be referred to as an existing part, and a part corresponding to newly added partial blocks will be referred to as a new part. In FIG. 6, the part indicated by (1) is an existing part, and the part indicated by (2) is a new part.
먼저, 상기 기존 파트에 대해서 설명하면 다음과 같다.First, the existing part will be described.
상기 기존 파트는 부분 블록 A1(600)과, 부분 블록 C1(602)과, 부분 블록 A2(610)과, 부분 블록 C2(612)과, 부분 블록 B(620)과, 부분 블록 D(622)과, 부분 블록 T(640)과, 부분 블록 E(642)를 포함한다. 한편, 상기 도 6에 나타낸 기존 파트가 포함하는 부분 블록들은 상기 도 4에서 설명한 부분 블록들과 연관 관계를 가지는데, 이에 대해서 설명하면 다음과 같다.The existing part includes a
상기 부분 블록 A(402)는 상기 부분 블록 A1(600)과 부분 블록 A2(610)를 포함하며, 상기 부분 블록 C(404)는 상기 부분 블록 C1(602)과 부분 블록 C2(612)를 포함하며, 상기 부분 블록 B(406)는 상기 부분 블록 B(620)와 동일하며, 상기 부분 블록 D(408)는 상기 부분 블록 B(622)와 동일하며, 상기 부분 블록 T(410)는 상기 부분 블록 T(640)와 동일하며, 상기 부분 블록 E(412)와 상기 부분 블록 E(642)는 동일하다.The
다음으로, 신규 파트에 대해서 설명하면 다음과 같다.Next, the new part will be described.
상기 신규 파트는 부분 블록 F(604)과, 부분 블록 G(614)과, 부분 블록 0(624)과, 부분 블록 0(644)과, 부분 블록 0(650)과, 부분 블록 0(652)과, 부분 블록 H(654)를 포함한다. 상기 부분 블록 F(604)는 정보 벡터중 상기 부분 블록 A1(600)과 부분 블록 C1(602)에 매핑되는 정보 비트에 대응하는 부분 블록들이다. 여기서, 상기 부분 블록 A1(600)의 열의 차수(degree)가 'l'이고, 상기 부분 블록 C1(602)의 열의 차수가 'm'이고, 상기 부분 블록 F(604)의 열의 차수가 'n'이라고 가정하면, 상기 부분 블록 A1(600)과 상기 부분 블록 C1(602)과 부분 블록 F(604)를 포함하는 부분 블록의 열의 차수는 'l+m+n'이 된다. 상기 부분 블록 A1(600)과 상기 부분 블록 C1(602)과 부분 블록 F(604)를 포함하는 부분 블록의 열의 차수 'l+m+n'는 상기 부분 블록 A2(620)와 부분 블록 C2(612)와 상기 부분 블록 G(614)를 포함하는 부분 블록의 열의 차수 'k'보다 큰 값을 가진다. The new part is part block F (604), part block G (614), part block 0 (624), part block 0 (644), part block 0 (650), part block 0 (652). And
따라서, 신호 송신 장치에서 정보 벡터중 일부의 정보 비트들을 천공(puncturing)해야할 경우에는, 상기 부분 블록 A1(600)과 상기 부분 블록 C1(602)과 부분 블록 F(604)를 포함하는 부분 블록에 매핑되는 정보 비트들을 천공하도록 한다. 이 경우, 신호 송신 장치가 정보 벡터중 비교적 차수가 높은 정보 비트들을 천공하도록 함으로써 신호 수신 장치에서 복원 성능을 향상시키도록 한다. 일반적으로 상기 차수가 높은 정보비트들은 일반적으로 높은 신뢰도를 가지기 때문에, 신호 송신 장치는 상기 차수가 높은 정보 비트들을 천공한다. 그러나, 상기 차수가 높은 정보 비트들을 일방적으로 천공하게 되면 상기 차수가 높은 정보 비트들에서 에러 발생 확률이 증가하게 되므로, 신호 송신 장치는 패리티 비트들을 추가적으로 송신하여 신뢰성을 유지한다. 일 예로, 상기 부분 블록 A1(600)과 상기 부분 블록 C1(602)과 부분 블록 F(604)를 포함하는 부분 블록에 매핑되는 정보 비트들중 첫번째 정보 비트부터 순차적으로 천공하도록 할 수 있다.Therefore, when the signal transmission apparatus needs to punch the information bits of some of the information vectors, the partial block including the
한편, 상기 신규 파트가 포함하는 부분 블록 H(654)는 새롭게 추가되는 패리티 비트에 상응하는 부분 블록으로서, 모든 열의 차수가 1인 행렬, 일 예로 항등 행렬(identity matrix)이 대응되도록 한다. 또한, 상기 신규 파트가 상기 부분 블록 0(624)와 부분 블록 0(644)을 포함하도록 함으로써 일반적인 LDPC 부호의 부호화기와 단일 패리티 검사 부호의 부호화기가 연접되는 것이 가능해지는 것이 가능해진다. 여기서, 상기 일반적인 블록 LDPC 부호의 패리티 부분은 축적 기(accumulator) 구조이기 때문에 패리티 생성을 블록 단위로만 동시에 진행할 수 있었지만, 단일 패리티 검사 부호 부분은 대각 엘리먼트들의 값만 1이 존재하는 구조이기 때문에 상기 (2) 부분에 대한 부호화를 한번에 수행할 수 있다. 결과적으로, 본 발명에서 제안하는 제1타입 반구조적 블록 LDPC 부호는 일반적인 블록 LDPC 부호와 거의 동일한 시간내에 부호화가 가능하다.Meanwhile, the
또한, 상기 도 6에서 부분 블록 A1(600)과, 부분 블록 C1(602)과, 부분 블록 F(604)는 제1정보 파트에 대응되며, 부분 블록 A2(610)과, 부분 블록 C2(612)과, 부분 블록 G(614)는 제2정보 파트에 대응되며, 상기 부분 블록 B(620)과, 부분 블록 D(622)과, 부분 블록 0(624)는 제1패리티 파트에 대응되며, 부분 블록 T(640)과, 부분 블록 E(642)과, 부분 블록 0(644)는 제2패리티 파트에 대응되며, 부분 블록 0(650)과, 부분 블록 0(652)과, 부분 블록 H(654)는 제3패리티 파트에 대응된다. 상기 제3패리티 파트는 제3패리티 벡터( )에 대응되는 파트를 나타낸다. 여기서, 상기 정보 벡터( )가 제1정보 벡터( )와 제2정보 벡터( )를 포함할 경우, 상기 제1정보 파트는 상기 제1정보 벡터( )에 대응되며, 상기 제2정보 파트는 상기 제2정보 벡터( )에 대응되는 파트를 나타낸다. In FIG. 6, the
그러면 여기서 상기 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬을 사용하여 정보 벡터()를 부호어 벡터(), 즉 반구조적 블록 LDPC 부호어로 생성하는 동작에 대해 설명하기로 한다. Then, using the parity check matrix of the first type semi-structured block LDPC code, ) Is the signword vector ( ), That is, an operation of generating a semi-structured block LDPC codeword will be described.
먼저, 상기 정보 파트가 제1정보 파트와 제2 정보 파트를 포함하며, 상기 제 1정보 파트의 차수가 상기 제2 정보 파트의 차수에 비해 크므로, 상기 정보 벡터()에서 일부가 천공되어야할 경우 상기 제1정보 파트에 해당하는 정보 비트들, 즉 제1정보 벡터()이 천공된다. 따라서, 부호어 벡터()는 하기 수학식 1과 같이 나타낼 수 있다.First, since the information part includes a first information part and a second information part, and the degree of the first information part is larger than that of the second information part, the information vector ( In the case where a part of the first information part needs to be punctured, information bits corresponding to the first information part, that is, a first information vector ( ) Is perforated. Therefore, the codeword vector ( ) May be expressed as in
한편, 상기 도 6에서는 상기 제3패리티 파트에 대응되는 부분 블록들중 부분 블록 O(624)와, 부분 블록 0(644)와, 부분 블록 0(650)와 부분 블록 0(652)에 0 행렬이 대응되는 경우를 일 예로 하여 설명하였으나, 상기 부분 블록 O(624)와, 부분 블록 0(644)와, 부분 블록 0(650)와 부분 블록 0(652)에 0 행렬이 아닌 행렬이 대응될 수도 있음은 물론이다.Meanwhile, in FIG. 6, the
그런데, 상기 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬은 일반적으로 1/2이하의 비교적 낮은 부호화율을 갖는 부호를 설계할 때 우수한 성능을 나타낸다. 따라서, 비교적 높은 부호화율을 갖는 반구조적 블록 LDPC 부호를 생성하기 위해서는 상기 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬과는 상이한 새로운 패리티 검사 행렬, 즉 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬을 사용해야만 한다.However, the parity check matrix of the first type semi-structured block LDPC code generally shows excellent performance when designing a code having a relatively low coding rate of 1/2 or less. Therefore, in order to generate a semi-structured block LDPC code having a relatively high coding rate, a parity check of a new parity check matrix different from the parity check matrix of the first type semi-structured block LDPC code, that is, the second type semi-structured block LDPC code You must use a matrix.
그러면 여기서 도 7을 참조하여 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬에 대해서 설명하기로 한다.Next, a parity check matrix of the second type semi-structured block LDPC code will be described with reference to FIG. 7.
상기 도 7은 본 발명의 실시예에 따른 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬 구조를 도시한 도면이다.7 is a diagram illustrating a parity check matrix structure of a second type semi-structured block LDPC code according to an embodiment of the present invention.
상기 도 7을 참조하면, 상기 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬은 부분 블록 A1(700)과, 부분 블록 C1(702)과, 부분 블록 A2(710)과, 부분 블록 C2(712)과, 부분 블록 B(720)과, 부분 블록 D(722)과, 부분 블록 T(740)과, 부분 블록 E(742)를 포함한다. Referring to FIG. 7, the parity check matrix of the second type semi-structured block LDPC code includes a
한편, 상기 도 7에 나타낸 부분 블록들은 상기 도 4에서 설명한 부분 블록들과 연관 관계를 가지는데, 이에 대해서 설명하면 다음과 같다.Meanwhile, the partial blocks illustrated in FIG. 7 have an association relationship with the partial blocks described in FIG. 4, which will be described below.
상기 부분 블록 A(402)는 상기 부분 블록 A1(700)과 부분 블록 A2(710)를 포함하며, 상기 부분 블록 C(404)는 상기 부분 블록 C1(702)과 부분 블록 C2(712)를 포함하며, 상기 부분 블록 B(406)는 상기 부분 블록 B(720)와 동일하며, 상기 부분 블록 D(408)는 상기 부분 블록 B(722)와 동일하며, 상기 부분 블록 T(410)는 상기 부분 블록 T(740)와 동일하며, 상기 부분 블록 E(412)와 상기 부분 블록 E(742)는 동일하다.The
여기서, 상기 부분 블록 A1(700)의 열의 차수가 'l'이고, 상기 부분 블록 C1(702)의 열의 차수가 'm'이라고 가정하면, 상기 부분 블록 A1(700)과 상기 부분 블록 C1(702)를 포함하는 부분 블록의 열의 차수는 'l+m'이 되며, 상기 부분 블록 A1(700)과 상기 부분 블록 C1(702)를 포함하는 부분 블록은 상기 부분 블록 A(402)와 부분 블록 C(404)를 포함하는 부분 블록이 포함하는 열들중 높은 차수를 갖는 열들을 포함한다.Here, assuming that the order of the columns of the
그러면 여기서 상기 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬을 사용하여 정보 벡터()를 부호어 벡터(), 즉 반구조적 블록 LDPC 부호어로 생성하는 동작에 대해 설명하기로 한다. Then, using the parity check matrix of the second type semi-structured block LDPC code, ) Is the signword vector ( ), That is, an operation of generating a semi-structured block LDPC codeword will be described.
먼저, 상기 정보 파트가 제1정보 파트와 제2 정보 파트를 포함하며, 상기 제1정보 파트의 차수가 상기 제2 정보 파트의 차수에 비해 크므로, 상기 정보 벡터()에서 일부가 천공되어야할 경우 상기 제1정보 파트에 해당하는 정보 비트들, 즉 제1정보 벡터()이 천공된다. 따라서, 부호어 벡터()는 하기 수학식 2와 같이 나타낼 수 있다.First, since the information part includes a first information part and a second information part, and the degree of the first information part is larger than that of the second information part, the information vector ( In the case where a part of the first information part needs to be punctured, information bits corresponding to the first information part, that is, a first information vector ( ) Is perforated. Therefore, the codeword vector ( ) Can be expressed as in
상기 도 6 및 도 7에서 설명한 바와 같이 모 패리티 검사 행렬은 상기 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬 혹은 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이며, 상기 모 패리티 검사 행렬을 기반으로 하여 자 패리티 검사 행렬이 생성된다. 그러면 여기서 도 8을 참조하여 모 패리티 검사 행렬이 상기 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬일 경우, 상기 제1타입 반구조적 블록 LDPC 부호의 모 패리티 검사 행렬을 기반으로 하여 생성된 자 패리티 검사 행렬에 대해서 설명하기로 한다. As described above with reference to FIGS. 6 and 7, a parity check matrix is a parity check matrix of the first type semi-structured block LDPC code or a parity check matrix of a second type semi-structured block LDPC code and is based on the parent parity check matrix. This generates a parity check matrix. Then, when the parent parity check matrix is the parity check matrix of the first type semi-structured block LDPC code with reference to FIG. 8, the child parity generated based on the parent parity check matrix of the first type semi-structured block LDPC code. The check matrix will be described.
상기 도 8은 본 발명의 실시예에 따른 제1타입 반구조적 블록 LDPC 부호의 모 패리티 검사 행렬을 기반으로 하여 생성된 자 패리티 검사 행렬의 구조를 도시한 도면이다. 이하, 설명의 편의상 상기 제1타입 반구조적 블록 LDPC 부호의 모 패리티 검사 행렬을 기반으로 하여 생성된 자 패리티 검사 행렬을 '제1타입 자 패리 티 검사 행렬'이라 칭하기로 하며, 제1타입 반구조적 블록 LDPC 부호의 모 패리티 검사 행렬을 '제1타입 모 패리티 검사 행렬'이라 칭하기로 한다. 8 is a diagram illustrating a structure of a child parity check matrix generated based on a parent parity check matrix of a first type semi-structured block LDPC code according to an embodiment of the present invention. Hereinafter, for convenience of explanation, a child parity check matrix generated based on a parent parity check matrix of the first type semi-structured block LDPC code will be referred to as a 'first type ruler parity check matrix'. The parent parity check matrix of the block LDPC code will be referred to as a 'first type parent parity check matrix'.
상기 도 8을 참조하면, 상기 제1타입 자 패리티 검사 행렬은 부분 블록 A1(800)과, 부분 블록 C1(802)과, 부분 블록 F(804)과, 부분 블록 J(806)과, 부분 블록 A2(810)과, 부분 블록 C2(812)과, 부분 블록 G(814)과, 부분 블록 K(816)과, 부분 블록 B(820)과, 부분 블록 D(822)과, 부분 블록 0(824)과, 부분 블록 0(826)과, 부분 블록 T(840)과, 부분 블록 E(842)과, 부분 블록 0(844)과, 부분 블록 0(846)과, 부분 블록 0(850)과, 부분 블록 0(852)과, 부분 블록 H(854)와, 부분 블록 0(856)과, 부분 블록 0(860)과, 부분 블록 0(862)과, 부분 블록 0(864)과, 부분 블록 L(866)를 포함한다.Referring to FIG. 8, the first type J parity check matrix includes a
여기서, 상기 부분 블록 A1(800)과, 부분 블록 C1(802)과, 부분 블록 F(804)과, 부분 블록 A2(810)과, 부분 블록 C2(812)과, 부분 블록 G(814)과, 부분 블록 B(820)과, 부분 블록 D(822)과, 부분 블록 0(824)과, 부분 블록 T(840)과, 부분 블록 E(842)과, 부분 블록 0(844)과, 부분 블록 0(850)과, 부분 블록 0(852)과, 부분 블록 H(854)는 상기 도 6에서 설명한 부분 블록 A1(600)과, 부분 블록 C1(602)과, 부분 블록 F(604)과, 부분 블록 A2(610)과, 부분 블록 C2(612)과, 부분 블록 G(614)과, 부분 블록 B(620)과, 부분 블록 D(622)과, 부분 블록 0(624)과, 부분 블록 T(640)과, 부분 블록 E(642)과, 부분 블록 0(644)과, 부분 블록 0(650)과, 부분 블록 0(652)과, 부분 블록 H(654)와 동일하다. Here, the
또한, 상기 부분 블록 J(806)와, 부분 블록 K(816)와, 부분 블록 0(826)과, 부분 블록 0(846)과, 부분 블록 0(856)과, 부분 블록 0(860)과, 부분 블록 0(862)과, 부분 블록 0(864)과, 부분 블록 L(866)은 상기 제1타입 모 패리티 검사 행렬을 기반으로 하여 상기 제1타입 모 패리티 검사 행렬에 의해 생성되는 부호어 벡터( )에 비해 더 낮은 부호화율을 가지는 부호어 벡터( )를 생성하기 위해 상기 제1타입 모 패리티 검사 행렬에 새롭게 추가된 부분 블록들을 나타낸다. 상기 부분 블록 L(866)에는 모든 열의 차수가 1인 행렬, 일 예로 항등 행렬이 대응되도록 한다. 즉, 상기 모 패리티 검사 행렬이 지원하는 부호화율 미만의 부호화율을 지원하기 위해서는 모 패리티 검사 행렬을 사용하여 생성되는 모 부호어 벡터에 단일 패리티 부호(single parity check code)를 추가적으로 포함시키는 형태로 최종 부호어 벡터를 생성하면 된다. 따라서, 제1타입 자 패리티 검사 행렬을 사용하여 정보 벡터( )를 부호화하여 부호어 벡터( )를 생성할 경우 제1타입 모 패리티 검사 행렬을 사용하여 정보 벡터( )를 부호화하여 부호어 벡터( )를 생성하는 경우와 거의 동일한 시간이 소요된다. In addition, the
한편, 상기 도 8에서는 상기 제3패리티 파트에 대응되는 부분 블록들, 즉 부분 블록 O(824)와, 부분 블록 0(844)와, 부분 블록 0(850)와 부분 블록 0(852)에 0 행렬이 대응되고, 상기 제4패리티 파트에 대응되는 부분 블록들, 즉 부분 블록 O(826)와, 부분 블록 0(846)와, 부분 블록 0(856)와, 부분 블록 0(860)와, 부분 블록 0(862)와 부분 블록 0(864)에 0 행렬이 대응되는 경우를 일 예로 하여 설명하였으나, 상기 부분 블록 O(824)와, 부분 블록 0(844)와, 부분 블록 0(850)와, 부분 블록 0(852)와, 부분 블록 O(826)와, 부분 블록 0(846)와, 부분 블록 0(856)와, 부 분 블록 0(860)와, 부분 블록 0(862)와 부분 블록 0(864)에 0 행렬이 아닌 행렬이 대응될 수도 있음은 물론이다.Meanwhile, in FIG. 8, partial blocks corresponding to the third parity part, that is,
한편, 천공 방식을 사용한 LDPC 부호의 복호는 천공된 패리티 비트들을 소실(erasure)로 간주함으로써 원래의 패리티 검사 행렬을 사용하여 수행된다. 즉, 천공된 패리티 비트들에 채널로부터 입력되는 LLR(log-likelihood ratio) 값을 항상 '0'으로 간주하면 원래의 패리티 검사 행렬을 사용하여 천공 방식을 사용한 LDPC 부호의 복호를 수행하는 것이 가능하게 된다. 따라서, 차수(degree)가 1인 패리티 검사 행렬의 열에 대응되는 부호어 비트들을 천공하게 되면 천공된 부호어 노드(node)는 복호 과정에서 '0'값만 전달한다. 그러므로, 상기 천공된 부호어에 연결된 검사 노드(check node)의 출력 신호는 항상 '0'이 되므로 상기 천공된 부호어에 연결된 행들을 삭제하는 것이 가능하다. 즉, 더 낮은 부호화율을 가지는 부호어 벡터를 생성하기 위하여 새롭게 추가된 부호어 비트들을 천공한다면 모 패리티 검사 행렬만을 사용하여 부호화/복호 동작을 수행하는 것과 동일한 효과를 획득할 수 있다. 즉, 상기 자 패리티 검사 행렬을 사용하여 높은 부호화율을 가지는 LDPC 부호를 생성할 경우에는 자 패리티 검사 행렬에서 추가로 생성되었던 부분을 제외한 모 패리티 검사 행렬을 사용하여 부호화/복호 동작을 수행할 수 있으며, 낮은 부호화율을 가지는 LDPC 부호를 생성할 경우에는 자 패리티 검사 행렬을 모두 사용할 수 있다.On the other hand, the decoding of the LDPC code using the puncturing scheme is performed using the original parity check matrix by considering the punctured parity bits as an erasure. That is, if the log-likelihood ratio (LLR) input from the channel to the punctured parity bits is always assumed to be '0', it is possible to perform decoding of the LDPC code using the puncturing scheme using the original parity check matrix. do. Therefore, when the codeword bits corresponding to the columns of the parity check matrix having a degree of 1 are punctured, the punctured codeword node delivers only a value of '0' in the decoding process. Therefore, since the output signal of the check node connected to the punctured codeword is always '0', it is possible to delete the rows connected to the punctured codeword. That is, when puncturing newly added codeword bits to generate a codeword vector having a lower coding rate, the same effect as performing an encoding / decoding operation using only a parity check matrix can be obtained. That is, when generating an LDPC code having a high coding rate by using the self parity check matrix, an encoding / decoding operation may be performed using a mother parity check matrix except for an additional portion of the self parity check matrix. When generating an LDPC code having a low coding rate, all of the self parity check matrices can be used.
한편, 상기 제1타입 자 패리티 검사 행렬의 차수(degree) 분포(distribution)는 상기 제1타입 모 패리티 검사 행렬의 차수 분포를 기반으로 하 여 밀도 진화 방식을 사용하여 설계할 수 있다. 이 경우, 제1타입 모 패리티 검사 행렬의 차수 분포를 밀도 진화 방식을 사용하여 상기 제1타입 모 패리티 검사 행렬에 의해 생성되는 부호어 벡터()가 우수한 성능을 보장받을 수 있도록 설계하고, 상기 제1타입 모 패리티 검사 행렬의 차수 분포를 그대로 사용하는 상태에서 상기 밀도 진화 방식을 사용하여 상기 제1타입 자 패리티 검사 행렬의 차수 분포를 설계한다. Meanwhile, the degree distribution of the first type self parity check matrix may be designed using a density evolution method based on the order distribution of the first type parent parity check matrix. In this case, the codeword vector generated by the first type mother parity check matrix using the density evolution method of the order distribution of the first type mother parity check matrix ) Is designed to ensure excellent performance, and the order distribution of the first type J parity check matrix is designed using the density evolution method while using the order distribution of the first type parent parity check matrix as it is. .
그러면 여기서 상기 제1타입 자 패리티 검사 행렬을 사용하여 정보 벡터()를 부호어 벡터(), 즉 반구조적 블록 LDPC 부호어로 생성하는 동작에 대해 설명하기로 한다. Then, using the first type ruler parity check matrix, ) Is the signword vector ( ), That is, an operation of generating a semi-structured block LDPC codeword will be described.
먼저, 상기 정보 파트가 제1정보 파트와 제2 정보 파트를 포함하며, 상기 제1정보 파트의 차수가 상기 제2 정보 파트의 차수에 비해 크므로, 상기 정보 벡터()에서 일부가 천공되어야할 경우 상기 제1정보 파트에 해당하는 정보 비트들, 즉 제1정보 벡터()이 천공된다. 따라서, 부호어 벡터()는 하기 수학식 3과같이 나타낼 수 있다.First, since the information part includes a first information part and a second information part, and the degree of the first information part is larger than that of the second information part, the information vector ( In the case where a part of the first information part needs to be punctured, information bits corresponding to the first information part, that is, a first information vector ( ) Is perforated. Therefore, the codeword vector ( ) Can be expressed as in
다음으로 도 9를 참조하여 모 패리티 검사 행렬이 상기 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬일 경우, 상기 제2타입 반구조적 블록 LDPC 부호의 모 패리티 검사 행렬을 기반으로 하여 생성된 자 패리티 검사 행렬에 대해서 설 명하기로 한다. Next, when the mother parity check matrix is a parity check matrix of the second type semi-structured block LDPC code, the parent parity generated based on the mother parity check matrix of the second type semi-structured block LDPC code. The test matrix will be described.
상기 도 9는 본 발명의 실시예에 따른 제2타입 반구조적 블록 LDPC 부호의 모 패리티 검사 행렬을 기반으로 하여 생성된 자 패리티 검사 행렬의 구조를 도시한 도면이다. 이하, 설명의 편의상 상기 제2타입 반구조적 블록 LDPC 부호의 모 패리티 검사 행렬을 기반으로 하여 생성된 자 패리티 검사 행렬을 '제2타입 자 패리티 검사 행렬'이라 칭하기로 하며, 제2타입 반구조적 블록 LDPC 부호의 모 패리티 검사 행렬을 '제2타입 모 패리티 검사 행렬'이라 칭하기로 한다. 9 is a diagram illustrating a structure of a child parity check matrix generated based on a parent parity check matrix of a second type semi-structured block LDPC code according to an embodiment of the present invention. Hereinafter, for convenience of description, a child parity check matrix generated based on a parent parity check matrix of the second type semi-structured block LDPC code will be referred to as a 'second type ruler parity check matrix'. The parent parity check matrix of the LDPC code will be referred to as a 'second type parent parity check matrix'.
상기 도 9를 참조하면, 상기 제2타입 자 패리티 검사 행렬은 부분 블록 A1(900)과, 부분 블록 C1(902)과, 부분 블록 F(904)와, 부분 블록 A2(910)과, 부분 블록 C2(912)과, 부분 블록 G(914)와, 부분 블록 B(920)과, 부분 블록 D(922)과, 부분 블록 0(924)와, 부분 블록 T(940)과, 부분 블록 E(942)와, 부분 블록 0(944)와, 부분 블록 0(950)와, 부분 블록 0(952)와, 부분 블록 H(954)를 포함한다. Referring to FIG. 9, the second type self parity check matrix includes a
여기서, 부분 블록 A1(900)과, 부분 블록 C1(902)과, 부분 블록 A2(910)과, 부분 블록 C2(912)과, 부분 블록 B(920)과, 부분 블록 D(922)과, 부분 블록 T(940)과, 부분 블록 E(942)는 상기 도 7에서 설명한 부분 블록 A1(700)과, 부분 블록 C1(702)과, 부분 블록 A2(710)과, 부분 블록 C2(712)과, 부분 블록 B(720)과, 부분 블록 D(722)과, 부분 블록 T(740)과, 부분 블록 E(742)과 동일하다. Here, the
또한, 상기 부분 블록 F(904)와, 부분 블록 G(914)와, 부분 블록 0(924)와, 부분 블록 0(944)와, 부분 블록 0(950)와, 부분 블록 0(952)와, 부분 블록 H(954)는 상기 제2타입 모 패리티 검사 행렬을 기반으로 하여 상기 제2타입 모 패리티 검 사 행렬에 의해 생성되는 부호어 벡터( )에 비해 더 낮은 부호화율을 가지는 부호어 벡터( )를 생성하기 위해 상기 제2타입 모 패리티 검사 행렬에 새롭게 추가된 부분 블록들을 나타낸다. 상기 부분 블록 H(954)에는 모든 열의 차수가 1인 행렬, 일 예로 항등 행렬이 대응되도록 한다. 따라서, 제2타입 자 패리티 검사 행렬을 사용하여 정보 벡터( )를 부호화하여 부호어 벡터( )를 생성할 경우 제2타입 모 패리티 검사 행렬을 사용하여 정보 벡터( )를 부호화하여 부호어 벡터( )를 생성하는 경우와 거의 동일한 시간이 소요된다. The
한편, 상기 도 9에서는 상기 제3패리티 파트에 대응되는 부분 블록들중 부분 블록 O(924)와, 부분 블록 0(944)와, 부분 블록 0(950)와 부분 블록 0(952)에 0 행렬이 대응되는 경우를 일 예로 하여 설명하였으나, 상기 부분 블록 O(924)와, 부분 블록 0(944)와, 부분 블록 0(950)와 부분 블록 0(952)에 0 행렬이 아닌 행렬이 대응될 수도 있음은 물론이다.Meanwhile, in FIG. 9, a
다음으로 도 10을 참조하여 도 1의 부호화기(111) 내부 구조에 대해서 설명하기로 한다.Next, the internal structure of the
상기 도 10은 도 1의 부호화기(111) 내부 구조의 일 예를 도시한 블록도이다.10 is a block diagram illustrating an example of an internal structure of the
상기 도 10을 참조하면, 상기 부호화기(111)는 천공기(1011)와, 부분 행렬 A 곱셈기(1013)와, 부분 행렬 C 곱셈기(1015)와, 스위치(switch)(1017)와, 행렬 ET-1 곱셈기(1019)와, 배타적 논리합 연산기(1021)와, 부분 행렬 B 곱셈기(1023)와, 배 타적 논리합 연산기(1025)와, 행렬 T-1 곱셈기(1027)와, 단일 패리티 부호 부호화기(1029)와, 조립기(1031) 및 제어기(도시하지 않음)를 포함한다.Referring to FIG. 10, the
먼저, 상기 제어기의 동작에 대해서 설명하면 다음과 같다.First, the operation of the controller will be described.
상기 제어기는 신호 송신 장치에서 사용하고자 하는 부호화율에 상응하게 모 패리티 검사 행렬 혹은 자 패리티 검사 행렬을 선택하고, 상기 선택한 패리티 검사 행렬에 상응하게 부분 행렬 A와, 부분 행렬 B와, 부분 행렬 T와, 부분 행렬 C와, 부분 행렬 D 및 부분 행렬 E를 결정한다. 여기서, 상기 모 패리티 검사 행렬은 제1타입 모 패리티 검사 행렬과 제2타입 모 패리티 검사 행렬중 하나이며, 상기 자 패리티 검사 행렬은 제1타입 자 패리티 검사 행렬과 제2타입 자 패리티 검사 행렬중 하나이다. 또한, 상기 제어기는 상기 선택한 패리티 검사 행렬에 상응하게 상기 정보 벡터( )에서 천공할 정보 비트들이 존재하는지 여부와, 단일 패리티 부호를 생성할 필요가 있는지 여부 등을 판단한다.The controller selects a parent parity check matrix or a child parity check matrix corresponding to a coding rate to be used in the signal transmission apparatus, and corresponds to the partial matrix A, the partial matrix B, and the partial matrix T corresponding to the selected parity check matrix. , The partial matrix C, the partial matrix D, and the partial matrix E are determined. Here, the parent parity check matrix is one of a first type parent parity check matrix and a second type parent parity check matrix, and the child parity check matrix is one of a first type child parity check matrix and a second type child parity check matrix. . In addition, the controller corresponds to the information vector (corresponding to the selected parity check matrix). ), It is determined whether there are information bits to be punctured and whether it is necessary to generate a single parity code.
먼저, 부호화하고자 하는 정보 벡터()가 입력되면, 상기 정보 벡터()는 상기 천공기(1011)와, 부분 행렬 A 곱셈기(1013)와, 부분 행렬 C 곱셈기(1015) 및 스위치(1017)로 전달된다. 상기 천공기(1011)는 상기 제어기의 제어에 따라 상기 정보 벡터()를 바이패스(bypass)하여 상기 정보 벡터() 그대로를 상기 조립기(1031)로 출력하거나, 혹은 상기 정보 벡터()에서 해당 정보 비트들을 천공하여 천공된 정보 벡터()로 생성한 후 상기 천공된 정보 벡터()를 상기 조립기(1031)로 출력한다. 여기서, 상기 제어기는 상기 선택된 패리티 검사 행렬에 상응하게 상 기 천공기(1011)가 상기 정보 벡터()를 그대로 출력하거나 혹은 해당 정보 비트들을 천공하여 천공된 정보 벡터()로 출력할지를 결정하는 것이다. First, the information vector to be encoded ) Is inputted, the information vector ( ) Is passed to the
또한, 상기 제어기는 상기 선택된 패리티 검사 행렬에 상응하게 상기 스위치(1017)가 온(on) 혹은 오프(off)되도록 제어한다. 즉, 상기 제어기는 상기 선택된 패리티 검사 행렬이 모 패리티 검사 행렬일 경우 상기 스위치(1017)를 오프시키고, 상기 선택된 패리티 검사 행렬이 자 패리티 검사 행렬일 경우 상기 스위치(1019)를 온시킨다. The controller also controls the
상기 부분 행렬 A 곱셈기(1013)는 상기 정보 벡터( )와 부분 행렬 A를 곱셈한 후 상기 행렬 ET-1 곱셈기(1019)와 배타적 논리합 연산기(1025)로 출력한다. 상기 행렬 ET-1 곱셈기(1019)는 상기 부분 행렬 A 곱셈기(1013)에서 출력한 신호와 행렬 ET-1를 곱셈한 후 상기 배타적 논리합 연산기(1021)로 출력한다. 상기 부분 행렬 C 곱셈기(1015)는 상기 정보 벡터( )와 부분 행렬 C를 곱셈한 후 상기 배타적 논리합 연산기(1021)로 출력한다. 상기 배타적 논리합 연산기(1021)는 상기 행렬 ET-1 곱셈기(1019)에서 출력한 신호와 상기 부분 행렬 C 곱셈기(1015)에서 출력한 신호를 배타적 논리합 연산한 후 상기 부분 행렬 B 곱셈기(1023)와 상기 조립기(1031)로 출력한다. 여기서, 상기 배타적 논리합 연산기(1021)에서 출력한 신호가 제1패리티 벡터( )가 되는 것이다.The partial
상기 부분 행렬 B 곱셈기(1023)는 상기 배타적 논리합 연산기(1021)에서 출 력한 신호와 부분 행렬 B를 곱셈한 후 상기 배타적 논리합 연산기(1025)로 출력한다. 상기 배타적 논리합 연산기(1025)는 상기 부분 행렬 A 곱셈기(1013)에서 출력한 신호와 상기 부분 행렬 B 곱셈기(1023)에서 출력한 신호를 배타적 논리합 연산한 후 상기 행렬 ET-1 곱셈기(1027)로 출력한다. 상기 행렬 T-1 곱셈기(1027)는 상기 배타적 논리합 연산기(1025)에서 출력한 신호와 행렬 T-1를 곱셈한 후 상기 조립기(1031)로 출력한다. 여기서, 상기 행렬 T-1 곱셈기(1027)에서 출력하는 신호가 제2패리티 벡터( )가 되는 것이다.The partial
상기 스위치(1017)는 상기 제어기의 제어에 따라 스위칭 동작을 수행하며, 상기 제어기는 상기 정보 벡터()가 제3패리티 벡터() 혹은 상기 제3패리티 벡터() 및 제4패리티 벡터()를 생성할 필요가 있을 경우에만 상기 스위치(1017)를 온시켜 상기 정보 벡터()가 상기 단일 패리티 부호 부호화기(1029)로 입력되도록 제어한다. 상기 단일 패리티 부호 부호화기(1029)는 상기 스위치(1017)에서 출력한 신호를 부호화하여 단일 패리티 부호어, 즉 제3패리티 벡터() 혹은 상기 제3패리티 벡터() 및 제4패리티 벡터()로 생성한 후 상기 조립기(1031)로 출력한다. The
상기 조립기(1031)는 상기 제어기의 제어에 따라 상기 천공기(1011)와, 상기 배타적 논리합 연산기(1021)와, 행렬 T-1 곱셈기(1027) 및 단일 패리티 부호 부호화기(1029)에서 출력한 신호를 입력하여 부호어 벡터()로 조립한 후 출력한다.The
상기 도 10에서는 상기 제어기가 그 부호화율에 상응하게 각 벡터, 즉 상기 정보 벡터() 혹은 천공된 정보 벡터()와, 제1패리티 벡터()와, 제2패리티 벡터()와, 제3패리티 벡터()와, 제4패리티 벡터()를 병렬적으로 생성한 후 조립하여 부호어 벡터()를 생성하도록 제어하는 경우를 일 예로 하여 설명하였으나, 상기 제어기가 그 부호화율에 상응하게 각 벡터, 즉 상기 정보 벡터() 혹은 천공된 정보 벡터()와, 제1패리티 벡터()와, 제2패리티 벡터()와, 제3패리티 벡터() 및 제4패리티 벡터()중 해당하는 벡터만을 순차적으로 생성하여 부호어 벡터()를 생성하도록 제어할 수도 있음은 물론이다.In FIG. 10, the controller corresponds to each vector, that is, the information vector (corresponding to its coding rate). ) Or perforated information vector ( ) And the first parity vector ( ) And the second parity vector ( ) And the third parity vector ( ) And the fourth parity vector ( ) In parallel, and then assembled to codeword vectors ( In the following example, the control is generated to generate?), But the controller corresponds to each vector, that is, the information vector (corresponding to the coding rate). ) Or perforated information vector ( ) And the first parity vector ( ) And the second parity vector ( ) And the third parity vector ( ) And the fourth parity vector ( ), Only the corresponding vectors are generated sequentially and the codeword vector ( Of course, you can control the creation of).
또한, 도 10에서는 상기 부호화기(111)가 내부에 천공기(1011)를 포함하는 경우를 일 예로 하여 설명하였다. 그러나, 상기 신호 송신 장치에서 지원하는 부호화율이 모 부호화율이거나 혹은 자 부호화율일 경우에는 상기 천공기(1011)가 천공 동작을 수행하지 않는다. 따라서, 상기 신호 송신 장치에서 모 부호화율 혹은 자 부호화율만을 사용할 경우에는 상기 부호화기(111)가 상기 천공기(1011)를 포함하지 않을 수도 있음은 물론이다.In addition, in FIG. 10, the case where the
다음으로 도 11을 참조하여 도 2의 복호기(215) 내부 구조에 대해서 설명하기로 한다.Next, the internal structure of the
상기 도 11은 도 2의 복호기(215) 내부 구조를 도시한 블록도이다.11 is a block diagram illustrating an internal structure of the
상기 도 11을 참조하면, 상기 복호기(215)는 블록 제어기(1111)와, 변수 노드 복호기(1113)와, 스위치(1115)와, 배타적 논리합 연산기(1117)와, 디인터리 버(de-interleaver)(1119)와, 인터리버(interleaver)(1121)와, 제어기(1123)와, 메모리(memory)(1125)와, 배타적 논리합 연산기(1127)와, 검사 노드 복호기(1129)와, 경판정기(1131)를 포함한다.Referring to FIG. 11, the
먼저, 복조기, 즉 도 2의 복조기(213)에서 출력한 신호는 상기 블록 제어기(1111)로 전달되며, 상기 블록 제어기(1111)는 상기 복조기(213)에서 출력한 신호를 입력하여 신호 송신 장치에서 적용한 부호어 벡터()의 크기에 상응하게 부호어 벡터()의 크기를 결정한다. 여기서, 상기 블록 제어기(1111)는 상기 신호 송신 장치에서 정보 벡터()중 특정 정보 비트들을 천공하여 송신하였을 경우, 상기 천공된 정보 비트들에 해당하는 비트들에 0을 삽입한 후 상기 변수 노드 복호기(1113)로 출력한다. 또한, 상기 블록 제어기(1111)는 상기 신호 송신 장치와 상기 신호 수신 장치간에 미리 규약된 모 패리티 검사 행렬 및 자 패리티 검사 행렬을 미리 저장하고 있으며, 또한 상기 신호 송신 장치에서 적용한 부호화율에 상응하는 정보 비트들의 천공 정보 등을 미리 저장하고 있다. 여기서, 상기 블록 제어기(1111)는 상기 해당 부호화율에 따라 천공되는 정보 비트들의 개수 뿐만 아니라 그 위치 정보까지도 미리 저장하고 있다.First, a demodulator, that is, a signal output from the
상기 변수 노드 복호기(1113)는 상기 블록 제어기(1111)에서 출력한 신호를 입력하여 그 확률값들을 계산하고, 상기 계산된 확률값들을 업데이트한 후 상기 스위치(1115) 및 상기 배타적 논리합 연산기(1117)로 출력한다. 여기서, 상기 변수 노드 복호기(1113)는 상기 복호기(215)에 미리 설정되어 있는 패리티 검사 행렬에 상응하게 변수 노드들을 연결하며, 상기 변수 노드들에 연결된 1의 개수만큼의 입 력값과 출력값을 갖는 업데이트 연산이 수행된다. 상기 변수 노드들 각각에 연결된 1의 개수는 상기 패리티 검사 행렬을 구성하는 열들 각각의 웨이트와 동일하다. 따라서, 상기 패리티 검사 행렬을 구성하는 열들 각각의 웨이트에 따라 상기 변수 노드 복호기(1113)의 내부 연산이 상이하게 된다.The
상기 배타적 논리합 연산기(1117)는 상기 변수 노드 복호기(1113)에서 출력한 신호와 이전 반복 복호(iteration decoding) 과정에서의 상기 인터리버(1121)의 출력 신호를 입력하고, 상기 변수 노드 복호기(1113)에서 출력한 신호에서 이전 반복 복호 과정에서의 상기 인터리버(1121)의 출력 신호를 감산한 후 상기 디인터리버(1119)로 출력한다. 여기서, 상기 복호 과정이 최초의 복호 과정일 경우, 상기 인터리버(1121)의 출력 신호는 0이라고 간주해야함은 물론이다.The
상기 디인터리버(1119)는 상기 배타적 논리합 연산기(1117)에서 출력한 신호를 입력하여 미리 설정되어 있는 디인터리빙 방식에 상응하게 디인터리빙(de-interleaving)한 후 상기 배타적 논리합 연산기(1127)와 검사 노드 복호기(1129)로 출력한다. 여기서, 상기 디인터리버(1127)의 내부 구조는 상기 패리티 검사 행렬에 상응하는 구조를 가지며, 그 이유는 상기 패리티 검사 행렬의 1의 값을 가지는 엘리먼트들의 위치에 따라 상기 디인터리버(1127)에 대응하는 인터리버(1121)의 입력값에 대한 출력값이 상이해지기 때문이다.The
상기 배타적 논리합 연산기(1127)는 이전 반복 복호 과정에서의 상기 검사 노드 복호기(1129)의 출력 신호와 상기 디인터리버(1119)의 출력 신호를 입력하고, 상기 이전 반복 복호 과정에서의 상기 검사 노드 복호기(1129)의 출력 신호에서 상 기 디인터리버(1119)의 출력 신호를 감산한 후 상기 인터리버(1121)로 출력한다. 상기 검사 노드 복호기(1129)는 상기 복호기(215)에 미리 설정되어 있는 패리티 검사 행렬에 상응하게 검사 노드들을 연결하며, 상기 검사 노드들에 연결된 1의 개수만큼의 입력값과 출력값을 갖는 업데이트 연산이 수행된다. 상기 검사 노드들 각각에 연결된 1의 개수는 상기 패리티 검사 행렬을 구성하는 행들 각각의 웨이트와 동일하다. 따라서, 상기 패리티 검사 행렬을 구성하는 행들 각각의 웨이트에 따라 상기 검사 노드 복호기(1129)의 내부 연산이 상이하게 된다.The
여기서, 상기 인터리버(1121)는 상기 제어기(1123)의 제어에 따라 미리 설정되어 있는 설정 방식으로 상기 배타적 논리합 연산기(1127)에서 출력한 신호를 인터리빙한 후 상기 배타적 논리합 연산기(1117) 및 상기 변수 노드 복호기(1113)로 출력한다. 여기서, 상기 제어기(1123)는 상기 메모리(1125)에 저장되어 있는 인터리빙 방식에 관련된 정보를 읽어 상기 인터리버(1121)의 인터리빙 방식을 제어하게 되는 것이다. 또한, 상기 복호 과정이 최초의 복호 과정일 경우에는 상기 디인터리버(1119)의 출력 신호는 0이라고 간주해야함은 물론이다.Here, the
상기와 같은 과정들을 반복적으로 수행함으로써 오류 없이 신뢰도 높은 복호를 수행하며, 미리 설정한 설정 반복 회수에 해당하는 반복 복호를 수행한 후에는 상기 스위치(1115)는 상기 변수 노드 복호기(1113)와 배타적 논리합 연산기(1117)간을 오프시킨 후, 상기 변수 노드 복호기(1113)와 경판정기(1131)간을 스위칭 온하여 상기 변수 노드 복호기(1113)에서 출력한 신호가 상기 경판정기(1131)로 출력하도록 한다. 상기 경판정기(1131)는 상기 변수 노드 복호기(1113)에서 출력한 신 호를 입력하여 경판정한 후, 그 경판정 결과를 출력하게 되고, 상기 경판정기(1131)의 출력값이 최종적으로 복호된 값이 되는 것이다.By repeatedly performing the above processes, reliable decoding is performed without errors, and after performing repeated decoding corresponding to a preset number of preset repetitions, the
다음으로 도 12a 내지 도 12h와, 도 13a 내지 도 13g를 참조하여 부호화율이 1/2일 경우, 본 발명의 실시예에 따른 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 부분 행렬에 대해서 설명하기로 한다.Next, when the coding rate is 1/2 with reference to FIGS. 12A to 12H and 13A to 13G, each part included in the parity check matrix of the first type semi-structured block LDPC code according to an embodiment of the present invention. The partial matrix corresponding to the block will be described.
상기 도 12a 내지 도 12h는 부호화율이 1/2일 경우, 본 발명의 실시예에 따른 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 행렬의 일 예를 도시한 도면이다.12A to 12H illustrate an example of a matrix corresponding to each partial block included in a parity check matrix of a first type semi-structured block LDPC code according to an embodiment of the present invention when the coding rate is 1/2. One drawing.
상기 도 12a 내지 도 12h에 도시되어 있는 행렬내 블록에 기재되어 있는 숫자는 해당 블록에 대응되는 순열 행렬의 지수를 나타낸다. 여기서, 상기 지수라 함은 상기 순열 행렬을 지수가 포함된 Pa라고 표현한다고 가정할 경우, a = 0일 경우에는 해당 순열 행렬, 즉 P0이 항등 행렬임을 나타내고, 이런 식으로 a의 값이 증가해나감에 따라 순열 행렬이 항등 행렬 구조에서 오른쪽으로 쉬프트된 형태의 구조를 가지게 됨을 나타낸다. 또한, a = -1일 경우에는 해당 순열 행렬, 즉 P-1이 '0'행렬임을 나타내고, 모든 엘리먼트('element')들이 0이다. The numbers described in the blocks in the matrix illustrated in FIGS. 12A to 12H represent exponents of the permutation matrixes corresponding to the blocks. Here, the exponent is assuming that the permutation matrix is expressed as P a containing an exponent. If a = 0, this means that the permutation matrix, that is, P 0 is an identity matrix. As it increases, the permutation matrix has a structure shifted to the right from the identity matrix structure. In addition, when a = -1, this indicates that the permutation matrix, that is, P -1 is a '0' matrix, and all elements are '0'.
상기 도 13a 내지 도 13g는 부호화율이 1/2일 경우, 본 발명의 실시예에 따른 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 행렬의 다른 예를 도시한 도면이다.13A to 13G illustrate another example of a matrix corresponding to each partial block included in a parity check matrix of a first type semi-structured block LDPC code according to an embodiment of the present invention when the coding rate is 1/2. One drawing.
상기 도 13a 내지 도 13g에 도시되어 있는 행렬내 블록에 기재되어 있는 숫자는 해당 블록에 대응되는 순열 행렬의 지수를 나타낸다. 여기서, 상기 지수라 함은 상기 순열 행렬을 지수가 포함된 Pa라고 표현한다고 가정할 경우, a = 0일 경우에는 해당 순열 행렬, 즉 P0이 항등 행렬임을 나타내고, 이런 식으로 a의 값이 증가해나감에 따라 순열 행렬이 항등 행렬 구조에서 오른쪽으로 쉬프트된 형태의 구조를 가지게 됨을 나타낸다. 또한, a = -1일 경우에는 해당 순열 행렬, 즉 P-1이 '0'행렬임을 나타내고, 모든 엘리먼트('element')들이 0이다. The numbers described in the blocks in the matrix shown in FIGS. 13A to 13G represent exponents of the permutation matrix corresponding to the blocks. Here, the exponent is assuming that the permutation matrix is expressed as P a containing an exponent. If a = 0, this means that the permutation matrix, that is, P 0 is an identity matrix. As it increases, the permutation matrix has a structure shifted to the right from the identity matrix structure. In addition, when a = -1, this indicates that the permutation matrix, that is, P -1 is a '0' matrix, and all elements are '0'.
다음으로 도 14a 내지 도 14b를 참조하여 부호화율이 5/6일 경우, 본 발명의 실시예에 따른 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 행렬에 대해서 설명하기로 한다.Next, when the coding rate is 5/6 with reference to FIGS. 14A to 14B, for a matrix corresponding to each partial block included in a parity check matrix of a second type semi-structured block LDPC code according to an embodiment of the present invention, FIG. Let's explain.
상기 도 14a 내지 도 14b는 부호화율이 5/6일 경우, 본 발명의 실시예에 따른 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 행렬의 일 예를 도시한 도면이다.14A to 14B illustrate an example of a matrix corresponding to each partial block included in a parity check matrix of a second type semi-structured block LDPC code according to an embodiment of the present invention when the coding rate is 5/6. One drawing.
상기 도 14a 내지 도 14b에 도시되어 있는 행렬내 블록에 기재되어 있는 숫자는 해당 블록에 대응되는 순열 행렬의 지수를 나타낸다. 여기서, 상기 지수라 함은 상기 순열 행렬을 지수가 포함된 Pa라고 표현한다고 가정할 경우, a = 0일 경우에는 해당 순열 행렬, 즉 P0이 항등 행렬임을 나타내고, 이런 식으로 a의 값이 증가해나감에 따라 순열 행렬이 항등 행렬 구조에서 오른쪽으로 쉬프트된 형태의 구조 를 가지게 됨을 나타낸다. 또한, a = -1일 경우에는 해당 순열 행렬, 즉 P-1이 '0'행렬임을 나타내고, 모든 엘리먼트('element')들이 0이다. The numerals described in the blocks in the matrix illustrated in FIGS. 14A to 14B represent exponents of the permutation matrix corresponding to the blocks. Here, the exponent is assuming that the permutation matrix is expressed as P a containing an exponent. If a = 0, this means that the permutation matrix, that is, P 0 is an identity matrix. As it increases, the permutation matrix is shifted to the right from the identity matrix structure. In addition, when a = -1, this indicates that the permutation matrix, that is, P -1 is a '0' matrix, and all elements are '0'.
다음으로 도 15a 내지 도 15c를 참조하여 부호화율이 11/12일 경우, 본 발명의 실시예에 따른 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 부분 행렬에 대해서 설명하기로 한다.Next, when the coding rate is 11/12 with reference to FIGS. 15A to 15C, the partial matrix corresponding to each partial block included in the parity check matrix of the second type semi-structured block LDPC code according to the embodiment of the present invention is described. This will be described.
상기 도 15a 내지 도 15c는 부호화율이 11/12일 경우, 본 발명의 실시예에 따른 제2타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 행렬의 일 예를 도시한 도면이다. 또한, a = -1일 경우에는 해당 순열 행렬, 즉 P-1이 '0'행렬임을 나타내고, 모든 엘리먼트('element')들이 0이다. 15A to 15C illustrate an example of a matrix corresponding to each partial block included in a parity check matrix of a second type semi-structured block LDPC code according to an embodiment of the present invention when the coding rate is 11/12. One drawing. In addition, when a = -1, this indicates that the permutation matrix, that is, P -1 is a '0' matrix, and all elements are '0'.
상기 도 15a 내지 도 15c에 도시되어 있는 행렬내 블록에 기재되어 있는 숫자는 해당 블록에 대응되는 순열 행렬의 지수를 나타낸다. 여기서, 상기 지수라 함은 상기 순열 행렬을 지수가 포함된 Pa라고 표현한다고 가정할 경우, a = 0일 경우에는 해당 순열 행렬, 즉 P0이 항등 행렬임을 나타내고, 이런 식으로 a의 값이 증가해나감에 따라 순열 행렬이 항등 행렬 구조에서 오른쪽으로 쉬프트된 형태의 구조를 가지게 됨을 나타낸다. The numbers described in the blocks in the matrix illustrated in FIGS. 15A to 15C represent exponents of the permutation matrixes corresponding to the blocks. Here, the exponent is assuming that the permutation matrix is expressed as P a containing an exponent. If a = 0, this means that the permutation matrix, that is, P 0 is an identity matrix. As it increases, the permutation matrix has a structure shifted to the right from the identity matrix structure.
특히, 상기 도 15b 및 도 15c에서 사선으로 표시된 화살표는 해당 블록들이 연결됨을 나타낸다. 즉 상기 도 15b에서 부분 블록 A2 및 부분 블록 C2는 한 도면상의 기재 편의를 위해 분할시켜 도시하였을 뿐임에 유의하여야만 한다. In particular, the arrows indicated by the diagonal lines in FIGS. 15B and 15C indicate that the corresponding blocks are connected. That is, it should be noted that the partial block A2 and the partial block C2 in FIG. 15B are only divided for convenience of description in one drawing.
다음으로 도 16a 및 도 16b를 참조하여 부호화율이 1/12일 경우, 본 발명의 실시예에 따른 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 부분 행렬에 대해서 설명하기로 한다.16A and 16B, when the coding rate is 1/12, the partial matrix corresponding to each partial block included in the parity check matrix of the first type semi-structured block LDPC code according to the embodiment of the present invention is described. This will be described.
상기 도 16a 및 16b은 부호화율이 1/2일 경우, 본 발명의 실시예에 따른 제1타입 반구조적 블록 LDPC 부호의 패리티 검사 행렬이 포함하는 각 부분 블록에 대응되는 부분 행렬의 일 예를 도시한 도면이다.16A and 16B illustrate examples of partial matrices corresponding to each partial block included in a parity check matrix of a first type semi-structured block LDPC code according to an embodiment of the present invention when the coding rate is 1/2. One drawing.
상기 도 16a 및 16b에 도시되어 있는 행렬내 블록에 기재되어 있는 숫자는 해당 블록에 대응되는 순열 행렬의 지수를 나타낸다. 여기서, 상기 지수라 함은 상기 순열 행렬을 지수가 포함된 Pa라고 표현한다고 가정할 경우, a = 0일 경우에는 해당 순열 행렬, 즉 P0이 항등 행렬임을 나타내고, 이런 식으로 a의 값이 증가해나감에 따라 순열 행렬이 항등 행렬 구조에서 오른쪽으로 쉬프트된 형태의 구조를 가지게 됨을 나타낸다. 또한, a = -1일 경우에는 해당 순열 행렬, 즉 P-1이 ‘0’행렬임을 나타내고, 모든 엘리먼트(‘element')들이 0이다. The numbers described in the blocks in the matrix shown in FIGS. 16A and 16B indicate the exponents of the permutation matrix corresponding to the blocks. Here, the exponent is assuming that the permutation matrix is expressed as P a containing an exponent. If a = 0, this means that the permutation matrix, that is, P 0 is an identity matrix. As it increases, the permutation matrix has a structure shifted to the right from the identity matrix structure. In addition, when a = -1, this indicates that the permutation matrix, that is, P -1 is a '0' matrix, and all elements are '0'.
다음으로 도 17을 참조하여 도 1의 부호화기(111) 내부 구조에 대해서 설명하기로 한다.Next, the internal structure of the
상기 도 17은 도 1의 부호화기(111) 내부 구조의 다른 예를 도시한 블록도이다.17 is a block diagram illustrating another example of an internal structure of the
상기 도 17을 참조하면, 상기 부호화기(111)는 천공기(1711)와, 부분 행렬 A 곱셈기(1713)와, 부분 행렬 C 곱셈기(1715)와, 스위치 (1717)와, 행렬 ET-1 곱셈기(1719)와, 배타적 논리합 연산기(1721)와, 부분 행렬 B 곱셈기(1723)와, 배타적 논리합 연산기(1725)와, 행렬 T-1 곱셈기(1727)와, 단일 패리티 부호 부호화기(1729)와, 조립기(1731) 및 제어기(도시하지 않음)를 포함한다.Referring to FIG. 17, the
먼저, 상기 제어기의 동작에 대해서 설명하면 다음과 같다.First, the operation of the controller will be described.
상기 제어기는 신호 송신 장치에서 사용하고자 하는 부호화율에 상응하게 모 패리티 검사 행렬 혹은 자 패리티 검사 행렬을 선택하고, 상기 선택한 패리티 검사 행렬에 상응하게 부분 행렬 A와, 부분 행렬 B와, 부분 행렬 T와, 부분 행렬 C와, 부분 행렬 D 및 부분 행렬 E를 결정한다. 여기서, 상기 모 패리티 검사 행렬은 제1타입 모 패리티 검사 행렬과 제2타입 모 패리티 검사 행렬중 하나이며, 상기 자 패리티 검사 행렬은 제1타입 자 패리티 검사 행렬과 제2타입 자 패리티 검사 행렬중 하나이다. 또한, 상기 제어기는 상기 선택한 패리티 검사 행렬에 상응하게 상기 정보 벡터( )에서 천공할 정보 비트들이 존재하는지 여부와, 단일 패리티 부호를 생성할 필요가 있는지 여부 등을 판단한다.The controller selects a parent parity check matrix or a child parity check matrix corresponding to a coding rate to be used in the signal transmission apparatus, and corresponds to the partial matrix A, the partial matrix B, and the partial matrix T corresponding to the selected parity check matrix. , The partial matrix C, the partial matrix D, and the partial matrix E are determined. Here, the parent parity check matrix is one of a first type parent parity check matrix and a second type parent parity check matrix, and the child parity check matrix is one of a first type child parity check matrix and a second type child parity check matrix. . In addition, the controller corresponds to the information vector (corresponding to the selected parity check matrix). ), It is determined whether there are information bits to be punctured and whether it is necessary to generate a single parity code.
먼저, 부호화하고자 하는 정보 벡터( )가 입력되면, 상기 정보 벡터( )는 상기 천공기(1711)와, 부분 행렬 A 곱셈기(1713)와, 부분 행렬 C 곱셈기(1715) 및 스위치(1717)로 전달된다. 상기 천공기(1711)는 상기 제어기의 제어에 따라 상기 정보 벡터( )를 바이패스(bypass)하여 상기 정보 벡터( ) 그대로를 상기 조립기(1731)로 출력하거나, 혹은 상기 정보 벡터( )에서 해당 정보 비트들을 천공하 여 천공된 정보 벡터( )로 생성한 후 상기 천공된 정보 벡터( )를 상기 조립기(1731)로 출력한다. 여기서, 상기 제어기는 상기 선택된 패리티 검사 행렬에 상응하게 상기 천공기(1711)가 상기 정보 벡터( )를 그대로 출력하거나 혹은 해당 정보 비트들을 천공하여 천공된 정보 벡터( )로 출력할지를 결정하는 것이다. First, the information vector to be encoded ) Is inputted, the information vector ( Is transmitted to the
또한, 상기 제어기는 상기 선택된 패리티 검사 행렬에 상응하게 상기 스위치(1717)가 온 혹은 오프되도록 제어한다. 즉, 상기 제어기는 상기 선택된 패리티 검사 행렬이 모 패리티 검사 행렬일 경우 상기 스위치(1717)를 오프시키고, 상기 선택된 패리티 검사 행렬이 자 패리티 검사 행렬일 경우 상기 스위치(1719)를 온시킨다. The controller also controls the
상기 부분 행렬 A 곱셈기(1713)는 상기 정보 벡터( )와 부분 행렬 A를 곱셈한 후 상기 행렬 ET-1 곱셈기(1719)와 배타적 논리합 연산기(1725)로 출력한다. 상기 행렬 ET-1 곱셈기(1719)는 상기 부분 행렬 A 곱셈기(1713)에서 출력한 신호와 행렬 ET- 1를 곱셈한 후 상기 배타적 논리합 연산기(1721)로 출력한다. 상기 부분 행렬 C 곱셈기(1715)는 상기 정보 벡터( )와 부분 행렬 C를 곱셈한 후 상기 배타적 논리합 연산기(1721)로 출력한다. 상기 배타적 논리합 연산기(1721)는 상기 행렬 ET-1 곱셈기(1719)에서 출력한 신호와 상기 부분 행렬 C 곱셈기(1715)에서 출력한 신호를 배타적 논리합 연산한 후 상기 부분 행렬 B 곱셈기(1723)와 상기 천공기(1711)로 출력한다. 여기서, 상기 배타적 논리합 연산기(1721)에서 출력한 신호 가 제1패리티 벡터( )가 되는 것이다. The partial
상기 부분 행렬 B 곱셈기(1723)는 상기 배타적 논리합 연산기(1721)에서 출력한 신호와 부분 행렬 B를 곱셈한 후 상기 배타적 논리합 연산기(1725)로 출력한다. 상기 배타적 논리합 연산기(1725)는 상기 행렬 A 곱셈기(1713)에서 출력한 신호와 상기 부분 행렬 B 곱셈기(1723)에서 출력한 신호를 배타적 논리합 연산한 후 상기 행렬 ET-1 곱셈기(1727)로 출력한다. 상기 행렬 T-1 곱셈기(1727)는 상기 배타적 논리합 연산기(1725)에서 출력한 신호와 행렬 T- 1를 곱셈한 후 상기 천공기(1711)로 출력한다. 여기서, 상기 행렬 T-1 곱셈기(1727)에서 출력하는 신호가 제2패리티 벡터( )가 되는 것이다. 상기 행렬 ET-1 곱셈기(1727)와 행렬 T-1 곱셈기(1727)에서 T-1 곱셈은 back substitution 방식을 사용하여 수행될 수 있음은 물론이다.The partial
상기 천공기(1711)는 상기 제어기의 제어에 따라 상기 제1패리티 벡터( )와 제2패리티 벡터( )를 바이패스하여 상기 제1패리티 벡터( )와 제2패리티 벡터( )를 그대로 상기 조립기(1731)로 출력하거나, 혹은 상기 제1패리티 벡터( )와 제2패리티 벡터( )중 적어도 어느 하나에서 해당 패리티 비트들을 천공하여 상기 조립기(1731)로 출력한다. 여기서, 상기 제어기는 상기 선택된 부호화율에 상응하게 상기 천공기(1711)가 상기 제1패리티 벡터( )와 제2패리티 벡터( )를 그대 로 상기 조립기(1731)로 출력하거나, 혹은 상기 제1패리티 벡터( )와 제2패리티 벡터( )중 적어도 어느 하나에서 해당 패리티 비트들을 천공하여 상기 조립기(1731)로 출력하도록 제어한다.The
상기 스위치(1717)는 상기 제어기의 제어에 따라 스위칭 동작을 수행하며, 상기 제어기는 상기 정보 벡터( )가 제3패리티 벡터( ) 혹은 상기 제3패리티 벡터( ) 및 제4패리티 벡터( )를 생성할 필요가 있을 경우에만 상기 스위치(1717)를 온시켜 상기 정보 벡터( )가 상기 단일 패리티 부호 부호화기(1729)로 입력되도록 제어한다. 상기 단일 패리티 부호 부호화기(1729)는 상기 스위치(1717)에서 출력한 신호와 상기 제1패리티 벡터( )와 제2패리티 벡터( )를 입력한 후 부호화하여 단일 패리티 부호어, 즉 제3패리티 벡터( ) 혹은 상기 제3패리티 벡터( ) 및 제4패리티 벡터( )로 생성한 후 상기 천공기(1711)로 출력한다. The switch 1917 performs a switching operation according to the control of the controller, and the controller performs the information vector ( ) Is the third parity vector ( ) Or the third parity vector ( ) And the fourth parity vector ( Only when it is necessary to generate the ) Is input to the single
상기 천공기(1711)는 상기 제어기의 제어에 따라 제3패리티 벡터( ) 및 제4패리티 벡터( )를 바이패스하여 상기 제3패리티 벡터( ) 및 제4패리티 벡터( )를 그대로 상기 조립기(1731)로 출력하거나, 혹은 상기 제3패리티 벡터( ) 및 제4패리티 벡터( )중 적어도 하나에서 해당 패리티 비트들을 천공하여 상기 조립기(1731)로 출력한다. 여기서, 상기 제어기는 상기 선택된 부호화율에 상응하게 상기 천공기(1711)가 상기 제3패리티 벡터( ) 및 제4패리티 벡터( )를 그대로 상기 조립기(1731)로 출력하거나, 혹은 제3패리티 벡터( ) 및 제4패리티 벡터( )중 적어도 하나에서 해당 패리티 비트들을 천공하여 상기 조립기(1731)로 출력 하도록 제어한다. The
상기 조립기(1731)는 상기 제어기의 제어에 따라 상기 천공기(1711)에서 출력한 신호를 부호어 벡터( )로 조립한 후 출력한다.The
상기 도 17에서는 상기 제어기가 그 부호화율에 상응하게 각 벡터, 즉 상기 정보 벡터( ) 혹은 천공된 정보 벡터( )와, 제1패리티 벡터( )와, 제2패리티 벡터( )와, 제3패리티 벡터( )와, 제4패리티 벡터( )를 병렬적으로 생성한 후 조립하여 부호어 벡터( )를 생성하도록 제어하는 경우를 일 예로 하여 설명하였으나, 상기 제어기가 그 부호화율에 상응하게 각 벡터, 즉 상기 정보 벡터( ) 혹은 천공된 정보 벡터( )와, 제1패리티 벡터( )와, 제2패리티 벡터( )와, 제3패리티 벡터( ) 및 제4패리티 벡터( )중 해당하는 벡터만을 순차적으로 생성하여 부호어 벡터( )를 생성하도록 제어할 수도 있음은 물론이다.In FIG. 17, the controller corresponds to each vector, that is, the information vector (corresponding to its coding rate). ) Or perforated information vector ( ) And the first parity vector ( ) And the second parity vector ( ) And the third parity vector ( ) And the fourth parity vector ( ) In parallel, and then assembled to codeword vectors ( In the following example, the control is generated to generate?), But the controller corresponds to each vector, that is, the information vector (corresponding to the coding rate). ) Or perforated information vector ( ) And the first parity vector ( ) And the second parity vector ( ) And the third parity vector ( ) And the fourth parity vector ( ), Only the corresponding vectors are generated sequentially and the codeword vector ( Of course, you can control the creation of).
또한, 도 17에서는 상기 부호화기(111)가 내부에 천공기(1711)를 포함하는 경우를 일 예로 하여 설명하였다. 그러나, 상기 신호 송신 장치에서 지원하는 부호화율이 모 부호화율이거나 혹은 자 부호화율일 경우에는 상기 천공기(1711)가 천공 동작을 수행하지 않는다. 따라서, 상기 신호 송신 장치에서 모 부호화율 혹은 자 부호화율만을 사용할 경우에는 상기 부호화기(111)가 상기 천공기(1711)를 포함하지 않을 수도 있음은 물론이다.In addition, in FIG. 17, the case where the
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함은 물론이 다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.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 부호를 사용하는 통신 시스템에서 다양한 부호화율들을 지원하여 신호를 송수신하는 것을 가능하게 한다. 또한, 본 발명은 1개의 패리티 검사 행렬만을 가지고도 다양한 부호화율들을 지원하는 것을 가능하게 하여 부호화기 및 복호기 구현 복잡도를 최소화할 수 있다.As described above, the present invention makes it possible to transmit and receive signals by supporting various coding rates in a communication system using a block LDPC code. In addition, the present invention makes it possible to support various coding rates even with only one parity check matrix, thereby minimizing the complexity of implementing an encoder and a decoder.
Claims (75)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/999,496 US8161363B2 (en) | 2006-12-04 | 2007-12-04 | Apparatus and method to encode/decode block low density parity check codes in a communication system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20060121830 | 2006-12-04 | ||
KR1020060121830 | 2006-12-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080050957A true KR20080050957A (en) | 2008-06-10 |
KR101433375B1 KR101433375B1 (en) | 2014-08-29 |
Family
ID=39806107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070064585A KR101433375B1 (en) | 2006-12-04 | 2007-06-28 | Apparatus and method of encoding/decoding block low density parity check codes in a communication system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101433375B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160150057A (en) * | 2015-06-18 | 2016-12-28 | 삼성전자주식회사 | Method and apparatus of encoding using a low density parity check code in a communication system |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102142142B1 (en) * | 2013-02-13 | 2020-08-06 | 퀄컴 인코포레이티드 | Ldpc design using quasi―cyclic constructions and puncturing for high rate, high parallelism, and low error floor |
CN107370490B (en) * | 2016-05-13 | 2023-07-14 | 中兴通讯股份有限公司 | Method and device for encoding and decoding structured LDPC (Low Density parity check) |
WO2018084735A1 (en) * | 2016-11-03 | 2018-05-11 | Huawei Technologies Co., Ltd. | Efficiently decodable qc-ldpc code |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100809619B1 (en) * | 2003-08-26 | 2008-03-05 | 삼성전자주식회사 | Apparatus and method for coding/decoding block low density parity check code in a mobile communication system |
US7526717B2 (en) | 2004-06-16 | 2009-04-28 | Samsung Electronics Co., Ltd. | Apparatus and method for coding and decoding semi-systematic block low density parity check codes |
-
2007
- 2007-06-28 KR KR1020070064585A patent/KR101433375B1/en active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160150057A (en) * | 2015-06-18 | 2016-12-28 | 삼성전자주식회사 | Method and apparatus of encoding using a low density parity check code in a communication system |
Also Published As
Publication number | Publication date |
---|---|
KR101433375B1 (en) | 2014-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100984289B1 (en) | Signal transmitting/receiving apparatus for supporting variable coding rate in a communication system and method thereof | |
KR101444458B1 (en) | Apparatus and method of encoding/decoding block low density parity check codes in a communication system | |
KR101611169B1 (en) | Apparatus and method for transmitting and receiving data in communication/broadcasting system | |
KR100739510B1 (en) | Apparatus and method for coding/decoding semi-systematic block low density parity check code | |
KR100929079B1 (en) | Decoding Apparatus and Method of Communication System Using Low Density Parity Check Code | |
KR100809616B1 (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 | |
KR101723258B1 (en) | Method and apparatus for transmitting and receiving data in a communication system | |
US8161363B2 (en) | Apparatus and method to encode/decode block low density parity check codes in a communication system | |
KR102634679B1 (en) | Apparatus of parity puncturing for encoding fixed-length signaling information and method using the same | |
KR101119302B1 (en) | Apparatus and method for encoding low density parity check codes in a communication system | |
KR20130038782A (en) | Apparatus and method for transmitting and receiving data in communication/broadcasting system | |
KR102634676B1 (en) | Apparatus of zero padding for encoding fixed-length signaling information and method using the same | |
KR102453472B1 (en) | Apparatus of parity puncturing for encoding variable-length signaling information and method using the same | |
KR102453475B1 (en) | Apparatus of zero padding for encoding variable-length signaling information and method using the same | |
KR20220141766A (en) | Apparatus of parity interleaving for encoding fixed-length signaling information and method using the same | |
KR20220141769A (en) | Apparatus of zero padding for encoding variable-length signaling information and method using the same | |
KR102453471B1 (en) | Apparatus of zero padding for encoding fixed-length signaling information and method using the same | |
KR20080050957A (en) | Apparatus and method of encoding/decoding block low density parity check codes in a communication system | |
KR102453476B1 (en) | Apparatus of parity interleaving for encoding fixed-length signaling information and method using the same | |
KR102634684B1 (en) | Apparatus of parity puncturing for encoding variable-length signaling information and method using the same | |
KR100929080B1 (en) | Signal transceiving device and method in communication system | |
KR20090060106A (en) | Apparatus and method for encoding and decoding channel in communication system using low-density parity-check codes | |
KR20080106738A (en) | Encoding and decoding apparatus and method of low density parity check code | |
KR20130001098A (en) | Apparatus and method for transmitting and receiving data in communication/broadcasting system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20180727 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190730 Year of fee payment: 6 |