KR20070085244A - Test matrix generation method and communication method - Google Patents
Test matrix generation method and communication method Download PDFInfo
- Publication number
- KR20070085244A KR20070085244A KR1020077007540A KR20077007540A KR20070085244A KR 20070085244 A KR20070085244 A KR 20070085244A KR 1020077007540 A KR1020077007540 A KR 1020077007540A KR 20077007540 A KR20077007540 A KR 20077007540A KR 20070085244 A KR20070085244 A KR 20070085244A
- Authority
- KR
- South Korea
- Prior art keywords
- matrix
- random number
- pseudo random
- order
- parity check
- Prior art date
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 540
- 238000012360 testing method Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims description 72
- 238000004891 communication Methods 0.000 title claims description 50
- 238000006467 substitution reaction Methods 0.000 claims abstract description 234
- 238000009826 distribution Methods 0.000 claims abstract description 151
- 238000005457 optimization Methods 0.000 claims abstract description 48
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000010248 power generation Methods 0.000 claims description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 29
- 101100145155 Escherichia phage lambda cIII gene Proteins 0.000 description 21
- 238000012545 processing Methods 0.000 description 17
- 238000003860 storage Methods 0.000 description 14
- 230000001788 irregular Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 101100129500 Caenorhabditis elegans max-2 gene Proteins 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000037429 base substitution Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 102100022103 Histone-lysine N-methyltransferase 2A Human genes 0.000 description 1
- 101001045846 Homo sapiens Histone-lysine N-methyltransferase 2A Proteins 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 108090000237 interleukin-24 Proteins 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/20—Arrangements for detecting or preventing errors in the information received using signal quality detector
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/24—Arrangements for supervision, monitoring or testing with provision for checking the normal operation
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
Abstract
소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용하여 의사 난수 치환 행렬을 위한 파라미터를 산출하고, 산출된 의사 난수 치환 행렬을 위한 파라미터에 의해 의사 난수 계열과 라틴 스퀘어 행렬을 사용하여 의사 난수 치환 행렬을 생성하고, 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용해서, 의사 난수 치환 행렬을 사용하여 구성 가능한 검사 행렬 생성의 차수 분포의 최적화를 위한 취할 수 있는 차수 분포의 조합의 파라미터를 산출하고, 산출된 취할 수 있는 차수 분포의 조합을 구속 조건으로 하여 검사 행렬 생성의 차수 분포를 최적화하며, 최적화된 검사 행렬 생성의 차수 분포에 의해, 생성된 의사 난수 치환 행렬을 배치하여 저밀도 패리티 검사 부호용의 검사 행렬을 생성한다.A parameter for a pseudo random number substitution matrix is calculated using a predetermined information length, a coding rate, and a maximum order of columns, and a pseudo random number substitution matrix using a pseudo random number sequence and a Latin square matrix by the parameters for the calculated pseudo random number substitution matrix. Using a predetermined information length, coding rate, and column maximum order, calculating a parameter of a combination of possible order distributions for optimization of order distributions of configurable check matrix generation using a pseudo random number substitution matrix; Optimize the order distribution of the test matrix generation by using the combination of the calculated order distributions as the constraints, By the order distribution of the optimized check matrix generation, the generated pseudo random number substitution matrix is placed to generate a check matrix for the low density parity check code.
Description
본 발명은, 오류 정정 부호로서 저밀도 패리티 검사(LDPC:Low-Density Parity-Check) 부호를 채용한 경우에서의 검사 행렬 생성 장치 및 이 검사 행렬 생성 장치를 탑재한 통신 장치에 관한 것이며, 특히, 확정적이고 특성이 안정한 LDPC 부호용의 검사 행렬을 탐색 가능한 검사 행렬 생성 장치 및 이 검사 행렬 생성 장치를 탑재한 통신 장치에 관한 것이다. TECHNICAL FIELD The present invention relates to a parity check matrix generator when a low density parity check (LDPC) code is adopted as the error correction code, and a communication device equipped with the parity check matrix generation device. The present invention relates to a test matrix generator capable of searching for a parity check matrix for an LDPC code that is stable and characteristic, and a communication device equipped with the check matrix generator.
이하, 종래의 LDPC 부호용의 검사 행렬 생성 방법에 대하여 설명한다. 종래의 LDPC 부호화/복호 시스템에 있어서, 송신측의 통신 장치는 부호화기와 변조기를 구비하는 구성으로 하고, 한편, 수신측의 장치는 복조기와 복호기를 구비하는 구성으로 한다. 여기서는, 종래의 LDPC 부호용의 검사 행렬 생성 방법을 설명하기 전에, LDPC 부호를 사용한 경우의 부호화 및 복호의 흐름에 대하여 설명한다. The conventional parity check matrix generation method for LDPC codes will be described below. In the conventional LDPC encoding / decoding system, the communication apparatus on the transmitting side is provided with an encoder and a modulator, while the apparatus on the receiving side is configured with a demodulator and a decoder. Here, the flow of coding and decoding when the LDPC code is used will be described before explaining the conventional parity check generation method for the LDPC code.
우선, 송신측의 부호화기에서는, 후술하는 종래 방법으로 검사 행렬 H를 생성한다. 그리고, 이하의 조건에 근거하여 생성 행렬 G를 구한다. First, the encoder on the transmitting side generates the parity check matrix H by a conventional method described later. Then, the generation matrix G is obtained based on the following conditions.
G:K×N 행렬(K는 정보 길이, N은 부호 길이) G: K × N matrix (K is information length, N is sign length)
GHT=O(T는 전치행렬)GH T = O (T is transpose)
그 후, 부호화기에서는, 정보 길이 K의 메시지(m1m2 … mk)를 수취하고, 상기 생성 행렬 G를 이용하여 부호 워드 C를 생성한다. The encoder then receives a message (m 1 m 2 ... M k ) of information length K, and generates code word C using the generation matrix G.
C =(m1 m2 …mK)G C = (m 1 m 2 … m K ) G
=(c1 c2 …cN) (단, H(c1 c2 …cN)T =0)= (c 1 c 2 … c N ), where H (c 1 c 2 … c N ) T = 0)
그 후, 부호화기에서는, 정보 길이 K의 메시지(m1m2 … mK)를 수취하고, 상기 생성 행렬 G를 이용하여 부호 워드 C를 생성한다. The encoder then receives a message (m 1 m 2 ... M K ) of information length K, and generates code word C using the generation matrix G.
그리고, 변조기에서는, 생성한 부호 워드 C에 대하여, BPSK(Binary Phase Shift Keying), QPSK(Quadrature Phase Shift Keying), 다치 QAM(Quadrature Amplitude Modulation) 등의 디지털 변조를 행하여 송신한다. The modulator performs digital modulation such as Binary Phase Shift Keying (BPSK), Quadrature Phase Shift Keying (QPSK), Quadrature Amplitude Modulation (QAM), and transmits the generated code word C.
한편, 수신측에서는, 복조기가, 통신로를 거쳐 수취한 변조 신호에 대하여, BPSK, QPSK, 다치 QAM 등의 디지털 복조를 행하고, 또한, 복호기가, LDPC 부호화된 복조 결과에 대하여, 「합-곱 알고리즘(sum-product algorithm)」에 의한 반복 복호를 실시하고, 추정 결과(원래의 m1 m2 … mk에 대응)를 출력한다. On the other hand, on the receiving side, the demodulator performs digital demodulation such as BPSK, QPSK, multi-valued QAM, etc. on the modulated signal received through the communication path, and the decoder performs a "sum-multiply algorithm" on the demodulation result obtained by LDPC encoding. (sum-product algorithm) "is repeated, and the estimation result (corresponding to the original m 1 m 2 ... m k ) is output.
다음에 종래의 LDPC 부호용의 검사 행렬 생성 방법을 구체적으로 설명한다. Next, a conventional check matrix generation method for LDPC codes will be described in detail.
도 1은 예컨대, 비특허문헌 1에 의해 제안된 종래의 LDPC 부호용의 검사 행렬을 도시하는 도면이다. 도 1에 나타내는 행렬은, 「1」과 「0」의 2값의 행렬 로, 「1」인 부분은 모두 검은 색으로 채워진다. 다른 공란 부분은 모두 「0」이다. 이 행렬은, 1행의 「1」의 수(이것을 행의 차수라고 표현함)가 4이고, 1열의 「1」의 수(이것을 열의 차수라고 표현함)가 3이며, 모든 열과 행의 차수가 균일하기 때문에, 이것을 일반적으로 「Regular-LDPC 부호」라고 부르고 있다. 또한, 비특허문헌 1에 의한 부호에서는, 예컨대, 도 1에 도시하는 바와 같이, 행렬을 3 블럭으로 나눠, 2 블럭째와 3 블럭째에 대하여 랜덤 치환을 행하고 있다. 1 is a diagram showing a parity check matrix for a conventional LDPC code proposed by Non-Patent
그러나, 이 랜덤 치환에는, 소정의 루울이 없기 때문에, 보다 특성이 양호한 부호를 찾아내기 위해서는, 계산기에 의한 시간이 걸리는 탐색을 해야 했다. However, since there is no predetermined loop in this random substitution, in order to find out the code with more favorable characteristic, the time-consuming search by the calculator was required.
그래서, 예컨대, 계산기 탐색에 의하지 않더라도 확정적으로 행렬을 생성할 수 있어, 비교적 안정한 양호한 특성을 나타내는 LDPC 부호로서, 유클리드 기하 부호를 이용하는 방법이 비특허문헌 2에 의해 제안되었다. 이 방법에서는, 규칙적인 앙상블(ensemble)로 구성된 「Regular-LDPC 부호」에 대하여 설명되어 있다. Thus, for example,
비특허문헌 2에 의하면, 유한 기하 부호의 일종인 유클리드 기하 부호 EG(2,26)을 이용하여 LDPC 부호의 검사 행렬을 생성하는 방법이 제안되어 있고, 오류율 10-4점에서, 섀논 한계(Shannon limit)로부터 1.45dB에 접근한 특성을 얻고 있다. According to
도 2는 예컨대, 유클리드 기하 부호 EG(2, 22)의 구성을 도시하는 도면이며, 행, 열의 각각의 차수가 4, 4인 「Regular-LDPC 부호」 구조를 하고 있다. Fig. 2 is a diagram showing the configuration of Euclidean geometry code EG (2, 2 2 ), for example, and has a structure of " Regular-LDPC code "
따라서, 유클리드 기하 부호 EG(m, 2s)의 경우, 그 특성은 아래와 같이 규정된다. 여기서, EG(m, 2s)은 GF(2s) 위의 m 차원 유클리드 기하 부호다. Therefore, in the case of the Euclidean geometry code EG (m, 2 s ), its characteristics are defined as follows. Where EG (m, 2 s ) is the m-dimensional Euclidean geometry code above GF (2 s ).
부호 길이 : N=22s-1Code Length: N = 2 2s -1
용장 비트 길이 : N-K=3s-1 Redundant bit length: NK = 3 s -1
정보 길이 : K=22s-3s Length of information: K = 2 2s -3 s
최소 거리 : dmin =2s+1Minimum distance:
밀도: r=2s/(22s-1)Density: r = 2 s / (2 2s -1)
도 2를 보더라도 알 수 있듯이, 유클리드 기하 부호는, 각 행의 「1」의 배치가 행마다 순회 시프트한 구조로 되어 있고, 부호가 용이하고 또한 확정적으로 구성할 수 있는 특징이 있다.As can be seen from Fig. 2, the Euclidean geometry code has a structure in which the arrangement of " 1 " of each row is cyclically shifted for each row, and the code can be easily and deterministically constructed.
비특허문헌 2에 의한 검사 행렬 생성 방법에서는, 또한, 상기 유클리드 기하 부호에 근거하여 행과 열의 차수를 변경하여, 행, 열을 필요에 따라 확장하고 있다. 예컨대, EG(2, 22)의 열의 차수를 1/2로 분리하는 경우, 비특허문헌 2에서는, 1열 내에 4개인 차수를 하나 걸러 2개씩 분리한다. In the parity check matrix generating method according to
도 3은 유클리드 기하 부호의 열의 차수를 4로부터 2로 규칙적으로 분리한 예를 나타내는 도면이다. 3 is a diagram showing an example in which the order of the columns of the Euclidean geometry code is regularly separated from 4 to 2;
한편, 상기 「Regular-LDPC 부호」의 특성보다도 「Irregular-LDPC 부호」의 특성쪽이 양호한 것이, 비특허문헌 3에 의해 보고되었다. 그리고, 그것은 비특허문헌 4 및 비특허문헌 5에 의해 이론적으로 해석되었다. 또, 상기 「Irregular-LDPC 부호」는, 열과 행의 차수가 각각 또는 어느 한쪽이 균일하지 않은 LDPC 부호를 나타낸다. On the other hand,
특히, 비특허문헌 5에서는, 반복 복호기에서의 입력과 출력의 대수 우도비(LLR)가 가우스 분포에 근사할 수 있다고 가정해서 LDPC 부호의 「합-곱 알고리즘」을 해석하여, 양호한 행과 열의 차수의 앙상블을 구하고 있다. In particular, in Non-Patent
[비특허문헌 1] R.G. Gallager. "Low-Density Parity Check Codes." IRE Trans. On IT pp21-28 January 1962. [Non-Patent Document 1] R.G. Gallager. "Low-Density Parity Check Codes." IRE Trans. On IT pp 21-28 January 1962.
[비특허문헌 2] Y. Kou, S. Lin, and M. P. C. Fossorier, "Low Density Parity Check Codes Based on Finite Geometries:A Rediscovery and New Results," IEEE Trans. Inform. Theory, vol.47, No.2, pp.2711-2736, Feb. 2001. [Non-Patent Document 2] Y. Kou, S. Lin, and M. P. C. Fossorier, "Low Density Parity Check Codes Based on Finite Geometries: A Rediscovery and New Results," IEEE Trans. Inform. Theory, vol. 47, No. 2, pp. 2711-2736, Feb. 2001.
[비특허문헌 3] M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi, and D.A. Spielman, "Improved Low-Density Parity-Check Codes Using Irregular Graphs and Belief Propagation," Proceedings of 1998 IEEE International Symposium on Information Theory, pp.171, Cambridge, Mass., August 16-21, 1998. [Non-Patent Document 3] M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi, and D.A. Spielman, "Improved Low-Density Parity-Check Codes Using Irregular Graphs and Belief Propagation," Proceedings of 1998 IEEE International Symposium on Information Theory, pp. 171, Cambridge, Mass., August 16-21, 1998.
[비특허문헌 4] T. J. Richardson and R. Urbanke, "The capacity of low-density parity-check codes under message-passing decoding," IEEE Trans. Inform. Theory, vol.47, No.2, pp.599-618, Feb. 2001. [Non-Patent Document 4] T. J. Richardson and R. Urbanke, "The capacity of low-density parity-check codes under message-passing decoding," IEEE Trans. Inform. Theory, vol. 47, No. 2, pp. 599-618, Feb. 2001.
[비특허문헌 5] S. -Y. Chung, T. J. Richardson, and R. Urbanke, "Analysis of Sum-Product Decoding of Low-Density Parity-Check Codes Using a Gaussian Approximation," IEEE Trans. Inform. Theory, vol.47, No.2, pp.657-670, Feb. 2001. [Non-Patent Document 5] S. -Y. Chung, T. J. Richardson, and R. Urbanke, "Analysis of Sum-Product Decoding of Low-Density Parity-Check Codes Using a Gaussian Approximation," IEEE Trans. Inform. Theory, vol. 47, No. 2, pp. 657-670, Feb. 2001.
종래의 LDPC 부호용의 검사 행렬 생성 방법은 이상과 같이 행하여지고 있기 때문에, 검사 행렬의 사이클의 최소값(내경이라고 부름)이 많은 경우 6 정도이며(도 2, 도 3의 경우는 6), 검사 행렬의 사이클이 큰 쪽이 부호 워드의 해밍 거리(hamming distance)가 넓어져, 합-곱 복호법에서의 특성이 좋다고 되어 있는 일반적인 해석 결과로부터 보면, 오류 정정 능력의 성능면에서는 불충분하다고 하는 문제가 있었다. Since the conventional method of generating a check matrix for an LDPC code is performed as described above, it is about 6 when the minimum value (called an inner diameter) of the cycle of the check matrix is large (6 in FIGS. 2 and 3). The larger the cycle of, the larger the hamming distance of the codeword, and the general analysis results show that the characteristics of the sum-product decoding method are good, resulting in insufficient performance of error correction capability. .
본 발명은 상기한 바와 같은 과제를 해결하기 위해 이루어진 것으로, 확정적이고 특성이 안정하며, 오류 정정 능력이 양호하고, 또한 다양한 앙상블, 부호 길이, 부호화율에 대응한 Irregular-LDPC 부호용의 검사 행렬을 단시간에 용이하게 생성할 수 있는 LDPC 부호용의 검사 행렬 생성 장치 및 이 검사 행렬 생성 장치를 탑재한 통신 장치를 얻는 것을 목적으로 한다. SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems. The present invention provides a check matrix for Irregular-LDPC codes that is deterministic, stable in characteristics, good in error correction, and corresponding to various ensembles, code lengths, and coding rates. An object of the present invention is to obtain a parity check matrix generator for LDPC codes that can be easily generated in a short time, and a communication device equipped with the parity check matrix generator.
여기서, 「확정적」이란 송수신 모두 공통의 알고리즘을 갖고, 한정된 제원으로 동일한 결과를 이끌어 내는 것으로, 본 발명의 경우, 부호화율이나 부호 길이 등의 한정된 제원으로, LDPC 부호용의 검사 행렬을 생성하는 것이 가능하다는 의미이다. Here, "deterministic" means that both the transmission and reception have a common algorithm and lead to the same result with a limited specification. In the present invention, generating a check matrix for an LDPC code with limited specifications such as a coding rate and a code length, etc. It means possible.
본 발명에 따른 검사 행렬 생성 장치는, 소정의 정보 길이, 부호화율 및 열의 최대 차수를 입력하는 정보 길이·부호화율·열 최대 차수 입력부와, 입력된 상기 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용하여 후술하는 의사 난수 치환 행렬을 위한 파라미터를 산출하는 의사 난수 치환 행렬용 파라미터 산출부와, 산출된 상기 의사 난수 치환 행렬을 위한 파라미터에 의해 의사 난수 계열과 라틴 스퀘어 행렬을 사용하여 상기 의사 난수 치환 행렬을 생성하는 의사 난수 치환 행렬 생성부와, 입력된 상기 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용해서, 상기 의사 난수 치환 행렬을 사용하여 구성 가능한 검사 행렬 생성의 차수 분포의 최적화를 위한 취할 수 있는 차수 분포의 조합의 파라미터를 산출하는 차수 분포 최적화용 파라미터 산출부와, 산출된 상기 취할 수 있는 차수 분포의 조합을 구속 조건으로 하여, 밀도 발전법에 의해 검사 행렬 생성의 차수 분포를 최적화하는 차수 분포 최적화부와, 최적화된 상기 검사 행렬 생성의 차수 분포에 의해, 생성된 상기 의사 난수 치환 행렬을 배치하여 저밀도 패리티 검사 부호용의 검사 행렬을 생성하는 검사 행렬 생성부를 구비하는 것이다. An apparatus for generating a parity check matrix according to the present invention includes an information length, encoding rate, and column maximum order input unit for inputting a predetermined information length, a coding rate, and a maximum degree of a column, and an input maximum length of the predetermined information length, coding rate, and column. A pseudo random number substitution matrix parameter calculating unit for calculating a parameter for a pseudo random number substitution matrix described below using a pseudo random number sequence and a Latin square matrix using a pseudo random number sequence and a Latin square matrix by the calculated parameters for the pseudo random number substitution matrix. Optimization of order distribution of test matrix generation configurable using the pseudo random number substitution matrix by using a pseudo random number substitution matrix generation unit for generating a substitution matrix and the inputted predetermined information length, coding rate, and maximum order of columns A parameter for order distribution optimization that calculates a parameter of a combination of possible order distributions for The order distribution optimizer for optimizing the order distribution of the test matrix generation by the density power generation method, with a combination of the calculation unit and the calculated order distribution of the available order distribution, and the optimized order distribution of the test matrix generation And a parity check matrix generator for arranging the generated pseudo random number substitution matrix to generate a parity check matrix for the low density parity check code.
본 발명에 의해, 확정적이고 특성이 안정하며, 오류 정정 능력이 양호하고, 또한 다양한 앙상블, 부호 길이, 부호화율에 대응한 Irregular-LDPC 부호용의 검사 행렬을 단시간에 용이하게 생성할 수 있다고 하는 효과를 얻을 수 있다. Effect of the Invention According to the present invention, it is possible to easily generate a check matrix for Irregular-LDPC codes corresponding to various ensembles, code lengths, and code rates in a short time, which is deterministic, stable in characteristics, and has good error correction capability. Can be obtained.
도 1은 종래의 LDPC 부호용의 검사 행렬을 도시하는 도면,1 is a diagram showing a parity check matrix for a conventional LDPC code;
도 2는 유클리드 기하 부호 EG(2, 22)의 구성을 도시하는 도면,2 is a diagram showing the configuration of Euclidean geometric symbols EG (2, 2 2 ),
도 3은 유클리드 기하 부호의 열의 차수를 4로부터 2로 규칙적으로 분리한 예를 나타내는 도면,3 is a diagram showing an example in which the order of the columns of the Euclidean geometry code is regularly separated from 4 to 2,
도 4는 LDPC 부호화/복호 시스템의 구성을 나타내는 블럭도,4 is a block diagram showing the configuration of an LDPC encoding / decoding system;
도 5는 본 발명의 실시예 1에 따른 검사 행렬 생성 장치의 구성을 나타내는 블럭도,5 is a block diagram showing the structure of a parity check matrix generating apparatus according to
도 6은 본 발명의 실시예 1에 따른 검사 행렬 생성 장치의 처리의 흐름을 나타내는 흐름도,6 is a flowchart showing the flow of processing by the parity check matrix generating apparatus according to
도 7은 본 발명의 실시예 2에 따른 검사 행렬 생성 장치의 구성을 나타내는 블럭도,7 is a block diagram showing the structure of a parity check matrix generating apparatus according to
도 8은 본 발명의 실시예 2에 따른 검사 행렬 생성 장치의 처리의 흐름을 나타내는 흐름도,8 is a flowchart showing the flow of processing in the parity check matrix generating apparatus according to
도 9는 정보 1비트당 신호 전력 대 노이즈 전력비에 대한 비트 오류율 특성과 프레임 오류율 특성을 도시하는 도면,9 shows bit error rate characteristics and frame error rate characteristics for a signal power to noise power ratio per information bit;
도 10은 본 발명의 실시예 3에 따른 검사 행렬 생성 장치의 구성을 나타내는 블럭도,10 is a block diagram showing the structure of a parity check matrix generating apparatus according to
도 11은 본 발명의 실시예 3에 따른 검사 행렬 생성 장치의 처리의 흐름을 나타내는 흐름도,11 is a flowchart showing the flow of processing by the parity check matrix generating apparatus according to
도 12는 본 발명의 실시예 4에 따른 검사 행렬 생성 장치의 구성을 나타내는 블럭도,12 is a block diagram showing the structure of a parity check matrix generating apparatus according to
도 13은 본 발명의 실시예 4에 따른 검사 행렬 생성 장치의 처리의 흐름을 나타내는 흐름도,13 is a flowchart showing the flow of processing by the parity check matrix generating apparatus according to
도 14는 멀티 에지 타입의 앙상블의 예를 나타내는 도면,14 is a diagram illustrating an example of an ensemble of a multi-edge type;
도 15는 irregular LDPC 부호의 예를 나타내는 도면,15 is a diagram illustrating an example of an irregular LDPC code;
도 16은 도 15의 차수 분포에 따라 구성한 검사 행렬의 예를 나타내는 도면,16 is a diagram illustrating an example of a parity check matrix constructed according to the order distribution of FIG. 15;
도 17은 평가에 이용한 irregular LDPC 부호의 차수 분포의 예를 나타내는 도면,17 is a diagram showing an example of order distribution of an irregular LDPC code used for evaluation;
도 18은 irregular LDPC 부호의 프레임 오류율 특성을 도시하는 도면,18 is a diagram illustrating frame error rate characteristics of an irregular LDPC code;
도 19는 본 발명의 실시예 5에 따른 검사 행렬 생성 장치의 구성을 나타내는 블럭도,19 is a block diagram showing the structure of a parity check matrix generating apparatus according to a fifth embodiment of the present invention;
도 20은 본 발명의 실시예 6에 따른 통신 장치의 구성을 나타내는 블럭도이다. 20 is a block diagram showing the construction of a communication device according to a sixth embodiment of the present invention.
이하, 본 발명을 보다 상세히 설명하기 위해, 본 발명을 실시하기 위한 최선의 형태에 대하여, 첨부의 도면에 따라 설명한다. 또, 이 실시예에 의해 본 발명이 한정되는 것이 아니다. EMBODIMENT OF THE INVENTION Hereinafter, in order to demonstrate this invention in detail, the best form for implementing this invention is demonstrated according to attached drawing. In addition, this invention is not limited by this Example.
(실시예 1)(Example 1)
우선, 이 실시예 1의 LDPC 부호용의 검사 행렬 생성 방법을 설명하기 전에, 생성된 LDPC 부호용의 검사 행렬을 사용하는 부호화기 및 복호기의 위치 부여, 및 「Irregular-LDPC 부호」용의 종래의 검사 행렬 생성 방법에 대하여 설명한다. First, before describing the method of generating the parity check matrix for the LDPC code of the first embodiment, the positioning of the encoder and the decoder using the generated parity check matrix for the LDPC code, and the conventional check for the "Irregular-LDPC code" The matrix generation method will be described.
도 4는 LDPC 부호화/복호 시스템의 구성을 나타내는 블럭도이다. 도 4에 있어서, 송신측의 통신 장치는 부호화기(101)와 변조기(102)를 포함하는 구성으로 하고, 수신측의 통신 장치는 복조기(104)와 복호기(105)를 포함하는 구성으로 한다. 여기서, 생성된 LDPC 부호용의 검사 행렬을 사용하는 경우의 부호화 및 복호의 흐름에 대하여 설명한다. 4 is a block diagram showing the configuration of an LDPC encoding / decoding system. In FIG. 4, the communication apparatus on the transmission side includes an
송신측의 통신 장치에서는, 후술하는 바와 같이, LDPC 부호용의 검사 행렬 생성 장치에 의해 생성된 검사 행렬 H를 사용한다. 그리고, 부호화기(101)에서는, 이하의 조건에 근거하여 생성 행렬 G를 구한다. In the communication apparatus on the transmission side, as described later, the parity check matrix H generated by the parity check matrix generation device for the LDPC code is used. The
G : K×N 행렬(K는 정보 길이, N은 부호 길이) G: K × N matrix (K is information length, N is code length)
GHT =0(T는 전치행렬)GH T = 0 (T is transpose)
그 후, 부호화기(101)에서는, 정보 길이 K의 메시지(u1 u2 …uK)를 수취하고, 상기 생성 행렬 G를 이용하여 부호 워드 C를 생성한다. After that, in the
C =(u1 u2 …uK)G C = (u 1 u 2 … u K ) G
=(c1 c2 …cN) (단, H(c1 c2 …cN)T =0)= (c 1 c 2 … c N ), where H (c 1 c 2 … c N ) T = 0)
그리고, 변조기(102)에서는, 생성한 부호 워드 C에 대하여, BPSK, QPSK, 다치 QAM 등의 디지털 변조를 행하여 송신한다. The
그러나, 이 부호화기(101)의 경우, 생성 행렬 G를 검사 행렬 H로부터 가우스 소거법 등으로 생성해야 하고, 또한 검사 행렬 H가 저밀도인 데 비하여, 생성 행렬 G가 비교적 고밀도이고 2원의 생성 행렬 중의 "1"의 비율이 크기 때문에, 생성 행렬 G를 저장하는 메모리량도 많이 필요하다는 문제가 있다. However, in the case of the
이 과제를 해결하기 위해서, 검사 행렬 H 중에 하삼각(下三角) 구조(또는 상삼각(上三角) 구조)의 행렬을 포함하는 구성으로 하는 수법이 하기문헌 등에서 제안되어 있다. In order to solve this problem, the method which sets it as the structure containing the matrix of a lower triangular structure (or an upper triangular structure) in the test matrix H is proposed by the following literature.
M.Rashidpour and S.H.Jamali, "Low-Density Parity-Check Codes with Simple Irregular Semi-Random Parity Check Matrix for Finite-Length Applications," pp439-443, in proc. IEEE PIMRC 2003. M.Rashidpour and S.H.Jamali, "Low-Density Parity-Check Codes with Simple Irregular Semi-Random Parity Check Matrix for Finite-Length Applications," pp 439-443, in proc. IEEE PIMRC 2003.
지금 T를 아래와 같은 M×M, M∈Z〉0의 하삼각 구조의 행렬로 한다. 여기서 Z〉0은 정의 정수 전체의 집합을 의미한다. Now let T be the matrix of lower triangles of M × M, MMZ > 0 as shown below. Where Z > 0 is the set of whole positive integers.
i행 j열의 요소 hi,j로 구성되는 2원 M×N, N∈Z〉0, 행렬 H=[hi,j]를 아래와 같이 나타낸다. The binary M × N, N∈Z > 0 , and matrix H = [h i, j ] composed of elements h i, j in row i, column j are shown below.
여기서 H는 M×N의 행렬로 한다. 또한 AM×A는 임의의 2원 M×K, K=N-M 행렬이다.Here, H is assumed to be a matrix of M × N. A M × A is an arbitrary binary M × K, K = NM matrix.
조직 부호 워드 벡터 C를 C=(u1, u2, …, uK, p1, p2, …, pM)으로 하면, 이 부호 워드 벡터 C는 H·CT=0를 만족시키고, 정보 메시지 u=(u1, u2, …, uK)가 인가된 경우, 부호화기(101)가 이하의 식에 의해 패리티 요소를 생성한다. If the organization code word vector C is C = (u 1 , u 2 , ..., u K , p 1 , p 2 , ..., p M ), this code word vector C satisfies H.C T = 0, When the information message u = (u 1 , u 2 ,..., U K ) is applied, the
이 수순에 의해, 생성 행렬 G를 이용하지 않더라도 부호화를 용이하게 실현할 수 있기 때문에, 본 발명에서는, 하삼각 구조의 행렬을 포함한 검사 행렬 H를 구성하는 것을 조건으로 한다. According to this procedure, since encoding can be easily realized without using the generation matrix G, the present invention is subject to the construction of the parity check matrix H including the matrix of the lower triangular structure.
한편, 수신측의 통신 장치에서는, 사전에 송신측의 통신 장치로부터 필요한 제원에 관한 정보를 수취하여 검사 행렬을 생성하며, 복조기(104)가, 통신로(103)를 거쳐 수취한 변조 신호에 대하여, BPSK, QPSK, 다치 QAM 등의 디지털 복조를 행하고, 또한, 복호기(105)가, LDPC 부호화된 복조 결과에 대하여, 생성된 검사 행렬을 이용하여 「합-곱 알고리즘」에 의한 반복 복호를 실시하고, 추정 결과(원래의 u1 u2 … uK에 대응)를 출력한다. On the other hand, the communication apparatus on the receiving side receives information on the required specifications from the communication apparatus on the transmitting side in advance and generates a test matrix, and the
다음에 상기 비특허문헌 5에 의해 이론적으로 해석된, 「Irregular-LDPC 부호」용의 종래의 검사 행렬 생성 방법에 대하여 상세히 설명한다. 여기서는, 합-곱(sum-product) 복호법의 복호 프로세스에 따라서, 복호기(105)에서의 입력과 출력의 대수 우도비(LLR)의 확률 밀도 함수를 반복 계산해 가는 것에 의해, 합-곱 복호법의 복호 특성을 해석하는 밀도 발전법이라는 수법 및 그 근사계산법인 가우스 근사법을 이용하여, 양호한 행과 열의 차수의 앙상블을 구하고 있다. Next, the conventional parity check matrix generation method for "Irregular-LDPC code" theoretically interpreted by the said
또, 상기 비특허문헌 5에 기술된 LDPC 부호용의 검사 행렬 생성 방법인 밀도 발전법 및 복호기(105)에서의 입력과 출력의 대수 우도비(LLR)가 가우스 분포에 근사할 수 있다고 해서 계산을 간이화한 가우스 근사법(Gaussian Approximation)에서는, 전제로서, 검사 행렬을 태너 그래프(Tanner graph)의 표현을 이용하여, 각 열을 배리어블 노드라고 정의하고, 각 행을 체크 노드라고 정의한다. 또한, 임의의 열과 임의의 행의 교점에 「1」이 있는 경우에, 배리어블 노드와 체크 노드는 「에지(edge)」에 의해 접속되어 있다고 한다. In addition, the calculation is simplified because the logarithmic likelihood ratio (LLR) of the input and output of the density generation method and the
우선, 체크 노드로부터 배리어블 노드로의 LLR 메시지 전파를 해석한다. 0<s<∞와 0≤t<∞라는 조건에 있어서, 이하의 함수의 (1)식을 정의한다. 단, s=mu0는 u0의 평균값이며, u0는 분산값 σn 2의 가우스 노이즈를 포함하는 전송로를 경유하여 수신한 신호의 대수 우도비(LLR)의 앙상블 평균이며, t는 소정의 반복의 시점에서의 체크 노드의 LLR 출력값의 앙상블 평균이다. First, the LLR message propagation from the check node to the variable node is analyzed. On the condition that 0 <s <∞ and 0≤t <∞, the following function (1) is defined. However, s = m u0 is an average value of u0, u0 is an ensemble average of the logarithmic likelihood ratios (LLRs) of signals received via a transmission path including Gaussian noise having a variance value σ n 2 , and t is a predetermined repetition. The ensemble average of the LLR outputs of the check nodes at the time of.
또, λi와 pi는, 각각 차수 i의 배리어블 노드와 체크 노드에 속하는 에지의 비율을 나타낸다. 또한, d1는 최대 배리어블 노드의 차수이며, dr는 최대 체크 노드의 차수이다. 또한, 상기 λ(x) 및 ρ(x)은, 각각 배리어블 노드 및 체크 노드의 차수 배분(배리어블 노드와 체크 노드의 각 1행, 각 1열 내의 「1」의 수를 차수라고 표현함)의 생성 함수를 나타내고, 하기의 (2)식 및 (3)식과 같이 나타낼 수 있다.Λ i and p i represent the ratios of the edges belonging to the variable node of the order i and the check node, respectively. In addition, d 1 is the order of the maximum variable node, d r is the order of the maximum check node. In addition, [lambda] (x) and [rho] (x) are order distributions of the variable node and the check node, respectively (the number of " 1 " in each one row and each column of the barrier and check nodes is expressed as an order). The generation function of is shown, and can be represented as following formula (2) and (3).
또한, 상기 (1)식의 φ(x)은 하기의 (4)식과 같이 정의한다. In addition, ((x)) of said Formula (1) is defined like following formula (4).
여기서, R는 실수 전체의 집합을 나타내고, u는 배리어블 노드의 LLR 출력의 앙상블 평균을 나타낸다. Here, R represents the whole real number set, u represents the ensemble average of the LLR output of the variable node.
그리고, 상기 (1)식은, 등가적으로 하기의 (5)식과 나타낼 수 있다. In addition, said (1) Formula can be represented equivalently to following (5) Formula.
또, t1는 1번째의 반복 시점에서의 체크 노드의 LLR 출력값의 앙상블 평균이다. In addition, t 1 is an ensemble average of the LLR output values of the check nodes at the first iteration time point.
여기서, 오류가 0으로 될 수 있는 SNR의 한계(threshold)를 구하기 위한 조건은, 1→∞일 때에 t1(s)→∞(R+로 표현함)로 되는 것이며, 이 조건을 만족시키기 위해서는, 이하의 조건인 (6)식을 만족시킬 필요가 있다. Here, the condition for obtaining the threshold of the SNR that can be zero error is that t 1 (s) → ∞ (expressed as R + ) when 1 → ∞, in order to satisfy this condition, It is necessary to satisfy the following condition (6).
t < f(s,t), 모든 t∈R+ … (6)t <f (s, t), all t∈R+ … (6)
다음에 배리어블 노드로부터 체크 노드로의 LLR 메시지 전파를 해석한다. 0<s<∞와 0<r≤1라는 조건에 있어서, 이하의 함수의 (7)식을 정의한다. 또, r의 초기값 r0은 φ(s)이다. Next, the LLR message propagation from the variable node to the check node is analyzed. On the condition that 0 <s <∞ and 0 <r≤1, equation (7) of the following function is defined. In addition, the initial value r 0 of r is (phi) (s).
그리고, 상기 (7)식은, 등가적으로 하기의 (8)식으로 나타낼 수 있다. In addition, said Formula (7) can be equivalently represented by following formula (8).
여기서, 오류가 0으로 될 수 있는 SNR의 한계(threshold)를 구하기 위한 조건은, r1(s)→0으로 되는 것이며, 이 조건을 만족시키기 위해서는, 아래의 조건인 (9)식을 만족시킬 필요가 있다. Here, the condition for obtaining the threshold of the SNR that can cause the error to be 0 is r 1 (s) → 0. To satisfy this condition, the following condition (9) is satisfied. There is a need.
r>h(s,r), 모든 r∈(0,φ(s)) … (9)r> h (s, r), all r∈ (0, φ (s))... (9)
또한, 상기 비특허문헌 5에서는, 상기 식을 이용하여 이하의 수순으로 배리어블 노드와 체크 노드의 최적의 차수를 탐색하고 있다(밀도 발전법의 가우스 근사법). Moreover, in the said
[단계 ST101] [ST101]
배리어블 노드의 차수 배분의 생성 함수 λ(x)와 가우스 노이즈 σn가 인가되고 있다고 가정하고, 체크 노드의 차수 배분의 생성 함수 ρ(x)를 변수로 하여, 부호화율이 최대로 되는 점을 탐색한다. 또, 이 탐색에서의 구속 조건은, ρ(1)=1로 정규화하는 것과, 상기 (6)식을 만족시키는 것이다. Assuming that the generation function λ (x) of the order allocation of the variable node and the Gaussian noise σ n are applied, and that the coding rate is maximized using the generation function ρ (x) of the order allocation of the check node as a variable, Search. The constraint condition in this search is to normalize ρ (1) = 1 and satisfy the above expression (6).
[단계 ST102][ST102]
체크 노드의 차수 배분의 생성 함수 ρ(x)와 가우스 노이즈 σn가 인가되고 있다고 가정하고(예컨대, ST101의 결과로부터 얻어지는 값), 배리어블 노드의 차수 배분의 생성 함수 λ(x)를 변수로 하여, 부호화율이 최대로 되는 점을 탐색한다. 또, 이 탐색에서의 구속 조건은, λ(1)=1로 정규화하는 것과, 상기 (9)식을 만족시키는 것이다. Assuming that the generation function ρ (x) of the order distribution of the check node and the Gaussian noise σ n are applied (for example, a value obtained from the result of ST101), the generation function λ (x) of the order distribution of the variable node is converted into a variable. The point where the coding rate is maximized is searched. The constraint condition in this search is to normalize λ (1) = 1 and satisfy the above expression (9).
[단계 ST103][ST103]
최대의 부호화율을 구하기 위해, 상기 단계 ST101과 상기 단계 ST102를 반복하여 실행하고, 배리어블 노드의 차수 배분의 생성 함수 λ(x)와 체크 노드의 차수 배분의 생성 함수 ρ(x)의 보다 양호한 앙상블을 선형 계획법(linear programming)으로 탐색한다. In order to obtain the maximum coding rate, the above steps ST101 and ST102 are executed repeatedly, and better than the generation function? (X) of the order distribution of the variable node and the generation function? (X) of the order distribution of the check node. Search for ensembles with linear programming.
[단계 ST104] [ST104]
가우스 노이즈 σn로부터 신호 전력을 1로 정규화하여, 오류가 0으로 될 수 있는 SNR의 한계(threshold)를 하기의 (10)식으로부터 구한다. The signal power is normalized to 1 from the Gaussian noise sigma n, and the threshold of the SNR at which the error can be zero is obtained from the following expression (10).
그러나, 상기 비특허문헌 5에서는, 부호화율의 최대값에 의해 얻어지는 검사 행렬이 유동적으로 되어, 설계시의 사양으로서 고정되는 부호화율이 변동한다는 문제가 있다. 또한, 상기 비특허문헌 5에서는, 배리어블 노드의 차수 배분의 생성 함수 λ(x)의 도출과, 체크 노드의 차수 배분의 생성 함수 ρ(x)의 도출을 소정 회수에 걸쳐 반복하여 행하고 있기 때문에, 탐색 처리에 어느 정도의 시간이 필요하다고 하는 과제나, 다양한 앙상블, 부호 길이, 부호화율에 용이하게 대응할 수가 없다고 하는 과제도 있다. However, in the said
그래서, 이 실시예 1에 있어서는, 확정적이고 특성이 안정하며, 또한 다양한 앙상블, 부호 길이, 부호화율에 대응한 「Irregular-LDPC 부호」용의 검사 행렬을, 단시간에 용이하게 탐색하는 방법에 대하여 설명한다. In the first embodiment, therefore, a method for easily searching for the parity check matrix for the "Irregular-LDPC code" corresponding to the deterministic, stable, and various ensembles, code lengths, and code rates in a short time will be described. do.
도 5는 본 발명의 실시예 1에 따른 LDPC 부호용의 검사 행렬 생성 장치의 구성을 나타내는 블럭도이다. 이 검사 행렬 생성 장치는, 정보 길이·부호화율·열 최대 차수 입력부(11), 의사 난수 치환 행렬용 파라미터 산출부(12), 의사 난수 치환 행렬 생성부(13), 차수 분포 최적화용 파라미터 산출부(14), 차수 분포 최적화부(15) 및 검사 행렬 생성부(16)를 구비하고 있다. 이 검사 행렬 생성 장치는, 도 4에서의 송신측 및 수신측의 통신 장치 내에 탑재되며, 생성한 검사 행렬을 부호화기(101) 및 복호기(105)에 출력하더라도 좋고, 송신측 및 수신측의 통신 장치 밖에 설치되고, 생성한 검사 행렬을 송신측 및 수신측의 통신 장치 내의 메모리(도시하지 않음)에 저장하여 부호화기(101) 및 복호기(105)에 출력하더라도 좋다. Fig. 5 is a block diagram showing the structure of a parity check matrix generation device for LDPC codes according to the first embodiment of the present invention. The test matrix generator includes an information length, coding rate, and column maximum
도 6은 본 발명의 실시예 1에 따른 검사 행렬 생성 장치의 처리의 흐름을 나타내는 흐름도이다. 단계 ST11에 있어서, 정보 길이·부호화율·열 최대 차수 입력부(11)는 소정의 정보 길이, 부호화율 및 열의 최대 차수를 입력한다. 단계 ST12에 있어서, 의사 난수 치환 행렬용 파라미터 산출부(12)는 상기 단계 ST11에서 입력된 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용하여 의사 난수 치환 행렬을 위한 파라미터를 산출한다. 6 is a flowchart showing the flow of processing by the parity check matrix generating apparatus according to the first embodiment of the present invention. In step ST11, the information length, coding rate, and column maximum
단계 ST13에 있어서, 의사 난수 치환 행렬 생성부(13)는, 상기 단계 ST12에서 산출된 의사 난수 치환 행렬을 위한 파라미터에 의해 의사 난수 계열과 라틴 스퀘어 행렬을 사용하여 의사 난수 치환 행렬을 생성한다. 단계 ST14에 있어서, 차 수 분포 최적화용 파라미터 산출부(14)는 상기 단계 ST11에서 입력된 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용하여, 의사 난수 치환 행렬을 사용하여 구성 가능한 검사 행렬 생성의 차수 분포의 최적화를 위한 취할 수 있는 차수 분포의 조합의 파라미터를 산출한다. In step ST13, the pseudo random number substitution
단계 ST15에 있어서, 차수 분포 최적화부(15)는, 상기 단계 ST14에서 산출된 취할 수 있는 차수 분포의 조합을 구속 조건으로 하여, 밀도 발전법에 의해 검사 행렬 생성의 차수 분포를 최적화한다. 단계 ST16에 있어서, 검사 행렬 생성부(16)는 상기 단계 ST15에서 최적화된 검사 행렬 생성의 차수 분포에 의해, 상기 단계 ST13에서 생성된 의사 난수 치환 행렬을 배치하여 LDPC 부호용의 검사 행렬을 생성한다. In step ST15, the order
다음에 도 6의 흐름도에서의 단계 ST11~ST16의 상세 처리에 대하여 설명한다. Next, the detailed processing of steps ST11 to ST16 in the flowchart of FIG. 6 will be described.
단계 ST11에 있어서, 정보 길이·부호화율·열 최대 차수 입력부(11)는 소정의 정보 길이, 부호화율, 열의 최대 차수로서, 시스템에서 사전에 설정되어 있는 정보 길이 K=144, 부호화율 rate=0.5, 열의 최대 차수 d=4를 입력한다. In step ST11, the information length, encoding rate, and column maximum
단계 ST12에 있어서, 의사 난수 치환 행렬용 파라미터 산출부(12)는 상기 단계 ST11에서 입력된 정보 길이 K=576, 부호화율 rate=0.5, 열의 최대 차수 d=4를 이용하여, p2×p2(p+1은 소수)의 의사 난수 치환 행렬 SP를 위한 파라미터 p를 아래와 같이 산출한다. In step ST12, the
의사 난수 치환 행렬 SP의 행 방향의 개수=d=4Number of row directions of pseudo random number substitution matrix SP = d = 4
검사 행렬 H의 열수 N(=부호 길이 N)=K/rateNumber of columns N (= code length N) of the test matrix H = K / rate
=144/0.5=288= 144 / 0.5 = 288
검사 행렬 H의 행수 M=N×(1-rate)The number of rows in the check matrix H M = N × (1-rate)
=288×0.5=144= 288 × 0.5 = 144
의사 난수 치환 행렬 SP의 사이즈 p2=M/d=144/4=36Size of the pseudorandom substitution matrix SP p 2 = M / d = 144/4 = 36
따라서 p=6Thus p = 6
단계 ST13에 있어서, 의사 난수 치환 행렬 생성부(13)는, 상기 단계 ST12에서 산출된 의사 난수 치환 행렬 SP를 위한 파라미터 p에 의해, 이하에 나타내는 단계 ST13-1~ST13-6의 수순에 도시하는 바와 같이, 의사 난수 계열과 라틴 스퀘어 행렬을 사용하여 p2×p2(p+1은 소수)의 의사 난수 치환 행렬 SP를 생성한다. In step ST13, the pseudo random number substitution
LDPC 부호를 이용한 부호화/복호에 있어서는, 일반적으로, 태너 그래프에서의 2부 그래프 상에서 「사이클 4」 및 「사이클 6」과 같은 검사 행렬이 작은 사이클의 개수가 적을수록 양호한 특성을 얻을 수 있다. 따라서, LDPC 부호로서는, 「사이클 4」나 「사이클 6」과 같은 작은 사이클의 발생을 억제하는 구조가 바람직하고, 의사 난수 치환 행렬 생성부(13)는 검사 행렬이 작은 사이클의 발생을 억제하는 의사 난수 치환 행렬 SP를 생성한다. In the encoding / decoding using the LDPC code, generally, the smaller the number of cycles with smaller check matrices such as "
[단계 ST13-1][Step ST13-1]
이하의 식으로 정의되는 의사 난수 계열 C(i)을 생성한다. Pseudo random number series C (i) defined by the following equation is generated.
C(1)=1, C(i+1)=G0×C(i)modP, i=1,2, …, P-2 C (1) = 1, C (i + 1) = G 0 × C (i) mod P, i = 1, 2,... , P-2
여기서 P는 P=p+1로 되는 소수이며, C0는 GF(P)의 원시원(原始元)이다. 또, GF(P)의 요소인 G0의 연속하는 누승의 값(예컨대, G0 1, G0 2, …,G0 P-1=1)가 GF(P)의 영이 아닌 모든 요소를 나타내는 경우, G0을 원시원라고 부른다. 이 계열 C(i)은 요소간의 차분이 비균일이며 중복하는 요소가 없는 의사 난수 계열로 된다. Where P is a prime number where P = p + 1, and C 0 is the source of GF (P). In addition, successive powers of G 0 that are elements of GF (P) (eg, G 0 1 , G 0 2 ,..., G 0 P-1 = 1) represent all elements that are not zero of GF (P). In this case, G 0 is called the primitive source. This series C (i) is a pseudorandom series with nonuniform differences between elements and no overlapping elements.
예로서 P=7, G0=3의 경우를 이하에 나타낸다. As an example it is shown below for the case of P = 7, G 0 = 3 .
[단계 ST13-2][ST13-2]
의사 난수 계열 C(i)에 대한 아래 식에 나타내는 치환 패턴 LBj(i)를 생성한다. The substitution pattern LB j (i) shown in the following formula for the pseudo random number series C (i) is generated.
이 조작에 의해, LBj(i)를 i행 j열의 행렬로 표현한 경우, 각 행 내의 각 요소 및 각 열 내의 각 요소가 모두 다른 라틴 스퀘어를 구성할 수 있다. By this operation, when LB j (i) is expressed by a matrix of i rows and j columns, each element in each row and each element in each column can form a different Latin square.
예를 이하에 나타낸다. An example is shown below.
[단계 ST13-3][ST13-3]
하기 식에 의해 의사 난수 계열 및 그 치환 패턴을 요소로 갖는 라틴 스퀘어 행렬 Lj(q,l)를 생성한다. A Latin square matrix L j (q, l) having a pseudorandom number series and its substitution pattern as an element is generated by the following equation.
이 조작에 의해, Lj(q,l)를 사용하여 L1(q,l),L2(q,l),…,Lp(q,l)의 p개의 다른 라틴 스퀘어 행렬을 생성할 수 있다. By this operation, L j (q, l) L 1 (q, l) using, L 2 (q, l) , ... We can generate p different Latin square matrices of, L p (q, l).
예를 이하에 나타낸다. An example is shown below.
이 예를 보더라도 알 수 있듯이, q=1에 대하여 Lj(q=1,l)의 각 요소를 하기와 같이 나열해 보면, 각 행 내의 각 요소 및 각 열 내의 각 요소가 다른 라틴 스퀘어 행렬로 되어 있는 것을 알 수 있다. As you can see from this example, if you list each element of L j (q = 1, l) for q = 1 as follows, each element in each row and each element in each column is a different Latin square matrix. It can be seen that.
마찬가지로 q=2,…, p에 대하여, Lj(q,l)의 각 요소를 나열한 j행 l열의 행렬을 보더라도 라틴 스퀘어가 된다. Similarly q = 2,... With respect to, p, it is a Latin square even if we look at the matrix of the j row l column which arranges each element of L j (q, l).
[단계 ST13-4][ST13-4]
하기 식에 의해 라틴 스퀘어 행렬 Lj(q,l)과 파라미터 p을 이용하여 기본 치환 행렬 패턴 BPj(q,l)를 생성한다. A basic substitution matrix pattern BP j (q, l) is generated using the Latin square matrix L j (q, l) and the parameter p by the following equation.
이 조작에 의해 p2×p2의 열 차수 1, 행 차수 1의 의사 난수 치환 행렬을 생성하기 위한 기본 치환 행렬 패턴을 생성할 수 있다. By this operation, a basic substitution matrix pattern for generating a pseudo-random substitution matrix of
BPj(q,l)는 Lj(q,l)의 임의의 j에 대하여 q행 i열의 행렬을 생성한 경우, 각 행을 한개 증가시킬 때마다 p만큼 그 행 내의 각 요소에 가산한 것이다. BP j (q, l) is a q-row i-column matrix for any j of L j (q, l), which is added to each element within that row by p for each increment of each row. .
예를 이하에 나타낸다. An example is shown below.
전 단계(3)의 의논으로부터 임의의 q에 관한 BPj(q,l)의 각 요소를 나열한 j행 l열의 행렬도 라틴 스퀘어가 된다. 또한, 이 조작에 의해, 임의의 j에 대한 BPj(q,l)로부터 생성하는 q행 l열의 행렬의 동일열의 요소간의 거리는 넓어진다. From the discussion in the previous step (3), the matrix of j rows and l columns that lists each element of BP j (q, l) for any q is also Latin square. Moreover, by this operation, the distance between elements of the same column of the matrix of q rows l columns generated from BP j (q, l) for arbitrary j is widened.
[단계 ST13-5][ST13-5]
하기 식에 의해 기본 치환 행렬 패턴 BPj(q,l)의 개시점을 s개 시프트한 복수의 기본 치환 계열 SPj ,s(i)을 생성한다. A plurality of basic substitution series SP j , s (i) obtained by shifting the starting point of the basic substitution matrix pattern BP j (q, l) by s by the following equation is generated.
이 조작에 의해 p2×p2의 열 차수 1, 행 차수 1의 의사 치환 행렬을 생성하기 위한 기본 치환 계열을 생성할 수 있다. By this operation, a basic substitution sequence for generating a pseudo substitution matrix of
이 계열의 근접하는 요소간의 거리는 넓어지고 있다. 인접하는 요소간의 거리를 확대함으로써 실시예 1에서 설명한 T의 하삼각 행렬과의 사이에서 발생하는 짧은 사이클, 즉 사이클 4나 사이클 6의 발생을 억제할 수 있다. The distance between adjacent elements of this series is widening. By enlarging the distance between adjacent elements, it is possible to suppress the occurrence of short cycles, that is, cycles 4 and 6, occurring between the lower triangular matrix of T described in the first embodiment.
예를 이하에 나타낸다. An example is shown below.
[단계 ST13-6][ST13-6]
복수의 기본 치환 계열 SPj ,s(i)로부터 하기 식에 의해 정의되는 2원 p2×p2의 복수의 의사 난수 치환 행렬 SPj ,s=(hm ,n)를 생성한다. From a plurality of basic substitution series SP j , s (i), a plurality of binary p 2 xp 2 pseudo random random substitution matrices SP j , s = (h m , n ) defined by the following equation are generated.
이 조작에 의해, p2×p2의 열 차수 1, 행 차수 1의 복수의 의사 난수 치환 행렬을 생성할 수 있다. 이 SPj ,s에서 s의 값이 같고, j의 값이 다른 복수의 SPj ,s의 조합으로 구성되는 행렬에는, 각 행의 "1"이 있는 열 번호의 일치하는 것이 2개 이상인 경우가 없기 때문에 사이클 4는 존재하지 않고, 최소 사이클수는 6으로 된다. 또한, 복수의 SPj ,s에 있어서 s의 값이 다른 경우에도, 사이클 4로 되지 않는 조합이 존재하고 있어, 이 조합은 탐색 등으로 구할 수 있다. By this operation, a plurality of pseudo random number substitution matrices of
예를 이하에 나타낸다. An example is shown below.
단계 ST14에 있어서, 차수 분포 최적화용 파라미터 산출부(14)는 상기 단계 ST11에서 입력된 소정의 정보 길이 K, 부호화율 rate 및 열의 최대 차수 d를 이용하여, 의사 난수 치환 행렬을 사용하여 구성 가능한 검사 행렬 생성의 차수 분포의 최적화를 위한 취할 수 있는 차수 분포의 조합의 파라미터를 산출한다. 여기서는, 열의 최대 차수 d와 하삼각 행렬을 포함하는 검사 행렬이 가지는 제약 조건을 기초로, 취할 수 있는 차수 분포의 조합을 산출한다. In step ST14, the order distribution optimization
목표로 하는 열의 최대 차수 d와 정보 길이 K와 부호화율 rate로부터 하기 식에 나타내는 것 같은 검사 행렬 H의 제약 조건을 구한다. From the maximum order d of the target column, the information length K, and the code rate, the constraints of the parity check matrix H as shown in the following equation are obtained.
여기서, sp는 임의의 spj ,s를 의미한다. 또한, 대각선상에 배치하고 있는 \의 연속은 H의 최상위행으로부터 최하위행까지를 통해서 T와 같이 계단 형상으로 1을 배치하고 있는 것을 의미한다. Here, sp means any sp j , s . In addition, the continuation of 배치 arrange | positioned on a diagonal line means that 1 is arrange | positioned like step T through T from the top row to the bottom row of H.
여기서 정해지는 제약 조건은 의사 난수 치환 행렬 SP의 사이즈와 그 최대 배치수와 배치 개소이다. Constraints determined here are the size of the pseudo random number substitution matrix SP, its maximum number of arrangements, and its location.
예로서, 정보 길이 K=144, 부호화율 rate=0.5, 열의 최대 차수 d=4의 경우를 이하에 나타낸다. As an example, the case of information length K = 144, coding rate = 0.5, and the maximum order d = 4 of a column is shown below.
의사 난수 치환 행렬 SP의 행 방향의 개수=d=4Number of row directions of pseudo random number substitution matrix SP = d = 4
검사 행렬 H의 열수 N(=부호 길이 N)=K/rateNumber of columns N (= code length N) of the test matrix H = K / rate
=144/0.5=288 = 144 / 0.5 = 288
검사 행렬 H의 행수 M=N×(1-rate)The number of rows in the check matrix H M = N × (1-rate)
=288×0.5=144= 288 × 0.5 = 144
의사 난수 치환 행렬의 사이즈 p2=M/d=144/4=36Size of the pseudorandom substitution matrix p 2 = M / d = 144/4 = 36
따라서 p=6 Thus p = 6
정보 길이 부분의 의사 난수 치환 행렬 SP의 최대수Maximum number of pseudorandom substitution matrices SP of information length part
=N×rate/p2=288×0.5/36=4= N × rate / p 2 = 288 × 0.5 / 36 = 4
이들 결과로부터, 검사 행렬 H에 대하여, 좌단으로부터 4×4개의 의사 난수 치환 행렬 SP과 검사 행렬 H의 우측의 좌/하삼각 부분에 3+2+1개의 의사 난수 치환 행렬 SP이 배치 가능해진다. From these results, 3 + 2 + 1 pseudo random number substitution matrix SP can be arrange | positioned with respect to the test matrix H from the left end at 4 * 4 pseudo random number substitution matrix SP and the left / low triangle of the right side of the test matrix H.
이 최대 차수와 하삼각 행렬을 포함하는 검사 행렬이 가지는 제약 조건하에서, 취할 수 있는 차수 분포의 조합을 산출한다. 차수 분포란, 예컨대, 열 차수 4의 열수의 검사 행렬 전체의 열수에 대한 비율을 나타내고 있고, 그 비율에 따라 열 차수 4가 되도록 의사 난수 치환 행렬(열 가중치 1, 행 가중치 1)을 열 방향으로 4개 조합하여 작성한다. 또한, 행 차수에 대해서도 마찬가지로 실행한다. 예컨대, 상기 예에서는 열 가중치 4가 검사 행렬 H 전체의 열수에 대하여 의사 난수 치환 행렬을 사용하여 취할 수 있는 비율은 0~4/8이며, 열 가중치 3의 취할 수 있는 비율은 0~5/8로 된다. 이들 열 차수 및 행 차수와 취할 수 있는 비율의 조합을, 다음 단계 ST15에서 실행하는 차수 분포의 최적화를 위한 파라미터로서 출력한다. Under the constraints of the test matrix including the maximum order and the lower triangular matrix, a combination of possible order distributions is calculated. The order distribution indicates, for example, the ratio of the total number of columns of the
단계 ST15에 있어서, 차수 분포 최적화부(15)는, 상기 단계 ST14에서 산출된 취할 수 있는 차수 분포의 조합을 구속 조건으로 하여, 이하에 도시하는 바와 같이, 밀도 발전법에 의해 검사 행렬 생성의 차수 분포를 최적화한다. 여기서는, 상기 단계 ST14에서 구한 차수 분포의 조합 중 최적의 차수 분포를 산출한다. 여기서, 차수 분포란, 예컨대, 열 차수 4인 열수가 전체의 검사 행렬의 몇 퍼센트인지를 나타내고 있고, 그 비율에 따라 열 차수 4가 되도록 의사 난수 치환 행렬(열 가중치 1, 행 가중치 1)을 열 방향으로 4개 조합하여 작성한다. 이에 따라 다음 단계 ST16에 있어서 검사 행렬을 생성할 수 있다. In step ST15, the order
이 단계 ST15에 있어서, 상기 단계 ST14에서 구한 검사 행렬 H에서의 의사 난수 치환 행렬 SP의 사이즈와 그 최대 배치수와 배치 개소의 제약 조건 아래, 검사 행렬 H 내의 의사 난수 치환 행렬 SP의 개소에서 임의의 의사 난수 치환 행렬 SP를 배치하거나, 또는 그 개소는 p2×p2의 O 행렬을 배치한다고 하는 조건으로 조 합을 선택할 수 있도록 한다. In step ST15, the arbitrary random number substitution matrix SP in the parity check matrix H obtained in the step ST14, and the maximum random number and the location constraints are restricted at the position of the pseudo random number substitution matrix SP in the parity check matrix H. Arrangement of the pseudo random number substitution matrix SP, or its location allows the selection of the combination to be made under the condition of arranging an O matrix of p 2 × p 2 .
다음에, 밀도 발전법의 가우스 근사법에서의 최적화를 이용하여, 요구된 부호화율에 근거하는 「Irregular-LDPC 부호」의 앙상블(차수 배분)을 구한다. Next, using an optimization in the Gaussian approximation of the density generation method, an ensemble (order allocation) of "Irregular-LDPC code" based on the required coding rate is obtained.
열의 차수 배분의 생성 함수 λ(x)와 행의 차수 배분의 생성 함수 ρ(x)를 동시에 변수로서 취급하고, 가우스 노이즈 σn가 최대가 되도록, 선형 계획법으로 최적의 생성 함수 λ(x)와 생성 함수 ρ(x)를 탐색한다(하기의 (11)식을 참조). 이 탐색에서의 구속 조건은, 후술하는 (12)식을 만족시키는 것이다. The generation function λ (x) of the column order distribution and the generation function ρ (x) of the order distribution of the rows are treated simultaneously as variables, and the optimal generation function λ (x) and the linear programming method are applied so that the Gaussian noise σ n is maximized. Search for the generation function ρ (x) (see equation (11) below). The constraint condition in this search satisfies the following expression (12).
이 때, 열의 차수 배분의 생성 함수 λ(x)와 행의 차수 배분의 생성 함수 ρ(x)의 변수의 취할 수 있는 값은, 상기 검사 행렬 H의 제약 조건으로 산출되는 값만으로 한다. At this time, the possible values of the variables of the generation function λ (x) of the order distribution of the columns and the generation function ρ (x) of the order allocation of the rows are only values calculated by the constraints of the test matrix H.
r>h(s,r), 모든 r∈(0,φ(s)) r> h (s, r), all r∈ (0, φ (s))
또, 상기 s는, 송신 신호로서 {-1, 1}의 2값 신호가 출력되고, 가우스 통신 로를 통해 수신한 신호의 대수 우도비(LLR)의 평균값이며, s=2/σn 2에 의해 산출할 수 있다. Further, s is a mean value of the logarithmic likelihood ratios (LLR) of signals received through a Gaussian communication path, and a two-value signal of {-1, 1} is output as a transmission signal, and s = 2 / σ n 2 . It can calculate by
이와 같이, 소정의 조건을 만족시키는 생성 함수 λ(x)와 생성 함수 ρ(x)를 1회의 선형 계획법으로 구하고 있기 때문에, 비특허문헌 5와 같이, 생성 함수 λ(x)의 도출과 생성 함수 ρ(x)의 산출을 반복 실행하여, 쌍방의 최적값을 구하는 방법보다도, 쉽고 단시간에, 확정적이고 또한 특성이 안정한 앙상블을 생성할 수 있다. As described above, since the generation function λ (x) and the generation function ρ (x) satisfying the predetermined conditions are obtained by one linear programming method, the derivation and generation function of the generation function λ (x) is obtained as in
단계 ST16에 있어서, 검사 행렬 생성부(16)는, 상기 단계 ST15에서 최적화된 검사 행렬 생성의 차수 분포에 의해, 상기 단계 ST13에서 생성된 의사 난수 치환 행렬 SP를 하기에 도시하는 바와 같이 배치하여 LDPC 부호용의 검사 행렬을 생성한다. 즉, 여기서는, 상기 단계 ST15에서 구한 차수 분포에 근거하여, 검사 행렬 H에서의 의사 난수 치환 행렬 SP의 배치를 결정한다. In step ST16, the parity
SP의 배치 및 파라미터를 정하는 때는, 사이클 4,6 등의 짧은 사이클의 발생이 없는 조합을 SPj ,s의 j 및 s를 조정하여 탐색하는 것에 의해 결정한다. SPj ,s은 j 및 s를 변경함으로써 다른 의사 난수 치환 행렬로 되고, 그 조합에 의한 사이클 4나 6 발생은 원래 일어나기 어려운 구조로 되어 있기 때문에, 탐색으로부터 조합의 도출은 비교적 용이한 점을 특징으로 들 수 있다. In determining the arrangement and parameters of the SP , the combination without occurrence of short cycles such as
이상과 같이, 이 실시예 1에 따르면, 확정적이고 특성이 안정하며, 오류 정정 능력이 양호하고, 또한 다양한 앙상블, 부호 길이, 부호화율에 대응한 Irregular-LDPC 부호용의 검사 행렬을 단시간에 용이하게 생성할 수 있다고 하는 효과를 얻을 수 있다. As described above, according to the first embodiment, a check matrix for Irregular-LDPC codes corresponding to deterministic, stable characteristics, good error correction capability, and various ensembles, code lengths, and code rates can be easily obtained in a short time. The effect that it can produce is obtained.
(실시예 2)(Example 2)
다음에 실시예 1을 확장하여, 복수의 부호화율에 있어서 호환성이 있는(정보 길이가 변하지 않고 부호화율만 변화함) RC(Rate comapatible)-LDPC 부호의 검사 행렬 생성 방법에 대하여 설명한다. Next, the first embodiment will be expanded and a method of generating a parity check matrix of a rate comapatible (RCPC) -LDPC code compatible with a plurality of coding rates (the information length does not change and only the code rate changes) will be described.
도 7은 본 발명의 실시예 2에 따른 LDPC 부호용의 검사 행렬 생성 장치의 구성을 나타내는 블럭도이다. 이 검사 행렬 생성 장치는, 정보 길이·부호화율·열 최대 차수 입력부(21), 의사 난수 치환 행렬용 파라미터 산출부(22), 의사 난수 치환 행렬 생성부(23), 차수 분포 최적화용 파라미터 산출부(24), 차수 분포 최적화부(25) 및 검사 행렬 생성부(26)를 구비하고 있다. 이 검사 행렬 생성 장치는, 도 4에서의 송신측 및 수신측의 통신 장치 내에 탑재되며, 생성한 검사 행렬을 부호화기(101) 및 복호기(105)에 출력하더라도 좋고, 송신측 및 수신측의 통신 장치 밖에 설치되며, 생성한 검사 행렬을 송신측 및 수신측의 통신 장치 내의 메모리(도시하지 않음)에 저장하여 부호화기(101) 및 복호기(105)에 출력하더라도 좋다. Fig. 7 is a block diagram showing the structure of a parity check matrix generation device for LDPC codes according to the second embodiment of the present invention. The parity check matrix generating apparatus includes an information length, coding rate, and column maximum
도 8은 본 발명의 실시예 2에 따른 검사 행렬 생성 장치의 처리의 흐름을 나 타내는 흐름도이다. 단계 ST21에 있어서, 정보 길이·부호화율·열 최대 차수 입력부(21)는 소정의 정보 길이, 복수의 부호화율 및 무부호화를 제외한 최대 부호화율의 열의 최대 차수를 입력한다. 단계 ST22에 있어서, 의사 난수 치환 행렬용 파라미터 산출부(22)는 상기 단계 ST21에서 입력된 소정의 정보 길이, 복수의 부호화율 및 무부호화를 제외한 최대 부호화율의 열의 최대 차수를 이용하여 의사 난수 치환 행렬을 위한 파라미터를 산출한다. 8 is a flowchart showing the flow of processing by the parity check matrix generating apparatus according to the second embodiment of the present invention. In step ST21, the information length, coding rate, and column maximum
단계 ST23에 있어서, 의사 난수 치환 행렬 생성부(23)는, 상기 단계 ST22에서 산출된 의사 난수 치환 행렬을 위한 파라미터에 의해 의사 난수 계열과 라틴 스퀘어 행렬을 사용하여 의사 난수 치환 행렬을 생성한다. 단계 ST24에 있어서, 차수 분포 최적화용 파라미터 산출부(24)는 상기 단계 ST21에서 입력된 소정의 정보 길이, 복수의 부호화율 및 무부호화를 제외한 최대 부호화율의 열의 최대 차수를 이용하여, 의사 난수 치환 행렬을 사용하여 구성 가능한 검사 행렬 생성의 차수 분포의 최적화를 위한 취할 수 있는 차수 분포의 조합의 파라미터를 산출한다. In step ST23, the pseudo random number substitution
단계 ST25에 있어서, 차수 분포 최적화부(25)는, 상기 단계 ST24에서 산출된 취할 수 있는 차수 분포의 조합을 구속 조건으로 하여, 밀도 발전법에 의해 복수의 부호화율에 대한 검사 행렬 생성의 차수 분포를 최적화한다. 단계 ST26에 있어서, 검사 행렬 생성부(26)는 상기 단계 ST25에서 최적화된 복수의 부호화율에 대한 검사 행렬 생성의 차수 분포에 의해, 상기 단계 ST23에서 생성된 의사 난수 치환 행렬을 배치하여 LDPC 부호용의 검사 행렬을 생성한다. In step ST25, the order
다음에 도 8의 흐름도에서의 단계 ST21~ST26의 상세 처리에 대하여 설명한 다. Next, detailed processing of steps ST21 to ST26 in the flowchart of FIG. 8 will be described.
단계 ST21에 있어서, 정보 길이·부호화율·열 최대 차수 입력부(21)는 소정의 정보 길이 K, 복수의 부호화율 R(l) 및 무부호화를 제외한 최대 부호화율의 열의 최대 차수 d를 입력한다. 여기서, 복수의 부호화율 R(l)에 있어서, l=1, 2, … , 0<R(1)<R(2)< … <1로 한다. 이 단계 ST21에서는, 실시예 1의 단계 ST11과 비교하여, 복수의 부호화율 R(l) 및 무부호화를 제외한 최대 부호화율의 열의 최대 차수 d를 입력하는 점이 다르다. In step ST21, the information length, coding rate, and column maximum
입력된 부호화율 R(l) 중에서, 가장 큰 부호화율 R(max-1)을 위한 검사 행렬 HR(max-1)의 행수를 b로 하고, 열수=부호 길이를 N으로 한다. 여기서, R(max)=1은 무부호화를 의미하고, 이 설명에서는 이용하지 않는 것으로 한다. Among the input code rates R (l), the number of rows of the parity check matrix H R (max-1) for the largest code rate R (max-1) is b, and the number of columns = code length is N. Here, R (max) = 1 means unsigned, and shall not be used in this description.
단계 ST22에 있어서, 의사 난수 치환 행렬용 파라미터 산출부(22)는, 상기 단계 ST21에서 입력된 소정의 정보 길이 K, 복수의 부호화율 R(l) 및 무부호화를 제외한 최대 부호화율의 열의 최대 차수 d를 이용하여, 이하에 도시하는 바와 같이, 의사 난수 치환 행렬을 위한 파라미터를 산출한다. In step ST22, the
검사 행렬 H의 열수 N(=부호 길이 N)=K/R(l)Number of columns N (= code length N) of test matrix H = K / R (l)
검사 행렬 H의 행수 M=N-KThe number of rows in the check matrix H M = N-K
다음에 부호화율 R(max-1)의 열의 최대 차수 d(시스템에 의해 사전에 설정되어 있는 값)로부터 의사 난수 치환 행렬의 사이즈 p2를 이하에 의해 구한다. Next, the size p 2 of the pseudo random number substitution matrix is obtained from the maximum order d (value previously set by the system) of the columns of the coding rate R (max-1) as follows.
p2=M/dp 2 = M / d
예컨대, K=864, R(max-1)=R(3)=2/3, d=3이라고 하면,For example, if K = 864, R (max-1) = R (3) = 2/3, d = 3,
N=K/R(3)=864/(2/3)=1296 N = K / R (3) = 864 / (2/3) = 1296
M=N-K=1296-864=432M = N-K = 1296-864 = 432
p2=M/d=432/3=144p 2 = M / d = 432/3 = 144
따라서, p=12로 된다. Therefore, p = 12.
단계 ST23에 있어서, 의사 난수 치환 행렬 생성부(23)는, 실시예 1의 의사 난수 치환 행렬 생성부(13)가 실행하는 단계 ST13의 처리와 같은 처리를 한다. 즉, 의사 난수 치환 행렬 생성부(23)는 단계 ST13-1~단계 ST13-6의 처리를 한다. In step ST23, the pseudo random number
단계 ST24에 있어서, 차수 분포 최적화용 파라미터 산출부(24)는 상기 단계 ST21에서 입력된 소정의 정보 길이 K, 복수의 부호화율 R(l) 및 무부호화를 제외한 최대 부호화율의 열의 최대 차수 d를 이용하여, 이하에 도시하는 바와 같이, 의사 난수 치환 행렬을 사용하여 구성 가능한 검사 행렬 생성의 차수 분포의 최적화를 위한 취할 수 있는 차수 분포의 조합의 파라미터를 산출한다. In step ST24, the parameter distribution optimization
예컨대, 상기 단계 ST21에서, 정보 길이 K=864, 복수의 부호화율 R(1)=1/3, R(2)=1/2, R(3)=2/3, 무부호화를 제외한 최대 부호화율 R(3)의 열의 최대 차수 d=3를 입력했다고 한다. 여기서, 복수의 부호화율 R(1) 중, 가장 높은 부호화율 R(3)=2/3에 대응한 검사 행렬의 행수와 열수를 M3과 N3으로 한다. 또한, 단계 ST22에서, M3=M, N3=N으로 하여, p=12가 도출되어 있다. 부호화율 R(2)=1/2로부터 그 검사 행렬의 행수와 열수를 M2와 N2로 하고, 정보 길이 K는 변하지 않는다고 하면, For example, in step ST21, information length K = 864, a plurality of coding rates R (1) = 1/3, R (2) = 1/2, R (3) = 2/3, maximum coding excluding uncoding It is assumed that the maximum order d = 3 of the row of the rate R (3) is entered. Here, among the plurality of code rates R (1), the number of rows and columns of the parity check matrix corresponding to the highest code rate R (3) = 2/3 is set to M 3 and N 3 . Further, in step ST22, and the M 3 = M, N 3 = N, there are p = 12 is obtained. Assuming that the number of rows and columns of the check matrix is M 2 and N 2 from the code rate R (2) = 1/2 , and the information length K is not changed,
열수 N2=K/R(2)=864/(1/2)=1728, Hydrothermal N 2 = K / R (2) = 864 / (1/2) = 1728,
행수 M2=N2×(1-R(2))=1728×(1/2)=864Number of rows M 2 = N 2 × (1-R (2)) = 1728 × (1/2) = 864
로 된다. 마찬가지로, 부호화율 R(1)=1/3로부터 그 검사 행렬의 행수와 열수를 M1과 N1로 하고, 정보 길이 K는 변하지 않는다고 하면, It becomes Similarly, assuming that the number of rows and columns of the parity check matrix is M 1 and N 1 from the code rate R (1) = 1/3, and the information length K does not change,
열수 N1=K/R(1)=864/(1/3)=2592, Hydrothermal number N 1 = K / R (1) = 864 / (1/3) = 2592,
행수 M1=N1×(1-R(1))=2592×(2/3)Number of rows M 1 = N 1 × (1-R (1)) = 2592 × (2/3)
=1728= 1728
로 된다. 행수 M1=1728에 대하여, p2×p2=144×144의 의사 난수 치환 행렬 SP는 행 방향으로 12개 배치 가능하고, K=864로부터, 열 방향의 정보 길이 부분에는, 의사 난수 치환 행렬 SP는 12개 배치 가능해진다. 이들 결과로부터, R(1)의 부호화율을 실행하기 위한 검사 행렬 H에 대하여 좌단으로부터 12×6개의 p2×p2=144×144의 의사 난수 치환 행렬 SP와, 검사 행렬 H의 우측의 좌/하삼각 부분에 11+10+ …+1개의 의사 난수 치환 행렬 SP가 배치 가능해진다. 이 검사 행렬은 다음 단계 ST25에서 설명하는 방법으로 R(2), R(3)도 구성할 수 있다. It becomes With respect to the number of rows M 1 = 1728, 12 pseudo random number substitution matrices SP of p 2 × p 2 = 144 × 144 can be arranged in the row direction, and from K = 864, a pseudo random number substitution matrix is provided in the information length part of the column direction. 12 SPs can be arranged. From these results, 12 x 6 p 2 x p 2 = 144 x 144 pseudo random number substitution matrix SP from the left end with respect to the test matrix H for executing the coding rate of R (1), and the left side of the right side of the test matrix H. 11 + 10 + in the lower triangular part; +1 pseudo-random substitution matrix SP can be arranged. This parity check matrix can also constitute R (2) and R (3) in the manner described in the next step ST25.
단계 ST25에 있어서, 차수 분포 최적화부(25)는, 상기 단계 ST24에서 산출된 취할 수 있는 차수 분포의 조합을 구속 조건으로 하여, 하기에 도시하는 바와 같이 밀도 발전법에 의해 복수의 부호화율에 대한 검사 행렬 생성의 차수 분포를 최적화 한다. In step ST25, the degree
· F2={0, 1}를 2원의 유한체로 한다. 부호 워드 C⊂F2 N로 하고, H=(hij)을 C에 대응하는 M×N의 패리티 검사 행렬로 한다. 부호 워드 C는 패리티 검사 행렬 Hx=0의 패리티 검사식에 의해 정의되는 M개의 2원 패리티 체크 비트를 만족하는 길이 N비트의 계열 x로 이루어진다. 행렬 H가 풀 랭크라고 가정하면, 정보 비트수는 K=N-M으로 되고, 부호화율은 R=K/N으로 된다. Let F 2 = {0, 1} as a binary finite body. Let the code word C⊂F 2 N be set, and let H = (h ij ) be the parity check matrix of M × N corresponding to C. The code word C consists of a sequence x of length N bits satisfying M binary parity check bits defined by the parity check equation of the parity check matrix Hx = 0. Assuming that matrix H is full rank, the number of information bits is K = NM and the coding rate is R = K / N.
또한, HR(j)를 부호화율이 가변인 LDPC 부호 CR (l)의 패리티 검사 행렬로 한다. 여기서, R(l)는 부호화율이며, R(l), l=1,2,…, max 0<R(1)<R(2)<…<R(max)=1이다(R(max)=1은 무부호화를 의미함). 또한, HR(max-1)을 CR (max-1)를 위한 N×N의 패리티 검사 행렬로 한다. 그리고 HR(max-2)을 HR(max-1)과 M×l의 0 행렬과 t×(N+t)의 추가의 패리티 검사 행렬 AR(max-2)로 이루어지는 이하의 식으로 정의되는 (M+t)×(N+t)의 패리티 검사 행렬로 한다. In addition, let H R (j ) be the parity check matrix of the LDPC code C R (l) having a variable coding rate. Where R (l) is the coding rate, where R (l), l = 1, 2,... ,
(H R(max-1) 와 H R(max-2)은 모두 풀 랭크)( H R (max-1) and H R (max-2) are both full rank)
이것을 그림으로 표현하면 아래와 같이 된다. If this is expressed as a picture, it becomes as follows.
이것을 일반화하면 아래와 같이 된다. If you generalize this,
(H R(l)은 모두 풀 랭크)( H R (l) is full rank)
여기서, ti는 H R(i)와 H R(i+1)의 열수 및 행수의 차를 나타낸다. Where t i is the number of columns of H R (i) and H R (i + 1) And the number of rows.
H R(i)의 설계를 위해 밀도 발전법의 가우스 근사법에 의해 모든 H R(i),l=1,2, … , max-1의 차수 배분을 동시에 최적화한다. 최적화 문제를 이하에 나타낸다. By a Gaussian approximation of the density Development Act for the design of H R (i) all H R (i), l = 1,2, ... , optimize the order distribution of max-1 simultaneously. The optimization problem is shown below.
여기서는, 를 최소화하도록 하는 H R(i)의 차수 배분을 구한다. Here, Find the order distribution of H R (i) to minimize.
여기서, GAPR (l) 가우스 근사법으로 추정하는 H R(i)의 반복 임계값의 SNR와 섀논 한계의 차를 dB로 표현한 것이며, 이하의 식으로 표현한다. Here, the difference between the SNR of the repetition threshold of H R (i) estimated by the GAP R (l) Gaussian approximation and the Shannon limit is expressed in dB, and is expressed by the following equation.
여기서 , , 및 E는 각각 부호화율 R(l)의 때의 SNR의 섀논 한계, 가우스 통신로의 노이즈의 분산값, 및 가우스 통신로를 통해 수신한 신호의 대수 우도비(LLR)의 평균값 및 신호의 에너지이다. here , , And E are the Shannon limit of the SNR at the code rate R (l), the variance of the noise of the Gaussian channel, and the mean value of the logarithmic likelihood ratio (LLR) of the signal received via the Gaussian channel and the energy of the signal, respectively. .
이 각각의 부호화율에 대하여 (18)식의 조건 아래, GAPR (l) 및 (14)식을 이용하여For each of these coding rates, under the condition of equation (18), using the GAP R (l) and (14) equations,
를 구한다. Obtain
상기 단계 ST24에서 이용한 R(l)=1-M1/N1=1/3, R(2)=1-M2/N2=1/2, R(3)=1-M3/N3=2/3에 대하여, 설명에 사용한 변수와의 대응을 나타내면 아래와 같이 된다. R (l) = 1-M 1 / N 1 = 1/3, R (2) = 1-M 2 / N 2 = 1/2, R (3) = 1-M 3 / N used in step ST24 above For 3 = 2/3, the correspondence with the variables used in the explanation is as follows.
M3=M, N3=N, M2=M3+t, N2=N3+t,M 3 = M, N 3 = N, M 2 = M 3 + t, N 2 = N 3 + t,
M1=M2+t, N1=N2+tM 1 = M 2 + t, N 1 = N 2 + t
단계 ST26에 있어서, 검사 행렬 생성부(26)는 상기 단계 ST25에서 최적화된 복수의 부호화율에 대한 검사 행렬 생성의 차수 분포에 의해, 상기 단계 ST23에서 생성된 의사 난수 치환 행렬을 배치하여 이하에 나타낸 바와 같은 LDPC 부호용의 검사 행렬을 생성한다. In step ST26, the parity
예컨대, R(1)=1-M1/N1=1/3, R(2)=1-M2/N2=1/2, R(3)=1-M3/N3=2/3에 대하여, 상기 단계 ST25에서 구한 차수 분포에 따라, 하기와 같은 검사 행렬을 생성한다. For example, R (1) = 1-M 1 / N 1 = 1/3, R (2) = 1-M 2 / N 2 = 1/2, R (3) = 1-M 3 / N 3 = 2 For / 3, the following check matrix is generated according to the order distribution obtained in step ST25.
다음에 상기에서 설명한 LDPC 부호의 특성을 비교한다. Next, the characteristics of the LDPC code described above are compared.
도 9는 이 실시예 2에 따른 검사 행렬 생성 장치로 생성된 검사 행렬을 사용한 LDPC 부호의 정보 1비트당 신호 전력 대 노이즈 전력비(Eb/No)에 대한 비트 오류율(BER) 특성과 프레임 오류율(FER) 특성을 도시하는 도면이다. 여기서는, 정보 길이 1536비트, 통신로 AWGN, 최대 반복수 200회로 하고 있다. 또, 복호법은 「합-곱 알고리즘」이다. 이 특성은, 하기에 나타내는 파라미터 M1~M3, N1~N3을 이용하여 이 실시예 2의 수순에 따라 생성한 RC-LDPC 부호의 검사 행렬을 사용한 것이다. 이 검사 행렬에 있어서, R(1)=1-M1/N1=1/3, R(2)=1-M2/N2=1/2, R(3)=1-M3/N3=2/3이다. FIG. 9 shows the bit error rate (BER) characteristic and the frame error rate (FER) of signal power to noise power ratio (Eb / No) per bit information of the LDPC code using the test matrix generated by the test matrix generator according to the second embodiment. ) Is a diagram showing characteristics. Here, the information length is 1536 bits, the communication path AWGN, and the maximum number of repetitions is 200 times. The decoding method is a "sum-product algorithm". This characteristic uses the parity check matrix of the RC-LDPC code generated according to the procedure of the second embodiment using the parameters M 1 to M 3 and N 1 to N 3 shown below . In this test matrix, R (1) = 1-M 1 / N 1 = 1/3, R (2) = 1-M 2 / N 2 = 1/2, R (3) = 1-M 3 / N 3 = 2/3.
한편, R(1)=1/3, R(2)=1/2, R(3)=2/3에서의 섀논 한계의 SNR는, 각각 -0.4954(dB), 0.1870(dB), 1.0595(dB)이며, 각각의 차는 BER=10-4점에서, 대략 1.8(dB), 1.7(dB), 1.45(dB)로 되고, 정보 길이 1536비트로 그다지 길지 않음에도 불구하고 섀논 한계에 접근하는 RC-LDPC 부호를 실현할 수 있다. On the other hand, the SNRs of the Shannon limits at R (1) = 1/3, R (2) = 1/2, and R (3) = 2/3 are -0.4954 (dB), 0.1870 (dB) and 1.0595 ( dB), and each difference is approximately 1.8 (dB), 1.7 (dB), 1.45 (dB) at BER = 10 -4 points, and RC- approaching the Shannon limit despite being not very long with an information length of 1536 bits. LDPC code can be realized.
이상과 같이, 이 실시예 2에 따르면, 실시예 1과 동일한 효과를 얻을 수 있고, 또한, 실시예 1에서는 부호화율마다 개별적으로 검사 행렬을 생성해야 하지만, 이 실시예 2에서는 복수의 부호화율에 대하여 최종적으로 한 종류의 검사 행렬을 준비하는 것만으로 좋고, 검사 행렬을 용이하게 생성할 수 있다고 하는 효과를 얻을 수 있다. As described above, according to the second embodiment, the same effects as those of the first embodiment can be obtained. In addition, in the first embodiment, a check matrix must be generated for each coding rate. Finally, only one kind of check matrix is prepared, and the effect that the check matrix can be easily generated can be obtained.
(실시예 3)(Example 3)
도 10은 본 발명의 실시예 3에 따른 LDPC 부호용의 검사 행렬 생성 장치의 구성을 나타내는 블럭도이다. 이 검사 행렬 생성 장치는, 정보 길이·부호화율·열 최대 차수 입력부(31), 의사 난수 치환 행렬용 파라미터 산출부(32), 의사 난수 치환 행렬 생성부(33), 차수 분포 최적화용 파라미터 산출부(34), 차수 분포 최적화부(35) 및 검사 행렬 생성부(36)를 구비하고 있다. 이 검사 행렬 생성 장치는, 도 4에서의 송신측 및 수신측의 통신 장치 내에 탑재되고, 생성한 검사 행렬을 부호화기(101) 및 복호기(105)에 출력하더라도 좋고, 송신측 및 수신측의 통신 장치 밖에 설치되며, 생성한 검사 행렬을 송신측 및 수신측의 통신 장치 내의 메모리(도시하지 않음)에 저장하여 부호화기(101) 및 복호기(105)에 출력하더라도 좋다. Fig. 10 is a block diagram showing the structure of a parity check matrix generating apparatus for LDPC codes according to the third embodiment of the present invention. The test matrix generator includes an information length, coding rate, and column maximum
도 11은 본 발명의 실시예 3에 따른 검사 행렬 생성 장치의 처리의 흐름을 나타내는 흐름도이다. 단계 ST31에 있어서, 정보 길이·부호화율·열 최대 차수 입력부(31)는 소정의 정보 길이, 부호화율 및 열의 최대 차수를 입력한다. 단계 ST32에 있어서, 의사 난수 치환 행렬용 파라미터 산출부(32)는 상기 단계 ST31에서 입력된 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용하여, 후술하는 제 1 및 제 2 의사 난수 치환 행렬을 위한 파라미터를 산출한다. Fig. 11 is a flowchart showing the flow of processing by the parity check matrix generating apparatus according to the third embodiment of the present invention. In step ST31, the information length, coding rate, and column maximum
단계 ST33에 있어서, 의사 난수 치환 행렬 생성부(33)는, 상기 단계 ST32에서 산출된 제 1 및 제 2 의사 난수 치환 행렬을 위한 파라미터에 의해 의사 난수 계열과 라틴 스퀘어 행렬을 사용하여 제 1 의사 난수 치환 행렬을 생성하고, 또한, 제 1 의사 난수 치환 행렬을 또한 행 방향으로 압축하여 제 2 의사 난수 치환 행렬을 생성한다. 단계 ST34에 있어서, 차수 분포 최적화용 파라미터 산출부(34)는 상기 단계 ST31에서 입력된 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용해서, 제 1 및 제 2 의사 난수 치환 행렬을 사용하여 구성 가능한 검사 행렬 생성의 차수 분포의 최적화를 위한 취할 수 있는 차수 분포의 조합의 파라미터를 산출한다. In step ST33, the pseudo random number substitution
단계 ST35에 있어서, 차수 분포 최적화부(35)는, 상기 단계 ST34에서 산출된 취할 수 있는 차수 분포의 조합을 구속 조건으로 하여, 밀도 발전법에 의해 검사 행렬 생성의 차수 분포를 최적화한다. 단계 ST36에 있어서, 검사 행렬 생성부(36)는 상기 단계 ST35에서 최적화된 검사 행렬 생성의 차수 분포에 의해, 상기 단계 ST33에서 생성된 제 1 및 제 2 의사 난수 치환 행렬을 배치하여 LDPC 부호용의 검사 행렬을 생성한다. In step ST35, the order
다음에 도 11의 흐름도에서의 단계 ST31~ST36의 상세 처리에 대하여 설명한다. Next, detailed processing of steps ST31 to ST36 in the flowchart of FIG. 11 will be described.
단계 ST31에 있어서, 정보 길이·부호화율·열 최대 차수 입력부(31)는 소정의 정보 길이, 부호화율 및 열의 최대 차수로서, 시스템에서 사전에 설정되어 있는 정보 길이 K=120, 부호화율 rate=0.5, 열의 최대 차수 d=16를 입력한다. In step ST31, the information length, encoding rate, and column maximum
단계 ST32에 있어서, 의사 난수 치환 행렬용 파라미터 산출부(32)는, 상기 단계 ST31에서 입력된 소정의 정보 길이 K=120, 부호화율 rate=0.5 및 열의 최대 차수 d=16을 이용하여, 이하에 도시하는 바와 같이, 검사 행렬 H의 행수 M, 열수(=부호화율) N, 제 1 및 제 2 의사 난수 치환 행렬을 위한 공통의 파라미터(p·b×p·b의 의사 난수 치환 행렬의 p와 b)를 산출한다. In step ST32, the
후술하는 제 1 의사 난수 BPShop_I, BPShop_II, BPShop_III, BPShop_IV의 행 방향의 최대 개수는 4이기 때문에(단계 ST33-7에서 설명), 남는 열 차수 d-4=12를 하기 단계 ST34에서 설명하는 제 2 의사 난수 치환 행렬 cIcw, cIIcw, cIIIcw, cIVcw에서 cw=3에 의해 실현한다. cw=3의 경우, 의사 난수 치환 행렬 cIcw, cIIcw, cIIIcw, cIVcw의 사용 개수=남는 열 차수 12/cw=4로 되어 cIcw, cIIcw, cIIIcw, cIVcw의 4개의 조합을 열 방향으로 나열하여 이용한다. To below the first pseudo-random number BPS _I hop, hop _II BPS, BPS _III hop, because the maximum number of the row direction of the BPS hop _IV is 4 (as explained in step ST33-7), the column degree d-4 = 12, which remains By the second pseudorandom number substitution matrix cI cw , cII cw , cIII cw , cIV cw described in step ST34, cw = 3 is realized. For cw = 3, the number of pseudorandom substitution matrices cI cw , cII cw , cIII cw , cIV cw = remaining number of
부호 길이=검사 행렬 II의 열수 N=k/rate=120/(1/3)=360, Sign length = column of check matrix II N = k / rate = 120 / (1/3) = 360,
검사 행렬 H의 행수 M=N*(1-rate)=360*(2/3)=240, The number of rows in the check matrix H M = N * (1-rate) = 360 * (2/3) = 240,
의사 난수 치환 행렬의 사이즈 p·b=M/(의사 난수 치환 행렬 BPShop_I, BPShop_II, BPShop_III, BPShop_IV의 사용 개수+의사 난수 치환 행렬 cIcw, cIIcw, cIIIcw, cIVcw의 사용 개수)=240/8=30.에 의해 예컨대, p=0, b=5로 된다. Pseudo-random number substituted size p · b = M / (pseudo-random number permutation matrix of the matrix BPS hop _I, BPS hop _II, BPS hop _III, using the number of BPS hop _IV + pseudo-random number permutation matrix cI cw, cII cw, cIII cw, cIV The number of cw used) = 240/8 = 30. For example, p = 0 and b = 5.
단계 ST33에 있어서, 의사 난수 치환 행렬 생성부(33)는, 이하의 단계 ST33-1~ST33-8에 도시하는 바와 같이, 상기 단계 ST32에서 산출된 제 1 및 제 2 의사 난 수 치환 행렬을 위한 파라미터에 의해 의사 난수 계열과 라틴 스퀘어 행렬을 사용하여 제 1 의사 난수 치환 행렬을 생성하고, 또한, 제 1 의사 난수 치환 행렬을 또한 행 방향으로 압축하여 제 2 의사 난수 치환 행렬을 생성한다. In step ST33, the pseudo random number substitution
즉, 상기 단계 ST32에서 구한 p와 b로부터 제 1 의사 난수 치환 행렬 BPShop_I, BPShop_II, BPShop_III, BPShop_IV 및 제 2 의사 난수 치환 행렬 cIcw, cIIcw, cIIIcw, cIVcw를 생성한다. That is, substituted first pseudo-random number from the p and b obtained in step ST32 matrix BPS hop _I, BPS hop _II, BPS hop _III, BPS hop _IV and second pseudo-random number permutation matrix cI cw, cII cw, cIII cw, cIV cw Create
[단계 ST33-1][Step ST33-1]
이하의 식으로 정의되는 의사 난수 계열 Cinit(i)를 생성한다. 이 인덱스의 init는 Cinit(1)의 값, 즉 초기값을 나타낸다. Produces a pseudorandom sequence C init (i) defined by the following equation: The init at this index represents the value of C init (1), the initial value.
여기서, P는 P>p로 되는 소수이며, G0은 GF(P)의 원시원이다. 또, GF(P)의 요소인 G0의 연속하는 누승의 값(예컨대 G0 1, G0 2, ..., G0 P -1=1)이 GF(P)의 영이 아닌 모든 요소를 나타내는 경우, C0을 원시원이라고 부른다. 이 계열 Cinit(i)은 요소간의 차분이 비균일이며 중복하는 요소가 없는 의사 난수 계열로 된다. Here, P is a prime number where P> p, and G 0 is a source of GF (P). In addition, successive powers of G 0 , which are elements of GF (P) (eg, G 0 1 , G 0 2 , ..., G 0 P -1 = 1) are used for all elements that are not zero of GF (P). If present, C 0 is called the source. This series C init (i) is a pseudorandom series with non-uniform differences between elements and no overlapping elements.
예로서 P=7, G0=3,init=3의 경우, For example, for P = 7, G 0 = 3, init = 3,
다음에 Cinit(i)의 요소로부터 p보다 큰 수를 추출한다. Next, extract the number greater than p from the elements of C init (i).
예컨대, p=5의 경우For example, for p = 5
[단계 ST33-2][ST33-2]
하기 식에 의해 의사 난수 계열 및 그 치환 패턴을 요소로 갖는 라틴 스퀘어 행렬 Li(q,l)을 생성한다. A Latin square matrix L i (q, l) having a pseudorandom number sequence and its substitution pattern as an element is generated by the following equation.
이 조작에 의해, L(q,l)를 사용하여 라틴 스퀘어 행렬을 생성할 수 있다. By this operation, a Latin square matrix can be generated using L (q, l).
p=6인 경우의 예를 이하에 나타낸다. An example in the case of p = 6 is shown below.
예컨대, p=5의 경우는 아래와 같이 된다. For example, in the case of p = 5, it becomes as follows.
[단계 ST33-3][ST33-3]
하기 식에 의해 기본 치환 행렬 패턴 BP(q,l)을 생성한다. A basic substitution matrix pattern BP (q, l) is generated by the following equation.
p=6인 경우의 예를 이하에 나타낸다. An example in the case of p = 6 is shown below.
[단계 ST33-4][ST33-4]
하기 식에 의해 기본 치환 행렬 패턴 BP(q,l)의 행 단위의 일정 간격의 치환한 행렬 BPhop(q,i)를 생성한다. 또, hop에는, 행 단위의 치환을 할 때의 간격을 설정한다. The matrix BP hop (q, i) substituted at regular intervals in row units of the basic substitution matrix pattern BP (q, l) is generated by the following equation. In addition, the hop is set to the interval at which line-by-line substitution is performed.
i) b와 hop가 서로소인 경우, i) if b and hop are mutually
ii) b와 hop가 서로소가 아닌 경우, ii) if b and hop are not mutually
b=5, hop=2인 경우의 예를 이하에 나타낸다. An example in the case of b = 5 and hop = 2 is shown below.
[단계 ST33-5][Step ST33-5]
하기 식에 의해 기본 치환 행렬 패턴 BPhop(q,i)로부터 기본 치환 계열 BPShop(i)를 생성한다. A basic substitution series BPS hop (i) is generated from the basic substitution matrix pattern BP hop (q, i) by the following equation.
이 조작에 의해, p·b×p·b의 열 차수 1, 행 차수 1의 행렬을 생성하기 위한 기본 치환 행렬의 "1"의 위치의 행에 대한 열의 위치 벡터를 생성할 수 있다. By this operation, it is possible to generate a column position vector with respect to the row at the position "1" of the basic substitution matrix for generating a matrix of
예를 이하에 나타낸다. An example is shown below.
[단계 ST33-6][Step ST33-6]
기본 치환 계열 BPShop(i)로부터 하기 식에 의해 정의되는 2원 p·b×p·b 행렬 BPShop=(hm ,n)를 생성한다. From the basic substitution series BPS hop (i), the binary p * b * p * b matrix BPS hop = (h m , n ) defined by the following formula is generated.
이 조작에 의해, p·b×p·b의 열 차수 1, 행 차수 1의 행렬을 생성하기 위한 기본 치환 행렬을 생성할 수 있다. 여기까지의 조작에 의해, 인접하는 요소간의 거리가 넓고 또한 요소간의 거리가 비균일한 의사 난수 치환 행렬을 생성할 수 있다. By this operation, a basic substitution matrix for generating a matrix of
인접하는 요소간의 거리를 확대한 것으로 실시예 1에서 설명한 T의 하삼각 행렬과의 사이에서 발생하는 짧은 사이클을 억제할 수 있다. 또한, 요소간의 거리를 비균일로 하는 것으로, 상기 p·b×p·b의 기본 치환 행렬 내에서도 짧은 사이클의 발생을 억제할 수 있다. 또한, 사이클 4의 발생을 피하기 위해서 생성한 p·b×p·b의 기본 치환 행렬을 확인하여, 사이클 4가 존재하고 있었던 경우에는, p, b, G0, init, hop를 변동시켜, 사이클 4가 존재하지 않는 조합을 탐색하여 재생한다. 단, 본 실시예의 수순에서는 사이클 4가 존재하는 것은 드물며, 재생성을 필요로 하는 경우는 거의 없다. By enlarging the distance between adjacent elements, it is possible to suppress a short cycle occurring between the lower triangular matrix of T described in the first embodiment. Moreover, by making the distance between elements non-uniform, generation | occurrence | production of a short cycle can be suppressed also in the said basic substitution matrix of p * b * p * b. Also, in order to avoid the occurrence of
예를 이하에 나타낸다. An example is shown below.
[단계 ST33-7][Step ST33-7]
기본 치환 행렬 BPShop로부터 4종의 기본 치환 행렬 BPShop_I, BPShop_II, BPShop_III, BPShop_IV를 생성한다.From a base substitution matrix BPS hop generates four kinds of base substitution matrix hop _I BPS, BPS _II hop, hop _III BPS, BPS hop _IV of.
i) i)
그 외의 BPShop_I의 요소는 모두 0이다.All other elements of BPS hop _I are zero.
ii) ii)
iii) iii)
iv) iv)
이 ii), jii), iv)는 BPShop_I를 바탕으로 행과 열의 치환을 한 것이며, 모두 p·b×p·b의 열 차수 1, 행 차수 1의 행렬이다. 이들 행렬의 조합에 의하여 열 차수 1×행 차수 1로부터 열 차수 4×행 차수 4까지의 행렬을 생성할 수 있다. Ii), jii), and iv) are rows and columns replaced based on BPS hop _I, and are all matrices of
이 행과 열의 치환에 의해 다른 의사 난수 치환 행렬을 4종류 생성할 수 있다. By replacing these rows and columns, four different pseudo-random substitution matrices can be generated.
[단계 ST33-8] [Step ST33-8]
다음에 열 차수 1보다 큰 기본 치환 행렬을 생성한다. Next, create a basic substitution matrix larger than
단계 ST33-7에서 구한 기본 치환 행렬 BPShop_I를 이용하여 열 차수 cw, 행 차수 1의 (p·b)×(p·b/cw) 의사 난수 치환 행렬 cIcw를 이하의 수순에 의해 생성한다. 이 때, 열이 1/cw로 압축되어, 즉 행 방향으로 압축된다. Using the basic substitution matrix BPS hop _I obtained in step ST33-7, a column order cw and a (p · b) × (p · b / cw) pseudo random number substitution matrix cI cw of
여기서, I는 (p·b/cw)×(p·b/cw)의 단위 행렬이다. Here, I is the unit matrix of (p · b / cw) × (p · b / cw).
동일한 수순에 의해 기본 치환 행렬 BPShop_II, BPShop_III, BPShop_IV을 이용하여 열 차수 cw, 행 차수 1의 기본 치환 행렬 cIIcw, cIIIcw, cIVcw를 생성한다. 단, 이 cIcw, cIIcw, cIIIcw, cIVcw의 조합은 열 방향으로 2개 이상 나열된 경우, 사이클 4가 발생하는 것을 알고 있기 때문에 행 방향으로만 1열로 나열되는 것으로 한다. By the same procedure, the basic substitution matrices cII cw , cIII cw and cIV cw of column order cw and
단계 ST34에 있어서, 차수 분포 최적화용 파라미터 산출부(34)는 상기 단계 ST31에서 입력된 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용하여, 아래와 같이 해서, 제 1 및 제 2 의사 난수 치환 행렬을 사용하여 구성 가능한 검사 행렬 생성의 차수 분포의 최적화를 위한 취할 수 있는 차수 분포의 조합의 파라미터를 산출한다. In step ST34, the order distribution optimization
이들 BPShop_I, BPShop_II, BPShop_III, BPShop_IV와 cIcw, cIIcw, cIIIcw, cIVcw의 조합과 우 상삼각 0의 삼각 행렬을 이용하여, 실현 가능한 조합을 구한다. The BPS hop _I, using the triangular matrix of the BPS _II hop, hop _III BPS, BPS hop _IV cw and cI, cII cw, cIII cw, cIV cw combinations and right upper triangular zero obtains a feasible combination.
예컨대, 하기 검사 행렬 H에 대하여 좌단으로부터 4×4개의 의사 난수 치환 행렬 BPShop_I, BPShop_II, BPShop_III, BPShop_IV와 4×1개(cw=3의 경우)의 의사 난수 치환 행렬 cIcw, cIIcw, cIIIcw, cIVcw와 H의 우측의 좌/하삼각 부분에 7+6+ … 1개의 의사 난수 치환 행렬 BPShop_I, BPShop_II, BPShop_III, BPShop_IV가 배치 가능해진다. For example, to the pseudo-random number permutation matrix of 4 × 4 of the pseudo-random number permutation matrix BPS hop _I, BPS hop _II, BPS hop _III, (the case of cw = 3) BPS hop _IV and 4 × 1 gae from the left end with respect to the
단계 ST35에 있어서, 차수 분포 최적화부(35)는, 실시예 1의 단계 ST15와 마찬가지로 하여, 상기 단계 ST34에서 산출된 취할 수 있는 차수 분포의 조합을 구속 조건으로 하여, 밀도 발전법에 의해 검사 행렬 생성의 차수 분포를 최적화한다. In step ST35, the order
단계 ST36에 있어서, 검사 행렬 생성부(36)는 상기 단계 ST35에서 최적화된 검사 행렬 생성의 차수 분포에 의해, 상기 단계 ST33에서 생성된 제 1 및 제 2 의사 난수 치환 행렬을 배치하여 LDPC 부호용의 검사 행렬을 생성한다. In step ST36, the parity check
즉, 단계 ST35에서 구한 최적의 차수 분포의 조합을 이용하여, 제 1 의사 난수 치환 행렬 BPShop_I, BPShop_II, BPShop_III, BPShop_IV 및 제 2 의사 난수 치환 행렬 cIcw, cIIcw, cIIIcw, cIVcw을 이용하여 검사 행렬 H를 생성한다. 각 의사 난수 치환 행렬의 배치에 관해서는 탐색 등에 의해 사이클수를 확인하여 양호한 배치를 구한다. That is, by using the optimum combination of the degree distribution of the obtained in step ST35, the first pseudo-random number permutation matrix BPS hop _I, BPS hop _II, BPS hop _III, BPS hop _IV and second pseudo-random number permutation matrix cI cw, cII cw, The test matrix H is generated using cIII cw and cIV cw . As to the arrangement of each pseudo random number substitution matrix, the number of cycles is checked by searching or the like to obtain a good arrangement.
이상과 같이, 이 실시예 3에 따르면, 실시예 1과 동일한 효과를 얻을 수 있다. As described above, according to the third embodiment, the same effects as those of the first embodiment can be obtained.
(실시예 4)(Example 4)
도 12는 본 발명의 실시예 4에 따른 LDPC 부호용의 검사 행렬 생성 장치의 구성을 나타내는 블럭도이다. 이 검사 행렬 생성 장치는, 정보 길이·부호화율·열 최대 차수 입력부(41), 의사 난수 치환 행렬용 파라미터 산출부(42), 의사 난수 치환 행렬 생성부(43), 차수 분포 최적화용 파라미터 산출부(44), 차수 분포 최적화부(45) 및 검사 행렬 생성부(46)를 구비하고 있다. 이 검사 행렬 생성 장치는, 도 4에서의 송신측 및 수신측의 통신 장치 내에 탑재되며, 생성한 검사 행렬을 부호화기(101) 및 복호기(105)에 출력하더라도 좋고, 송신측 및 수신측의 통신 장치 밖에 설치되며, 생성한 검사 행렬을 송신측 및 수신측의 통신 장치 내의 메모리(도시하지 않음)에 저장하여 부호화기(101) 및 복호기(105)에 출력하더라도 좋다. Fig. 12 is a block diagram showing the structure of a parity check matrix generating apparatus for LDPC codes according to
도 13은 본 발명의 실시예 4에 따른 검사 행렬 생성 장치의 처리의 흐름을 나타내는 흐름도이다. Fig. 13 is a flowchart showing the flow of processing in the parity check matrix generating apparatus according to the fourth embodiment of the present invention.
실시예 3에서는, BPShop_I, BPShop_II, BPShop_III, BPShop_IV를 사용하여, 예컨대, 열 차수 4×행 차수 4의 행렬을 생성하고 있지만, 실시예 4에서는, 후술하는 ELHP(cw',rw')를 사용하여 직접 열 차수 cw'×행 차수 rw'의 행렬을 생성한다. Example 3, BPS hop _I, BPS hop _II, BPS hop _III, BPS hop using _IV, e.g.,
단계 ST41에 있어서, 정보 길이·부호화율·열 최대 차수 입력부(31)는 소정의 정보 길이, 부호화율 및 열의 최대 차수를 입력한다. 단계 ST42에 있어서, 의사 난수 치환 행렬용 파라미터 산출부(42)는 상기 단계 ST41에서 입력된 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용하여, 후술하는 제 3 의사 난수 치환 행렬을 위한 파라미터 및 실시예 2와 같은 제 2 의사 난수 치환 행렬을 위한 파라미터를 산출한다. In step ST41, the information length, coding rate, and column maximum
단계 ST43에 있어서, 의사 난수 치환 행렬 생성부(43)는, 상기 단계 ST42에서 산출된 제 3 의사 난수 치환 행렬을 위한 파라미터 및 제 2 의사 난수 치환 행렬을 위한 파라미터에 의해, 의사 난수 계열과 라틴 스퀘어 행렬을 사용하여 제 1 의사 난수 치환 행렬을 생성하고, 생성한 제 1 의사 난수 치환 행렬의 행과 열을 또한 치환하고 확장하여 제 3 의사 난수 치환 행렬을 생성하고, 또한, 생성한 제 1 의사 난수 치환 행렬을 또한 행 방향으로 압축하여 제 2 의사 난수 치환 행렬을 생 성한다. 단계 ST44에 있어서, 차수 분포 최적화용 파라미터 산출부(44)는 상기 단계 ST41에서 입력된 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용하여, 검사 행렬 생성의 차수 분포의 최적화를 위한 취할 수 있는 차수 분포의 조합의 파라미터를 산출한다. In step ST43, the pseudo random number substitution
단계 ST45에 있어서, 차수 분포 최적화부(45)는, 상기 단계 ST44에서 산출된 취할 수 있는 차수 분포의 조합을 구속 조건으로 하여, 밀도 발전법 또는 멀티 에지 타입의 밀도 발전법에 의해 검사 행렬 생성의 차수 분포를 최적화한다. 단계 ST46에 있어서, 검사 행렬 생성부(46)는 상기 단계 ST45에서 최적화된 검사 행렬 생성의 차수 분포에 의해, 상기 단계 ST43에서 생성된 제 3 및 제 2 의사 난수 치환 행렬을 배치하여 LDPC 부호용의 검사 행렬을 생성한다. In step ST45, the order
다음에 도 13의 흐름도에서의 단계 ST41~ST46의 상세 처리에 대하여 설명한다. Next, detailed processing of steps ST41 to ST46 in the flowchart of FIG. 13 will be described.
단계 ST41에 있어서, 정보 길이·부호화율·열 최대 차수 입력부(41)는 소정의 정보 길이, 부호화율 및 열의 최대 차수로서, 시스템에서 사전에 설정되어 있는 정보 길이 K=120, 부호화율 rate=0.5, 열의 최대 차수 d=16를 입력한다. In step ST41, the information length, coding rate, and column maximum
단계 ST42에 있어서, 의사 난수 치환 행렬용 파라미터 산출부(42)는, 상기 단계 ST41에서 입력된 소정의 정보 길이 K=120, 부호화율 rate=0.5 및 열의 최대 차수 d=16을 이용하여, 이하에 도시하는 바와 같이, 검사 행렬 H의 행수 M, 열수(=부호화율) N, 제 3 의사 난수 치환 행렬을 위한 파라미터 및 제 2 의사 난수 치환 행렬을 위한 파라미터를 산출한다. In step ST42, the pseudo random number substitution matrix
즉, 여기서는, 단계 ST41에서 입력된 데이터를 이용하여, 검사 행렬 H의 행수 M을 열수(=부호 길이) N, p'·b' ×p'·b'의 열 가중치 cw', 행 가중치 rw'로 되는 제 3 의사 난수 치환 행렬 ELHP( cw' ,rw')의 p'와 b'를 산출하고, (p·b)×(p·b/cw)의 제 2 의사 난수 치환 행렬 cIcw, cIIcw, cIIIcw, cIVcw의 p,b,cw를 산출한다. That is, here, using the data input in step ST41, the number of rows M of the parity check matrix H is the number of columns (= code length) N, the column weight cw 'of p' · b '× p' · b ', and the row weight rw' P 'and b' of the third pseudo-random substitution matrix ELHP ( cw ' , rw') are calculated, and the second pseudo-random substitution matrix cI cw , cII of (p · b) × (p · b / cw) is calculated. cw , cIII cw , cIV cw , p, b, cw.
예컨대, 아래와 같이, 제 3 의사 난수 치환 행렬을 위한 파라미터 및 제 2 의사 난수 치환 행렬을 위한 파라미터를 산출한다. For example, the parameters for the third pseudo random number substitution matrix and the parameters for the second pseudo random number substitution matrix are calculated as follows.
실시예 3의 단계 ST32의 계산과 같은 계산을 한 후, 의사 난수 치환 행렬 BPShop_I, BPShop_II, BPShop_III, BPShop_IV의 부분을, 하기의 단계 ST43-1∼ST43-9에서 설명하는 의사 난수 치환 행렬 ELHP( cw' ,rw')로 치환한다. After the calculations, such as calculations carried out in step ST32 Example 3, pseudo-random numbers is described in the substitution matrix hop _I BPS, BPS _II hop, hop _III BPS, BPS hop _IV step of ST43-1~ST43-9 to the part of The pseudo random number substitution matrix ELHP ( cw ' , rw') is substituted.
의사 난수 치환 행렬 BPShop_I, BPShop_II, BPShop_III, BPShop_IV의 행 방향의 최대 개수는 4이기 때문에(실시예 3의 단계 ST33-7에서 설명), 남는 열 차수 d-4=12를, 이하의 단계 ST44에서 설명하는 의사 난수 치환 행렬 cIcw, cIIcw, cIIIcw, cIVcw에서 cw=3에 의해 실현된다. cw=3의 경우, 의사 난수 치환 행렬 cIcw, cIIcw, cIIIcw, cIVcw의 사용 개수=남는 열 차수 12/cw=4로 되어 cIcw, cIIcw, cIIIcw, cIVcw의 4개의 조합을 열 방향으로 나열하여 이용한다. The maximum number of pseudo-random number permutation matrix in the row direction hop _I BPS, BPS _II hop, hop _III BPS, BPS hop _IV 4 is because (prepared as described in step ST33-7 of Example 3), the remaining column degree d-4 = 12 a is realized by cw = 3 in the pseudo-random number permutation matrix cw cI, cII cw, cIII cw, cIV cw that is described in the following step ST44. For cw = 3, the number of pseudorandom substitution matrices cI cw , cII cw , cIII cw , cIV cw = remaining number of
부호 길이=검사 행렬 H의 열수 N=k/rate=120/(1/3)=360, Sign length = column of check matrix H N = k / rate = 120 / (1/3) = 360,
검사 행렬 H의 행수 M=N×(1-rate)=360×(2/3)=240, The number of rows in the check matrix H M = N × (1-rate) = 360 × (2/3) = 240,
의사 난수 치환 행렬의 사이즈 p·b=M/(의사 난수 치환 행렬 BPShop_I, BPShop_II, BPShop_III, BPShop_IV의 사용 개수+의사 난수 치환 행렬 cIcw, cIIcw, cIIIcw, cIVcw의 사용 개수)=240/8=30. 따라서 예컨대, 제 1 및 제 2 의사 난수 치환 행렬을 생성하기 위한 파라미터는, p=6, b=5로 된다. Pseudo-random number substituted size p · b = M / (pseudo-random number permutation matrix of the matrix BPS hop _I, BPS hop _II, BPS hop _III, using the number of BPS hop _IV + pseudo-random number permutation matrix cI cw, cII cw, cIII cw, cIV number of uses of cw ) = 240/8 = 30. Therefore, for example, the parameters for generating the first and second pseudorandom substitution matrices are p = 6 and b = 5.
여기까지는 실시예 3에서 구한 p와 b의 값이며, 이하와 같은 검사 행렬 H를 상정하고 있다. Until now, it is the value of p and b calculated | required in Example 3, and the following test matrix H is assumed.
이 검사 행렬 H의 의사 난수 치환 행렬 BPShop_I, BPShop_II, BPShop_III, BPShop_IV로 구성되는 예컨대, 열 차수 4×행 차수 4에서A substituted pseudo-random number of the check matrix H, the matrix BPS _I hop, hop _II BPS, BPS hop _III, for example consisting of BPS hop _IV, column order in the row order of 4 × 4
의 4·p·b×4·p·b 부분 행렬을 이하의 검사 행렬 H와 같은 열 차수 cw'=4, 행 차수 rw'=4의 의사 난수 치환 행렬 p'·b'×p'·b'=4·p·b×4·p·b의 ELHP(cw'=4,rw'=4)로 치환하는 구조로 한다. The 4 · p · b × 4 · p · b sub-matrix of P is the pseudorandom substitution matrix p '· b' × p '· b with column order cw' = 4 and row order rw '= 4 It is set as the structure substituted by ELHP (cw '= 4, rw' = 4) of '= 4 * p * b * 4 * p *.
따라서, 예컨대, p=6, b=5로부터 p'·b'=4·p·b=4·30=120으로 된다. 따라서, 예컨대, 제 3 의사 난수 치환 행렬을 생성하기 위한 파라미터는, p'=12, b'=10으로 된다. Therefore, for example, p'6'b '= 4'p'b'4'30'120' from p = 6 and b = 5. Therefore, for example, the parameters for generating the third pseudo random number substitution matrix are p '= 12 and b' = 10.
단계 ST43에 있어서, 의사 난수 치환 행렬 생성부(43)는, 상기 단계 ST42에서 산출된 제 3 의사 난수 치환 행렬을 위한 파라미터 및 제 2 의사 난수 치환 행렬을 위한 파라미터에 의해, 의사 난수 계열과 라틴 스퀘어 행렬을 사용하여 제 1 의사 난수 치환 행렬(제 2 의사 난수 치환 행렬을 위한 파라미터와 공통의 파라미터에 의해 생성됨)을 생성하고, 생성한 제 1 의사 난수 치환 행렬의 행과 열을 더 치환 확장하여 제 3 의사 난수 치환 행렬을 생성한다. In step ST43, the pseudo random number substitution
즉, 여기서는, 단계 ST42에서 구한 p'와 b'로부터, 하기의 단계 ST43-1∼ST43-9에 의해, 제 3 의사 난수 치환 행렬 ELHP( cw' ,rw')를 작성한다. In other words, here, from p 'and b' obtained in step ST42, the third pseudo-random substitution matrix ELHP ( cw ' , rw') is created by the following steps ST43-1 to ST43-9.
또한, 이 단계 ST43에 있어서, 제 1 의사 난수 치환 행렬을 또한 행 방향으로 압축하여 제 2 의사 난수 치환 행렬을 생성하는 방법은, 실시예 3의 단계 ST33-1~ST33-8까지의 처리와 동일하다. In this step ST43, the method for generating the second pseudo random number substitution matrix by further compressing the first pseudo random number substitution matrix in the row direction is the same as the processing from steps ST33-1 to ST33-8 of the third embodiment. Do.
[단계 ST43-1][ST43-1]
이하의 식으로 정의되는 기본 란수 계열 Cinit(i)를 생성한다. 이 인덱스의 init는 Cinit(1)의 값, 즉 초기값을 나타낸다. Produces the base column number C init (i), defined by The init of this index represents the value of C init (1), that is, the initial value.
여기서 P는 P>p'로 되는 소수이며, G0은 GF(P)의 원시원이다. 또, GF(P)의 요소인 G0의 연속하는 누승의 값(예컨대, G0 1, G0 2, ..., G0 P -1=1)이 GF(P)의 영이 아닌 모든 요소를 나타내는 경우, G0을 원시원라고 부른다. 이 계열 Cinit(i)은 요소간의 차분이 비균일이며 중복하는 요소가 없는 의사 난수 계열로 된다. 다음에 Cinit(i)의 요소로부터 p'보다 큰 수를 추출한다. Where P is a prime number where P> p 'and G 0 is the source of GF (P). In addition, all elements of successive powers of G 0 which are elements of GF (P) (for example, G 0 1 , G 0 2 , ..., G 0 P -1 = 1) are all elements that are not zero of GF (P). In the case of, G 0 is called a primitive source. This series C init (i) is a pseudorandom series with non-uniform differences between elements and no overlapping elements. Next, extract a number greater than p 'from the elements of C init (i).
예로서 P=7, G0=3, init=3, p'=6의 경우, For example, for P = 7, G 0 = 3, init = 3, p '= 6,
[단계 ST43-2][ST43-2]
하기 식에 의해 의사 난수 계열 및 그 치환 패턴을 요소로 갖는 행렬을 생성한다. The matrix which has a pseudorandom number series and its substitution pattern as an element is produced by the following formula.
p'=6인 경우의 예를 이하에 나타낸다. An example in the case of p '= 6 is shown below.
[단계 ST43-3][ST43-3]
하기 식에 의해 열 차수 cw', 행 차수 rw'의 기본 치환 행렬 패턴 LHP( cw' ,rw') (j,i)를 생성한다. The basic substitution matrix pattern LHP ( cw ' , rw') (j, i) of column order cw 'and row order rw' is generated by the following equation.
p'=6인 경우의 예를 이하에 나타낸다. An example in the case of p '= 6 is shown below.
[단계 ST43-4][ST43-4]
상기 단계 ST43-3까지에서, p'×p'의 기본 치환 행렬 패턴을 생성했다. 다음에 이것을 행 및 열에 관해서 b'배 하는 수순을 설명한다. In step ST43-3, a basic substitution matrix pattern of p'xp 'was generated. Next, the procedure for multiplying this by the row and column will be explained.
단계 ST43-1과 같은 수순으로 기본 란수 계열 을 생성한다. 이 은 Cinit(i)에 대하여 p'를 b'로 바꿔 생성한 기본 란수 계열이다. Base Ransu series in the same procedure as in step ST43-1 Create this Is the default column number generated by replacing p 'with b' for C init (i).
예로서 P=7, C0=3, init=3, b'=6인 경우, For example, if P = 7, C 0 = 3, init = 3, b '= 6,
[단계 ST43-5][Step ST43-5]
하기 식에 의해 의사 난수 계열 및 그 치환 패턴을 요소로 갖는 라틴 스퀘어 행렬 Lj(q,l)을 생성한다. The following formula produces a Latin square matrix L j (q, l) having a pseudorandom number series and its substitution pattern as an element.
이 조작에 의해, Lh(q,l)를 사용하여 라틴 스퀘어를 생성할 수 있다. By this operation, Latin square can be generated using L h (q, l).
p'=6인 경우의 예를 이하에 나타낸다. An example in the case of p '= 6 is shown below.
[단계 ST43-6][Step ST43-6]
하기 식에 의해, 열 차수 cw', 행 차수 rw'의 기본 치환 행렬 패턴 LHP(cw',rw')(j,i)를 b'배로 확장하기 위한 행렬 Lb'P( cw' ,rw')(j,i)를 생성한다. The matrix L b ' P ( cw' , rw ' ) for extending the basic substitution matrix pattern LHP (cw', rw ') (j, i) of column order cw' and row order rw 'by b ' ) produces (j, i)
p'=6인 경우의 예를 이하에 나타낸다. An example in the case of p '= 6 is shown below.
[단계 ST43-7][Step ST43-7]
하기 식에 의해, 열 방향으로 확장하는 기본 치환 행렬 패턴 eLHP(cw',rw')(i,j)를 생성한다. By the following formula, the basic substitution matrix pattern eLHP (cw ', rw') (i, j) which extends in a column direction is produced.
이하에 p'=6, b'=6, cw'=3, rw'=3인 경우의 예를 나타낸다. An example in the case where p '= 6, b' = 6, cw '= 3 and rw' = 3 is shown below.
[단계 ST43-8][ST43-8]
하기 식에 의해, 행 방향으로 확장하는 기본 치환 행렬 패턴 ELHP(cw',rw')(i,j)를 생성한다. By the following formula, a basic substitution matrix pattern ELHP (cw ', rw') (i, j) extending in the row direction is generated.
이하에 p'=6, b'=6, cw'=3, rw'=3인 경우의 예를 나타낸다. An example in the case where p '= 6, b' = 6, cw '= 3 and rw' = 3 is shown below.
[단계 ST43-9][ST43-9]
기본 치환 패턴 ELHP( cw' ,rw')(i,j)로부터, 하기 식에 의해 정의되는 2원 p'·b'×p'·b' 행렬 ELHP( cw' ,rw')=(hm ,n)를 생성한다. From the basic substitution pattern ELHP ( cw ' , rw') (i, j), the binary p '· b' × p '· b' matrix ELHP ( cw ' , rw') defined by the following equation = (h m , n )
이 조작에 의해, p'·b'×p'·b'의 열 차수 cw', 행 차수 rw'의 행렬을 생성하기 위한 기본 치환 행렬을 생성할 수 있다. 여기까지의 조작에 의해 열 차수 cw', 행 차수 rw'의 의사 치환 행렬을 생성할 수 있다. 이 의사 난수 치환 행렬의 열 차수 cw', 행 차수 rw'는 모두 4 이하이고 사이클 4가 존재하지 않는 경우가 많기 때문에, 열 차수 cw', 행 차수 rw'은 최대값을 4로 한다. By this operation, a basic substitution matrix for generating a matrix of column order cw 'and row order rw' of p'b'xp'b 'can be generated. By the above operations, a pseudo substitution matrix of column order cw 'and row order rw' can be generated. Since the column order cw 'and the row order rw' of the pseudo random number substitution matrix are all four or less and
단계 ST44에 있어서, 차수 분포 최적화용 파라미터 산출부(44)는 상기 단계 ST41에서 입력된 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용하여, 하기에 도시하는 바와 같이, 검사 행렬 생성의 차수 분포의 최적화를 위한 취할 수 있는 차수 분포의 조합의 파라미터를 산출한다. In step ST44, the order distribution
이들 ELHP( cw' ,rw')(i,j)와 cIcw, cIIcw, cIIIcw, cIVcw의 조합과 우/상삼각 0의 삼각 행렬을 이용하여, 실현 가능한 조합을 구한다. By using these ELHP (cw ', rw') of the triangular matrix (i, j) and cw cI, cII cw, cIII cw, cIV cw in combination with right / upper triangular zero obtains a feasible combination.
예컨대, 하기 검사 행렬 H에 대하여 좌단으로부터 1개의 의사 난수 치환 행렬 ELHP( cw' ,rw')와 4×1개(cw=3인 경우)의 의사 난수 치환 행렬 cIcw, cIIcw, cIIIcw, cIVcw가 배치 가능해진다. For example, one pseudo-random substitution matrix ELHP ( cw ' , rw') and 4x1 ( if cw = 3) pseudorandom substitution matrixes cI cw , cII cw , cIII cw , cIV cw becomes deployable.
이 취할 수 있는 차수 분포의 조합이 차수 분포의 최적화의 구속 조건으로 된다. The combination of order distributions that can be taken is a constraint of the optimization of the order distribution.
단계 ST45에 있어서, 차수 분포 최적화부(45)는, 상기 단계 ST44에서 산출된 취할 수 있는 차수 분포의 조합을 구속 조건으로 하여, 하기에 도시하는 바와 같이, 밀도 발전법 또는 멀티 에지 타입의 밀도 발전법에 의해, 검사 행렬 생성의 차수 분포를 최적화한다. In step ST45, the order
즉, 여기서는, 상기 단계 ST44에서 산출된 검사 행렬 생성의 차수 분포의 최적화를 위한 취할 수 있는 차수 분포의 조합의 구속 조건 아래, 실시예 1의 단계 ST15와 동일한 차수 분포의 최적화에 의해 가장 좋은 차수 분포를 구하더라도 좋 고, 또는, 이하에 설명하는 멀티 에지 타입의 밀도 발전법이라도 좋다. That is, here, the best order distribution is obtained by optimization of the same order distribution as in step ST15 of the first embodiment, under the constraint of the combination of order distributions that can be taken for the optimization of the order distribution of the generation of the test matrix calculated in step ST44. May be obtained, or the density generation method of the multi-edge type described below may be used.
상기 실시예 1에서 설명한 밀도 발전법은, irregular LDPC 부호 앙상블(차수의 분포를 나타내는 것)이 행 차수의 비율, 열 차수의 비율로 표현되는 것에 비하여, 멀티 에지 타입의 앙상블은 「에지(에지 타입)의 조합」(차수 타입)의 비율로 표현된다. 또, 멀티 에지 타입의 앙상블의 구조에서는, 어떤 비트를 펑쳐링할지까지 규정한 앙상블을 생각할 수 있어, 통신로 타입별의 고려가 가능하다.("Multi-Edge Type LDPC Codes DRAFT", T.Richardson, R.Urbanke, web 상)In the density generation method described in the first embodiment, an irregular LDPC code ensemble (indicating an order distribution) is expressed as a ratio of a row order and a ratio of a column order. In combination "(order type). In addition, in the structure of the multi-edge type ensemble, an ensemble that defines which bits to puncture can be considered, and consideration can be made for each communication channel type ("Multi-Edge Type LDPC Codes DRAFT", T. Richard Hardson). , On R. Urbanke, web)
도 14는 멀티 에지 타입의 앙상블의 예를 나타내는 도면이다. 통신로 타입(도 14의 예의 경우는 BEC(Binary Erasure Channel))의 통신로(b=(1 0))이거나, 분산값 σn 2의 가우스 분포에 따르는 노이즈가 부가된 통신로, 이른바 가법성 백색 가우스 잡음(AWGN)의 통신로(b=(0 1))를 b로 하고, 차수 타입 d의 배리어블 노드의 부호 길이 N에 대한 비율을 νb,d, 체크 노드의 부호 길이 N에 대한 비율을 μd라고 하면, 도 14는 도 15에 나타내는 표와 같이 표현된다. 14 is a diagram illustrating an example of an ensemble of a multi-edge type. The communication path (b = (1 0)) of the communication path type (BEC (Binary Erasure Channel in the case of the example of FIG. 14)) or a communication path to which noise is applied according to a Gaussian distribution of variance value σ n 2 , so-called additiveness A communication path (b = (0 1)) of white Gaussian noise (AWGN) is b, and a ratio of the code length N of the variable node of order type d to ν b, d and the code length N of the check node Assuming that the ratio is μ d , FIG. 14 is expressed as in the table shown in FIG. 15.
도 15는 irregular LDPC 부호의 차수 분포의 예를 나타내는 도면이다. 15 is a diagram illustrating an example of order distribution of an irregular LDPC code.
이하에 구체적인 검사 행렬의 예를 나타낸다. 예컨대, 도 15의 표의 Variable(배리어블 노드: 행렬의 각 열이 각각 배리어블 노드가 된다) b=(1 0)의 νb,d의 합계는 1이다. 도 15의 표의 Variable의 1번 상의 비율은 νb,d=0.5이며, d=(2 0 0 0)이지만, 이것은 도 15의 차수 분포에 따라 구성한 도 16에 나타내는 검사 행렬의 15열째로부터 24열째를 나타내고 있다. 도 15의 표의 Variable의 3번째 에는, νb,d=0.2, b=(1 0), d=(0 3 3 0)가 표시되어 있고, 도 16의 검사 행렬의 11열째로부터 14열째를 나타내고 있다. 이 부분은 소실 확률 1의 통신로를 의미하고 있고, 현실적으로는 이 부분의 부호 비트는 펑춰링되어 송신되지 않는다. 수신측에서는, 이 부분의 계산은 0과 1의 확률이 1/2이라는 값으로 계산된다. 수신값의 LLR(대수 우도비)로서는 0으로 된다. An example of the concrete test matrix is shown below. For example, the sum of v b, d of Variable (variable node: each column of the matrix becomes a barrier node) in the table of FIG. 15 is 1. The ratio of the first phase of the variable in the table of FIG. 15 is ν b, d = 0.5 and d = (2 0 0 0), but this is the 15th to 24th column of the test matrix shown in FIG. 16 constructed according to the degree distribution of FIG. Indicates. Ν b, d = 0.2, b = (1 0), d = (0 3 3 0) are displayed in the third variable in the table of FIG. 15, and the 11th to 14th columns of the test matrix of FIG. have. This part means a communication path with a loss probability of 1, and in reality, the sign bit of this part is punctured and not transmitted. On the receiving side, the calculation of this part is calculated such that the probability of 0 and 1 is 1/2. The LLR (log likelihood ratio) of the received value is zero.
도 15의 표의 Constraint는 체크 노드(행렬의 각 행이 각각 체크 노드)의 비율을 나타내고 있다. 도 15의 표의 Constraint의 1번 상의 비율은 μd=0.4이며, d=(4 1 0 0)이지만, 이것은 도 16의 검사 행렬의 5행째로부터 12행째를 나타내고 있다. Constraint in the table of FIG. 15 represents the ratio of check nodes (each row of the matrix is a check node respectively). The ratio of the first phase of the Constraint in the table of FIG. 15 is μ d = 0.4 and d = (4 1 0 0), but this represents the fifth to twelfth rows of the parity check matrix of FIG. 16.
또, 타입 i의 에지 중, 차수 타입 d의 노드에 접속하고 있는 에지의 비율은,In addition, among the edges of type i, the ratio of edges connected to nodes of order type d is
로 구해진다. (Standard Irregular LDPC의 λ, ρ에 대응하는 것)Obtained by (Corresponding to λ and ρ of Standard Irregular LDPC)
또, 1은 ALL1을 나타낸다. 1 represents ALL1.
다음에 멀티 에지 타입의 밀도 발전법에 대하여 설명한다. 멀티 에지 타입의 밀도 발전법에서는, 배리어블 노드로부터 체크 노드로의 메시지를 함께 정리하지 않고, 에지의 타입마다 확률 밀도 함수를 나눠 계산을 진행시킨다("Multi-edge Type LDPC Codes DRAFT", T.Richardson, R.Urbanke, web 상). Next, the density generation method of the multi-edge type is demonstrated. In the multi-edge-type density generation method, the probability density function is divided for each type of edge without the message from the variable node to the check node together ("Multi-edge Type LDPC Codes DRAFT", T. Richard Hardson). , R. Urbanke, on web).
행 처리(체크 노드로부터의 메시지)Row processing (messages from check nodes)
이제 에지 타입의 모든 집합을 I로 한다. 지금 i∈I에 대하여 에지 타입 i의 차수를 di, 에지 타입 i를 통해서 체크 노드로 송신되는 확률 밀도 함수를 Pvi, 에지 타입 i를 통해서 체크 노드로부터 송신되는 확률 밀도 함수를 Pui로 한다. Now let I set all the sets of edge types. Now, for i∈I, the order of edge type i is d i , the probability density function transmitted to the check node via edge type i is P vi , and the probability density function transmitted from the check node via edge type i is P ui . .
차수 타입마다 확률 밀도 함수를 계산하여, 에지 타입 i에 대한 에지의 비율을 곱해, 더하게 함으로써 에지 타입마다의 확률 밀도 함수를 계산한다. A probability density function for each edge type is calculated by calculating the probability density function for each order type, multiplying the ratio of the edges to the edge type i, and adding.
…(Al)… (Al)
∀j∈I\i ∀j∈I\i
또한, 반복 복호에서의 반복 수를 l로 하고, 에지 타입 i에 대하여 반복 l회째의 체크 노드의 앙상블 평균을 로 하면, 이하를 만족시키는 것이 합-곱 복호에서의 반복 복호에서 점근적으로 오류가 한없이 0에 가까워지는 필요 조건이다. In addition, the number of repetitions in the iterative decoding is set to l, and the ensemble average of the check nodes at the iterative l th time with respect to the edge type i is calculated. In this case, satisfying the following is a necessary condition that the error gradually approaches zero in repetitive decoding in sum-product decoding.
모든 에지 타입 i에 대하여 For all edge types i
열 처리(배리어블 노드로부터의 메시지)Thermal processing (messages from barrier nodes)
통신로 타입 b1, b2에 대한 차수를 db1, db2, … 초기값을 Pu0b1, Pu0b2, …로 한다.The order for the channel types b1, b2 is d b1 , d b2,. The initial values are P u0b1 , P u0b2 ,... Shall be.
차수 타입마다 확률 밀도 함수를 계산하고, 에지 타입 i에 대한 에지의 비율을 곱해, 더하게 함으로써 에지 타입마다의 확률 밀도 함수를 계산한다. Calculate the probability density function for each edge type by calculating the probability density function for each order type, multiplying the ratio of the edge to edge type i, and adding.
또한, 반복 복호에서의 반복 수를 l로 하고, 에지 타입 i에 대하여 반복 l회째의 배리어블 노드의 앙상블 평균을 로 하면, 이하를 만족시키는 것이 합-곱 복호에서의 반복 복호에서 점근적으로 오류가 한없이 0에 가까워지는 필요 조건이다. In addition, the number of repetitions in the iterative decoding is set to l, and the ensemble average of the iterable lth variable nodes for the edge type i is calculated. In this case, satisfying the following is a necessary condition that the error gradually approaches zero in repetitive decoding in sum-product decoding.
모든 에지 타입 i에 대하여For all edge types i
또한, 이하를 만족시키는 것이 합-곱 복호에서의 반복 복호에서 점근적으로 오류가 한없이 0에 가까워지는 필요 충분 조건이다. Furthermore, satisfying the following is a necessary and sufficient condition that the error gradually approaches zero in the iterative decoding in sum-product decoding.
식 (A2) 또는 식 (A4) 중 어느 하나를 만족하는 것. ··(A5) Satisfying either formula (A2) or formula (A4). (A5)
다음에, 멀티 에지 타입의 밀도 발전법에서의 최적화를 이용하여, 구해진 부호화율에 근거하는 「Irregular-LDPC 부호」의 앙상블(차수 배분)을 구한다. Next, using an optimization in the multi-edge type density generation method, an ensemble (order allocation) of "Irregular-LDPC code" based on the obtained coding rate is obtained.
통신로 타입 b, 차수 타입 d의 배리어블 노드의 부호 길이 N에 대한 비율을 νb,d, 체크 노드의 부호 길이 N에 대한 비율을 μd로 하여 각각 동시에 변수로서 취급하고, AWGN 통신로(통신로 타입 AWGN의 b1:=b=(01)) 가우스 노이즈 σn(하기 식)이 최대가 되도록, 선형 계획법으로 최적의 νb,d와 μd를 탐색한다. 이 때, 이 실시예에서는 통신로 타입은 AWGN의 b1:=b=(0 1)와 BEC의 b2:=b=(1 0)만으로 한다. Treat the ratio of the code length N of the variable node of the communication path type b and the order type d as ν b, d and the ratio of the code length N of the check node as μ d at the same time as the variable, respectively. In order to maximize the b1: = b = (01) Gaussian noise σ n (following equation) of the channel type AWGN, the optimal ν b, d and μ d are searched by linear programming. At this time, in this embodiment, the communication path type is set only to b1: = b = (0 1) of AWGN and b2: = b = (1 0) of BEC.
이 탐색에서의 구속 조건은, 조건식 (A5)을 만족시키는 것이다. Constraints in this search satisfy the conditional expression (A5).
이 때, 통신로 타입 b, 차수 타입 d, νb,d,μd의 변수의 취할 수 있는 값은 실시예 1 내지 실시예 4에서 설명한 생성 방법에 의한 검사 행렬 H의 제약 조건으로 도출되는 값만으로 한다. At this time, the possible values of the variables of the communication path type b, the order type d, ν b, d , μ d are values derived from the constraints of the test matrix H by the generation method described in the first to fourth embodiments. Only do it.
단계 ST46에 있어서, 검사 행렬 생성부(46)는 상기 단계 ST45에서 최적화된 검사 행렬 생성의 차수 분포에 의해, 하기에 도시하는 바와 같이, 상기 단계 ST43에서 생성된 제 3 및 제 2 의사 난수 치환 행렬을 배치하여 LDPC 부호용의 검사 행렬을 생성한다. In step ST46, the parity check
여기서는, 단계 ST43에서 구한 최적의 차수 분포의 조합을 이용하여, 제 3 의사 난수 치환 행렬 ELHP( cw' ,rw') 및 제 2 의사 난수 치환 행렬 cIcw, cIIcw, cIIIcw, cIVcw을 이용하여 검사 행렬 H를 생성한다. 각 의사 난수 치환 행렬의 배치에 관해서는 탐색 등에 의해 사이클 수를 확인하여 양호한 배치를 구한다. Here, the third pseudo-random substitution matrix ELHP ( cw ' , rw') and the second pseudo-random substitution matrix cI cw , cII cw , cIII cw , and cIV cw are used using the combination of the optimal order distribution obtained in step ST43. To generate the parity check matrix H. As to the arrangement of each pseudo random number substitution matrix, the number of cycles is checked by searching or the like to obtain a good arrangement.
실시예 3과 실시예 4의 구성법에 의한 LDPC 부호의 성능 평가 결과를 나타낸다. The performance evaluation result of the LDPC code by the construction method of Example 3 and Example 4 is shown.
도 17은 평가에 이용한 irregular LDPC 부호의 차수 분포의 예를 나타내는 도면이다. It is a figure which shows the example of order distribution of the irregular LDPC code used for evaluation.
도 18은 irregular LDPC 부호의 프레임 오류율 특성을 도시하는 도면이다. 18 is a diagram illustrating frame error rate characteristics of an irregular LDPC code.
이 도 18은, 도 17에 나타내는 이 차수 분포를 이용하여, 실시예 3을 이용하여 p=16, b=9, P=17, G0=3, init=9, hop=2의 파라미터를 이용하여 구성한 정보 길이 576비트, 부호화율 0.5의 LDPC 부호(도면 중의 ldpc576)와, 실시예 4를 이용하여 ELHP(cw,rw)의 파라미터로서 p=48, b=30, P=71, G0=7, init=13, cw=4, rw=4, cIcw, cIIcw, cIIIcw, cIVcw의 파라미터로서 p=30, b=12, P=31, G0=3, init=9, hop=1을 이용하여 구성한 정보 길이 1440비트, 부호화율 0.5의 LDPC 부호(도면 중의 ldpc1440)와, 실시예 4를 이용하여 ELHP( cw ,rw)의 파라미터로서 p=132, b=24, P=137, G0=3, init=13, cw=4, rw=4, cIcw, cIIcw, cIIIcw, cIVcw의 파라미터로서 p=33, b=34, P=53, G0=3, init=9, hop=2을 이용하여 구성한 정보 길이 3168비트, 부호화율 0.5의 LDPC 부호(도면 중의 ldpc3168)와, 실시예 4를 이용하여 ELHP( cw ,rw)의 파라미터로서 p=204, b=24, P=211, G0=3, init=13, cw=4, rw=4, cIcw, cIIcw, cIIIcw, cIVcw의 파라미터로서 p=51, b=24, P=53, G0=3, init=9, hop=2을 이용하여 구성한 정보 길이 4896비트, 부호화율 0.5의 LDPC 부호(도면 중의 ldpc4896)의 FER(프레임 오류율) 시뮬레이션 결과를 나타내고 있다. Fig. 18 uses parameters of p = 16, b = 9, P = 17, G 0 = 3, init = 9 and hop = 2 using Example 3 using this order distribution shown in Fig. 17. P = 48, b = 30, P = 71, G 0 = as a parameter of ELHP (cw, rw) by using the information length 576 bits, the LDPC code (ldpc576 in the figure) of code rate 0.5, and the fourth embodiment. 7, init = 13, cw = 4, rw = 4, cI cw , cII cw , cIII cw , cIV cw as parameters of p = 30, b = 12, P = 31, G 0 = 3, init = 9, hop P = 132, b = 24, P = 137 as a parameter of the LDPC code (ldpc1440 in the drawing) of the information length 1440 bits and code rate 0.5 constructed using = 1 and ELHP ( cw , rw) using Example 4 As parameters for G 0 = 3, init = 13, cw = 4, rw = 4, cI cw , cII cw , cIII cw , cIV cw , p = 33, b = 34, P = 53, G 0 = 3, init LDPC code (ldpc3168 in the drawing) having an information length of 3168 bits and a code rate of 0.5 configured using hop = 2 and p = 204, b = 24 as a parameter of ELHP ( cw , rw) using Example 4 , P = 211, G 0 = 3, init = 13, cw = 4, rw = 4, cI cw , cII cw , cIII cw , cIV cw as parameters of p = 51, b = 24, P = 53, G 0 = 3, init = 9, The FER (frame error rate) simulation result of the LDPC code (ldpc4896 in the figure) of information length 4896 bits and code rate 0.5 which were formed using hop = 2 is shown.
또, 도 18 중에는 비교를 위해 제 3 세대 통신(3 GPP)에 이용되고 있는 터보 부호의 동일 부호 길이, 부호화율인 것을 비교로 나타내고 있다(turbo576, turbo1440, turbo3168, turbo4896). 도 18을 보더라도 알 수 있듯이 종래 10000비트 이하의 짧은 부호 길이에서는 터보 부호가 우위라고 되어 왔지만, 본 발명에 의해 정보 길이 576비트에서 거의 동등 성능을 나타내고, 그것보다 긴 정보 길이에서는 항상 제안의 LDPC 부호의 성능이 우위로 되어 있어, 매우 높은 성능을 나타내는 부호 구성법인 것을 확인할 수 있다. In Fig. 18, the same code lengths and coding rates of turbo codes used in third-generation communication (3GPP) are compared for comparison (turbo576, turbo1440, turbo3168, turbo4896). As can be seen from FIG. 18, the turbo code has been superior in the short code length of 10000 bits or less. However, according to the present invention, almost equivalent performance is achieved at the information length of 576 bits. Has the superior performance, and it can be confirmed that it is a code construction method showing very high performance.
종래 방식의 LDPC 부호에서는, 10000 비트 이상의 부호 길이에서 좋은 성능을 나타내고 있지만, 반대로 부호 길이 10000 비트 이하에서는 터보 부호가 우위라고 말하고 있다. 그러나, 도 18에서는, 정보 길이 4896비트(부호화율 0.5이기 때문에 부호 길이 9792비트)이고, 터보 부호보다 좋은 성능을 나타내고 있다. 또한, 부호 길이가 길어짐에 따라서 터보 부호보다 성능이 좋아지는 경향도 나타내고 있다. 종래의 LDPC 부호에서는 이 10000 비트 정도의 부호 길이에서 터보 부호와 동등 성능을 나타내고 있지만, 본 발명에서는, 부호 길이 1000비트 정도(도 18에서는 정보 길이 576비트, 부호화율 0.5이기 때문에 부호 길이 1152비트)에서 터보 부호와 동등 성능을 나타내고 있다. In the conventional LDPC code, a good performance is achieved at a code length of 10000 bits or more, but on the contrary, a turbo code is said to be superior at a code length of 10000 bits or less. However, in Fig. 18, the information length is 4896 bits (code length 9792 bits because the coding rate is 0.5), which shows better performance than turbo codes. Further, as the code length becomes longer, the performance tends to be better than that of the turbo code. In the conventional LDPC code, the performance is equivalent to that of a turbo code at a code length of about 10000 bits, but in the present invention, the code length is about 1000 bits (in Fig. 18, an information length of 576 bits and a code rate of 0.5 is 1152 bits). Shows the same performance as the turbo code.
이상과 같이, 이 실시예 4에 따르면, 실시예 1과 동일한 효과를 얻을 수 있고, 또한, 멀티 에지 타입의 밀도 발전법을 사용함으로써, 오류 정정 능력이 양호한 LDPC 부호의 검사 행렬을 생성할 수 있다고 하는 효과를 더 얻을 수 있다. As described above, according to the fourth embodiment, the same effects as those of the first embodiment can be obtained, and by using the multi-edge type density generation method, an LDPC code with a good error correction capability can be generated. You can get more effect.
(실시예 5)(Example 5)
도 19는 본 발명의 실시예 5에 따른 LDPC 부호용의 검사 행렬 생성 장치의 구성을 나타내는 블럭도이다. 이 실시예 5의 검사 행렬 생성 장치는, 의사 난수 치환 행렬 생성부(13), 검사 행렬 생성부(16), 의사 난수 치환 행렬용 파라미터 저장부(17) 및 차수 분포 저장부(18)를 구비하고 있다. 이 검사 행렬 생성 장치는, 도 4에서의 송신측 및 수신측의 통신 장치 내에 탑재되며, 생성한 검사 행렬을 부호화기(101) 및 복호기(105)에 출력하더라도 좋고, 송신측 및 수신측의 통신 장치 밖에 설치되고, 생성한 검사 행렬을 송신측 및 수신측의 통신 장치 내의 메모리(도시하지 않음)에 저장하여 부호화기(101) 및 복호기(105)에 출력하더라도 좋다. Fig. 19 is a block diagram showing the structure of a parity check matrix generation device for LDPC codes according to the fifth embodiment of the present invention. The parity check matrix generating apparatus of the fifth embodiment includes a pseudo random number
도 19에서, 의사 난수 치환 행렬용 파라미터 저장부(17)는, 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용하여 산출된 의사 난수 치환 행렬을 위한 파라미터를 저장하고 있다. 이 의사 난수 치환 행렬을 위한 파라미터는, 외부에서 실시예 1과 마찬가지로 하여 생성된다. 의사 난수 치환 행렬 생성부(13)는, 의사 난수 치환 행렬용 파라미터 저장부(17)에 저장되어 있는 의사 난수 치환 행렬을 위한 파라미터에 의해, 의사 난수 계열과 라틴 스퀘어 행렬을 사용하여 의사 난수 치환 행렬을 생성한다. In Fig. 19, the pseudo random number substitution
또한, 차수 분포 저장부(18)는, 소정의 정보 길이, 부호화율 및 열의 최대 차수를 이용해서 산출된 의사 난수 치환 행렬을 사용하여 구성 가능한 검사 행렬 생성의 차수 분포의 최적화를 위한 취할 수 있는 차수 분포의 조합을 구속 조건으로 하여, 밀도 발전법에 의해 최적화된 검사 행렬 생성의 차수 분포를 저장하고 있다. 이 검사 행렬 생성의 차수 분포는, 외부에서 실시예 1과 마찬가지로 하여 최적화되어 있다. 검사 행렬 생성부(16)는, 차수 분포 저장부(18)에 저장되어 있는 최적화된 검사 행렬 생성의 차수 분포에 의해, 생성된 의사 난수 치환 행렬을 배치하여 저밀도 패리티 검사 부호용의 검사 행렬을 생성한다. In addition, the order
이 실시예 5에서는, 실시예 1의 의사 난수 치환 행렬 생성부(13) 및 검사 행렬 생성부(16) 및 의사 난수 치환 행렬용 파라미터 저장부(17) 및 차수 분포 저장부(18)에 의해 구성하고 있지만, 실시예 2의 의사 난수 치환 행렬 생성부(23) 및 검사 행렬 생성부(26) 및 의사 난수 치환 행렬용 파라미터 저장부(27) 및 차수 분포 저장부(28)(도시하지 않음)에 의해 구성하더라도 좋고, 실시예 3의 의사 난수 치환 행렬 생성부(33) 및 검사 행렬 생성부(36) 및 의사 난수 치환 행렬용 파라미터 저장부(37) 및 차수 분포 저장부(38)(도시하지 않음)에 의해 구성하더라도 좋고, 실시예 4의 의사 난수 치환 행렬 생성부(43) 및 검사 행렬 생성부(46) 및 의사 난수 치환 행렬용 파라미터 저장부(47) 및 차수 분포 저장부(48)(도시하지 않음)에 의해 구성하더라도 좋다. In the fifth embodiment, the pseudo random number substitution
이상과 같이, 이 실시예 5에 따르면, 실시예 1과 동일한 효과를 얻을 수 있다. As described above, according to the fifth embodiment, the same effects as in the first embodiment can be obtained.
(실시예 6) (Example 6)
도 20은 본 발명의 실시예 6에 따른 통신 장치의 구성을 나타내는 블럭도이다. 송신측의 통신 장치(201)는, 실시예 1 내지 실시예 5 중 어느 하나의 검사 행렬 생성 장치(100)와, 부호화기(101)와 변조기(102)를 구비하고 있다. 또한, 수신측의 통신 장치(202)는, 실시예 1 내지 실시예 5 중 어느 하나의 검사 행렬 생성 장치(100)와, 복조기(104)와 복호기(105)를 구비하고 있다. 20 is a block diagram showing the construction of a communication device according to a sixth embodiment of the present invention. The communication device 201 on the transmitting side includes the parity check
송신측의 통신 장치(201)에 있어서, 검사 행렬 생성 장치(100)는 실시예 1 내지 실시예 5 중 어느 하나의 방법에 의해 검사 행렬 H를 생성하고, 부호화기(101)는, 생성된 검사 행렬 H를 사용하여 생성 행렬 G를 구하고, 그리고, 메시 지(u1 u2 … uK)를 수취하며, 구한 생성 행렬 G를 이용하여 부호 워드 C를 생성한다. 변조기(102)는, 생성한 부호 워드 C에 대하여, BPSK, QPSK, 다치 QAM 등의 디지털 변조를 행하여 송신한다. In the communication device 201 on the transmission side, the parity check
수신측의 통신 장치(202)에 있어서, 검사 행렬 생성 장치(100)는 실시예 1 내지 실시예 5 중 어느 하나의 방법에 의해 검사 행렬 H를 생성하고, 복조기(104)는, 통신로(103)를 거쳐 수취한 변조 신호에 대하여, BPSK, QPSK, 다치 QAM 등의 디지털 복조를 행하고, 복호기(105)가, LDPC 부호화된 복조 결과에 대하여, 생성된 검사 행렬을 이용하여 「합-곱 알고리즘」에 의한 반복 복호를 실시하고, 추정 결과(원래의 u1 u2 … uK에 대응)를 출력한다. In the communication device 202 on the receiving side, the parity check
이상과 같이, 이 실시예 6에 따르면, 실시예 1 내지 실시예 5 중 어느 하나의 검사 행렬 생성 장치(100)를 사용함으로써, 확정적이고 특성이 안정하며, 오류 정정 능력이 양호하고, 또한 다양한 앙상블, 부호 길이, 부호화율에 대응한 Irregular-LDPC 부호용의 검사 행렬을 사용할 수 있다고 하는 효과를 얻을 수 있다. As described above, according to the sixth embodiment, by using the parity check
이상과 같이, 본 발명에 따른 검사 행렬 생성 장치 및 검사 행렬 생성 방법은, 예컨대, 확정적이고 특성이 안정하며, 오류 정정 능력이 양호하고, 또한 다양한 앙상블, 부호 길이, 부호화율에 대응한 LDPC 부호용의 검사 행렬을 단시간에 용 이하게 생성하는 것에 적합하다. As described above, the parity check matrix generating apparatus and the parity check matrix generating method according to the present invention are, for example, for LDPC codes corresponding to deterministic and stable characteristics, good error correction capability, and corresponding to various ensembles, code lengths, and coding rates. It is suitable to easily generate the test matrix of.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020077007540A KR20070085244A (en) | 2007-04-02 | 2004-10-08 | Test matrix generation method and communication method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020077007540A KR20070085244A (en) | 2007-04-02 | 2004-10-08 | Test matrix generation method and communication method |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070085244A true KR20070085244A (en) | 2007-08-27 |
Family
ID=38613184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077007540A KR20070085244A (en) | 2007-04-02 | 2004-10-08 | Test matrix generation method and communication method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20070085244A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101110201B1 (en) * | 2007-10-31 | 2012-02-15 | 연세대학교 산학협력단 | Parallel Latin Dustproof Interleaving Method and Device in Communication System |
US8861719B2 (en) | 2012-04-02 | 2014-10-14 | Samsung Electronics Co., Ltd. | Method of generating a random permutation, random permutation generating device, and encryption/decryption device having the same |
-
2004
- 2004-10-08 KR KR1020077007540A patent/KR20070085244A/en not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101110201B1 (en) * | 2007-10-31 | 2012-02-15 | 연세대학교 산학협력단 | Parallel Latin Dustproof Interleaving Method and Device in Communication System |
US8201030B2 (en) | 2007-10-31 | 2012-06-12 | Samsung Electronics Co., Ltd. | Method and apparatus for parallel structured Latin square interleaving in communication system |
US8861719B2 (en) | 2012-04-02 | 2014-10-14 | Samsung Electronics Co., Ltd. | Method of generating a random permutation, random permutation generating device, and encryption/decryption device having the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pishro-Nik et al. | Results on punctured low-density parity-check codes and improved iterative decoding techniques | |
US7516388B2 (en) | LDPC code inspection matrix generation method | |
JP4163023B2 (en) | Parity check matrix generation method and parity check matrix generation apparatus | |
US7222284B2 (en) | Low-density parity-check codes for multiple code rates | |
JP4598085B2 (en) | Check matrix generation method | |
US7395494B2 (en) | Apparatus for encoding and decoding of low-density parity-check codes, and method thereof | |
US8185797B2 (en) | Basic matrix, coder/encoder and generation method of the low density parity check codes | |
KR101021465B1 (en) | Signal receiving device and method in communication system using low density parity check code | |
US8176380B2 (en) | Algebraic construction of LDPC (low density parity check) codes with corresponding parity check matrix having CSI (cyclic shifted identity) sub-matrices | |
US7089479B2 (en) | LDPC code inspection matrix generation method and inspection matrix generation device | |
EP1526647B1 (en) | Generation of a check matrix for irregular low-density parity-check (LDPC) codes | |
JP4772689B2 (en) | Check matrix generation method and communication method | |
Yao et al. | LDGM codes-based near-optimal coding for adaptive steganography | |
US7406648B2 (en) | Methods for coding and decoding LDPC codes, and method for forming LDPC parity check matrix | |
KR20070085244A (en) | Test matrix generation method and communication method | |
KR100632268B1 (en) | LDPC code encoding and decoding method, and LDPC parity check matrix formation method. | |
Lulu | Construction Of Ldpc Codes Using Randomly Permutated Copies Of Parity Check Matrix | |
Vatta et al. | Low complexity bounds on a class of irregular LDPC belief-propagation decoding thresholds | |
Ortega Sánchez-Colomer | Low density parity check codes | |
Dolecek | Chapter Overview | |
Greferath et al. | Performance Analaysis of Low-Density Parity-Check Codes Derived from Finite Inversive Spaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20070402 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |