KR20100005236A - 무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화 및 복호화 방법 및 그 장치 - Google Patents

무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화 및 복호화 방법 및 그 장치 Download PDF

Info

Publication number
KR20100005236A
KR20100005236A KR1020097025169A KR20097025169A KR20100005236A KR 20100005236 A KR20100005236 A KR 20100005236A KR 1020097025169 A KR1020097025169 A KR 1020097025169A KR 20097025169 A KR20097025169 A KR 20097025169A KR 20100005236 A KR20100005236 A KR 20100005236A
Authority
KR
South Korea
Prior art keywords
matrix
max
value
size
permutation
Prior art date
Application number
KR1020097025169A
Other languages
English (en)
Other versions
KR101108062B1 (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 KR20100005236A publication Critical patent/KR20100005236A/ko
Application granted granted Critical
Publication of KR101108062B1 publication Critical patent/KR101108062B1/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/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
    • 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
    • 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/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

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

본 발명은 무선 통신 시스템에서 저밀도 패리티 체크 (LDPC) 코드를 이용하여 데이터를 부호화 및 복호화하는 방법에 관한 것이다. 본 발명의 일 양상에 따르는 데이터 부호화 방법은, 저밀도 패리티 체크 코드(LDPC)를 이용한 데이터 부호화 방법에 있어서, 특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 입력 데이터를 부호화하는 단계를 포함하되, 상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정의되는
Figure 112009074448583-PAT00001
것을 특징으로 한다.
무선 통신, 부호화, 복호화, LDPC, 패리티 검사 행렬

Description

무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화 및 복호화 방법 및 그 장치{A METHOD AND APPARATUS FOR ENCODING AND DECODING DATA USING LOW DENSITY PARITY CHECK CODE IN A WIRELESS COMMUNICATION SYSTEM}
본 발명은 무선 통신 시스템에서 부호화(encoding) 및 복호화(decoding) 방법에 관한 것으로서, 보다 구체적으로는, 무선 통신 시스템에서 저밀도 패리티 체크 (LDPC) 코드를 이용하여 데이터를 부호화/복호화하는 방법 및 그 장치에 관한 것이다.
일반적으로 부호화(encoding)라 함은 송신측에서 송신된 데이터가 통신 채널을 통하여 전송되는 과정에서 발생되는 신호의 일그러짐, 손실 등에 의한 오류의 발생에도 불구하고 수신측에서 원래의 데이터를 복원할 수 있도록 하기 위하여 송신측에서 데이터 처리를 하는 과정을 의미한다. 복호화(decoding)는 부호화되어 송신된 신호를 수신측에서 원래의 데이터로 복원하는 과정이다.
LDPC 코드를 이용한 부호화 방법이 부각되고 있다. LDPC 코드는 1962년 갤러거(Gallager)에 의해 그의 박사 학위 논문 주제로 제안된 오류 정정 코드이다. 보다 구체적으로는, 패리티 검사 행렬 H는 그 원소들이 대부분 0인 저밀도인 선형 블록 부호이다. LDPC 부호는 매우 복잡하여 제안 당시의 기술로는 구현이 불가능하였기 때문에 잊혀져 있다가 1995년에 재발견되어 성능이 매우 우수함이 입증된 이래로 최근에 그에 관한 연구가 활발히 진행되고 있는 상황이다. (참고문헌: [1] Robert G. Gallager, "Low-Density Parity-Check Codes", The MIT Press, September 15, 1963. [2] D.J.C.Mackay, Good error-correcting codes based on very sparse matrices, IEEE Trans. Inform. Theory, IT-45, pp.399-431(1999))
LDPC 코드의 패리티 검사 행렬은 1의 개수가 매우 적기 때문에 매우 큰 블록 크기에서도 반복 복호를 통하여 복호가 가능하여 블록 크기가 매우 커지면 터보 코드처럼 섀넌(Shannon)의 채널 용량 한계에 근접하는 성능을 보인다.
LDPC 코드는 (n-k)×n 패리티 검사 행렬 H에 의해 정의될 수 있다. 여기서, 'n'은 부호화 후의 코드워드 크기를 의미하고, 'k'는 부호화 전의 데이터의 크기이다. 상기 패리티 검사 행렬 H에 대응하는 생성 행렬(generator matrix) G는 다음의 수학식 1에 의해 구할 수 있다.
HㆍG= 0
LDPC 코드를 이용한 부호화 및 복호화 방법에 있어서는 송신측에서 상기 패리티 검사 행렬 H와 수학식 1의 관계에 있는 상기 생성 행렬 G를 이용하여 다음의 수학식 2에 의해 입력 데이터를 부호화 할 수 있다.
c = Gㆍu
수학식 2에서, c는 코드워드(codeword)이고, u는 데이터 프레임을 의미한다.
최근에는 상기 생성 행렬 G에 의하지 않고 상기 패리티 검사 행렬 H를 이용하여 입력 데이터를 부호화하는 방법이 일반적으로 사용되고 있다. 따라서, 상기한 바와 같이, LDPC 코드를 이용한 부호화 방법에서는 상기 패리티 검사 행렬 H가 가장 중요한 요소라 할 수 있다. 상기 패리티 검사 행렬 H은 대략 1000×2000 이상의 크기를 갖기 때문에 부호화 및 복호화 과정에서 많은 연산이 요구되고, 구현이 매우 복잡하며, 많은 저장 공간을 요구하는 문제점이 있다.
본 발명은 종래기술에 따른 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 무선 통신 시스템에서 저밀도 패리티 검사 행렬을 이용하여 데이터를 부호화/복호화하는 방법 및 그 장치를 제공하는 것이다.
본 발명의 다른 목적은 LDPC 코드를 이용하여 데이터를 부호화하고 복호화하는 방법 및 그 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 부호화 및 복호화 시에 연산량을 줄이고 구현을 감소화하며 메모리 절약이 가능한 부호화/복호화 방법 및 그 장치를 제공하는 것이다.
본 발명의 추가적인 장점, 목적 및 특징들은 부분적으로 이하에서 설명되는 상세한 설명에 개시되고, 부분적으로는 상세한 설명의 조사하는 당업자에게 자명하거나 발명의 관습으로부터 학습될 수 있다. 본 발명의 목적 및 다른 장점들은 첨부된 도면, 상세한 설명 및 특허청구범위에 특정적으로 개시된 구성에 의해 알려질 것이다.
본 발명의 일 양상에 따르는 데이터 부호화 방법은, 저밀도 패리티 체크 코드(LDPC)를 이용한 데이터 부호화 방법에 있어서, 특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 입력 데이터를 부호화하는 단계를 포함하되, 상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정의되는
Figure 112009074448583-PAT00002
(여기서, "-1"은 zmax×zmax 크기를 갖는 제로 행렬을 나타내고, "0"은 zmax×zmax 크기를 갖는 단위 행렬을 나타내며, 양의 정수는 zmax×zmax 크기를 가지며 상기 단위 행렬을 해당되는 양의 정수만큼 순환 쉬프트함으로써 생성된 제1 퍼뮤테이션 행렬을 나타냄) 것을 특징으로 한다.
본 발명의 다른 양상에 따르는 데이터 복호화 방법은, 저밀도 패리티 체크 코드(LDPC)를 이용한 데이터 복호화 방법에 있어서, 특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 인코딩된 데이터를 복화하하는 단계를 포함하되, 상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정의되는
Figure 112009074448583-PAT00003
(여기서, "-1"은 zmax×zmax 크기를 갖는 제로 행렬을 나타내고, "0"은 zmax×zmax 크기를 갖는 단위 행렬을 나타내며, 양의 정수는 zmax×zmax 크기를 가지며 상 기 단위 행렬을 해당되는 양의 정수만큼 순환 쉬프트함으로써 생성된 제1 퍼뮤테이션 행렬을 나타냄) 것을 특징으로 한다.
본 발명의 또 다른 양상에 따르는 부호화 장치는 코드 레이트 2/3에 대하여 정의되는 상기 기본 행렬을 이용하여 입력 데이터를 부호화하는 부호기를 포함하여 구성된다.
본 발명의 또 다른 양상에 따르는 복호화 장치는 코드 레이트 2/3에 대하여 정의되는 상기 기본 행렬을 이용하여 부호화된 데이터를 복호화하는 복호기를 포함하여 구성된다.
본 발명에 따르면 데이터를 부호화하고 복호화하는 과정에서 복잡한 연산을 간소화시키고, 그 구현을 간소화시킬 수 있으며 메모리 공간을 효율적으로 사용할 수 있는 효과가 있다.
본 발명에 따른 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과는 이하의 발명의 상세한 설명으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
첨부된 도면에 도시된 예들을 참조하여 본 발명의 바람직한 실시예들을 구체적으로 설명하도록 한다. 가능하면, 동일한 부분을 인용하기 위해 도면을 통해 동일한 참조번호가 사용될 것이다.
도 1은 본 발명의 기술적 특징이 적용될 수 있는 무선 통신 시스템의 개략 구성도(schematic diagram)이다. 도 1에서, 송신기(10)와 수신기(30)가 무선 채널(20)을 매개로 통신을 수행한다. 상기 송신기(10)에서는 데이터 소스(11)로부터 출력된 k 비트의 소스 데이터(u)가 LDPC 부호기(13)에서의 부호화(encoding) 과정을 통해 n 비트의 코드워드(c)가 된다. 코드워드(c)는 변조기(15)에 의해 무선 변조되어 안테나(17)를 통하여 전송된다. 무선채널(20)을 통해 전송된 신호는 상기 수신기(30)의 안테나(31)를 통해 수신되고, 상기 수신기(30)에서는 상기 송신기(10)에서 일어났던 과정의 역과정을 거친다. 즉, 수신된 데이터가 복조기(33)에 의해 복조되고, LDPC 복호기(35)에 의해 복호되어 최종적으로 소스 데이터(u)를 얻을 수 있다. 상술한 바와 같은 데이터 송수신 과정은 본 발명의 특징을 설명하기 위해 필요한 최소한의 범위 내에서 설명된 것으로 이외에도 데이터 전송을 위해 필요한 다른 많은 과정이 있음은 당업자에게 자명하다.
본 발명의 일 실시예는 상기 LDPC 부호기(13) 또는 상기 LDPC 복호기(35)에서의 LDPC 코드를 통한 부호화 또는 복호화의 구체적 과정 및 상기 LDPC 부호기(13) 또는 상기 LDPC 복호기(35)와 같은 부호화 또는 복호화 장치의 구체적 구성으로서, 이하에서 몇몇 실시예들을 상세히 설명하도록 한다.
다음의 수학식 3은 코드 레이트(code rate)를 구하는 식이다. 송신측은 채널 상황이나 전송해야 할 데이터 양 등을 고려하여 코드 레이트(r)를 결정한다.
r = k/n
여기서, k는 소스 데이터의 길이이고, n은 부호화된 데이터(코드워드)의 길 이를 의미한다.
부호화된 데이터(코드워드)는 시스템 비트(systematic bits)와 패리티 체크 비트(parity-check bits) 두 부분으로 구성되는데, 상기 시스템 비트는 부호화되기 전의 소스 데이터를 의미하고, 상기 패리티 체크 비트는 부호화된 후에 상기 시스템 비트의 뒷부분에 추가된 부분을 의미한다. 상기 n은 상기 시스템 비트와 상기 패리티 체크 비트의 수를 합한 값이다. LDPC 코드의 코드 레이트를 증가시키기 위해서 패리티 비트를 감소시키고, LDPC 코드의 코드 레이트를 감소시키기 위하여 시스템 비트를 감소시킨다.
LDPC 코드를 이용한 부호화 방법에 있어서는 수학식 1 및 수학식 2에 의해 생성 행렬(generator matrix) G를 이용하여 입력 소스 데이터를 부호화 할 수 있다. 즉, k 비트의 입력 소스 데이터 s1×k는 수학식 2에 의해 부호화되어 n 비트의 코드워드 x1×k이 된다. 코드워드 xx=[s p]=[s0, s1, ..., sk-1, p0, p1, ... , pm-1] 의 구성을 갖는다(여기서, (p0, p1, ... , pm-1)은 패리티 검사 비트(parity check bits)이고, (s0, s1, ... , sk-1)은 시스템 비트(systematic bits)이다.).
그러나, 상기 생성 행렬 G를 이용한 부호화 방법은 매우 복잡하다. 따라서, 이러한 복잡도를 줄이기 위해 상기 생성 행렬 G에 의하지 않고, 패리티 검사 행렬 H를 이용해 직접 입력 소스 데이터를 부호화하는 것이 바람직하다. 즉, x=[s p]이므로, H·x = 0인 특성을 이용하면 H·x = H·[s p] = 0이 되고, 이 식으로부터 패리티 검사 비트 p를 얻을 수 있어, 결과적으로 코드워드 x=[s p]를 구할 수 있 다.
상기 패리티 검사 행렬 H가 생성되면 생성된 패리티 검사 행렬 H를 이용하여 입력되는 소스 데이터(source data)를 부호화한다.
도 1에서 상기 수신기(30)가 상기한 바와 같은 방법으로 부호화된 데이터를 수신하여 복호함에 있어서는 다음의 수학식 4를 이용한다.
H·x = 0
수학식 4는 디코딩 에러를 발견하는 방법을 설명한다. 즉, 부호화된 데이터 x와 상기 패리티 검사 행렬(parity check matrix) H를 곱하여 0가 되면 전송 에러가 없다는 것을 의미하고, 0가 되지 않으면 전송 에러가 존재한다는 것을 의미하므로 이에 따라 소스 데이터를 분리해 낼 수 있다.
도 11 및 도 12는 각각 도 1에서의 LDPC 부호기(13) 및 LDPC 복호기(35)와 같은 부호화 및 복호화 장치 바람직한 일 실시예의 블록 구성도를 도시한 것이다.
상기 수학식 1에서, 상기 패리티 검사 행렬(parity check matrix) H는 H=[Hd|Hp](Hd는 (n-k)×k, Hp는 (n-k)×(n-k) 차원임)로 표현될 수 있다. 도 2는 H=[Hd|Hp]의 관계를 설명하기 위한 도면으로서 그 일례에 불과하다. 상기 k는 상기 LDPC 부호기(13)로 입력되는 소스 데이터의 길이(비트 단위)이고, 상기 n은 부호화된 코드워드(c)의 길이(비트 단위)를 의미한다.
상기 수학식 1 및 H=[Hd|Hp]의 관계에 의해서 G=[I|(Hp -1d)t]t 임을 알 수 있다. 따라서, 상기 LDPC 부호기(13)는 상기 수학식 2에 의해 입력 소스 데이터(u)에 상기 G=[I|(Hp -1d)t]t를 곱해 줌으로써 부호화한다. 결국 수학식 2는 다음의 수학식 5와 같이 표현될 수 있다.
c = [I|(Hp -1d)t]tㆍu
수학식 5에서, Hp가 이중 대각 행렬일 경우 Hp-1은 낮은 차원의 삼각형으로서 쉽게 계산될 수 있다.
상기 생성 행렬 G를 이용한 부호화 방법 이외에도, 패리티 검사 행렬 H를 이용해 직접 입력 소스 데이터를 부호화하는 것도 가능하다. 또한, 상기 패리티 검사 행렬 H를 이용해 직접 입력 소스 데이터를 부호화하는 것도 가능하다.
상기 Hp로 (n-k)×(n-k) 차원의 이중 대각 행렬(dual diagonal matrix)을 사용하는 것이 바람직하다. 상기 이중 대각 행렬은 그 차원(dimension)에 관계없이 주 대각(main diagonal)과 상기 주 대각 바로 밑 또는 위의 대각이 1이고 나머지가 모두 0인 행렬을 의미하는 것으로서, 도 3은 상기 이중 대각 행렬의 구조를 설명하기 위한 일례이다.
LDPC 코드를 이용한 부호화 또는 복호화 방법에 있어서, 상기한 바와 같이, 코드 레이트(r=k/n, 여기서 k=n-m,)라는 중요한 파라미터를 가진다. 이때, 각각의 코드 레이트 r에 대해 다양한 코드워드 크기(codeword size, n)들이 지원되어야만 한다. 주로 사용되는 r에는 r=1/2, 2/3, 3/4이 있고, 다른 코드 레이트 r을 사용할 수도 있다. n에는 n=24*z (여기서 z=24+4*i 이고 i=0,1,2,3,4, ... , 18) 가 주로 사용된다. 이러한 모든 r과 n에 대해 각각 다른 기본 행렬 Hb를 사용하여 코드 성능(code performance)을 최적화(optimization)할 수도 있다. 그러나, 메모리 사용 측면에서 r이 주어졌을 때 모든 n에 대해 하나의 기본 행렬 Hb를 사용하면 메모리의 절약 효과를 볼 수 있다. 이럴 경우에 필요한 기술이 하나의 기본 행렬 Hb속에 포함되어 있는 퍼뮤테이션 정보를 어떻게 다른 n들에 대해 변환하느냐 하는 것이다.
이하에서 설명되는 실시예는 가장 큰 차원(zmax)을 갖는 제1 기본 퍼뮤테이션 행렬에 대한 제1 기본 행렬만을 저장하고 다른 차원(z)을 갖는 제2 기본 퍼뮤테이션 행렬에 대한 기본 행렬은 부호화 또는 복호화를 위해 필요할 때마다 상기 제1 기본 행렬을 이용하여 생성하는 실시예에 관한 것이다.
도 8은 기본 행렬 Hb의 일 예를 도시한 것이다. 도 8에 도시된 기본 행렬 Hb 는 본 발명의 바람직한 실시예들을 설명하기 위한 예시적 구조에 불과한 것으로서, 실제로 부호화 또는 복호화 시에 사용되는 기본 행렬 Hb는 그 크기가 훨씬 커진다. 도 8에서 zmax는 12이다. 즉, 도 8에 도시된 기본 행렬 Hb는 12×12 차원의 기본 퍼뮤테이션 행렬과 상기 기본 퍼뮤테이션 행렬의 각 행을 특정 방향으로 일정 간격만큼 쉬프트(shift)시켜 형성한 다수의 퍼뮤테이션 행렬 및 영(zero) 행렬에 의해 구성된다. 예를 들어, 상기 기본 행렬 Hb에서 '11'은 상기 기본 퍼뮤테이션 행렬의 각 행을 특정 방향으로 '11'만큼 쉬프트시켜 형성된 퍼뮤테이션 행렬을 의미한다.
도 9는 본 발명에 따른 LDPC 코드를 이용한 부호화 방법의 바람직한 일 실시예의 절차 흐름도이다. 도 9의 실시예를 도 1의 통신 시스템을 이용하여 설명하면, 부호화를 위해서 상기 LDPC 부호기(13)는 가장 큰 차원(zmax)을 갖는 제1 기본 퍼뮤테이션 행렬과 상기 제1 기본 퍼뮤테이션 행렬에 대한 제1 기본 행렬을 저장하고 있어야 한다. 상기 제1 기본 퍼뮤테이션 행렬은 단위 행렬(identity matrix)인 것이 바람직하다. 상기 제1 기본 퍼뮤테이션 행렬로 단위 행렬과 같은 정형화된 행렬을 사용할 경우 상기 LDPC 부호기(13)는 상기 제1 기본 퍼뮤테이션 행렬을 저장하고 있을 필요가 없다.
상기 송신기(10)는 상기 제1 기본 행렬을 이용하여 생성된 H 행렬을 이용하여 입력 소스 데이터를 부호화한 후 채널을 통하여 전송하는 것도 가능하지만, 때에 따라서는 상기 가장 큰 차원(zmax) 보다 작은 차원(z)을 갖는 제2 퍼뮤테이션 행렬에 대한 제2 기본 행렬을 이용하여 H 행렬을 생성한 후 입력 소스 데이터를 부호화한 다음 이를 수신측으로 전송해야 하는 경우가 생긴다.
상기 기본 행렬 Hb를 (Hb)d 및 (Hb)p 두 부분에 의해 정의할 때((Hb)p 및 (Hb)d는 기본 행렬 Hb의 일부분으로서 Hb=[(Hb)d|(Hb)p]의 구조임.), 상기 (H b)p 부분은 일반적으로 블록 이중 대각 행렬(block dual diagonal matrix)을 사용하는 것이 바람직하나, 이에 한정되는 것은 아니다. 블록 이중 대각 행렬은 주 대각(main diagonal) 및 상기 주 대각 바로 밑 또는 바로 위쪽의 대각이 모두 단위 행렬이고 나머지가 모두 0 행렬인 것을 의미한다. 상기 (Hb)p 부분을 블록 이중 대각 행렬로 할 경우 상기 (Hb)p 부분에 열 무게가 1인 열이 발생하는데, 이를 피하기 위하여 하나 또는 두 개 정도의 제로 행렬을 단위 행렬로 대체하는 것이 바람직하다.
상기 기본 행렬 Hb의 (Hb)d 부분은 상기 기본 퍼뮤테이션 행렬과 상기 기본 퍼뮤테이션 행렬의 각 행을 일정 간격만큼 쉬프트시켜 형성한 다수의 퍼뮤테이션 행렬과 영 행렬(zero matrix)의 조합에 의해 구성되는데, 상기 행렬들을 조합하여 상기 기본 행렬 Hb를 구성함에 있어서는 다음과 같은 사항들을 고려하는 것이 부호화 또는 복호화 성능면에서 바람직하다.
H 행렬에서 상기 Hd는 코드 레이트(r=×k/n)에 따라 하나 이상의 H(i) d (여기서, i=1, 2,...., r/(1-r))로 구성될 수 있다. 상기 코드 레이트(r)는 소스 데이터의 길이(k)와 상기 부호화된 데이터의 길이(n)의 비에 의해 정해지고, 일반적으로 r=1/2, 2/3, 3/4, 4/5 등이 쓰일 수 있다. 상기 H(i) d는 (n-k)×(n-k) 차원을 갖 는 행렬로서, Hd=[H(1) d|H(2) d|ㆍㆍㆍ|H(r/(1-r)) d]의 관계를 갖는다.
각 H(i) d는 (n-k)/m×(n-k)/m 차원을 갖는 m×m 개의 서브행렬로 나누었을 때, 상기 Hd를 구성하는 임의의 서브행렬의 행 무게(row weight) 및 열 무게(column weight)는 1이고, 상기 Hd 에서 임의의 어느 두 행(rows)도 둘 이상의 지점에 동시에 1을 갖지 않는 것을 특징으로 한다. 각 서브행렬의 행 무게 및 열 무게가 1이라는 것은 각 서브행렬의 임의의 행 및 열에는 1이 하나만 있고 나머지는 모두 0이라는 의미이다. 또한, 상기 Hd 에서 임의의 어느 두 행(rows)도 둘 이상의 지점에 동시에 1을 갖지 않는다는 것은, 전체 Hd 에 대하여 임의의 두 행을 비교했을 때 1이 존재하는 지점이 두 개 이상 겹칠 수 없다는 의미이다. 이 조건이 만족되면 전체 Hd 에 대하여 임의의 두 열(columns)도 둘 이상의 지점에 동시에 1을 갖지 않는다는 조건도 성립한다.
도 4는 m=4인 경우에 H(i) d의 일례를 도시한 것으로서 (1, 1), (1, 2),...,(4, 4) 16개의 서브행렬로 구성됨을 알 수 있다. 상기 m은 4 내지 12 중에서 가장 좋은 성능을 발휘하는 것을 선택하여 사용하는 것이 바람직하다.
다른 예로서, 상기 Hd를 구성하는 임의의 서브행렬의 행 무게 및 열 무게는 0 또는 1일 수 있다. 즉, 임의의 H(i) d에 대해서 상기 H(i) d를 구성하는 서브행렬들 중에는 행 무게 및 열 무게가 0인 것도 있고 1인 것도 있다는 의미이다. 이 경우, 임의의 H(i) d에 대해서 상기 행 무게 및 열 무게가 0인 서브행렬은 상기 H(i) d의 행 및 열 방향으로 동일한 수로 존재하는 것이 바람직하다.
도 5는 코드 레이트 r이 1/2일 때 패리티 검사 행렬 H를 예시한 것으로서, 왼쪽이 Hd 오른쪽이 듀얼 대각 행렬 Hp를 나타낸다. 도 5에서, 상기 Hd 는 25 개의 서브행렬로 구성되는데, '1'로 표시된 것이 행 무게 및 열 무게가 1인 서브행렬을 의미하고, '0'로 표시된 것이 행 무게 및 열 무게가 0인 서브행렬을 의미한다. 도 5에서 행 무게 및 열 무게가 0인 서브행렬은 전체 Hd 에 대해서 행 방향 및 열 방향으로 각각 한 개씩 한 개씩 존재하는 경우를 도시한 것이다.
도 6은 패리티 검사 행렬 H를 생성하는 일 과정을 설명하기 위한 절차 흐름도이다. 이하에서 설명되는 방법은 일 예에 불과한 것으로서, 상기한 바와 같은 특징을 갖는 H는 다양한 방법에 의해 구할 수 있을 것이다.
첫 번째, H(1) d의 (1, 1) 서브행렬에 대하여 모든 행과 열의 무게가 0 또는 1이 되도록 구성한다[S51]. 이하에서 H(1) d의 (1, 1) 서브행렬과 같이 다른 서브행렬을 생성함에 있어 기본이 되는 서브행렬을 기본 퍼뮤테이션 행렬(base permutation matrix)이라 한다. 상기 기본 퍼뮤테이션 행렬로서 단위 행렬(identity matrix)을 사용하는 것이 바람직하다.
다음으로, 상기 기본 퍼뮤테이션 행렬의 행 또는 열을 재배열(permutation)하여 상기 H(1) d의 각 서브행렬을 순차적으로 생성한다[S51~S53]. 상기 H(1) d의 각 서브행렬을 순차적으로 생성함에 있어서 상기 Hd에서 임의의 어느 두 행(rows)도 둘 이상의 지점에 동시에 1을 갖지 않도록 행 또는 열을 재배열(permutation)하는 것이 바람직하다. 이하에서 상기 기본 퍼뮤테이션 행렬의 행 또는 열의 재배열에 의해 형성되는 서브행렬을 퍼뮤테이션 행렬(permutation matrix)이라 한다.
다음으로, 나머지 H(i) d를 상기 첫 번째 및 두 번째 방법에 의하여 순차적으로 생성한다[S54]. 또한, 모든 H(i) d(여기서 i는 1, 2,....,r/(1-r)) 을 결합하여 Hd를 생성한다[S55]. 마지막으로, Hd와 Hp를 결합하여 H를 생성한다[S56].
도 7은 z×z 차원의 다수의 퍼뮤테이션 행렬(permutation matrices) 또는 0 행렬(zero matrix)을 포함하는 패리티 검사 행렬 H의 구성도이다. 도 7에서 Pi,j는 z×z 차원의 퍼뮤테이션 행렬 또는 0 행렬을 의미한다.
상기 기본 행렬 Hb를 (Hb)d 및 (Hb)p 두 부분에 의해 정의할 때((Hb)p 및 (Hb)d 는 기본 행렬 Hb의 일부분으로서 Hb=[(Hb)d|(Hb)p]의 구조임.), 상기 (Hb)p 부분은 일반적으로 블록 이중 대각 행렬(block dual diagonal matrix)을 사용하는 것이 바람직하나, 이에 한정되는 것은 아니다. 블록 이중 대각 행렬은 주 대 각(main diagonal) 및 상기 주 대각 바로 밑 또는 바로 위쪽의 대각이 모두 단위 행렬이고 나머지가 모두 0 행렬인 것을 의미한다. 상기 (Hb)p 부분을 블록 이중 대각 행렬로 할 경우 상기 Hp 부분에 열 무게가 1인 열이 발생하는데, 이를 피하기 위하여 하나 또는 두 개 정도의 제로 행렬을 단위 행렬로 대체하는 것이 바람직하다.
상기 기본 행렬 Hb의 (Hb)d 부분은 상기 기본 퍼뮤테이션 행렬과 상기 기본 퍼뮤테이션 행렬의 각 행을 일정 간격만큼 쉬프트시켜 형성한 다수의 퍼뮤테이션 행렬과 영 행렬(zero matrix)의 조합에 의해 구성된다. 상기 행렬들을 조합하여 상기 기본 행렬 Hb를 구성함에 있어서는 최고의 성능을 제공하는 부호화 및 복호화 동작을 고려하는 것이 바람직하다.
상기 기본 행렬 Hb 전체에 대하여 상기 다수의 퍼뮤테이션 행렬들의 퍼뮤테이션 정보들 중 임의의 어느 두 개의 퍼뮤테이션 정보가 차지하는 개수의 차이가 기 설정된 제1임계값 이하이어야 한다. 즉, 상기 기본 행렬 Hb 전체에 대하여 각 퍼뮤테이션 행렬의 개수가 동일하도록 하거나 유사하도록 하는 것이 바람직하다. 상기 제1임계값은 적을수록 바람직하나 3 ~ 7 범위까지는 허용될 수 있다.
상기 패리티 검사 행렬 H 전체에 있어 4-싸이클이나 6-싸이클이 생기지 않거나 최소화할 수 있도록 하는 것이 바람직하다. 특히, 상기 패리티 검사 행렬은 4-싸이클을 갖지 않는 것이 바람직하다. 또한, 상기 패리티 검사 행렬 H는 기 설 정된 제2임계값(Cmax) 이하의 6-싸이클을 갖는 것이 바람직하다. 4-싸이클(4-cycle)이라 함은 패리티 검사 행렬 H의 임의의 두 행이 두 개의 지점에 동시에 1을 갖는 경우를 의미한다. 6-싸이클이라 함은 상기 패리티 검사 행렬 H의 임의의 세 행 중에서 선택된 모든 조합 가능한 두 개의 행이 같은 지점에 1을 갖는 경우를 의미한다.
추가적으로, 상기 패리티 검사 행렬 H 전체에 대하여 열 무게(column weight) 및/또는 행 무게(row weight)가 규칙성을 가져야 한다. 상기 기본 퍼뮤테이션 행렬로 z×z의 단위 행렬을 사용하면 상기 패리티 검사 행렬 H 전체에 대하여 열 무게 및/또는 행 무게가 규칙성을 갖도록 할 수 있다.
또한, 모든 코드 레이트(code rate) 및 모든 코드워드 크기(codeword size)에 대하여 좋은 부호화 또는 복호화 성능을 갖도록 상기 기본 행렬 Hb를 구성하여야 한다. 최근에 이동통신 시스템에서는 가변적인 코드 레이트 및 코드워드 크기가 적용되기 때문에, 상기 기본 행렬 Hb을 상기 기본 퍼뮤테이션 행렬과 상기 기본 퍼뮤테이션 행렬의 각 행을 특정 방향으로 일정 간격만큼 쉬프트시켜 형성한 다수의 퍼뮤테이션 행렬과 영 행렬(zero matrix)의 조합에 의해 구성할 때 모든 코드 레이트 및 모든 코드워드 크기에 대하여 좋은 성능을 갖도록 최적화되어야 한다.
제1 기본 행렬은 그 원소로서 둘 이상의 퍼뮤테이션 정보를 가질 수 있다. 즉, 변동되는 상기 기본 퍼뮤테이션 행렬의 차원(z)의 전체 범위를 둘 이상의 범위로 분할하여 각 범위에 최적화된 퍼뮤테이션 정보를 설정하는 것이다. 예를 들어, 변동되는 z의 전체 범위가 10 ~ 96 일 경우 상기 전체 범위를 10 ~ 53 까지의 범위와 54 ~ 96 까지의 범위로 나누어 각각의 범위에 최적화된 제1 기본 행렬을 구성한다. 이렇게 되면 상기 제1 기본 행렬이 두 개가 되는데 각각을 별도로 저장하지 않고 하나의 제1 기본 행렬의 각 원소로서 두 가지 값을 저장함으로써 부호화 또는 복호화 성능을 높임과 동시에 메모리를 절약할 수 있다.
상기 패리티 검사 행렬 H는 그 원소(element)로서 상기 기본 퍼뮤테이션 행렬 및 상기 기본 퍼뮤테이션 행렬의 행 또는 열의 재배열에 의해 형성된 다수의 퍼뮤테이션 행렬들을 식별하기 위한 퍼뮤테이션 정보(permutation information)를 포함하는 기본 행렬 Hb에 의해 표현될 수 있다.
도 1의 상기 LDPC 부호기(13) 또는 상기 LDPC 복호기(35)에서 상기 패리티 검사 행렬 H를 이용하여 부호화 또는 복호화를 수행하는데 있어서, 상기 기본 퍼뮤테이션 행렬 및 상기 퍼뮤테이션 정보를 이용하여 상기 기본 행렬 Hb를 확장하여(expanding) 패리티 검사 행렬(parity check matrix) H를 생성하고, 상기 생성된 패리티 검사 행렬을 이용하여 부호화 또는 복호화를 수행하는 것이 더욱 바람직하다.
상기 기본 행렬 Hb를 확장한다는 것은 상기 기본 행렬 Hb의 각 원소(element)인 퍼뮤테이션 정보를 상기 퍼뮤테이션 정보가 의미하는 z×z 행렬, 즉 상기 기본 퍼뮤테이션 행렬, 퍼뮤테이션 행렬 또는 제로 행렬로 대체한다는 의미이다. 상기 기본 행렬 Hb를 확장에 의해 결과적으로 상기 패리티 검사 행렬 H가 생 성된다.
상기 기본 행렬 Hb에서 H 행렬을 생성하는 과정을 다음과 같은 과정으로 생각하는 것도 가능하다. 먼저, Hb에서 -1은 '제로 행렬'로 표시하고 -1이 아닌 다른 퍼뮤테이션 정보는 1로 표시한 Hb와 동일한 차원의 행렬을 이진 기본 행렬(binary base matirx) Hbin이라 하고, 상기 이진 기본 행렬 Hbin을 사용하여 H 행렬을 생성할 경우에는 Hbin에서 Hb를 만들어내는 과정이 추가된다. Hb가 얻어진 후의 과정은 위에서 설명한 과정과 동일하다.
전술한 바와 같이, 상기 다수의 퍼뮤테이션 행렬은 적어도 하나 이상의 기본 퍼뮤테이션 행렬(base permutation matrix)로부터 일정한 규칙에 의해 변형되어 형성된 것들이다. 바람직하게는, 상기 기본 퍼뮤테이션 행렬은 단위 행렬(identity matrix)이다. 또한, 상기 하나 이상의 기본 퍼뮤테이션 행렬 및 상기 다수의 퍼뮤테이션 행렬은 행(row)과 열(column)의 무게(weight)가 1인 것이 바람직하다. 즉, 상기 다수의 퍼뮤테이션 행렬의 모든 행 및 모든 열의 원소(element) 중에서 하나의 원소만 1이고 나머지 원소들은 0인 것이 바람직하다.
상기 적어도 하나 이상의 기본 퍼뮤테이션 행렬을 변형하여 상기 다수의 퍼뮤테이션 행렬을 형성하는 일정한 규칙으로 이하에서는 상기 기본 퍼뮤테이션 행렬의 모든 행(또는 열)을 재배열하는 방법, 즉 상기 기본 퍼뮤테이션 행렬의 모든 행(또는 열)을 특정 방향으로 일정 간격만큼 쉬프트(shift)시키는 방법을 고려한 다.
상기 패리티 검사 행렬 H는 그 원소로서 기본 퍼뮤테이션 행렬 및 상기 기본 퍼뮤테이션 행렬의 행 또는 열의 재배열(Permutation)에 의해 형성한 다수의 퍼뮤테이션 행렬들을 식별하기 위한 퍼뮤테이션 정보를 포함하는 기본 행렬(base matrix) Hb에 의해 표현될 수 있다. 이하에서 설명되는 실시예는 상기 기본 퍼뮤테이션 행렬로부터 상기 다수의 퍼뮤테이션 행렬들을 형성하기 위해 상기 기본 퍼뮤테이션 행렬의 각 행 또는 열을 특정 방향(예: 오른쪽 또는 왼쪽)으로 일정 간격만큼 쉬프트(shift)시키는 경우를 그 대상으로 한다.
가장 큰 차원(zmax)을 갖는 제1 기본 퍼뮤테이션 행렬에 대한 제1 기본 행렬만을 저장하고 다른 차원(z)을 갖는 제2 기본 퍼뮤테이션 행렬에 대한 기본 행렬은 부호화 또는 복호화를 위해 필요할 때마다 상기 제1 기본 행렬을 이용하여 생성된다. 즉, 상기 기본 행렬 Hb는 가장 큰 차원(zmax)의 기본 퍼뮤테이션 행렬을 기준으로 하나만 정하고, 나머지 차원(z)의 기본 퍼뮤테이션 행렬에 대해서는 상기 하나의 기본 행렬 Hb의 원소인 퍼뮤테이션 정보, 즉 각 쉬프트된 양을 z로 나눈 나머지를 해당 차원의 기본 퍼뮤테이션 행렬에 대한 쉬프트된 양으로 하는 것이다.
부호화 또는 복호화 시에 코드워드의 크기에 따라 상기 기본 퍼뮤테이션 행렬의 차원을 5×5로 할 해야할 경우가 발생될 수 있다. 이러한 경우에 적용될 수 있는 일례가 모듈로(modulo) 연산이다. 즉, 상기 기본 행렬 Hb에서 '11'은 상기 5 ×5의 기본 퍼뮤테이션 행렬의 각 행을 '11' 만큼씩 쉬프트시킨 것을 의미하는 것이 아니라, 'mod(11, 5)=1' 만큼씩 상기 특정 방향으로 쉬프트시킨 것을 의미하는 것이다. 여기서, mod(A, B)는 A를 B로 나눈 나머지 값을 의미한다.
이하에서는 코드워드 길이(length of codeword)가 가변됨에 따라 기본 퍼뮤테이션 행렬의 차원(즉, z 값)이 변동되는 경우 효율적으로 패리티 검사 행렬 H를 생성하여 그에 따른 LDPC 부호화 및 복호화를 수행하는 방법에 관한 실시예를 설명하도록 한다. 즉, 이하에서 설명되는 실시예는 제1 기본 행렬을 이용하여 다른 차원(z)의 기본 퍼뮤테이션 행렬에 대한 제2 기본 행렬을 생성함에 있어서, 상기 제1 기본 행렬의 쉬프트 패턴과 그 구조가 유사한 제2 기본 행렬을 생성함으로써 부호화 또는 복호화 성능을 향상시키는 실시예에 관한 것이다.
도 9에서, 상기 송신기(10)는 상기 제1 기본 행렬을 이용하여 상기 제2 기본 행렬을 생성한다 상기 제2 기본 행렬의 생성 방법을 도 8에 도시된 기본 행렬의 예를 들어 상세히 설명하도록 한다. 도 8에서 zmax는 12이다. 즉, 도 8에 도시된 제1 기본 행렬 Hb는 12×12 차원의 제1 기본 퍼뮤테이션 행렬과 상기 제1 기본 퍼뮤테이션 행렬의 각 행을 특정 방향으로 일정 간격만큼 쉬프트(shift)시켜 형성한 다수의 퍼뮤테이션 행렬 및 영(zero) 행렬을 나타내는(indexing) 정보들에 의해 구성된다. 예를 들어, 상기 제1 기본 행렬 Hb에서 '11'은 상기 기본 퍼뮤테이션 행렬의 각 행을 특정 방향으로 '11'만큼 쉬프트시켜 형성된 퍼뮤테이션 행렬을 의미한다.
도 10a는 12×12 차원의 제1 기본 퍼뮤테이션 행렬에 대한 제1 기본 행렬로 부터 5×5 차원의 제2 기본 퍼뮤테이션 행렬에 대한 제2 기본 행렬을 생성하기 위한 방법을 설명하기 위한 도면이다. 상기 송신기에서 인코딩시에 코드워드의 크기에 따라 제2 기본 퍼뮤테이션 행렬의 차원(z)을 작게 할 해야할 경우에, 도 10a에 도시된 바와 같은, 그룹핑(grouping) 방법을 사용하도록 한다. 즉, 상기 제1 기본 행렬에서 '0', '1' 및 '2'는 상기 제2 기본 행렬에서 '0'으로, '3' 및 '4'는 '1'로, '5' 및 '6'은 '2'으로, '7', '8' 및 '9'는 '3'으로, '10' 및 '11'은 '4'로 매핑시킴으로써 상기 제2 기본 행렬을 생성할 수 있다.
상기의 그룹핑 방법은 상기 제1 기본 퍼뮤테이션 행렬에 대하여 이웃하는 쉬프트 수를 갖는 퍼뮤테이션 행렬들을 상기 제2 기본 퍼뮤테이션 행렬에 대한 하나의 퍼뮤테이션 행렬로 매핑시킴으로써 상기 제1 기본 행렬의 기본 특성을 최대한 유지한 제2 기본 행렬을 생성하도록 고안된 것이다. 도 10a의 예에서는 상기 제1 기본 퍼뮤테이션 행렬에 대한 둘 이상의 퍼뮤테이션 행렬들을 상기 제2 기본 퍼뮤테이션 행렬에 대한 하나의 퍼뮤테이션 행렬로 매핑시키는 일 예이지만, 경우에 따라서는 상기 제1 기본 퍼뮤테이션 행렬에 대한 하나의 퍼뮤테이션 행렬을 상기 제2 기본 퍼뮤테이션 행렬에 대한 하나의 퍼뮤테이션 행렬로 매핑시키는 것도 가능할 것이다.
상기의 그룹핑 방법을 정량화 할 수 있는 방법으로서 다음의 수학식 6에 의해 정의되는 플로어(floor) 연산을 이용할 수 있다.
Shift(z)=floor(shift(z max )z/z max )
여기서, shift(z)는 z×z 퍼뮤테이션 행렬의 쉬프트 간격의 수, floor(x)는 x로부터 음의 무한대(minus infinity) 방향으로 가장 가까운 정수를 의미한다.
도 10b는 수학식 6에 의해 12×12 차원의 제1 기본 퍼뮤테이션 행렬에 대한 제1 기본 행렬로부터 5×5 차원의 제2 기본 퍼뮤테이션 행렬에 대한 제2 기본 행렬을 생성하기 위한 매핑 방법을 도시한 것이다.
예를 들어, 12×12 차원의 제1 기본 퍼뮤테이션 행렬의 각 행을 특정 방향으로 '7' 만큼씩 쉬프트시켜 형성한 퍼뮤테이션 행렬을 5×5 차원의 제2 기본 퍼뮤테이션 행렬에 대하여 매핑시켜 형성한 퍼뮤테이션 행렬은 수학식 5에 의하여 다음과 같이 구할 수 있다.
shift(5) = floor(shift(12)×5÷2) = floor(7×5÷2) = floor(2.92) = 2
다시 말해서, 12×12 차원의 제1 기본 퍼뮤테이션 행렬의 각 행을 일정 방향으로 '7' 만큼씩 쉬프트시켜 형성한 퍼뮤테이션 행렬은 5×5 차원의 제2 기본 퍼뮤테이션 행렬에 대하여 각 행을 '2' 만큼씩 쉬프트시켜 형성한 퍼뮤테이션 행렬에 매핑된다.
이와 같은 방법으로 상기 제1 기본 행렬의 각 원소 값들을 상기 제2 기본 행렬의 원소 값들로 대치시킴으로써 상기 제2 기본 행렬을 생성할 수 있다. 상기의 'floor' 연산은 이를 하드웨어 또는 소프트웨어로 구현할 때 복잡도를 매우 단순하게 하는 것이 가능하다.
도 9에서, 상기 제2 기본 행렬이 생성되면[S41], 상기 제2 기본 퍼뮤테이션 행렬 및 상기 제2 기본 행렬을 이용하여 패리티 검사 행렬 H를 생성한다[S43]. 상기 제2 기본 행렬은 그 원소로서 영 행렬, 단위 행렬 또는 상기 제2 기본 퍼뮤테이션 행렬의 모든 행들을 일정 간격만큼 쉬프트시켜 형성한 퍼뮤테이션 행렬들로 구성되므로 상기 제2 기본 퍼뮤테이션 행렬과 상기 제2 기본 행렬을 이용하여 상기 z×z 차원의 패리티 검사 행렬 H를 용이하게 생성할 수 있다.
상기 제2 기본 행렬을 생성하는 과정[S41] 및 상기 패리티 검사 행렬 H를 생성하는 과정[S43]을 동시에 진행하는 것도 가능하다. 즉, 상기 수학식 5에 의해 상기 제2 기본 행렬의 각 원소를 구하면서 각 원소를 그 원소 값에 대응하는 영 행렬, 기본 퍼뮤테이션 행렬 또는 퍼뮤테이션 행렬로 대체하여 상기 패리티 검사 행렬 H를 생성할 수 있다.
상기 기본 퍼뮤테이션 행렬은 코드워드 길이가 변동됨에 따라 그 차원(즉, z 값)을 달리해야 하는데, 메모리 사용 측면을 고려하여 가장 큰 차원(zmax)을 갖는 제1 기본 퍼뮤테이션 행렬에 대한 제1 기본 행렬만을 저장하고 다른 차원(z)을 갖는 제2 기본 퍼뮤테이션 행렬에 대한 기본 행렬은 부호화 또는 복호화를 위해 필요할 때마다 상기 제1 기본 행렬을 이용하여 생성하는 것이 바람직하다는 것은 상술한 바와 같다. 또한, 코드워드 길이의 변화에 따라 상기 기본 퍼뮤테이션 행렬의 차원의 크기를 서로 다르게 설정하는 것이 바람직하다.
도 11은 상기 그룹핑 방식으로 모듈로(modulo) 방식을 적용했을 때와 플로 어(floor) 방식을 적용했을 때를 시뮬레이션하여 도출한 성능 곡선을 도시한 것으로서, 모듈로 방식에 비해 플로어 방식의 성능(performance)이 우수한 것을 확인할 수 있다.
도 12에서, 본 발명에 따른 LDPC 코드를 이용한 부호화 장치의 바람직한 일 실시예는, 메모리 모듈(131)과, 기본 행렬 생성 모듈(132)과, 패리티 검사 행렬 생성 모듈(133) 및 부호화 모듈(134)을 포함하여 구성된다. 상기 메모리 모듈(131)은 상기 제1 기본 퍼뮤테이션 행렬, 상기 제2 기본 퍼뮤테이션 행렬 및 상기 제1 기본 행렬을 저장한다. 상기 기본 행렬 생성 모듈(132)은 상기 메모리 모듈(131)에 저장되어 있는 상기 제1 기본 퍼뮤테이션 행렬 및 상기 제1 기본 행렬을 이용하여 상기 제2 기본 행렬을 생성한다. 상기 패리티 검사 행렬 생성 모듈(133)은 상기 메모리 모듈(131)에 저장되어 있는 상기 제2 기본 퍼뮤테이션 행렬 및 상기 기본 행렬 생성 모듈(132)에 의해 생성된 상기 제2 기본 행렬을 이용하여 상기 패리티 검사 행렬을 생성한다. 상기 부호화 모듈(134)은 상기 패리티 검사 행렬 생성 모듈(133)에 의해 생성된 상기 패리티 검사 행렬을 이용하여 입력 소스 데이터를 부호화한다.
코드워드의 길이가 변동되지 않는 경우에는 상기 메모리 모듈(131)은 하나의 기본 퍼뮤테이션 행렬과 하나의 기본 행렬만을 저장하면 되고, 이 경우 상기 기본 행렬 생성 모듈(132)은 불필요하다. 또한, 상기 제1 또는 제2 기본 퍼뮤테이션 행렬로서 단위 행렬과 같은 간단한 구조의 행렬을 사용하면 상기 메모리 모듈(131)이 상기 제1 또는 제2 기본 퍼뮤테이션 행렬을 저장하지 않아도 될 것이다. 상기 기본 행렬 생성 모듈(132)에서의 상기 제2 기본 행렬 생성 방법, 상기 패리티 검사 행렬 생성 모듈(133)에서의 상기 패리티 검사 행렬 생성 방법 및 상기 부호화 모듈(134)에서의 부호화 방법은 상술한 바와 같다. 상기 기본 행렬 생성 모듈(132), 상기 패리티 검사 행렬 생성 모듈(133) 및 상기 부호화 모듈(134)은 각 기능에 따라 소프트웨어 또는 하드웨어에 의해 구현될 수 있음은 당업자에게 자명한 사항이다.
도 13은 본 발명에 따른 복호화 장치의 바람직한 일 실시예의 블록 구성도로서, 메모리 모듈(351)과, 기본 행렬 생성 모듈(352)과, 패리티 검사 행렬 생성 모듈(353)과, 복호화 모듈(354)을 포함하여 구성된다. 상기 메모리 모듈(351), 상기 기본 행렬 생성 모듈(352) 및 상기 패리티 검사 행렬 생성 모듈(353)은 도 12의 각 대응되는 구성요소와 동일한 기능을 수행한다. 상기 복호화 모듈(354)은 상기 패리티 검사 행렬 생성 모듈(353)에 의해 생성된 패리티 검사 행렬을 이용하여 입력 데이터를 복호한다. 그 외 사항은 도 12를 참조하여 설명한 바와 같다.
이하에서는 본 발명에 따른 LDPC 코드에 의한 부호화 및 복호화 방법이 좋은 성능(performance)을 발휘할 수 있도록 하기 위한 상기 기본 퍼뮤테이션 행렬 및 상기 기본 행렬의 구체적 예들에 관하여 설명하도록 한다.
도 14a 내지 도 14f는 상기한 바와 같은 특성을 갖는 상기 기본 행렬 Hb의 바람직한 실시예들을 도시한 것이다. 도 14a 내지 도 14f에 도시된 예는 코드 레이트(code rate)가 3/4인 경우의 기본 행렬로서, '0'은 z×z 차원의 단위 행렬이고, '-1'은 z×z 차원의 제로 행렬이며, 1 이상의 정수는 상기 z×z 차원의 단위 행렬의 각 행(또는 열)을 특정 방향으로(예: 오른쪽 또는 왼쪽) 상기 정수만큼 쉬프트 시켜 형성한 퍼뮤테이션 행렬을 의미한다.
코드 레이트가 1/2인 경우의 기본 행렬 Hb는, 도 15에 도시된 바와 같이, 상기 코드 레이트가 3/4일 때의 기본 행렬의 크기를 줄여서(shortening) 형성할 수 있다
도 16은 상기한 바와 같은 특성을 갖는 상기 기본 행렬 Hb의 다른 예를 도시한 것이다. 도 16에 도시된 예는 코드 레이트가 2/3인 경우의 기본 행렬이고, '0', '-1' 및 기타 1 이상의 정수의 의미는 도 14a 내지 도 14f의 예에서와 동일하다.
도 17은 코드 레이트가 3/4인 경우의 상기 기본 행렬의 다른 실시예이다. 도 17에 도시된 기본 행렬의 특징은 4 싸이클 및 6 싸이클의 수를 최소화하였고, 각 열의 무게(column weight)가 규칙성을 갖도록 하였으며, 상기 기본 행렬의 각 원소는 모든 코드 레이트(code rate) 및 코드워드 크기(codeword size)에 대하여 최적의 성능을 갖도록 상기 기본 퍼뮤테이션 행렬을 쉬프트시킨 것이다. 도 17의 예는, 도 14a 내지 도 14f의 예와 비교할 때, 시뮬레이션 결과 그 크기가 1/4로 줄었으면서도 거의 동일한 성능을 발휘하였다.
도 18은 코드 레이트가 1/2인 경우의 상기 기본 행렬의 또 다른 실시예이다. 도 18의 예에서는, 상기 기본 행렬을 보다 효과적인 병렬 처리(parallel processing)를 위하여 도 18에 도시된 기본 행렬(base matrix)에서 순차적인 행의 순서(row order)를 (1 → 7 → 2 → 8 → 3 → 9 → 4 → 10 → 5 → 11 → 6 → 12)로 정했을 때 인접하는 임의의 두 행에 대해서도 서로 'non-zero' 원소(element)를 임의의 열(column) 방향으로 중첩되지(overlap) 않도록 디자인하였다. 'non-zero' 원소란 상기 기본 행렬을 구성하는 원소들 중에서 0 행렬(zero matrix)이 아닌 모든 원소를 의미한다. 예를 들어, 도 18에 도시된 기본 행렬에서, 여덟 번째 행은 두 번째 행 또는 세 번째 행과 비교했을 때 임의의 열 방향으로도 'non-zero' 원소가 중첩적으로 존재하지 않는 것을 알 수 있다.
도 19는 코드 레이트가 1/2인 경우의 상기 기본 행렬의 또 다른 실시예이다. 도 19의 예에서는, 상기 기본 행렬을 보다 효과적인 병렬 처리(parallel processing)를 위하여 도 19에 도시된 기본 행렬에서 다음과 같은 두 행의 쌍들 (1, 7), (2, 8), (3, 9), (4, 10), (5, 11), (6, 12)에 대해서 서로 'non-zero' 원소(element)를 임의의 열(column) 방향으로 중첩되지(overlap) 않도록 디자인하였다.
도 18 및 도 19의 실시예에 따르면, 복조(decoding)를 위한 구현(implementation) 과정에서 효율적인 병렬 처리(parallel processing)가 가능한 특징이 있다.
도 20 내지 도 22는 코드 레이트가 각각 1/2, 2/3 및 3/4인 경우에 상기 기본 행렬의 또 다른 실시예들이다. 도 20 내지 도 22의 실시예들에 있어서는, 상기 기본 행렬들을 작은 사이즈로 확장(expansion)한 경우, 즉, 작은 차원(z×z)의 기본 퍼뮤테이션으로 확장한 경우에 좋은 성능을 발휘하는 예들이다.
도 23은 코드 레이트가 3/4인 경우에 상기 기본 행렬의 또 다른 실시예이다. 도 23에 도시된 기본 행렬은 상기 기본 행렬을 모든 차원(z)의 기본 퍼뮤테이션 행렬에 의해 확장(expansion)했을 때, 특히 z=56일 때, 성능이 최적화되도록 고안된 것이다.
도 24 내지 도 25는 코드 레이트가 2/3인 경우에 상기 기본 행렬의 또 다른 실시예들로서, 성능 향상을 위해 열 무게(column weight)를 불규칙(irregular)하게 디자인한 것이다. 특히, 도 25에 도시된 실시예는 코드워드의 길이(c)가, c=576이나 c=672 같은 짧은 사이즈에서 성능을 개선한 예이다.
도 26은 코드 레이트가 2/3인 경우에 상기 기본 행렬의 또 다른 실시예를 도시한 것이다. 도 26에서 'X'는 0부터 95까지의 임의의 정수를 의미하는 값으로서, 86, 89, 95 중의 어느 하나의 값으로 하는 것이 바람직하다. 가장 바람직하게는 X=95이다. 도 26의 예에서는 병렬 처리 특징(parallel processing feature)을 가지며 좋은 성능을 낼 수 있도록 디자인되었다. 여기서 병렬 처리 특징이란 디코딩의 시간을 상당히 단축시킬 수 있는 특징으로서 구체적으로는 각 행(row)을 1,2,3,4,5,6,7,8로 인덱스(index)하였을 때 행들을 서로 교환하여 생성되는 행렬에서 서로 인접하는 행 간에는 'non-zero' 항들이 서로 중첩(non-overlapping)하지 않는 것을 의미한다. 여기서 'non-zero' 항이란 -1이 아닌 0에서 95까지의 쉬프트 수(shift number)를 의미한다. 또한, 인접하는 행이란 행들을 서로 교환하여 생성되는 행렬에서 첫 번째와 마지막 행간에도 'non-zero' 항들이 중첩(non-overlapping)이 되지 않는 것을 포함한다. 도 26의 상기 기본 행렬에서 이러한 조건을 만족하는 행 교환에 의해 만들어지는 기본 행렬의 여러 예들 중의 하나는 1- 4-7-2-5-8-3-6-(1) 로서, 도 27에 도시된 바와 같다.
도 27에서, 기본 행렬의 행들을 서로 교환하여 생기는 모든 기본 행렬들을 도 26의 기본 행렬이 정의하는 LDPC 코드와 동일한 LDPC 코드를 정의하게 된다. 따라서, 디코딩과 인코딩에 있어서 행이 서로 교환된 기본 행렬을 이용해서도 도 26의 기본 행렬과 동일한 성능을 낼 수 있는 디코딩과 인코딩을 수행할 수 있다.
이상의 설명에서 좋은 성능을 발휘한다는 것은, 예를 들면, 프레임 에러 오율(FER: Frame Error Rate)이 좋다는 의미이다.
이하에서는 상기 기본 퍼뮤테이션 행렬 및 상기 기본 행렬에 포함된 퍼뮤테이션 정보를 이용하여 상기 기본 행렬을 확장(expanding)함으로써 상기 패리티 검사 행렬 H를 생성한 후에 상기 패리티 검사 행렬 H를 이용하여 입력 소스 데이터를 부호화 또는 복호화하는 방법에 대하여 설명하도록 한다. 이하에서 설명되는 실시예는 IEEE802.16e 표준(specification)의 내용에 근거하여 광대역 무선접속 시스템(broadband wireless access system)에서의 단말(MSS: Mobile Subscriber Station)과 기지국(BS: Base Station) 사이의 데이터 전송시에 사용되는 부호화 또는 복호화 방법에 관한 것이다.
단말이 셀(cell)내로 들어가면 상기 단말은 기지국과 SBC-REQ 메시지 및 SBC-RSP 메시지를 교환하여 상기 단말 및 기지국의 성능(capability)를 협상한다. 다음의 표1 및 표2는 각각 상기 SBC-REQ 메시지 및 SBC-RSP 메시지의 포맷을 나타낸 것이다.
Syntax Size Notes
SBC-REQ_Message_Fromat(){
Management Message Type = 26 8 bits
TLV Encoded Information variable TLV specific
}
Syntax Size Notes
SBC-RSP_Message_Fromat(){
Management Message Type = 27 8 bits
TLV Encoded Information variable TLV specific
}
상기 단말 및 기지국의 성능은 TLV 메시지에 포함된다. 상기 단말과 기지국이 지원하는 채널 코딩 방식(channel coding schemes)도, 이하에서 설명되는 바와 같이, TLV 필드(TLV field)에 포함된다.
표3 및 표4는 상기 TLV 필드의 포맷으로서 각각 IEEE802.16e 표준에서 하향링크(downlink) 데이터 수신을 위해 지원되는 복조기 선택 사항들(demodulator options) 및 상향링크(uplink) 데이터 전송을 위해 지원되는 변조기 선택 사항들(modulator options)을 표시하기 위한 것이다. 비트값이 '0'일 때는 해당 복조 방식을 지원하지 않음을 의미하고, 비트값이 '1'일 때는 해당 복조 방식을 지원함을 의미한다.
Type Length Value Scope
151 1 bit Bit #0: 64-QAM Bit #1: BTC Bit #2: CTC Bit #3: STC Bit #4: AAS Diversity Map Scan Bit #5: AAS Direct Signaling Bit #6: H-ARQ Bit #7: Reserved; shall be set to zero Bits# 8:LDPC Bits#9-15: Reserved; shall be set to zero SBC-REQ SBC-RSP
Type Length Value Scope
152 1 Bit# 0: 64-QAM Bit# 1: BTC Bit# 2: CTC Bit# 3: AAS Diversity Map Scan Bit# 4: AAS Direct Signaling Bit# 5: H-ARQ Bits# 6: LDPC Bits# 7: Reserved; shall be set to zero SBC-REQ SBC-RSP
153 1 The number of HARQ ACK Channel SBC-REQ SBC-RSP
일반적으로 코드 레이트(code rate)가 낮을수록 높은 코딩 게인(Coding Gain)을 얻을 수 있으나, 주어진 대역에서 전송할 수 있는 정보량이 줄어들게 된다. 따라서, 데이터 전송 시점에서 무선 채널의 상태를 바탕으로 전송률을 정하게 된다.
즉, 무선 채널 환경이 좋은 경우에는 높은 코드 레이트로 전송하여 주어진 대역에서 보다 많은 데이터를 전송하고, 무선 채널 환경이 나쁜 경우에는 낮은 코드 레이트로 전송하여 전송 성공률을 높이게 된다. 이러한 채널 정보는 채널 품질 지시 채널(CQICH: Channel Quality Indication Channel)을 통해 데이터 수신측에서 데이터 송신측으로 전송된다. 송신측은 수신된 CQICH 정보와 가용 무선 자원을 바탕으로 변조 차수(modulation order, QPSK, 16QAM, 64QAM 중 택일)와 코드 레이트를 결정한다.
단말이 LDPC 코드에 의한 부호화를 통해 채널 코딩을 한 후 기지국으로 데이터를 전송하는 경우, 상기 단말은 상기 데이터 앞에 위치하는 상향링크 채널 서술자(UCD: Uplink Channel Descriptor) 버스트 프로파일 인코딩(burst profile encodings)을 통하여 상기 데이터가 LDPC 채널 인코딩된 것임을 알려준다. 상기 UCD는 코드 레이트를 포함한다. 상기 기지국은 상기 UCD를 통해 전달받은 정보를 이용하여 상기 데이터를 디코딩(decoding)한다. 표5는 UCD 버스트 프로파일 인코딩의 포맷의 일례를 나타낸 것이다.
Name Type (1byte) Length Value
FEC Code type 150 1 0 = QPSK (CC) 1/2 14 = QPSK (CTC) 3/4 1 = QPSK (CC) 3/4 15 = 16-QAM (CTC) 1/2 2 = 16-QAM (CC) 1/2 16 = 16-QAM (CTC) 3/4 3 = 16-QAM (CC) 3/4 17 = 64-QAM (CTC) 2/3 4 = 64-QAM (CC) 2/3 18 = 64-QAM (CTC) 3/4 5 = 64-QAM (CC) 3/4 19 = 64-QAM (CTC) 5/6 6 = QPSK (BTC) 1/2 20 = QPSK (ZT CC) 1/2 7 = QPSK (BTC) 2/3 21 = QPSK (ZT CC) 3/4 8 = 16-QAM (BTC) 3/5 22= 16-QAM (ZT CC) 1/2 9 = 16-QAM (BTC) 4/5 23= 16-QAM (ZT CC) 3/4 10 = 64-QAM (BTC) 5/8 24= 64-QAM (ZT CC) 2/3 11 = 64-QAM (BTC) 4/5 25= 64-QAM (ZT CC) 3/4 12 = QPSK (CTC) 1/2 13 = QPSK (CTC) 2/3 26 = QPSK (LDPC) 1/2 27 = QPSK (LDPC) 2/3 28 = QPSK (LDPC) 3/4 29 = 16-QAM (LDPC) 1/2 30 = 16-QAM (LDPC) 2/3 31 = 16-QAM (LDPC) 3/4 32 = 64-QAM (LDPC) 1/2 33 = 64-QAM (LDPC) 2/3 34 = 64-QAM (LDPC) 3/4 35 = QPSK (LDPC) 2/3 36 = QPSK (LDPC) 3/4 37 = 16-QAM (LDPC) 2/3 38 = 16-QAM (LDPC) 3/4 39 = 64-QAM (LDPC) 2/3 40 = 64-QAM (LDPC) 3/4 41 ... 255 = Reserved
Ranging data Ratio 151 1 Reducing factor in units of 1 dB, between the power used for this burst and power should be used for CDMA Ranging.
Normalized C/N Override 152 5 This is a list of numbers, where each number is encoded by one nibble, and interpreted as a signed integer. The nibbles correspond in order to the list define by Table 332, starting from the second line, such that the LS nibble of the first byte corresponds to the second line in the table. The number encoded by each nibble represents the difference in normalized C/N relative to the previous line in the table.
기지국이 LDPC 채널 코딩을 거친 데이터를 단말로 전송할 경우, 상기 기지국은 상기 단말에 데이터 앞에 위치하는 하향링크 채널 서술자(DCD: Downlink Channel Descriptor) 버스트 프로파일 인코딩(burst profile encodings)를 통해 상기 데이터가 LDPC 코드에 의해 채널 코딩되었음을 알려준다. 상기 DCD는 코드 레이트에 대한 정보도 포함한다. 상기 단말은 상기 DCD에 포함된 정보를 이용하여 상기 데이터를 디코딩한다. 표6은 DCD 버스트 프로파일 인코딩의 포맷의 일례를 나타낸 것이다.
Name Type Length Value
FEC Code Type 150 1 0 = BPSK (CC) 1/2 11 = 64-QAM (BTC) 2/3 1 = QPSK (RS+CC/CC) 1/2 12 = 64-QAM (BTC) 5/6 2 = QPSK (RS+CC/CC) 3/4 13 = QPSK (CTC) 1/2 3 = 16-QAM (RS+CC/CC) 1/2 14 = QPSK (CTC) 2/3 4 = 16-QAM (RS+CC/CC) 3/4 15 = QPSK (CTC) 3/4 5 = 64-QAM (RS+CC/CC) 2/3 16 = 16-QAM (CTC) 1/2 6 = 64-QAM (RS+CC/CC) 3/4 17 = 16-QAM (CTC) 3/4 7 = QPSK (BTC) 1/2 18 = 64-QAM (CTC) 2/3 8 = QPSK (BTC) 3/4 or 2/3 19 = 64-QAM (CTC) 3/4 9 = 16-QAM (BTC) 3/5 10 = 16-QAM (BTC) 4/5 20 = QPSK (ZT CC) 1/2 21 = QPSK (ZT CC) 3/4 22= 16-QAM (ZT CC) 1/2 23= 16-QAM (ZT CC) 3/4 24= 64-QAM (ZT CC) 2/3 25= 64-QAM (ZT CC) 3/4 26=QPSK (LDPC) 1/2 27=QPSK (LDPC) 2/3 28=QPSK (LDPC) 3/4 29=16-QAM (LDPC) 1/2 30=16-QAM (LDPC) 2/3 31=16-QAM (LDPC) 3/4 32=64-QAM (LDPC) 1/2 33=64-QAM (LDPC) 2/3 34=64-QAM (LDPC) 3/4 35=QPSK (LDPC) 2/3 36=QPSK (LDPC) 3/4 37=16-QAM (LDPC) 2/3 38=16-QAM (LDPC) 3/4 39=64-QAM (LDPC) 2/3 40=64-QAM (LDPC) 3/4 41 ... 255=Reserved
DIUC mandatory exit threshold 151 1 0-63.75 dB CINR at or below where this DIUC can no longer be used and where this change to a more robust DIUC is required, in 0.25 dB units. See Figure 81.
DIUC minimum entry threshold 152 1 0-63.75 dB The minimum CINR required to start using this DIUC when changing from a more robust DIUC is required, in 0.25 dB units. See Figure 81.
TCS_enable 153 1 0 = TCS disabled 1 = TCS enabled 2-255 = Reserved
송신측의 부호기(encoder)에서 본 발명에 의한 LDPC 코드를 이용하여 데이터를 부호화하는 방법을 구체적으로 설명하면 다음과 같다. IEEE802.16e 표준에 따르면 상위계층(upper layer)으로부터 데이터를 전달받은 물리계층(physical layer)에서 부호화 전에 패딩(padding) 과정과, 데이터 랜덤화(randomization) 과정과, 패킷 접합(concatenation) 과정 등을 거친다. 상기 패딩 과정은 상위계층으로부터 수신한 데이터의 크기가 정해진 채널 코딩 블록(channel coding block) 크기와 맞지 않는 경우, 데이터 뒷 부분에 '1'을 추가하여 정해진 크기를 맞추는 과정이다. 상기 데이터 랜덤화 과정은 입력 데이터가 일정한 패턴을 가질 경우, 송신시에 비변조 심볼(unmodulated symbol)이 발생되어 수신측에서 클록 복원(clock recovery)에 문제가 발생하는 것을 피하기 위하여 데이터를 분산시키는 과정이다. 상기 패킷 접합 과정은 데이터 전송을 위해 주어진 대역의 크기에 맞게 인코딩 블록(encoding block)의 크기를 정하는 과정이다. 이때 결정되는 인코딩 블록은 {36, 42, 48, 54, 56, 60, 63, 64, 66, 72, 78, 80, 81, 84, 88, 90, 96, 99, 102, 104, 108, 112, 114, 117, 120, 128, 132, 135, 136, 138, 144, 152, 153, 160, 162, 168, 171, 176, 180, 184, 189, 192, 198, 207, 216} 중의 하나이다. 이러한 과정을 거친 데이터가 송신측 부호기의 입력 소스 데이터가 된다.
상기한 바와 같은 과정에 의해 부호화된 데이터는 물리 채널(physical channel)을 통하여 수신측으로 전송된다. IEEE802.16e 표준의 경우, 부호화된 데이터는 할당된 OFDM(Orthodgonal Frequency Division Multiplexing) 심볼에 매핑(mapping)되어 전송된다. 이때, 매핑되는 심볼의 변조 차수(modulation order)는, 상기한 바와 같이, 주어진 대역의 크기와 전송 채널 상태를 고려하여 결정된다.
본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
본 발명의 보다 나은 이해를 위해 첨부되고 본 출원의 일부를 구성하는 도면은 본 발명의 실시예를 설명하고 상세한 설명과 함께 본 발명의 원리를 설명한다. 도면에서;
도 1은 본 발명의 바람직한 실시예들을 설명하기 위한 통신 시스템 구성도이고,
도 2는 H=[Hd|Hp]의 관계를 설명하기 위한 예시 도면이고,
도 3은 이중 대각 행렬의 구조를 설명하기 위한 예시도이고,
도 4는 기본 행렬 Hb를 도시한 것이고,
도 5는 LDPC 코드를 이용한 부호화 및 복호화 방법의 일 실시예를 도시한 것이고,
도 6는 예를 들어, m=4일 때 (1, 1), (1, 2),..., (4, 4)인 16 개의 서브행렬을 갖는 H(i) d를 도시한 것이고,
도 7은 r=1/2일 때, 패리티 검사 행렬 H를 도시한 것이고,
도 8은 패리티 검사 행렬 H를 생성하는 과정을 설명하는 순서도이고,
도 9는 z×z 차원의 다수의 퍼뮤테이션 행렬(permutation matrices) 또는 0 행렬(zero matrix)을 포함하는 패리티 검사 행렬 H의 구성도이고,
도 10a는 12×12 차원의 제1 기본 퍼뮤테이션 행렬에 대한 제1 기본 행렬로부터 5×5 차원의 제2 기본 퍼뮤테이션 행렬에 대한 제2 기본 행렬을 생성하기 위 한 매핑 방법을 도시한 것이고,
도 10b는 본 발명의 바람직한 다른 실시예에 따라서 12×12 차원의 제1 기본 퍼뮤테이션 행렬에 대한 제1 기본 행렬로부터 5×5 차원의 제2 기본 퍼뮤테이션 행렬에 대한 제2 기본 행렬을 생성하기 위한 매핑 방법을 도시한 것이고,
도 11은 모듈로 방식과 플로어링 방식을 이용한 그룹핑 방법의 시뮬레이션 결과를 도시한 선 그래프이고,
도 12는 본 발명에 따른 부호화 장치의 바람직한 일 실시예의 블록 구성도이고,
도 13은 본 발명에 따른 복호화 장치의 바람직한 일 실시예의 블록 구성도이고,
도 14a 내지 도 14f는 본 발명의 바람직한 일 실시예에 따른 기본 행렬 Hb의 일 예를 도시한 것이고,
도 15는 코딩 레이트가 1/2인 경우 기본 행렬 Hb의 실시예를 도시한 것이고,
도 16은 코딩 레이트가 2/3인 경우 기본 행렬 Hb의 다른 실시예를 도시한 것이고,
도 17은 코딩 레이트가 3/4인 경우 기본 행렬의 또 다른 실시예를 도시한 것이고,
도 18은 코딩 레이트가 1/2인 경우 기본 행렬의 또 다른 실시예를 도시한 것 이고,
도 19는 코딩 레이트가 1/2인 경우 기본 행렬의 또 다른 실시예를 도시한 것이고,
도 20은 코딩 레이트가 1/2인 경우 기본 행렬의 또 다른 실시예를 도시한 것이고,
도 21은 코딩 레이트가 2/3인 경우 기본 행렬의 또 다른 실시예를 도시한 것이고,
도 22는 코딩 레이트가 3/4인 경우 기본 행렬의 또 다른 실시예를 도시한 것이고,
도 23은 코딩 레이트가 3/4인 경우 기본 행렬의 또 다른 실시예를 도시한 것이고,
도 24는 코딩 레이트가 2/3인 경우 기본 행렬의 또 다른 실시예를 도시한 것이고,
도 25는 코딩 레이트가 2/3인 경우 기본 행렬의 또 다른 실시예를 도시한 것이고,
도 26은 코딩 레이트가 2/3인 경우 기본 행렬의 또 다른 실시예를 도시한 것이고,
도 27은 기본 행렬의 또 다른 실시예를 도시한 것이다.

Claims (24)

  1. 저밀도 패리티 체크 코드(LDPC)를 이용한 데이터 부호화 방법에 있어서,
    특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 입력 데이터를 부호화하는 단계를 포함하되,
    상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정의되는
    Figure 112009074448583-PAT00004
    (여기서, "-1"은 zmax×zmax 크기를 갖는 제로 행렬을 나타내고, "0"은 zmax×zmax 크기를 갖는 단위 행렬을 나타내며, 양의 정수는 zmax×zmax 크기를 가지며 상기 단위 행렬을 해당되는 양의 정수만큼 순환 쉬프트함으로써 생성된 제1 퍼뮤테이션 행렬을 나타냄)
    것을 특징으로 하는, 데이터 부호화 방법.
  2. 제1항에 있어서,
    상기 zmax는 96인 것을 특징으로 하는, 데이터 부호화 방법.
  3. 제1항에 있어서,
    상기 입력 데이터를 부호화하는 단계는,
    상기 제1 기본 행렬의 각 원소에 대응하는 제1값을 제2 기본 행렬의 각 원소에 대응하고 z×z 크기를 갖는 제2 퍼뮤테이션 행렬 또는 제로 행렬을 나타내는 제2값으로 대체함으로써 상기 제2 기본 행렬을 생성하는 단계와;
    상기 제2 기본 행렬의 각 제2값을 z×z 크기를 갖는 대응하는 제2 퍼뮤테이션 행렬 또는 제로 행렬로 대체함으로써 패리티 검사 행렬을 생성하는 단계를 포함하되,
    상기 제2값은 z, zmax, 및 대응하는 제1값에 의해 결정되는 것을 특징으로 하는, 데이터 부호화 방법.
  4. 제3항에 있어서,
    상기 제2 기본 행렬의 각 원소에 대응하는 상기 제2값은 음수가 아닌 정수 또는 "-1"이고,
    상기 패리티 검사 행렬을 생성하는 단계는,
    "-1"인 제2값을 z×z 크기를 갖는 제로 행렬로 대체하는 단계와;
    양의 정수인 제2값을 z×z 크기를 가지며 상기 양의 정수 값에 따라 z×z 크기를 갖는 제로 행렬을 변형함으로써 생성된 제2 퍼뮤테이션 행렬로 대체하는 단계 와;
    "0"인 제2값을 z×z 크기를 갖는 단위 행렬인 제2 퍼뮤테이션 행렬로 대체하는 단계를 포함하는 것을 특징으로 하는, 데이터 부호화 방법.
  5. 제4항에 있어서,
    상기 양의 정수 값에 의해 지시되는 상기 제2 퍼뮤테이션 행렬은 상기 z×z 크기를 갖는 단위 행렬의 전체 행 또는 열들을 상기 양의 정수 값만큼 순환 쉬프트함으로써 변형된 것을 특징으로 하는, 데이터 부호화 방법.
  6. 제3항에 있어서,
    상기 제1 및 제2 퍼뮤테이션 행렬들의 열 무게 및 행 무게는 "1"인 것을 특징으로 하는, 데이터 부호화 방법.
  7. 제3항에 있어서,
    상기 제2 기본 행렬의 행들의 개수는 상기 패리티 검사 행렬의 열들의 개수에 [(1-코딩 레이트)/z]를 곱한 값과 동일한 것을 특징으로 하는, 데이터 부호화 방법.
  8. 제3항에 있어서,
    상기 각 제2값은 다음의 함수,
    shift(z) = floor (shift (zmax) z / zmax)
    (여기서, "shift(zmax)"는 대응하는 제1값이고, "shift(z)"는 상기 제2값이며, "floor(x))는 x로부터 음의 무한대(minus infinity) 방향으로 가장 가까운 정수를 의미함.)에 의해 결정되는 것을 특징으로 하는, 데이터 부호화 방법.
  9. 제3항에 있어서,
    상기 각 제2값을 결정할 때, 제1값에 대응하는 연속되는 적어도 둘 이상의 정수들이 그룹핑되어 하나의 제2값에 매핑되는 것을 특징으로 하는, 데이터 부호화 방법.
  10. 제3항에 있어서,
    상기 제2 기본 행렬을 생성하는 단계에서, zmax×zmax 크기를 갖는 제로 행렬을 나타내는 제1값은 z×z 크기를 갖는 제로 행렬을 나타내는 제2값으로 대체되는 것을 특징으로 하는, 데이터 부호화 방법.
  11. 저밀도 패리티 체크 코드(LDPC)를 이용한 데이터 복호화 방법에 있어서,
    특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 인코딩된 데이터를 복화하하는 단계를 포함하되,
    상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정 의되는
    Figure 112009074448583-PAT00005
    (여기서, "-1"은 zmax×zmax 크기를 갖는 제로 행렬을 나타내고, "0"은 zmax×zmax 크기를 갖는 단위 행렬을 나타내며, 양의 정수는 zmax×zmax 크기를 가지며 상기 단위 행렬을 해당되는 양의 정수만큼 순환 쉬프트함으로써 생성된 제1 퍼뮤테이션 행렬을 나타냄)
    것을 특징으로 하는, 데이터 복호화 방법.
  12. 제11항에 있어서,
    상기 zmax는 96인 것을 특징으로 하는, 데이터 복호화 방법.
  13. 제11항에 있어서,
    상기 인코딩된 데이터를 복부호화하는 단계는,
    상기 제1 기본 행렬의 각 원소에 대응하는 제1값을 제2 기본 행렬의 각 원소에 대응하고 z×z 크기를 갖는 제2 퍼뮤테이션 행렬 또는 제로 행렬을 나타내는 제2값으로 대체함으로써 상기 제2 기본 행렬을 생성하는 단계와;
    상기 제2 기본 행렬의 각 제2값을 z×z 크기를 갖는 대응하는 제2 퍼뮤테이션 행렬 또는 제로 행렬로 대체함으로써 패리티 검사 행렬을 생성하는 단계를 포함하되,
    상기 제2값은 z, zmax, 및 대응하는 제1값에 의해 결정되는 것을 특징으로 하는, 데이터 복호화 방법.
  14. 제13항에 있어서,
    상기 제2 기본 행렬의 각 원소에 대응하는 상기 제2값은 음수가 아닌 정수 또는 "-1"이고,
    상기 패리티 검사 행렬을 생성하는 단계는,
    "-1"인 제2값을 z×z 크기를 갖는 제로 행렬로 대체하는 단계와;
    양의 정수인 제2값을 z×z 크기를 가지며 상기 양의 정수 값에 따라 z×z 크기를 갖는 제로 행렬을 변형함으로써 생성된 제2 퍼뮤테이션 행렬로 대체하는 단계와;
    "0"인 제2값을 z×z 크기를 갖는 단위 행렬인 제2 퍼뮤테이션 행렬로 대체하는 단계를 포함하는 것을 특징으로 하는, 데이터 복호화 방법.
  15. 제14항에 있어서,
    상기 양의 정수 값에 의해 지시되는 상기 제2 퍼뮤테이션 행렬은 상기 z×z 크기를 갖는 단위 행렬의 전체 행 또는 열들을 상기 양의 정수 값만큼 순환 쉬프트함으로써 변형된 것을 특징으로 하는, 데이터 복호화 방법.
  16. 제13항에 있어서,
    상기 제1 및 제2 퍼뮤테이션 행렬들의 열 무게 및 행 무게는 "1"인 것을 특징으로 하는, 데이터 복호화 방법.
  17. 제13항에 있어서,
    상기 제2 기본 행렬의 행들의 개수는 상기 패리티 검사 행렬의 열들의 개수에 [(1-코딩 레이트)/z]를 곱한 값과 동일한 것을 특징으로 하는, 데이터 복호화 방법.
  18. 제13항에 있어서,
    상기 각 제2값은 다음의 함수,
    shift(z) = floor (shift (zmax) z / zmax)
    (여기서, "shift(zmax)"는 대응하는 제1값이고, "shift(z)"는 상기 제2값이며, "floor(x))는 x로부터 음의 무한대(minus infinity) 방향으로 가장 가까운 정수를 의미함.)에 의해 결정되는 것을 특징으로 하는, 데이터 복호화 방법.
  19. 제13항에 있어서,
    상기 각 제2값을 결정할 때, 제1값에 대응하는 연속되는 적어도 둘 이상의 정수들이 그룹핑되어 하나의 제2값에 매핑되는 것을 특징으로 하는, 데이터 복호화 방법.
  20. 제13항에 있어서,
    상기 제2 기본 행렬을 생성하는 단계에서, zmax×zmax 크기를 갖는 제로 행렬을 나타내는 제1값은 z×z 크기를 갖는 제로 행렬을 나타내는 제2값으로 대체되는 것을 특징으로 하는, 데이터 복호화 방법.
  21. 저밀도 패리티 체크 코드(LDPC)를 이용하여 데이터를 부호화하는 장치에 있어서,
    특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 입력 데이터를 부호화하는 부호기(encoder)를 포함하되,
    상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정의되는
    Figure 112009074448583-PAT00006
    (여기서, "-1"은 zmax×zmax 크기를 갖는 제로 행렬을 나타내고, "0"은 zmax×zmax 크기를 갖는 단위 행렬을 나타내며, 양의 정수는 zmax×zmax 크기를 가지며 상기 단위 행렬을 해당되는 양의 정수만큼 순환 쉬프트함으로써 생성된 제1 퍼뮤테이션 행렬을 나타냄)
    것을 특징으로 하는, 장치.
  22. 제21항에 있어서,
    상기 부호기는,
    상기 제1 기본 행렬의 각 원소에 대응하는 제1값을 제2 기본 행렬의 각 원소에 대응하고 z×z 크기를 갖는 제2 퍼뮤테이션 행렬 또는 제로 행렬을 나타내는 제2값으로 대체함으로써 상기 제2 기본 행렬을 생성하는 기본 행렬 생성 모듈과;
    상기 제2 기본 행렬의 각 제2값을 z×z 크기를 갖는 대응하는 제2 퍼뮤테이션 행렬 또는 제로 행렬로 대체함으로써 패리티 검사 행렬을 생성하는 패리티 검사 행렬 생성 모듈과;
    상기 패리티 검사 행렬을 이용하여 상기 입력 데이터를 부호화하는 부호화 모듈을 포함하여 이루어지는 것을 특징으로 하는, 장치.
  23. 저밀도 패리티 체크 코드(LDPC)를 이용하여 부호화된 데이터를 복호화하는 장치에 있어서,
    특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 입력 데이터를 부호화하는 복호기(decoder)를 포함하되,
    상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정의되는
    Figure 112009074448583-PAT00007
    (여기서, "-1"은 zmax×zmax 크기를 갖는 제로 행렬을 나타내고, "0"은 zmax×zmax 크기를 갖는 단위 행렬을 나타내며, 양의 정수는 zmax×zmax 크기를 가지며 상기 단위 행렬을 해당되는 양의 정수만큼 순환 쉬프트함으로써 생성된 제1 퍼뮤테이션 행렬을 나타냄)
    것을 특징으로 하는, 장치.
  24. 제23항에 있어서,
    상기 복호기는,
    상기 제1 기본 행렬의 각 원소에 대응하는 제1값을 제2 기본 행렬의 각 원소에 대응하고 z×z 크기를 갖는 제2 퍼뮤테이션 행렬 또는 제로 행렬을 나타내는 제2값으로 대체함으로써 상기 제2 기본 행렬을 생성하는 기본 행렬 생성 모듈과;
    상기 제2 기본 행렬의 각 제2값을 z×z 크기를 갖는 대응하는 제2 퍼뮤테이션 행렬 또는 제로 행렬로 대체함으로써 패리티 검사 행렬을 생성하는 패리티 검사 행렬 생성 모듈과;
    상기 패리티 검사 행렬을 이용하여 상기 부호화된 데이터를 복호화하는 복호화 모듈을 포함하여 이루어지는 것을 특징으로 하는, 장치.
KR1020097025169A 2004-06-24 2005-06-24 무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화 및 복호화 방법 및 그 장치 KR101108062B1 (ko)

Applications Claiming Priority (27)

Application Number Priority Date Filing Date Title
KR1020040047898 2004-06-24
KR20040047898 2004-06-24
KR1020040048454 2004-06-25
KR20040048454 2004-06-25
KR1020040085512 2004-10-25
KR20040085512 2004-10-25
KR20040087361 2004-10-29
KR1020040087361 2004-10-29
KR1020040087938 2004-11-01
KR20040087938 2004-11-01
KR1020040088807 2004-11-03
KR20040088807 2004-11-03
KR20040109624 2004-12-01
KR1020040109624 2004-12-01
KR20040110678 2004-12-22
KR1020040110678 2004-12-22
KR20040111525 2004-12-23
KR1020040111525 2004-12-23
KR20040117136 2004-12-30
KR1020040117136 2004-12-30
KR20050000244 2005-01-03
KR1020050000046 2005-01-03
KR20050000046 2005-01-03
KR1020050000244 2005-01-03
KR20050003296 2005-01-13
KR1020050003296 2005-01-13
PCT/KR2005/001988 WO2006001666A2 (en) 2004-06-24 2005-06-24 A method and apparatus of encoding and decoding data using low density parity check code in a wireless communication system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020077001718A Division KR101199388B1 (ko) 2004-06-24 2005-06-24 무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화, 복호화 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20100005236A true KR20100005236A (ko) 2010-01-14
KR101108062B1 KR101108062B1 (ko) 2012-02-08

Family

ID=35507531

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020077001718A KR101199388B1 (ko) 2004-06-24 2005-06-24 무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화, 복호화 방법 및 그 장치
KR1020097025169A KR101108062B1 (ko) 2004-06-24 2005-06-24 무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화 및 복호화 방법 및 그 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020077001718A KR101199388B1 (ko) 2004-06-24 2005-06-24 무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화, 복호화 방법 및 그 장치

Country Status (6)

Country Link
US (5) US7581157B2 (ko)
EP (2) EP2270991A3 (ko)
JP (2) JP4677447B2 (ko)
KR (2) KR101199388B1 (ko)
CA (2) CA2813202C (ko)
WO (1) WO2006001666A2 (ko)

Families Citing this family (146)

* 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
US7996746B2 (en) 2004-10-12 2011-08-09 Nortel Networks Limited Structured low-density parity-check (LDPC) code
US7752521B2 (en) * 2004-10-12 2010-07-06 Nortel Networks Limited Low density parity check (LDPC) code
EP2290867B1 (en) * 2004-11-03 2014-01-08 Samsung Electronics Co., Ltd. System for transmitting hybrid automatic repeat request buffer capability information in broadband wireless access communication system
US8438459B2 (en) * 2004-12-22 2013-05-07 Lg Electronics Inc. Apparatus and method for decoding using channel code
KR101080970B1 (ko) * 2004-12-27 2011-11-09 엘지전자 주식회사 광대역 무선접속 시스템에 적용되는 디코드 정보 전송 방법
WO2006109923A2 (en) * 2005-04-09 2006-10-19 Lg Electronics Inc. Method of supporting multiple codes in a wireless mobile communication system
EP1775839B1 (en) * 2005-10-17 2009-12-16 Samsung Electronics Co., Ltd. Method for constructing a parity check matrix of a low density parity check code
US7668248B2 (en) * 2005-10-19 2010-02-23 Texas Instruments Incorporated High-performance LDPC coding for digital communications in a multiple-input, multiple-output environment
US7774675B1 (en) 2005-12-05 2010-08-10 Marvell International Ltd. LDPC codes and expansion method
US20070180344A1 (en) * 2006-01-31 2007-08-02 Jacobsen Eric A Techniques for low density parity check for forward error correction in high-data rate transmission
KR101102396B1 (ko) * 2006-02-08 2012-01-05 엘지전자 주식회사 이동통신 시스템에서의 코드워드 크기 정합 방법 및 송신장치
JP4601675B2 (ja) * 2006-02-09 2010-12-22 富士通株式会社 Ldpc検査行列生成方法及び検査行列生成器並びに符号再送方法
KR101154995B1 (ko) * 2006-07-14 2012-06-15 엘지전자 주식회사 Ldpc 부호화를 수행하는 방법
EP2066055A4 (en) * 2006-09-29 2013-01-16 Fujitsu Ltd WIRELESS COMMUNICATION SYSTEM, TRANSMITTER AND RECEIVER DEVICE
CN101162907B (zh) * 2006-10-10 2010-11-03 华为技术有限公司 一种利用低密度奇偶校验码实现编码的方法及装置
US7934146B2 (en) * 2006-10-18 2011-04-26 Nokia Corporation Method, apparatus and computer program product providing for data block encoding and decoding
US8117514B2 (en) * 2006-11-13 2012-02-14 Qualcomm Incorporated Methods and apparatus for encoding data in a communication network
US7913149B2 (en) * 2006-12-20 2011-03-22 Lsi Corporation Low complexity LDPC encoding algorithm
CN101601187B (zh) * 2007-01-24 2014-08-20 高通股份有限公司 对可变大小分组进行ldpc编码和译码
KR101370903B1 (ko) * 2007-03-16 2014-03-10 엘지전자 주식회사 Ldpc 코드를 이용한 부호화 및 복호화 방법
KR101455978B1 (ko) * 2007-03-27 2014-11-04 엘지전자 주식회사 Ldpc 부호를 이용한 부호화 방법
WO2009035306A2 (en) * 2007-09-14 2009-03-19 Samsung Electronics Co., Ltd. Apparatus and method for communication using near golay sequence
US8219876B2 (en) * 2007-10-24 2012-07-10 Core Wireless Licensing, S.a.r.l. Method, apparatus, computer program product and device providing semi-parallel low density parity check decoding using a block structured parity check matrix
WO2009072854A1 (en) * 2007-12-06 2009-06-11 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding channel in a communication system using low-density parity-check codes
CN101453297B (zh) 2007-12-07 2010-12-01 中兴通讯股份有限公司 低密度生成矩阵码的编码方法和装置、及译码方法和装置
TWI356317B (en) * 2007-12-13 2012-01-11 Gainia Intellectual Asset Services Inc Automatic creative proposal generating and filteri
US8712932B2 (en) 2007-12-13 2014-04-29 Chipmos Technologies Inc. Computer implemented apparatus for generating and filtering creative proposal
JP5009418B2 (ja) * 2008-06-09 2012-08-22 パイオニア株式会社 検査行列の生成方法及び検査行列、並びに復号装置及び復号方法
CN102077471B (zh) * 2008-07-04 2014-03-12 三菱电机株式会社 校验矩阵生成装置、校验矩阵生成方法、校验矩阵生成程序、发送装置、接收装置以及通信系统
US20100037121A1 (en) * 2008-08-05 2010-02-11 The Hong Kong University Of Science And Technology Low power layered decoding for low density parity check decoders
US8321752B1 (en) * 2008-11-12 2012-11-27 Marvell International Ltd. Integrated 2-level low density parity check (LDPC) codes
KR20100058260A (ko) * 2008-11-24 2010-06-03 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 장치 및 방법
US20100162078A1 (en) * 2009-03-04 2010-06-24 Comtech Ef Data Corp. Telecommunication system and related methods
US8407555B2 (en) * 2009-03-30 2013-03-26 Broadcom Corporation LDPC codes robust to non-stationary narrowband ingress noise
US8516352B2 (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
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
US8185535B2 (en) * 2009-10-30 2012-05-22 Hewlett-Packard Development Company, L.P. Methods and systems for determining unknowns in collaborative filtering
US9288089B2 (en) 2010-04-30 2016-03-15 Ecole Polytechnique Federale De Lausanne (Epfl) Orthogonal differential vector signaling
US9450744B2 (en) 2010-05-20 2016-09-20 Kandou Lab, S.A. Control loop management and vector signaling code communications links
US9077386B1 (en) 2010-05-20 2015-07-07 Kandou Labs, S.A. Methods and systems for selection of unions of vector signaling codes for power and pin efficient chip-to-chip communication
US9564994B2 (en) 2010-05-20 2017-02-07 Kandou Labs, S.A. Fault tolerant chip-to-chip communication with advanced voltage
US9362962B2 (en) 2010-05-20 2016-06-07 Kandou Labs, S.A. Methods and systems for energy-efficient communications interface
US9106238B1 (en) 2010-12-30 2015-08-11 Kandou Labs, S.A. Sorting decoder
US9596109B2 (en) 2010-05-20 2017-03-14 Kandou Labs, S.A. Methods and systems for high bandwidth communications interface
US9479369B1 (en) 2010-05-20 2016-10-25 Kandou Labs, S.A. Vector signaling codes with high pin-efficiency for chip-to-chip communication and storage
US9300503B1 (en) 2010-05-20 2016-03-29 Kandou Labs, S.A. Methods and systems for skew tolerance in and advanced detectors for vector signaling codes for chip-to-chip communication
US9251873B1 (en) 2010-05-20 2016-02-02 Kandou Labs, S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications
US9401828B2 (en) * 2010-05-20 2016-07-26 Kandou Labs, S.A. Methods and systems for low-power and pin-efficient communications with superposition signaling codes
US9246713B2 (en) 2010-05-20 2016-01-26 Kandou Labs, S.A. Vector signaling with reduced receiver complexity
US9288082B1 (en) 2010-05-20 2016-03-15 Kandou Labs, S.A. Circuits for efficient detection of vector signaling codes for chip-to-chip communication using sums of differences
US9985634B2 (en) 2010-05-20 2018-05-29 Kandou Labs, S.A. Data-driven voltage regulator
US8593305B1 (en) 2011-07-05 2013-11-26 Kandou Labs, S.A. Efficient processing and detection of balanced codes
US9667379B2 (en) 2010-06-04 2017-05-30 Ecole Polytechnique Federale De Lausanne (Epfl) Error control coding for orthogonal differential vector signaling
US9275720B2 (en) 2010-12-30 2016-03-01 Kandou Labs, S.A. Differential vector storage for dynamic random access memory
US8839069B2 (en) * 2011-04-08 2014-09-16 Micron Technology, Inc. Encoding and decoding techniques using low-density parity check codes
JP5582088B2 (ja) * 2011-04-28 2014-09-03 株式会社Jvcケンウッド 符号化装置、復号装置、符号化方法、復号方法、送信装置、送信方法
US8566666B2 (en) * 2011-07-11 2013-10-22 Lsi Corporation Min-sum based non-binary LDPC decoder
US8910025B2 (en) * 2011-10-03 2014-12-09 Samsung Electronics Co., Ltd. Method and apparatus of QC-LDPC convolutional coding and low-power high throughput QC-LDPC convolutional encoder and decoder
KR101218658B1 (ko) * 2011-11-22 2013-01-04 단국대학교 산학협력단 불규칙 반복 다상 누산 코드를 이용한 부호화 방법 및 복호화 방법
KR101221062B1 (ko) * 2011-12-14 2013-01-11 단국대학교 산학협력단 가변 usc 부호를 이용한 부호화 및 복호화 방법
US9203434B1 (en) * 2012-03-09 2015-12-01 Western Digital Technologies, Inc. Systems and methods for improved encoding of data in data storage devices
US9268683B1 (en) 2012-05-14 2016-02-23 Kandou Labs, S.A. Storage method and apparatus for random access memory using codeword storage
US8977924B2 (en) 2012-09-10 2015-03-10 Lsi Corporation Optimized mechanism to simplify the circulant shifter and the P/Q kick out for layered LDPC decoder
KR102068030B1 (ko) 2012-12-11 2020-01-20 삼성전자 주식회사 메모리 컨트롤러 및 그 동작방법
EP2926260B1 (en) 2013-01-17 2019-04-03 Kandou Labs S.A. Methods and systems for chip-to-chip communication with reduced simultaneous switching noise
CN103973315B (zh) * 2013-01-25 2019-01-18 中兴通讯股份有限公司 一种低密度奇偶校验码译码装置及其译码方法
WO2014124450A1 (en) 2013-02-11 2014-08-14 Kandou Labs, S.A. Methods and systems for high bandwidth chip-to-chip communications interface
WO2014172377A1 (en) 2013-04-16 2014-10-23 Kandou Labs, S.A. Methods and systems for high bandwidth communications interface
CN105393512B (zh) 2013-06-25 2019-06-28 康杜实验室公司 具有低接收器复杂度的向量信令
KR102019893B1 (ko) * 2013-07-22 2019-09-09 삼성전자주식회사 저밀도 패리티 검사 부호를 지원하는 통신 시스템에서 신호 수신 장치 및 방법
EP2858249A1 (en) 2013-10-07 2015-04-08 Electronics and Telecommunications Research Institute Low density parity check encoder
US9106465B2 (en) 2013-11-22 2015-08-11 Kandou Labs, S.A. Multiwire linear equalizer for vector signaling code receiver
US9553608B2 (en) * 2013-12-20 2017-01-24 Sandisk Technologies Llc Data storage device decoder and method of operation
US9806761B1 (en) 2014-01-31 2017-10-31 Kandou Labs, S.A. Methods and systems for reduction of nearest-neighbor crosstalk
US9369312B1 (en) 2014-02-02 2016-06-14 Kandou Labs, S.A. Low EMI signaling for parallel conductor interfaces
US9100232B1 (en) 2014-02-02 2015-08-04 Kandou Labs, S.A. Method for code evaluation using ISI ratio
CN106105123B (zh) 2014-02-28 2019-06-28 康杜实验室公司 用于发送时钟嵌入式向量信令码的方法和系统
CN103873070B (zh) * 2014-03-20 2016-09-21 航天恒星科技有限公司 一种针对ccsds规范7/8码率ldpc的高速编码装置及编码方法
US9509437B2 (en) 2014-05-13 2016-11-29 Kandou Labs, S.A. Vector signaling code with improved noise margin
US9148087B1 (en) 2014-05-16 2015-09-29 Kandou Labs, S.A. Symmetric is linear equalization circuit with increased gain
US9852806B2 (en) 2014-06-20 2017-12-26 Kandou Labs, S.A. System for generating a test pattern to detect and isolate stuck faults for an interface using transition coding
US9112550B1 (en) 2014-06-25 2015-08-18 Kandou Labs, SA Multilevel driver for high speed chip-to-chip communications
WO2016007863A2 (en) 2014-07-10 2016-01-14 Kandou Labs, S.A. Vector signaling codes with increased signal to noise characteristics
US9432082B2 (en) 2014-07-17 2016-08-30 Kandou Labs, S.A. Bus reversable orthogonal differential vector signaling codes
CN106664272B (zh) 2014-07-21 2020-03-27 康杜实验室公司 从多点通信信道接收数据的方法和装置
CN104143992B (zh) * 2014-07-23 2017-05-10 西安空间无线电技术研究所 一种基于比特填充的ldpc编码方法
WO2016019384A1 (en) 2014-08-01 2016-02-04 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
CA2864630C (en) 2014-08-14 2017-05-30 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 4/15, and low density parity check encoding method using the same
CA2864694C (en) 2014-08-14 2017-06-27 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 16200 and code rate of 5/15, and low density parity check encoding method using the same
CA2864647C (en) 2014-08-14 2017-04-25 Sung-Ik Park Low density parity check encoder having length of 16200 and code rate of 4/15, and low density parity check encoding method using the same
CA2864635C (en) 2014-08-14 2017-06-27 Sung-Ik Park Low density parity check encoder having length of 16200 and code rate of 3/15, and low density parity check encoding method using the same
US9489259B2 (en) 2014-08-14 2016-11-08 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 16200 and code rate of 2/15, and low density parity check encoding method using the same
US9525432B2 (en) 2014-08-14 2016-12-20 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 3/15, and low density parity check encoding method using the same
CA2963841C (en) 2014-08-14 2019-08-20 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 2/15, and low denisty parity check encoding method using the same
US9496896B2 (en) 2014-08-14 2016-11-15 Electronics And Telecommunications Research Institute Low density parity check encoder having length of 64800 and code rate of 5/15, and low density parity check encoding method using the same
US9602243B2 (en) 2014-08-26 2017-03-21 Electronics And Telecommunications Research Institute Low density parity check encoder, and low density parity check encoding method using the same
US9674014B2 (en) 2014-10-22 2017-06-06 Kandou Labs, S.A. Method and apparatus for high speed chip-to-chip communications
KR102517583B1 (ko) 2015-06-26 2023-04-03 칸도우 랩스 에스에이 고속 통신 시스템
US10382069B2 (en) * 2015-08-11 2019-08-13 Apple Inc. Data encoding by efficient inversion of a parity-check sub-matrix
US9557760B1 (en) 2015-10-28 2017-01-31 Kandou Labs, S.A. Enhanced phase interpolation circuit
US9577815B1 (en) 2015-10-29 2017-02-21 Kandou Labs, S.A. Clock data alignment system for vector signaling code communications link
CN107534511B (zh) 2015-11-17 2020-04-28 华为技术有限公司 低密度奇偶校验码的译码方法和译码器
KR20170060562A (ko) 2015-11-24 2017-06-01 삼성전자주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
US10055372B2 (en) 2015-11-25 2018-08-21 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
WO2017119922A1 (en) * 2016-01-04 2017-07-13 Intel IP Corporation Encoding and decoding using low-density parity-check matrices
CN108781060B (zh) 2016-01-25 2023-04-14 康杜实验室公司 具有增强的高频增益的电压采样驱动器
US10003454B2 (en) 2016-04-22 2018-06-19 Kandou Labs, S.A. Sampler with low input kickback
WO2017185072A1 (en) 2016-04-22 2017-10-26 Kandou Labs, S.A. High performance phase locked loop
US10153591B2 (en) 2016-04-28 2018-12-11 Kandou Labs, S.A. Skew-resistant multi-wire channel
EP3449379B1 (en) 2016-04-28 2021-10-06 Kandou Labs S.A. Vector signaling codes for densely-routed wire groups
EP3449606A4 (en) 2016-04-28 2019-11-27 Kandou Labs S.A. LOW POWER MULTILAYER ATTACK CIRCUIT
RU2716044C1 (ru) * 2016-07-20 2020-03-05 Хуавей Текнолоджиз Ко., Лтд. Способы и системы кодирования и декодирования ldpc кодов
US9906358B1 (en) 2016-08-31 2018-02-27 Kandou Labs, S.A. Lock detector for phase lock loop
US10411922B2 (en) 2016-09-16 2019-09-10 Kandou Labs, S.A. Data-driven phase detector element for phase locked loops
CN107888198B (zh) 2016-09-30 2023-05-26 中兴通讯股份有限公司 准循环ldpc编译码方法、装置及ldpc编译码器
US10200188B2 (en) 2016-10-21 2019-02-05 Kandou Labs, S.A. Quadrature and duty cycle error correction in matrix phase lock loop
US10200218B2 (en) 2016-10-24 2019-02-05 Kandou Labs, S.A. Multi-stage sampler with increased gain
US10372665B2 (en) 2016-10-24 2019-08-06 Kandou Labs, S.A. Multiphase data receiver with distributed DFE
BR112019012715B1 (pt) 2017-02-06 2022-11-22 Lg Electronics Inc Método de transmissão, dispositivo transmissor, método de recepção e dispositivo de recepção
US10484134B2 (en) 2017-03-30 2019-11-19 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR102348466B1 (ko) * 2017-03-30 2022-01-10 삼성전자 주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
US11211951B2 (en) * 2017-03-30 2021-12-28 Lg Electronics Inc. Method for encoding based on parity check matrix of LDPC code in wireless communication system and terminal using this
EP4216444A1 (en) 2017-04-14 2023-07-26 Kandou Labs, S.A. Pipelined forward error correction for vector signaling code channel
CN108809487B (zh) * 2017-05-04 2022-07-22 华为技术有限公司 传输数据的方法、基站和终端设备
CN109120276B (zh) * 2017-05-05 2019-08-13 华为技术有限公司 信息处理的方法、通信装置
CN108988870B (zh) * 2017-05-31 2021-08-31 大唐移动通信设备有限公司 Ldpc码校验矩阵的构造方法
CN108988869B (zh) * 2017-05-31 2021-07-30 大唐移动通信设备有限公司 一种确定校验矩阵的方法及装置、计算机存储介质
CA3060788C (en) * 2017-06-25 2021-07-20 Lg Electronics Inc. Method for performing encoding on basis of parity check matrix of ldpc code in wireless communication system and terminal using same
US10116468B1 (en) 2017-06-28 2018-10-30 Kandou Labs, S.A. Low power chip-to-chip bidirectional communications
US10686583B2 (en) 2017-07-04 2020-06-16 Kandou Labs, S.A. Method for measuring and correcting multi-wire skew
US10693587B2 (en) 2017-07-10 2020-06-23 Kandou Labs, S.A. Multi-wire permuted forward error correction
US10203226B1 (en) 2017-08-11 2019-02-12 Kandou Labs, S.A. Phase interpolation circuit
BR112020003426A2 (pt) * 2017-08-24 2020-08-25 Telefonaktiebolaget Lm Ericsson (Publ) segmentação de bloco de código para novo rádio 3gpp
EP4220967A1 (en) * 2017-09-27 2023-08-02 Mitsubishi Electric Corporation Coding device and transmitter
US10326623B1 (en) 2017-12-08 2019-06-18 Kandou Labs, S.A. Methods and systems for providing multi-stage distributed decision feedback equalization
WO2019114992A1 (en) * 2017-12-15 2019-06-20 Huawei Technologies Co., Ltd. Design of base parity-check matrices for ldpc codes that have subsets of orthogonal rows
US10554380B2 (en) 2018-01-26 2020-02-04 Kandou Labs, S.A. Dynamically weighted exclusive or gate having weighted output segments for phase detection and phase interpolation
CN110380820B (zh) * 2019-07-04 2021-09-24 北京中科晶上科技股份有限公司 一种码域兼容码的获取方法、自适应传输方法及系统
US11418216B2 (en) * 2020-03-30 2022-08-16 Smart IOPS, Inc. Method and system for generating parity check matrix for low-density parity check codes
CN113612573B (zh) * 2020-05-04 2022-10-11 华为技术有限公司 一种通信方法及装置
JP7030932B2 (ja) * 2020-11-18 2022-03-07 ホアウェイ・テクノロジーズ・カンパニー・リミテッド Ldpc符号の符号化および復号化のための方法およびシステム
US11356197B1 (en) 2021-03-19 2022-06-07 Kandou Labs SA Error-tolerant forward error correction ordered set message decoder
CN118093257B (zh) * 2024-04-18 2024-07-02 山东云海国创云计算装备产业创新中心有限公司 一种级联编码方法、装置、系统及介质

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4199893B2 (ja) * 1999-12-28 2008-12-24 株式会社リコー 画像形成装置
US6718508B2 (en) 2000-05-26 2004-04-06 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communication Research Centre High-performance error-correcting codes with skew mapping
US20030033570A1 (en) 2001-05-09 2003-02-13 Khannanov Roman R. Method and apparatus for encoding and decoding low density parity check codes and low density turbo product codes
US6567465B2 (en) * 2001-05-21 2003-05-20 Pc Tel Inc. DSL modem utilizing low density parity check codes
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6895547B2 (en) * 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US6757122B1 (en) 2002-01-29 2004-06-29 Seagate Technology Llc Method and decoding apparatus using linear code with parity check matrices composed from circulants
US6829308B2 (en) 2002-07-03 2004-12-07 Hughes Electronics Corporation Satellite communication system utilizing low density parity check codes
CA2456485C (en) 2002-07-03 2011-11-15 Hughes Electronics Corporation Method and system for providing low density parity check (ldpc) encoding
US7178080B2 (en) 2002-08-15 2007-02-13 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
WO2004019268A1 (en) * 2002-08-20 2004-03-04 Flarion Technologies, Inc. Methods and apparatus for encoding ldpc codes
US6961888B2 (en) * 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US7120856B2 (en) * 2002-09-25 2006-10-10 Leanics Corporation LDPC code and encoder/decoder regarding same
KR20040033554A (ko) * 2002-10-15 2004-04-28 삼성전자주식회사 에러 정정 부호화 장치 및 그 방법
KR20040036460A (ko) 2002-10-26 2004-04-30 삼성전자주식회사 Ldpc 복호화 장치 및 그 방법
KR100502609B1 (ko) 2002-11-21 2005-07-20 한국전자통신연구원 Ldpc 코드를 이용한 부호화기 및 부호화 방법
JP4062435B2 (ja) * 2002-12-03 2008-03-19 日本電気株式会社 誤り訂正符号復号装置
US7162684B2 (en) 2003-01-27 2007-01-09 Texas Instruments Incorporated Efficient encoder for low-density-parity-check codes
US6957375B2 (en) * 2003-02-26 2005-10-18 Flarion Technologies, Inc. Method and apparatus for performing low-density parity-check (LDPC) code operations using a multi-level permutation
US7139959B2 (en) 2003-03-24 2006-11-21 Texas Instruments Incorporated Layered low density parity check decoding for digital communications
KR100996029B1 (ko) * 2003-04-29 2010-11-22 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
CN100546204C (zh) 2003-05-30 2009-09-30 索尼株式会社 解码方法、解码装置、记录/再现装置与方法、和再现装置与方法
KR100809619B1 (ko) 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR101009785B1 (ko) 2003-12-10 2011-01-19 삼성전자주식회사 불균일 반복 축적 부호 부호화/복호화 장치 및 방법
US7260763B2 (en) 2004-03-11 2007-08-21 Nortel Networks Limited Algebraic low-density parity check code design for variable block sizes and code rates
US7415659B2 (en) * 2004-05-07 2008-08-19 Comtech Aha Corporation SISO decoder
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
US7730377B2 (en) 2004-07-22 2010-06-01 Texas Instruments Incorporated Layered decoding of low density parity check (LDPC) codes
US7143333B2 (en) * 2004-08-09 2006-11-28 Motorola, Inc. Method and apparatus for encoding and decoding data
US7188297B2 (en) 2004-08-12 2007-03-06 Motorola, Inc. Method and apparatus for encoding and decoding data
US7343548B2 (en) 2004-12-15 2008-03-11 Motorola, Inc. Method and apparatus for encoding and decoding data
US8438459B2 (en) 2004-12-22 2013-05-07 Lg Electronics Inc. Apparatus and method for decoding using channel code

Also Published As

Publication number Publication date
US20050289437A1 (en) 2005-12-29
US20090199068A1 (en) 2009-08-06
US20120185746A1 (en) 2012-07-19
JP4677447B2 (ja) 2011-04-27
US20090199067A1 (en) 2009-08-06
KR20070058438A (ko) 2007-06-08
CA2813202C (en) 2015-06-16
EP2270991A2 (en) 2011-01-05
JP2011019282A (ja) 2011-01-27
US8185807B2 (en) 2012-05-22
CA2569500C (en) 2014-04-08
US8201059B2 (en) 2012-06-12
CA2569500A1 (en) 2006-01-05
EP2270991A3 (en) 2012-01-25
WO2006001666A2 (en) 2006-01-05
JP2008521263A (ja) 2008-06-19
US8276050B2 (en) 2012-09-25
US7581157B2 (en) 2009-08-25
CA2813202A1 (en) 2006-01-05
US20090228767A1 (en) 2009-09-10
KR101199388B1 (ko) 2012-11-09
KR101108062B1 (ko) 2012-02-08
WO2006001666A3 (en) 2007-05-03
EP1776768A2 (en) 2007-04-25
US8286062B2 (en) 2012-10-09
JP5179551B2 (ja) 2013-04-10

Similar Documents

Publication Publication Date Title
KR101108062B1 (ko) 무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화 및 복호화 방법 및 그 장치
US10425258B2 (en) Method and apparatus for transmitting and receiving data in a communication system
JP7565976B2 (ja) データ符号化方法及び装置、記憶媒体、並びにプロセッサ
JP4820368B2 (ja) Ldpcコードを用いた符号化及び復号化方法
CN102714504B (zh) 在通信系统中传送和接收数据的方法和装置
CN102638275B (zh) 无线通信系统中使用低密度奇偶校验码编码和解码数据的方法和装置
US20230421177A1 (en) Apparatus and method for channel encoding/decoding in communication or broadcasting system
KR101265636B1 (ko) 모델 행렬을 이용하여 ldpc 복호화를 수행하는 방법
KR101128804B1 (ko) 참조 행렬을 이용한 lpdc 부호화 및 복호화 방법
KR20170060574A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20080084179A (ko) Ldpc 부호화 및 복호화를 위한 모델 행렬을 구성하는방법
KR20170060600A (ko) 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
KR20070107975A (ko) 패리티 검사 행렬을 이용한 부호화 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
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: 20141224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161214

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171214

Year of fee payment: 7