KR101412171B1 - Ldpc 코드 디코딩 장치 및 방법 - Google Patents
Ldpc 코드 디코딩 장치 및 방법 Download PDFInfo
- Publication number
- KR101412171B1 KR101412171B1 KR1020120129482A KR20120129482A KR101412171B1 KR 101412171 B1 KR101412171 B1 KR 101412171B1 KR 1020120129482 A KR1020120129482 A KR 1020120129482A KR 20120129482 A KR20120129482 A KR 20120129482A KR 101412171 B1 KR101412171 B1 KR 101412171B1
- Authority
- KR
- South Korea
- Prior art keywords
- posterior probability
- external information
- variable node
- node
- check
- 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/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1125—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
LDPC 코드를 디코딩하는 디코딩 장치가 개시된다. LDPC 코드 디코딩 장치는 사후 확률이 수렴되었는지 여부에 따라서 각 사후 확률에 대응하는 체크 노드의 제1 외부 정보에 가중치를 곱한다. 제2 외부 정보의 계산에 있어서, 사후 확률이 수렴된 체크 노드가 생성한 외부 정보의 영향력이 커지므로, 적은 계산량으로 빠른 시간 내에 LDPC 코드가 수렴된다.
Description
하기의 실시예들은 LDPC 코드를 디코딩 하는 장치 및 방법에 관한 것으로, 좀더 구체적으로는 LDPC 코드의 디코딩을 단순화하여 계산량을 감소시키는 디코딩 장치 및 방법에 관한 것이다.
고품질의 서비스를 제공해야 하는 무선통신 기반의 통신 시스템은 페이딩, 비선형성등 채널 환경이 유선에 비해 매우 열악하기 때문에 오류 정정 능력이 뛰어난 오류 제어 방식을 적용해야 한다. Forney에 의해 도입된 길쌈코드와 블럭코드를 결합시킨 연접코드는 높은 코드이득을 얻어낼 수 있으며, 코드길이를 길게하는 효과를 주기 때문에 과거의 위성 통신시스템에서 각광을 받고 있는 채널오류제어 기법이다. 그러나 이 제어방식 또한 성능에 있어서 Shannon's Limit와 다소 큰 격차를 보이고 있으며 Shannon's Limit에 근접한 성능을 나타내는 turbo 코드가 1993년 Berrou등에 의해 발표되었다.
LDPC 코드는 샤논의 채널 용량 한계에 근접한 우수한 코드며, 터보 코드에 비해 복호화의 복잡도가 낮다. 또한, 좋은 거리 특성으로 오류마루 현상이 나타나지 않고, 완전 병렬 처리로 고속 처리가 가능한 장점이 있다.
그러나, LDPC 코드의 최적 복호 알고리즘인 Sum-Product 알고리즘은 그 연산량이 매우 커서 실제 통신 시스템에서 사용하기에는 무리가 있다. 이러한 문제를 극복하기 위하여 낮은 연산 복잡도를 가지는 LDPC 디코딩 기술에 대한 많은 연구가 진행되고 있다.
그 결과로 Min-Sum(MS) 알고리즘과 그 변형된 형태들이 개발되어 상용 LDPC 복호기에 사용되고 있다. Min-Sum 알고리즘의 대표적 변종들로는 Normalized Min-sum (NMS) 및 Offset Min-Sum (OMS) 알고리즘이 있으며 이들은 Min-Sum 알고리즘에 비해 높은 연산량을 사용하는 반면 좋은 복호 성능을 보인다. 그러나 이들도 여전히 만족스러울 만큼의 오류 정정 성능 향상을 보여주지 못하고 있어 보다 개선된 LDPC 디코딩 알고리즘이 필요한 실정이다.
하기의 실시예들은 적은 계산량만으로 LDPC 코드를 디코딩할 수 있는 LDPC 디코딩 장치 및 방법을 제공한다.
예시적 실시예에 따르면, 적어도 하나 이상의 변수 노드에 대하여 현재(current) 복호 라운드에서의 제1 사후 확률을 계산하는 사후 확률 계산부, 상기 계산된 사후 확률을 상기 각 변수 노드의 이전(previous) 복호 라운드에서의 제2 사후 확률과 비교하는 비교부, 상기 변수 노드로부터 상기 체크 노드로 전달되는 제1 외부 정보를 계산하는 제1 외부 정보 계산부 및 상기 비교 결과에 따라서 상기 제1 외부 정보에 가중치를 곱하여 상기 제1 외부 정보를 업데이트하는 외부 정보 업데이트부를 포함하는 LDPC 코드 디코딩 장치가 제공된다.
여기서, 상기 비교부는 상기 제1 사후 확률의 부호와 상기 제2 사후 확률의 부호를 비교할 수 있다.
그리고, 상기 제1 사후 확률의 부호와 상기 제2 사후 확률의 부호가 상이한 경우에, 상기 외부 정보 업데이트부는 상기 제1 외부 정보에 '1' 보다 작은 값의 가중치를 곱할 수 있다.
또한, 상기 제1 사후 확률의 부호와 상기 제2 사후 확률의 부호가 동일한 경우에, 상기 가중치의 값은 '1'일 수 있다.
여기서, 상기 사후 확률 계산부는 하기 수학식 1에 따라서 상기 제1 사후 확률을 계산할 수 있다.
[수학식 1]
여기서, 은 i번째 복호 라운드에서 n번째 변수 노드의 제1 사후 확률을 나타내고,은 n번째 변수 노드의 채널정보를 나타내고, 은 i번째 복호 라운드에서, m번째 체크 노드로부터 n번째 변수 노드로 전달되는 제2 외부 정보이다. 또한, 은 n번째 변수 노드에 연결된 체크 노드들의 집합이다.
그리고, 상기 제1 외부 정보 계산부는 하기 수학식 2에 따라서 상기 제1 외부 정보를 계산할 수 있다.
[수학식 2]
여기서, 는 i번째 복호 라운드에서 n번째 변수 노드가 m번째 체크 노드로 전달하는 제1 외부 정보를 나타내고, 은 n번째 변수 노드의 채널정보를 나타내고, 은 i번째 복호 라운드에서, m번째 체크 노드로부터 n번째 변수 노드로 전달되는 제2 외부 정보이다. 은 n번째 변수 노드에 연결된 체크 노드들의 집합이고, 는 집합 에서, m번째 체크 노드를 제외한 집합을 나타낸다.
또한, 이후(next) 복호 라운드에서 상기 체크 노드로부터 상기 변수 노드로 전달되는 제2 외부 정보를 계산하는 제2 외부 정보 계산부를 더 포함할 수 있다.
그리고, 상기 제2 외부 정보 계산부는 하기 수학식 3에 따라서 상기 제2 외부 정보를 계산할 수 있다.
[수학식 3]
여기서, 는 i+1 번째 복호 라운드에서의 상기 제2 외부 정보를 나타내고, 은 m번째 체크 노드에 연결된 변수 노드들의 집합이고, 는 집합 에서, n번째 변수 노드를 제외한 집합을 나타내고, 는 i번째 복호 라운드에서의 제1 외부 정보를 나타내고, 는 최소값을 나타내고, 는 의 절대값을 나타낸다.
또 다른 예시적 실시예에 따르면, 적어도 하나 이상의 변수 노드에 대하여 현재(current) 복호 라운드에서의 제1 사후 확률을 계산하는 단계, 상기 계산된 사후 확률을 상기 각 변수 노드의 이전(previous) 복호 라운드에서의 제2 사후 확률과 비교하는 단계, 상기 변수 노드로부터 상기 체크 노드로 전달되는 제1 외부 정보를 계산하는 단계 및 상기 비교 결과에 따라서 상기 제1 외부 정보에 가중치를 곱하여 상기 제1 외부 정보를 업데이트하는 단계를 포함하는 LDPC 코드 디코딩 방법이 제공된다.
여기서, 상기 비교하는 단계는 상기 제1 사후 확률의 부호와 상기 제2 사후 확률의 부호를 비교할 수 있다.
그리고, 상기 제1 사후 확률의 부호와 상기 제2 사후 확률의 부호가 상이한 경우에, 상기 외부 정보를 업데이트하는 단계는 상기 제1 외부 정보에 '1' 보다 작은 값의 가중치를 곱하는 LDPC 코드 업데이트 방법.
또한, 상기 제1 사후 확률의 부호와 상기 제2 사후 확률의 부호가 동일한 경우에, 상기 가중치의 값은 '1'일 수 있다.
여기서, 상기 제1 사후 확률을 계산하는 단계는 하기 수학식 4에 따라서 상기 제1 사후 확률을 계산할 수 있다.
[수학식 4]
여기서, 은 i번째 복호 라운드에서 n번째 변수 노드의 제1 사후 확률을 나타내고,은 n번째 변수 노드의 채널정보를 나타내고, 은 i번째 복호 라운드에서, m번째 체크 노드로부터 n번째 변수 노드로 전달되는 제2 외부 정보이다. 또한, 은 n번째 변수 노드에 연결된 체크 노드들의 집합이다.
그리고, 상기 제1 외부 정보를 계산하는 단계는 하기 수학식 5에 따라서 상기 제1 외부 정보를 계산할 수 있다.
[수학식 5]
여기서, 는 i번째 복호 라운드에서 n번째 변수 노드가 m번째 체크 노드로 전달하는 제1 외부 정보를 나타내고, 은 n번째 변수 노드의 채널정보를 나타내고, 은 i번째 복호 라운드에서, m번째 체크 노드로부터 n번째 변수 노드로 전달되는 제2 외부 정보이다. 은 n번째 변수 노드에 연결된 체크 노드들의 집합이고, 는 집합 에서, m번째 체크 노드를 제외한 집합을 나타낸다.
또한, 이후(next) 복호 라운드에서 상기 체크 노드로부터 상기 변수 노드로 전달되는 제2 외부 정보를 계산하는 단계를 더 포함할 수 있다.
여기서, 상기 제2 외부 정보를 계산하는 단계는 하기 수학식 6에 따라서 상기 제2 외부 정보를 계산할 수 있다.
[수학식 6]
하기의 실시예들에 따르면, 적은 계산량만으로 LDPC 코드를 디코딩할 수 있다.
도 1은 예시적 실시예에 따른 LDPC 디코딩을 위한 그래프 구조를 도시한 도면이다.
도 2는 예시적 실시예에 따른 LDPC 코드 디코딩 장치의 구조를 도시한 블록도이다.
도 3은 예시적 실시예에 따라서 변수 노드에서 사후 확률을 계산하는 것을 도시한 도면이다.
도 4는 예시적 실시예에 따라서 체크 노드에서 외부 정보를 계산하는 것을 도시한 도면이다.
도 5는 예시적 실시예에 따른 LDPC 코드 디코딩 방법을 단계별로 도시한 블록도이다.
도 2는 예시적 실시예에 따른 LDPC 코드 디코딩 장치의 구조를 도시한 블록도이다.
도 3은 예시적 실시예에 따라서 변수 노드에서 사후 확률을 계산하는 것을 도시한 도면이다.
도 4는 예시적 실시예에 따라서 체크 노드에서 외부 정보를 계산하는 것을 도시한 도면이다.
도 5는 예시적 실시예에 따른 LDPC 코드 디코딩 방법을 단계별로 도시한 블록도이다.
이하, 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 예시적 실시예에 따른 LDPC 디코딩을 위한 그래프 구조를 도시한 도면이다.
LDPC 부호는 선형 블록 부호의 일종으로 성긴 구조의 패리티 검사 행렬 (parity check matrix) H을 가진다. 이 패리티 검사 행렬 H의 각 행(column)은 LDPC 부호어(Code Word)의 각 심볼을 의미하고 각 열(row)은 패리티 검사식 (parity check equation)을 의미한다. 패리티 검사 행렬은 도 1에 도시한 것처럼 변수 노드(140, 150, 160)와 체크 노드(110, 120, 130), 그리고 이들을 연결하는 에지(edge)들로 구성된 그래프로 표현된다.
여기서 변수 노드(140, 150, 160)는 패리티 검사 행렬의 각 행에 해당하고 체크 노드(110, 120, 130)는 각 열에 해당한다. 이들을 연결하는 에지는 패리티 검사 행렬의 해당 행, 열의 값이 1인 경우에 존재한다. LDPC 부호의 디코딩은 에지로 연결되어 있는 변수 노드(140, 150, 160)와 체크 노드(110, 120, 130)가 외부 정보 (extrinsic information)를 반복적으로 업데이트하고 서로 교환함으로써 수행된다.
일측에 따르면, 모든 변수 노드(140, 150, 160)와 모든 체크 노드(110, 120, 130)가 서로 연결되지는 않을 수 있다. 또한, 변수 노드(140, 150, 160)와 모든 체크 노드(110, 120, 130)간의 연결은 양방향이나, 변수 노드(140, 150, 160)와 체크 노드간의(110, 120, 130)메시지는 일방향으로만 전송될 수도 있다.
이하 본 명세서에서는, 메시지의 전송 방향을 구분하기 위하여 '노드에 대하여 연결된'이라고 표현하는 것은 다른 노드로부터 해당 노드의 방향으로 메시지가 전송될 수 있는 것을 의미하고, '노드로부터 연결된'이라고 표현하는 것은 해당 노드로부터 다른 노드의 방향으로 메시지가 전송될 수 있는 것을 의미하는 것으로 사용한다.
도 1을 참고하여 LDPC 코드의 디코딩 과정을 설명하면, 변수 노드 n'(150)은 채널을 통해 수신된 부호어 중에서 자신의 위치에 해당하는 심볼값으로 정의되는 채널 정보 를 수신한다. 또한, 변수 노드 n'(150)은 자신에 대하여 연결된 체크 노드 m (110)로부터 메시지를 수신한다. 체크 노드 m (110)로부터 수신한 메시지에는 체크 노드 m (110)로부터 변수 노드 n(140)으로 전송되는 제2 외부 정보가 포함된다.
변수 노드 n'(150)는 채널 정보 와 체크 노드 m (110)로부터 수신한 제2 외부 정보에 따라서 제1 사후 확률을 계산한다. 또한, 변수 노드 n'(150)는 채널 정보 와 체크 노드 m (110)로부터 수신한 제2 외부 정보에 따라서 제1 외부 정보를 계산한다. 변수 노드 n'(150)는 제1 외부 정보를 변수 노드 n'(150)로부터 연결된 체크노드 m'(130)으로 전송한다.
체크 노드 m'(130)은 자신에 대하여 연결된 변수 노드 n', n''(150, 160)로부터 제1 외부 정보들을 수신한다.
체크 노드 m'(130)은 수신된 제1 외부 정보들에 기반하여 자신으로부터 연결된 변수 노드 n(140)에 대한 제2 외부 정보를 계산한다. 계산된 제2 외부 정보는 변수 노드 n(140)에서 제1 외부 정보를 계산하기 위하여 사용된다.
상기 설명한 바와 같이 LDPC 코드 디코딩 알고리즘은 체크 노드(110, 120, 130)에서의 계산과 변수 노드(140, 150, 160)에서의 계산이 반복되어 수행된다. 일측에 따르면, LDPC 코드 디코딩 장치는 미리 결정된 종료 조건을 설정하고, 체크 노드(110, 120, 130)에서의 계산과 변수 노드(140, 150, 160)에서의 계산이 한 번씩 수행되는 것을 복호 라운드(decoding round)라고 하며, LDPC 코드 디코딩 장치는 매 복호 라운드가 수행된 이후에 해당 종료 조건이 만족되어 있는지 여부를 판단할 수 있다.
도 2는 예시적 실시예에 따른 LDPC 코드 디코딩 장치의 구조를 도시한 블록도이다. 도 2에 도시된 LDPC 코드 디코딩 장치(200)는 사후 확률 계산부(210), 비교부(220), 제1 외부 정보 계산부(230), 외부 정보 업데이트부(240), 제2 외부 정보 계산부(250) 및 제어부(260)를 포함한다.
사후 확률 계산부(210)는 LDPC 코드 디코딩 장치의 적어도 하나 이상의 변수 노드에 대하여 현재 복호 라운드에서의 제1 사후 확률을 계산한다.
이하 도 3을 참조하여 LDPC 코드 디코딩 장치의 사후 확률 계산 과정을 설명하기로 한다. 도 3은 예시적 실시예에 따라서 변수 노드에서 사후 확률을 계산하는 것을 도시한 도면이다.
일측에 따르면, 사후 확률 계산부(210)는 각 변수 노드(340)에 대한 채널 정보 및 각 변수 노드(340)에 대하여 연결된 체크 노드(310, 320, 330)로부터 수신된 제2 외부 정보에 기반하여 계산될 수 있다. 일측에 따르면, 사후 확률 계산부(210)는 하기 수학식 1에 따라서 각 변수 노드(340)에 대한 제1 사후 확률을 계산할 수 있다.
[수학식 1]
여기서, 은 i번째 복호 라운드에서 n번째 변수 노드(340)의 제1 사후 확률을 나타내고,은 n번째 변수 노드의 채널정보를 나타내고, 은 i번째 복호 라운드에서, m번째 체크 노드(310, 320, 330)로부터 n번째 변수 노드(340)로 전달되는 제2 외부 정보이다. 또한, 은 n번째 변수 노드에 연결된 체크 노드들의 집합이다.
비교부(220)는 각 변수 노드에 대하여 계산된 현재(current) 복호 라운드에서의 제1 사후 확률을 이전(previous) 복호 라운드에서 계산된 제2 사후 확률과 비교한다. 일측에 따르면, 비교부(220)는 제1 사후 확률의 부호화 제2 사후 확률의 부호를 비교할 수 있다.
제1 외부 정보 계산부(230)는 각 변수 노드로부터 각 체크 노드로 전달되는 제1 외부 정보를 계산한다. 일측에 따르면, 제1 외부 정보 계산부(230)는 각 변수 노드(340)에 대한 채널 정보 및 각 변수 노드(340)에 대하여 연결된 체크 노드(310, 320, 330)로부터 수신된 제2 외부 정보에 기반하여 제1 외부 정보를 계산할 수 있다. 일측에 따르면, 제1 외부 정보 계산부(230)는 하기 수학식 2에 따라서 각 변수 노드(340)에 대한 제1 외부 정보를 계산할 수 있다.
[수학식 2]
여기서, 는 i번째 복호 라운드에서 n번째 변수 노드(340)가 m번째 체크 노드로 전달하는 제1 외부 정보를 나타내고, 은 n번째 변수 노드(340)의 채널정보를 나타내고, 은 i번째 복호 라운드에서, m번째 체크 노드(310)로부터 n번째 변수 노드로 전달되는 제2 외부 정보이다. 은 n번째 변수 노드에 연결된 체크 노드들의 집합이고, 는 집합 에서, m번째 체크 노드를 제외한 집합을 나타낸다. 즉, 제1 외부 정보의 계산에 있어서, 제1 외부 정보가 전달되는 체크 노드로부터 수신한 제2 외부 정보는 계산에서 제외된다.
외부 정보 업데이트부(240)는 비교부(220)의 비교 결과에 따라서 제1 외부 정보에 가중치를 곱하여 제1 외부 정보를 업데이트 한다. 일측에 따르면, 비교부(220)의 비교 결과는 제1 사후 확률의 부호와 제2 사후 확률의 부호의 비교 결과일 수 있다. 만약 제1 사후 확률의 부호와 제2 사후 확률의 부호가 동일한 경우에, 외부 정보 업데이트부(240)는 제1 사후 확률이 수렴되어 신뢰할 수 있다고 판단할 수 있다. 따라서, 외부 정보 업데이트부(240)는 제1 사후 확률에 대응되는 변수 노드의 제1 외부 정보에 큰 값의 가중치를 곱할 수 있다.
반대로, 제1 사후 확률의 부호와 제2 사후 확률의 부호가 상이한 경우에, 외부 정보 업데이트부(240)는 제1 사후 확률이 아직 수렴되지 않아 제1 사후 확률을 신뢰할 수 없다고 판단할 수 있다. 따라서, 외부 정보 업데이트부(240)는 제1 사후 확률에 대응되는 변수 노드의 제1 외부 정보에 대하여 작은 값의 가중치를 곱할 수 있다.
일측에 따르면, 제1 사후 확률의 부호와 제2 사후 확률의 부호가 동일한 경우에, 외부 정보 업데이트부(240)는 제1 외부 정보에 '1'의 값을 가지는 가중치를 곱할 수 있다. 또한, 제1 사후 확률의 부호와 제2 사후 확률의 부호가 상이한 경우에, 외부 정보 업데이트부(240)는 제1 외부 정보에 '1' 보다 작은 값을 가지는 가중치를 곱할 수 있다.
제2 외부 정보 계산부(250)는 이후(next) 복호 라운드에서 각 체크 노드로부터 각 변수 노드로 전달되는 제2 외부 정보를 계산한다. 이하 도 4를 참고하여 제2 외부 정보 계산 과정을 설명하기로 한다. 도 4는 예시적 실시예에 따라서 체크 노드에서 외부 정보를 계산하는 것을 도시한 도면이다.
일측에 따르면, 제2 외부 정보 계산부(250)는 각 변수 노드(420, 430, 440)로부터 수신한 제1 외부 정보에 기반하여 제2 외부 정보를 계산할 수 있다. 여기서, 제2 외부 정보 계산부가 수신한 제1 외부 정보는 외부 정보 업데이트부(240)에 의하여 가중치가 곱해진 값이다. 일측에 따르면, 제2 외부 정보 계산부(250)는 하기 수학식 3에 따라서 제2 외부 정보를 계산할 수 있다.
[수학식 3]
여기서, 는 i+1 번째 복호 라운드에서의 상기 제2 외부 정보를 나타내고, 은 m번째 체크 노드(410)에 연결된 변수 노드(420, 430, 440)들의 집합이고, 는 집합 에서, n번째 변수 노드를 제외한 집합을 나타내고, 는 i번째 복호 라운드에서의 제1 외부 정보를 나타내고, 는 최소값을 나타내고, 는 의 절대값을 나타낸다. 즉, 제2 외부 정보의 계산에 있어서, 제2 외부 정보가 전달되는 변수 노드로부터 수신한 제1 외부 정보는 계산에서 제외된다.
만약 변수 노드(340)에 대한 제1 사후 확률이 수렴되었다면, 변수 노드(340)로부터 체크 노드(310, 320, 330)로 전달되는 제1 외부 정보에 대하여 상대적으로 큰 값의 가중치가 곱해지고, 변수 노드(340)에 대한 제1 사후 확률이 수렴되지 않았다면, 변수 노드(340)로부터 체크 노드(310, 320, 330)로 전달되는 제1 외부 정보에 대하여 상대적으로 큰 값의 가중치가 곱해진다. 따라서, 제2 외부 정보의 계산에 있어서, 사후 확률이 수렴된 변수 노드의 영향력이 증가하고, 사후 확률이 수렴되지 않은 변수 노드의 영향이 감소한다.
따라서, LDPC 코드 디코딩 장치는 사후 확률이 수렴된 변수 노드의 영향을 좀더 크게 고려하여 적은 계산량으로 빠른 시간 내에 LDPC 코드를 디코딩 할 수 있다.
사후 확률 계산부(210), 비교부(220), 제1 외부 정보 계산부(230), 외부 정보 업데이트부(240) 및 제2 외부 정보 계산부(250)의 동작 수행에 따라서 해당 복호 라운드에서의 계산 과정이 종료되면, 제어부(260)는 LDPC 디코딩 알고리즘의 종료 조건을 만족하는지 여부를 판단한다. 일측에 따르면, 제어부(260)는 복호 라운드가 미리 결정된 반복 횟수에 도달하면, LDPC 코드 디코딩 알고리즘의 종료 조건을 만족하는 것으로 판단할 수도 있다.
도 5는 예시적 실시예에 따른 LDPC 코드 디코딩 방법을 단계별로 도시한 블록도이다.
단계(510)에서, LDPC 코드 디코딩 장치는 적어도 하나 이상의 변수 노드에 대하여 현재(current) 복호 라운드에서의 제1 사후 확률을 계산한다. 일측에 따르면, LDPC 코드 디코딩 장치는 각 변수 노드에 대한 채널 정보 및 각 변수 노드에 대하여 연결된 체크 노드로부터 수신된 제2 외부 정보에 기반하여 계산될 수 있다. 일측에 따르면, 상기 수학식 1에 따라서 각 변수 노드에 대한 제1 사후 확률을 계산할 수 있다. 계산된 제1 사후 확률은 이후(next) 복호 라운드에서 제2 사후 확률이 된다.
단계(520)에서, LDPC 코드 디코딩 장치는 각 변수 노드에 대하여 계산된 현재(current) 복호 라운드에서의 제1 사후 확률을 이전(previous) 복호 라운드에서 계산된 제2 사후 확률과 비교한다. 일측에 따르면, LDPC 코드 디코딩 장치는 제1 사후 확률의 부호화 제2 사후 확률의 부호를 비교할 수 있다.
단계(530)에서, LDPC 코드 디코딩 장치는 변수 노드로부터 체크 노드로 전달되는 제1 외부 정보를 계산한다. 일측에 따르면, LDPC 코드 디코딩 장치는 각 변수 노드에 대한 채널 정보 및 각 변수 노드에 대하여 연결된 체크 노드로부터 수신된 제2 외부 정보에 기반하여 제1 외부 정보를 계산할 수 있다. 일측에 따르면, LDPC 코드 디코딩 장치는 상기 수학식 2에 따라서 각 변수 노드에 대한 제1 외부 정보를 계산할 수 있다.
단계(540)에서, LDPC 코드 디코딩 장치는 제1 사후 확률과 제2 사후 확률의 비교 결과에 따라서 제1 외부 정보를 업데이트 한다. 일측에 따르면, LDPC 코드 디코딩 장치는 제1 외부 정보에 가중치를 곱하여 제1 외부 정보를 업데이트할 수 있다.
만약 제1 사후 확률의 부호와 제2 사후 확률의 부호가 동일한 경우에, LDPC 코드 디코딩 장치는 제1 사후 확률이 수렴되어 신뢰할 수 있다고 판단할 수 있다. 따라서, LDPC 코드 디코딩 장치는 제1 사후 확률에 대응되는 변수 노드의 제1 외부 정보에 큰 값의 가중치를 곱할 수 있다.
반대로, 제1 사후 확률의 부호와 제2 사후 확률의 부호가 상이한 경우에, LDPC 코드 디코딩 장치는 제1 사후 확률이 아직 수렴되지 않아 제1 사후 확률을 신뢰할 수 없다고 판단할 수 있다. 따라서, LDPC 코드 디코딩 장치는 제1 사후 확률에 대응되는 변수 노드의 제1 외부 정보에 대하여 작은 값의 가중치를 곱할 수 있다.
일측에 따르면, 제1 사후 확률의 부호와 제2 사후 확률의 부호가 동일한 경우에, LDPC 코드 디코딩 장치는 제1 외부 정보에 '1'의 값을 가지는 가중치를 곱할 수 있다. 또한, 제1 사후 확률의 부호와 제2 사후 확률의 부호가 상이한 경우에, LDPC 코드 디코딩 장치는 제1 외부 정보에 '1' 보다 작은 값을 가지는 가중치를 곱할 수 있다.
단계(550)에서, LDPC 코드 디코딩 장치는 이후(next) 복호 라운드에서 각 체크 노드로부터 각 변수 노드로 전달되는 제2 외부 정보를 계산한다. 여기서, LDPC 코드 디코딩 장치가 제2 외부 정보를 계산하기 위하여 이용하는 제1 외부 정보는 가중치가 곱하여 업데이트된 값이다. 일측에 따르면, LDPC 코드 디코딩 장치는 상기 수학식 3에 따라서 제2 외부 정보를 계산할 수 있다.
도 5에서 설명된 실시예에 따르면, 만약 변수 노드에 대한 제1 사후 확률이 수렴되었다면, 변수 노드로부터 체크 노드로 전달되는 제1 외부 정보에 대하여 상대적으로 큰 값의 가중치가 곱해지고, 변수 노드에 대한 제1 사후 확률이 수렴되지 않았다면, 변수 노드로부터 체크 노드로 전달되는 제1 외부 정보에 대하여 상대적으로 작은 값의 가중치가 곱해진다. 따라서, 제2 외부 정보의 계산에 있어서, 사후 확률이 수렴된 변수 노드의 영향력이 증가하고, 사후 확률이 수렴되지 않은 변수 노드의 영향이 감소한다.
따라서, LDPC 코드 디코딩 장치는 사후 확률이 수렴된 변수 노드의 영향을 좀더 크게 고려하여 적은 계산량으로 LDPC 코드의 디코딩을 수행할 수 있으며, LDPC 코드 디코딩의 수렴에 필요한 복호 라운드의 횟수도 감소할 수 있다.
단계(510) 내지 단계(550)에서의 계산 과정이 종료되면, 단계(560)에서 LDPC 코드 디코딩 장치는 LDPC 디코딩 알고리즘의 종료 조건을 만족하는지 여부를 판단한다. 일측에 따르면, LDPC 코드 디코딩 장치는 복호 라운드가 미리 결정된 반복 횟수에 도달하면, LDPC 코드 디코딩 알고리즘의 종료 조건을 만족하는 것으로 판단할 수도 있다.
단계(560)에서, LDPC 코드 디코딩 장치가 LDPC 디코딩 알고리즘을 반복하는 것으로 결정한 경우에, 단계(570)에서 LDPC 코드 디코딩 장치는 복호 라운드의 횟수를 증가시키고, 단계(510)에서 복호를 위한 계산을 반복한다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
200: LDPC 코드 디코딩 장치
210: 사후 확률 계산부
220: 비교부
230: 제1 외부 정보 계산부
240: 외부 정보 업데이트부
250: 외부 정보 계산부
260: 제어부
210: 사후 확률 계산부
220: 비교부
230: 제1 외부 정보 계산부
240: 외부 정보 업데이트부
250: 외부 정보 계산부
260: 제어부
Claims (17)
- 적어도 하나 이상의 변수 노드에 대하여 현재(current) 복호 라운드에서의 제1 사후 확률을 계산하는 사후 확률 계산부;
상기 계산된 제1 사후 확률의 부호와 상기 각 변수 노드의 이전(previous) 복호 라운드에서의 제2 사후 확률의 부호를 비교하는 비교부;
상기 변수 노드로부터 체크 노드로 전달되는 제1 외부 정보를 계산하는 제1 외부 정보 계산부; 및
상기 비교 결과에 따라서 계산된 가중치를 상기 제1 외부 정보에 곱하여 상기 제1 외부 정보를 업데이트하는 외부 정보 업데이트부
를 포함하는 LDPC 코드 디코딩 장치. - 삭제
- 제2항에 있어서,
상기 제1 사후 확률의 부호와 상기 제2 사후 확률의 부호가 상이한 경우에,
상기 외부 정보 업데이트부는 상기 제1 외부 정보에 '1' 보다 작은 값의 가중치를 곱하는 LDPC 코드 업데이트 장치. - 제2항에 있어서,
상기 제1 사후 확률의 부호와 상기 제2 사후 확률의 부호가 동일한 경우에,
상기 가중치의 값은 '1'인 LDPC 코드 업데이트 장치. - 제1항에 있어서,
이후(next) 복호 라운드에서 상기 체크 노드로부터 상기 변수 노드로 전달되는 제2 외부 정보를 계산하는 제2 외부 정보 계산부
를 더 포함하는 LDPC 코드 디코딩 장치. - 적어도 하나 이상의 변수 노드에 대하여 현재(current) 복호 라운드에서의 제1 사후 확률을 계산하는 단계;
상기 계산된 제1 사후 확률의 부호와 상기 각 변수 노드의 이전(previous) 복호 라운드에서의 제2 사후 확률의 부호를 비교하는 단계;
상기 변수 노드로부터 체크 노드로 전달되는 제1 외부 정보를 계산하는 단계; 및
상기 비교 결과에 따라서 계산된 가중치를 상기 제1 외부 정보에 곱하여 상기 제1 외부 정보를 업데이트하는 단계
를 포함하는 LDPC 코드 디코딩 방법. - 삭제
- 제10항에 있어서,
상기 제1 사후 확률의 부호와 상기 제2 사후 확률의 부호가 상이한 경우에,
상기 외부 정보를 업데이트하는 단계는 상기 제1 외부 정보에 '1' 보다 작은 값의 가중치를 곱하는 LDPC 코드 업데이트 방법. - 제10항에 있어서,
상기 제1 사후 확률의 부호와 상기 제2 사후 확률의 부호가 동일한 경우에,
상기 가중치의 값은 '1'인 LDPC 코드 업데이트 방법. - 제9항에 있어서,
이후(next) 복호 라운드에서 상기 체크 노드로부터 상기 변수 노드로 전달되는 제2 외부 정보를 계산하는 단계
를 더 포함하는 LDPC 코드 디코딩 방법. - 제9항 및 제11항 내지 제16항 중에서 어느 하나의 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120129482A KR101412171B1 (ko) | 2012-11-15 | 2012-11-15 | Ldpc 코드 디코딩 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120129482A KR101412171B1 (ko) | 2012-11-15 | 2012-11-15 | Ldpc 코드 디코딩 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140065519A KR20140065519A (ko) | 2014-05-30 |
KR101412171B1 true KR101412171B1 (ko) | 2014-06-27 |
Family
ID=50892325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120129482A KR101412171B1 (ko) | 2012-11-15 | 2012-11-15 | Ldpc 코드 디코딩 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101412171B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3293885B1 (en) * | 2016-09-09 | 2024-01-03 | Université de Bretagne Sud | Check node processing for syndrome computation in the decoding of non-binary codes, in particular non-binary ldpc codes |
-
2012
- 2012-11-15 KR KR1020120129482A patent/KR101412171B1/ko active IP Right Grant
Non-Patent Citations (4)
Title |
---|
Jin Xie 외 3인, "Fast convergence Algorithm for Decoding of Low Density Parity Check Codes", WSEAS TRANSACTIONS on COMMUNICATIONS, 8권, 7호, pp.598-607, 2009.07. * |
Jin Xie 외 3인, "Fast convergence Algorithm for Decoding of Low Density Parity Check Codes", WSEAS TRANSACTIONS on COMMUNICATIONS, 8권, 7호, pp.598-607, 2009.07.* |
Tso-Cho Chen, "A weighted Belief Propagation Decoding Algorithm of LDPC Codes for Fast Convergence and Early Stopping", J. China University of Science and Technology, 52권, pp. 19-31, 2012.07. * |
Tso-Cho Chen, "A weighted Belief Propagation Decoding Algorithm of LDPC Codes for Fast Convergence and Early Stopping", J. China University of Science and Technology, 52권, pp. 19-31, 2012.07.* |
Also Published As
Publication number | Publication date |
---|---|
KR20140065519A (ko) | 2014-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9960790B2 (en) | Belief propagation decoding for short algebraic codes with permutations within the code space | |
KR20090126829A (ko) | 반복 복호 방법과 반복 복호 장치 | |
JPWO2007007801A1 (ja) | 通信装置および復号方法 | |
JP2009100222A (ja) | 低密度パリティ検査符号の復号装置およびその方法 | |
US8347172B2 (en) | Method for decoding using dynamic scheduling scheme for low density parity check codes and apparatus thereof | |
JP2013198017A (ja) | 復号装置及び通信装置 | |
US10128869B2 (en) | Efficient convergence in iterative decoding | |
US9219501B2 (en) | LDPC encoding/decoding method and device using same | |
US9231620B2 (en) | Iterative decoding device and related decoding method for irregular low-density parity-check code capable of improving error correction performance | |
US10298262B2 (en) | Decoding low-density parity-check maximum-likelihood single-bit messages | |
KR101412171B1 (ko) | Ldpc 코드 디코딩 장치 및 방법 | |
JP6567238B1 (ja) | 誤り訂正復号装置および誤り訂正復号方法 | |
US11750219B2 (en) | Decoding method, decoder, and decoding apparatus | |
JP2022511129A (ja) | 少なくとも2つの制約ノードで構成される符号を復号するための反復復号器 | |
US20170222659A1 (en) | Power improvement for ldpc | |
US11218166B1 (en) | Early convergence for decoding of LDPC codes | |
KR101630114B1 (ko) | 최소합 알고리즘을 이용한 ldpc 복호화 장치 및 방법 | |
KR102045438B1 (ko) | Ldpc 부호의 복호를 위한 방법 및 장치 | |
KR101917829B1 (ko) | Ldpc 부호의 셔플 복호를 위한 복호 순서 결정 방법 및 장치 | |
JP5034588B2 (ja) | 軟判定復号装置および軟判定復号プログラム | |
Li et al. | Improved parallel weighted bit-flipping decoding algorithm for LDPC codes | |
US20170264313A1 (en) | Low complexity decoder and decoding method based on code of bit node | |
JP5500203B2 (ja) | 軟判定復号装置および軟判定復号プログラム | |
JP5018807B2 (ja) | 復号化装置 | |
JP7038910B2 (ja) | 復号装置、制御回路および記憶媒体 |
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 |