KR101606040B1 - 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법 - Google Patents
실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법 Download PDFInfo
- Publication number
- KR101606040B1 KR101606040B1 KR1020150035756A KR20150035756A KR101606040B1 KR 101606040 B1 KR101606040 B1 KR 101606040B1 KR 1020150035756 A KR1020150035756 A KR 1020150035756A KR 20150035756 A KR20150035756 A KR 20150035756A KR 101606040 B1 KR101606040 B1 KR 101606040B1
- Authority
- KR
- South Korea
- Prior art keywords
- check
- node
- decoding
- failure
- processing unit
- 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
-
- 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 저밀도패리티 검사부호 복호장치에 관한 것으로, 저밀도패리티검사를 위한 복호연산 수행시 파생되는 실패검사노드의 수가 최소가 되는 때의 복호메시지를 확인하여 복호연산의 반복 횟수를 감소시킴은 물론, 출력되는 복호데이터의 오류 수를 최소화할 수 있도록 해 주는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법에 관한 것이다.
본 발명에 따른 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법은 통신 시스템에서의 저밀도패리티 검사부호 복호장치에 있어서, 입력되는 데이터에 대한 반복적인 복호연산을 수행하되, 복호연산 수행에 따른 복호메시지를 생성함과 더불어 노드검사정보를 출력하는 노드연산처리부와, 상기 노드연산처리부에서 생성된 복호메시지를 저장하기 위한 복호메시지 저장부, 상기 노드연산처리부에서 제공되는 노드검사정보를 근거로 실패검사노드 수 및 검사 반복횟수를 카운트하는 카운터 및, 상기 노드연산처리부에서 생성된 복호메시지가 신드롬 검사 조건을 만족하는 때에 해당 복호메시지를 출력하되, 상기 카운터로부터 제공되는 현재 실패검사노드 수를 근거로 최소 실패검사노드 수에 대응되는 복호메시지를 상기 복호메시지 저장부에 저장하고, 상기 카운터로부터 제공되는 현재 검사 반복횟수가 기 설정된 최대 검사 반복횟수 이상인 경우 상기 복호메시지 저장부에 저장된 복호메시지를 출력하도록 제어하는 제어부를 포함하여 구성되는 것을 특징으로 한다.
본 발명에 따른 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법은 통신 시스템에서의 저밀도패리티 검사부호 복호장치에 있어서, 입력되는 데이터에 대한 반복적인 복호연산을 수행하되, 복호연산 수행에 따른 복호메시지를 생성함과 더불어 노드검사정보를 출력하는 노드연산처리부와, 상기 노드연산처리부에서 생성된 복호메시지를 저장하기 위한 복호메시지 저장부, 상기 노드연산처리부에서 제공되는 노드검사정보를 근거로 실패검사노드 수 및 검사 반복횟수를 카운트하는 카운터 및, 상기 노드연산처리부에서 생성된 복호메시지가 신드롬 검사 조건을 만족하는 때에 해당 복호메시지를 출력하되, 상기 카운터로부터 제공되는 현재 실패검사노드 수를 근거로 최소 실패검사노드 수에 대응되는 복호메시지를 상기 복호메시지 저장부에 저장하고, 상기 카운터로부터 제공되는 현재 검사 반복횟수가 기 설정된 최대 검사 반복횟수 이상인 경우 상기 복호메시지 저장부에 저장된 복호메시지를 출력하도록 제어하는 제어부를 포함하여 구성되는 것을 특징으로 한다.
Description
본 발명은 저밀도패리티 검사부호 복호장치에 관한 것으로, 저밀도패리티검사를 위한 복호연산 수행시 파생되는 실패검사노드의 수가 최소가 되는 때의 복호메시지를 확인하여 복호연산의 반복 횟수를 감소시킴은 물론, 출력되는 복호데이터의 오류 수를 최소화할 수 있도록 해 주는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법에 관한 것이다.
저밀도패리티검사 (Low Density Parity Check, 이하 "LDPC"라 칭함)는 IEEE 802.16e 휴대 인터넷 국제 표준에 제안되고 있는 채널 코딩 기술로서, 코드 검사 행렬에서 행과 열의 1의 숫자가 부호어의 길이에 비해 매우 작기 때문에 검사 행렬이 저밀도(low density)가 되는 특성을 갖는다. 이는 또한, 디코딩에 사용되는 BP(Belief Propagation) 알고리즘이 하드웨어 구현 시 전체적으로 병렬 프로세싱이 가능하여 고속 데이터 전송에 적합한 채널 코딩 기술로 알려져 있다.
도1은 LDPC 코드 부호화를 설명하기 위한 도면으로, (a)는 일반적인 H 행렬의 예이고, (b)는 이 H 행렬을 테너 그래프(Tanner graph)로 나타낸 것이다.
먼저, LDPC 코드를 부호화하기 위해서는 패리티 체크 행렬인 H 행렬이 먼저 결정되어야 한다. H 행렬에서 행의 수를 m, 열의 수를 n 이라 할때, 정보비트의 길이 k는 n-m이 되고, 부호율은 k/n이 된다.
여기서, H 행렬은 임의의 열의 내적(inner product)이 "1" 이하가 되도록 하고, 테너 그래프 상에서 길이가 "4" 이하인 사이클이 생기지 않는 조건을 만족해야 한다. 즉, 행과 열의 "1"의 분포가 이웃해서 "4"개가 존재하지 않도록 한다.
이어, 상기한 행렬 H를 수학식1에 적용하여 LDPC 코드 생성행렬(G)를 생성하고, 수학식2에 따라 부호어를 생성한다.
여기서, 은 전송할 메세지 비트이고, 는 전송할 부호어를 나타낸다. 즉, 부호어()는 무선송출되어 수신측으로 수신된다. 이때, 수신측으로 수신되는 부호어()는 전송측으로부터 생성된 부호어()에 잡음성분이 포함된 형태로 수신된다.
즉, 수신측에서는 상기 수학식3 즉, 신드롬 검사 조건을 만족하는 경우 해당 수신 부호어에 오류가 없다고 판단하고, 복호 처리를 종료하게 된다.
이러한 방식의 코드 복호방법으로 합-곱 알고리즘(sum-product algorithm)을 이용하여 반복적인 복호연산을 수행할 수 있다.
상기한 합-곱 알고리즘(sum-product algorithm)은 도1에서 테너 그래프로 표현될 수 있다. 즉, 비트노드와 체크노드는 H 행렬의 원소가 "1"인 경우 테너 그래프에서 선으로 연결되고, 선으로 연결된 비트노드와 체크노드는 서로 간에 복호과정에서 계산된 확률을 반복적으로 주고 받는다. 그리고, 신드롬 검사 조건을 만족하는 경우 수신 부호어에 오류가 없다고 판단하고 해당 수신 부호어에 대한 코드 복호연산을 종료하게 된다.
그러나, 상기한 LDPC 코드 복호화는 도2의 경우와 같이 연속하는 부호에 오류가 있고, 테너 그래프에서 오류가 발생한 비트노드들이 동일한 체크노드와 연결되는 경우, 현재 입력된 수신 부호에 오류가 없는 것으로 판단할 수 있다.
즉, 전송신호가 모두 "0"이고 수신 부호어중 3,4번째 비트노드에 오류가 발생하여 3,4번 비트노트로 "1"이 수신되는 경우, 1 체크노드와 2 체크노드는 3,4 비트노드가 연결되므로 이들에 대한 부호 합이"1+1"로서 그 결과가 "0"이 되므로 오류가 없는 것으로 판단하고, 3체크노드는 4비트노드만이 연결되어 부호합이 "1"이 되므로 오류가 있는 것으로 판단한다. 그러나, 상기 체크노드 연산 결과에 의하면 1체크노드와 2체크노드가 "0"으로 반복 복호 연산을 수행하더라도 오류가 발생한 비트노드에 대한 오류판단이 이루어지지 않게 되는 문제가 발생할 수 있다.
또한, 종래 일반적인 LDPC 코드 부호화, 예컨대 IR LDPC 부호화 방법에 있어서는 도3 (s)와 같이 정규화된 신호대 잡음비(Eb/No)가 높아지는 것이 비해 비트오류율(BER)이 향상되지 않는 오류 마루(Error floor) 현상이 발생됨을 알 수 있다.
이에, 오류 마루 현상을 해결하기 위하여 LDPC 코드 부호화 방법으로 EG LDPC을 적용할 수 있으나, 이는 많은 연산처리로 인해 복호기의 계산복잡도가 높아질 뿐만 아니라 도3 (t)와 같이 높은 신호대 잡음비도 요구되는 단점이 있다.
이에, 본 발명은 상기한 사정을 감안하여 창출된 것으로, 저밀도패리티검사를 위한 복호연산 수행시 파생되는 실패검사노드의 수가 최소가 되는 때의 복호메시지를 확인하여 복호연산의 반복횟수를 감소시킴은 물론 오류 마루 현상의 발생을 해결하고, 출력되는 복호데이터의 오류 수를 최소화할 수 있도록 해 주는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법을 제공함에 그 기술적 목적이 있다.
상기 목적을 달성하기 위한 본 발명에 일측면에 의하면, 통신 시스템에서의 저밀도패리티 검사부호 복호장치에 있어서, 입력되는 데이터에 대한 반복적인 복호연산을 수행하되, 복호연산 수행에 따른 복호메시지를 생성함과 더불어, 노드검사정보를 출력하는 노드연산처리부와, 상기 노드연산처리부에서 생성된 복호메시지를 저장하기 위한 복호메시지 저장부, 제어부로부터 제공되는 신드롬 검사 결과정보에서 검사 실패에 해당하는 값을 실패검사노드로 판단하여 실패검사노드 수를 카운트함과 더불어, 노드검사정보의 수신 횟수에 대응되는 검사 반복횟수를 카운트하는 카운터 및, 상기 노드연산처리부에서 생성된 노드검사정보를 근거로 복호메시지에 대한 신드롬 검사를 수행하여 신드럼 검사 조건을 만족하는 때에 해당 복호메시지를 출력하되, 신드롬 검사 조건을 만족하지 않는 경우 해당 복호메시지에 대응되는 신드롬 검사 결과정보를 상기 카운터로 제공하고, 이에 대해 카운터로부터 제공되는 현재 실패검사노드 수를 근거로 기 설정된 최소 실패검사노드 수에 대응되는 복호메시지를 상기 복호메시지 저장부에 저장함과 더불어, 상기 카운터로부터 제공되는 현재 검사 반복횟수가 기 설정된 최대 검사 반복횟수 이상인 경우 상기 복호메시지 저장부에 저장된 복호메시지를 출력하도록 제어하는 제어부를 포함하여 구성되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치가 제공된다.
또한, 상기 최소 실패검사노드 수의 초기값은 상기 노드연산처리부에 적용되는 패리티 체크 행렬(H)의 행의 수로 설정되고, 상기 제어부는 카운터를 통해 제공되는 실패검사노드 수가 기 설정된 최소 실패검사노드 수의 초기값 미만인 경우, 현재 실패검사노드 수를 최소 실패검사노드 수로 변경설정하도록 구성되는 것을 특징으로 하는 저밀도패리티 검사부호 복호장치가 제공된다.
또한, 상기 노드연산처리부는 합-곱 알고리즘(sum-product algorithm)에 따라 입력 데이터에 대한 복호연산을 수행하도록 구성되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치가 제공된다.
또한, 상기 최대 검사 반복횟수는 신호대잡음비를 근거로 가변적으로 설정되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치가 제공된다.
또한, 상기 제어부로부터 출력되는 복호메시지에 대해 오류정정처리를 수행하는 오류정정처리부를 추가로 포함하여 구성되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치가 제공된다.
또한, 상기 오류정정처리부는 BCH 부호화 알고리즘에 따른 오류정정처리를 수행하도록 구성되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치가 제공된다.
또한, 상기 목적을 달성하기 위한 본 발명의 또 다른 일측면에 의하면, 통신 시스템에서의 저밀도패리티 검사부호 복호방법에 있어서, 노드연산처리부에서 입력되는 데이터에 대해 반복적인 복호연산을 수행하되, 복호연산 수행에 따른 복호메시지를 생성함과 더불어 노드검사정보를 출력하는 제1단계와, 상기 노드연산처리부에서 제공되는 노드검사정보가 신드롬 검사 조건을 만족하는지를 판단하는 제2 단계, 상기 제2 단계에서 신드롬 검사 조건을 만족하는 때에 생성된 복호메시지를 복호 데이터로서 출력하되, 신드롬 검사 조건을 만족하지 않는 경우 해당 복호메시지에 대응되는 신드롬 검사결과정보에서 검사 실패에 해당하는 값을 실패검사노드로 판단하여 실패검사노드 수를 카운트함과 더불어, 해당 노드검사정보에 대응되는 검사 반복횟수를 카운트하는 제3 단계, 상기 제3 단계에서 카운트된 현재 실패검사노드 수가 기 설정된 최소 실패검사노드 수 미만인 경우, 상기 제1 단계에서 생성된 복호메시지를 복호메시지 저장부에 저장하는 제4 단계 및, 상기 제3 단계에서 카운트된 현재 검사 반복횟수가 기 설정된 최대 검사 반복횟수 미만인 경우에는 상기 제1 단계를 수행하고, 현재 검사 반복횟수가 기 설정된 최대 검사 반복횟수 이상인 경우에는 상기 제4 단계에서 저장된 복호메시지를 복호 데이터로서 출력하는 제5 단계를 포함하여 구성되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호방법이 제공된다.
또한, 상기 제1 단계는 합-곱 알고리즘(sum-product algorithm)에 따라 입력 데이터에 대한 복호연산을 반복 수행하는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호방법이 제공된다.
또한, 상기 제5 단계에서 최소 실패검사노드 수의 초기값은 상기 노드연산처리부에 적용되는 패리티 체크 행렬(H)의 행의 수로 설정되고, 상기 제3 단계에서 카운트된 현재 실패검사노드 수가 최소 실패검사노드 수의 초기값 미만인 경우, 현재 실패검사노드 수를 최소 실패검사노드 수로 변경설정하는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호방법이 제공된다.
또한, 상기 제5 단계에서 상기 최대 검사 반복횟수는 신호대잡음비를 근거로 가변적으로 설정되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호방법이 제공된다.
또한, 상기 제5 단계에서 출력되는 복호 데이터에 대한 오류정정처리를 수행하여 출력하는 제6 단계를 추가로 포함하여 구성되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호방법이 제공된다.
또한, 상기 제6 단계에서 오류정정처리는 BCH 부호화 알고리즘에 의해 수행되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호방법이 제공된다.
본 발명에 의하면 통신시스템에서 저밀도패리티검사에 사용되는 반복 복호연산 수행시 파생되는 노드검사정보에서 실패검사노드 수를 카운트하고, 이 실패검사노드 수가 최소인 때의 복호메시지를 복호데이터로서 출력하도록 함으로써, 복호연산의 반복횟수를 감소시킴은 물론 용이하게 오류 마루 현상의 발생을 방지하고, 오류의 수를 최소화할 수 있게 된다.
이는 수신 부호어의 복호연산을 보다 신속하고 정확하게 하여 통신시스템의 성능을 향상시킬 수 있는 효과를 제공한다.
도1은 LDPC 코드 복호화에 적용되는 패리티 체크 행렬과 테너 그래프 표현방식을 예시한 도면.
도2는 종래 LDPC 코드 복호화시 발생되는 오류발생 상황을 예시한 도면.
도3은 종래 LDPC 코드 복호화 특성 실험결과를 나타낸 도면.
도4는 종래 LDPC 코드 복호화시 발생되는 오류 마루 패턴을 나타낸 도면.
도5는 종래 LDPC 코드 복호화시 발생되는 오류 마루 패턴과 실패검사노드 수 패턴을 나타낸 도면.
도6은 본 발명의 제1 실시예에 따른 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치의 개략적인 구성을 도시한 도면.
도7은 도6에 도시된 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치의 동작을 설명하기 위한 흐름도.
도8과 도10은 본 발명에 따른 복호장치 및 방법을 통해 저밀도패리티검사를 수행한 복호 결과와 기존 저밀도패리티검사 복호장치의 복호 결과를 나타낸 도면.
도9는 본 발명의 제2 실시예에 따른 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치의 개략적인 구성을 도시한 도면.
도2는 종래 LDPC 코드 복호화시 발생되는 오류발생 상황을 예시한 도면.
도3은 종래 LDPC 코드 복호화 특성 실험결과를 나타낸 도면.
도4는 종래 LDPC 코드 복호화시 발생되는 오류 마루 패턴을 나타낸 도면.
도5는 종래 LDPC 코드 복호화시 발생되는 오류 마루 패턴과 실패검사노드 수 패턴을 나타낸 도면.
도6은 본 발명의 제1 실시예에 따른 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치의 개략적인 구성을 도시한 도면.
도7은 도6에 도시된 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치의 동작을 설명하기 위한 흐름도.
도8과 도10은 본 발명에 따른 복호장치 및 방법을 통해 저밀도패리티검사를 수행한 복호 결과와 기존 저밀도패리티검사 복호장치의 복호 결과를 나타낸 도면.
도9는 본 발명의 제2 실시예에 따른 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치의 개략적인 구성을 도시한 도면.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세하게 설명하기로 한다.
먼저, 본원 발명은 LDPC 코드 복호화를 수행함에 있어서, 반복 복호연산의 수를 최소화하면서 간단한 방법으로 오류가 최소인 복호 데이터를 출력할 수 있도록 해 주는 것이다.
이를 위해 본 발명자는 LDPC 코드 복호화시 발생되는 오류 마루 현상을 분석하였다. 그 결과, 오류 마루 현상시 발생되는 패턴은 도4에 도시된 바와 같이 대략 3가지 형태로 표본화 됨을 알 수 있었다. 즉, 오류 마루 현상은 도4 (X)와 같이 검사 반복횟수(Interation number)가 일정 수, 예컨대 20 회 까지는 오류수가 급속히 감소하다가 20회 이상부터는 오류수가 일정하게 유지되는 패턴과, 도4 (Y)와 같이 검사 반복횟수(Interation number)가 일정 수, 예컨대 20 회 까지는 오류수가 감소하다가 20 회 이상 일정 회수, 예컨대 30회까지는 오류수가 갑자기 증가하며, 30회 이후부터는 오류수가 일정하게 유지되는 패턴 및, 도4 (Z)와 같이 검사 반복횟수(Interation number)가 일정 수, 예컨대 20회 까지는 오류수가 감소하다가 다시 급격히 증가하는 형태를 반복하는 패턴으로 나눌 수 있다.
또한, 본 발명자는 상기한 오류 마루 현상의 해결을 위해 검사 반복횟수에 따른 오류 패턴과 실패검사노드 수를 확인해 본 결과, 도5에 도시된 바와 같이 실패검사노드 수와 오류 마루 패턴은 거의 동일한 패턴을 형성함을 알 수 있었다. 도5에서 실선은 오류 패턴을 나타낸 것이고, 점선은 실패검사노드 수를 나타낸 것이다.
이에, 본 발명자는 상기한 오류 패턴과 실패검사노드 패턴이 유사한 특성을 갖는다는 점에 착안하여, 실패검사노드의 수를 카운트하여 최소 실패검사노드 발생시 생성되는 복호메시지를 복호 데이터로 출력하도록 함으로써, 반복 복호의 횟수를 감소시킴은 물론 오류 마루 현상의 발생을 해결하고 오류의 수를 최소화할 수 있도록 한 것이다.
도6은 본 발명에 따른 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치의 개략적인 구성을 도시한 도면이다.
도6에 도시된 바와 같이 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치는 노드연산처리부(100)와, 복호 메시지 저장부(200), 카운터(300), 데이터메모리(400) 및 제어부(500)를 포함하여 구성된다.
상기 노드연산처리부(100)는 입력되는 데이터에 대한 오류를 판단하기 위한 것으로, 상기 수학식3을 만족하는 경우 입력 데이터 즉, 수신 부호어에 오류가 없다고 판단하도록 구성된다.
이때, 상기 노드연산처리부(100)는 도1에 도시된 바와 같이 테너 그래프로 표현될 수 있는 공지의 기술인 합-곱 알고리즘(sum-product algorithm)을 이용하여 반복적인 복호연산을 수행하도록 구성될 수 있다. 상기 합-곱 알고리즘은 복호연산을 수행하는 과정에서 각 비트노드와 체크노드에서 확률값을 반복적으로 계산하여 갱신한다. 그 후, 비트노드에서 체크노드로 보내지는 메시지에 대한 경판정 결과를 상기 수학식 3에 대입하여 노드별 검사실패 또는 노드별 검사성공을 판정하게 된다. 예컨대, 수학식 3의 연산 결과 중 "1"의 값을 갖는 위치가 실패 검사노드의 위치와 동일한 경우, 검사 성공으로 판정한다.
또한, 상기 노드연산처리부(100)는 경판정시 생성된 복호메시지를 내부 메모리(미도시)에 저장함과 더불어, 노드검사정보를 상기 카운터(300)로 제공한다. 여기서, 상기 검사노드정보는 체크노드별 경판정 결과정보가 포함된다.
상기 복호메시지 저장부(200)는 상기 노드연산처리부(100)에서 생성된 복호메시지를 저장한다.
상기 카운터(300)는 상기 제어부(500)로부터 제공되는 검사결과정보를 근거로 오류가 있다고 판단되는 실패검사노드 수를 카운트한다. 즉, 상기 카운터(300)는 검사결과 행렬에서 "1"의 수를 카운트한다. 또한, 상기 카운터(300)는 상기 제어부(500)로부터 검사결과정보의 수신을 근거로 검사 반복횟수를 카운트한다.
상기 데이터메모리(400)는 상기 노드연산처리부(100)에 대한 최소 실패검사노드 수 및 최대 검사 반복횟수 정보를 포함하는 각종 복호관련 정보를 저장한다.
상기 제어부(500)는 상기 노드연산처리부(100)로부터 출력되는 노드검사정보가 수학식3과 같은 신드롬 검사조건을 만족하는지를 확인하여 패리티검사조건을 만족하는 경우 해당 복호연산시 생성된 복호메시지를 복호데이터로서 출력한다.
또한, 상기 제어부(500)는 상기 노드연산처리부(100)로부터 출력되는 노드검사정보에 대한 신드롬 검사조건 만족여부를 근거로 만족하지 않는 경우, 해당 검사결과정보를 상기 카운터(300)로 제공한다. 그리고, 상기 제어부(500)는 이에 대해 상기 카운터(300)로부터 제공되는 실패검사노드 수와 상기 데이터메모리(400)에 저장된 최소 실패검사노드 수를 비교하여 현재 실패검사노드 수가 최소 검사노드 수보다 작은 경우, 현재 복호연산시 생성된 복호메시지를 상기 복호메시지 저장부(200)에 저장하도록 제어한다. 여기서, 상기 제어부(500)는 상기 노드연산처리부(100)를 통해 현재 생성된 복호메시지를 상기 복호메시지 저장부(200)에 저장하도록 제어하거나 또는 제어부(500)에서 노드연산처리부(100)의 내부 메모리에 저장된 복호메시지를 독출하여 복호메시지 저장부(200)에 저장하도록 구성될 수 있다. 여기서, 상기 제어부(500)는 현재 실패검사노드 수가 최소 검사노드 수보다 작은 경우 데이터 메모리(400)에 최소 검사노드 수를 현재 카운트된 현재 실패검사노드 수로 변경저장한다.
또한, 상기 제어부(500)는 카운터(300)로부터 제공되는 노드연산처리부(100)의 복호연산 반복 횟수와 데이터메모리(400)에 설정된 최대 검사 반복횟수를 비교하여 최대 검사 반복횟수까지만 노드연산처리부(100)에서의 복호연산처리를 수행하도록 제어한다. 이때, 상기 제어부(500)는 최대 검사 반복횟수까지 검사를 반복하여도 신드롬 검사조건을 만족하지 못하는 경우, 상기 복호메시지 저장부(200)에 저장된 복호메시지를 복호데이터로 출력하도록 구성된다.
즉, 상기 제어부(500)는 노드연산처리부(100)의 복호연산을 기 설정된 최대 검사 반복횟수로 제한하되, 최대 검사 반복횟수 동안 복호연산 결과가 패리티조건을 만족하지 못하는 경우에는, 최소 실패노드 수인 때에 생성된 복호메시지를 복호데이터로서 출력하게 된다.
이어, 상기한 구성으로 된 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치의 동작을 도7을 참조하여 설명한다.
먼저, 데이터메모리(400)에는 최소 실패검사노드 수 초기 값과 최대 검사 반복횟수가 저장된다(ST10). 이때, 상기 최소 실패검사노드 초기값은 상기 노드연산처리부(100)에 적용되는 패리티 체크 행렬(H)의 행의 수로 자동 설정되고, 상기 최대 검사 반복횟수는 사용자에 의해 고정 설정되거나 또는 파일럿 신호를 이용하여 추정된 신호대잡음비를 근거로 가변적으로 설정되어 저장될 수 있다. 예컨대, 도3 (A)와 같은 오류 마루 특성을 고려하는 경우, 최대 검사 반복횟수는 "30"으로 설정될 수 있다.
상기한 상태에서 노드연산처리부(100)는 입력되는 데이터에 대한 복호연산 처리를 수행하여, 이에 따른 복호메시지를 생성함과 더불어 노드검사정보를 상기 제어부(500)로 제공한다(ST20). 이때, 상기 노드연산처리부(100)는 복호연산 수행에 따른 복호메시지를 내부 메모리(미도시)에 저장한다.
상기 제어부(500)는 상기 ST20단계에서 상기 노드연산처리부(100)로부터 제공되는 노드검사정보가 신드롬 검사 조건을 만족하는지는 근거로 검사결과에 대한 오류여부를 판단한다(ST30). 즉, 상기 제어부(500)는 현재 노드검사정보가 수학식 3을 만족하는지를 확인한다.
이때, 상기 제어부(500)는 상기 ST30단계에서 현재 검사노드에 대해 오류가 없는 것으로 판단되면, 상기 노드연산처리부(100)에서 현재 복호연산 수행에 의해 생성된 복호메시지를 상기 복호데이터로서 출력한다(ST40).
한편, 상기 제어부(500)는 상기 ST30단계에서 현재 검사노드에 대해 오류가 있는 것으로 판단되면, 해당 검사결과정보를 상기 카운터(300)로 제공한다. 이때, 상기 검사결과정보는 신드롬 검사조건에 의해 생성되는 검사결과 행렬(S, 수학식 3)정보를 포함한다.
상기 카운터(300)는 상기 제어부(500)로부터 제공되는 검사노드결과정보에서 실패검사노드의 수를 카운트함과 더불어, 현재 검사 반복횟수를 카운트하여 상기 제어부(500)로 제공한다(ST50). 즉, 상기 카운터(300)는 검사노드결과정보 즉, 검사결과 행렬(HT)에서 "1"의 개수를 카운트함으로써, 실패검사노드 수를 카운트한다. 또한, 상기 카운터(300)는 검사노드결과정보의 수신을 근거로 검사 반복횟수를 카운트한다.
상기 제어부(500)는 상기 카운터(300)로부터 제공되는 현재 실패검사노드 수와 데이터메모리(400)에 설정된 최소 실패검사노드 값을 비교하여(ST60), 현재 실패검사노드 수가 최소 실패검사횟수 값 미만인 경우에는 현재 실패검사노 수를 최소 실패검사노드 값으로 변경설정함과 더불어(ST70), 현재 복호연산시 생성된 복호메시지를 상기 복호메시지 저장부(200)에 저장한다(ST80).
또한, 상기 제어부(500)는 상기 ST50 단계에서 카운터(300)로부터 제공되는 현재 검사 반복횟수가 데이터메모리(400)에 설정된 최대 검사 반복횟수 이상인지를 판단한다(ST90). 즉, 상기 제어부(500)는 상기 ST90단계에서 현재 실패검사노드 횟수가 최대 실패검사횟수 미만이라고 판단되면, 복호연산을 수행하는 상기 ST20 단계를 수행한다. 이때, 상기 제어부(500)는 상기 ST30 단계에서 노드검사결과에 오류가 없다고 판단되는 때까지 상기 ST20 단계의 복호연산을 반복수행 한다. 그리고, 상기 ST90단계에서 현재 실패검사노드 횟수가 최대 실패검사횟수와 동일한 경우 상기 제어부(500)는 상기 노드연산부(100)를 제어하여 해당 입력데이터에 대한 복호연산 수행을 종료한다.
한편, 상기 제어부(500)는 ST90단계에서, 현재 실패검사노드 횟수가 최대 실패검사횟수와 동일한 경우, 더 이상 상기 ST20 단계의 복호연산을 수행하지 않고, 상기 복호메시지 저장부(200)에 저장된 복호메시지를 복호데이터로서 출력한다(ST100). 즉, 최소 실패검사노드 수에 대응되는 복호메시지가 복호데이터로서 출력된다.
도8은 부호화율에 따른 종래 저밀도패리티 검사부호 복호특성(Conv.LDPC)과 본 발명에 따른 저밀도패리티 검사부호 복호특성(Prop.LDPC)을 비교하기 위한 도면이다. 여기서, "R"은 부호율(cord rate)을 의미한다.
즉, 도8은 신호대 잡음비에 대한 BER(Bit Error Rate) 특성을 나타낸 것으로 , 도시된 바와 같이 본 발명에 따른 저밀도패리티 검사부호 복호수행시 오류 마루 특성이 나타나지 않음은 물론, 동일 신호대 잡음비에 비해 향상된 BER 특성을 나타남을 알 수 있다.
한편, 상기 실시예에 있어서는 저밀도패리티 검사부호에 대한 검사를 통해 오류가 최소인 복호데이터를 출력하도록 하도록 구성되어 있으나, 도9에 도시된 바와 같이 복호 데이터에 대한 오류 수정처리를 수행하는 복호기(600)를 추가로 구비하여 복호 데이터에 대한 오류를 수정하여 보다 정확한 복호 데이터를 출력하도록 구성하는 것도 가능하다.
즉, 상기 복호기(600)는 입력되는 복호데이터에 대하여 오류가 발생된 데이터에 대한 오류정정 처리를 수행하는 것으로, 복호 연산을 위한 복잡도가 낮은 각종 부호화 알고리즘이 적용될 수 있으며, 예컨대 공지의 BCH 부호화기로 구성될 수 있다. 상기 BCH 부호는 임의의 오류 수정에 적합한 순회 부호로서, Bose, Chaudhuri, Hocque-nghem 3인의 머리글자를 딴 것이다. 이는 m을 양의 정수라 할때 2m-1 또는 2 이하의 부호 길이에 대해서 mt비트의 검사 비트를 받는 것만으로 t개의 오류를 수정할 수 있도록 된 부호화 방식으로, 대략 10 개 내외의 오류정정이 가능하다.
한편, 도10은 본 발명에 따른 복호장치 및 방법을 통해 저밀도패리티검사를 수행하여 얻은 복호 결과와 기존 복호 결과를 나타낸 도면이다.
도10에는 부호화율에 따른 종래 저밀도패리티 검사부호 복호특성(Conv.LDPC/Conv.BCH-LDPC)과 본 발명에 따른 저밀도패리티 검사부호 복호특성(Prop.LDPC,Prop.BCH-LDPC)이 도시되어 있다. 여기서, "R"은 부호율(cord rate)을 의미한다.
즉, 도10에서 (X)는 신호대 잡음비에 대한 BER(Bit Error Rate) 특성을 나타낸 것이고, (Y)는 신호대 잡음비에 대한 CER(Cord Error Rate) 특성을 나타낸 것으로, 도시된 바와 같이 본 발명에 따른 저밀도패리티 검사부호 복호수행시 오류 마루 특성이 나타나지 않음은 물론, 동일 에너지 소비량에 비해 향상된 BER 또는 CER 특성을 나타남을 알 수 있다.
따라서, 상기 실시예에 의하면 저밀도패리티검사에 사용되는 합-곱 알고리즘(sum-product algorithm) 수행시 파생되는 검사노드정보에서 실패검사노드 수를 카운트하고, 이 실패검사노드 수가 최소인 때의 복호메시지를 복호데이터로서 출력하도록 함으로써, 복호연산의 반복횟수를 감소시킴은 물론 간단한 방법으로 오류의 수가 최소인 복호데이터를 출력할 수 있게 된다.
비록, 본 발명이 상기 언급된 바람직한 실시예와 관련하여 설명되어졌지만, 발명의 요지와 범위로부터 벗어남이 없이 다양한 수정이나 변형을 하는 것이 가능하다. 따라서 첨부된 특허등록청구의 범위는 본 발명의 요지에서 속하는 이러한 수정이나 변형을 포함할 것이다.
100 : 노드연산처리부, 200 : 복호메시지 저장부,
300 : 카운터, 400 : 데이터메모리,
500 : 제어부, 600 : 오류정정처리부.
300 : 카운터, 400 : 데이터메모리,
500 : 제어부, 600 : 오류정정처리부.
Claims (12)
- 통신 시스템에서의 저밀도패리티 검사부호 복호장치에 있어서,
입력되는 데이터에 대한 반복적인 복호연산을 수행하되, 복호연산 수행에 따른 복호메시지를 생성함과 더불어, 노드검사정보를 출력하는 노드연산처리부와,
상기 노드연산처리부에서 생성된 복호메시지를 저장하기 위한 복호메시지 저장부,
제어부로부터 제공되는 신드롬 검사 결과정보에서 검사 실패에 해당하는 값을 실패검사노드로 판단하여 실패검사노드 수를 카운트함과 더불어, 노드검사정보의 수신 횟수에 대응되는 검사 반복횟수를 카운트하는 카운터 및,
상기 노드연산처리부에서 생성된 노드검사정보를 근거로 복호메시지에 대한 신드롬 검사를 수행하여 신드롬 검사 조건을 만족하는 때에 해당 복호메시지를 출력하되, 신드롬 검사 조건을 만족하지 않는 경우 해당 복호메시지에 대응되는 신드롬 검사 결과정보를 상기 카운터로 제공하고, 이에 대해 카운터로부터 제공되는 현재 실패검사노드 수를 근거로 기 설정된 최소 실패검사노드 수에 대응되는 복호메시지를 상기 복호메시지 저장부에 저장함과 더불어, 상기 카운터로부터 제공되는 현재 검사 반복횟수가 기 설정된 최대 검사 반복횟수 이상인 경우 상기 복호메시지 저장부에 저장된 복호메시지를 출력하도록 제어하는 제어부를 포함하여 구성되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치. - 제1항에 있어서,
상기 최소 실패검사노드 수의 초기값은 상기 노드연산처리부에 적용되는 패리티 체크 행렬(H)의 행의 수로 설정되고,
상기 제어부는 카운터를 통해 제공되는 실패검사노드 수가 기 설정된 최소 실패검사노드 수의 초기값 미만인 경우, 현재 실패검사노드 수를 최소 실패검사노드 수로 변경설정하도록 구성되는 것을 특징으로 하는 저밀도패리티 검사부호 복호장치. - 제1항에 있어서,
상기 노드연산처리부는 합-곱 알고리즘(sum-product algorithm)에 따라 입력 데이터에 대한 복호연산을 수행하도록 구성되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치. - 제1항에 있어서,
상기 최대 검사 반복횟수는 신호대잡음비를 근거로 가변적으로 설정되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치. - 제1항에 있어서,
상기 제어부로부터 출력되는 복호메시지에 대해 오류정정처리를 수행하는 오류정정처리부를 추가로 포함하여 구성되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치. - 제5항에 있어서,
상기 오류정정처리부는 BCH 부호화 알고리즘에 따른 오류정정처리를 수행하도록 구성되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치. - 통신 시스템에서의 저밀도패리티 검사부호 복호방법에 있어서,
노드연산처리부에서 입력되는 데이터에 대해 반복적인 복호연산을 수행하되,
복호연산 수행에 따른 복호메시지를 생성함과 더불어 노드검사정보를 출력하는 제1단계와,
상기 노드연산처리부에서 제공되는 노드검사정보가 신드롬 검사 조건을 만족하는지를 판단하는 제2 단계,
상기 제2 단계에서 신드롬 검사 조건을 만족하는 때에 생성된 복호메시지를 복호 데이터로서 출력하되, 신드롬 검사 조건을 만족하지 않는 경우 해당 복호메시지에 대응되는 신드롬 검사결과정보에서 검사 실패에 해당하는 값을 실패검사노드로 판단하여 실패검사노드 수를 카운트함과 더불어, 해당 노드검사정보에 대응되는 검사 반복횟수를 카운트하는 제3 단계,
상기 제3 단계에서 카운트된 현재 실패검사노드 수가 기 설정된 최소 실패검사노드 수 미만인 경우, 상기 제1 단계에서 생성된 복호메시지를 복호메시지 저장부에 저장하는 제4 단계 및,
상기 제3 단계에서 카운트된 현재 검사 반복횟수가 기 설정된 최대 검사 반복횟수 미만인 경우에는 상기 제1 단계를 수행하고, 현재 검사 반복횟수가 기 설정된 최대 검사 반복횟수 이상인 경우에는 상기 제4 단계에서 저장된 복호메시지를 복호 데이터로서 출력하는 제5 단계를 포함하여 구성되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호방법. - 제7항에 있어서,
상기 제1 단계는 합-곱 알고리즘(sum-product algorithm)에 따라 입력 데이터에 대한 복호연산을 반복 수행하는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호방법. - 제7항에 있어서,
상기 제5 단계에서 최소 실패검사노드 수의 초기값은 상기 노드연산처리부에 적용되는 패리티 체크 행렬(H)의 행의 수로 설정되고,
상기 제3 단계에서 카운트된 현재 실패검사노드 수가 최소 실패검사노드 수의 초기값 미만인 경우, 현재 실패검사노드 수를 최소 실패검사노드 수로 변경설정하는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호방법. - 제7항에 있어서,
상기 제5 단계에서 상기 최대 검사 반복횟수는 신호대잡음비를 근거로 가변적으로 설정되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호방법. - 제7항에 있어서,
상기 제5 단계에서 출력되는 복호 데이터에 대한 오류정정처리를 수행하여 출력하는 제6 단계를 추가로 포함하여 구성되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호방법. - 제11항에 있어서,
상기 제6 단계에서 오류정정처리는 BCH 부호화 알고리즘에 의해 수행되는 것을 특징으로 하는 실패검사노드를 이용한 저밀도패리티 검사부호 복호방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150035756A KR101606040B1 (ko) | 2015-03-16 | 2015-03-16 | 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150035756A KR101606040B1 (ko) | 2015-03-16 | 2015-03-16 | 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101606040B1 true KR101606040B1 (ko) | 2016-04-04 |
Family
ID=55799835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150035756A KR101606040B1 (ko) | 2015-03-16 | 2015-03-16 | 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101606040B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11614869B2 (en) | 2020-09-29 | 2023-03-28 | Samsung Electronics Co., Ltd. | Controller for preventing uncorrectable error in memory device, memory device having the same, and operating method thereof |
-
2015
- 2015-03-16 KR KR1020150035756A patent/KR101606040B1/ko active IP Right Grant
Non-Patent Citations (1)
Title |
---|
‘저밀도 패리티 검사부호에서 오류마루 감소를 위한 수정 합-곱 알고리즘’, 한국통신학회논문지 (2010년) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11614869B2 (en) | 2020-09-29 | 2023-03-28 | Samsung Electronics Co., Ltd. | Controller for preventing uncorrectable error in memory device, memory device having the same, and operating method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11463111B2 (en) | Encoding/decoding method, device, and system | |
Hashemi et al. | Partitioned successive-cancellation list decoding of polar codes | |
US11177834B2 (en) | Communication method and apparatus using polar codes | |
WO2018171516A1 (en) | Method and apparatus for error-correction encoding using a polar code | |
KR101718543B1 (ko) | 개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체 | |
TW201933796A (zh) | 使用硬選取硬解碼模式下的解碼器產生軟資訊的方法 | |
KR20090126829A (ko) | 반복 복호 방법과 반복 복호 장치 | |
JP2012519982A (ja) | 確率的に一定組成の符号から不均一誤り保護符号の設計を提供するための方法およびデバイス | |
KR20200087211A (ko) | 계단 코드의 디코딩 방법, 장치 및 기억매체 | |
CN106537787B (zh) | 译码方法和译码器 | |
KR20070065445A (ko) | 순환 리던던시 코드 서명 비교를 구비한 터보 디코더 | |
KR101606040B1 (ko) | 실패검사노드를 이용한 저밀도패리티 검사부호 복호장치 및 그 방법 | |
US9231620B2 (en) | Iterative decoding device and related decoding method for irregular low-density parity-check code capable of improving error correction performance | |
KR102111678B1 (ko) | 인터리버를 이용한 극 부호 장치, 극 부호의 반복 복호 장치 및 이를 이용한 부호 방법과 복호 방법 | |
KR101554488B1 (ko) | 저밀도 패리티 체크 코드의 디코딩 방법 및 장치 | |
KR101630114B1 (ko) | 최소합 알고리즘을 이용한 ldpc 복호화 장치 및 방법 | |
EP4072023A1 (en) | Decoding method, decoder, and decoding device | |
KR102293600B1 (ko) | 극 부호를 위한 저지연 비트 플리핑 연속 제거 복호 방법 및 복호 시스템 | |
KR102045438B1 (ko) | Ldpc 부호의 복호를 위한 방법 및 장치 | |
KR101484066B1 (ko) | 엘디피시 부호의 디코딩 방법 | |
JP5385944B2 (ja) | 復号器 | |
RU2575399C1 (ru) | Способ декодирования ldpc-кодов и устройство его реализующее | |
JP4900168B2 (ja) | 無線受信装置 | |
JP4755238B2 (ja) | 復号器 | |
US8977926B2 (en) | Modified targeted symbol flipping for non-binary LDPC codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190304 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200302 Year of fee payment: 5 |