KR100695380B1 - 감소된 메모리 ldpc 코드를 제공하는 방법 및 장치 - Google Patents

감소된 메모리 ldpc 코드를 제공하는 방법 및 장치 Download PDF

Info

Publication number
KR100695380B1
KR100695380B1 KR1020040086312A KR20040086312A KR100695380B1 KR 100695380 B1 KR100695380 B1 KR 100695380B1 KR 1020040086312 A KR1020040086312 A KR 1020040086312A KR 20040086312 A KR20040086312 A KR 20040086312A KR 100695380 B1 KR100695380 B1 KR 100695380B1
Authority
KR
South Korea
Prior art keywords
ldpc
code
bit
encoder
phase shift
Prior art date
Application number
KR1020040086312A
Other languages
English (en)
Other versions
KR20050040770A (ko
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 KR20050040770A publication Critical patent/KR20050040770A/ko
Application granted granted Critical
Publication of KR100695380B1 publication Critical patent/KR100695380B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/20Adaptations for transmission via a GHz frequency band, e.g. via satellite
    • 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
    • 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/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes

Abstract

LDPC(Low Density Parity Check) 코드를 생성하기 위한 접근이 제공된다. LDPC 인코더(203)는 외부 BCH(Bose Chaudhuri Hocquenghem) 코드를 이용하여 LDPC 코드를 생성한다. 레이트 3/5의 경우에, 본 접근은, "변조되지 않은" 레이트 3/5 코드에 대해 성능에 큰 영향을 주지 않으면서 에지값의 저장에 대해 감소된 메모리 요구를 야기시키는 단계 프로파일을 제공한다. 감소된 메모리 LDPC 코드에 대한 관련 파라미터는 다음과 같다: q=72, nldpc=64800, kldpc=nBCH=38880, k BCH=38688. 상기 접근은 위성을 통한 디지탈 비디오 방송 서비스에서의 특별한 애플리케이션을 갖는다.
LDPC(Low Density Parity Check) 코드, BCH(Bose Chaudhuri Hocquenghem) 코드, 인코더, 에러 레이트, 위성, 디지탈 방송

Description

감소된 메모리 LDPC 코드를 제공하는 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING REDUCED MEMORY LOW DENSITY PARITY CHECK(LDPC) CODES}
도 1은 본 발명의 일 실시예에 따라, LDPC 코드를 사용하도록 구성된 통신 시스템의 도면이다.
도 2a 및 도 2b는 도 1의 송신기에 채용된 예시적인 LDPC 인코더들의 도면들이다.
도 2c는 본 발명의 일 실시예에 따라, LDPC 코드를 각각 생성하기 위한 도 2b의 LDPC 인코더의 인코딩 프로세스의 흐름도이다.
도 3은 도 1의 시스템의 예시적인 수신기의 도면이다.
도 4는 본 발명의 일 실시예에 따른, 스파스 패리티 체크 매트릭스(sparse parity check matrix)의 도면이다.
도 5는 도 4의 매트릭스의 LDPC 코드의 2분 그래프의 도면이다.
도 6은 본 발명의 일 실시예에 따른, 서브매트릭스가 낮은 삼각 영역(lower triangular region)으로 한정된 패리티 체크 값들을 포함하는, 스파스 패리티 체크 매트릭스의 서브매트릭스의 도면이다.
도 7은 베이스라인 레이트 3/5 LDPC 코드 대 감소된 메모리 레이트 3/5 LDPC 코드의 성능을 나타내주는 그래프이다.
도 8은 본 발명의 실시예들에 따라, LDPC 인코딩 프로세스를 수행할 수 있는 컴퓨팅 시스템의 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
101: 송신기
103: 채널
105: 수신기
200: 송신기
201: 소스
203: LDPC 인코더
105: 변조기
109: CRC 인코더
211: BCH 인코더
301: 복조기
305: LDPC 디코더
307: 비트 메트릭 생성기
<관련 출원>
본 출원은, 2003년 10월 27일에 출원된 "감소된 메모리 레이트 3/5 LDPC 코 드"라는 제목의 미국 가출원번호 60/514,680호와 관련있으며, 35 U.S.C. §119(e) 하에서 최우선일에 따른 이익을 주장한다.
본 발명은 통신 시스템에 관한 것으로서, 보다 구체적으로는 코딩된 시스템(coded system)에 관한 것이다.
통신 시스템은 노이즈가 있는 통신 채널들을 통해 신뢰성있는 통신을 보장하기 위해 코딩을 사용한다. 예를 들면, 위성 네트워크와 같은, 무선(또는 라디오) 시스템에서, 노이즈 소스들은, 지정학적 인자 및 환경적 인자들로 인해 많이 존재한다. 이러한 통신 채널들은 소정의 SNR(signal to noise ratio)에서 심볼당 비트로 표현될 수 있는, 이론적 상한선(샤논 한계(Shannon limit))을 정의하는 고정 용량을 나타낸다. 결과적으로, 코딩 설계는 이러한 샤논 한계에 근접하는 레이트를 획득하는 것을 목표로 한다. 이러한 목적은 대역폭이 제한된 위성 시스템들에 특히 적절하다. 샤논 한계에 근접하는 코드들 중 한 종류는 LDPC(Low Density Parity Check) 코드이다.
전통적으로, LDPC 코드는 많은 단점들때문에 널리 사용되지 않았었다. 한가지 단점은, LDPC 인코딩 기술은 매우 복잡하다는 것이다. 생성기 매트릭스를 사용하여 LDPC 코드를 인코딩하는 것은 매우 크고, 스파스 매트릭스(sparse matrix)가 아닌 매트릭스의 저장을 필요로 한다. 또한, LDPC 코드는 효과적인 큰 블록들을 필요로 한다; 결과적으로, LDPC 코드의 패리티 체크 매트릭스들이 스파스(sparse)이더라도, 이러한 매트릭스들을 저장하는 것은 문제가 된다.
구현의 관점에서, 다수의 과제에 직면한다. 예를 들면, LDPC 코드가 실제 널리 사용되고 있지 않는 중요한 이유는 저장장치때문이다. 따라서, 길이 LDPC 코드는 보다 큰 저장장치 공간을 필요로 한다. 또한, LDPC 코드 구현에서의 중요한 과제는 디코더 내의 수개의 프로세싱 엔진들(노드들) 사이에 접속 네트워크를 획득하는 방법이다. 또한, 디코딩 프로세스에서의 계산상의 부하, 구체적으로 체크 노드 연산들이 문제가 된다.
따라서, 단순한 인코딩 및 디코딩 프로세스들을 사용하는 LDPC 통신 시스템이 필요하게 된다. 또한, 보다 큰 복잡도를 도입하지 않고, 고속 데이타 레이트를 효율적으로 지원하기 위해 LDPC 코드를 사용할 필요가 있다. 또한, LDPC 인코더 및 디코더의 성능을 개선할 필요가 있다. 또한, LDPC 코딩을 구현하기 위한 저장장치 요건들을 최소화할 필요가 있다.
이러한 필요성들 및 기타의 필요성들이, LDPC 코드를 인코딩하는 접근을 제공하는 본 발명에서 다루어진다. 인코더는, LDPC 코딩된 신호로서 송신하기 위해 표 1에 따라 외부 BCH(Bose Chaudhuri Hocquenghem) 코드를 갖는 LDPC 코드를 생성한다. 특히, 레이트 3/5 코드에 있어서, 표 1은 "변조되지 않은" 레이트 3/5 코드에 대해 성능에 큰 영향을 주지 않으면서 에지값의 저장에 대해 감소된 메모리 요구를 야기시키는 단계 프로파일을 제공한다. 이러한 접근은 저장장치 및 프로세싱 자원들을 최소화하면서, LDPC 코드의 인코딩 뿐만 아니라 디코딩도 편리하게 하는 이점을 제공한다.
본 발명의 일 실시예의 다른 측면에 따르면, LDPC 코드는 8-PSK(Phase Shift Keying), 16-QAM(Quadrature Amplitude Modulation), QPSK(Quadrature Phase Shift Keying), 16-APSK(Amplitude Phase Shift Keying) 및 32-APSK 중 하나를 포함하는 신호 성상도(signal constellation)에 따라 변조되는 신호들로 표현된다.
본 발명의 일 실시예의 또 다른 측면에 따르면, 변조된 LDPC 코딩된 신호는 광역 위성 애플리케이션을 지원하여 위성 링크를 통해 송신된다.
본 발명의 또 다른 측면들, 특징들 및 이점들은, 본 발명을 실행하기 위해 고안된 최선의 양태를 포함하여, 다수의 특정 실시예들 및 구현들을 간단히 도시함으로써 다음의 상세한 설명으로부터 용이하게 파악될 것이다. 또한 본 발명은 기타의 상이한 실시예들로 구현될 수 있고 그들의 몇몇 상세는 본 발명의 사상 및 범주에서 벗어나지 않고 명백한 여러 측면들로 수정될 수 있다. 따라서, 도면 및 상세한 설명은 그 특성상 예시적인 것으로 고려되어야 하며, 한정적으로 해석되어서는 안된다.
본 발명은, 유사한 참조번호들이 유사한 구성요소들을 나타내는 첨부 도면에서 예시적으로 도시되며, 이에 한정되지는 않는다.
<실시예>
감소된 메모리 필요성을 갖는 레이트 3/5 LDPC 코드를 인코딩하는 장치, 방법 및 소프트웨어가 기술된다. 이하의 설명에서, 설명을 목적으로, 본 발명의 완전한 이해를 제공하기 위해 많은 특정 세부 사항이 제공된다. 그러나, 본 발명은 이러한 특정 세부 사항들이 없이 또는 균등한 구성을 사용하여 구현될 수 있다는 것이 당업자에게는 자명할 것이다. 다른 경우, 본 발명을 불필요하게 모호하게 하는 것을 피하기 위해 공지된 구조 및 장치들은 블록도 형태로 도시된다.
도 1은 본 발명의 일 실시예에 따라, LDPC 코드를 사용하도록 구성된 통신 시스템의 도면이다. 디지털 통신 시스템(100)은 통신 채널(103)을 통해 수신기(105)로 향하는 신호 파형들을 생성하는 송신기(101)를 포함한다. 이러한 개별 통신 시스템(100)에서, 송신기(101)는 가능한 메시지들의 개별 세트를 생산하는 메시지 소스를 가지며, 가능한 메시지 각각은 대응하는 신호 파형을 가진다. 이러한 신호 파형들은 통신 채널(103)에 의해 감쇠되거나 또는 다르게 변경된다. 채널(103)에서의 노이즈에 대처하기 위해, LDPC 코드가 사용된다.
일례로, 채널(103)은 광역 위성 애플리케이션들을 지원하는, 위성 단말(예; VSATs(Very Small Aperture Terminals))에 소용이되는 위성 링크이다. 그러한 애플리케이션들은 위성 방송 및 대화형 서비스(및 DVB(Digital Video Broadcast) - S2 표준에 따름)를 포함한다. DVB-S(Digital Video Broadcasting via Satellite) 표준은, 예를 들면 디지털 위성 텔레비젼 프로그래밍을 제공하기 위해 전세계적으로 널리 채용되고 있다.
송신기(101)에 의해 생성되는 LDPC 코드는 어떠한 성능 손실도 발생하지 않고 고속 구현을 가능하게 한다. 송신기(101)로부터 출력되는, 이러한 구조를 갖는 LDPC 코드는 적은 수의 체크 노드들이, 변조 방식(예를 들면, 8-PSK)의 측면에서 채널 에러들에 이미 손상되기 쉬운 비트 노드들로 할당되는 것을 방지한다.
그러한 LDPC 코드는, 가산, 비교 및 테이블 룩업과 같은 간단한 연산들을 유 리하게 포함하는, (터보 코드와는 다른) 병렬화가 가능한 디코딩 알고리즘(parallelizable decoding algorithm)을 가진다. 더욱이, 주의깊게 설계된 LDPC 코드는 에러 플로어(error floor)의 어떠한 신호도 나타내지 않는다.
본 발명의 일 실시예에 따르면, 송신기(101)는, 비교적 간단한 인코딩 기술을 사용하여, 수신기(105)와 통신하기 위해 (디코딩 동안 효율적인 메모리 액세스를 용이하게 하는) 패리티 체크 매트릭스들에 기초한 LDPC 코드를 생성한다. 블록 길이가 충분히 크다면, 송신기(101)는 연결된 터보+RS(리드-솔로몬) 코드를 능가할 수 있는 LDPC 코드를 사용한다.
도 2a 및 도 2b는 도 1의 송신기에 채용된 예시적인 LDPC 인코더들의 도면들이다. 도 2a에서 보는 바와 같이, 송신기(200)는 정보 소스(201)로부터의 입력을 수취하고, 수신기(105)에서의 에러 정정 프로세싱에 적합한 보다 높은 리던던시를 갖는 코딩된 스트림을 출력하는 LDPC 인코더(203)를 갖추고 있다. 정보 소스(201)는, 개별 알파벳, X로부터 k 개의 신호들을 생성한다. LDPC 코드는 패리티 체크 매트릭스로 지정된다. 한편, LDPC 코드를 인코딩하는 것은 일반적으로 생성기 매트릭스(generator matrices)의 지정을 필요로 한다. 가우스 소거(Gaussian elimination)를 사용하여 패리티 체크 매트릭스들로부터 생성기 매트릭스들을 획득하는 것이 가능하더라도, 그 결과로 발생하는 매트릭스는 더이상 스파스(sparse)이지 않고, 큰 생성기 매트릭스의 저장이 복잡해질 수 있다.
인코더(203)는, 구조를 패리티 체크 매트릭스에 둠으로써 오직 패리티 체크 매트릭스만 이용하는 단순한 인코딩 기술을 사용하여 알파벳 Y로부터 변조기(205) 로 신호들을 생성할 수 있다. 구체적으로, 매트릭스의 소정 부분을 삼각형으로 제한함으로써 패리티 체크 매트릭스에 제한을 가할 수 있다. 이러한 패리티 체크 매트릭스의 구성은 도 6과 관련하여 아래에서 보다 구체적으로 설명된다. 이러한 제한에 의해, 무시할만한 성능 손실이 초래되고 그 결과, 매력적인 트레이드-오프를 구성할 수 있다.
변조기(205)는, 인코더(203)로부터 인코딩된 메시지들을, 송신 안테나(207)로 송신되는 신호 파형들로 매핑하며, 송신 안테나는 이러한 파형들을 통신 채널(103)을 통해 방출한다. 따라서, 인코딩된 메시지들은 변조되고 송신 안테나(207)로 분배된다. 송신 안테나(207)로부터의 송신은 아래에서 설명하는 바와 같이 수신기(도 3에 도시됨)로 전파된다.
도 2b는, 본 발명의 일 실시예에 따라, BCH(Bose Chaudhuri Hocquenghem) 인코더 및 CRC(Cyclic redundancy check) 인코더와 함께 사용되는 LDPC 인코더를 나타낸다. 이러한 시나리오에서, CRC 인코더(209) 및 BCH 인코더(211)와 함께, LDPC 인코더(203)에 의해 생성된 코드들은 연결된 외부 BCH 코드 및 내부 LDPC 코드를 가진다. 또한, 에러 검출이 CRC 코드를 사용하여 이루어질 수 있다. 예시적인 실시예에서, CRC 인코더(209)는 생성기 다항식 (x5+x4+x3+x2+1)(x 2+x+1)(x+1)을 갖는 8비트 CRC 코드를 사용하여 인코딩한다. CRC 코드는 BCH 인코더(211)로 출력된다.
도 2c는 본 발명의 실시예에 따라, 긴 프레임 길이의 LDPC 코드들을 생성하기 위한 도 2b의 LDPC 인코더의 인코딩 프로세스에 대한 흐름도이다. 단계 221에 서, 정보 비트들이 수신되고 일련의 인코더들(209, 211, 및 203)로 프로세싱된다. 따라서, LDPC 인코더(203)는 단계 223에서와 같이, 수신된 정보 비트들에 기초하여 외부 BCH 코드들과 함께 LDPC 코드들을 생성한다. 또한 이 코드들은 CRC 코드를 포함한다. 다음으로, LDPC 코드들은 채널(103)을 통한 송신을 위해, 단계 225에서 변조되는 신호들로 표시되며, 상기 채널은 예시적인 실시예에서 하나 이상의 위성 단말에 대한 위성 링크이다(단계 227).
LDPC 인코더(203)는 크기가 nldpc인 코드워드
Figure 112004049438972-pat00001
상으로 크기가 kldpc인 정보 블록
Figure 112004049438972-pat00002
을 조직적으로 인코딩한다. 코드워드의 송신은 i0로부터 소정의 순서로 시작하고
Figure 112004049438972-pat00003
LDPC 코드 파라미터들 (nldpc, kldpc)로 끝난다.
LDPC 인코더(203)의 작업은 kldpc 정보 비트들의 모든 블록
Figure 112004049438972-pat00004
에 대해 nldpc-kldpc 개의 패리티 비트들
Figure 112004049438972-pat00005
를 결정하는 것이다. 그 절차는 다음과 같다. 우선, 패리티 비트들을 초기화한다;
Figure 112004049438972-pat00006
. 예를 들어, kldpc 비트들이 조직적으로 인코딩되어 nldpc 비트들이 생성된다. 표 1의 3/5 레이트 코드에 대해, 관련된 파라미터들은 다음과 같다: q=72, nldpc = 64800, kldpc = nBCH = 38880, kBCH =38688. 코드 설계는, "변조되지 않은" 3/5 레이트 코드의 성능을 계속 유지하면서, 감소된 메모리 요구조 건을 발생시키는 비트 노드 및 체크 노드의 단계 프로파일(즉, 비트(또는 체크) 노드들로부터의 나가는 에지들의 수)을 제공한다. 감소된 메모리 레이트 3/5 코드는 단계 8의 12960 비트 노드들, 단계 3의 25920 비트 노드들, 단계 2의 25919 비트 노드들 및 단계 1의 1 비트 노드를 갖는다. 이 코드는 또한 단계 9의 25919 체크 노드들, 단계 8의 1 체크 노드를 갖는다.
제1 정보 비트 i0는, 표 1의 제1 행에서 특정된 패리티 비트 어드레스에서 축적된다. 따라서, 결과는 다음과 같다:
Figure 112004049438972-pat00007
상기 식들에서 덧셈은 GF(2)에 있다.
그 후, 후속하는 359개의 정보 비트들 im, m=1, 2, ..., 359에 대해서, 이러한 비트들은 패리티 비트 어드레스들
Figure 112004049438972-pat00008
에서 축적되고, 여기서 x는 제1 비트 i0에 대응하는 패리티 비트 누산기의 어드레스를 나타내고, q는 코드 레이트에 의존하는 상수이다. 정보 비트 i1에 대해, 레이트 3/5인 경 우 q=72로 예를 계속하면, 이하의 연산들이 수행된다.
Figure 112004049438972-pat00009
361번째 정보 비트 i360에 대해서, 패리티 비트 누산기들의 어드레스들은 표 1의 제2 행에 주어진다. 마찬가지로, 다음의 359개의 정보 비트들 im, m=361,362,...,719에 대한 패리티 비트 누산기들의 어드레스들은
Figure 112004049438972-pat00010
을 사용하여 얻어지며, 여기서 x는 정보 비트 i360, 즉 표 1의 제2 행에 있는 엔트리들에 대응하는 패리티 비트 누산기의 어드레스를 나타낸다. 마찬가지 방식으로, 360개의 새로운 정보 비트들의 모든 그룹에 대해, 표 1로부터의 새로운 행을 사용하여 패리티 비트 누산기들의 어드레스들을 찾는다.
Figure 112004049438972-pat00011
Figure 112004049438972-pat00012
Figure 112004049438972-pat00013
모든 정보 비트들이 배출된 후, 최종 패리티 비트들은 이하와 같이 얻어진다. 우선, i=1부터 시작하여, 이하의 연산들을 수행한다.
Figure 112004049438972-pat00014
pi, i=0,1,..,nldpc-kldpc-1의 최종 내용은 패리티 비트 pi와 동일하다.
모든 정보 비트들이 배출된 후, 최종 패리티 비트들은 다음과 같이 얻어진다. 우선, i=1부터 시작하여, 이하의 연산들을 수행한다.
Figure 112004049438972-pat00015
pi, i=0,1,..,nldpc-kldpc-1의 최종 내용은 패리티 비트 pi와 동일하다.
BCH 인코딩에 관하여, 본 발명의 일 실시예에 따르면, BCH 인코더(211)에 의 해 사용되는 BCH 코드의 생성기 다항식은 다음과 같다.
Figure 112004049438972-pat00016
코드워드
Figure 112004049438972-pat00017
상으로 정보 비트
Figure 112004049438972-pat00018
를 BCH 인코딩하는 것은 다음과 같이 실현된다. 메시지 다항식
Figure 112004049438972-pat00019
Figure 112004049438972-pat00020
을 곱한다. 그 다음,
Figure 112004049438972-pat00021
m(x)를 g(x)로 나눈다. 나머지가
Figure 112004049438972-pat00022
로 되면, 코드워드 다항식은 다음과 같이 설정된다:
Figure 112004049438972-pat00023
LDPC 코드들을 설계하는 상기 방법에 의하면, 표 1에 제공된 바와 같이, 비트 노드들 및 체크 노드들의 분할된 그룹들에 관한 관련 정보의 저장 및 검색이 항상 메모리(예를 들어, RAM) 내의 인접하는 메모리 위치에 배치되는 이점이 있다. 따라서, 상이한 디코더들을 채용하지 않고 다수의 코드 레이트들을 지원할 수 있다. 또한, 그 설계로 인해 단일 RAM 뱅크를 사용할 수 있어, 집적 회로의 크기를 최소화한다. 언급한 바와 같이, 상기 LDPC 코드들은, 예시적인 실시예에서, MPEG(Motion Pictures Expert Group) 패킷 송신과 같은 다양한 디지털 비디오 애플 리케이션들에 사용될 수 있다.
도 3은 도 1의 시스템 내의 예시적인 수신기에 대한 도면이다. 수신측에서, 수신기(300)는 송신기(200)로부터 수신된 신호를 복조하는 복조기(301)를 포함한다. 이러한 신호들은 복조를 위해 수신 안테나(303)에서 수신된다. 복조 후, 수신된 신호들은 LDPC 디코더(305)로 전달되고 이것은 비트 메트릭 생성기(307)와 함께 메시지 X'를 생성함으로써 원래의 소스 메시지를 재구성하려고 한다. 비트 메트릭 생성기(307)는 디코딩 프로세스 동안 디코더(305)와 정보를 앞뒤로(반복적으로) 교환할 수 있다. 이러한 디코딩 방법들은 2003년 7월 3일자로 출원된 "Method and System for Routing in Low Density Parity Check(LDPC) Decoders"라는 제목의 동시 계속 출원(Serial No. 10/613,824)에 보다 자세히 기재되어 있다. 표 1에 구성되어 있는 LDPC 코드들은 공통 디코딩 아키텍쳐를 사용하여 다수의 코드 레이트들(결과적으로, 다수의 데이터 레이트들)을 지원할 수 있다. 대조적으로, 컨볼루션 코드들은, 예를 들어 중간 레이트를 실현하기 위해 펑츄어링(puncturing) 기술을 요구한다.
본 발명에 의해 제공되는 이점들을 더욱 이해하기 위해, 도 4에 논의된 바와 같이 LDPC 코드들이 생성되는 방식을 고찰하는 것이 유리하다.
도 4는 본 발명의 실시예에 따른 스파스 패리티 체크 매트릭스(sparse parity check matrix)의 도면이다. LDPC 코드들은 스파스 패리티 체크 매트릭스 H(n-k)xn을 갖는 긴 선형 블럭 코드들이다. 일반적으로 블록 길이 n의 범위는 수천에 서 수만 비트이다. 설명을 위하여, 길이 n=8 및 레이트 1/2의 LDPC 코드에 대한 패리티 체크 매트릭스가 도 4에 도시되어 있다. 도 5에서, 동일한 코드가 2분 그래프에 의해 등가적으로 표현될 수 있다.
도 5는 도 4의 매트릭스의 LDPC 코드의 2분 그래프도이다. 패리티 체크 방정식들은 각 체크 노드에 대해, 모든 인접하는 비트 노드들의 합(GF(Galois Field)(2)에 대해)을 제로로 하는 것을 의미한다. 도면에서 알 수 있는 바와 같이, 소정의 관계에 따라, 비트 노드들은 그래프의 좌측을 차지하고 하나 이상의 체크 노드들과 관련된다. 예를 들어, 체크 노드 m1에 대응하여, 비트 노드들에 대해 다음의 식 n1+n4+n5+n8=0이 존재한다.
수신기(300)로 돌아가서, LDPC 디코더(305)는 메시지 통과 디코더로서 간주되고, 이로써, 디코더(305)는 비트 노드들의 값들을 찾으려고 노력한다. 이 작업을 달성하기 위해, 비트 노드들 및 체크 노드들은 서로 반복적으로 통신한다. 이러한 통신의 본질이 이하 설명된다.
체크 노드들로부터 비트 노드들까지, 각 체크 노드는 인접 비트 노드에 추정치("의견(opinion)")를 제공하는데, 이 추정치는 다른 인접 비트 노드들로부터 나오는 정보에 기초한 비트 노드의 값에 관련된다. 예를 들어, 상기 예에 있어서, n4, n5 및 n8의 합이 0 ~ m1 "일 것 같다(looks like)"면, m1은 n1에게 n1의 값은 0일 것으로 여겨진다는 것을(n1 + n4 + n5 + n8 = 0이므로) 나타내며; 만약 그렇지 않으 면, m1은 n1에게 n1의 값이 1인 것으로 여겨진다는 것을 나타낸다. 추가적으로, 연판정 디코딩(soft decision decoding)에 대해, 신뢰도 측정이 추가된다.
비트 노드들로부터 체크 노드들까지, 각 비트 노드는 인접 체크 노드들에 추정치를 제공하는데, 이 추정치는 다른 인접 체크 노드들로부터 나오는 피드백에 기초한 그 자신의 값에 대한 것이다. 상기 예에서, n1은 단지 2개의 인접 체크 노드들 m1, m3을 갖는다. m3으로부터 n1으로 오는 피드백이 n 1의 값은 아마도 0일 것이라고 나타낸다면, n1은 m1에게 n1 자신의 값의 추정치가 0임을 통지할 것이다. 비트 노드가 인접 체크 노드들을 2개 이상 갖는 경우에 대해, 비트 노드는 통신할 체크 노드에 대한 판정을 보고하기 전에, 다른 인접 체크 노드들로부터 나오는 피드백에 대해 다수결의 법칙(연판정)을 수행한다. 모든 비트 노드들이 정확한 것으로 간주될 때까지(즉, 모든 패리티 체크 수학식을 만족함), 혹은 미리 선정된 최대 반복수(predetermined maximum number of iterations)에 도달할 때까지 상기 프로세스는 반복되고(repeated), 이로써, 디코딩 실패가 선언된다.
도 6은 스파스 패리티 체크 매트릭스의 서브-매트릭스에 대한 도면으로, 여기서, 서브-매트릭스는 본 발명의 일 실시예에 따른, 보다 낮은 삼각형 영역으로 한정된 패리티 체크 값들을 포함한다. 미리 설명한 바와 같이, (도 2a 및 도 2b의) 인코더(203)는 패리티 체크 매트릭스의 보다 낮은 삼각형 영역의 값을 한정함으로써 단순한 인코딩 기술을 이용할 수 있다. 본 발명의 일 실시예에 따르면, 패 리티 체크 매트릭스에 부과된 한정 사항의 형태는 다음과 같다.
Figure 112004049438972-pat00024
여기서, B는 보다 낮은 삼각형이다.
임의의 정보 블럭
Figure 112004049438972-pat00025
H c T =0을 사용하여, 코드 워드
Figure 112004049438972-pat00026
로 인코딩되고, 패리티 비트들에 대해 반복적으로 푼다; 예를 들어,
Figure 112004049438972-pat00027
p 2 , p 3 , ..., p n-k-1 에 대해서도 마찬가지이다.
도 7은 베이스라인 레이트 3/5 LDPC 코드 대 감소된 메모리 레이트 3/5 LDPC 코드의 성능을 나타내주는 그래프이다. 그래프는 레이트 3/5의 베이스라인 LDPC 코드를 감소된 메모리 레이트 3/5 LDPC 코드의 것과 비교한다. DVB-S2 특정된 레이트 3/5 LDPC 코드는 베이스라인으로서 사용된다. 이 두개의 코드들 사이의 차이는 비트 노드 및 체크 노드의 단계 프로파일에 있다. DVB-S2 표준 3/5 레이트 코드는 단계 12의 129610 비트 노드, 단계 3의 25952 비트 노드, 단계 2의 25919 비트 노드, 단계 1의 1 비트 노드; 및 단계 11의 25919 체크 노드 및 단계 10의 1체크 노드를 갖는다. 성능 차이는 표준 3/5 레이트 코드와 감소된 메모리 3/5 레이트 코드 사이에서 단지 0.17 dB이다. 대부분의 애플리케이션의 경우에, 메모리 비 용 절감을 가정한다면, 이 "성능 패널티"는 허용가능하다.
상술한 바와 같은 LDPC 인코딩 프로세스는 다양한 하드웨어 및/또는 소프트웨어 구성을 통해 실행될 수 있다. 사실, 이러한 방법은 소프트웨어 변경을 통해 단독으로 쉽게 배치될 수도 있어, 비용이 많이 드는 하드웨어 변경을 없앨 수 있다.
도 8은 본 발명에 따른 일 실시예가 구현될 수 있는 예시적인 하드웨어를 도시한다. 컴퓨팅 시스템(900)은 정보를 통신하기 위한 버스(901) 또는 그 외의 통신 메커니즘, 및 정보를 처리하기 위해 버스(901)에 결합된 프로세서(903)를 포함한다. 컴퓨팅 시스템(900)은 또한 RAM(random access memory) 혹은 그 외의 동적 저장 장치와 같이, 프로세서(903)에 의해 실행될 정보 및 명령어들을 저장하기 위해 버스(901)에 결합된 주메모리(905)를 포함한다. 주메모리(905)는 또한 프로세서(903)에 의해 명령어들을 실행하는 동안 일시적인 변수들 혹은 그 외의 중간 정보를 저장하기 위해 사용될 수 있다. 컴퓨팅 시스템(900)은 ROM(read only memory; 907) 혹은 프로세서(903)에 대한 정적 정보 및 명령어들을 저장하기 위해 버스(901)에 결합된 그 외의 정적 저장 장치를 더 포함할 수 있다. 자기 디스크 또는 광 디스크와 같은 저장 장치(909)는 정보 및 명령어들을 영구적으로 저장하기 위해 버스(901)에 결합된다.
컴퓨팅 시스템(900)은 버스(901)를 통해, 사용자에게 정보를 디스플레이하기 위해, 액정 디스플레이 혹은 액티브 매트릭스 디스플레이와 같은 디스플레이(911)에 결합될 수 있다. 문자·숫자 겸용 키들 및 그 외의 키들과 같은 입력 장치 (913)는 정보 및 커맨드 선택들을 프로세서(903)와 통신하도록 버스(901)에 결합될 수 있다. 입력 장치(913)는 방향 정보 및 커맨드 선택들을 프로세서(903)와 통신시키고 디스플레이(911) 상에서 커서의 이동을 제어하기 위해, 마우스, 트랙볼, 혹은 커서 방향 키와 같은 커서 제어부를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 도 2c의 프로세스는 주메모리(905) 내에 포함된 명령어들의 배열을 실행하는 프로세서(903)에 대한 응답으로 컴퓨팅 시스템(900)에 의해 제공될 수 있다. 그러한 명령어들은 저장 장치(909)와 같은 또 다른 컴퓨터-판독가능한 매체로부터 주메모리(905) 내로 판독될 수 있다. 주메모리(905)에 포함된 명령어들의 배열의 실행으로 프로세서(903)는 본 명세서에 설명된 프로세스 단계들을 수행하게 된다. 멀티-프로세싱 구조 내의 하나 이상의 프로세서들 역시 주메모리(905)에 포함된 명령어들을 수행하는데 이용될 수 있다. 대안적인 실시예에 있어서, 배선에 의해 접속된(hard-wired) 회로는 본 발명의 실시예를 구현하기 위해 소프트웨어 명령어들 대신 혹은 그와의 조합으로 사용될 수 있다. 다른 예에서, FPGAs(Field Programmable Gate Arrays)와 같은 재구성 가능한 하드웨어가 사용될 수 있고, 여기서, 그 논리 게이트들의 기능 및 접속 토폴로지는 통상적으로 메모리 룩업 테이블을 프로그래밍함으로써, 실행-시간에 사용자 지정 가능할 수 있다(customizable). 따라서, 본 발명의 실시예들은 임의의 특정한 조합의 하드웨어 회로 및 소프트웨어에 한정되지 않는다.
컴퓨팅 시스템(900)은 또한 버스(901)에 결합된 적어도 하나의 통신 인터페이스(915)를 포함한다. 통신 인터페이스(915)는 네트워크 링크(도시되지 않음)에 결합하는 양방향 데이터 통신을 제공한다. 통신 인터페이스(915)는 다양한 유형의 정보를 나타내는 디지털 데이터 스트림을 전달하는 전기적, 전자기적, 또는 광학적 신호들을 송수신한다. 또한, 통신 인터페이스(915)는 USB(Universal Serial Bus) 인터페이스, PCMCIA(Personal Computer Memory Card International Association) 인터페이스 등과 같은 주변 인터페이스 장치를 포함할 수 있다.
프로세서(903)는 통신 인터페이스(915)를 통해 수신되는 코드를 실행하거나 및/또는 이후에 실행하기 위해 저장 장치(909) 또는 그 외의 불휘발성 저장장치에 코드를 저장할 수 있다. 이러한 방식으로, 컴퓨팅 시스템(900)은 반송파 형태로 애플리케이션 코드를 얻을 수 있다.
여기서 사용된 "컴퓨터 판독가능한 매체"라는 용어는 실행을 위해 프로세서(903)에 명령어를 제공하는 것에 참여하는 임의의 매체를 칭한다. 그러한 매체는 이에 한정되는 것은 아니지만, 불휘발성 매체, 휘발성 매체, 및 송신 매체를 포함하는 많은 형태를 취할 수 있다. 불휘발성 매체는, 예를 들어, 저장 장치(909)와 같은 광 디스크 또는 자기 디스크를 포함한다. 휘발성 매체는 주메모리(905)와 같은 동적 메모리를 포함한다. 송신 매체는 버스(901)를 포함하는 배선을 포함하는, 동축 케이블, 구리 배선 및 광섬유를 포함한다. 송신 매체는 또한 무선 주파수(RF) 및 적외선(IR) 데이터 통신 동안 생성되는 것들과 같은, 음파, 광파, 또는 전자기파의 형태를 취할 수도 있다. 컴퓨터-판독가능한 매체의 일반적 형태는, 예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프, 기타의 자기 매체, CD-ROM, CDRW, DVD, 기타의 광 매체, 펀치 카드, 페이퍼 테이프, 광 마크 시 트, 홀의 패턴 또는 그 외에 광학적으로 인식 가능한 표시를 갖는 기타의 물리적 매체, RAM, PROM, 및 EPROM, FLASH-EPROM, 기타의 메모리 칩 혹은 카트리지, 반송파, 또는 컴퓨터가 판독할 수 있는 기타의 매체를 포함한다.
다양한 형태의 컴퓨터-판독가능한 매체는 실행을 위해 프로세서에 명령어들을 제공하는 것에 관여될 수도 있다. 예를 들어, 본 발명의 적어도 일부를 수행하기 위한 명령어들이 처음에는 원격 컴퓨터의 자기 디스크에서 산출되었을 수 있다. 그러한 시나리오에서, 원격 컴퓨터는 명령어들을 주메모리에 로드하고, 모뎀을 사용하여 전화선을 통해 그 명령어들을 송신한다. 로컬 시스템의 모뎀은 전화선 상의 데이터를 수신하고, 적외선 송신기를 사용하여 그 데이터를 적외선 신호로 변환하고, 그 적외선 신호를 PDA(personal digital assistant) 또는 랩탑과 같은 휴대용 컴퓨팅 장치에 송신한다. 휴대용 컴퓨팅 장치 상의 적외선 검출기는 적외선 신호에 의해 나온 정보 및 명령어들을 수신하고, 그 데이터를 버스 상에 놓는다. 버스는 프로세서가 명령어들을 검색하고 실행하는 주메모리로 데이터를 운반한다. 주메모리에 의해 수신된 이 명령어들은 프로세서에 의한 실행 이전 혹은 이후에 저장 장치에 광학적으로 저장될 수 있다.
따라서, 본 발명의 다양한 실시예들은 LDPC 코딩된 신호로서 송신하기 위해, 패리티 비트 누산기의 어드레스를 지정하는 표 1에 따른 외부 BCH(Bose Chaudhuri Hocquenghem) 코드를 갖는 LDPC 코드를 생성하는 LDPC 인코더를 제공한다. 특히, 레이트 3/5 LDPC 코드에 대해서, 표 1의 코드 설계는 "변조되지 않은" 레이트 3/5 LDPC 코드에 관하여 감소된 메모리 요구를 제공한다. 상기 접근은 성능을 희생하지 않으면서 복잡성을 효과적으로 감소시킬 수 있다.
본 발명은 다수의 실시예 및 구현예와 관련하여 설명되었으나, 본 발명은 이에 한정되는 것이 아니고, 첨부된 청구항의 범위 내에서 다양한 명백한 수정 및 균등한 구성을 포함한다.

Claims (13)

  1. 정보 비트들을 수신하는 단계; 및
    Figure 112006070810310-pat00047
    (여기서, nldpc는 코드워드의 사이즈, kldpc는 정보 블록의 사이즈, m은 특정 정보 비트에 대응하는 정수, q는 코드 레이트, x는 아래의 테이블에 의해 지정되는 패리비 비트 누산기의 주소를 나타냄)에 따른 패리티 비트 어드레스들에서 상기 정보 비트들을 축적함으로써, 상기 정보 비트들에 기초하여 3/5의 코드 레이트에 따른 LDPC(Low Density Parity Check) 코드의 패리티 비트들을 생성하는 단계
    를 포함하는 인코딩 방법.
    Figure 112006070810310-pat00028
    Figure 112006070810310-pat00029
    Figure 112006070810310-pat00030
    .
  2. 제1항에 있어서,
    상기 생성된 패리티 비트들 및 상기 수신된 정보 비트들에 기초하여 LDPC 코딩된 신호를 출력하는 단계;
    상기 LDPC 코딩된 신호를 변조하는 단계; 및
    상기 변조된 신호를 전송하는 단계
    를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 변조 신호는 광역 위성 애플리케이션을 지원하는 위성 링크를 통해 전송되는 방법.
  4. 제2항에 있어서,
    상기 변조 단계는 8-PSK(Phase Shift Keying), 16-QAM(Quadrature Amplitude Modulation), QPSK(Quadrature Phase Shift Keying), 16-APSK(Amplitude Phase Shift Keying) 또는 32-APSK 중 하나를 포함하는 신호 성상도(signal constellation)에 따라 수행되는 방법.
  5. 인코딩을 위한 명령어들을 저장하는 컴퓨터 판독가능한 매체로서,
    상기 명령어들은, 실행시에, 프로세서로 하여금 제1항의 방법을 수행하도록 구성된 컴퓨터 판독가능한 매체.
  6. 인코더에 있어서,
    정보 비트들을 수신하는 수단; 및
    Figure 112006070810310-pat00048
    (여기서, nldpc는 코드워드의 사이즈, kldpc는 정보 블록의 사이즈, m은 특정 정보 비트에 대응하는 정수, q는 코드 레이트, x는 각각의 테이블들에 의해 지정되는 패리비 비트 누산기의 주소를 나타냄)에 따른 패리티 비트 어드레스들에서 상기 정보 비트들을 축적함으로써, 상기 정보 비트들에 기초하여, 복수의 코드 레이트 중 하나에 따른 LDPC(Low Density Parity Check) 코딩된 신호로서 전송하기 위해 외부 BCH(Bose Chaudhuri Hocquenghem) 코드를 갖는 LDPC 코드를 생성하는 수단
    을 포함하는 인코더.
    Figure 112006070810310-pat00049
    Figure 112006070810310-pat00050
    Figure 112006070810310-pat00051
  7. 제6항에 있어서,
    LDPC 코딩된 신호는 상기 생성된 LDPC 코드에 기초하여 생성되고, 상기 LDPC 코딩된 신호는 변조되고 위성 링크를 통해 전송되는 인코더.
  8. 제7항에 있어서,
    상기 변조 신호는 광역 위성 애플리케이션을 지원하는 인코더.
  9. 제7항에 있어서,
    상기 변조 단계는 8-PSK(Phase Shift Keying), 16-QAM(Quadrature Amplitude Modulation), QPSK(Quadrature Phase Shift Keying), 16-APSK(Amplitude Phase Shift Keying) 또는 32-APSK 중 하나를 포함하는 신호 성상도에 따라 수행되는 인코더.
  10. 수신된 정보 비트들에 기초하여 LDPC 코드를 출력하도록 구성된 LDPC 인코더; 및
    상기 LDPC 인코더에 연결되고, 상기 LDPC 코드에 대해 외부 코드를 제공하도록 구성된 BCH 인코더 - 상기 LDPC 코드는
    Figure 112006070810310-pat00052
    (여기서, nldpc는 코드워드의 사이즈, kldpc는 정보 블록의 사이즈, m은 특정 정보 비트에 대응하는 정수, q는 코드 레이트, x는 아래의 테이블에 의해 지정되는 패리비 비트 누산기의 주소를 나타냄)에 따른 패리티 비트 어드레스들에서 상기 정보 비트들을 축적함으로써, 3/5의 코드 레이트에 따라 생성됨 -
    를 포함하는 인코딩용 장치
    Figure 112006070810310-pat00034
    Figure 112006070810310-pat00035
    Figure 112006070810310-pat00036
    .
  11. 제10항에 있어서,
    상기 LDPC 코딩된 신호를 변조하도록 구성된 변조기를 더 포함하는 장치.
  12. 제11항에 있어서,
    상기 변조 신호는 광역 위성 애플리케이션을 지원하는 위성 링크를 통해 전송되는 장치.
  13. 제11항에 있어서,
    상기 변조는 8-PSK(Phase Shift Keying), 16-QAM(Quadrature Amplitude Modulation), QPSK(Quadrature Phase Shift Keying), 16-APSK(Amplitude Phase Shift Keying) 또는 32-APSK 중 하나를 포함하는 신호 성상도에 따라 수행되는 장치.
KR1020040086312A 2003-10-27 2004-10-27 감소된 메모리 ldpc 코드를 제공하는 방법 및 장치 KR100695380B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51468003P 2003-10-27 2003-10-27
US60/514,680 2003-10-27

Publications (2)

Publication Number Publication Date
KR20050040770A KR20050040770A (ko) 2005-05-03
KR100695380B1 true KR100695380B1 (ko) 2007-03-15

Family

ID=34421823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040086312A KR100695380B1 (ko) 2003-10-27 2004-10-27 감소된 메모리 ldpc 코드를 제공하는 방법 및 장치

Country Status (7)

Country Link
US (2) US7234098B2 (ko)
EP (1) EP1528687A1 (ko)
JP (1) JP4109241B2 (ko)
KR (1) KR100695380B1 (ko)
CN (1) CN100341264C (ko)
CA (1) CA2486044C (ko)
HK (1) HK1078697A1 (ko)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7864869B2 (en) 2002-07-26 2011-01-04 Dtvg Licensing, Inc. Satellite communication system utilizing low density parity check codes
US7334181B2 (en) * 2003-09-04 2008-02-19 The Directv Group, Inc. Method and system for providing short block length low density parity check (LDPC) codes
US7376883B2 (en) * 2003-10-27 2008-05-20 The Directv Group, Inc. Method and system for providing long and short block length low density parity check (LDPC) codes
CN101341659B (zh) * 2004-08-13 2012-12-12 Dtvg许可公司 用于多输入多输出通道的低密度奇偶校验码的码设计与实现的改进
CN100348048C (zh) * 2005-09-23 2007-11-07 清华大学 不规则ldpc码对mpeg-2ts分级不等错误保护方法
US7844877B2 (en) * 2005-11-15 2010-11-30 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
US7810015B2 (en) 2005-11-28 2010-10-05 Stmicroelectronics Sa Decoding with a concatenated error correcting code
CN100499378C (zh) * 2006-05-26 2009-06-10 清华大学 采用可变范围均匀量化的低密度奇偶校验码译码方法
US8689092B2 (en) 2006-09-18 2014-04-01 Availink, Inc. Family of LDPC codes for video broadcasting applications
KR100808664B1 (ko) 2006-12-08 2008-03-07 한국전자통신연구원 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치
US8583981B2 (en) * 2006-12-29 2013-11-12 Marvell World Trade Ltd. Concatenated codes for holographic storage
US8065598B1 (en) 2007-02-08 2011-11-22 Marvell International Ltd. Low latency programmable encoder with outer systematic code and low-density parity-check code
US20100122143A1 (en) 2007-03-27 2010-05-13 Hughes Network Systems, Llc Method and system for providing low density parity check (ldpc) coding for scrambled coded multiple access (scma)
US8196010B1 (en) 2007-08-17 2012-06-05 Marvell International, Ltd. Generic encoder for low-density parity-check (LDPC) codes
US8832518B2 (en) * 2008-02-21 2014-09-09 Ramot At Tel Aviv University Ltd. Method and device for multi phase error-correction
SI2254249T1 (sl) * 2008-03-03 2015-10-30 Rai Radiotelevisione Italiana (S.P.A.) Vzorci permutacije bitov za modulacijo, kodirano z LDPC, in konstelacije 16QAM
CN101242188B (zh) * 2008-03-10 2011-05-11 清华大学 基于哈密尔顿图的低密度奇偶校验码的纠错编码方法
US8130228B2 (en) * 2008-06-13 2012-03-06 International Business Machines Corporation System and method for processing low density parity check codes using a deterministic caching apparatus
US8370711B2 (en) 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
EP2178215A1 (en) * 2008-10-16 2010-04-21 Thomson Licensing Method for error correction and error detection of modified array codes
US8219873B1 (en) 2008-10-20 2012-07-10 Link—A—Media Devices Corporation LDPC selective decoding scheduling using a cost function
US8225166B2 (en) * 2009-02-09 2012-07-17 Mediatek Inc. Signal processing apparatus for setting error indication information according error detection result of outer-code decoder output and related method thereof
JP5502363B2 (ja) * 2009-04-28 2014-05-28 三菱電機株式会社 光伝送装置および光伝送方法
JP5881930B2 (ja) * 2009-05-13 2016-03-09 三菱電機株式会社 誤り訂正符号化装置および誤り訂正復号装置
US9252813B2 (en) 2009-05-27 2016-02-02 Novelsat Ltd. Iterative decoding of LDPC codes with iteration scheduling
US8375278B2 (en) * 2009-07-21 2013-02-12 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8516351B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US9397699B2 (en) 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured codes
US8516352B2 (en) * 2009-07-21 2013-08-20 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
WO2011092532A1 (en) 2010-01-28 2011-08-04 Sandisk Il Ltd. Sliding-window error correction
US8402341B2 (en) * 2010-02-18 2013-03-19 Mustafa Eroz Method and system for providing low density parity check (LDPC) encoding and decoding
US8782489B2 (en) 2010-02-18 2014-07-15 Hughes Network Systems, Llc Method and system for providing Low Density Parity Check (LDPC) encoding and decoding
CN102859885B (zh) 2010-04-09 2015-10-07 Sk海尼克斯存储技术公司 Ldpc选择性解码调度的实现
JP5500379B2 (ja) * 2010-09-03 2014-05-21 ソニー株式会社 データ処理装置、及びデータ処理方法
JP5505725B2 (ja) * 2010-09-16 2014-05-28 ソニー株式会社 データ処理装置、及びデータ処理方法
US8879640B2 (en) 2011-02-15 2014-11-04 Hong Kong Applied Science and Technology Research Institute Company Limited Memory efficient implementation of LDPC decoder
TWI562560B (en) * 2011-05-09 2016-12-11 Sony Corp Encoder and encoding method providing incremental redundancy
EP2536030A1 (en) * 2011-06-16 2012-12-19 Panasonic Corporation Bit permutation patterns for BICM with LDPC codes and QAM constellations
US8972834B2 (en) 2012-08-28 2015-03-03 Hughes Network Systems, Llc System and method for communicating with low density parity check codes
US9264182B2 (en) 2012-09-13 2016-02-16 Novelsat Ltd. Iterative receiver loop
CN103095311B (zh) * 2013-01-17 2016-02-10 上海交通大学 多进制ldpc码的协作译码方法
US9203440B1 (en) * 2013-01-29 2015-12-01 Xilinx, Inc. Matrix expansion
MX2014011863A (es) * 2013-02-08 2014-11-03 Sony Corp Dispositivo de procesamiento de datos y metodo de procesamiento de datos.
CA2899822C (en) * 2013-02-08 2023-01-17 Sony Corporation Data processing device and data processing method
EP2955853A4 (en) * 2013-02-08 2016-08-24 Sony Corp DATA PROCESSING DEVICE AND DATA PROCESSING METHOD
CN104969477B (zh) * 2013-02-08 2019-06-04 索尼公司 数据处理装置和数据处理方法
WO2014123017A1 (ja) 2013-02-08 2014-08-14 ソニー株式会社 データ処理装置、及びデータ処理方法
US9294131B2 (en) 2013-02-10 2016-03-22 Hughes Network Systems, Llc Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems
US9246634B2 (en) 2013-02-10 2016-01-26 Hughes Network Systems, Llc Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems
US8887024B2 (en) 2013-02-10 2014-11-11 Hughes Network Systems, Llc Apparatus and method for improved modulation and coding schemes for broadband satellite communications systems
US9203431B2 (en) 2013-03-15 2015-12-01 Hughes Networks Systems, Llc Low density parity check (LDPC) encoding and decoding for small terminal applications
KR102104937B1 (ko) 2013-06-14 2020-04-27 삼성전자주식회사 Ldpc 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법
RU2013128346A (ru) * 2013-06-20 2014-12-27 ИЭмСи КОРПОРЕЙШН Кодирование данных для системы хранения данных на основе обобщенных каскадных кодов
US9553610B2 (en) 2013-09-11 2017-01-24 Samsung Electronics Co., Ltd. Transmitter, receiver, and signal processing method thereof
KR102212425B1 (ko) 2013-09-11 2021-02-05 삼성전자주식회사 송신 장치, 수신 장치 및 그들의 신호 처리 방법
CN104518846B (zh) * 2013-09-29 2018-02-13 中国科学院上海高等研究院 基于bch码与长ldpc码级联的信令编码方法及系统
CN103957015B (zh) * 2014-05-12 2017-02-01 福州大学 用于ldpc码解码的非均匀量化编码方法及其在解码器的应用
TWI557747B (zh) * 2015-02-13 2016-11-11 瑞昱半導體股份有限公司 記憶體控制模組與方法以及錯誤更正碼編/解碼電路與方法
CN111835463B (zh) * 2015-03-02 2023-04-14 三星电子株式会社 发送器及其分割方法
EP3365108A4 (en) * 2015-10-22 2018-10-17 Illumina, Inc. Filler fluid for fluidic devices
CN106502590A (zh) * 2016-10-24 2017-03-15 郑州云海信息技术有限公司 一种固态硬盘ssd存储系统及方法
KR20180071917A (ko) * 2016-12-20 2018-06-28 삼성전자주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
US11223372B2 (en) 2019-11-27 2022-01-11 Hughes Network Systems, Llc Communication throughput despite periodic blockages
US11838127B2 (en) 2022-03-11 2023-12-05 Hughes Network Systems, Llc Adaptive satellite communications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020042899A1 (en) 2000-06-16 2002-04-11 Tzannes Marcos C. Systems and methods for LDPC coded modulation
US20030104788A1 (en) 2001-09-01 2003-06-05 Sungwook Kim Decoding architecture for low density parity check codes
KR20040004162A (ko) * 2002-07-03 2004-01-13 휴우즈 일렉트로닉스 코오포레이션 Ldpc 코드를 디코딩하기 위한 방법 및 시스템
KR20040010116A (ko) * 2002-07-26 2004-01-31 휴우즈 일렉트로닉스 코오포레이션 저밀도 패리티 검사 코드 생성 방법 및 시스템

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2335001A (en) * 1999-12-20 2001-07-03 Research In Motion Limited Hybrid automatic repeat request system and method
US20020051501A1 (en) * 2000-04-28 2002-05-02 Victor Demjanenko Use of turbo-like codes for QAM modulation using independent I and Q decoding techniques and applications to xDSL systems
WO2002099976A2 (en) * 2001-06-06 2002-12-12 Seagate Technology Llc A method and coding apparatus using low density parity check codes for data storage or data transmission
US6633856B2 (en) * 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6789227B2 (en) * 2001-07-05 2004-09-07 International Business Machines Corporation System and method for generating low density parity check codes using bit-filling
US6895547B2 (en) * 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
CN1185796C (zh) * 2002-11-15 2005-01-19 清华大学 改进的非规则低密度奇偶校验码纠错译码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020042899A1 (en) 2000-06-16 2002-04-11 Tzannes Marcos C. Systems and methods for LDPC coded modulation
US20030104788A1 (en) 2001-09-01 2003-06-05 Sungwook Kim Decoding architecture for low density parity check codes
KR20040004162A (ko) * 2002-07-03 2004-01-13 휴우즈 일렉트로닉스 코오포레이션 Ldpc 코드를 디코딩하기 위한 방법 및 시스템
KR20040010116A (ko) * 2002-07-26 2004-01-31 휴우즈 일렉트로닉스 코오포레이션 저밀도 패리티 검사 코드 생성 방법 및 시스템

Also Published As

Publication number Publication date
JP4109241B2 (ja) 2008-07-02
US7770089B2 (en) 2010-08-03
CN1642063A (zh) 2005-07-20
CA2486044A1 (en) 2005-04-27
US20050091565A1 (en) 2005-04-28
KR20050040770A (ko) 2005-05-03
CA2486044C (en) 2008-05-06
HK1078697A1 (en) 2006-03-17
EP1528687A1 (en) 2005-05-04
CN100341264C (zh) 2007-10-03
US20070226578A1 (en) 2007-09-27
US7234098B2 (en) 2007-06-19
JP2005136990A (ja) 2005-05-26

Similar Documents

Publication Publication Date Title
KR100695380B1 (ko) 감소된 메모리 ldpc 코드를 제공하는 방법 및 장치
KR100686660B1 (ko) 긴 블록 길이 ldpc 부호 및 짧은 블록 길이 ldpc 부호를 제공하는 방법 및 시스템
KR100683084B1 (ko) 저밀도 패리티 검사 부호화 신호의 전송을 지원하는 방법,인코더 및 송신기
JP3917617B2 (ja) ショートブロック長の低密度パリティチェック(ldpc)コードを提供する方法およびシステム
EP1518328B1 (en) Encoding of low-density parity check (ldpc) codes using a structured parity check matrix
KR100574306B1 (ko) Ldpc 코드를 디코딩하기 위한 방법 및 시스템
US20080065947A1 (en) Method and system for decoding low density parity check (ldpc) codes
JP2004064757A (ja) 低密度のパリティチェックコードを使用する衛星通信システム
KR20040010116A (ko) 저밀도 패리티 검사 코드 생성 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160225

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181227

Year of fee payment: 13