KR20080053346A - 저밀도 패리티 검사 디코더용 방법 및 장치 - Google Patents

저밀도 패리티 검사 디코더용 방법 및 장치 Download PDF

Info

Publication number
KR20080053346A
KR20080053346A KR1020087008130A KR20087008130A KR20080053346A KR 20080053346 A KR20080053346 A KR 20080053346A KR 1020087008130 A KR1020087008130 A KR 1020087008130A KR 20087008130 A KR20087008130 A KR 20087008130A KR 20080053346 A KR20080053346 A KR 20080053346A
Authority
KR
South Korea
Prior art keywords
bit
value
llr
calculate
node
Prior art date
Application number
KR1020087008130A
Other languages
English (en)
Inventor
시아오용 유
Original Assignee
모토로라 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 모토로라 인코포레이티드 filed Critical 모토로라 인코포레이티드
Publication of KR20080053346A publication Critical patent/KR20080053346A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/63Joint error correction and other techniques
    • H03M13/6325Error control coding in combination with demodulation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

저밀도 패리키 검사(LDPC) 디코더(134)는 메모리(308) 및 프로세서(306)를 포함한다. 프로세서는 상기 LDPC 디코더를 초기화하고(202), 각 검사 노드에 대한 확률을 계산하며(204), 각 비트 노드에 대한 확률을 계산하고, 소프트 결정(soft decision)을 계산하며(206), 상기 계산된 소프트 결정에 따라 상기 비트 노드를 업데이트하고, 상기 계산된 소프트 결정으로부터 값을 계산하고(208), 상기 계산된 값에 따라 패리티 검사를 수행하고(210), 상기 계산된 값에서 비트 에러가 검출된 경우 LLR을 업데이트하고(218), 상기 업데이트된 LLR에 따라 상기 비트 노드를 업데이트하고, 상기 초기화 이후 단계를 반복하도록 프로그래밍 되어 있다.
패리티, 검사, 소프트, 하드, 3진, 디코더, 기지국

Description

저밀도 패리티 검사 디코더용 방법 및 장치{METHOD AND APPARATUS FOR A LOW-DENSITY PARITY-CHECK DECODER}
본 발명은 저밀도 패리티 검사(low-density parity-check, LDPC) 디코더에 관한 것으로서, 특히 LDPC 디코더용 방법 및 장치에 관한 것이다.
LDPC 코드는 선형 블록 코드이다. LDPC 코드에 대한 코드어(codeword) 공간 및 인코딩 절차는 생성 행렬(generator matrix)에 의하여 특정되며, 다음과 같이 주어진다.
x = uG
여기서, G는 풀 로우 랭크(full-row rank)를 갖는 K x N 행렬이고, u는 정보 비트를 나타내는 1 x K 벡터이며, x는 코드어에 대한 1 x N 벡터이다. 일반적으로, 생성 행렬은 다음과 같이 쓸 수 있다.
G = [I KxK P Kx(N-K)]
또한, 선형 블록 코드(block code)는
Hx' = 0
로 주어지는 패리티 검사 행렬 H로 등가적으로 특정될 수 있다.
임의의 코드어 x에 대하여, H는 M x N 행렬이고, M=(N-K)이다.
Hx' = 0HG' = 0을 의미하므로, 만약 패리티 검사 행렬 H가 알려져 있는 경우, 생성 행렬 G 역시 알 수 있으며, 그 역도 마찬가지이다. 생성 행렬 G는 인코더를 기술하는 반면, H는 소정 2진 벡터 x가 그 인코더에서 유효한 코드어인지를 검사하는데 사용된다.
LDPC 코드에 대한 패리티 검사 행렬 H는 스파스(sparse)이며, 이는 항목의 일부는 1이고 나머지는 0임을 뜻하고, 1의 위치는 임의의 방식으로 정해진다. 이렇게 임의로 선택된 1의 위치는 관련 LDPC 코드의 성능에 중요하며, 이는 터보 코드(turbo code)의 인터리버(interleaver)와 유사하다.
LDPC 코드는 노드가 상이한 그룹의 노드 사이에만 허용되는 연결을 갖는 검사 노드와 비트 노드의 두 그룹으로 분리될 수 있는 "이분(bipartite)"그래프 또는 태너(Tanner) 그래프로 나타낼 수 있다. 예를 들면, LDPC 코드는 패리티 검사 행렬로 특정되며, 이는 다음과 같이 코드어 x에 대한 한 세트의 패리티 검사 식을 정의한다.
Figure 112008024412689-PCT00001
Figure 112008024412689-PCT00002
이진 LPDC 코드에 있어서, 모든 곱셈 및 덧셈은 2진 연산으로 정의된다. 따라서 LPDC 코드 특히 패리티 검사 식은 도 1의 태너 그래프로 나타낼 수 있다. 각 비트 노드는 코드어 x에서의 비트에 대응하고, 각 검사 노드는 행렬 H의 행으로 특정되는 패리티 검사 식을 나타낸다. 따라서 M x N 패리티 검사 행렬 H를 갖는 LPDC 코드에 대한 이분 그래프는 M개의 검사 노드와 N개의 비트 노드를 포함한다. 비트가 검사 노드에 관련된 패리티 검사 식에 참여한다면 그리고 참여하기만 하면 검사 노드와 비트 노드 사이에는 에지(edge)가 존재한다.
K/N의 코드율을 갖는 LPDC 인코더는 도 2에 도시한 것처럼 구현될 수 있다. K 정보 비트는 K 개의 레지스터에서 시프트되고 저장된다. (N-K) 패리티 비트는 생성 행렬 G의 부 행렬(sub-matrix) P에 따라 계산된다. 출력 스위치는 처음에 위치 1에 있다가 K 정보 비트를 순차적으로 출력하고, 이어 위치 2에 연결되어 (N-K) 패리티 검사 비트를 출력한다.
LPDC 디코더는 반복적인 메시지 통과(message-passing) 또는 "터보형(turbo-like)"신뢰 전파(belief propagation)에 기초한다. 합 곱 알고리즘(sum-product algorithm)은 LPDC 디코딩에 잘 알려진 방법이며 알고리즘 영역(domain)(도 3에 도시한 방법 참조)에서 구현될 수 있다. 합 곱 알고리즘을 설명하기 위하여 다음의 주석(notation)을 사용한다. M(b)는 비트 노드(b), 즉 패리티 검사 행렬 Hb 번째 열에서의 "1"의 위치에 연결되는 검사 노드 세트를 나타내고, B(m)은 검사 노드, 즉 패리티 검사 행렬의 m 번째 행에 위치한 "1"의 위치에 연결되는 비트 노드 세트를 나타낸다. B(m)\b는 비트 노드 b를 제외한 세트 B(m)을 나타낸다. 유사하게, M(b)\m은 검사 노드 m을 제외한 세트 M(b)를 나타낸다. 변수
Figure 112008024412689-PCT00003
Figure 112008024412689-PCT00004
는 비트 노드 b가 검사 노드 m으로 보내는 확률 정보를 나타내며, 각각 P(x b =0)과 P(x b =1)을 각각 가리킨다. 변수
Figure 112008024412689-PCT00005
Figure 112008024412689-PCT00006
는 0과 1의 값으로 m 번째 검사 노드가 b 번째 비트에 모이는 확률 정보를 각각 나타낸다.
개략적으로 말하자면, 다른 비트에 대한 확률이
Figure 112008024412689-PCT00007
으로 지정될 때,
Figure 112008024412689-PCT00008
(또는
Figure 112008024412689-PCT00009
)는 m 번째 패리티 검사식으로부터 x b =0(또는 x b =1)에 대한 가능성 정보이다. 따라서
Figure 112008024412689-PCT00010
는 m 번째 검사 노드로부터의 b 번째 비트에 대하여는 "외부(extrinsic)" 정보로 여겨질 수 있다. 비트의 소프트 결정(soft decision)이나 LLR(log-likelihood ratio)은 그와 연결되는 모든 검사 노드로부터의 외부 정보에 연역적(priori) 확률 정보를 더함으로써 계산된다.
알고리즘 영역에서, 모든 확률 정보는 다음과 같은 LLR로 특징된다.
Figure 112008024412689-PCT00011
여기서,
Figure 112008024412689-PCT00012
(또는
Figure 112008024412689-PCT00013
)는 x b =0(또는 x b =1)의 귀납적 확률(an posteriori probability)이고,
Figure 112008024412689-PCT00014
(또는
Figure 112008024412689-PCT00015
)는 채널로부터 수신한 수신 정보에 대한 x b =0(또는 x b =1)의 연역적(a priori) 확률이다. 앞에서 설명한 LDPC 디코딩 과정은 도 3의 흐름도로 요약된다.
고차 QAM 변조의 경우, 각 QAM 심볼(symbol)은 다중 코드 비트를 포함하는 반면, LDPC 디코더로의 입력은 각 비트에 대한 일련의 LLR이다. 따라서 수신된 QAM 소프트(soft) 심볼은 각 비트에 대한 LLR로 변환되어야 한다. 수신된 QAM 소프트 심볼을 다음과 같이 나타낸다고 가정한다.
Figure 112008024412689-PCT00016
여기서,
Figure 112008024412689-PCT00017
는 그와 관련된 QAM 하드(hard) 심볼이고, n은 편차 2σ2의 복합 노이즈(complex noise)이다. 비트 k에 대한 LLR은 다음과 같이 듀얼 맥스 방법(dual-max method)을 사용하여 근사화될 수 있다.
Figure 112008024412689-PCT00018
여기서, K는 노이즈 편차에 따르는 LLR 스칼라이고, S1 및 S-1은 bk =1 및 -1에 각각 대응하는 (sI sQ) 세트이다. 이 경우, bk = 1과 bk = -1은 각각
Figure 112008024412689-PCT00019
Figure 112008024412689-PCT00020
과 등가이다. 16QAM의 경우(한 예로, 비트 대 심볼 매핑 규칙인 sI=2bk+bk+1 및sQ=2bk +2 + bk +3을 사용하고, 여기서, 각 비트는 1 또는 -1의 값을 취함)에 있어서, 다음의 식이 적용된다.
Figure 112008024412689-PCT00021
bk = 1의 LL함수(log-likelihood function)(bk=1)은 sI>0에 대응하는
Figure 112008024412689-PCT00022
에 의하여 결정되는 8개의 값 중에서 가장 큰 양으로 근사화된다. 마찬가지로, bk = -1의 LL함수는 sI≤0에 대응하는
Figure 112008024412689-PCT00023
에 의하여 결정되는 8개의 값 중에서 가장 큰 양으로 근사화된다.
LDPC 코드에 대한 전술한 기재는 WiMax(IEEE802.16e), 고급 WiFi(IEEE802.11n) 및 이동 광대역 무선 접속(mobile broadband wireless access, MBWA)(IEEE802.20)과 같은 여러 무선 인터페이스(wireless air interface)에서의 FEC(Forward Error Correction) 애플리케이션에 적용될 수 있다. 일반적으로, 이와 같은 무선 인터페이스는 각 톤(tone)이 QPSK, 16QAM 또는 64QAM 심볼을 반송하 는 직교 주파수 분할 변조(orthogonal frequency division modulation, OFDM)를 사용한다. 복조 과정 동안에는 소프트 QAM 심볼은 LLR로 변환되어 상기한 LDPC로 입력된다. 하지만, 앞에서 설명한 듀얼 맥스 방법은 각 비트의 LLR 값을 근사화하는데 기여한다. 따라서 이러한 근사화는 성능의 저하를 초래할 수 있다.
따라서 LDPC 디코딩을 개선하는 방법 및 장치가 필요하다.
본 발명에 따른 실시예는 LDPC 디코더 시스템 및 방법을 제공한다.
본 발명의 제1 실시예에 있어서, 저밀도 패리티 검사 (low-density parity-check, LDPC) 디코더는 메모리 및 프로세서를 포함한다. 상기 프로세서는, 상기 LDPC 디코더를 초기화하고, 각 검사 노드에 대한 확률을 계산하며, 각 비트 노드에 대한 확률을 계산하고, 소프트 결정(soft decision)을 계산하며, 상기 결정된 소프트 결정에 따라 상기 비트 노드를 업데이트하고, 상기 계산된 소프트 결정으로부터 값을 계산하며, 상기 계산된 값에 대하여 패리티 검사를 수행하고, 비트 에러(bit error)가 상기 계산된 값에서 검출된 경우 LLR(log-likelihood ratio)을 업데이트하며, 상기 업데이트된 LLR에 따라 상기 비트 노드를 업데이트하고, 상기 초기화(post initialization) 이후 단계를 반복하도록 프로그래밍 된다.
본 발명의 제2 실시예에 있어서, 컴퓨터 판독 가능한 저장 매체는, 복수의 비트 노드를 LLR로 초기화하고, 복수의 검사 노드를 소정의 설정으로 초기화하고, 각 비트 노드를 하나 이상의 해당 검사 노드에 연관시키며, 각 검사 노드를 하나 이상 이상의 해당 비트 노드에 연관시키고, 각 검사 노드에 대한 확률을 계산하고, 각 비트 노드에 대한 확률을 계산하고, 소프트 결정을 계산하고, 상기 계산된 소프트 결정에 따라 상기 비트 노드를 업데이트하고, 상기 계산된 소프트 결정의 부호에 따라 값을 계산하고, 상기 계산된 값에 따라 패리티 검사를 수행하고, 상기 값에서 비트 에러가 검출된 경우 제1 및 제2 인수로 조정되는 초기 및 중간 LLR에 따라 LLR을 업데이트하고, 업데이트된 LLR에 따라 상기 비트 노드를 업데이트하고, 상기 초기화 이후 단계를 반복하기 위한 컴퓨터 명령어를 포함한다.
본 발명의 제3 실시예에 있어서, 기지국은 송수신기, 메모리 및 프로세서를 포함한다. 상기 프로세서는, 선별 호출 무선기로부터 메시지를 인터셉트하도록 프로그래밍 되며, 복수의 비트 노드를 LLR로 초기화하며, 복수의 검사 노드를 소정의 설정으로 초기화고, 각 비트 노드를 하나 이상의 해당 검사 노드에 연관시키며, 각 검사 노드를 하나 이상 이상의 해당 비트 노드에 연관시키고, 각 검사 노드에 대한 확률을 계산하고, 각 비트 노드에 대한 확률을 계산하며, 상기 각 비트의 해당 검사 노드와 이전 소프트 결정에 따라 소프트 결정을 계산하고, 상기 계산된 소프트 결정에 따라 상기 비트 노드를 업데이트하고, 상기 계산된 소프트 결정의 부호에 따라 값을 계산하고, 상기 계산된 값에 따라 패리티 검사를 수행하고, 상기 값에서 비트 에러가 검출된 경우 LLR을 업데이트하고, 업데이트된 LLR에 따라 상기 비트 노드를 업데이트하며, 상기 초기화 이후 단계를 반복함에 의해, 상기 메시지를 디코딩하도록 프로그래밍된다.
도 1은 저밀도 패리티 검사(LDPC) 디코더에 대한 종래의 태너 그래프의 블록 도이다.
도 2는 K/N의 코드율을 갖는 종래의 LDPC 인코더의 블록도이다.
도 3은 종래의 LDPC 디코더에서의 동작 방법을 나타내는 흐름도이다.
도 4 내지 도 6은 본 발명의 한 실시예에 따라 LLR 계산을 위한 방법을 나타내는 16QAM의 배치를 나타내는 도면이다.
도 7은 본 발명의 한 실시예에 따른 LDPC 디코더에서의 동작 방법을 나타내는 흐름도이다.
도 8 및 도 9는 본 발명의 일실시예에 따르는, BER(Bit Error Rate)과 소프트 결정 크기 사이의 관계를 한 예로써 나타내는 도면이다.
도 10은 다양한 최대 루프 반복에 대하여 본 발명의 한 실시예에 따른 LDPC 디코더와 종래의 LDPC 디코더의 성능을 비교하여 나타내는 도면이다.
도 11은 본 발명의 한 실시예에 따라 최대 루프 반복과 디코딩 복잡도 사이의 관계를 나타내는 도면이다.
도 12는 본 발명의 한 실시예에 따라 LDPC 디코더를 사용하는 기지국의 블록도이다.
앞에서 설명한 종래 기술에서의 듀얼 맥스 방법의 식은 모든 가능성을 계산하고 가장 큰 값을 선택하여 LLR을 근사화한다. 하지만, LLR 비트를 결정하는 데 추가적인 정보가 이용 가능하다면 근사화는 필요하지 않다. 도 4는 본 명세서의 배치 통합 기술을 나타낸다. 종래의 듀얼 맥스 계산에서, 도 4에서 거친 모서리의 원으로 나타낸 수신 소프트 심볼(102)에 대한 첫 번째 비트의 LLR을 계산하기 위하여, 점(102)으로부터 모든 회색 점(104)까지의 거리를 계산하여 점(102)까지 최소 거리를 갖는 한 점을 결정하며, 이 예에서는 점(11-11)이다. 이어 점(102)에서 모든 무색 점(106)까지의 거리를 계산하여 최소 거리를 갖는 점을 결정하며, 이 예에서 점(-11-11)이다.
비트 2, 3 및 4에 대한 추가 정보, 즉 b2 = b3 = b4 =-1이 이용 가능하면, 도 5에서 점(108)으로서 회색으로 칠한 배치 점(1-1-1-1)과 칠하지 않은 점(-1-1-1-1)(110)은 첫 번째 비트 b1에 대한 LLR 계산에 사용되어야 한다. 즉, 첫 번째 비트 b1은 점(102)과 점(108)(즉, 1-1-1-1) 사이의 거리와 점(102)과 점(110)(즉, -1-1-1-1) 사이의 거리와의 차이다. 이러한 계산은 근사화가 없는 비트 b1의 실제 LLR이다.
비트 2, 3 및 4에 대한 추가 정보는 불행하게도 정보 비트가 종래의 디코더에서는 디코딩되기 전에는 일반적으로 이용할 수 없다. 그러나, LDPC 디코더에서 중간 결과는 디코더 입력을 업데이트하는데 이용할 수 있어서, 디코더에 대한 입력은 각 비트에 대해 트루(true) LLR에 접근한다. 전술한 바와 같이, LDPC 디코더는 각 비트에 대해 반복적으로 LLR 또는 소프트 결정을 계산할 수 있다. 소프트 결정의 부호는 관련 비트의 값(1 또는 -1)을 결정하는 한편, 소프트 결정의 크기는 디코딩된 비트의 신뢰도(confidence)를 나타낸다. 소프트 결정의 크기가 커질수록 디코딩된 비트의 신뢰도가 높아진다.
디코딩의 반복 동안에, 중간의 하드 비트 결정(intermediate hard bit decision)이 다음 관계식에 따른 소프트 결정에 대하여 정해질 수 있다.
Figure 112008024412689-PCT00024
여기서, M은 중간 소프트 결정에 비례하는 평균 크기(scaled average magnitude)로서 적응적으로(adaptively) 정해질 수 있는 하드 비트 결정에 대한 임계값이다. 이러한 관계식으로부터, 중간 비트열(bit sequence)은 2진값 대신 3진값임이 명백하다. 0의 값은 관련 비트에 대한 하드 결정이 불충분한 신뢰도 레벨로 인하여 유용하지 못함을 나타낸다. 중간 3진 비트열에 기초하여, LLR 비트가 업데이트될 수 있다. 예를 들면, 비트 3의 LLR을 결정하고 비트 1, 2 및 4에 대한 중간 하드 결정이 각각 1, 0 및 -1이라는 것을 알 경우, 도 6에 나타낸 것처럼 4개의 배치 점(130-136)을 LLR 계산에 사용할 수 있다.
즉, 수신된 소프트 심볼(102)과, 점(130) 및 점(132)(즉, 1-11-1 및 111-1) 사이의 거리를 계산하여 최소 거리를 결정할 수 있고, 이 예에서는 점(102)과 점(132)(즉, 111-1) 사이의 거리이다. 마찬가지로, 수신된 소프트 심볼(102)과, 점(134) 및 점(136)(즉, 1-1-1-1 및 11-1-1) 사이의 거리를 계산하여 최소 거리를 결정할 수 있고, 이 예에서는 점(102)과 점(136)(즉, 11-1-1) 사이의 거리이다. 비트 3의 LLR은 계산된 두 최소 거리 사이의 차이다. 하나의 QAM 심볼과 관련된 비트 그룹에서의 0이 아닌 모든 하드 결정에 있어서, LLR 비트를 계산하는데 사용 되는 배치도에서의 점의 수효는 2의 인수만큼 감소한다. 따라서 최소 거리를 계산하여 LLR 비트의 일부를 업데이트시키는 세트의 크기는, 3진값이 0이 아닐 경우 2N 만큼 줄어들 수 있다. 모든 3진값이 0이 아닌 값을 가질 경우, 일부의 LLR은 거리 최소화 없이 뺄셈에 의하여 업데이트될 수 있다. 이와는 달리, 모든 3진값이 0이면, 최소 거리를 계산한 세트의 전체 크기를 사용하여 LLR의 일부를 업데이트할 수 있다.
종래의 듀얼 맥스 방법은 모든 하드 비트 결정이 0인 특수한 경우이다. 이 경우에 LDPC로의 초기 입력은 듀얼 맥스 방법으로 정해진다. 수차례 반복 후, 중간 하드 비트 결정이 이용 가능한 때, LDPC 디코더에 대한 입력을 업데이트하거나 미세하게 조정할 수 있다.
임계값 M이 에러 확률을 줄이기 위하여 도입되었을 지라도 중간 하드 결정이 틀릴 수 있다. 따라서 업데이트된 LLR 비트는 다음으로 주어지는 초기 LLR 및 중간 LLR의 조합으로 정해질 수 있다.
LLRupdated = αxLLRinitial + (1-α)xLLRintermediate
여기서, LLRinitial 및 LLRintermediate은 본 발명에 의하여 설명한 것처럼 듀얼 맥스 방법으로 정해지며, α는 반복 횟수와 중간 소프트 결정의 평균 크기에 따른 0과 1 사이의 값을 갖는 계수이다.
도 7은 본 발명에 따른 LDPC 디코더에서의 동작 방법(200)을 나타내는 흐름도이다. 방법(200)은 LDPC 디코더가 초기화되는 단계(202)부터 시작한다. 이 단 계는, 예를 들어 비트 노드를 LLR 비트와 함께 초기화하는 단계, 검사 노드를 소정의 설정으로 초기화하는 단계, 각 비트 노드를 해당 검사 노드에 연관시키는 단계와 그 역의 단계에 해당할 수 있다. 단계(204)에서, 각 검사 노드에서 도시한 공식에 따라 확률을 계산하고, 그 결과가 신뢰(belief)로서 관련 비트 노드에 전달된다. 유사하게, 단계(206)에서, 확률은 비트 노드 각각에 대해 도시된 식에 따라 계산되고, 그 결과는 다음에 관련 검사 노드에 신뢰로서 전달된다.
단계(208)에서, 소프트 결정과 해당 하드 결정은 도시한 공식에 따라 각 비트 노드에서 이루어진다. 단계(210)에서, 단계(208)에서 결정된 비트 값에 대하여 패리티 검사를 행한다. 에러가 검출되지 않은 경우, 디코더는 단계(212)에서 동작을 중지하고 디코딩된 비트를 목표 장치(도 14에서 후술)로 공급한다. 에러가 검출된 경우, LDPC 디코더는 방법(200)의 반복 횟수가 소정값(T1) 이하인지를 검사하는 단계(214)를 계속한다. 그 이하인 경우, LDPC 디코더는 단계(204)로 되돌아가 전술한 동작을 반복한다. 그 이상인 경우, LDPC 디코더는 단계(216)에서 반복 횟수가 두 번째 소정 값(T2)(T1보다 큰)에 도달했는지 검사한다. 그렇지 않은 경우, 단계(218)에서, 상기한 LLR 업데이트 식에서 설명한 것처럼 LLR 비트를 업데이트하고, 이어 단계(204)로 나아가 새로운 LLR 비트 세트를 가지고 전술한 동작을 반복한다. 한편, T2만큼의 반복이 수행된 경우, LDPC 디코더는 단계(212)로 나아가 더 이상의 처리를 중지한다.
곱셈 동작은 덧셈 동작보다 더 많은 비용이 드는 것을 유념하여야 하며, 검사 노드로부터 비트 노드로의 신뢰 메시지(belief message)는 다음과 같이 정해질 수 있다.
Figure 112008024412689-PCT00025
여기서, 함수
Figure 112008024412689-PCT00026
Figure 112008024412689-PCT00027
로서 정의되며, x > 0일 때, 룩업 테이블(look-up table) 방식으로 구할 수 있다.
임계값 M은 디코더의 성능에 영향을 미칠 수 있음을 유의하여야 한다. M이 너무 작으면, LLR 업데이트 동안에 디코더 피드백(feedback)에 기초하여 여분의 에러 전파가 생길 수 있다. 한편, M이 너무 크면, 단계(218)에서의 LLR 업데이트에 대한 이점이 제한된다. 최적의 성능을 구현하기 위하여, M은 반복되는 디코딩 과정 동안에 적응될 수 있다. 제안된 M의 결정 방법은 LDPC 디코더 소프트 출력의 평균 크기에 기초한다. 일반적으로, 평균 소프트 결정 크기가 커질수록 비트 에러율(bit error rate, BER)은 낮아진다. 도 8 및 도 9는 본 발명의 한 실시예에 따른 BER과 소프트 결정 크기 사이의 관계의 한 예를 나타내는 도면이다. 이러한 도시에 있어서, M은
Figure 112008024412689-PCT00028
로서 업데이트될 수 있으며, 여기서
Figure 112008024412689-PCT00029
는 i번째 소프트 비트이고, N은 LDPC 디코드의 코드어 당 코딩되는 비트의 수효이다.
Figure 112008024412689-PCT00030
는 LDPC 디코더에 제공되는 피드백 정보의 사용을 제어하는 파라미터이 다.
설명의 목적상, 16QAM 및 4/5 레이트의 LDPC 코드를 사용하는 시뮬레이션이 수행되어 종래의 LDPC 디코더(이하, 구 LDPC 디코더라 함)의 BER과 방법(200)에 따라 동작하는 LDPC 디코더(이하, 신 LDPC 디코더라 함)의 BER을 비교한다. 시뮬레이션 결과를 도 10에 나타내었다. 이에 따르면, 신 LDPC 디코더가 효율적으로 동작하는 것을 나타내는 약 0.3dB의 개선이 관찰되었다.
LDPC 디코더의 성능은 최대 반복 횟수에 달려 있음은 당업자에게 잘 알려져 있다. 반복이 많을수록 예상 성능이 향상된다. 도 10은 또한 본 발명의 한 실시예에 따라 상이한 반복 횟수(30, 60 및 120)를 사용하는 구 LDPC 디코더와 신 LDPC 디코더의 성능을 나타낸다. 최대 반복 회수가 30으로 설정되는 경우, 신 디코더는 구 디코더에 비하여 0.2dB 정도 성능이 뛰어났다. 30에서 60으로 가면, 구 디코더의 이득은 0.05dB인 반면 신 디코더의 이득은 0.1dB이다. 상한값에서는 최대 반복 횟수가 실질적으로 영향을 미치지 아니 하였다. 따라서 최대 반복 횟수가 60으로 설정되는 경우 신 디코더는 ~0.3dB을 달성할 수 있다.
최대 반복 회수가 30에서 60으로 가는 경우, 그러한 증가가 디코딩 복잡도를 두 배로 만들지는 않음을 유의하여야 한다. 예를 들어, 도 11에 도시한 것처럼, 최대 반복 횟수가 30에서 60으로 되면, LDPC 코드 블록의 약 2.9%가 60회를 반복하는 반면 코드 블록의 2.95%는 30회의 반복을 필요로 한다. 이는 오직 0.05%의 복잡도 증가를 의미한다. 신 LDPC 디코더의 경우 LLR 비트를 업데이트하는데 여분의 계산이 필요하지만, 이러한 추가적인 처리는 디코딩 복잡도에 비하여 상대적으로 작다.
당업자가 본 발명을 많은 응용에 사용할 수 있음은 명백하다. 예를 들어, 본 발명은 도 12에 도시한 기지국(300)에 적용될 수 있고, 이 기지국은 본 발명의 한 실시예에 따르는 선별 호출 무선기(selective call radio, SCR)(301)로부터 메시지를 인터셉트할 목적으로 후술되는 청구범위에 따라 동작하는 LDPC 디코더의 기능을 통합한 것이다. SCR(301)은 예를 들어 기지국(300)으로 신호를 방사하는 종래의 이동 전화(cell phone)일 수 있다. 기지국(300)은 SCR(301)과 오버-더-에어 메시지(over-the-air message)를 교환하는 종래의 송수신기(transceiver)(302)를 포함한다. 송수신기(302)에서 인터셉트된 신호는 본 발명에 따르는 프로세서(306)와 관련 메모리(308)의 조합에서 처리된다.
처리부(306)는 본 발명의 동작을 수행하도록 설계된 마이크로프로세서 및/또는 디지털 신호 프로세서(digital signal processor, DSP) 또는 ASIC(Application Specific Integrated Circuit)과 같은 컴퓨팅 장치(computing device)의 조합을 사용할 수 있다. 메모리(308)는 RAM, SRAM, 플래시 및/또는 종래의 하드 디스크 드라이브와 같은 종래의 저장 매체를 사용할 수 있다. 전원(310)은 다목적 회사(utility company)가 제공할 수 있으며, 또는 기지국(300)의 구성 요소에 전력을 공급하기 위한 배터리 전력형 무정전 전원(battery powered uninterrupted power source)을 나타낸다. 이 실시예에서, 도 7의 방법(200)을 예로 하여 설명한 신 LDPC 디코더의 기능은 프로세서(306)와 관련 메모리(308)에 집적 소자(304)로서 일부 통합될 수 있다. 집적 LDPC 디코더의 기능은 SCR(301)로부터 인터셉트한 메시 지를 디코딩할 때 기지국(300)의 성능을 상당히 개선시키는데 일조한다.
당업자는 본 발명의 실시예의 일부가 컴퓨터 프로그램 제품에 임베디드될 수 있으며, 컴퓨터 프로그램 제품은 전술한 구현례를 가능하게 하는 특징을 포함한다는 것을 알 수 있다. 본 컨텍스트내의 프로그램은, a) 다른 언어, 코드 또는 주석으로 변환 b) 상이한 자료 형태에서의 재생 중 직접 또는 그 중 하나 또는 모두 이후에 특정 기능을 정보 처리 능력을 갖는 시스템이 수행하도록 하는 명령의 세트 중, 소정의 표현, 소정의 언어, 코드 또는 주석을 의미한다.
본 발명은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있음은 명백하다. 또한, 본 발명은 여기서 설명하는 방법을 구현 가능하게 하는 모든 특징을 포함하는, 그리고 상기 장치가 이러한 방법을 수행 가능하도록 하는 컴퓨터 프로그램에 내장될 수 있다. 여기서의 컴퓨터 프로그램은 다음과 같은 것, 즉 a) 다른 언어, 코드 또는 주석으로의 변환, b) 상이한 재료 형태로의 재생 중 어느 하나 또는 모두의 특정 기능을 수행하는 정보 처리 능력을 시스템이 갖도록 의도하는 임의의 표현, 임의의 언어, 코드 또는 주석을 의미한다. 또한, 컴퓨터 프로그램은 CISC(Complex Instruction Set Computer) 및 RISC(Reduced Instruction Set Computer) 프로세서에 의하여 통상적으로 사용되는 것처럼 종래의 기계 코드가 없는 상태 머신(state machine)으로서 하드웨어적으로 구현될 수 있다.
본 발명은 또한 다양한 배열(arrangement)에도 사용될 수 있다. 따라서 특정 배열 및 방법에 대하여 설명하였지만, 본 발명의 의도 및 개념은 여기서 설명하지 않은 다른 배열 및 응용에 적절하게 적용될 수 있다. 따라서 방법(300)의 실시 예는 본 발명의 사상과 범위에서 벗어남이 없이 거기에 추가되는 여러 방식으로 변형될 수 있다.
따라서 기재한 실시예는 본 발명의 더 우수한 특징과 응용예의 일부를 단지 설명하는 것으로 해석되어야 한다. 또한, 청구범위는 언급한 기능을 수행하는 것으로 여기에 기재된 구조뿐만 아니라 구조적인 등가물을 포함하는 것으로 의도되었음을 알 것이다. 따라서 상세한 설명으로부터 읽히는 등가 구조는 아래의 청구범위에 정의된 바와 같이 본 발명의 범위에 포함되는 것으로 해석되어야 한다. 따라서 본 발명의 범위를 나타내는 것으로서 전술한 명세서가 아니라 아래의 청구범위를 참고하여야 한다.

Claims (10)

  1. 저밀도 패리티 검사 (low-density parity-check, LDPC) 디코더로서,
    메모리와 프로세서를 포함하며,
    상기 프로세서는
    상기 LDPC 디코더를 초기화하고,
    각 검사 노드에 대한 확률을 계산하며,
    각 비트 노드에 대한 확률을 계산하고,
    소프트 결정(soft decision)을 계산하며,
    상기 계산된 소프트 결정에 따라 상기 비트 노드를 업데이트하고,
    상기 계산된 소프트 결정으로부터 값을 계산하며,
    상기 계산된 값에 대하여 패리티 검사를 수행하고,
    비트 에러(bit error)가 상기 계산된 값에서 검출된 경우 LLR(log-likelihood ratio)을 업데이트하며,
    상기 업데이트된 LLR에 따라 상기 비트 노드를 업데이트하고,
    상기 초기화 이후(post initialization) 단계를 반복하도록 프로그래밍 되어 있는 LDPC 디코더.
  2. 제1항에 있어서, 상기 초기화 단계에서, 상기 프로세서는, 복수의 비트 노드를 LLR로 초기화하고,
    복수의 검사 노드를 소정의 설정으로 초기화하며,
    각 비트 노드를 하나 이상의 해당 검사 노드에 연관시키고,
    각 검사 노드를 하나 이상 이상의 해당 비트 노드에 연관시키도록 프로그래밍 되어 있는 LDPC 디코더.
  3. 제1항에 있어서, 상기 프로세서는, 비트 에러가 검출되고 상기 단계의 반복 횟수가 제1의 소정 값보다 작을 경우에는 상기 초기화 이후 단계를 반복하고,
    비트 에러가 검출되고 상기 단계의 반복 횟수가 상기 제1의 소정 값 보다 크거나 동일한 경우에는, 상기 업데이트된 LLR에 따라 상기 LLR 및 상기 비트 노드를 업데이트하며, 상기 초기화 이후 단계를 반복하도록 프로그래밍되는 LDPC 디코더.
  4. 제1항에 있어서, 상기 값은 3진값(ternary value)이며,
    상기 프로세서는, 상기 소프트 결정이 임계값(M)보다 크거나 동일할 경우 상기 3진값을 1로 설정하고,
    상기 소프트 결정이 음의 M보다 작을 경우 상기 3진값을 음의 1로 설정하며,
    상기 소프트 결정이 M보다 작고 음의 M보다 큰 경우 상기 3진값을 0으로 설정하도록 프로그래밍되는 LDPC 디코더.
  5. 제1항에 있어서, 상기 프로세서는 제1 및 제2 인수(factor)에 의하여 조정되는 초기 및 중간 LLR에 따라 LLR을 업데이트하도록 프로그래밍된 LDPC 디코더.
  6. 컴퓨터 판독 가능한 저장 매체로서,
    복수의 비트를 LLR로 초기화하고,
    복수의 검사 노드를 소정의 설정으로 초기화하며,
    각 비트 노드를 하나 이상의 해당 검사 노드에 연관시키고,
    각 검사 노드를 하나 이상 이상의 해당 비트 노드에 연관시키며,
    각 검사 노드에 대한 확률을 계산하고,
    각 비트 노드에 대한 확률을 계산하며,
    소프트 결정을 계산하고,
    상기 계산된 소프트 결정에 따라 상기 비트 노드를 업데이트하며,
    상기 계산된 소프트 결정의 부호에 따라 값을 계산하며,
    상기 계산된 값에 대한 패리티 검사를 수행하며,
    상기 계산된 값에서 비트 에러가 검출된 경우 제1 및 제2 인수로 조정되는 초기 및 중간 LLR에 따라 LLR을 업데이트하고,
    업데이트된 LLR에 따라 상기 비트 노드를 업데이트하며, 그리고,
    상기 초기화 이후 단계를 반복하기 위한, 컴퓨터 명령어를 포함하는 저장 매체.
  7. 제6항에 있어서, 상기 값은 3진값(ternary value)이며,
    상기 저장 매체는, 상기 소프트 결정이 임계값(M)보다 크거나 동일할 경우 상기 3진값을 1로 설정하고,
    상기 소프트 결정이 음의 M보다 작을 경우 상기 3진값을 음의 1로 설정하고,
    상기 소프트 결정이 M보다 작고 음의 M보다 큰 경우 상기 3진값을 0으로 설정하며,
    중간 소프트 결정의 수치화된 평균 크기(scaled average magnitude)로서 M을 적응적으로(adaptively) 결정하기 위한 컴퓨터 명령어를 포함하는 저장 매체.
  8. 송수신기, 메모리 및 프로세서를 포함하는 기지국(base station)으로서,
    상기 프로세서는, 선별 호출 무선기로부터 메시지를 인터셉트하도록 프로그래밍되고,
    상기 프로세서는,
    복수의 비트 노드를 LLR로 초기화하고,
    복수의 검사 노드를 소정의 설정으로 초기화하며,
    각 비트 노드를 하나 이상의 해당 검사 노드에 연관시키고,
    각 검사 노드를 하나 이상 이상의 해당 비트 노드에 연관시키며,
    각 검사 노드에 대한 확률을 계산하고,
    각 비트 노드에 대한 확률을 계산하며,
    해당 검사 노드와 상기 각 비트 노드의 이전 소프트 결정에 따라 소프트 결정을 계산하고,
    상기 계산된 소프트 결정에 따라 상기 비트 노드를 업데이트하고,
    상기 계산된 소프트 결정의 부호에 따라 값을 계산하고,
    상기 계산된 값에 대한 패리티 검사를 수행하며,
    상기 계산된 값에서 비트 에러가 검출된 경우 LLR을 업데이트하고,
    업데이트된 LLR에 따라 상기 비트 노드를 업데이트하며,
    상기 초기화 이후 단계를 반복함에 의해, 상기 메시지를 디코딩하도록 프로그래밍되어 있는 기지국.
  9. 제8항에 있어서, 상기 프로세서는, 비트 에러가 검출되고 상기 단계의 반복 횟수가 제1의 소정 값보다 작을 경우에는 상기 초기화 이후 단계를 반복하고,
    비트 에러가 검출되고 상기 단계의 반복 횟수가 상기 제1의 소정 값 보다 크거나 동일한 경우에는 상기 업데이트된 LLR에 따라 상기 LLR 및 상기 비트 노드를 업데이트하며, 상기 초기화 이후 단계를 반복하며,
    비트 에러가 검출되고 상기 단계의 반복 횟수가, 상기 제1의 소정 값보다 큰 제2의 소정 값을 초과하는 경우에는 더 이상의 처리를 중지하도록 프로그래밍 되어 있는 기지국.
  10. 제8항에 있어서, 상기 값은 3진값이며,
    상기 프로세서는, 상기 소프트 결정이 임계값(M)보다 크거나 동일할 경우 상기 3진값을 1로 설정하고,
    상기 소프트 결정이 음의 M보다 작을 경우 상기 3진값을 음의 1로 설정하며,
    상기 소프트 결정이 M보다 작고 음의 M보다 큰 경우 상기 3진값을 0으로 설정하고,
    중간 소프트 결정의 수치화된 평균 크기(scaled average magnitude)로서 M을 적응적으로 결정하도록 프로그래밍 되어 있는 기지국.
KR1020087008130A 2005-10-03 2006-09-06 저밀도 패리티 검사 디코더용 방법 및 장치 KR20080053346A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/242,506 US7398453B2 (en) 2005-10-03 2005-10-03 Method and apparatus for a low-density parity-check decoder
US11/242,506 2005-10-03

Publications (1)

Publication Number Publication Date
KR20080053346A true KR20080053346A (ko) 2008-06-12

Family

ID=37906638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087008130A KR20080053346A (ko) 2005-10-03 2006-09-06 저밀도 패리티 검사 디코더용 방법 및 장치

Country Status (5)

Country Link
US (1) US7398453B2 (ko)
EP (1) EP1935098A4 (ko)
KR (1) KR20080053346A (ko)
CN (1) CN101405943B (ko)
WO (1) WO2007040893A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8413011B2 (en) 2009-01-02 2013-04-02 Samsung Electronics Co., Ltd. Device and method providing 1-bit error correction
KR101286858B1 (ko) * 2009-12-21 2013-07-17 한국전자통신연구원 저밀도 패리티 검사 부호를 위한 고속 복호 방법
US8631306B2 (en) 2010-02-25 2014-01-14 Samsung Electronics Co., Ltd. Method and memory system using a priori probability information to read stored data

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983350B1 (en) 2005-10-25 2011-07-19 Altera Corporation Downlink subchannelization module
KR100984289B1 (ko) * 2005-12-07 2010-09-30 포항공과대학교 산학협력단 통신 시스템에서 가변 부호화율을 지원하는 신호 송수신장치 및 방법
JP4807063B2 (ja) * 2005-12-20 2011-11-02 ソニー株式会社 復号装置、制御方法、およびプログラム
US7613981B2 (en) * 2006-10-06 2009-11-03 Freescale Semiconductor, Inc. System and method for reducing power consumption in a low-density parity-check (LDPC) decoder
US20080239936A1 (en) * 2007-03-28 2008-10-02 Motorola, Inc. Method and apparatus for mitigating interference in multicarrier modulation systems
CN101345601B (zh) * 2007-07-13 2011-04-27 华为技术有限公司 一种译码方法和译码器
KR101048442B1 (ko) * 2007-08-08 2011-07-11 삼성전자주식회사 다중 입출력 무선통신 시스템에서 스트림별 유효 신호대 잡음비 생성 장치 및 방법
US8234549B2 (en) * 2008-03-06 2012-07-31 Nec Laboratories America, Inc. Simultaneous PMD compensation and chromatic dispersion compensation using LDPC coded OFDM
US8706792B1 (en) * 2008-10-27 2014-04-22 Sk Hynix Memory Solutions Inc. Low-complexity q-ary LDPC decoder
US8443270B2 (en) * 2008-12-09 2013-05-14 Entropic Communications, Inc. Multiple input hardware reuse using LDPC codes
US8347167B2 (en) * 2008-12-19 2013-01-01 Lsi Corporation Circuits for implementing parity computation in a parallel architecture LDPC decoder
WO2010071273A1 (en) * 2008-12-21 2010-06-24 Lg Electronics Inc. Apparatus for transmitting and receiving a signal and method of transmitting and receiving a signal
ES2531332T3 (es) * 2009-01-13 2015-03-13 Lg Electronics Inc Aparato para transmitir y recibir una señal y método para transmitir y recibir una señal
WO2010082754A2 (en) * 2009-01-14 2010-07-22 Lg Electronics, Inc. Apparatus for transmitting and receiving a signal and method of transmitting and receiving a signal
CN102282846B (zh) * 2009-01-19 2015-05-06 Lg电子株式会社 用于发送和接收信号的装置以及用于发送和接收信号的方法
WO2010136930A2 (en) 2009-05-27 2010-12-02 Novelsat Ltd. Iterative decoding of ldpc codes with iteration scheduling
CN101582699B (zh) * 2009-06-24 2013-02-27 重庆金美通信有限责任公司 用于两电平调制输入的Turbo和LDPC译码的软判决LLR计算方法
KR20120072615A (ko) * 2010-12-24 2012-07-04 삼성전자주식회사 수신기에서 복호 제어 방법 및 복호 제어 장치
US8774326B2 (en) * 2011-04-08 2014-07-08 Samsung Electronics Co., Ltd. Receiver system and method of operation thereof
US8656245B2 (en) * 2011-04-13 2014-02-18 California Institute Of Technology Method of error floor mitigation in low-density parity-check codes
KR101968746B1 (ko) 2011-12-30 2019-04-15 삼성전자주식회사 저장 장치로부터 데이터를 읽는 읽기 방법, 에러 정정 장치, 그리고 에러 정정 코드 디코더를 포함하는 저장 시스템
CN103199874B (zh) * 2012-01-05 2017-02-15 国民技术股份有限公司 一种低密度奇偶校验码译码方法
WO2013147774A1 (en) * 2012-03-28 2013-10-03 Intel Corporation Processing elementary check nodes of an iterative decoder
US9264182B2 (en) 2012-09-13 2016-02-16 Novelsat Ltd. Iterative receiver loop
US9520898B2 (en) * 2014-02-13 2016-12-13 Electronics And Telecommunications Research Institute Modulator and modulation method using non-uniform 16-symbol signal constellation for low-density parity check codeword having 3/15 code rate
KR102323765B1 (ko) * 2014-02-13 2021-11-11 한국전자통신연구원 부호율이 3/15인 ldpc 부호어를 위한 비균등 16-심볼 신호성상을 이용한 변조기 및 이를 이용한 변조 방법
CA3043836C (en) * 2014-02-13 2020-10-20 Electronics And Telecommunications Research Institute Modulator and modulation method using non-uniform 16-symbol signal constellation for low-density parity check codeword having 4/15 code rate
US10050643B2 (en) * 2016-12-14 2018-08-14 Via Technologies, Inc. Low-density parity-check apparatus and operation method thereof
US10491244B2 (en) * 2017-11-14 2019-11-26 Nyquist Semiconductor Limited Systems and methods for decoding error correcting codes
KR20200020535A (ko) * 2018-08-17 2020-02-26 에스케이하이닉스 주식회사 에러 정정 장치, 그것의 동작 방법 및 그것을 포함하는 전자 장치
US11018695B1 (en) * 2019-11-11 2021-05-25 SK Hynix Inc. Fast-converging bit-flipping decoder for low-density parity-check codes
CN113497629A (zh) * 2020-04-07 2021-10-12 富华科精密工业(深圳)有限公司 基于ldpc的译码方法、装置及计算机可读存储介质
CN111917420B (zh) * 2020-08-25 2023-07-04 广东省新一代通信与网络创新研究院 一种ldpc自适应译码方法及ldpc自适应译码器
CN113794478A (zh) * 2021-09-06 2021-12-14 深圳市极致汇仪科技有限公司 一种基于噪声功率的ldpc分步译码方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594318B1 (en) * 1999-12-02 2003-07-15 Qualcomm Incorporated Method and apparatus for computing soft decision input metrics to a turbo decoder
US6654926B1 (en) * 2000-10-11 2003-11-25 Itran Communications Ltd. Soft decision maximum likelihood encoder and decoder
US6895547B2 (en) * 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US7000167B2 (en) * 2001-08-01 2006-02-14 International Business Machines Corporation Decoding low density parity check codes
US7023936B2 (en) * 2001-10-29 2006-04-04 Intel Corporation Method and apparatus for decoding lattice codes and multilevel coset codes
US6954832B2 (en) * 2002-05-31 2005-10-11 Broadcom Corporation Interleaver for iterative decoder
US6829308B2 (en) * 2002-07-03 2004-12-07 Hughes Electronics Corporation Satellite communication system utilizing low density parity check codes
US6757337B2 (en) * 2002-09-05 2004-06-29 Motorola, Inc. Coding-assisted MIMO joint detection and decoding
CN1252935C (zh) * 2002-12-13 2006-04-19 清华大学 基于低密度奇偶检验编码的信源信道联合编码方法
US7149953B2 (en) * 2004-02-03 2006-12-12 Broadcom Corporation Efficient LDPC code decoding with new minus operator in a finite precision radix system
CN100385796C (zh) * 2004-11-25 2008-04-30 上海交通大学 低密度校验码的信道编码方法
CN100364238C (zh) * 2005-01-21 2008-01-23 清华大学 一种Turbo码与多维调制级联的系统编译码方案

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8413011B2 (en) 2009-01-02 2013-04-02 Samsung Electronics Co., Ltd. Device and method providing 1-bit error correction
KR101286858B1 (ko) * 2009-12-21 2013-07-17 한국전자통신연구원 저밀도 패리티 검사 부호를 위한 고속 복호 방법
US8726119B2 (en) 2009-12-21 2014-05-13 Electronics And Telecommunications Research Institute Fast stochastic decode method for low density parity check code
US8631306B2 (en) 2010-02-25 2014-01-14 Samsung Electronics Co., Ltd. Method and memory system using a priori probability information to read stored data

