KR20100005236A - 무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화 및 복호화 방법 및 그 장치 - Google Patents
무선 통신 시스템에서 저밀도 패리티 체크 코드를 이용한 부호화 및 복호화 방법 및 그 장치 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity 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/1188—Parity 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-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
Description
본 발명은 무선 통신 시스템에서 부호화(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에 의해 구할 수 있다.
LDPC 코드를 이용한 부호화 및 복호화 방법에 있어서는 송신측에서 상기 패리티 검사 행렬 H와 수학식 1의 관계에 있는 상기 생성 행렬 G를 이용하여 다음의 수학식 2에 의해 입력 데이터를 부호화 할 수 있다.
수학식 2에서, c는 코드워드(codeword)이고, u는 데이터 프레임을 의미한다.
최근에는 상기 생성 행렬 G에 의하지 않고 상기 패리티 검사 행렬 H를 이용하여 입력 데이터를 부호화하는 방법이 일반적으로 사용되고 있다. 따라서, 상기한 바와 같이, LDPC 코드를 이용한 부호화 방법에서는 상기 패리티 검사 행렬 H가 가장 중요한 요소라 할 수 있다. 상기 패리티 검사 행렬 H은 대략 1000×2000 이상의 크기를 갖기 때문에 부호화 및 복호화 과정에서 많은 연산이 요구되고, 구현이 매우 복잡하며, 많은 저장 공간을 요구하는 문제점이 있다.
본 발명은 종래기술에 따른 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 무선 통신 시스템에서 저밀도 패리티 검사 행렬을 이용하여 데이터를 부호화/복호화하는 방법 및 그 장치를 제공하는 것이다.
본 발명의 다른 목적은 LDPC 코드를 이용하여 데이터를 부호화하고 복호화하는 방법 및 그 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 부호화 및 복호화 시에 연산량을 줄이고 구현을 감소화하며 메모리 절약이 가능한 부호화/복호화 방법 및 그 장치를 제공하는 것이다.
본 발명의 추가적인 장점, 목적 및 특징들은 부분적으로 이하에서 설명되는 상세한 설명에 개시되고, 부분적으로는 상세한 설명의 조사하는 당업자에게 자명하거나 발명의 관습으로부터 학습될 수 있다. 본 발명의 목적 및 다른 장점들은 첨부된 도면, 상세한 설명 및 특허청구범위에 특정적으로 개시된 구성에 의해 알려질 것이다.
본 발명의 일 양상에 따르는 데이터 부호화 방법은, 저밀도 패리티 체크 코드(LDPC)를 이용한 데이터 부호화 방법에 있어서, 특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 입력 데이터를 부호화하는 단계를 포함하되, 상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정의되는
(여기서, "-1"은 zmax×zmax 크기를 갖는 제로 행렬을 나타내고, "0"은 zmax×zmax 크기를 갖는 단위 행렬을 나타내며, 양의 정수는 zmax×zmax 크기를 가지며 상기 단위 행렬을 해당되는 양의 정수만큼 순환 쉬프트함으로써 생성된 제1 퍼뮤테이션 행렬을 나타냄) 것을 특징으로 한다.
본 발명의 다른 양상에 따르는 데이터 복호화 방법은, 저밀도 패리티 체크 코드(LDPC)를 이용한 데이터 복호화 방법에 있어서, 특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 인코딩된 데이터를 복화하하는 단계를 포함하되, 상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정의되는
(여기서, "-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)를 결정한다.
여기서, k는 소스 데이터의 길이이고, n은 부호화된 데이터(코드워드)의 길 이를 의미한다.
부호화된 데이터(코드워드)는 시스템 비트(systematic bits)와 패리티 체크 비트(parity-check bits) 두 부분으로 구성되는데, 상기 시스템 비트는 부호화되기 전의 소스 데이터를 의미하고, 상기 패리티 체크 비트는 부호화된 후에 상기 시스템 비트의 뒷부분에 추가된 부분을 의미한다. 상기 n은 상기 시스템 비트와 상기 패리티 체크 비트의 수를 합한 값이다. LDPC 코드의 코드 레이트를 증가시키기 위해서 패리티 비트를 감소시키고, LDPC 코드의 코드 레이트를 감소시키기 위하여 시스템 비트를 감소시킨다.
LDPC 코드를 이용한 부호화 방법에 있어서는 수학식 1 및 수학식 2에 의해 생성 행렬(generator matrix) G를 이용하여 입력 소스 데이터를 부호화 할 수 있다. 즉, k 비트의 입력 소스 데이터 s1×k는 수학식 2에 의해 부호화되어 n 비트의 코드워드 x1×k이 된다. 코드워드 x는 x=[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를 이용한다.
수학식 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 -1Hd)t]t 임을 알 수 있다. 따라서, 상기 LDPC 부호기(13)는 상기 수학식 2에 의해 입력 소스 데이터(u)에 상기 G=[I|(Hp -1Hd)t]t를 곱해 줌으로써 부호화한다. 결국 수학식 2는 다음의 수학식 5와 같이 표현될 수 있다.
수학식 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)는 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)
- 저밀도 패리티 체크 코드(LDPC)를 이용한 데이터 부호화 방법에 있어서,특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 입력 데이터를 부호화하는 단계를 포함하되,상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정의되는(여기서, "-1"은 zmax×zmax 크기를 갖는 제로 행렬을 나타내고, "0"은 zmax×zmax 크기를 갖는 단위 행렬을 나타내며, 양의 정수는 zmax×zmax 크기를 가지며 상기 단위 행렬을 해당되는 양의 정수만큼 순환 쉬프트함으로써 생성된 제1 퍼뮤테이션 행렬을 나타냄)것을 특징으로 하는, 데이터 부호화 방법.
- 제1항에 있어서,상기 zmax는 96인 것을 특징으로 하는, 데이터 부호화 방법.
- 제1항에 있어서,상기 입력 데이터를 부호화하는 단계는,상기 제1 기본 행렬의 각 원소에 대응하는 제1값을 제2 기본 행렬의 각 원소에 대응하고 z×z 크기를 갖는 제2 퍼뮤테이션 행렬 또는 제로 행렬을 나타내는 제2값으로 대체함으로써 상기 제2 기본 행렬을 생성하는 단계와;상기 제2 기본 행렬의 각 제2값을 z×z 크기를 갖는 대응하는 제2 퍼뮤테이션 행렬 또는 제로 행렬로 대체함으로써 패리티 검사 행렬을 생성하는 단계를 포함하되,상기 제2값은 z, zmax, 및 대응하는 제1값에 의해 결정되는 것을 특징으로 하는, 데이터 부호화 방법.
- 제3항에 있어서,상기 제2 기본 행렬의 각 원소에 대응하는 상기 제2값은 음수가 아닌 정수 또는 "-1"이고,상기 패리티 검사 행렬을 생성하는 단계는,"-1"인 제2값을 z×z 크기를 갖는 제로 행렬로 대체하는 단계와;양의 정수인 제2값을 z×z 크기를 가지며 상기 양의 정수 값에 따라 z×z 크기를 갖는 제로 행렬을 변형함으로써 생성된 제2 퍼뮤테이션 행렬로 대체하는 단계 와;"0"인 제2값을 z×z 크기를 갖는 단위 행렬인 제2 퍼뮤테이션 행렬로 대체하는 단계를 포함하는 것을 특징으로 하는, 데이터 부호화 방법.
- 제4항에 있어서,상기 양의 정수 값에 의해 지시되는 상기 제2 퍼뮤테이션 행렬은 상기 z×z 크기를 갖는 단위 행렬의 전체 행 또는 열들을 상기 양의 정수 값만큼 순환 쉬프트함으로써 변형된 것을 특징으로 하는, 데이터 부호화 방법.
- 제3항에 있어서,상기 제1 및 제2 퍼뮤테이션 행렬들의 열 무게 및 행 무게는 "1"인 것을 특징으로 하는, 데이터 부호화 방법.
- 제3항에 있어서,상기 제2 기본 행렬의 행들의 개수는 상기 패리티 검사 행렬의 열들의 개수에 [(1-코딩 레이트)/z]를 곱한 값과 동일한 것을 특징으로 하는, 데이터 부호화 방법.
- 제3항에 있어서,상기 각 제2값은 다음의 함수,shift(z) = floor (shift (zmax) z / zmax)(여기서, "shift(zmax)"는 대응하는 제1값이고, "shift(z)"는 상기 제2값이며, "floor(x))는 x로부터 음의 무한대(minus infinity) 방향으로 가장 가까운 정수를 의미함.)에 의해 결정되는 것을 특징으로 하는, 데이터 부호화 방법.
- 제3항에 있어서,상기 각 제2값을 결정할 때, 제1값에 대응하는 연속되는 적어도 둘 이상의 정수들이 그룹핑되어 하나의 제2값에 매핑되는 것을 특징으로 하는, 데이터 부호화 방법.
- 제3항에 있어서,상기 제2 기본 행렬을 생성하는 단계에서, zmax×zmax 크기를 갖는 제로 행렬을 나타내는 제1값은 z×z 크기를 갖는 제로 행렬을 나타내는 제2값으로 대체되는 것을 특징으로 하는, 데이터 부호화 방법.
- 저밀도 패리티 체크 코드(LDPC)를 이용한 데이터 복호화 방법에 있어서,특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 인코딩된 데이터를 복화하하는 단계를 포함하되,상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정 의되는(여기서, "-1"은 zmax×zmax 크기를 갖는 제로 행렬을 나타내고, "0"은 zmax×zmax 크기를 갖는 단위 행렬을 나타내며, 양의 정수는 zmax×zmax 크기를 가지며 상기 단위 행렬을 해당되는 양의 정수만큼 순환 쉬프트함으로써 생성된 제1 퍼뮤테이션 행렬을 나타냄)것을 특징으로 하는, 데이터 복호화 방법.
- 제11항에 있어서,상기 zmax는 96인 것을 특징으로 하는, 데이터 복호화 방법.
- 제11항에 있어서,상기 인코딩된 데이터를 복부호화하는 단계는,상기 제1 기본 행렬의 각 원소에 대응하는 제1값을 제2 기본 행렬의 각 원소에 대응하고 z×z 크기를 갖는 제2 퍼뮤테이션 행렬 또는 제로 행렬을 나타내는 제2값으로 대체함으로써 상기 제2 기본 행렬을 생성하는 단계와;상기 제2 기본 행렬의 각 제2값을 z×z 크기를 갖는 대응하는 제2 퍼뮤테이션 행렬 또는 제로 행렬로 대체함으로써 패리티 검사 행렬을 생성하는 단계를 포함하되,상기 제2값은 z, zmax, 및 대응하는 제1값에 의해 결정되는 것을 특징으로 하는, 데이터 복호화 방법.
- 제13항에 있어서,상기 제2 기본 행렬의 각 원소에 대응하는 상기 제2값은 음수가 아닌 정수 또는 "-1"이고,상기 패리티 검사 행렬을 생성하는 단계는,"-1"인 제2값을 z×z 크기를 갖는 제로 행렬로 대체하는 단계와;양의 정수인 제2값을 z×z 크기를 가지며 상기 양의 정수 값에 따라 z×z 크기를 갖는 제로 행렬을 변형함으로써 생성된 제2 퍼뮤테이션 행렬로 대체하는 단계와;"0"인 제2값을 z×z 크기를 갖는 단위 행렬인 제2 퍼뮤테이션 행렬로 대체하는 단계를 포함하는 것을 특징으로 하는, 데이터 복호화 방법.
- 제14항에 있어서,상기 양의 정수 값에 의해 지시되는 상기 제2 퍼뮤테이션 행렬은 상기 z×z 크기를 갖는 단위 행렬의 전체 행 또는 열들을 상기 양의 정수 값만큼 순환 쉬프트함으로써 변형된 것을 특징으로 하는, 데이터 복호화 방법.
- 제13항에 있어서,상기 제1 및 제2 퍼뮤테이션 행렬들의 열 무게 및 행 무게는 "1"인 것을 특징으로 하는, 데이터 복호화 방법.
- 제13항에 있어서,상기 제2 기본 행렬의 행들의 개수는 상기 패리티 검사 행렬의 열들의 개수에 [(1-코딩 레이트)/z]를 곱한 값과 동일한 것을 특징으로 하는, 데이터 복호화 방법.
- 제13항에 있어서,상기 각 제2값은 다음의 함수,shift(z) = floor (shift (zmax) z / zmax)(여기서, "shift(zmax)"는 대응하는 제1값이고, "shift(z)"는 상기 제2값이며, "floor(x))는 x로부터 음의 무한대(minus infinity) 방향으로 가장 가까운 정수를 의미함.)에 의해 결정되는 것을 특징으로 하는, 데이터 복호화 방법.
- 제13항에 있어서,상기 각 제2값을 결정할 때, 제1값에 대응하는 연속되는 적어도 둘 이상의 정수들이 그룹핑되어 하나의 제2값에 매핑되는 것을 특징으로 하는, 데이터 복호화 방법.
- 제13항에 있어서,상기 제2 기본 행렬을 생성하는 단계에서, zmax×zmax 크기를 갖는 제로 행렬을 나타내는 제1값은 z×z 크기를 갖는 제로 행렬을 나타내는 제2값으로 대체되는 것을 특징으로 하는, 데이터 복호화 방법.
- 저밀도 패리티 체크 코드(LDPC)를 이용하여 데이터를 부호화하는 장치에 있어서,특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 입력 데이터를 부호화하는 부호기(encoder)를 포함하되,상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정의되는(여기서, "-1"은 zmax×zmax 크기를 갖는 제로 행렬을 나타내고, "0"은 zmax×zmax 크기를 갖는 단위 행렬을 나타내며, 양의 정수는 zmax×zmax 크기를 가지며 상기 단위 행렬을 해당되는 양의 정수만큼 순환 쉬프트함으로써 생성된 제1 퍼뮤테이션 행렬을 나타냄)것을 특징으로 하는, 장치.
- 제21항에 있어서,상기 부호기는,상기 제1 기본 행렬의 각 원소에 대응하는 제1값을 제2 기본 행렬의 각 원소에 대응하고 z×z 크기를 갖는 제2 퍼뮤테이션 행렬 또는 제로 행렬을 나타내는 제2값으로 대체함으로써 상기 제2 기본 행렬을 생성하는 기본 행렬 생성 모듈과;상기 제2 기본 행렬의 각 제2값을 z×z 크기를 갖는 대응하는 제2 퍼뮤테이션 행렬 또는 제로 행렬로 대체함으로써 패리티 검사 행렬을 생성하는 패리티 검사 행렬 생성 모듈과;상기 패리티 검사 행렬을 이용하여 상기 입력 데이터를 부호화하는 부호화 모듈을 포함하여 이루어지는 것을 특징으로 하는, 장치.
- 저밀도 패리티 체크 코드(LDPC)를 이용하여 부호화된 데이터를 복호화하는 장치에 있어서,특정 코드 레이트에 대해 정의된 제1 기본 행렬을 이용하여 입력 데이터를 부호화하는 복호기(decoder)를 포함하되,상기 특정 코드 레이트가 2/3인 경우, 상기 제1 기본 행렬은 다음과 같이 정의되는(여기서, "-1"은 zmax×zmax 크기를 갖는 제로 행렬을 나타내고, "0"은 zmax×zmax 크기를 갖는 단위 행렬을 나타내며, 양의 정수는 zmax×zmax 크기를 가지며 상기 단위 행렬을 해당되는 양의 정수만큼 순환 쉬프트함으로써 생성된 제1 퍼뮤테이션 행렬을 나타냄)것을 특징으로 하는, 장치.
- 제23항에 있어서,상기 복호기는,상기 제1 기본 행렬의 각 원소에 대응하는 제1값을 제2 기본 행렬의 각 원소에 대응하고 z×z 크기를 갖는 제2 퍼뮤테이션 행렬 또는 제로 행렬을 나타내는 제2값으로 대체함으로써 상기 제2 기본 행렬을 생성하는 기본 행렬 생성 모듈과;상기 제2 기본 행렬의 각 제2값을 z×z 크기를 갖는 대응하는 제2 퍼뮤테이션 행렬 또는 제로 행렬로 대체함으로써 패리티 검사 행렬을 생성하는 패리티 검사 행렬 생성 모듈과;상기 패리티 검사 행렬을 이용하여 상기 부호화된 데이터를 복호화하는 복호화 모듈을 포함하여 이루어지는 것을 특징으로 하는, 장치.
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)
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)
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 |
-
2005
- 2005-06-23 US US11/166,476 patent/US7581157B2/en not_active Expired - Fee Related
- 2005-06-24 WO PCT/KR2005/001988 patent/WO2006001666A2/en active Application Filing
- 2005-06-24 JP JP2007517965A patent/JP4677447B2/ja not_active Expired - Fee Related
- 2005-06-24 KR KR1020077001718A patent/KR101199388B1/ko not_active IP Right Cessation
- 2005-06-24 KR KR1020097025169A patent/KR101108062B1/ko active IP Right Grant
- 2005-06-24 CA CA2813202A patent/CA2813202C/en not_active Expired - Fee Related
- 2005-06-24 CA CA2569500A patent/CA2569500C/en not_active Expired - Fee Related
- 2005-06-24 EP EP10179172A patent/EP2270991A3/en not_active Ceased
- 2005-06-24 EP EP05756780A patent/EP1776768A2/en not_active Ceased
-
2009
- 2009-03-30 US US12/414,585 patent/US8201059B2/en active Active
- 2009-03-30 US US12/414,593 patent/US8276050B2/en not_active Expired - Fee Related
- 2009-03-30 US US12/414,600 patent/US8185807B2/en not_active Expired - Fee Related
-
2010
- 2010-09-24 JP JP2010214570A patent/JP5179551B2/ja not_active Expired - Fee Related
-
2012
- 2012-03-28 US US13/433,226 patent/US8286062B2/en active Active
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 |