KR100639914B1 - 병렬연접 ldpc 부호의 패러티 검사 행렬 형성 방법. - Google Patents
병렬연접 ldpc 부호의 패러티 검사 행렬 형성 방법. Download PDFInfo
- Publication number
- KR100639914B1 KR100639914B1 KR1020040066627A KR20040066627A KR100639914B1 KR 100639914 B1 KR100639914 B1 KR 100639914B1 KR 1020040066627 A KR1020040066627 A KR 1020040066627A KR 20040066627 A KR20040066627 A KR 20040066627A KR 100639914 B1 KR100639914 B1 KR 100639914B1
- Authority
- KR
- South Korea
- Prior art keywords
- ldpc code
- node
- ldpc
- equation
- probability density
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/01—Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/015—Simulation or testing of codes, e.g. bit error rate [BER] measurements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2703—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
- H03M13/2707—Simple row-column interleaver, i.e. pure block interleaving
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 제 1 LDPC 부호 및 제 2 LDPC 부호 및 이들을 연결하는 인터리버로 구성된 병렬연접 LDPC 부호의 패러티 검사행렬의 형성 방법에 있어서, (a) 상기 제 1 LDPC 부호의 디그리 분포 및 상기 제 2 LDPC 부호의 디그리 분포를 구하는 단계, 및 (b) 상기 디그리 분포를 만족하는 상기 제 1 LDPC 부호의 패러티 검사행렬 및 상기 제 2 LDPC 부호의 패러티 검사행렬을 형성하는 단계를 포함하며, 상기 (a) 단계에 있어서, 상기 제 1 및 2 LDPC 부호의 디그리 분포는 밀도전개 방법에 의한 성능 측정을 이용하여 구하여지며, 상기 밀도전개 방법에 있어서, 상기 제 1 LDPC 부호의 변수노드에서 체크노드로 전달되는 메시지의 확률밀도는 상기 제 2 LDPC 부호로부터 출력되는 외부 정보의 확률 밀도를 반영하며, 상기 제 2 LDPC 부호의 변수노드에서 체크노드로 전달되는 메시지의 확률밀도는 상기 제 1 LDPC 부호로부터 출력되는 외부 정보의 확률 밀도를 반영하는 것을 특징으로 하는 병렬연접 LDPC 부호의 패러티 검사행렬의 형성 방법을 제공한다.
오류정정 부호(error-correcting codes), 저밀도 패러티 검사 부호(low-density parity-check codes, LDPC codes), 척도 없는 네트워크(scale-free networks), 이레이져 채널(erasure channel).
Description
도 1은 병렬연접 LDPC 부호화기를 간략히 나타낸 도면이다.
도 2는 병렬연접 LDPC 복호화기를 간략히 나타낸 도면이다.
도 3은 도2의 병렬연접 LDPC 복호화기를 이분 그래프(bipartite graph)로 개념적으로 표현한 도면이다.
도 4는 하삼각 형태의 패러티 검사 행렬을 나타내는 도면이다.
도 5는 부호율 1/2, 부호어 길이 1000 비트인 LDPC 부호에 대해 BPSK 변조와 AWGN 채널을 가정하여 시뮬레이션한 결과를 나타내는 그래프이다.
도 6은 부호율 1/3, 부호어 길이 1500 비트인 LDPC 부호에 대해 BPSK 변조와 AWGN 채널을 가정하여 시뮬레이션한 결과를 나타내는 그래프이다.
도 7은 부호율 1/4, 부호어 길이 2000 비트인 LDPC 부호에 대해 BPSK 변조와 AWGN 채널을 가정하여 시뮬레이션한 결과를 나타내는 그래프이다.
도 8은 본 발명의 제 1 실시예에 의한 병렬연접 LDPC 부호의 패러티 검사행렬의 형성 방법을 나타내는 흐름도이다.
본 발명은 무선통신시스템에서 데이터의 에러를 감지하고 바로 잡는 채널코딩(channel coding) 기술에 관한 것이다. 구체적으로 채널부호 (channel code)로 사용되는 LDPC(low-density parity-check) 부호를 병렬로 연접하여 최적의 성능을 갖는 병렬연접 LDPC 부호의 패러티 검사행렬을 형성하는 방법에 관한 것이다.
LDPC부호를 채널부호로 사용하기 위한 노력은 많이 이루어져 왔다. 갤러거(Gallager)에 의해 처음 제시된 LDPC부호는 오랫동안 잊혀져 왔으나 최근 터보(Turbo) 부호, 그래프 상의 부호등에 대한 관심이 증가하면서 맥케이(Mackay)와 닐(Neal)에 의해 재발견 되었고 채널용량에 근접하는 우수한 부호임이 입증되었다. 이와 관련된 내용은 "R. G. Gallager, Low density parity check codes, MIT Press, Cambridge, MA, 1963.", 및 "D. J. C. MacKay and R. M. Neal, Near Shannon limit performance of low density parity check codes, Electron. Lett., vol. 33, no. 6, pp. 457-458, Mar. 1997."에 잘 나타나 있다. 특히, 리차드슨(Richardson) 등은 균일(regular) 및 비균일(irregular) LDPC 부호의 성능 분석을 위한 밀도전개(density evolution) 방법을 제시하였는데 이를 사용하면 무한블럭길이를 갖는 LDPC 부호의 성능을 분석할 수 있기 때문에 무한길이 LDPC 부호의 최적 화가 가능하게 되었다. 이는 "T. J. Richardson, M. A. Shokrollahi, and R. L. Urbanke, Design of Capacity-Approaching Irregular Low-Density Pairty-Check Codes, IEEE Trans. Inform. Theory, vol. 47, pp. 619-637, Feb, 2001."에 잘 나타나 있다. 밀도전개는 변수 노드(variable node)와 체크 노드(check node)의 디그리 분포(degree distribution)를 따르는 LDPC 부호 앙상블(ensemble)의 평균적인 성능을 기술한다. 패러티 검사행렬의 관점에서 보면 주어진 디그리 분포를 따르도록 패러티 검사행렬의 각 열과 행이 포함하는 '1'의 개수가 정해져 있고 '1'의 위치가 랜덤하게 결정된다고 가정할 때 생성되는 부호 앙상블의 평균적 성능을 검사하는 것이다.
병렬연접 LDPC 부호는 두개의 LDPC 부호가 인터리버(interleaver)를 사이에 두고 연결된 구조를 가진다. 각 LDPC 부호는 서로 독립적인 변수 노드(variable node) 및 체크 노드(check node) 디그리 분포(degree distribution)에 의해 기술된다. 병렬연접 LDPC 부호의 성능은 병렬연접 LDPC 부호의 패러티 검사행렬에 의하여 결정된다.
본 발명은 두 개 혹은 그 이상의 LDPC부호를 연접시켜서 얻어지는 부호의 성능분석과 최적화된 부호의 제작을 목적으로 하고 있다. 즉, 본 발명은 최적의 성능을 갖는 병렬연접 LDPC부호의 디자인을 목적으로 무한길이 병렬연접 LDPC부호의 성능을 분석할 수 있는 방법을 제시하고 나아가 이를 이용하여 최적의 성능을 갖는 유한길이 부호를 제작하는 방법을 제공한다.
상술한 목적을 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은 제 1 LDPC 부호 및 제 2 LDPC 부호 및 이들을 연결하는 인터리버로 구성된 병렬연접 LDPC 부호의 패러티 검사행렬의 형성 방법에 있어서, (a) 상기 제 1 LDPC 부호의 디그리 분포 및 상기 제 2 LDPC 부호의 디그리 분포를 구하는 단계, 및 (b) 상기 디그리 분포를 만족하는 상기 제 1 LDPC 부호의 패러티 검사행렬 및 상기 제 2 LDPC 부호의 패러티 검사행렬을 형성하는 단계를 포함하며, 상기 (a) 단계에 있어서, 상기 제 1 및 2 LDPC 부호의 디그리 분포는 밀도전개 방법에 의한 성능 측정을 이용하여 구하여지며, 상기 밀도전개 방법에 있어서, 상기 제 1 LDPC 부호의 변수노드에서 체크노드로 전달되는 메시지의 확률밀도는 상기 제 2 LDPC 부호로부터 출력되는 외부 정보의 확률 밀도를 반영하며, 상기 제 2 LDPC 부호의 변수노드에서 체크노드로 전달되는 메시지의 확률밀도는 상기 제 1 LDPC 부호로부터 출력되는 외부 정보의 확률 밀도를 반영하는 것을 특징으로 하는 병렬연접 LDPC 부호의 패러티 검사행렬의 형성 방법을 제공한다.
이하 도면을 참조하여 본 발명의 이론적 개념을 설명한다.
1. LDPC 부호화 과정.
부호화 과정은 도 1을 참조하여 설명한다. 도 1은 병렬연접 LDPC 부호화기를 간략히 나타낸 도면이다. 도 1을 참조하면, 병렬 연접 LDPC 부호화기는 제 1 LDPC 부호화기(210), 인터리버(220) 및 제 2 LDPC 부호화기(230)를 포함한다. 제 1 및 2 LDPC 부호화기(210, 230)는 각 부호화기에 입력되는 데이터를 LDPC 부호화하여 출력한다. 인터리버(220)은 입력되는 데이터를 인터리빙하여 즉 순서를 바꾸어 출력한다.
병렬 연접 부호화기는 입력되는 데이터인 정보블럭(information block)을 세 줄기로 분기시킨다. 첫 번째 줄기는 변조(modulation)를 거쳐 채널(channel)로 보내어지고, 두 번째 줄기는 제 1 LDPC 부호화기(210)에 의해 제 1 패러티 블록을 얻은 다음 변조를 거쳐 채널로 보내어지고, 세 번째 줄기는 인터리버(220)에 의해 인터리빙이 된 후 제 2 LDPC 부호화기(230)에 의해 제 2 패러티 블럭을 얻은 다음 변조를 거쳐 채널로 보낸다.
2. LDPC 복호화 과정
복호화 과정은 도 2 및 3을 참조하여 설명한다. 도 2는 병렬연접 LDPC 복호화기를 간략히 나타낸 도면이다. 도 3은 도2의 병렬연접 LDPC 복호화기를 이분 그래프(bipartite graph)로 개념적으로 표현한 도면이다. 도 2를 참조하면, 병렬 연접 LDPC 복호화기는 제 1 LDPC 복호화기(310), 인터리버(320), 제 2 LDPC 복호화기(330), 디인터리버(340) 및 판단기(350)를 포함한다. 제 1 및 2 LDPC 복호화기(310, 330)는 믿음전달 알고리즘(Belief propagation algorithm)을 사용하여 반복 복호(iterative decoding)를 수행한다. 인터리버(320)는 데이터의 순서를 뒤바꾸고, 디인터리버(340)는 인터리버(320)에서 뒤바뀐 데이터 순서를 원래의 순서로 바꾼다. 판단기(350)는 LDPC 부호화기에 입력되는 정보 블럭의 값이 무엇인지를 판단한다. 도 3을 참조하면 제 1 LDPC 복호화기의 이분 그래프(410)는 체크 노드(check node)와 변수노드(variable node) 및 이들을 연결하는 에지(edge)로 구성되어 있다. 변수노드 다시 정보 노드(information node)와 패러티 노드(parity node)로 구성되어 있다. 제 2 LDPC 복호화기의 이분 그래프(430)도 제 1 LDPC 복호화기와 동일한 구성을 가지고 있다. 도 2의 인터리버(320) 및 디인터리버(340)는 도면부호 420으로 표시되며, 이를 통하여 제 1 이분 그래프(410) 및 제 2 이분 그래프(430)의 정보노드가 상호 연결된다.
도 2를 참조하면, 각 LDPC 복호화기(310, 330)는 터보 복화화기(Turbo decoder) 와 비슷하게 APP(a posteriori probability) 복호화기로써, 정보 비트(information bits)에 대한 LLR(log-likelihood ratio)을 서로에게 제공한다.
각 LDPC 복호화기(310, 320)는 믿음전달 알고리즘(belief propagation algorithm)을 사용하여 반복복호(iterative decoding)를 수행한다. 매 반복복호마다 다른 복호화기로부터 인터리버(320) 또는 디인터리버(340)를 경유하여 넘겨 받은 외부정보(extrinsic information)를 입력으로 받고 새로운 외부정보(extrinsic information)를 생성하여 디인터리버(340) 또는 인터리버(320)를 경유하여 다른 복호화기에 넘겨준다. 한 번의 반복복호(iteration)는 변수노드 업데이트(variable node update), 체크노드 업데이트(check node update), 외부정보 생성(extrinsic information generation)의 순차적 과정으로 이루어 진다.
제 1 LDPC 복호화기(310) 에서의 복호과정은 아래와 같다.
첫째, 복호화기 1에서 제공하는 외부정보 E(1)를 입력으로 받아들인다.
둘째, 변수노드 메시지를 업데이트한다. 구체적으로, 변수노드에서 에지 e를 통해 체크노드로 전달되는 메시지 v(0) 는 다음과 같이 구한다. 즉, 변수노드의 디그리가 dv 이고 정보노드에 해당할 경우 수학식 1과 같이 외부정보를 더하며, 변수노드가 패러티 노드(parity node)에 해당하면 수학식 2와 같다.
여기서 u0
(0)는 변수노드에 해당하는 부호어 비트의 초기 LLR값이고 채널출력으로부터 얻을 수 있다. ui
(0)(i=1, 2, ..., dv-1)는 변수노드에 연결된 에지 중에서 에지 e를 제외한 다른 모든 에지를 통해 체크노드에서 내려오는 LLR 메시지이다.
셋째, 체크노드 메시지를 업데이트한다. 구체적으로, 디그리가 dc 인 체크노 드로부터 에지 e를 통해 변수노드로 전달되는 메시지를 u(0) 라고 하면, 수학식 3의 tanh 복호 규칙을 적용하여 {vi
(0)}로부터 u(0)를 업데이트한다.
여기서, νi
(0) (i = 1, 2, ..., dc
(0)-1)는 체크노드에 연결된 에지 중 에지 e를 제외한 다른 모든 에지를 통해 변수노드에서 올라오는 LLR 메시지들이다.
넷째, 외부정보를 생성한다. 구체적으로, 업데이트된 {ui
(0) } 로부터 각 정보노드에 대한 외부정보를 수학식 4와 같이 계산한다
여기서, ui
(0)(i = 1, 2, ..., dv)는 디그리 dv인 정보노드에 연결된 모든 에지를 통해 들어오는 LLR 메시지이다.
제 2 LDPC 복호화기(330)는 APP(a posteriori probability) 복호화기로써, 믿음전달 알고리즘(belief propagation algorithm)을 사용하여 반복복호(iterative decoding)를 수행한다. 매 반복복호마다 제 1 LDPC 복호화기(310)로부터 인터리버 (320)를 경유하여 넘겨 받은 외부정보(extrinsic information)(Π-1(E(0)))를 입력으로 받고 새로운 외부정보(E(1))를 생성하여 디인터리버(340)를 경유하여 제 1 LDPC 복호화기(310)로 복호화기에 넘겨준다. 한 번의 반복복호(iteration)는 변수노드 업데이트(variable node update), 체크노드 업데이트(check node update), 외부정보 생성(extrinsic information generation)의 순차적 과정으로 이루어 진다.
제 2 LDPC 복호화기(330)에서의 복호과정도 제 1 LDPC의 복호과정과 유사하며, 아래와 같다.
첫째, 제 1 LDPC 복호화기(310)에서 생성한 외부정보 E(0)을 입력으로 받아들인다.
둘째, 변수노드 메시지를 업데이트한다. 구체적으로, 변수노드에서 에지 e를 통해 체크노드로 전달되는 메시지 v(1) 는 다음과 같이 구한다. 즉, 변수노드의 디그리가 dv 이고 정보노드에 해당할 경우 수학식 5과 같이 외부정보를 더하며, 변수노드가 패러티 노드(parity node)에 해당하면 수학식 6와 같이 외부정보를 더한다.
여기서 u0
(1)는 변수노드에 해당하는 부호어 비트의 초기 LLR값이고 채널출력으로부터 얻을 수 있다. ui
(1)(i=1, 2, ..., dv-1)는 변수노드에 연결된 에지 중에서 에지 e를 제외한 다른 모든 에지를 통해 체크노드에서 내려오는 LLR 메시지이다.
셋째, 체크노드 메시지를 업데이트한다. 구체적으로, 디그리가 dc 인 체크노드로부터 에지 e를 통해 변수노드로 전달되는 메시지를 u(1) 라고 하면, 수학식 7의 tanh 복호 규칙을 적용하여 {vi
(1)}로부터 u(1)를 업데이트한다.
여기서, νi
(1) (i = 1, 2, ..., dc
(1)-1) 는 체크노드에 연결된 에지 중 에지 e를 제외한 다른 모든 에지를 통해 변수노드에서 올라오는 LLR 메시지들이다.
넷째, 외부정보를 생성한다. 구체적으로, 업데이트된 {ui
(1) } 로부터 각 정보노드에 대한 외부정보를 수학식 8과 같이 계산한다
여기서, ui
(1)(i = 1, 2, ..., dv)는 디그리 dv인 정보노드에 연결된 모든 에지를 통해 들어오는 LLR 메시지이다.
부호비트가 x 일때 신호점이 w = (1-2x)로 주어지는 BPSK 변조를 가정하고 AWGN 채널을 가정하면 수신 측에서 수신 신호 y는 수학식 9와 같은 확률밀도함수를 갖는다.
여기서, 은 잡음 분산(variance)이고, R은 부호율이다. Pr(x=0) = Pr(x=1)을 가정하면, 채널출력으로부터 얻어지는 부호비트 x에 대한 초기 LLR값은 수학식 10과 같이 표현된다.
또한, 모두 0인 부호어가 전송되었다는 가정하에 u0 의 확률밀도함수는 수학식 11과 같이 표현된다.
3. 병렬 연접 LDPC 부호의 밀도전개
먼저, 제 2 LDPC 복호화기의 균일 LDPC 부호의 밀도전개 방법을 설명하면 다음과 같다.
변수노드의 디그리가 d(1)
v 이고 인터리버를 사이에 두고 디그리가 d(0)
v 인 제 1 LDPC 부호의 변수노드에 연결되어 있다고 하자. 이 변수노드에서 체크노드로 전달되는 메시지 v의 밀도 (density) Pν
(1)를 구하면 수학식 12와 같다.
삭제
여기에서, Pin (1) 및 Pout (0)는 수학식 13과 같다.
삭제
또한, 은 컨벌루션(convolution)을 나타낸다. P0는 채널출력으로부터 구한 초기 메시지 u0 의 밀도이다. Pout (0)은 복호화기 0에서 넘겨 받은 외부정보 의 밀도이다. 패러티노드의 경우는 수학식 14와 같다.
따라서, 체크노드에 연결된 임의의 에지 (edge)가 정보노드와 연결될 확률은 r, 패러티노드에 연결될 확률이 1 - r 이므로 수학식 15와 같다.
삭제
제 2 LDPC 복호화기의 비균일 LDPC 부호의 밀도전개 방법을 설명하면 다음과 같다.
임의의 변수노드에서 체크노드로 전달되는 메시지 v의 확률밀도는 수학식 16과 같다.
여기에서, ω(0), λinf
(1) 및 λpar
(1)은 수학식 17과 같다.
위의 노드 분포(node distribution) wi
(0), 즉 (디그리가 i 인 정보노드의 총수/정보노드의 총수)는 아래와 같이 디그리 분포로부터 구한다. 변수노드는 정보노드와 패러티노드로 구분되고 정보노드만이 외부정보와 연결되는 대상이 되기 때문에 아래와 같은 새로운 비(fraction)의 정의가 필요하다.
부호 0 (Code 0)의 변수노드와 체크노드의 디그리 분포가 수학식 18과 같다고 하자.
여기에서 Ni 는 디그리가 i인 노드의 개수, n은 총 노드의 개수, E는 총 에지의 개수이다. 디그리가 i인 노드의 비는 수학식 19와 같다.
fi
(0) 로부터 wi
(0)를 다음과 같이 결정한다. 부호 0과 부호 1각 각의 부호율 (code rate)이 r로 동일하고 변수노드중 디그리가 낮은 노드를 패러티노드로 할당한다고 가정하자.
여기서, {wi
(0)}는 정보노드만을 고려할 때 이들의 디그리 분포를 나타낸다. 위에서 디그리 i>k0
(0)인 모든 변수노드, 디그리가 k0
(0) 인 변수노드 중 일부가 정보노드임을 알 수 있다. 특히, 디그리가 k0
(0) 인 변수노드 중 는 정보노 드 1-α(0)는 패러디 노드에 속함을 알 수 있다. 비슷하게 부호1의 경우에도 {wi
(1)}와 α(1)를 부호1의 변수노드 디그리 분포로부터 구할 수 있다.
체크노드의 메시지 업데이트에 따른 u의 확률밀도 Pu 의 계산은 "S.-Y. Chung, D. Forney, T. J. Richardson, and R. Urbanke, "On the Design of Low-Density Parity-Check Codes within 0.0045 dB of the Shannon Limit", IEEE Commun. Lett., Vol. 5, No 2, Feb, 2001."을 따라 다음과 같이 구할 수 있다.
Q(w)를 w의 양자화된 메시지로 수학식 21과 같이 정의한다.
수학식 22와 같은 두 개의 변수를 입력으로 하는 함수를 도입한다.
양자화된 체크 메시지는 위 함수를 사용하여 수학식 23과 같은 형태로 구한다.
c=R(a,b) 라고 할 때, c의 확률밀도함수 P
c 는 수학식 24와 같이 구할 수 있다.
위 관계식을 Pc=f(Pa,Pb) 라 놓으면 u의 밀도함수 Pu는 수학식 25와 같이 구할 수 있다.
제 2 LDPC 복호화기의 경우 수학식 26과 같다.
제 1 LDPC 복호화기의 균일 LDPC 부호의 밀도전개 방법을 설명하면 다음과 같다.
변수노드의 디그리가 d(0)
v 이고 인터리버를 사이에 두고 디그리가 d(1)
v 인 제 2 LDPC 부호의 변수노드에 연결되어 있다고 하자. 이 변수노드에서 체크노드로 전달되는 메시지 v의 밀도 (density) Pν
(0)를 구하면 수학식 27과 같다.
(두 번째 iteration부터)
따라서, 체크노드에 연결된 임의의 에쥐가 정보노드와 연결될 확률은 r, 패러티 노드에 연결될 확률이 1 - r 이므로 수학식 29를 구할 수 있다.
삭제
삭제
제 1 LDPC 복호화기의 비균일 LDPC 부호의 밀도전개 방법을 설명하면 다음과 같다.
임의의 변수노드에서 체크노드로 전달되는 메시지 v의 확률밀도는 수학식 30과 같다.
삭제
삭제
체크노드의 메시지 업데이트에 따른 확률밀도의 계산은 "S.-Y. Chung, D. Forney, T. J. Richardson, and R. Urbanke, "On the Design of Low-Density Parity-Check Codes within 0.0045 dB of the Shannon Limit", IEEE Commun. Lett., Vol. 5, No 2, Feb, 2001."을 따라 수학식 32와 같이 구할 수 있다.
4. 병렬연접 LDPC부호에 대한 가우시안 근사 밀도전개
먼저, 제 2 LDPC 복호화기의 균일 LDPC 부호의 가우시안 근사 밀도전개 방법을 설명하면 다음과 같다.
제 1 LDPC 복호기에서 디그리가 d 인 변수노드에 대한 외부정보를 수학식 33과 같이 계산한다.
여기서 ui (0)는 부호 0 내부에서 연결된 체크노드로부터 내려오는 메시지이다. 제 2 LDPC 복호기는 과 를 받아들인다. 여기서 두 부호의 정보노드가 랜덤 퍼뮤테이션(random permutation)을 사이에 두고 연결되어 있다. 따라서, 랜덤 퍼뮤데이션의 작용에 의해 제 2 LDPC 복호화기의 각 정보노드는 평균적으로 수학식 34와 같은 외부정보를 취하게 된다.
제 2 LDPC 복호화기에서 가우시안 근사를 적용하면 가우시안 분포의 평균은 수학식 35와 같다.
상기 수학식에서 l은 반복횟수(iteration number)이다. 이상적인 랜덤 인터리빙을 가정하면 균일 부호의 경우, 가 모두 동일한 분포를 갖는다. 따라서, 수학식 36을 구할 수 있다.
제 2 LDPC 복호화기의 비균일 LDPC 부호의 가우시안 근사 밀도전개 방법을 설명하면 다음과 같다.
비균일 부호의 경우는 ui
(0)는 수학식 37과 같이 각 체크노드의 디그리에 따라 다른 분포를 갖는다.
여기에서, wi
(0)는 정보어 부분에 속한 변수노드 중 디그리가 i인 노드의 비이다. 정보노드의 경우는 수학식 38과 같이 외부정보를 더한다.
삭제
삭제
이때 디그리가 i = i
b 인 어떤 변수노드는 일부가 정보노드 부분에 속하고 나머지는 패러티노드 부분에 속하게 된다. 이를 경계 변수노드(boundary variable node)라고 부르자. 부호율과 변수노드의 디그리 분포가 결정되면 경계 변수노드의 디그리와 이 중 정보어 부분과 패러티 부분이 차지하는 비율이 결정된다. 정보어 부분에 속하는 비율을 α라고 하자. 수학식 40과 같이 전체 변수노드 중 경계 변수노드의 정보어 부분과 패러티 부분에 속한 부분을 정의해 둔다.
다음으로 변수노드의 디그리 분포에 대해 평균을 취하면 수학식 41을 얻을 수 있다.
u에 대해 가우시안 근사를 사용하여 mu 에 대한 표현식을 구해보자. 먼저 tanh(v/2)의 변수노드 디그리 분포에 대한 평균값은 수학식 42와 같이 구할 수 있다.
여기서 v의 확률밀도는 수학식 44와 같다.
따라서, 수학식 45를 구할 수 있다.
여기서, 체크노드 업데이트 규칙을 디그리가 dc-1인 체크노드에 적용하면 수학식 46과 같다.
따라서, u 및 vi 의 확률밀도함수를 사용하여 평균을 취하면 모든 vi 는 동일한 확률밀도함수를 가지므로 수학식 47을 얻는다.
여기서, u 역시 가우시안 형태의 밀도를 갖는다고 가정하면 수학식 48을 얻을 수 있다.
따라서, 디그리 j인 체크노드의 평균값 mu,j는 수학식 49와 같이 주어진다.
각 변수노드에 전달되는 메시지 u의 확률밀도는 체크노드의 디그리 분포에 대해 평균을 취해 수학식 50과 같이 표현된다.
제 1 LDPC 복호화기의 가우시안 근사 밀도전개 방법을 설명하면 다음과 같다.
제 1 LDPC 복호화기에서도 제 2 LDPC 복호화기와 비슷하게 메시지 v와 u의 확률밀도 함수의 평균값을 구할 수 있다. 복호화기 0에서의 메시지 전달과정은 아래와 같다. 정보노드의 경우는 수학식 51과 같이 외부정보를 더한다.
패러티 노드는 수학식 52와 같이 외부정보가 없다.
삭제
제 2 LDPC 복호기와 같이 mu
(l)를 구한다.
5. 가우시안 근사를 이용한 디그리분포 최적화 결과
다음은 앞에서 기술한 병렬연접부호의 채널용량 분석법을 적용하여 얻은 병렬연접부호의 예를 보여준다. 여기서, 연접부호는 부호율이 같은 두 개의 구성부호로 구성하였다. 전체 부호의 정보블럭(information block)의 길이가 K, 제 1 패러티 블록과 제 2 패러티 블럭의 길이가 각각 M이라고 할 때 부호어의 길이는 K + 2M이고 연접 부호의 부호율 R은 수학식 53과 같이 구성부호의 부호율 r로 표현할 수 있다.
가우시안 근사 밀도전개와 최적화 알고리즘을 사용하여 최적화된 디그리 분 포를 얻은 결과를 표 1에 나타내었다. 디그리 분포의 최적화를 위해 유전자 알고리즘(genetic algorithm)이 사용되었다. 변수노드의 최대 디그리 (dmax)를 주고 최적화하였다. dmax = 10에 대해 부호율 1/2, 1/3, 1/4, 1/5 과 1/6의 경우에 대해 최적화된 디그리 분포를 보여준다.
6. 유한길이 병렬연접 LDPC 부호의 성능 시뮬레이션
각 구성 부호화기에 사용되는 패러티 검사행렬은 동일한 크기를 갖는다. 각 패러키 검사행렬의 '1'의 위치는 디그리 분포에 따라 랜덤하게 결정하되 에러마루(error floor)를 최대한 낮추기 위해 거스 조건화 과정을 두어 각 열의 거스(girth)를 계산하고 전체 열에 대해 평균한 평균 거스를 최대화하였다. 각 구성부호의 패러티 체크 행렬을 구성하는데 있어, 디그리가 낮은 열을 패러티 노드 부분에 배치하였다. 즉, 각 패러티 노드의 열 무게는 정보노드의 최소 열 무게에 비해 작거나 같다. 하삼각 형태의 패러티 체크 행렬을 만드는 경우, 패러티 체크 행렬의 각 열을 생성할 때 '1'이 생길 수 있는 위치를 도 4에 나타난 0이 아닌 영역으로 제한하였다.
도 5는 부호율 1/2, 부호어 길이 1000 비트인 LDPC 부호에 대해 BPSK 변조와 AWGN 채널을 가정하여 시뮬레이션한 결과를 보여 준다. 단일부호(single)와 연접부호(concatenated) 모두 변수노드의 최대 디그리는 10이고 단일부호는 리차드슨(Richardson)등이 얻은 디그리 분포를 사용하였고 연접부호는 표 1에 나타난 가우시안 근사로 얻은 결과를 사용하였다. 단일 부호의 경우 선형시간 부호화가 가능하도록 패러티 검사행렬이 하삼각 형태를 갖는 부호도 만들었다. 2.0 dB 이하에서 단일 및 단일 하삼각 부호에 비해 연접부호가 약간 성능이 떨어진다. 2.2 dB 이상에서 연접부호는 단일 하삼각 부호와 거의 성능이 일치하고 있다. 주목할 것은 연접부호는 단일 하삼각 부호와 마찬가지로 선형시간 부호화가 가능하다는 점이다. 도 4에서 H0 및 H1은 각각 제 1 LDPC 부호의 패러티 검사 행렬 및 제 2 LDPC 부호의 패러티 검사행렬을 의미하고, I 및 Π(I)는 각각 제 1 LDPC 부호의 패러티 검사 행렬의 정보 노드 및 제 2 LDPC 부호의 패러티 검사행렬의 정보 노드를 의미하고, PO, P1은 각각 제 1 LDPC 부호의 패러티 검사 행렬의 패러티 노드 및 제 2 LDPC 부호의 패러티 검사행렬의 패러티 노드를 의미한다.
도 6은 부호율 1/3, 부호어 길이 1500 비트인 LDPC 부호에 대해 BPSK 변조와 AWGN 채널을 가정하여 시뮬레이션한 결과를 보여 준다. 단일부호는 J. Hou 등이 얻은 디그리 분포를 사용하였고 연접부호는 표 1에 나타난 가우시안 근사로 얻은 결과를 사용하였다. 단일부호(single)는 변수노드의 최대 디그리가 10인 경우가 16인 경우에 비해 낮은 SNR영역에서 약간 더 나은 성능을 보인다. 연접부호(concatenated) 모두 변수노드의 최대 디그리는 10이고 단일부호는 호우(Hou) 등이 얻은 디그리 분포를 사용하였고 연접부호는 표1에 나타난 가우시안 근사로 얻은 결과를 사용하였다. 호우(Hou) 등이 사용한 디그리 분호는 "J. Hou, P. H. Siegel, and L. B. Milstein, Performance Analysis and Code Optimization of Low Density Parity-Check Codes on Rayleigh Fading Channels, IEEE J. Select. Areas Commun. vol. 19, no. 5, pp. 924-934, May, 2001."에 잘 표현되어 있다. 변수노드의 최대 디그리가 10인 연접부호는 낮은 SNR에서 단일부호에 비해 약간의 성능열화가 있지만 약 1.7 dB이상의 높은 SNR영역에서 훨씩 뛰어난 성능을 보이고 있다. 특히, 연접 하삼각 형태의 부호는 모든 SNR영역에서 단일 부호와 매우 비슷한 성능을 보이 고 있다. 반면 선형시간 부호화가 가능하도록 만든 단일 하삼각 부호는 높은 SNR영역에서 성능이 매우 열화됨을 알 수 있다. 연접부호는 하삼각 형태의 경우에도 낮은 에러 마루를 보이고 있어서 단일부호의 성능에 준하는 성능을 나태내면서 빠른 부호화가 가능한 장점을 갖고 있음을 알 수 있다.
도 7은 부호율 1/4, 부호어 길이 2000 비트인 LDPC 부호에 대해 BPSK 변조와 AWGN 채널을 가정하여 시뮬레이션한 결과를 보여 준다. 단일부호와 연접부호 모두 표 1에 나타난 가우시안 근사로 얻은 결과를 사용하였다. 단일부호에 비해 연접부호가 더 좋은 성능을 보인다. 선형시간 부호화가 가능하도록 만든 연접 하삼각 부호도 단일부호에 비해 더 좋은 성능을 보인다.
이상의 결과를 종합할 때 병렬연접 부호는 부호율이 낮은 경우에 일반적 형태의 단일부호에 비해 더 좋은 성능을 보일 수 있으며 특히 큰 성능열화 없이 선형시간 부호화가 가능하기 때문에 고속 부호화가 요구되는 경우에 단일부호에 비해 더 적합하다.
이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 그러나, 본 발명의 실시예들은 여러가지 형태로 변형될 수 있으며, 본 발명의 범위가 아래에서 상술하는 실시예들로 인하여 한정되는 식으로 해석되어 져서는 안된다. 본 발명의 실시예들은 당업계에서 평균적 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해 제공되는 것이다.
도 8은 본 발명의 제 1 실시예에 의한 병렬연접 LDPC 부호의 패러티 검사행렬의 형성 방법을 나타내는 흐름도이다.
도 8을 참조하면, 병렬연접 LDPC 부호의 패러티 검사행렬의 형성 방법은 제 1 LDPC 부호의 디그리 분포 및 제 2 LDPC 부호의 디그리 분포를 구하는 단계(S1) 및 상기 디그리 분포를 만족하는 제 1 LDPC 부호의 패러티 검사행렬 및 제 2 LDPC 부호의 패러티 검사행렬을 형성하는 단계(S2)를 포함한다.
디그리 분포를 구하는 단계(S1)에 있어서, 제 1 및 2 LDPC 부호의 디그리 분포는 밀도전개 방법에 의한 성능 측정을 이용하여 구하여진다. 또한, 밀도전개 방법에 있어서, 제 1 LDPC 부호의 변수노드에서 체크노드로 전달되는 메시지의 확률밀도는 제 2 LDPC 부호로부터 출력되는 외부 정보의 확률 밀도를 반영하며, 제 2 LDPC 부호의 변수노드에서 체크노드로 전달되는 메시지의 확률밀도는 제 1 LDPC 부호로부터 출력되는 외부 정보의 확률 밀도를 반영한다. 제 1 및 2 LDPC 부호는 서로 다른 디그리 분포를 가질 수도 있으며, 서로 동일한 디그리 분포를 가질 수도 있다. 제 1 LDPC 부호의 변수노드에서 체크노드로 전달되는 메시지의 확률밀도 및 제 2 LDPC 부호의 변수노드에서 체크노드로 전달되는 메시지의 확률밀도의 수학적 계산은 상기 이론적 개념에서 이미 설명되었으므로, 설명의 중복을 피하기 위하여 설명을 생략한다.
패러티 검사행렬을 형성하는 단계(S2)에 있어서, 디그리 분포를 구하는 단계(S1)에서 구한 디그리 분포를 만족하는 제 1 및 2 패러티 검사행렬을 형성한다. 이때, 패러티 검사행렬은 도 4에 표현된 바와 같이 하삼각형태의 패러티 검사행렬을 형성함으로써, 성능의 열화 없이 LDPC 부호의 부호화가 용이하게 구현될 수 있다.
본 발명의 결과로 특히 낮은 부호율에서 단일 LDPC 부호에 비해 성능이 뛰어난 병렬연접 LDPC 부호를 제작할 수 있게 되었다. 부호화 시간이 선형적으로 비례하도록 개별 구성부호를 하삼각 형태로 만들 경우 병렬연접 LDPC 부호는 하삼각형태의 단일 부호에 비해 월등히 뛰어난 성능을 보인다.
Claims (8)
- 제 1 LDPC 부호 및 제 2 LDPC 부호 및 이들을 연결하는 인터리버로 구성된 병렬연접 LDPC 부호의 패러티 검사행렬의 형성 방법에 있어서,(a) 상기 제 1 LDPC 부호의 디그리 분포 및 상기 제 2 LDPC 부호의 디그리 분포를 구하는 단계; 및(b) 상기 디그리 분포를 만족하는 상기 제 1 LDPC 부호의 패러티 검사행렬 및 상기 제 2 LDPC 부호의 패러티 검사행렬을 형성하는 단계를 포함하며,상기 (a) 단계에 있어서, 상기 제 1 및 2 LDPC 부호의 디그리 분포는 밀도전개 방법에 의한 성능 측정을 이용하여 구하여지며,상기 밀도전개 방법에 있어서, 상기 제 1 LDPC 부호의 변수노드에서 체크노드로 전달되는 메시지의 확률밀도는 상기 제 2 LDPC 부호로부터 출력되는 외부 정보의 확률 밀도를 반영하며, 상기 제 2 LDPC 부호의 변수노드에서 체크노드로 전달되는 메시지의 확률밀도는 상기 제 1 LDPC 부호로부터 출력되는 외부 정보의 확률 밀도를 반영하는 것을 특징으로 하는 병렬연접 LDPC 부호의 패러티 검사행렬의 형성 방법.
- 제 1 항에 있어서,상기 제 1 및 2 LDPC 부호는 균일 LDPC 부호이며,상기 제 1 LDPC 부호의 변수노드에서 체크노드로 전달되는 메시지 v의 확률밀도 Pv (0)는 다음의 수학식 1에 의하여 계산되며,[수학식 1]상기 수학식에서, r은 체크노드에 연결된 임의의 에지가 정보노드와 연결될 확률이고, 1-r은 체크노드에 연결된 임의의 에지가 패러티 노드에 연결될 확률이고, Pv,inf (0)은 상기 제 1 LDPC 부호의 변수노드에서 정보노드로 전달되는 메시지의 확률밀도이고, Pv,par (0)은 상기 제 1 LDPC 부호의 변수노드에서 패러티노드로 전달되는 메시지의 확률밀도인 것을 특징으로 하는 병렬연접 LDPC 부호의 패러티 검사행렬의 형성 방법.
- 제 2 항에 있어서,상기 Pv,inf (0) 및 Pv,par (0)은 다음의 수학식 2에 의하여 계산되며,[수학식 2]
- 제 1 항에 있어서,상기 제 1 및 2 LDPC 부호에서 사용되는 LDPC 부호는 비균일 LDPC 부호이며,상기 제 1 LDPC 부호의 변수노드에서 체크노드로 전달되는 메시지 v의 확률밀도 Pv (0)는 다음의 수학식 3에 의하여 계산되며,[수학식 3]
- 제 1 항에 있어서,[수학식 5][수학식 6]
- 제 1 항에 있어서,상기 제 1 및 2 LDPC 부호의 패러티 검사행렬을 형성함에 있어서 하삼각 형태의 패러티 검사행렬을 형성하는 것을 특징으로 하는 병렬연접 LDPC 부호의 패러티 검사행렬의 형성 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/006,723 US20050160351A1 (en) | 2003-12-26 | 2004-12-08 | Method of forming parity check matrix for parallel concatenated LDPC code |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20030097060 | 2003-12-26 | ||
KR1020030097060 | 2003-12-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050066964A KR20050066964A (ko) | 2005-06-30 |
KR100639914B1 true KR100639914B1 (ko) | 2006-11-01 |
Family
ID=37257953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040066627A KR100639914B1 (ko) | 2003-12-26 | 2004-08-24 | 병렬연접 ldpc 부호의 패러티 검사 행렬 형성 방법. |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100639914B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100856235B1 (ko) | 2005-09-26 | 2008-09-03 | 삼성전자주식회사 | 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002027464A (ja) | 2000-07-07 | 2002-01-25 | Fujitsu Ltd | 符号化装置及び復号化装置 |
EP1347580A2 (en) | 1998-10-13 | 2003-09-24 | Interdigital Technology Corporation | Hybrid interleaver for turbo codes |
-
2004
- 2004-08-24 KR KR1020040066627A patent/KR100639914B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1347580A2 (en) | 1998-10-13 | 2003-09-24 | Interdigital Technology Corporation | Hybrid interleaver for turbo codes |
JP2002027464A (ja) | 2000-07-07 | 2002-01-25 | Fujitsu Ltd | 符号化装置及び復号化装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100856235B1 (ko) | 2005-09-26 | 2008-09-03 | 삼성전자주식회사 | 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20050066964A (ko) | 2005-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100739510B1 (ko) | 반구조적 블록 저밀도 패리티 검사 부호 부호화/복호 장치및 방법 | |
KR100724922B1 (ko) | 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법 | |
Abbasfar et al. | Accumulate-repeat-accumulate codes | |
Smith et al. | Staircase codes: FEC for 100 Gb/s OTN | |
EP2093887B1 (en) | Apparatus and method for channel encoding and decoding in a communication system using low-density parity-check codes | |
US7774689B2 (en) | Encoding and decoding methods and systems | |
KR101009785B1 (ko) | 불균일 반복 축적 부호 부호화/복호화 장치 및 방법 | |
KR100941680B1 (ko) | 준순환 저밀도 패리티 검사 부호의 생성 방법 및 장치 | |
EP1850484A1 (en) | Basic matrix based on irregular ldcp, codec and generation method thereof | |
JP2008035524A (ja) | 反復確率伝搬を使用して記号ブロックを復号化する装置および方法 | |
US20050160351A1 (en) | Method of forming parity check matrix for parallel concatenated LDPC code | |
US8112695B2 (en) | Method for encoding data message K' for transmission from sending station to receiving station as well as method for decoding, sending station, receiving station and software | |
EP1715590A1 (en) | Method for encoding/decoding concatenated LDGM code | |
Mostari et al. | High performance short-block binary regular LDPC codes | |
Zhong et al. | Approaching the Shannon limit through parallel concatenation of regular LDGM codes | |
KR100639914B1 (ko) | 병렬연접 ldpc 부호의 패러티 검사 행렬 형성 방법. | |
Andreadou et al. | Quasi-Cyclic Low-Density Parity-Check (QC-LDPC) codes for deep space and high data rate applications | |
Salbiyono et al. | LDPC decoder performance under different number of iterations in mobile WiMax | |
Kadel et al. | Repeat-accumulate codes for block-fading channels | |
EP1816750A1 (en) | Encoding and decoding of extended irregular repeat-accumulate (eIRA) codes | |
Refaey et al. | On the application of BP decoding to convolutional and turbo codes | |
Zhao et al. | Recursive block Markov superposition transmission of short codes | |
Meghana et al. | Comparitive analysis of channel coding using BPSK modulation | |
Li et al. | Low-rate repeat-zigzag-Hadamard codes | |
KR101447751B1 (ko) | 블록 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서패리티 검사 행렬 생성 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |