KR20070029843A - 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치 - Google Patents

데이터를 인코딩 및 디코딩하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20070029843A
KR20070029843A KR1020077003364A KR20077003364A KR20070029843A KR 20070029843 A KR20070029843 A KR 20070029843A KR 1020077003364 A KR1020077003364 A KR 1020077003364A KR 20077003364 A KR20077003364 A KR 20077003364A KR 20070029843 A KR20070029843 A KR 20070029843A
Authority
KR
South Korea
Prior art keywords
code
model matrix
parity
shift
matrix
Prior art date
Application number
KR1020077003364A
Other languages
English (en)
Other versions
KR100875613B1 (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
Priority claimed from US11/070,129 external-priority patent/US7203897B2/en
Application filed by 모토로라 인코포레이티드 filed Critical 모토로라 인코포레이티드
Publication of KR20070029843A publication Critical patent/KR20070029843A/ko
Application granted granted Critical
Publication of KR100875613B1 publication Critical patent/KR100875613B1/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
    • 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • 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/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/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
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • 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
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • 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/65Purpose and implementation aspects
    • H03M13/6569Implementation on processors, e.g. DSPs, or software implementations

Landscapes

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

Abstract

패리티 체크 비트들(403)은 수신된 정보(401)를 위하여 계산된다. 기본 모델 매트릭스(403)는 각각의 코드 레이트의 가장 긴 코드 길이에 대하여 정의된다. 기본 모델 매트릭스(403)에서 시프트들{p(i,j)}의 세트는 동일한 코드 레이트를 가진 모든 다른 코드 길이들에 대하여 시프트 크기들을 결정하기 위하여 사용된다. 확장 인자 zf에 대응하는 코드 크기에 대한 시프트 크기들 {p(f,i,j)}는 p(i,j)를 비례적으로 스케일링함으로서 {p(i,j)}로부터 유도되며, {p(f,i,j)}에 의한 모델 매트릭스는 f-번째 코드에 대한 패리티-체크 비트들(403)을 결정하기 위하여 사용된다.
인코딩, 디코딩, 송신기, 패리티-체크

Description

데이터를 인코딩 및 디코딩하기 위한 방법 및 장치{Method and apparatus for encoding and decoding data}
본 발명은 일반적으로 데이터를 인코딩 및 디코딩하는 것에 관한 것이며, 특히 저밀도 패리티-체크(LDPC) 코드들을 이용하여 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치에 관한 것이다.
저밀도 패리티-체크(LDPC) 코드는 패리티-체크 매트릭스 H에 의하여 특정된 선형 블록 코드이다. 일반적으로, LDPC 코드는 갈루아 필드(Galois field) GF(q)에 대하여 정의되며, 여기서 q≥2이다. 만일 q=2이면, 코드는 2진 코드이다. 모든 선형 블록 코드들은 n-비트 코드워드 x1×n를 생성하기 위하여 코드 생성기 매트릭스 Gk ×n와 k-비트 정보 벡터 s1 ×k의 곱으로서 기술될 수 있으며, 여기서 코드 레이트는 r=k/n이다. 코드워드 x는 잡음 채널을 통해 전송되며, 수신된 신호 벡터 y는 정보 벡터 s1 ×k를 추정하기 위하여 디코더에 전송된다.
n-차 공간이 주어질때, G의 행들은 k-차 코드워드 서브공간 C에 걸쳐 있으며, 패리티-체크 매트릭스 Hm ×n의 행들은 m-차 이중 공간
Figure 112007012799335-PCT00001
에 걸쳐 있으며, 여기 서 m=n-k이다. x=sG 이고 GHT=0이기 때문에, 서브공간 C의 모든 코드워드들에 대하여 xHT=0이며, 여기서 "T"(또는
Figure 112007012799335-PCT00002
)는 매트릭스 전치를 나타낸다. LDPC 코드들의 논의에서, 이는 일반적으로 다음과 같이 쓰여진다.
Figure 112007012799335-PCT00003
(1)
여기서, O은 모든 제로들(zero)의 행 벡터이며, 코드워드 x=[s p]=[s0, s1, ..., sk -1, p0, p1,...,pm -1]이며, 여기서 p0,...,pm - 1는 패리티-체크 비트들이며, s0,...,sk-1는 정보 블록내의 정보 비트들과 동일한 시스템 비트들이다.
LDPC 코드에 대해, H에서 넌제로 엔트리(non-zero entries)들의 밀도는 낮으며, 즉 H에서 낮은 비율의 1의 보수가 존재하며 이에 따라 에러-정정 성능이 양호해지고 조밀 H를 사용하는 것보다 더 단순하게 디코딩된다. 패리티-체크 매트릭스는 이분 그래프(bipartite graph)에 의하여 기술될 수 있다. 이분 그래프는 코드의 그래픽 설명 뿐만아니라 디코더에 대한 모델이다. 이분 그래프에서, 코드워드 비트(H의 각각의 열)는 좌측의 가변 노드에 의하여 표현되며, 각각의 패리티-체크 수식(H의 각각의 행)은 우측의 체크 노드에 의하여 표현된다. 각각의 가변 노드는 H의 열에 대응하며, 각각의 체크 노드는 H의 행에 대응하며, "가변 노드" 및 H의 "열"은 "체크 노드" 및 H의 "행"으로 상호 교환하여 사용될 수 있다. 가변 노드들은 체크 노드들에만 접속되며, 체크 노드들은 가변 노드들에만 접속된다. n 코드 워드 비트들 및 m 패리티 비트들을 가진 코드에 대하여, 가변 노드
Figure 112007012799335-PCT00004
는 코드워드 비트 j가 체크 수식 i에 관여하는 경우에 에지에 의하여 체크 코드 ci에 접속되며, 여기서 i = 0, 1, ..., m-1이고, j = 0, 1, ..., n-1이다. 다시 말해서, 가변 노드 j는 패리티-체크 매트릭스 H의 엔트리 hij가 1인 경우에 체크 노드에 접속된다. 미러링 수식(1)에서, 가변 노드들은 모든 체크 노드들이 짝수 패리티인 경우에 유효 코드워드를 나타낸다.
예는 패리티-체크 매트릭스, 패리티-체크 수식들, 및 이분 그래프간의 상호관계를 기술하는 것으로 이하에 도시된다. n=12이고 레이트-1/2 코드를 다음과 같이 정의하라.
Figure 112007012799335-PCT00005
(2)
여기서, 좌측 부분은 k(=6) 정보 비트 s에 대응하며, 우측 부분은 m(=6) 패리티 비트 p에 대응한다. (1)를 적용하면, (2)의 H는 다음같이 6개의 패리티-체크 수식들로 정의된다.
Figure 112007012799335-PCT00006
(3)
H는 또한 도 1에 도시된 대응하는 이분 그래프를 가진다.
양호한 유한 길이 LDPC 코드의 이분 그래프는 불가피하게 사이클들을 가진다. 길이 2d의 사이클(사이클-2d로 표시됨)은 d 가변 노드들 및 d 체크 노드들을 통과하는 2d 에지들의 경로이며, 임의의 에지를 반복하지 않고 그 자체에 각각의 노드를 접속한다. 짧은 사이클들, 특히 사이클-4는 반복 디코더(iterative decoder)의 성능을 감소시키며 보통 코드 설계시에 제외된다.
코드 크기가 크게 될때, 랜덤하게 구성된 LDPC 코드를 인코딩 및 디코딩하는 것은 곤란하다. 큰 m×n 의사-랜덤(pseudo-random) H 매트릭스를 직접 구성하는 대신에, 구조화된 LDPC 설계는 작은 mb×nb 기본 매트릭스 Hb와 함께 시작하며, Hb의 z 복사들을 생성하며, 큰 m×n H 매트릭스를 형성하기 위하여 z 복사들을 상호 접속하며, 여기서 m=mb×z, n=nb×z이다. 매트릭스 표현을 사용하면, Hb로부터 H를 형성하기 위하여, Hb의 각각의 1은 z×z 순열 서브매트릭스(permutation submatrix)에 의하여 대체되며, Hb의 각각의 0은 z×z 제로 서브매트릭스(all-zero submatrix)에 의하여 대체된다. 순열이 성능을 저하시키지 않고 매우 단순화될 수 있다는 것을 알 수 있다. 예컨대, 주어진 량만큼 식별 매트릭스의 열들을 순환방식으로 우 측으로 시프트시킴으로서 순열 서브매트릭스가 획득되는 단순한 순환 우측 시프트는 디코딩 성능을 저하시키지 않고 사용될 수 있다. 순환 좌측 시프트(x mod z) 시간이 순환 우측 시프트((z-x) mod z) 시간과 동일하기 때문에, 본 발명은 단지 순환 우측 시프트를 논의하는 것이며 간명화를 위하여 순환 우측 시프트를 순환 시프트로서 언급한다. 이러한 제약사항으로, 각각의 H 매트릭스는 z×z 제로 매트릭스를 표시하기 위하여 Hb의 각각의 hij=0을 p(i,j) = -1로 대체하고 Hb의 각각의 hij=1를 순환 시프트 크기 p(i,j)≥0으로 대체함으로서 획득되는 mb×nb 모델 매트릭스 Hbm에 의하여 고유하게 표현될 수 있다.
따라서, 확장형 매트릭스 H를 사용하는 대신에, 코드는 모델 매트릭스 Hbm에 의하여 고유하게 정의된다. 인코딩 및 디코딩 둘다는 훨씬 작은 mb×nb Hbm에 및 비트들의 벡터에 기초하여 수행될 수 있으며, 각각의 벡터는 크기 z을 가진다.
이러한 절차는 H에서 크기 z의 벡터 에지(Hbm의 p(i,j)에 의하여 표현됨)에 Hb의 각각의 에지를 매핑시키고 H에서 길이 z의 벡터 가변 노드(Hbm의 열에 대응함)에 Hb의 각각의 가변 노드를 매핑시키며, H에서 길이 z의 벡터 체크 노드(Hbm의 행에 대응함)에 Hb의 각각의 체크 노드를 매핑시킨다. 구조화된 설계에 있어서, 랜덤성(randomness)은 두개의 스테이지들, 즉 (a) 의사-랜덤 기본 매트릭스 Hb 및 (b) 각각의 벡터 에지내에서 에지들의 의사-랜덤 시프트를 통해 H에 형성된다. 구조화 된 설계의 저장 및 처리 복잡성은 랜덤화의 양 스테이지가 매우 단순하기 때문에 낮다.
종종, IEEE 802.16에 규정된 것과 같은 시스템은 크기(nf, kf)의 코드들의 집합에 대하여 에러-정정 코드들을 제공하는데 필요하며, 이 집합내의 모든 코드들은 동일한 코드 레이트 R=kf/nf 및 기본 크기로부터 스케일링된 코드 크기, nf=zf×nb, kf=zf×kb(여기서, f=0, 1, ..., fmax)가지며, 또한 (fmax+1)은 코드 집합내의 전체 멤버의 수이며, zf는 집합내의 f번째 코드에 대한 확장 인자이다. 이들 시스템들에 대하여, 하나의 기본 매트릭스 Hb 및 적절한 zf의 세트로부터 모든 (nf, kf)에 대한 코드들을 유도하는 것이 가능하다. p(f, i, j)가 확장 인자 zf의 f-번째 모델 매트릭스 Hbm(f)내의 위치(i,j)에 배치된 벡터 에지의 시프트 크기를 가지도록 한다. 따라서, 시프트 크기들의 세트 {p(f, i, j)} 및 모델 매트릭스 Hbm(f)는 상호교환 가능한 것으로 참고될 수 있다.
그러나, 각각의 Hbm(f)에 대하여 시프트 크기들 p(f, i, j)를 정의하는 방법이 명확하지 않다. 코드들의 집합을 정의하기 위한 한 방법은 모든 주어진 f와 무관하게 기본 매트릭스 Hb 및/또는 p(f, i, j)(여기서, 0≤i≤m-1, 0≤j≤n-1)를 탐색하는 것이다. 그러나, 이러한 방법은 Hb 및/또는 p(f, i, j)(0≤i≤m-1, 0≤j≤n-1)가 모든 f에 대하여 특정 및 저장될 것을 요구한다.
Hb가 LDPC 디코더의 기본 구조 및 메시지 상호접속을 정의하기 때문에, 집합내의 모든 코드들에 대하여 Hb를 재사용하는 것이 바람직하다. 동일한 Hb가 집합내의 모든 코드들에 의하여 공유될때,
Figure 112007012799335-PCT00007
Hb의 엔트리 (i,j)가 0일때 시프트 크기 p(f, i, j) = -1이다. 시프트 크기 p(f, i, j) = -1는 2진 패리티-체크 매트릭스 H(f)로 확장할때 모델 매트릭스 Hbm(f)의 엔트리(i, j)를 대체하기 위하여 사용되는 zf×zf 제로 서브매트릭스를 표시하기 위하여 사용된다. 만일 Hb의 엔트리(i, j)가 0이면, p(f, i, j)는 임의의 f에 대하여 동일하며, 즉 p(f, i, j) ≡ -1이다. "-1"은 제로 서브매트릭스에 대한 라벨이고 음의 정수가 아닌 임의의 다른 라벨은 균등하게 "-2" 또는 "∞"로 사용될 수 있다는 것에 유의해야 한다.
Figure 112007012799335-PCT00008
Hb의 엔트리 (i,j)가 1일때 시프트 크기 p(f, i, j)≥0이다. 시프트 크기 p(f, i, j)≥0는 p(f, i, j) 열들에 의하여 순환 우측 시프트된 zf×zf 식별 서브매트릭스를 표시하기 위하여 사용된다. 서브매트릭스는 2진 패리티-체크 매트릭스 H(f)를 확장할때 모델 매트릭스 Hbm(f)의 엔트리(i,j)를 대체하기 위하여 사용된다. p(f, i, j)의 값은 다른 f에 대하여 다를 수 있으며, 즉 Hbm(f)의 엔트리(i, j)는 다른 f에 대하여 다를 수 있다.
비음수 p(f, i, j)의 값에 대해서는 임의의 zf에 대하여 p(f, i, j)=p(i,j) mod zf를 사용하는 것이 제안되었으며, 여기서 시프트 크기들 {p(i,j)}의 세트는 모든 zf에 대하여 동일하다. 따라서, {p(i,j)}의 한 세트만이 특정될 필요가 있으며, 이는 다른 zf의 코드들을 구현하기 위한 복잡성을 잠재적으로 감소시킨다. 그러나, 모듈로 연산의 효과로 인하여, 하나의 zf에 대한 불량한 사이클 패턴들을 방지하도록 설계된 {p(i,j)}의 세트는 다른 zf에 대하여 다수의 사이클들 및 낮은 가중 코드워드들을 야기할 수 있으며, 이로 인하여 일부 (nf, kf)에 대하여 에러-정정 성능을 저하시킨다.
따라서, 모든 코드 크기들(nf, kf)에 대하여 요구된 코드 특성들을 유지하면서 {p(i,j)}의 한 세트로부터 시프트 크기들 {p(f, i, j)}을 유도하기 위한 방법에 대한 필요성이 요구된다.
도 1은 (12, 6) H 매트릭스의 이분 그래프.
도 2는 인코더의 블록도.
도 3은 디코더의 블록도.
도 4는 도 2의 인코더의 동작을 기술한 흐름도.
도 5는 도 3의 디코더의 동작을 기술한 흐름도.
전술한 필요성을 충족시키기 위하여, 기본 모델 매트릭스는 각각의 코드 레이트의 가장 긴 코드 길이에 대하여 정의된다. 기본 모델 매트릭스에서 시프트들 {p(i,j)}의 세트는 동일한 코드 레이트의 모든 다른 코드 길이들에 대한 시프트 크기들을 결정하기 위하여 사용된다. 확장 인자 zf에 대응하는 코드 크기에 대한 시프트 크기들{p(f, i, j)}은 p(i, j)를 비례적으로 스케일링함으로서 {p(i, j)}로부터 유도되며, {p(f, i, j)}에 의하여 정의된 모델 매트릭스는 f-번째 코드에 대한 패리티-체크 비트들을 결정하기 위하여 사용된다.
본 발명은 정보 블록에 기초하여 패리티-체크 비트들을 생성하는 송신기를 동작시키기 위한 방법을 포함한다. 본 방법은 가장 긴 코드 길이에 대하여 시프트 크기들 p(i,j)의 세트를 가진 기본 모델 매트릭스를 정의하는 단계, 및 시프트 크기들 p(i,j)의 세트에 기초하여 모든 다른 코드 길이들에 대하여 시프트 크기들 p(f,i,j)를 결정하는 단계를 포함하며, 여기서 f는 코드 길이들, p(f,i,j)=F(p(i,j), z0/zf)의 인덱스이며, z0는 가장 긴 코드 길이의 확장 인자이며, zf는 f-번째 코드 길이의 확장 인자이다. 정보 블록은 수신되며, 모델 매트릭스는 패리티-체크 비트들을 결정하기 위하여 사용된다. 모델 매트릭스는 p(f,i,j)에 의하여 정의된다.
본 발명은 부가적으로 가장 긴 길이에 대하여 시프트 크기들 p(i,j)의 세트를 가진 기본 모델 매트릭스를 저장하기 위한 저장 수단을 포함하는 장치를 포함한다. 장치는 부가적으로 정보 블록
Figure 112007012799335-PCT00009
및 기본 모델 매트릭스를 수 신하는 마이크로프로세서를 포함한다. 마이크로프로세서는 시프트 크기들 p(i,j)의 세트에 기초하여 모든 다른 코드 길이들의 시프트 크기들 p(f,i,j)를 결정하며, 여기서 f는 코드 길이들, p(f,i,j)=F(p(i,j), z0/zf)의 인덱스이며, z0는 가장 긴 코드 길이의 확장 인자이며, zf는 f-번째 코드 길이의 확장 인자이다. 마이크로프로세서는 p(f,i,j)에 의하여 정의된 모델 매트릭스 및 정보 블록
Figure 112007012799335-PCT00010
에 기초하여 패리티-체크 비트들을 출력한다.
본 발명은 부가적으로 정보 블록
Figure 112007012799335-PCT00011
를 추정하는 수신기를 동작시키기 위한 방법을 포함한다. 본 방법은 신호 벡터를 수신하는 단계, 가장 긴 코드 길이에 대하여 시프트 크기들 p(i,j)의 세트를 가진 기본 모델 매트릭스를 정의하는 단계, 및 시프트 크기들 p(i,j)의 세트에 기초하여 모든 다른 코드 길이들에 대한 시프트 크기들 p(f,i,j)을 결정하는 단계를 포함하며, 여기서 f는 코드 길이들, p(f,i,j)=F(p(i,j), z0/zf)의 인덱스이며, z0는 가장 긴 코드 길이의 확장 인자이며, zf는 f-번째 코드 길이의 확장 인자이다. 정보 블록
Figure 112007012799335-PCT00012
은 p(f,i,j)에 의하여 정의된 모델 매트릭스 및 수신된 신호 벡터에 기초하여 추정된다.
최종적으로, 본 발명은 가장 긴 코드 길이에 대하여 시프트 크기들 p(i,j)의세트를 가진 기본 모델 매트릭스를 저장하는 저장 수단을 포함하는 장치를 포함한다. 본 장치는 부가적으로 신호 벡터를 수신하고 시프트 크기들 p(i,j)의 세트에 기초하여 모든 다른 코드 길이들에 대한 시프트 크기들 p(f,i,j)을 결정하는 디코더를 포함하며, 여기서 f는 코드 길이들, p(f,i,j)=F(p(i,j), z0/zf)의 인덱스이며, z0는 가장 긴 코드 길이의 확장 인자이며, zf는 f-번째 코드 길이의 확장 인자이다. 디코더는 p(f,i,j)에 의하여 정의된 모델 매트릭스 및 수신된 신호 벡터에 기초하여 정보 블록
Figure 112007012799335-PCT00013
에 대한 추정치를 출력한다.
확장형 매트릭스 H의 특성들이 기본 매트릭스 Hb 특성들 및 시프트 크기 p(i,j)와 밀접하게 관련된다. 시프트 크기들 p(i,j)의 임의의 바람직하지 않은 패턴들은 Hb의 사이클들 및 코드워드 패턴들을 보존하며, 허용가능하지 않는 에러-정정 성능을 유발하는 코드 설계의 의사-순환(quasi-cyclic) 성질로 인하여 확장형 매트릭스 H에서 상기 패턴들을 여러번 반복한다.
Hb가 임의의 가중-1 열을 가지지 않는 경우에 낮은 가중 코드워드들이 짧은 사이클들을 포함하기 때문에, 양호한 디코딩 성능을 달성하기 위하여 대상의 모든 코드 크기들(nf, kf)에 대하여 짧은 사이클들이 분할되도록 하는데 충분하다.
Hb의 사이클은 다음과 같은 조건이 만족되는 경우에 확장형 매트릭스(expanded matrix)에서 복제되는 것이 발견되었다.
만일 2c 에지들이 기본 매트릭스 Hb에서 길이 2c의 사이클을 형성하면, 대응하는 2c 벡터 에지들은 다음과 같은 수식이 만족되는 경우에 확장형 매트릭스 H에 서 길이 2c의 z 사이클들을 형성한다.
Figure 112007012799335-PCT00014
(4)
여기서, z은 확장 인자이며, p(i)는 모델 매트릭스 Hbm에서 에지 i의 순환 시프트 크기이며, 에지들 0, 1, 2, ..., 2c-1은(이러한 순서대로) Hb에 하나의 사이클을 형성한다.
하나의 zf 값에 대하여 수식(4)을 만족하는 것을 회피하는 시프트 크기들 {p(i,j)}의 고정 세트가 다른 zf 값에 대하여 수식(4)을 만족할 수 있는 반면에, 수식(4)의 선형성은 {p(i,j)}가 zf에 비례하여 스케일링하는 경우에 모든 zf에 대하여 고정세트가 수식(4)을 만족하는 것을 회피하는 것을 보여준다.
시프트 크기들 {p(i,j)}의 한 세트가 두개의 확장 인자들 z0 및 z1에 대하여 주어진 기본 매트릭스 Hb를 확장하기 위하여 사용된다는 것이 가정되며,
Figure 112007012799335-PCT00015
이다. 시프트 크기 세트
Figure 112007012799335-PCT00016
가 확장 인자 z0에 대하여 길이 2c의 사이클들을 회피한다고 가정하며,
Figure 112007012799335-PCT00017
(5)
그 다음에,
Figure 112007012799335-PCT00018
(6),
여기서, p(i)는 모델 매트릭스 Hbm(0)에서 에지 i의 순환 시프트 크기이며, 에지들 0, 1, 2, ..., 2c-1는(이 순서대로) Hb에서 하나의 사이클을 형성한다. 수식(6)은 스케일링된 시프트 크기들 {p(i, j)/α}가 확장 인자 z1에 대하여 사용되는 경우에 z1로부터 확장된 H 매트릭스가 길이 2c의 사이클들을 회피한다는 것을 나타낸다. 2c가 임의의 사이클 길이를 가질 수 있기 때문에, 스케일링된 시프트 크기들 {p(i, j)/α}를 사용하는 경우에 z1에 대하여 모든 사이클 타입들을 회피할 수 있고, 이는 z0에 대하여 세트 {p(i,j)}에 의하여 회피된다.
앞의 논의들은 스케일링후 시프트 크기들이 정수들이 되어야 하는 제한사항을 무시하였다. 예컨대, 플로링 함수(flooring function)
Figure 112007012799335-PCT00019
(x보다 작거나 또는 동일한 가장 큰 정수임), 실링 함수(ceiling function)
Figure 112007012799335-PCT00020
(x보다 크거나 또는 동일한 가장 작은 정수임) 또는 라운딩 함수(rounding function)
Figure 112007012799335-PCT00021
(적어도 x와 다른 정수임)는 정수를 획득하기 위하여 모든 p(i,j)/α에 대하여 수행되어야 한다. 일반적으로, z0에 대하여 시프트 크기들
Figure 112007012799335-PCT00022
이 주어지면, z1에 대한 시프트 크기는 p(i,j) 및 α의 함수 F(.)로서 유도될 수 있다.
Figure 112007012799335-PCT00023
(7)
예컨대, 만일 라운딩 함수가 수식(6)의 상부에 대하여 사용되고 z0에 대하여 설계된 시프트 크기들이 p(i,j)이면, z1에 적용된 시프트 크기들의 세트는 다음과 같다.
Figure 112007012799335-PCT00024
(8)
비록 정상적으로 모든 양(positive)의 p(i,j)가 스케일링될지라도, 수식(8)과 같은 스케일링은 단지 {p(i,j)}의 서브세트에 적용될 수 있다. 예컨대, 임의의 사이클들에서 포함되지 않는 것들은 스케일링될 필요가 없고 예컨대 그들이 존재하는 경우에 Hb의 가중-1 열들의 에지들이지 않아야 한다. 함수 F(.)의 정의에 따르면 그리고 스케일링이 모든 비음수 p(i,j)에 적용되면, Hbm(0) 및 Hbm(1)의 기본 매트릭스는 동일하거나 또는 동일하지 않다.
앞의 분석은 시스템이 두개 이상의 확장 인자들을 필요로하는 경우에 p(f, i, j)를 구하기 위하여 용이하게 적용된다. 이러한 경우에, 가장 긴 코드 길이에 대하여 시프트 크기들 p(0, i, j)의 세트를 가진 마더(mother) 모델 매트릭스(소위 기본 모델 매트릭스라 칭함) Hbm(0)가 정의되며, 이로부터 f-번째 코드 집합 멤버에 대하여 시프트 크기 p(f, i, j)를 가진 모델 매트릭스 Hbm(f)가 유도되며, 여기서 f=1,..., fmax이다. z0=max(zf) 및 p(0, i, j)=p(i, j)인 것으로 가정하면, αf = z0/zf는 p(i, j)로부터 p(f, i, j)를 유도할때 수식(8)과 같은 표현들로 사용되어야 하며, 이에 따라 기본 매트릭스의 동일한 사이클들은 zf의 전체 범위에 대하여 회피된다. 특히, 모든 p(i, j)가 발견된다고 가정하면,
Figure 112007012799335-PCT00025
(9)
앞의 수식(9)은 일반적으로 p(i,j)로부터 p(f,i,j)를 유도하기 위하여 사용된다. 게다가, 예로서, 함수 F(.)는 z0=max(zf)를 가정하고 라운딩 함수를 사용하면 다음과 같이 정의될 수 있으며,
Figure 112007012799335-PCT00026
(10)
이 수식(10)은 수식(8)에 대응한다. 유사하게, 플로링 함수
Figure 112007012799335-PCT00027
또는 실링 함수
Figure 112007012799335-PCT00028
은 라운딩 함수 [x] 대신에 사용될 수 있다.
앞의 설계 절차는 임의의 타입의 기본 매트릭스 Hb에 적용한다는 것에 유의해야 한다. 예컨대, 이 절차는 두개의 부분으로 구성된 이하의 Hb에 적용될 수 있으며,
Figure 112007012799335-PCT00029
(11)
Hb의 결정적 부분 Hb2는 두개의 섹션으로 추가로 분할될 수 있으며, 여기서 벡터 hb는 홀수 가중치
Figure 112007012799335-PCT00030
를 가지며,
Figure 112007012799335-PCT00031
는 결정적 계단 구조를 가지며,
Figure 112007012799335-PCT00032
(12)
다시 말해서,
Figure 112007012799335-PCT00033
은 행 i에 대한 매트릭스 엘리먼트들을 포함하며, 열 j는 이하의 수식과 동일하다.
Figure 112007012799335-PCT00034
코드들의 집합에 대한 인코더 구현
앞서 설계된 집합의 모든 멤버들이 마더 모델 매트릭스 Hbm≡Hbm(0)로부터 유도되기 때문에, 따라서, 모두 동일한 구조를 가지고, 집합의 각각의 멤버에 대한 인코딩 프로세스는 유사하다. 모델 매트릭스의 부분 또는 전체는 그룹핑된 정보 시퀀스의 순환 시프트들을 수행하기 위하여 배럴 시프터에 대한 명령들로서 저장 및 해석될 수 있다.
집합의 모든 멤버들이 마더 모델 매트릭스 Hbm≡Hbm(0)로부터 유도되기 때문에, 집합에 대한 인코더의 구현은 단지 마더 매트릭스가 저장될 것을 요구한다. 라운딩 함수 [x]가 사용된다고 가정하면, 집합의 f-번째 멤버에 대하여, 마더 모델 매트릭스의 순환 시프트들 p(i,j)는 모든 p(i,j)>0에 대하여 순환 시프트들 [p(i,j)/(z0/zf)]에 의하여 대체되며, 여기서 zf는 인코딩되는 집합의 f-번째 멤버의 확장 인자를 가리킨다. 이의 간단한 구현은 ROM(read-only memory)에 집합의 각각의 멤버에 대한 값들
Figure 112007012799335-PCT00035
을 저장하고 곱셈기를 사용하여 이동중에 값들 [p(i,j)/(z0/zf)](여기서, p(i,j)>0)을 계산한다. 대안적으로, 집합의 각각의 멤버에 대한 시프트 크기 세트들 {p(f, i, j)}, f=0,1,...,fmax는 수식(8)(또는 더 일반적으로 수식(7))을 사용하여 미리 계산되어 ROM에 저장될 수 있다.
배럴 시프터(barrel shifter)는 집합 멤버들에 대응하는 모든 워드 크기들 zf에 대하여 순환 시프트들을 제공하도록 수정될 수 있다. 이러한 배럴 시프터 수정이 배럴 시프터 논리를 복잡하게 하고 저속 클록 레이트들을 필요로 하는 반면에, 필요한 대안 초과 논리 자원들은 각각의 워드 크기 zf에 대한 다른 배럴 시프터를 설명하는 것이다.
도 2는 인코더(200)의 블록도이다. 도시된 바와같이, 인코더(200)는 확장 인자 zf를 결정하기 위하여 마이크로프로세서(201), 룩업 테이블(203), 및 논리회로(205)를 포함한다. 비록 서로 외부에 존재하는 것으로 도시될지라도, 당업자는 논리회로(205)의 기능이 마이크로프로세서(201)내에서 구현될 수 있다는 것을 인식할 것이다. 마이크로프로세서(201)는 바람직하게 MSC8300 및 DSP56300 DSP들과 같은(그러나 이에 제한되지 않음) 디지털 신호 프로세서(DSP)를 포함한다. 부가적으로, 룩업 테이블(203)은 매트릭스를 저장하는 저장 수단으로서 사용되며, ROM을 포함하나, 당업자는 다른 형식의 메모리(예컨대, RAM(random-access memory), 자기 저장 메모리 등)가 또한 이용될 수 있다는 것을 인식할 것이다. 제 2 실시예에 있어서, 마이크로프로세서(201), 룩업 테이블(203), 및 논리회로(205)의 기능은 주문형 집적회로(ASIC) 또는 필드 프로그램가능 게이트 어레이(FPGA)내에 통합될 수 있다. 특히, 룩업 테이블(203)은 회로의 신호 경로의 존재 또는 비존재에 대응하는 메모리의 형태로 구현될 수 있다.
앞서 논의된 바와같이, 인코딩된 데이터는 일반적으로 시스템 비트들외에 다수의 패리티-체크 비트들의 형태를 취하며, 여기서 패리티-체크 및 시스템 비트들은 함께 코드워드 x를 형성한다. 본 발명의 제 1실시예에 있어서, 기본 모델 매트릭스 Hbm은 룩업 테이블(203)에 저장되며, 패리티-체크 비트들을 찾기 위하여 마이크로프로세서(201)에 의하여 액세스된다. 특히, 마이크로프로세서(201)는 정보 블록 s=(s0,...,skf -1), 확장 인자 zf 및 기본 모델 매트릭스 Hbm에 기초하여 패리티-체크 비트들 p=(p0,...,pmf -1)에 대하여 적절한 값들을 결정한다. 확장 인자 zf는 zf=kf/kb=nf/nb를 사용하여 논리회로(205)에 의하여 결정되며, 비트들을 길이-zf 벡터들로 그룹핑하고 αf= z0/zf를 발견하기 위하여 사용된다. 패리티-체크 비트들이 발견되면, 패리티-체크 비트들 및 시스템 비트들은 송신기를 통과하여 수신기에 전송된다.
도 3은 본 발명의 일 실시예에 따른 디코더(300)의 블록도이다. 도시된 바와같이, 디코더(300)는 확장 인자 zf를 결정하기 위하여 마이크로프로세서(301), 룩업 테이블(303) 및 논리회로(305)를 포함한다. 본 발명의 제 1실시예에 있어서, 마이크로프로세서(301)는 MSC8300 및 DSP56300 DSP들과 같은(그러나 이에 제한되지 않음) 디지털 신호 프로세서(DSP)를 포함한다. 부가적으로, 룩업 테이블(303)은 기본 모델 매트릭스 Hbm을 저장하는 저장수단으로서 사용되며 ROM을 포함한다. 그러나, 당업자는 다른 형태의 메모리(예컨대, RAM 및 자기 저장 메모리 등)이 또한 사용될 수 있다는 것을 인식할 것이다. 제 2 실시예에 있어서, 마이크로프로세서(301) 및 룩업 테이블(303)의 기능은 주문형 집적회로(ASIC) 또는 필드 프로그램가능 게이트 어레이(FPGA)내에 통합될 수 있다. 특히, 룩업 테이블(303)은 회로의 신호 경로의 존재 또는 비존재에 대응하는 메모리의 형태로 구현될 수 있다.
수신된 신호 벡터(수신기를 통해 수신됨) y=(y0,...,ynf -1)는 잡음 채널을 통해 전송된 코드워드 x에 대응하며, 여기서 인코딩된 데이터 x는 앞서 논의된 바와같이 코드 집합의 f-번째 멤버의 코드워드 벡터이다. 본 발명의 제 1실시예에 있 어서, 기본 모델 매트릭스 Hbm은 룩업 테이블(303)에 저장되며, y를 디코딩하고 정보 블록 s=(s0,...,skf -1)를 추정하기 위하여 마이크로프로세서(301)에 의하여 액세스된다. 특히, 마이크로프로세서(301)는 수신된 신호 벡터 y=(y0,...,ynf -1) 및 기본 모델 매트릭스 Hbm에 기초하여 정보 블록(s0,...,skf-1)를 추정한다. 확장 인자 zf는 zf=kf/kb=nf/nb를 사용하여 논리회로(305)에 의하여 결정되며, 수신된 신호들 및 비트들을 길이 zf 벡터들로 그룹핑하고 αf=z0/zf를 찾기 위하여 사용된다.
도 4는 인코더(200), 특히 마이크로프로세서(201)의 동작을 도시한 흐름도이다. 논리 흐름은 정보 블록(s0,...ssk -1)이 마이크로프로세서(201)에 의하여 수신되는 단계(401)에서 시작한다. 단계(403)에서, 패리티-체크 비트들의 값들은 정보 블록 및 Hbm(f)에 기초하여 결정되며, 여기서 Hbm(f)는 {p(f,i,j)}에 의하여 고유하게 정의된다. 특히, 기본 모델 매트릭스 Hbm의 시프트 크기 세트 {p(i,j)}는 메모리로부터 판독된다. 마이크로프로세서는 {p(f,i,j)}를 결정하기 위하여 {p(i,j)} 및 αf를 이용한다. 패리티-체크 비트들(p0,...,pmk -1)은 수식(1)을 풀어서 결정된다. 단계(405)에서, 정보 블록 및 패리티-체크 비트들은 채널을 통해 전송된다.
도 5는 인코더(300), 특히 마이크로프로세서(301)의 동작을 도시한 흐름도이다. 논리 흐름은 수신된 신호 벡터 y=(y0,...,ynf -1)가 수신되는 단계(501)에서 시 작된다. 단계(503)에서, 정보 블록 s=(s0,...,skf -1)의 추정은 Hbm(f)에 기초하여 결정되며, 여기서 Hbm(f)는 {p(f,i,j)}에 의하여 고유하게 정의된다. 특히, 기본 모델 매트릭스 Hbm의 시프트 크기 세트 {p(i,j)}는 메모리로부터 판독된다. 마이크로프로세서는 {p(f,i,j)}를 결정하기 위하여 {p(i,j)} 및 αf를 이용한다. 논의된 바와같이, 마이크로프로세서는 정보 블록의 추정치들을 획득하기 위하여 시프트 크기들 {p(f,i,j)}(또는 등가적으로 Hbm(f))에 따라 수신된 신호 벡터를 처리한다. 바람직한 실시예에 있어서, 마이크로프로세서는 코드의 이분 그래프를 사용하여 메시지-패싱 알고리즘(message-passing algorithm)에 따라 처리를 수행한다.
실시예들
예로서, 576 내지 2304 비트들의 범위내의 19 코드 크기들 nf에 대한 코드 설계가 기술된다. 각각의 기본 모델 매트릭스는 시프트 크기 z0=96에 대하여 설계된다. 시프트 크기들 {p(i,j)}의 세트는 기본 모델 매트릭스에 대하여 정의되며 동일한 레이트를 가진 다른 코드 크기들에 대하여 사용된다. 다른 코드 크기들에 대하여, 시프트 크기들은 다음과 같이 기본 모델 매트릭스로부터 유도된다.
확장 인자 zf에 대응하는 코드 크기에 대하여, 그의 시프트 크기들 {p(f,i,j)}은 p(i,j)를 비례적으로 스케일링함으로서 {p(i,j)}로부터 유도된다.
Figure 112007012799335-PCT00036
αf=z0/zf
Figure 112007012799335-PCT00037
는 최근접 정수를 -∞쪽으로 제공하는 플로링 함수를 나타낸다는 것에 유의해야 한다.
기본 모델 매트릭스들은 1/2, 2/3 및 3/4의 3가지 코드 레이트와 관련하여 이하에 표로 만들어진다. 여기서 f는 주어진 코드 레이트에 대한 코드 길이의 인덱스이며, f=0,1,2,...18이다.
레이트 1/2
기본 모델 매트릭스는 크기 nb=24, mb=12 및 확장 인자 z0=96(즉, n0=24*96=2304)를 가진다. 다른 코드 크기들 nf를 달성하기 위하여, 확장 인자 zf는 nf/24와 동일하다.
Figure 112007012799335-PCT00038
레이트 2/3
기본 모델 매트릭스는 크기 nb=24, mb=8 및 확장 인자 z0=96(즉, n0=24*96=2304)를 가진다. 다른 코드 크기들 nf를 달성하기 위하여, 확장 인자 zf는 nf/24와 동일하다.
Figure 112007012799335-PCT00039
레이트 3/4
기본 모델 매트릭스는 크기 nb=24, mb=6 및 확장 인자 z0=96(즉, n0=24*96=2304)를 가진다. 다른 코드 크기들 nf를 달성하기 위하여, 확장 인자 zf는 nf/24와 동일하다.
Figure 112007012799335-PCT00040
본 발명이 특정 실시예들과 관련하여 기술되었을지라도, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 수정 및 변형이 이루어질 수 있다는 것을 당업자는 이해할 것이다. 예컨대, 코드 크기 범위가 매우 넓을때, 예컨대 α가 z/2에 근접할때, 적절한 시프트 크기 세트 {p(i,j)}를 발견하는 것이 매우 곤란하다. 따라서, 만일 코드 크기 범위가 너무 크면, 예컨대 α가 크면, 코드 집합에 대한 zf의 범위를 각각 커버하는 {p(i,j)}의 다중 세트들을 사용할 수 있다. 다른 예에서, 비록 마더 모델 매트릭스 Hbm(0), z0=max(zf) 및 p(0, i, j)=p(i,j)가 0-번째 코드 집합 멤버와 관련하여 사용되었다는 것을 가정하였을지라도, 당업자는 Hbm(0), z0 및 p(i,j)가 코드 집합내에 있지 않는 코드 크기에 대하여 정의되나 대상 코드 집합에 대하여 시프트 크기들 p(f, i, j)를 유도하기 위하여 사용된다는 것을 이해할 것이다. 다른 예에서, 비록 z0=max(zf)인 것을 가정하였을지라도, 당업자는 max(zf)와 동일하지 않는 z0 값이 시프트 크기 유도에 사용될 수 있다는 것을 이해할 것이다. 이러한 변화들은 이하의 청구범위내에 속한다.

Claims (10)

  1. 정보 블록에 기초하여 패리티-체크 비트들(parity-check bits)을 생성하는 송신기를 동작시키기 위한 방법에 있어서,
    가장 긴 코드 길이에 대한 시프트 크기들 p(i,j)의 세트를 가진 기본 모델 매트릭스를 정의하는 단계;
    상기 시프트 크기들 p(i,j)의 세트에 기초하여 모든 다른 코드 길이들에 대한 시프트 크기들 p(f,i,j)를 결정하는 단계로서, 상기 f는 코드 길이들
    Figure 112007012799335-PCT00041
    의 인덱스이며, 상기 z0는 상기 가장 긴 코드 길이의 확장 인자(expansion factor)이며, 상기 zf는 f-번째 코드 길이의 확장 인자인, 상기 결정 단계;
    상기 정보 블록
    Figure 112007012799335-PCT00042
    을 수신하는 단계;
    상기 패리티-체크 비트들을 결정하기 위하여 상기 p(f,i,j)에 의하여 정의된 모델 매트릭스를 사용하는 단계; 및
    상기 정보 블록과 함께 상기 패리티-체크 비트들을 전송하는 단계를 포함하며,
    여기에서,
    Figure 112007012799335-PCT00043
    Figure 112007012799335-PCT00044
    인, 송신기를 동작시키기 위한 방법.
  2. 제 1항에 있어서,
    Figure 112007012799335-PCT00045
    이고,
    Figure 112007012799335-PCT00046
    는 상기 플로링 함수(flooring function)를 나타내는, 송신기를 동작시키기 위한 방법.
  3. 제 1항에 있어서,
    Figure 112007012799335-PCT00047
    이고,
    Figure 112007012799335-PCT00048
    는 상기 라운딩 함수(rounding function)를 나타내는, 송신기를 동작시키기 위한 방법.
  4. 제 1항에 있어서,
    Figure 112007012799335-PCT00049
    이고,
    Figure 112007012799335-PCT00050
    는 상기 실링 함수(ceiling function)를 나타내는, 송신기를 동작시키기 위한 방법.
  5. 제 1항에 있어서, 상기 패리티-체크 비트들은 확장 인자 zf를 사용하여 p(f,i,j)에 의하여 정의된 모델 매트릭스 Hbm(f)로부터 확장되는 패리티-체크 매트릭스 H(f)에 기초하여 발견되는, 송신기를 동작시키기 위한 방법.
  6. 가장 긴 코드 길이에 대한 시프트 크기들 p(i,j)의 세트를 가진 기본 모델 매트릭스를 저장하는 저장 수단; 및
    정보 블록
    Figure 112007012799335-PCT00051
    및 기본 모델 매트릭스를 수신하고, 시프트 크기 p(i,j)의 세트에 기초하여 모든 다른 코드 길이들에 대한 시프트 크기들p(f,i,j)를 결정하는 마이크로프로세서로서, f는 코드 길이들,
    Figure 112007012799335-PCT00052
    의 인덱스이며, z0는 상기 가장 긴 코드 길이의 확장 인자이며, zf는 f-번째 코드 길이의 확장 인자인 상기 마이크로프로세서를 포함하며,
    상기 마이크로프로세서는 p(f,i,j) 및 정보 블록
    Figure 112007012799335-PCT00053
    에 의하여 정의된 모델 매트릭스에 기초하여 패리티-체크 비트들을 출력하며,
    여기에서,
    Figure 112007012799335-PCT00054
    Figure 112007012799335-PCT00055
    인, 장치.
  7. 제 6항에 있어서,
    Figure 112007012799335-PCT00056
    이고,
    Figure 112007012799335-PCT00057
    는 상기 플로링 함수를 나타내는, 장치.
  8. 제 6항에 있어서,
    Figure 112007012799335-PCT00058
    에 대한 값들을 가진 ROM(read-only memory)을 더 포함하는, 장치.
  9. 제 6항에 있어서,
    Figure 112007012799335-PCT00059
    에 대한 값들을 가진 ROM을 더 포함하는, 장치.
  10. 정보 블록
    Figure 112007012799335-PCT00060
    를 추정하는 수신기를 동작시키기 위한 방법에 있어서,
    신호 벡터를 수신하는 단계;
    가장 긴 코드 길이에 대한 시프트 크기들 p(i,j)의 세트를 가진 기본 모델 매트릭스를 정의하는 단계;
    시프트 크기 p(i,j)의 세트에 기초하여 모든 다른 코드 길이들에 대한 시프트 크기들 p(f,i,j)를 결정하는 단계로서, f는 코드 길이들,
    Figure 112007012799335-PCT00061
    의 인덱스이며, z0는 상기 가장 긴 코드 길이의 확장 인자이며, zf는 f-번째 코드 길이의 확장 인자인 상기 결정 단계; 및
    p(f,i,j) 및 상기 수신된 신호 벡터에 의하여 정의된 모델 매트릭스에 기초하여 상기 정보 블록
    Figure 112007012799335-PCT00062
    를 추정하는 단계를 포함하며,
    여기에서,
    Figure 112007012799335-PCT00063
    Figure 112007012799335-PCT00064
    인, 수신기를 동작시키기 위한 방법.
KR1020077003364A 2004-08-12 2005-08-03 송신기를 동작시키기 위한 방법 및 장치 및 수신기를 동작시키기 위한 방법 KR100875613B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US60095304P 2004-08-12 2004-08-12
US60/600,953 2004-08-12
US11/070,129 US7203897B2 (en) 2004-08-12 2005-03-01 Method and apparatus for encoding and decoding data
US11/070,129 2005-03-01
US11/078,817 2005-03-11
US11/078,817 US7188297B2 (en) 2004-08-12 2005-03-11 Method and apparatus for encoding and decoding data
PCT/US2005/027686 WO2006020484A1 (en) 2004-08-12 2005-08-03 Method and apparatus for encoding and decoding data

Publications (2)

Publication Number Publication Date
KR20070029843A true KR20070029843A (ko) 2007-03-14
KR100875613B1 KR100875613B1 (ko) 2008-12-26

Family

ID=35907737

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077003364A KR100875613B1 (ko) 2004-08-12 2005-08-03 송신기를 동작시키기 위한 방법 및 장치 및 수신기를 동작시키기 위한 방법

Country Status (7)

Country Link
US (1) US7188297B2 (ko)
EP (1) EP1790082B1 (ko)
JP (1) JP4602406B2 (ko)
KR (1) KR100875613B1 (ko)
CN (1) CN101032083B (ko)
BR (1) BRPI0514245B1 (ko)
WO (1) WO2006020484A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101227514B1 (ko) * 2007-03-15 2013-01-31 엘지전자 주식회사 Ldpc 부호화 및 복호화를 위한 모델 행렬을 구성하는방법

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581157B2 (en) * 2004-06-24 2009-08-25 Lg Electronics Inc. Method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system
US7752520B2 (en) * 2004-11-24 2010-07-06 Intel Corporation Apparatus and method capable of a unified quasi-cyclic low-density parity-check structure for variable code rates and sizes
US7343548B2 (en) * 2004-12-15 2008-03-11 Motorola, Inc. Method and apparatus for encoding and decoding data
WO2006068435A2 (en) * 2004-12-22 2006-06-29 Lg Electronics Inc. Apparatus and method for decoding using channel code
EP1850485A1 (en) 2006-04-28 2007-10-31 Nokia Siemens Networks Gmbh & Co. Kg Method for encoding a data message K' for transmission from a sending station to a receiving station as well as method for decoding, sending station, receiving station and software
US8583981B2 (en) 2006-12-29 2013-11-12 Marvell World Trade Ltd. Concatenated codes for holographic storage
CN101272150B (zh) 2008-05-14 2010-09-29 中兴通讯股份有限公司 一种低密度生成矩阵码的译码方法及装置
CN102412842B (zh) * 2010-09-25 2016-06-15 中兴通讯股份有限公司 一种低密度奇偶校验码的编码方法及装置
WO2017091018A1 (en) 2015-11-24 2017-06-01 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding/decoding in a communication or broadcasting system
KR20170060562A (ko) 2015-11-24 2017-06-01 삼성전자주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
CN109891755A (zh) * 2017-01-06 2019-06-14 Lg 电子株式会社 多lpdc 码中选择ldpc 基本码的方法及其设备
CN110535474B (zh) 2017-05-05 2023-06-06 华为技术有限公司 信息处理的方法、通信装置
BR112019020158B1 (pt) 2017-06-15 2022-02-08 Huawei Technologies Co., Ltd Método de codificação, método de decodificação, método de processamento de informações, aparelho, terminal, estação base, sistema de comunicação, mídia de armazenamento legível por computador e produto de programa de computador
CN109327225B9 (zh) 2017-06-27 2021-12-10 华为技术有限公司 信息处理的方法、装置和通信设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140596A (en) * 1990-02-20 1992-08-18 Eastman Kodak Company High speed encoder for non-systematic codes
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
AU2002364182A1 (en) * 2002-08-20 2004-03-11 Flarion Technologies, Inc. Methods and apparatus for encoding ldpc codes
KR100906474B1 (ko) * 2003-01-29 2009-07-08 삼성전자주식회사 저밀도 부가정보 발생용 매트릭스를 이용한 에러 정정방법 및그 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101227514B1 (ko) * 2007-03-15 2013-01-31 엘지전자 주식회사 Ldpc 부호화 및 복호화를 위한 모델 행렬을 구성하는방법

Also Published As

Publication number Publication date
JP2008510379A (ja) 2008-04-03
CN101032083A (zh) 2007-09-05
US20060036932A1 (en) 2006-02-16
EP1790082A1 (en) 2007-05-30
EP1790082B1 (en) 2018-10-10
KR100875613B1 (ko) 2008-12-26
BRPI0514245A (pt) 2008-06-03
BRPI0514245B1 (pt) 2018-01-16
JP4602406B2 (ja) 2010-12-22
WO2006020484A1 (en) 2006-02-23
US7188297B2 (en) 2007-03-06
CN101032083B (zh) 2013-03-06
EP1790082A4 (en) 2008-04-02

Similar Documents

Publication Publication Date Title
KR100875613B1 (ko) 송신기를 동작시키기 위한 방법 및 장치 및 수신기를 동작시키기 위한 방법
US7203897B2 (en) Method and apparatus for encoding and decoding data
KR101405962B1 (ko) Ldpc 코드를 이용한 복호화 방법
CN101032082B (zh) 编码和解码数据的方法和设备
US7395494B2 (en) Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
EP1829223B1 (en) Parallel, layered decoding for Low-Density Parity-Check (LDPC) codes
US20090019333A1 (en) Generation of parity-check matrices
JP5875713B2 (ja) 送信機および受信機、並びに符号化率可変方法
KR100861674B1 (ko) 송신기 및 수신기를 동작시키는 방법, 및 데이터를 엔코딩 및 디코딩하는 장치
EP2963831A1 (en) Encoding termination for LDPC convolutional codes (LDPC-CC)
KR20070086301A (ko) 벡터 로우 그룹핑을 이용한 구조적 ldpc 디자인
WO2011136089A1 (ja) 符号化装置、誤り訂正符号構成方法およびそのプログラム
EP2951925B1 (en) Ldpc code design and encoding apparatus enabling the adjustment of code rate and codelength
KR20050044963A (ko) q차 제곱 잉여류를 이용한 준순환 저밀도 패러티 검사부호 생성 방법
KR101147768B1 (ko) 채널 코드를 이용한 복호화 방법 및 장치
KR100918741B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
CN106059595B (zh) 空间耦合低密度奇偶校验码的通用递归编码方法
WO2006062351A1 (en) Ldpc encoder and decoder and ldpc encoding and decoding methods
EP2951926B1 (en) Ldpc code design and encoding apparatus for their application
RU2365034C2 (ru) Способ и устройство для кодирования и декодирования данных
EP3526899A1 (en) Decoding of low-density parity-check convolutional turbo codes
KR100800775B1 (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: 20121129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131129

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141205

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151204

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161207

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171207

Year of fee payment: 10