Also Published As

Publication number Publication date
US20070089024A1 (en) 2007-04-19
WO2007040893A2 (en) 2007-04-12
WO2007040893A3 (en) 2008-11-06
CN101405943A (zh) 2009-04-08
CN101405943B (zh) 2012-03-14
US7398453B2 (en) 2008-07-08
EP1935098A2 (en) 2008-06-25
EP1935098A4 (en) 2012-11-28

Similar Documents

Publication Publication Date Title
KR20080053346A (ko) 저밀도 패리티 검사 디코더용 방법 및 장치
US7137060B2 (en) Forward error correction apparatus and method in a high-speed data transmission system
KR100804793B1 (ko) 저밀도 패러티 검사 복호기에서의 검사 노드 갱신 방법
Chen et al. Reduced-complexity decoding of LDPC codes
EP1525664B9 (en) Method and system for memory management in low density parity check (ldpc) decoders
Wu et al. Adaptive-normalized/offset min-sum algorithm
US8209579B2 (en) Generalized multi-threshold decoder for low-density parity check codes
US8880973B1 (en) Detector-decoder interface for GF(q) iterative decoding
US10560120B2 (en) Elementary check node processing for syndrome computation for non-binary LDPC codes decoding
US9806743B2 (en) System and method of belief propagation decoding
US20070089017A1 (en) Error correction decoder, method and computer program product for block serial pipelined layered decoding of structured low-density parity-check (LDPC) codes with reduced memory requirements
US20120159282A1 (en) Transmitter, encoding apparatus, receiver, and decoding apparatus
US20070168834A1 (en) Method and system for routing in low density parity check (LDPC) decoders
US20040243917A1 (en) Apparatus and method for decoding a low density parity check code in a communication system
US20090172493A1 (en) Method and device for decoding low density parity check code
US10476523B2 (en) Elementary check node-based syndrome decoding using pre-sorted inputs
US7447985B2 (en) Efficient design to implement min**/min**- or max**/max**- functions in LDPC (low density parity check) decoders
CN111130563A (zh) 处理信息的方法和装置
US11545998B2 (en) Offset value determination in a check node processing unit for message-passing decoding of non-binary codes
KR20090012189A (ko) Ldpc 부호의 성능 개선을 위한 스케일링 기반의 개선된min-sum 반복복호알고리즘을 이용한 복호 장치 및그 방법
Kim et al. Adaptive quantization in min-sum based irregular LDPC decoder
KR20090064268A (ko) 가변 보정값을 이용한 복호화 장치 및 그 방법
Guan et al. Adaptive extended min-sum algorithm for nonbinary LDPC decoding
Ghauri et al. Performance analysis of ldpc codes on different channels
JP2009194638A (ja) 復号化装置、復号化方法、復号化プログラム、受信装置、及び通信システム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application