KR20150121966A - 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치 - Google Patents
저밀도 패리티 검사 코드의 복호화 방법 및 그 장치 Download PDFInfo
- Publication number
- KR20150121966A KR20150121966A KR1020140048251A KR20140048251A KR20150121966A KR 20150121966 A KR20150121966 A KR 20150121966A KR 1020140048251 A KR1020140048251 A KR 1020140048251A KR 20140048251 A KR20140048251 A KR 20140048251A KR 20150121966 A KR20150121966 A KR 20150121966A
- Authority
- KR
- South Korea
- Prior art keywords
- node
- variable
- check
- variable node
- nodes
- 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/1131—Scheduling of bit node or check node processing
-
- 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/1117—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
-
- 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)의 복호화 방법을 포함하고, 상기 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출하는 단계를 더 포함한다. 이때, 상기 변수 노드 갱신 과정은 상기 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 상기 변수 노드 갱신을 수행하고, 상기 체크 노드 갱신 과정은 상기 비활성 변수 노드를 이용하지 않고 상기 체크 노드 갱신을 수행한다.
Description
본 발명은 복호화 연산에 관한 것으로, 특히 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치에 관한 것이다.
최근 통신 기술이 급속도로 발전함에 따라 보다 높은 효율을 얻을 수 있는 부호화를 요구하게 되면서 저밀도 패리티 검사 코드(Low-Density Parity-Check code:LDPC)가 새로운 대안으로 떠오르고 있다.
LDPC 부호화는 순방향 오류 정정 기술 중 터보 부호화와 함께 Shannon에 의해 발표된 채널 용량의 한계에 가장 근접하는 오류 정정 능력을 보이며 현재 Wi-fi(IEEE 802.11n, 802.11ac), Wigig(IEEE 802.11ad), 10Gbase-T Ethernet(802.3an) 등의 최신 통신 시스템 표준에 채택되어 사용되고 있으며 차세대 순방향 오류 정정 부호화로 채택이 활발히 논의되고 있다.
하지만, LDPC 부호화는 높은 오류 정정 능력에도 불구하고 복호화시에 요구되는 연산량이 많아 연산 복잡도를 줄이기 위한 효율적인 복호화 방법에 대한 필요성이 대두되고 있다.
본 발명의 목적은 비트 에러율(Bit Error Ratio) 성능의 저하는 최소화하면서도 연산 복잡도는 줄일 수 있는 LDPC 복호화 방법 및 그 장치를 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 복수의 체크 노드와 복수의 변수 노드에 대한 초기화 과정, 체크 노드 갱신 과정, 변수 노드 갱신 과정, 시험 복호화 과정 및 패리티 검사 과정을 포함하는 저밀도 패리티 검사 코드(LDPC)의 복호화 방법은 상기 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출하는 단계를 더 포함하고, 상기 변수 노드 갱신 과정은 상기 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 상기 변수 노드 갱신을 수행하고, 상기 체크 노드 갱신 과정은 상기 비활성 변수 노드를 이용하지 않고 상기 체크 노드 갱신을 수행한다.
바람직하게는, 상기 체크 노드 갱신 과정은 상기 체크 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드를 이용하여 수행될 수 있다.
바람직하게는, 상기 변수 노드 갱신 과정은 상기 변수 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드에 대해서만 수행될 수 있다.
바람직하게는, 상기 체크 노드 갱신 과정은 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 갱신할 때, 상기 비활성 변수 노드 및 상기 j번째 변수 노드를 제외한 상기 활성 변수 노드들만을 이용하여 상기 체크-변수 메시지를 갱신할 수 있다.
바람직하게는, 상기 체크 노드 갱신 과정은 하기의 (수학식 9)에 의거하여 상기 체크 노드 갱신을 수행할 수 있다. .
(수학식 9)
이때, 는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내고, 는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고, 는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고, 는 j번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내고, 는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타낸다.
바람직하게는, 상기 적어도 하나의 비활성 변수 노드를 검출하는 단계는 강제 수렴(Forced convergence)조건 만족 여부에 기초하여 수행될 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 복수의 체크 노드와 복수의 변수 노드에 대한 초기화를 수행하는 초기화부, 체크 노드 갱신을 수행하는 체크노드갱신부, 변수 노드 갱신을 수행하는 변수노드갱신부, 시험 복호화를 수행하는 시험복호화부 및 패리티 검사를 수행하는 패리티검사부를 포함하는 저밀도 패리티 검사 코드(LDPC)의 복호화 장치는 상기 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출하는 비활성노드검출부를 더 포함하고, 상기 변수노드갱신부는 상기 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 상기 변수 노드 갱신을 수행하고, 상기 체크노드갱신부는 상기 비활성 변수 노드를 이용하지 않고 상기 체크 노드 갱신을 수행한다.
바람직하게는, 상기 체크노드갱신부는 상기 체크 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드를 이용하여 상기 체크 노드 갱신을 수행할 수 있다.
바람직하게는, 상기 변수노드갱신부는 상기 변수 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드에 대해서만 상기 변수 노드 갱신을 수행할 수 있다.
바람직하게는, 상기 체크노드갱신부는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 갱신할 때, 상기 비활성 변수 노드 및 상기 j번째 변수 노드를 제외한 상기 활성 변수 노드들만을 이용하여 상기 체크-변수 메시지를 갱신할 수 있다.
바람직하게는, 상기 체크노드갱신부는 하기의 (수학식 9)에 의거하여 상기 체크 노드 갱신을 수행할 수 있다.
(수학식 9)
이때, 는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내고, 는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고, 는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고, 는 j번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내고, 는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타낼 수 있다.
바람직하게는, 상기 비활성노드검출부는 강제 수렴 조건 만족 여부에 기초하여 상기 적어도 하나의 비활성 변수 노드를 검출할 수 있다.
본 발명의 일 실시예에 따르면 비활성화된 변수 노드들을 고려하여 체크 노드를 부분적으로 비활성화시켜 체크 노드 갱신에 필요한 연산량을 줄임으로써, 비트 에러율(Bit Error Ratio) 성능의 저하는 최소화하면서도 LDPC 복호화 연산량은 줄일 수 있게 되는 효과가 있다.
도 1은 종래의 최소합 알고리즘에 따른 LDPC 복호화 방법을 설명하기 위하여 도시한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 LDPC 복호화 방법을 설명하기 위하여 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 체크 노드 갱신 방법을 설명하기 위하여 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 LDPC 복호화 장치를 설명하기 위하여 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 LDPC 복호화 방법을 설명하기 위하여 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 체크 노드 갱신 방법을 설명하기 위하여 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 LDPC 복호화 장치를 설명하기 위하여 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 종래의 최소합 알고리즘에 따른 LDPC 복호화 방법을 설명하기 위하여 도시한 흐름도이다.
이때, LDPC 복호화 방법은 패리티 검사 행렬 H와 태너 그래프를 이용해서 수행되며, 패리티 검사 행렬 H는 태너 그래프로 표현될 수 있다. 패리티 검사 행렬에서의 행의 수만큼의 체크 노드들이 만들어지고, 열의 개수만큼의 변수 노드들이 만들어져 태너 그래프를 형성한다. 만일 행렬의 (i,j) 원소가 1이면 i번째 체크 노드가 j번째 변수 노드와 에지로 연결되어 서로 이웃하는 노드들이 된다.
단계 110에서는, 복호화 장치가 복수의 체크 노드(Check node)와 복수의 변수 노드(Variable node)에서 초기화를 수행한다.
보다 구체적으로는, 체크 노드에서는 수학식 1에 의해 초기화가 수행된다.
다음으로, 변수 노드에서는 수학식 2에 의해 초기화가 수행된다.
는 j번째 변수 노드가 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내며, 이 체크-변수 메시지의 초기 값을 로 설정함으로써 변수 노드를 초기화하게 된다. 이때, 는 부가적인 백색 가우시안 잡음(Additive White Gaussian Noise:AWGN) 채널에서 입력 심볼의 확률 분포가 균일한 경우에 수학식 2에서와 같이 사후 확률(posterior probability)로서 유도되는데, 는 수신된 부호어의 j번째 비트에 해당하는 메시지 값을 나타내고, 는 잡음의 분산을 의미한다.
단계 120에서는, 복호화 장치가 체크 노드를 갱신한다.
보다 구체적으로는, 체크 노드는 수학식 3에 의해 갱신을 수행한다.
이때, 는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내고, 는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고, 는 j번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타낸다.
즉, 수학식 3에 따르면 첫번째 텀에 의하여 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드에서의 변수-체크 메시지들의 부호(sign)를 곱함으로써 의 부호(sign)가 음수 또는 양수로서 결정되고, 두번째 텀에 의하여 j번째 변수 노드를 제외한 나머지 변수 노드들에서 i번째 체크 노드에게 전달하는 변수-체크 메시지들 중에서 최소 값이 의 메시지 값이 된다.
단계 130에서는, 복호화 장치가 변수 노드를 갱신한다.
보다 구체적으로는, 변수 노드는 수학식 4에 의해 갱신을 수행한다.
이때, 는 j번째 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내고, 는 변수-체크 메시지의 초기 값이고, 는 j번째 변수 노드와 연결된 i번째 체크 노드를 제외한 나머지 체크 노드의 집합을 나타내고, 는 i번째 체크 노드를 제외한 나머지 체크 노드들에서 j번째 변수 노드에게 전달하는 체크-변수 메시지들을 나타낸다.
즉, 수학식 4에 따르면 는 i번째 체크 노드를 제외한 나머지 체크 노드들에서 j번째 변수 노드에게 전달하는 체크-변수 메시지들 를 합산한 값과 변수-체크 메시지의 초기 값 를 합산함으로써 계산되고, 이를 통해 변수 노드는 갱신을 수행한다.
단계 140에서는, 복호화 장치가 시험 복호화를 통해 생성된 복호 값에 대해 판정을 수행한다.
보다 구체적으로는, 시험 복호화를 통해 생성된 시험 복호 값에 대해 판정하는 과정은 수학식 5와 수학식 6에 의하여 수행된다.
먼저, 시험 복호 값을 산출하는 과정은 수학식 5에 의하여 수행된다.
이때, 는 j번째 변수 노드에서 시험 복호화를 통해 생성된 시험 복호 값을 나타내고, 는 변수-체크 메시지의 초기 값이고, 는 j번째 변수 노드와 연결된 체크 노드의 집합을 나타낸다.
즉, 수학식 5에 따르면 는 모든 체크 노드들에서 j번째 변수 노드에게 전달하는 체크-변수 메시지들인 를 합산한 값과 변수-체크 메시지의 초기 값 를 합산함으로써 얻을 수 있게 된다.
단계 150에서는, 복호화 장치가 패리티 검사를 수행하여 복호화 중단 조건을 만족하는지 여부를 판단한다.
보다 구체적으로는, 패리티 검사는 수학식 7에 의하여 수행된다.
만일, 복호화 중단 조건이 만족되지 않았다고 판단되는 경우에는 단계 120의체크 노드 갱신(Check Node Update:CNU)단계로 돌아가 체크 노드 갱신 단계와 변수 노드 갱신(Variable Node Update:VNU)단계를 다시 수행하게 된다.
단계 160에서는, 복호화 장치가 패리티 검사를 통해 복호화 중단 조건을 만족하는 것으로 판단되면, 체크 노드 갱신 및 변수 노드 갱신을 포함하는 복호화 연산을 중단한다.
종래의 최소합 알고리즘에 따른 LDPC 복호화 방법은 도 1에서 설명한 바와 같이 복호화 중단 조건이 만족되지 않는 경우에는 복호화 중단 조건이 만족될때까지 체크 노드 유닛 갱신 및 변수 노드 유닛 갱신을 지속적으로 수행해야 하므로 연산량이 매우 높아지는 문제가 있었다.
도 2는 본 발명의 일 실시예에 따른 LDPC 복호화 방법을 설명하기 위하여 도시한 흐름도이다.
단계 210에서는, 복호화 장치가 복수의 체크 노드와 복수의 변수 노드에서 초기화를 수행한다.
단계 210에서 수행되는 체크 노드와 변수 노드에 대한 초기화는 단계 110의 동작과 동일하므로 상세한 설명은 생략한다. 또한, 이하에서는 도 1과 동일한 동작에 대해서는 상세한 설명을 생략한다.
단계 220에서는, 복호화 장치가 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출한다.
보다 구체적으로는, 비활성 변수 노드의 검출은 수학식 8에 의하여 수행될 수 있다.
즉, 수학식 8에서 시험 복호 값 의 절대값은 수신된 부호어의 j번째 비트에 해당하는 메시지 값의 신뢰도를 나타내는데, 그 부호어의 j번째 비트에 해당하는 메시지 값의 신뢰도가 임계치 이상이라면 강한 신뢰 값으로 수렴한 것으로 보고 j 번째 변수 노드를 비활성 변수 노드로서 검출하게 된다. 이와 같은 조건을 강제 수렴(Forced convergence) 조건이라고 하며, 가 임계치 이상이라면 강제 수렴 조건을 만족한 것으로 보고 j 번째 변수 노드를 비활성 변수 노드로서 검출하게 된다.
즉, 다수의 변수 노드들이 몇 번의 반복 복호 후에 강한 신뢰값으로 수렴한다는 사실을 이용하여 강한 신뢰값으로 수렴한 변수 노드들은 이미 복호가 완료된 것으로 간주하고 나머지 반복 복호에서는 해당 변수 노드들을 갱신하는 연산을 수행하지 않도록 비활성 노드로 설정하는 것이다.
다만, 체크 노드와 변수 노드에 대한 초기화가 수행된 직후에 비활성 변수 노드를 검출하는 경우에는, 아직 반복 복호가 수행되기 전이어서 비활성 변수 노드가 존재하지 않을 것이다.
단계 230에서는, 복호화 장치가 비활성 변수 노드를 이용하지 않고 체크 노드를 갱신한다.
보다 구체적으로는, 본 발명의 일 실시예에 따른 복호화 장치는 수학식 9에 의하여 체크 노드를 갱신한다.
이때, 는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내고, 는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고, 는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고, 는 j번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내고, 는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타낸다.
즉, 수학식 9에 따르면 첫번째 텀에 의하여 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드에서의 변수-체크 메시지들의 부호(sign)를 곱함으로써 의 부호(sign)가 음수 또는 양수로서 결정되고, 두번째 텀에 의하여 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드들에서 i번째 체크 노드에게 전달하는 변수-체크 메시지들 중에서 최소 값이 의 메시지 값이 된다.
이때, 반복 복호 횟수가 증가하여 체크 노드 갱신과 변수 노드 갱신 횟수가 증가하게 되면, 강제 수렴 조건을 만족하는 비활성화된 변수 노드가 증가할 것이므로, 반복 복호 횟수가 증가할 때마다 점점 더 적은 개수의 활성 변수 노드를 이용하여 체크 노드 갱신이 이루어지게 되고, 결과적으로 반복 복호 횟수가 증가할 때마다 체크 노드 갱신에 따른 연산량은 줄어들게 된다.
종래 기술 중에는 체크 노드 갱신시의 연산량을 줄이기 위해 체크 노드에 대해서도 강제 수렴 조건 만족 여부를 판단하여, 강제 수렴 조건을 만족하는 체크 노드는 비활성 체크 노드로 설정하여 더 이상 체크 노드 갱신을 수행하지 않는 기법이 제안되었다. 이와 같이, 체크 노드와 변수 노드 모두가 강제 수렴 조건을 만족하는지 여부에 기초하여, 강제 수렴 조건을 만족하는 체크 노드와 변수 노드를 모두 비활성화시킴으로써 복호화 연산량을 줄이는 기법을 강제 수렴 기법이라고 한다.
종래의 강제 수렴 기법에서는 도 1의 최소합 알고리즘에서의 체크 노드 갱신 방법과 변수 노드 갱신 방법을 그대로 사용하되, 수학식 8에서와 같이 강제 수렴 조건 만족 여부를 판단하여 비활성 변수 노드를 검출하고, 비활성 체크 노드의 검출은 아래의 수학식 10에 의하여 수행한다.
즉, i번째 체크 노드 갱신에 이용되는 변수-체크 메시지들 중에서 최소 값을 가지는 변수-체크 메시지가 임계치 보다 큰 값을 가지게 되면 그 i번째 체크 노드를 비활성 체크 노드로 검출하여 더 이상 체크 노드 갱신을 수행하지 않게 된다. 만일, i번째 체크 노드가 수학식 10의 강제 수렴 조건을 만족하지 않으면 강제 수렴 조건을 만족할 때까지 체크 노드 갱신은 지속적으로 수행된다.
하지만, 이와 같은 종래의 강제 수렴 기법은 도 1의 최소합 알고리즘에 비해서 복호화 연산량이 줄어들기는 하지만, 아래의 표 1에서 확인할 수 있듯이 줄어드는 복호화 연산량이 극히 미미한 수준이어서 사실상 복호화 연산량이 줄어들었다고 보기 힘든 문제점이 있다.
tv | SNR | ||||
2 dB | 2.5 dB | 3 dB | 3.5 dB | 4 dB | |
5 | 0% | 0.002905% | 0.009067% | 0.015681% | 0.013738 |
6 | 0% | 0.000626% | 0.000848% | 0.001148% | 0.001498 |
7 | 0% | 0.000017% | 0.000279% | 0.000065% | 0.00041% |
표 1은 최대 반복 복호 횟수를 5회로 제한하였을 때, 체크 노드 갱신 연산에서 보다 큰 가 최소값으로 선택될 확률을 나타내었다. 표 1을 보면 SNR의 범위가 2dB 에서 4dB일 때, 선택 확률은 평균적으로 가 5일 경우는 0.0082782%, 가 6일 경우는 0.000824%, 가 7일 경우는 0.0000804%이다. 표 1의 각각의 조건에서 선택 확률들은 모두 약 0.01% 이하인 것을 확인할 수 있다. 따라서 를 초과하는 는 최소값으로 선택될 확률이 거의 없다는 것을 알 수 있다.
최소합 알고리즘에 강제 수렴 기법을 적용할 경우, 일반적으로 수학식 7의 와 수학식 10의 는 동일한 값을 사용한다. 를 초과하는 가 최소값으로 선택될 확률이 매우 낮다는 것은 체크 노드 갱신 연산의 의 최소값이 를 초과하는 경우가 거의 없다는 것을 의미한다. 이는 체크 노드의 비활성 여부를 판별하는 수학식 10의 강제 수렴 조건이 거의 만족되지 않는다는 것을 의미한다. 즉, 강제 수렴 기법은 최대 반복 복호 횟수가 적으면 비활성되는 체크 노드들의 개수가 적기 때문에 효과적으로 체크 노드들의 연산복잡도를 줄일 수 없다.
하지만, 본 발명의 일 실시예에서는 체크 노드의 비활성 여부를 판단하기 위한 별도의 강제 수렴 조건을 이용하지 않고, 체크 노드를 갱신할 때 수학식 9에 따라 비활성 변수 노드들을 의 최소값 후보에서 제외시키는 방식으로 체크 노드를 부분적으로 비활성화시킴으로써 체크 노드 갱신에 따른 연산량을 줄이게 된다. 이때, 체크 노드와 연결된 모든 변수 노드들이 비활성 변수 노드가 되면, 비로소 그 체크 노드가 비활성 체크 노드가 된다.
즉, 종래의 강제 수렴 기법에서는 체크 노드가 수학식 10의 강제 수렴 조건을 만족하여 비활성 체크 노드가 되기 전까지 그 체크 노드와 연결된 모든 변수 노드들을 이용하여 체크 노드 갱신 연산을 수행하여 연산량이 많지만, 본 발명의 일 실시예에 따르면 체크 노드 갱신 연산 횟수(반복 복호 횟수)가 증가함에 따라 비활성 변수 노드의 개수가 증가하게 되어, 체크 노드 갱신 연산에 이용되는 활성 변수 노드의 개수가 줄어들게 되고, 이에 따라 서서히 체크 노드 갱신 연산의 연산 복잡도가 줄어들게 되는 효과가 있다.
아래의 표 2를 참조하면, 종래의 최소합 알고리즘과 비교할 때, 종래의 강제 수렴 기법과 본 발명의 복호화 연산량 감소율을 알 수 있다.
알고리즘 |
(tv, tc) |
SNR= 2dB | SNR= 3dB | SNR= 4dB |
연산량 감소율 |
연산량 감소율 |
연산량 감소율 |
||
최소합 알고리즘 |
(-,-) | - | - | - |
강제 수렴 기법 | (7, 7) | 0% | 0% | 0.1% |
본 발명 | (7, -) | 17.17% | 29.49% | 20.07% |
표 2에서, 최소합 알고리즘은 와 를 모두 사용하지 않고, 강제 수렴 기법은 와 를 모두 이용하고, 본 발명은 만을 사용하는데, 와 는 각각 7, 7로 설정한 후 연산량 감소율을 비교하였다.
이에 기초하면, 강제 수렴 기법은 최소합 알고리즘과 비교할 때 연산량 감소가 거의 없는 것으로 분석되었고, SNR이 2dB, 3dB, 4dB인 경우에 본 발명은 최소합 알고리즘과 비교할 때 각각 17.17 %, 29.49%, 20.08%만큼 연산량 감소효과가 있음을 알 수 있다.
또한, 상기 조건하에서 최소합 알고리즘, 강제 수렴 기법, 본 발명의 비트 에러율(Bit Error Rate:BER) 성능을 비교한 결과, BER 성능은 상호간에 거의 차이가 없는 것으로 분석되어, 본 발명의 일 실시예에 따르면 BER 성능의 저하는 최소화하면서도 복호화 연산량 감소가 가능한 것을 알 수 있다.
단계 240에서는, 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 변수 노드 갱신을 수행한다.
이때, 변수 노드 갱신 횟수가 증가하면 비활성 변수 노드가 증가하게 되므로 활성 변수 노드의 개수는 줄어들게 되고, 변수 노드 갱신 횟수가 증가할 때마다 점점 더 적은 개수의 활성 변수 노드에 대해서만 변수 노드 갱신이 수행되므로 복호화 연산량이 줄어들게 된다.
다만, 체크 노드와 변수 노드에 대한 초기화가 수행된 직후에 비활성 변수 노드를 검출하는 경우에는, 아직 반복 복호가 수행되기 전이어서 비활성 변수 노드가 존재하지 않을 것이므로, 변수 노드 갱신 연산에서 제외되는 비활성 변수 노드도 존재하지 않게 될 것이다.
단계 250에서는, 복호화 장치가 시험 복호화를 통해 생성된 복호 값에 대해 판정을 수행한다.
단계 260에서는, 복호화 장치가 패리티 검사를 수행하여 복호화 중단 조건이 만족되었는지 여부를 판단한다.
만일, 복호화 중단 조건이 만족되지 않았다고 판단되는 경우에는 단계 220으로 돌아가 비활성 변수 노드 검출, 체크 노드 갱신, 변수 노드 갱신을 다시 수행하게 된다.
단계 270에서는, 복호화 장치가 패리티 검사를 통해 복호화 중단 조건을 만족하는 것으로 판단되면, 체크 노드 갱신 및 변수 노드 갱신을 포함하는 복호화 연산을 중단한다.
도 3은 본 발명의 일 실시예에 따른 체크 노드 갱신 방법을 설명하기 위하여 도시한 도면이다.
도 3에서 활성 변수 노드들인 j, l, m번째 변수 노드들은 원형 노드로 표시되고, k 번째 변수 노드는 비활성 변수 노드로 표시되고, i 번째 체크노드는 사각형 노드로 표시된다. 또한, 활성 변수 노드들인 j, l, m번째 변수 노드들과 i 번째 체크 노드는 실선 edge 선으로 연결되고, 비활성 변수 노드인 k 번째 변수 노드와 i 번째 체크 노드는 점선의 비활성 edge 선으로 연결되어 있다.
이때, 본 발명의 일 실시예에 따르면 체크 노드 갱신 연산의 결과값 중 하나인 는 l 번째 변수 노드에서 체크 노드에게 전달하는 변수-체크 메시지 , m 번째 변수 노드에서 체크 노드에게 전달하는 변수-체크 메시지 두 개만을 이용하여 계산된다. 이는, 체크 노드 갱신 연산은 수학식 9에 의해 수행되는데, j 번째 변수 노드에서 체크 노드에게 전달하는 변수-체크 메시지 와 비활성 변수 노드인 k 번째 변수 노드에서 체크 노드에게 전달하는 변수-체크 메시지 는 수학식 9에 의해서 체크 노드 갱신 연산에서 배제되는 값이기 때문이다.
한편, k번째 변수 노드는 비활성 변수 노드이기 때문에 변수 노드 갱신 연산이 필요 없고, 이에 따라 i 번째 체크 노드는 k번째 변수 노드의 변수 노드 갱신 연산에 필요한 체크-변수 메시지 를 연산할 필요가 없게 된다.
정리하면, 본 발명의 일 실시예에 따르면 비활성 변수 노드가 존재하게 되면, 그 비활성 변수 노드에 연결된 체크 노드는 그 비활성 변수 노드에게 전달할 체크-변수 메시지를 연산하지 않아도 되고, 그 체크 노드의 갱신 연산을 수행할 때에도 그 비활성 변수 노드에서 체크 노드에게 전달할 변수-체크 메시지는 고려할 필요가 없게 되므로, 복호화 연산량이 줄어들게 된다.
도 4는 본 발명의 일 실시예에 따른 LDPC 복호화 장치를 설명하기 위하여 도시한 도면이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 LDPC 복호화 장치는 초기화부(410), 비활성노드검출부(420), 체크노드갱신부(430), 변수노드갱신부(440), 시험복호화부(450) 및 패리티검사부(460)를 포함한다.
초기화부(410)는 복수의 체크 노드와 복수의 변수 노드에 대한 초기화를 수행한다.
비활성노드검출부(420)는 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출한다.
체크노드갱신부(430)는 그 검출된 비활성 변수 노드를 이용하지 않고 체크 노드 갱신을 수행한다.
변수노드갱신부(440)는 그 검출된 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 변수 노드를 갱신한다.
시험복호화부(450)는 시험 복호화를 통해 생성된 복호 값에 대해 판정을 수행한다.
패리티검사부(460)는 패리티 검사를 수행하여 복호화 중단 조건이 만족되었는지 여부를 판단한다.
이때, 패리티검사부(460)는 복호화 중단 조건이 만족되지 않았다고 판단되는 경우에는 비활성노드검출부(420)에게 통지하여 비활성 변수 노드를 검출할 것을 지시한다.
이를 통해, 비활성노드검출부(420), 체크노드갱신부(430), 변수노드갱신부(440), 시험복호화부(450) 및 패리티검사부(460)가 각각 순차적으로 반복하여 동작을 수행하게 되는데, 복호화 중단 조건이 만족되기 전까지는 계속해서 복호화 연산을 수행하게 된다.
하지만, 패리티검사부(460)의 판단 결과 복호화 중단 조건이 만족되었다고 판단되면 모든 복호화 연산은 종료하게 된다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
Claims (12)
- 복수의 체크 노드와 복수의 변수 노드에 대한 초기화 과정, 체크 노드 갱신 과정, 변수 노드 갱신 과정, 시험 복호화 과정 및 패리티 검사 과정을 포함하는 저밀도 패리티 검사 코드(LDPC)의 복호화 방법에 있어서,
상기 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출하는 단계를 더 포함하고,
상기 변수 노드 갱신 과정은 상기 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 상기 변수 노드 갱신을 수행하고,
상기 체크 노드 갱신 과정은 상기 비활성 변수 노드를 이용하지 않고 상기 체크 노드 갱신을 수행하는 것을 특징으로 하는 LDPC 복호화 방법. - 제1항에 있어서,
상기 체크 노드 갱신 과정은
상기 체크 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드를 이용하여 수행되는 것을 특징으로 하는 LDPC 복호화 방법. - 제1항에 있어서,
상기 변수 노드 갱신 과정은
상기 변수 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드에 대해서만 수행되는 것을 특징으로 하는 LDPC 복호화 방법. - 제1항에 있어서,
상기 체크 노드 갱신 과정은
i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 갱신할 때, 상기 비활성 변수 노드 및 상기 j번째 변수 노드를 제외한 상기 활성 변수 노드들만을 이용하여 상기 체크-변수 메시지를 갱신하는 것을 특징으로 하는 LDPC 복호화 방법. - 제1항에 있어서,
상기 체크 노드 갱신 과정은
하기의 (수학식 9)에 의거하여 상기 체크 노드 갱신을 수행하는 것을 특징으로 하는 LDPC 복호화 방법.
(수학식 9)
이때, 는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내고, 는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고, 는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고, 는 j번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내고, 는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타냄. - 제1항에 있어서,
상기 적어도 하나의 비활성 변수 노드를 검출하는 단계는
강제 수렴(Forced convergence)조건 만족 여부에 기초하여 수행되는 것을 특징으로 하는 LDPC 복호화 방법. - 복수의 체크 노드와 복수의 변수 노드에 대한 초기화를 수행하는 초기화부, 체크 노드 갱신을 수행하는 체크노드갱신부, 변수 노드 갱신을 수행하는 변수노드갱신부, 시험 복호화를 수행하는 시험복호화부 및 패리티 검사를 수행하는 패리티검사부를 포함하는 저밀도 패리티 검사 코드(LDPC)의 복호화 장치에 있어서,
상기 복수의 변수 노드 중에서 변수 노드 갱신이 불필요한 적어도 하나의 비활성 변수 노드를 검출하는 비활성노드검출부를 더 포함하고,
상기 변수노드갱신부는 상기 비활성 변수 노드를 제외한 활성 변수 노드들에 대해서만 상기 변수 노드 갱신을 수행하고,
상기 체크노드갱신부는 상기 비활성 변수 노드를 이용하지 않고 상기 체크 노드 갱신을 수행하는 것을 특징으로 하는 LDPC 복호화 장치. - 제7항에 있어서,
상기 체크노드갱신부는
상기 체크 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드를 이용하여 상기 체크 노드 갱신을 수행하는 것을 특징으로 하는 LDPC 복호화 장치. - 제7항에 있어서,
상기 변수노드갱신부는
상기 변수 노드 갱신 횟수가 증가함에 따라 보다 적은 개수의 상기 활성 변수 노드에 대해서만 상기 변수 노드 갱신을 수행하는 것을 특징으로 하는 LDPC 복호화 장치. - 제7항에 있어서,
상기 체크노드갱신부는
i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 갱신할 때, 상기 비활성 변수 노드 및 상기 j번째 변수 노드를 제외한 상기 활성 변수 노드들만을 이용하여 상기 체크-변수 메시지를 갱신하는 것을 특징으로 하는 LDPC 복호화 장치. - 제7항에 있어서,
상기 체크노드갱신부는
하기의 (수학식 9)에 의거하여 상기 체크 노드 갱신을 수행하는 것을 특징으로 하는 LDPC 복호화 장치.
(수학식 9)
이때, 는 i번째 체크 노드가 j번째 변수 노드에게 전달하는 체크-변수 메시지를 나타내고, 는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고, 는 i번째 체크 노드와 연결되어 있는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드의 집합을 나타내고, 는 j번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타내고, 는 j번째 변수 노드와 비활성 변수 노드인 k번째 변수 노드를 제외한 나머지 변수 노드에서 i번째 체크 노드에게 전달하는 변수-체크 메시지를 나타냄. - 제7항에 있어서,
상기 비활성노드검출부는
강제 수렴 조건 만족 여부에 기초하여 상기 적어도 하나의 비활성 변수 노드를 검출하는 것을 특징으로 하는 LDPC 복호화 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140048251A KR101599336B1 (ko) | 2014-04-22 | 2014-04-22 | 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치 |
US14/537,571 US9503124B2 (en) | 2014-04-22 | 2014-11-10 | Method and apparatus for decoding low-density parity-check code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140048251A KR101599336B1 (ko) | 2014-04-22 | 2014-04-22 | 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150121966A true KR20150121966A (ko) | 2015-10-30 |
KR101599336B1 KR101599336B1 (ko) | 2016-03-04 |
Family
ID=54322875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140048251A KR101599336B1 (ko) | 2014-04-22 | 2014-04-22 | 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9503124B2 (ko) |
KR (1) | KR101599336B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170105792A (ko) * | 2016-03-10 | 2017-09-20 | 삼성전자주식회사 | 저밀도 패리티 검사 코드를 지원하는 통신 시스템에서 신호를 수신하는 장치 및 방법 |
WO2019107912A1 (ko) * | 2017-11-29 | 2019-06-06 | 연세대학교 산학협력단 | 저지연 및 고신뢰도 특성을 가지는 ldpc 부호화 장치 및 방법 |
US10511327B2 (en) | 2016-08-02 | 2019-12-17 | Samsung Electronics Co., Ltd. | Apparatus and method for decoding LDPC code |
KR20220014730A (ko) * | 2020-07-29 | 2022-02-07 | 한국전자통신연구원 | LDPC(low-density parity-check) 부호의 복호화 방법 및 장치 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102189440B1 (ko) * | 2014-08-25 | 2020-12-14 | 삼성전자주식회사 | 에러 정정 디코더를 포함하는 스토리지 장치 및 에러 정정 디코더의 동작 방법 |
TWI580197B (zh) * | 2016-04-27 | 2017-04-21 | 國立清華大學 | 低密度奇偶檢查碼之編解碼方法 |
KR20180009558A (ko) | 2016-07-19 | 2018-01-29 | 삼성전자주식회사 | 저밀도-패리티 체크 코드를 이용하는 디코더 및 이를 포함하는 메모리 컨트롤러 |
CN114614947A (zh) * | 2017-05-04 | 2022-06-10 | 三星电子株式会社 | 在通信或广播系统中用于信道编码和解码的方法和设备 |
CN108055046B (zh) * | 2018-01-31 | 2021-05-18 | 南京信息工程大学 | 一种基于双修正因子的ldpc译码器 |
US10848182B2 (en) | 2018-09-13 | 2020-11-24 | Apple Inc. | Iterative decoding with early termination criterion that permits errors in redundancy part |
CN113228520A (zh) * | 2018-12-03 | 2021-08-06 | 南布列塔尼大学 | 用于对由至少两个约束节点组成的代码进行解码的迭代解码器 |
US11929762B2 (en) * | 2021-11-24 | 2024-03-12 | Samsung Electronics Co., Ltd. | Low density parity check decoder and storage device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090072972A (ko) * | 2007-12-28 | 2009-07-02 | 삼성전자주식회사 | 저밀도 패리티 체크 코드를 복호화하는 방법 및 장치 |
KR20100081551A (ko) * | 2009-01-06 | 2010-07-15 | 삼성전자주식회사 | 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치 |
JP2013207358A (ja) * | 2012-03-27 | 2013-10-07 | Jvc Kenwood Corp | 復号装置、復号方法、及び、プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6633856B2 (en) * | 2001-06-15 | 2003-10-14 | Flarion Technologies, Inc. | Methods and apparatus for decoding LDPC codes |
EP1841073A1 (en) * | 2006-03-29 | 2007-10-03 | STMicroelectronics N.V. | Fast convergence LDPC decoding using BCJR algorithm at the check nodes |
KR100987692B1 (ko) * | 2006-05-20 | 2010-10-13 | 포항공과대학교 산학협력단 | 통신 시스템에서 신호 송수신 장치 및 방법 |
US8006172B2 (en) * | 2007-07-10 | 2011-08-23 | Oracle America, Inc. | Auxiliary path iterative decoding |
US8261152B2 (en) * | 2007-09-10 | 2012-09-04 | Samsung Electronics Co., Ltd. | Apparatus and method for channel encoding/decoding in communication system using variable-length LDPC codes |
US9252811B2 (en) * | 2011-06-07 | 2016-02-02 | Analogies Sa | Time-varying low-density parity-check convolutional codes |
US9130589B2 (en) * | 2012-12-19 | 2015-09-08 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Low density parity check decoder with dynamic scaling |
-
2014
- 2014-04-22 KR KR1020140048251A patent/KR101599336B1/ko active IP Right Grant
- 2014-11-10 US US14/537,571 patent/US9503124B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090072972A (ko) * | 2007-12-28 | 2009-07-02 | 삼성전자주식회사 | 저밀도 패리티 체크 코드를 복호화하는 방법 및 장치 |
KR20100081551A (ko) * | 2009-01-06 | 2010-07-15 | 삼성전자주식회사 | 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치 |
JP2013207358A (ja) * | 2012-03-27 | 2013-10-07 | Jvc Kenwood Corp | 復号装置、復号方法、及び、プログラム |
Non-Patent Citations (1)
Title |
---|
"Reduced complexity LDPC decoding using forced convergence", 7th Int. Symp. Wireless Personal Multim.Comm.(WPMC04) * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170105792A (ko) * | 2016-03-10 | 2017-09-20 | 삼성전자주식회사 | 저밀도 패리티 검사 코드를 지원하는 통신 시스템에서 신호를 수신하는 장치 및 방법 |
US10511327B2 (en) | 2016-08-02 | 2019-12-17 | Samsung Electronics Co., Ltd. | Apparatus and method for decoding LDPC code |
WO2019107912A1 (ko) * | 2017-11-29 | 2019-06-06 | 연세대학교 산학협력단 | 저지연 및 고신뢰도 특성을 가지는 ldpc 부호화 장치 및 방법 |
KR20220014730A (ko) * | 2020-07-29 | 2022-02-07 | 한국전자통신연구원 | LDPC(low-density parity-check) 부호의 복호화 방법 및 장치 |
US11595060B2 (en) | 2020-07-29 | 2023-02-28 | Electronics And Telecommunications Research Institute | Method and apparatus for decoding low-density parity-check code |
Also Published As
Publication number | Publication date |
---|---|
KR101599336B1 (ko) | 2016-03-04 |
US9503124B2 (en) | 2016-11-22 |
US20150303944A1 (en) | 2015-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101599336B1 (ko) | 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치 | |
US8301984B1 (en) | QC-LDPC decoder with list-syndrome decoding | |
AU2005222533B2 (en) | Method and apparatus for efficiently decoding low density parity check code | |
Zhang et al. | Lowering LDPC error floors by postprocessing | |
TWI663839B (zh) | 使用硬選取硬解碼模式下的解碼器產生軟資訊的方法 | |
US20100042896A1 (en) | Error-floor mitigation of layered decoders using non-standard layered-decoding schedules | |
US8799742B1 (en) | QC-LDPC decoder with list-syndrome decoding | |
JP4777876B2 (ja) | ターボデコーダの反復の早期終了 | |
US8689074B1 (en) | Method and apparatus for detecting trapping sets in decoding of information | |
KR20090117213A (ko) | 계층적 디코딩 장치 | |
US10848182B2 (en) | Iterative decoding with early termination criterion that permits errors in redundancy part | |
KR20120053122A (ko) | 개선된 비트 반전 알고리즘 기반의 저밀도 패리티 검사 부호를 위한 복호 방법, 장치 및 이를 위한 기록 매체 | |
US8201049B2 (en) | Low density parity check (LDPC) decoder | |
Hatami et al. | A threshold-based min-sum algorithm to lower the error floors of quantized LDPC decoders | |
US20200052719A1 (en) | Communication method and apparatus using polar codes | |
JP2009005343A (ja) | 通信路を介して受信されるシンボルの系列を誤り訂正符号の符号語に復号する方法およびシステム | |
US20220416812A1 (en) | Log-likelihood ratio mapping tables in flash storage systems | |
US9219501B2 (en) | LDPC encoding/decoding method and device using same | |
Cochachin et al. | Density evolution thresholds for noise-against-noise min-sum decoders | |
US8019020B1 (en) | Binary decoding for correlated input information | |
CN101106383A (zh) | 一种低密度奇偶校验码的译码方法 | |
US9231620B2 (en) | Iterative decoding device and related decoding method for irregular low-density parity-check code capable of improving error correction performance | |
US9344116B2 (en) | Method for determining layer stoppage in LDPC decoding | |
KR101627283B1 (ko) | 저밀도 패리티 검사 코드의 복호화 방법 및 그 장치 | |
US10778248B1 (en) | Low-density parity-check decoding with de-saturation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
FPAY | Annual fee payment |
Payment date: 20190107 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20191223 Year of fee payment: 5 |