KR20080030329A - 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법 - Google Patents
사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법 Download PDFInfo
- Publication number
- KR20080030329A KR20080030329A KR1020060096274A KR20060096274A KR20080030329A KR 20080030329 A KR20080030329 A KR 20080030329A KR 1020060096274 A KR1020060096274 A KR 1020060096274A KR 20060096274 A KR20060096274 A KR 20060096274A KR 20080030329 A KR20080030329 A KR 20080030329A
- Authority
- KR
- South Korea
- Prior art keywords
- matrix
- parity bit
- parity
- value
- result
- 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
- 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
-
- 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
- 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
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
1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 저밀도 패리티 검사(LDPC; Low Density Parity Check) 코드(code) 부호화(encoding) 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 사전에 패리티 비트(parity bit)의 값을 임의로 지정하고서, 연립방정식을 통해 역으로서 그 지정된 값의 패리티를 이중 사선 구조의 패리티 검사 행렬을 사용해 검사한 결과를 이용해 최종적인 패리티 비트를 서브 행렬 단위로 병렬적으로 도출하기 위한, 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법을 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은 저밀도 패리티 검사(LDPC; Low Density Parity Check) 코드(code)[이하 "LDPC 코드"라 함] 부호화(encoding) 방법에 있어서, 길이 K의 정보 시퀀스를 길이 N의 코드로 LDPC 코드 부호화하는데 사용되는 H 행렬에 있어, 그 패리티 비트 부분을 결정하는 과정으로서, 상기 H 행렬을 토대로 검사 노드들에 대한 (N-K)개의 행과 (N-K)개의 열로 이루어진 이중 사선(dual diagonal) 구조를 갖는 패리티 비트 검사 행렬을 구성하는 단계; 상기 H 행렬 상에서 패리티 비트 검사 행렬을 구성한 상태에서, 임의의 이진수 값을 서브블록 단위로 삽입시켜 모든 패리티 비트의 값을 계산하는 단계; 상기 계산한 패리티 비트의 값을 검사한 결과로 이 패 리티 비트의 값이 올바르지 않으면, H 행렬 상에서 가장 마지막에 위치한 서브블록에 대응되는 패리티 비트를 검사하는 단계; 상기 패리티 비트를 검사한 결과를 토대로 그 패리티 비트 검사 결과가 일("1")로 나타나는 패리티 비트 부분을 써치하는 단계; 상기 써치한 패리티 비트 부분을, 처음에 임의로 이진수 값을 삽입시킨 패리티 비트 부분과 패리티 비트간 연립방정식을 통해 얻은 패리티 비트 부분을 서브블록 단위로 XOR 연산을 수행하는 단계; 및 상기 XOR 연산을 수행한 결과 중에서 H 행렬과 이 H 행렬에 의해 부호화된 코드 워드 벡터를 곱한 값이 영("0")에 대응되는 패리티 비트의 값을 그 H 행렬의 패리티 비트 값으로 결정하는 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 LDPC 코드 부호화 등에 이용됨.
저밀도 패리티 검사(LDPC; Low Density Parity Check) 코드(code) 부호화(encoding), H 행렬, 이중 사선, 패리티 검사 행렬, 서브 행렬 단위, 병렬 처리, 싸이클릭 쉬프트(cyclic shift)
Description
도 1은 일반적인 LDPC 코드 부호화에 대한 개념을 보여주기 위한 일실시예 설명도.
도 2의 상단은 본 발명에서 사용하는 H 행렬을 보여주기 위한 일실시예 설명도.
도 2의 중간 및 하단은 본 발명에서 제시하는 H 행렬을 보여주기 위한 일실시예 설명도.
도 3은 본 발명에 따라 입력어가 벡터 x로 변환되는 개념을 보여주기 위한 일실시예 설명도.
도 4는 본 발명에 따라 도 2에 도시된 H 행렬 상의 패리티 비트 부분을 모두 0으로서 설정한 H 행렬을 보여주기 위한 일실시예 설명도.
도 5는 본 발명에서 사용하는 싸이클릭 쉬프트(cyclic shift)에 대한 개념을 보여주기 위한 일실시예 설명도.
도 6은 본 발명에 따라 H 행렬의 패리티 부분 행렬을 연산한 결과로서, 그 패리티 검사 결과가 실패된 경우를 보여주기 위한 일실시예 설명도.
도 7은 본 발명에 따라 H 행렬의 패리티 부분 행렬을 연산한 결과로서, 그 패리티 검사 결과가 XOR 연산에 의해 수정되어져 최종적인 패리티 비트가 결정된 경우를 보여주기 위한 일실시예 설명도.
도 8은 본 발명에 따라 H 행렬 상의 첫번째 열을 싸이클릭 쉬프트를 수행한 경우에 그 H 행렬의 패리티 부분 행렬을 연산한 결과를 보여주기 위한 일실시예 설명도.
도 9는 본 발명에 따른 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법에 대한 일실시예 순서도.
본 발명은 저밀도 패리티 검사(LDPC; Low Density Parity Check) 코드(code) 부호화(encoding) 방법에 관한 것으로, 더욱 상세하게는 사전에 패리티 비트(parity bit)의 값을 임의로 지정하고서, 연립방정식을 통해 역으로서 그 지정된 값의 패리티를 이중 사선 구조의 패리티 검사 행렬을 사용해 검사한 결과를 이용해 최종적인 패리티 비트를 서브 행렬 단위로 병렬적으로 도출하기 위한, 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법에 관한 것이다.
저밀도 패리티 검사(LDPC; Low Density Parity Check) 코드(code)[이하, "LDPC 코드"라 함]는 샤논 한계(Shannon limit)에 근접하는 우수한 성능에도 불구하고 하드웨어적인 기술력의 제한으로 사용되지 않다가, 최근에 차세대 유무선 통신 시스템에 있어 고속 통신에 따른 에러 발생률을 줄이기 위한 채널 코딩 기법으로서 활발한 연구가 이루어지고 있다.
LDPC 코드는 systematic한 방식으로 부호화가 이루어진다는 것을 전제로 한다. 즉, 패킷의 일부분은 입력된 비트(bit)와 동일한 형태로 출력으로서 나가고, 그 패킷의 나머지 부분은 패리티 비트(parity bit, 부호 검사 비트)라는 부가 정보로서 원 정보와 함께 출력으로서 나간다.
위와 같이 모든 입력 신호가 LDPC 코드 부호화기에 입력되어야지만 그 부호화 작업이 수행될 수 있으며, 부호율에 따라 패리티 비트가 전체 패킷에서 차지하는 비율이 서로 다르다. 이러한 부호율은 H 행렬(H matrix)에 의해 고정된다.
한편, LDPC 코드 부호화 기법의 종래 기술로는 리차드슨(Richardson)이 제안한 ""Efficient Encoding of Low Density Parity Check Codes"가 있다[IEEE Transactions on Information Theory, Vol. 47, No. 2001년 2월 2일].
상기 종래 기술에서는 H 행렬을 세분화하여 서브 행렬(sub matrix)로 나눈 후에 행렬의 연립방정식의 입력 벡터(input vector)가 주어지면 그 출력 패리티 비트를 생성하고 있다.
한편, 최근에 위와 같은 리차드슨의 LDPC 코드 부호화 기법에 비해 간단한 LDPC 코드 부호화 기법이 주식회사 모토롤라에 의해 IEEE 802.16e에 제안된 상태인데, 이 LDPC 코드 부호화 기법은 행렬을 연산하는 것이 아니라 연립방정식을 통해 직접적으로 패리티 비트를 구하여 LDPC 코드를 부호화한다.
그런데, 상기 리차드슨의 LDPC 코드 부호화 기법은 서브 행렬을 나누는 연산으로 인해 고속으로 신호를 처리하기가 용이하지 않으며, 상기 모토롤라의 LDPC 코드 부호화 기법은 직접 패리티 비트를 구하는 것으로 인해 부호화 복잡도, 하드웨어 리소스 부하가 상당히 증가하는 문제점이 있다.
따라서, LDPC 코드를 부호화하는데 있어, 고속 통신에 적합하고, 부호화 복잡도 및 리소스 소요를 최소화할 수 있는 기술이 절실히 요구되고 있다.
본 발명은 상기와 같은 문제점을 해결하고 상기와 같은 요구에 부응하기 위하여 제안된 것으로, 사전에 패리티 비트(parity bit)의 값을 임의로 지정하고서, 연립방정식을 통해 역으로서 그 지정된 값의 패리티를 이중 사선 구조의 패리티 검사 행렬을 사용해 검사한 결과를 이용해 최종적인 패리티 비트를 서브 행렬 단위로 병렬적으로 도출하기 위한, 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법을 제공하는데 그 목적이 있다.
상기의 목적을 달성하기 위한 본 발명의 방법은, 저밀도 패리티 검사(LDPC; Low Density Parity Check) 코드(code)[이하 "LDPC 코드"라 함] 부호화(encoding) 방법에 있어서, 길이 K의 정보 시퀀스를 길이 N의 코드로 LDPC 코드 부호화하는데 사용되는 H 행렬에 있어, 그 패리티 비트 부분을 결정하는 과정으로서, 상기 H 행렬을 토대로 검사 노드들에 대한 (N-K)개의 행과 (N-K)개의 열로 이루어진 이중 사선(dual diagonal) 구조를 갖는 패리티 비트 검사 행렬을 구성하는 단계; 상기 H 행렬 상에서 패리티 비트 검사 행렬을 구성한 상태에서, 임의의 이진수 값을 서브블록 단위로 삽입시켜 모든 패리티 비트의 값을 계산하는 단계; 상기 계산한 패리티 비트의 값을 검사한 결과로 이 패리티 비트의 값이 올바르지 않으면, H 행렬 상에서 가장 마지막에 위치한 서브블록에 대응되는 패리티 비트를 검사하는 단계; 상기 패리티 비트를 검사한 결과를 토대로 그 패리티 비트 검사 결과가 일("1")로 나타나는 패리티 비트 부분을 써치하는 단계; 상기 써치한 패리티 비트 부분을, 처음에 임의로 이진수 값을 삽입시킨 패리티 비트 부분과 패리티 비트간 연립방정식을 통해 얻은 패리티 비트 부분을 서브블록 단위로 XOR 연산을 수행하는 단계; 및 상기 XOR 연산을 수행한 결과 중에서 H 행렬과 이 H 행렬에 의해 부호화된 코드 워드 벡터를 곱한 값이 영("0")에 대응되는 패리티 비트의 값을 그 H 행렬의 패리티 비트 값으로 결정하는 단계를 포함한다.
한편, 본 발명은 저밀도 패리티 검사(LDPC; Low Density Parity Check) 코드(code) 부호화기(encoder)[이하 "LDPC 코드 부호화기"라 함]에, 그 내부의 패리티 비트 검사 행렬의 첫번째 열이 모두 동일한 싸이클릭 쉬프트(cyclic shift)의 값을 갖는 이중 사선(dual diagonal) 구조의 H 행렬에 상응되는 데이터를 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
다른 한편으로, 본 발명은 저밀도 패리티 검사(LDPC; Low Density Parity Check) 코드(code) 부호화기(encoder)[이하 "LDPC 코드 부호화기"라 함]에, 그 내부의 모든 패리티 비트 검사 행렬이 단위 행렬(identity matrix)의 구조를 갖는 H 행렬에 상응되는 데이터를 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
본 발명에서는 고속 통신에 적합하고, 부호화 복잡도 및 리소스 소요를 최소화시킬 수 있는 LDPC 코드 부호화 기법을, 패리티 검사 행렬의 설계로서 해결할 수 있다는 것에 착안해, 패리티 검사 행렬의 구조를 기존 LDPC 코드 부호화 기법과 서로 동일하게 그대로 유지하면서도, 그 내부의 패리티 검사 행렬의 싸이클릭 쉬프트(cyclic shift)의 값이 변경된 구조를 갖는 H 행렬을 제시하고자 한다.
또한, 본 발명에서는 일반적인 리차드슨의 LDPC 코드 부호화 기법을 그대로 사용할 수 있으며, 특히 LDPC 코드 부호화에 있어서의 그 패리티 비트를 결정하는데 있어 임의의 서브블록(sub-block)의 크기 만큼만을 패리티 비트의 해로서 삽입시켜 패리티 검사 행렬이 이중 사선(dual diagonal) 구조를 갖도록 해, 연쇄적으로 패리티 비트의 나머지 해를 구하고, 여기서 잘못 구한 패리티 비트의 해에 대해서는 처음의 임의의 해를 서브블록 단위로 뒤집어 삽입시킴으로서 정확한 패리티 비트의 해를 구하고자 한다.
도 1은 일반적인 LDPC 코드 부호화에 대한 개념을 보여주기 위한 일실시예 설명도이다.
LDPC 코드 부호화 기법의 기본 사상은 "H 행렬"인데, 송신단의 부호화기에서 H 행렬을 통해 부호화(encoding)된 패킷은 수신단의 복호화기에서 H 행렬을 통해 복호화(decoding)된다.
도 1에는 부호율 "R=3/4"인 LDPC 코드 부호화기가 도시되어 있는데, 도 1에 도시된 바와 같이 입력 신호인 15 비트의 이진 벡터가 출력 신호로서 그대로 나오고 입력 벡터를 토대로 5개의 패리티 비트가 LDPC 코드 부호화기에 의해 결정되어져 출력 신호로서 함께 나온다. 예컨대, "입력 비트[15]/출력 비트[20] = 3/4"으로서 부호율 "R=3/4"임을 알 수 있다.
그럼, 이하 도 2 내지 도 8을 함께 참조하여 본 발명에서 제시하는 H 행렬의 구조에 대해 살펴보기로 한다.
도 2의 상단은 본 발명에서 사용하는 H 행렬을 보여주기 위한 일실시예 설명도이며, 도 2의 중간 및 하단은 본 발명에서 제시하는 H 행렬을 보여주기 위한 일실시예 설명도이다.
도 3은 본 발명에 따라 입력어가 벡터 x로 변환되는 개념을 보여주기 위한 일실시예 설명도이다.
도 4는 본 발명에 따라 도 2에 도시된 H 행렬 상의 패리티 비트 부분을 모두 0으로서 설정한 H 행렬을 보여주기 위한 일실시예 설명도로서, 이 H 행렬은 부호율 "R=1/2", 서브블록의 크기가 38×38의 크기를 갖는 구조로 이루어져 있다.
도 5는 본 발명에서 사용하는 싸이클릭 쉬프트(cyclic shift)에 대한 개념을 보여주기 위한 일실시예 설명도로서, 도 5의 좌측에는 싸이클릭 쉬프트 0을, 도 5의 우측에는 싸이클릭 쉬프트 2를 도시하였다.
도 2에는 정사 행렬(projection matrix)의 싸이클릭 쉬프트로 이루어진 LDPC 코드 부호화기에 적용되는 H 행렬이 도시되어 있으며, 도 2의 상단에 도시된 일반적인 H 행렬 상의 패리티 비트 영역의 첫번째 행렬을 도 2의 중간 및 하단과 같이 바꾸어 주면, 본 발명에서 제시하는 H 행렬이 된다.
예컨대, 도 2의 상단에는 현재 표준화가 진행 중인 IEEE 802.11n 규격에 제시된 부호율 "R=5/6"인 H 행렬의 구조를 도시했으며, 이러한 H 행렬은 81×81 크기의 서브블록 단위의 행렬로 구성된다. 또한, H 행렬 상의 숫자는 싸이클릭 쉬프트의 값을 나타낸다.
한편, 도 4에는 서브블록의 크기가 38×38인 H 행렬에 있어서 그 싸이클릭 쉬프트의 예시가 도시되어 있으며, 각 서브블록은 써큘런트 행렬(circulant matrix)의 구조를 갖는다.
한편, 도 3에 도시된 H 행렬 상의 서브블록 단위가 81×81이라면, 이 도 3의 H 행렬의 크기는 324×1944가 된다.
특히, 도 3에 도시된 H 행렬은 리차드슨이 제안한 H 행렬의 구조를 갖으며, 이 H 행렬을 도 2에 도시된 바와 같이 입력 비트 부분과 패리티 비트 부분으로서 그 H 행렬을 나눌 수 있다. 이러한 H 행렬의 특징은 패리티 비트 부분이 이중 사선(dual diagonal)의 구조를 갖는다는 것이다.
앞서 전술한 바와 같이, 본 발명에서 제시하는 H 행렬의 구조는, 도 2의 중간에 도시된 바와 같이 패리티 비트 부분을 모두 0 싸이클릭 쉬프트, 예컨대 단위 행렬(identity matrix)로 만들어서, 도 2의 하단에 도시된 바와 같이 서브블록의 사선(diagonal) 부분의 길이만큼 패리티 비트를 한꺼번에 병렬적으로 결정하는 특징을 지닌다.
그럼, 위와 같이 서브블록 단위로 한꺼번에 병렬적으로 패리티 비트를 결정하는 알고리즘을 설명하기에 앞서, 비트 단위의 패리티 비트를 결정하는 과정을 도 4를 참조하여 설명하면 다음과 같다.
도 4에 도시된 바와 같이, 부호율 "R=1/2"인 H 행렬에 있어 패리티 비트 부분에 "▨"로 표시된 부분이 모두 0 싸이클릭 쉬프트로서 수정됨을 알 수 있다. 여기서, H 행렬과 이 H 행렬에 의해 부호화된 코드 워드 벡터 c(code word vector c)를 곱한 결과는 다음의 [수학식 1]을 만족하여야 된다.
[수학식 1]에서, c 벡터는 도 1에 도시된 LDPC 코드 부호화기의 출력 벡터 c를 나타낸다.
이에, LDPC 코드 부호화기는 도 1에 도시된 출력 벡터 중 밀줄로 그어진 패리티 비트를 결정하면 되며, 도 4에 도시된 H 행렬 상에서 "H·CT = 0"을 만족하는 456개의 패리티 비트, 즉 서브블록의 갯수가 38개 이기에 456[38*12=456]개의 패리티 비트를 찾아내면 된다.
앞서 언급했지만, 도 4에 도시된 H 행렬은 서브블록 단위의 행렬로 이루어지는데, 이러한 서브블록 단위 행렬은 도 5에 도시된 싸이클릭 쉬프트로 구성된다.
그럼, 상기 456개의 패리티 비트를 찾는 과정을 설명하면 다음과 같다.
상기 456개의 패리티 비트 각각을 "P0, P1, …, P454, P455"로 정의하자.
그러면, 패리티 비트 P0와 패리티 비트 P1이 상기 [수학식 1]을 만족하려면, 456개 행(row) 중에서 1번째 행, 13번째 행, 59번째 행, 112번째 행, 184번째 행, 308번째 행에 대응되는 입력 비트와, 0번째 행, 38번째 행에 대응되는 패리티 비트의 합이 0이 되어야 된다. 즉, modulo 2 연산이므로 짝수가 되어야 된다. 여기서, 첫번째 행에 대한 "H·CT = 0" 연산을 다음의 [수학식 2]로 표현할 수 있다.
또한, [수학식 2]에서 (H)j는 H 행렬의 j번째 행을 가르킨다.
[수학식 2]를 통해 알 수 있듯이, S0, S59, S112, S184, S308은 입력 신호로서 주어진 것이지만, 패리티 비트 P0 및 P38은 계산해야 된다.
더군다나, 도 4에 도시된 H 행렬 상에는 456개의 패리티 비트가 존재하며, 이에 상기 [수학식 2]의 해를 구하기 위해서는 456개의 패리티 비트 "P0, P1, …, P454, P455" 각각에 대해 모두 그 값을 구해야만 된다.
그런데, 상기 456개의 패리티 비트에 대한 해는 연립방정식으로 그 값을 구할 수가 없다.
따라서, 본 발명에서는 사전에 특정 패리티 비트의 값을 설정해 놓으면 다른 패리티 비트의 값을 구할 수 있다는 것에 착안해, 사전에 패리티 비트 P0의 초기값을 0으로서 설정해 그에 대응되는 패리티 비트 P38의 값을 구한다. 예컨대, 이러한 패리티 비트 P38의 값을 알고 있기 때문에 H 행렬의 38번째 행에 해당되는 패리티 비트 P76의 값을 다음의 [수학식 3]으로 구한다.
[수학식 3]을 통해 알 수 있듯이, 패리티 비트 P76은 38번째 행에 위치하고 있으며, 이와 같이 패리티 비트 P76의 값을 안 상태에서 동일한 38번째 행에 위치한 패리티 비트 P114의 값도 구할 수 있게 된다. 여기서, 패리티 비트 P114는 72번째 행의 값을 갖는다.
위와 같은 패리티 비트 계산 과정을 거쳐, 380번째 행의 패리티 비트 P418의 값을 구하고서, 이 구한 패리티 비트 P418의 값이 418번째 행에서의 패리티 비트 P418의 값이 된다.
위와 같이 418번째 행에 대응되는 입력 비트와 패리티 비트를 모두 더한 값이 0이 되면, 그 패리티 비트 "P0, P38, P76, P114, P152, P190, P228, P266, P304, P418"의 값이 모두 올바른 값으로서 결정되는 것이다.
한편, 418번째 행에 대응되는 입력 비트와 패리티 비트를 모두 더한 값이 0이 되지 않으면, 처음 과정, 예컨대 사전에 패리티 비트 P0의 초기값을 설정하는 과정으로 돌아가서 그 패리티 비트 P0의 초기값을 1로 설정해서 그 이후의 과정을 수행한다.
다만, 패리티 비트 P0의 초기값을 변경해 가면서 행렬 상의 패리티 비트 값이 올바른 것인지를 검사하는 과정은 다소 연산량이 많아질 수 있기에, 본 발명의 다른 예로서 패리티 비트 "P0, P38, P76, P114, P152, P190, P228, P266, P304, P418" 중에서 "P0, P38, P76, P114, P152, P190, P228"의 값을 XOR 연산하여 최종적인 패리티 비트를 결정하는 것이 바람직하다.
부연 설명하면, 상기 패리티 비트 중에서 "P266, P304, P418"을 XOR 연산 대상에서 제외시켰는데, 이는 "P266, P304, P418"의 값이 변하지 않기 때문이다. 즉, 228번째 행에는 3개의 패리티 비트가 결정되어야 되는데, 홀수 개의 패리티 비트 1번째와 2번째가 결정되면 나머지 3번째 패리티 비트는 항상 일정한 값을 갖는 점을 이용한 것이다.
전술한 바와 같이, 본 발명에 따른 비트 단위의 패리티 비트를 결정하는 과정을 살펴보았고, 이하 본 발명에서 서브블록 단위로 한꺼번에 병렬적으로 패리티 비트를 결정하는 과정에 대해 이하 도 6 및 도 7을 참조하여 상세히 후술하기로 한다.
도 6은 본 발명에 따라 H 행렬의 패리티 부분 행렬을 연산한 결과로서, 그 패리티 검사 결과가 실패된 경우를 보여주기 위한 일실시예 설명도이며, 도 7은 본 발명에 따라 H 행렬의 패리티 부분 행렬을 연산한 결과로서, 그 패리티 검사 결과 가 XOR 연산에 의해 수정되어져 최종적인 패리티 비트가 결정된 경우를 보여주기 위한 일실시예 설명도이다. 여기서, H 행렬은 4×4 단위의 서브블록으로 이루어져 있다.
앞서 도 4를 참조하여 설명한 비트 단위로 패리티 비트를 결정하는 과정에 대해, 본 발명에서는 서브블록 단위로 한꺼번에 병렬적으로 패리티 비트를 결정할 수 있다.
즉, 패리티 비트 "P0, P37"이 결정되면, 본 발명의 서브블록 단위 병렬적 처리를 통해 곧바로 패리티 비트 "P0"부터 "P37"까지 결정한다.
도 6 및 도 7 각각에 도시된 바와 같이, H 행렬의 정보 비트 부분은 도 3에 도시된 바와 같이 벡터 x에 해당된다. 이러한 벡터 x는 modulo 2 연산으로 표현되는데, 이 벡터 x에 대해 도 4에 도시된 H 행렬 상의 0번째 행 부분을 표현하면 다음의 [수학식 4]와 같다.
[수학식 4]에서, j는 벡터 x의 행을 나타낸다.
그럼, 도 4에 도시된 H 행렬을 LDPC 코드 부호화기에 적용하기 위해서, 위와 같은 [수학식 4]를 이용해 456개의 패리티 비트에 대응되는 벡터 x의 값을 생성한다.
상기 [수학식 4]를 이용해 모든 벡터 x를 생성한 상태에서, H 행렬 상의 서 브블록 행렬의 크기가 4×4로 가정하면, 그 LPCP 코드 부호화 과정은 도 6과 같다.
도 6을 살펴보면, "▨"로 표시된 패리티 비트 부분의 첫번째 서브블록의 열이 모두 0으로서 초기화되어 있다. 이는 패리티 비트 "P0, P1, P2, P3"가 모두 0으로서 설정되었다는 것을 의미한다.
앞서 도 4를 참조하여 설명한 바와 같이, [수학식 1]에 의해 패리티 비트 "P4, P5, P6, P7"은 각각 "0, 1, 0, 1"로 구할 수 있으며, 이어서 패리티 비트 "P8, P9, P10, P11"과, "P12, P13, P14, P15"를 차례대로 구할 수 있다.
그리고서, 최종적으로 12번째 행부터 15번째 행까지 구한 패리티 비트에 대한 패리티 검사 결과[즉 수학식 1]를 도 6에 "▥"로 표시된 서브블록으로 나타낼 수 있다[sub-block check result].
도 6에 도시된 "▥"로 표시된 서브블록 중 0이 아닌 부분, 예컨대 1이 존재하면 ▨이 패리티 검사 결과는 실패, 즉 원하는 LDPC 코드 생성 실패를 의미한다[수학식 1을 만족하지 못함]. 도 6에 있어서는 12번째 행의 패리티 비트가 잘못되었음을 알 수 있다.
그렇다면, 도 6에 있어 그 패리티 검사 결과가 실패했기에 이를 수정해서 최종적인 패리티 비트를 결정해야 되겠다. 이러한 과정은 도 7에 도시된다.
즉, 도 6의 패리티 검사 결과, 예컨대 도 6에 "▥"로 표시된 서브블록을, 도 6에 "▨"로 표시된 패리티 비트 부분의 서브블록과 도 6에 "▧"로 표시된 패리티 비트 부분의 서브블록에 XOR 연산을 시킨다.
그러면, 상기 XOR 연산 결과로서 도 7과 같은 결과를 얻을 수 있으며, 특히 12번째 행부터 15번째 행까지 패리티 비트 검사를 해 보면 도 7에 "▒"로 표시된 서브블록을 얻을 수 있다.
즉, 도 7에는 상기 [수학식 1]을 만족하는 패리티 비트 "P0"부터 "P15"까지를 최종적으로 구한 것을 보여주고 있다.
위와 같은 최종적인 패리티 비트를 결정하는데 있어 주의할 점은, 도 7에 "▤"로 표시된 패리티 비트 부분에 대해서는 XOR 연산 대상에서 제외시킨다는 것이다.
예컨대, 도 6에 도시된 H 행렬이 도 7에 도시된 H 행렬로 수정되는 과정을 통해 확인할 수 있는데, 도 6에 "▥"로 표시된 패리티 부분의 서브블록과 도 6에 "▧"로 표시된 패리티 부분의 서브블록과 도 7에 "▥"로 표시된 패리티 부분의 서브블록과 도 7에 "▧"로 표시된 패리티 부분의 서브블록의 값이 각각 변하더라도, 그 "▤"로 표시된 패리티 비트 부분의 서브블록의 값이 변하지 않음을 의미한다. 이는 앞서 도 4를 참조하여 설명한 바와 같이 비트 단위로 패리티 비트를 결정하는 과정에 있어 3개의 패리티 비트가 결정되어지는 이유와 마찬가지로 서브블록 단위로 병렬적으로 패리티 비트를 결정하는 과정에 있어서도 동일한 것이다.
한편, 본 발명에서 제시하는 패리티 비트 결정 과정은, 서브블록 단위로 병렬적으로 패리티 비트를 결정하는 특징 외에도, 다른 특징으로서 도 7에 "▥"로 표시된 패리티 부분에 대응되는 열이 모두 동일한 싸이클릭 쉬프트를 가져도 무방, 예컨대 LDPC 코드 부호화에 어떠한 영향도 미치지 않는다는 것이다. 이를 도 8을 참조하여 설명하기로 한다.
도 8은 본 발명에 따라 H 행렬 상의 첫번째 열을 싸이클릭 쉬프트를 수행한 경우에 그 H 행렬의 패리티 부분 행렬을 연산한 결과를 보여주기 위한 일실시예 설명도로서, 첫번째 열을 1 싸이클릭 쉬프트를 한 경우를 보여주고 있다.
도 8에 도시된 바와 같이, "▥"로 표시된 패리티 부분에 대응되는 열이 모두 동일한 싸이클릭 쉬프트를 가지는데, 이와 같은 싸이클릭 쉬프트가 LDPC 코드 부호화 성능에 어느 정도의 영향을 주긴 하지만 이는 앞서 설명한 본 발명에 따른 LDPC 코드 부호화 과정도 동일한 결과를 갖는다.
그럼, 이하 LDPC 코드 부호화 과정 중, 전술한 본 발명의 패리티 비트 결정 과정에 대한 그 플로우를 도 9를 참조하여 정리한다.
도 9는 본 발명에 따른 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법 중 특히 패리티 비트 결정 과정에 대한 일실시예 순서도이다.
길이 K의 정보 시퀀스를 길이 N의 코드로 LDPC 코드 부호화하는 과정을 예로 들어 설명하면 다음과 같다.
먼저, H 행렬을 토대로 검사 노드들에 대한 (N-K)개의 행과 (N-K)개의 열로 이루어진 이중 사선(dual diagonal) 구조를 갖는, 패리티 비트 검사 행렬을 구성하 는데 있어 상기 H 행렬의 패리티 검사 행렬 부분(parity part of H matrix)의 첫번째 열(first column)을 모두 동일한 수만큼의 싸이클릭 쉬프트(cyclic shift)를 수행한다(901). 다른 예로, 본 패리티 비트 검사 행렬을 구성하는데 있어 이 패리티 비트 검사 행렬을 전부 단위 행렬(identity matrix)로 구성할 수도 있다.
그런후, 상기 H 행렬 상에서 패리티 비트 검사 행렬을 구성한 상태에서, 임의의 이진수(binary) 값을 서브블록(sub-block) 단위로 삽입시켜 모든 패리티 비트의 값을 계산한다(902).
상기 계산한 패리티 비트의 값을 검사해(903), 이 패리티 비트의 값이 올바르지 않으면 H 행렬 상에서 가장 마지막에 위치한 서브블록에 대응되는 패리티 비트를 검사하고서(904), 이 패리티 비트 검사 결과가 1로 나타나는 패리티 비트 부분을 써치한다(905).
그리고서, 상기 써치한 패리티 비트 부분을, 처음에 임의로 이진수 값을 삽입시킨 패리티 비트 부분과 패리티 비트간 연립방정식을 통해 얻은 패리티 비트 부분을 서브블록 단위로 XOR 연산을 수행하면서(906), 최종적으로 "H·CT = 0"[수학식 1]을 만족하는 패리티 비트의 값을 그 H 행렬의 값으로 결정한다(907).
부가적으로, 전술한 본 발명에서는 패리티 비트 P0의 초기값[곧 서브블록의 초기값]을 0으로서 설정했지만, 어떠한 이진수의 랜덤한 숫자의 조합을 초기값으로 사용해도 마지막 행에 해당되는 서브블록의 패리티 비트 검사를 도 6 및 도 7 각각 에서 "▤"로 표시된 패리티 비트 부분을 제외한 서브블록에 XOR 연산을 수행해 [수학식 1]을 만족하는 최종적인 패리티 비트를 결정하면 된다.
또한, 임의의 패리티 비트 초기값을 첫번째 열의 서브블록에 한정시켜 본 패리티 비트 결정 과정을 수행하지 않고서도 도 6에 "▤"로 표시된 패리티 비트 부분을 제외한 나머지 열의 서브블록 중에서 선택해 그 과정을 수행해도 무방하다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
상기와 같은 본 발명은 LDPC 코드 부호화에 있어 고속 통신에 적합하고, 부호화 복잡도 및 리소스 소요를 최소화할 수 있는 효과가 있다.
또한, 본 발명은 패리티 검사 행렬의 구조를 기존 LDPC 코드 부호화 기법과 서로 동일하게 그대로 유지하면서도, 단지 H 행렬의 구조만을 약간 변경시켜 효율적으로 LDPC 코드를 부호화할 수 있은 효과가 있다.
또한, 본 발명은 H 행렬 상의 패리티 비트의 해를 정확하게 구할 수 있는 효과가 있다.
또한, 본 발명은 장치적인 측면에 있어 LDPC 코드 복호화기의 구조를 본 H 행렬에 대응되게 변경해 LDPC 코드 부호화 동작을 수행시킬 수 있도록 하는 효과가 있다.
Claims (10)
- 저밀도 패리티 검사(LDPC; Low Density Parity Check) 코드(code)[이하 "LDPC 코드"라 함] 부호화(encoding) 방법에 있어서,길이 K의 정보 시퀀스를 길이 N의 코드로 LDPC 코드 부호화하는데 사용되는 H 행렬에 있어, 그 패리티 비트 부분을 결정하는 과정으로서,상기 H 행렬을 토대로 검사 노드들에 대한 (N-K)개의 행과 (N-K)개의 열로 이루어진 이중 사선(dual diagonal) 구조를 갖는 패리티 비트 검사 행렬을 구성하는 단계;상기 H 행렬 상에서 패리티 비트 검사 행렬을 구성한 상태에서, 임의의 이진수 값을 서브블록 단위로 삽입시켜 모든 패리티 비트의 값을 계산하는 단계;상기 계산한 패리티 비트의 값을 검사한 결과로 이 패리티 비트의 값이 올바르지 않으면, H 행렬 상에서 가장 마지막에 위치한 서브블록에 대응되는 패리티 비트를 검사하는 단계;상기 패리티 비트를 검사한 결과를 토대로 그 패리티 비트 검사 결과가 일("1")로 나타나는 패리티 비트 부분을 써치하는 단계;상기 써치한 패리티 비트 부분을, 처음에 임의로 이진수 값을 삽입시킨 패리티 비트 부분과 패리티 비트간 연립방정식을 통해 얻은 패리티 비트 부분을 서브블록 단위로 XOR 연산을 수행하는 단계; 및상기 XOR 연산을 수행한 결과 중에서 H 행렬과 이 H 행렬에 의해 부호화된 코드 워드 벡터를 곱한 값이 영("0")에 대응되는 패리티 비트의 값을 그 H 행렬의 패리티 비트 값으로 결정하는 단계를 포함하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
- 제 1 항에 있어서,상기 패리티 비트 검사 행렬을 구성하는 단계는,상기 H 행렬의 패리티 검사 행렬 부분의 첫번째 열을 모두 동일한 수만큼의 싸이클릭 쉬프트(cyclic shift)를 수행해 그 패리티 비트 검사 행렬을 구성하는 것을 특징으로 하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
- 제 1 항에 있어서,상기 패리티 비트 검사 행렬을 구성하는 단계는,상기 패리티 비트 검사 행렬을 전부 단위 행렬(identity matrix)로서 구성하는 것을 특징으로 하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
- 제 1 항에 있어서,상기 임의의 이진수 값을 서브블록 단위로 삽입시켜 모든 패리티 비트의 값을 계산하는 단계에 있어, 이 패리티 비트의 초기값[임의의 이진수 값]은 영("0")인 것을 특징으로 하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
- 제 1 항에 있어서,상기 임의의 이진수 값을 서브블록 단위로 삽입시켜 모든 패리티 비트의 값을 계산하는 단계에 있어, 이 패리티 비트의 초기값[임의의 이진수 값]은 랜덤한 이진수의 조합값인 것을 특징으로 하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
- 제 4 항 또는 제 5 항에 있어서,상기 패리티 비트의 초기값은 H 행렬 상의 패리티 비트 검사 행렬 중에서 어떠한 열에도 그 값이 지정 가능한 것을 특징으로 하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
- 제 5 항에 있어서,상기 패리티 비트의 초기값을 랜덤한 이진수의 조합값으로 지정한 상태에서,상기 XOR 연산을 수행하는 단계에 있어, 상기 H 행렬 상의 패리티 비트 부분 중 LDPC 부호화에 상관없이 그 값이 변하지 않는 패리티 비트 부분을 그 XOR 연산 대상에서 제외시키는 것을 특징으로 하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
- 저밀도 패리티 검사(LDPC; Low Density Parity Check) 코드(code) 부호화기(encoder)[이하 "LDPC 코드 부호화기"라 함]에,그 내부의 패리티 비트 검사 행렬의 첫번째 열이 모두 동일한 싸이클릭 쉬프트(cyclic shift)의 값을 갖는 이중 사선(dual diagonal) 구조의 H 행렬에 상응되는 데이터를 기록한 컴퓨터로 읽을 수 있는 기록매체.
- 제 8 항에 있어서,상기 싸이클릭 쉬프트의 값은 그 H 행렬 상의 서브블록 크기 범위 내의 어떠한 값으로도 가능한 것을 특징으로 하는 기록매체.
- 저밀도 패리티 검사(LDPC; Low Density Parity Check) 코드(code) 부호화기(encoder)[이하 "LDPC 코드 부호화기"라 함]에,그 내부의 모든 패리티 비트 검사 행렬이 단위 행렬(identity matrix)의 구조를 갖는 H 행렬에 상응되는 데이터를 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060096274A KR100837730B1 (ko) | 2006-09-29 | 2006-09-29 | 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법 |
PCT/KR2007/004785 WO2008039035A1 (en) | 2006-09-29 | 2007-10-01 | Method for encoding low density parity check codes using result of checking previously specified parity bits |
US12/443,688 US8392792B2 (en) | 2006-09-29 | 2007-10-01 | Method for encoding low density parity check codes using result of checking previously specified parity bits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060096274A KR100837730B1 (ko) | 2006-09-29 | 2006-09-29 | 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080030329A true KR20080030329A (ko) | 2008-04-04 |
KR100837730B1 KR100837730B1 (ko) | 2008-06-13 |
Family
ID=39230397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060096274A KR100837730B1 (ko) | 2006-09-29 | 2006-09-29 | 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8392792B2 (ko) |
KR (1) | KR100837730B1 (ko) |
WO (1) | WO2008039035A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150131541A (ko) * | 2014-05-15 | 2015-11-25 | 삼성전자주식회사 | 부호화 장치 및 그의 부호화 방법 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100949519B1 (ko) * | 2007-12-18 | 2010-03-24 | 한국전자통신연구원 | 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법 |
US8196012B2 (en) * | 2009-10-05 | 2012-06-05 | The Hong Kong Polytechnic University | Method and system for encoding and decoding low-density-parity-check (LDPC) codes |
JP5601182B2 (ja) * | 2010-12-07 | 2014-10-08 | ソニー株式会社 | データ処理装置、及びデータ処理方法 |
WO2015016926A1 (en) * | 2013-07-31 | 2015-02-05 | Hewlett-Packard Development Company, L.P. | Versioned memory implementation |
KR102081588B1 (ko) | 2013-08-08 | 2020-02-26 | 삼성전자 주식회사 | Ecc 디코더의 동작 방법 및 그것을 포함하는 메모리 컨트롤러 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7406647B2 (en) * | 2001-12-06 | 2008-07-29 | Pulse-Link, Inc. | Systems and methods for forward error correction in a wireless communication network |
AU2002312175A1 (en) | 2002-01-29 | 2003-09-02 | Seagate Technology Llc | A method and decoding apparatus using linear code with parity check matrices composed from circulants |
US6961888B2 (en) | 2002-08-20 | 2005-11-01 | Flarion Technologies, Inc. | Methods and apparatus for encoding LDPC codes |
US7162684B2 (en) | 2003-01-27 | 2007-01-09 | Texas Instruments Incorporated | Efficient encoder for low-density-parity-check codes |
KR100996029B1 (ko) * | 2003-04-29 | 2010-11-22 | 삼성전자주식회사 | 저밀도 패리티 검사 코드의 부호화 장치 및 방법 |
KR100922956B1 (ko) * | 2003-10-14 | 2009-10-22 | 삼성전자주식회사 | 저밀도 패리티 검사 코드의 부호화 방법 |
CN100550655C (zh) * | 2004-11-04 | 2009-10-14 | 中兴通讯股份有限公司 | 一种低密度奇偶校验码的编码器/译码器及其生成方法 |
KR100913876B1 (ko) | 2004-12-01 | 2009-08-26 | 삼성전자주식회사 | 저밀도 패리티 검사 부호의 생성 방법 및 장치 |
KR100881002B1 (ko) * | 2005-02-22 | 2009-02-03 | 삼성전자주식회사 | 통신 시스템에서 지그재그 코드를 이용한 저밀도 패리티 검사 부호 생성 장치 및 방법 |
EP1900105A1 (en) * | 2005-04-15 | 2008-03-19 | Trellisware Technologies, Inc. | Clash-free irregular-repeat-accumulate code |
-
2006
- 2006-09-29 KR KR1020060096274A patent/KR100837730B1/ko not_active IP Right Cessation
-
2007
- 2007-10-01 US US12/443,688 patent/US8392792B2/en not_active Expired - Fee Related
- 2007-10-01 WO PCT/KR2007/004785 patent/WO2008039035A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150131541A (ko) * | 2014-05-15 | 2015-11-25 | 삼성전자주식회사 | 부호화 장치 및 그의 부호화 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2008039035A1 (en) | 2008-04-03 |
US8392792B2 (en) | 2013-03-05 |
KR100837730B1 (ko) | 2008-06-13 |
US20100031116A1 (en) | 2010-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100641052B1 (ko) | Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법 | |
US8335963B2 (en) | Method for constructing checking matrix of LDPC code and coding amd decoding apparatus utilizing the method | |
US10326478B2 (en) | Apparatus and method for encoding and decoding data in twisted polar code | |
US7120857B2 (en) | LDPC decoding apparatus and method | |
US8347178B2 (en) | Method, device and apparatus for correcting bursts | |
US6948109B2 (en) | Low-density parity check forward error correction | |
US7451374B2 (en) | Apparatus and method for channel coding in mobile communication system | |
US8196012B2 (en) | Method and system for encoding and decoding low-density-parity-check (LDPC) codes | |
JP5705106B2 (ja) | ユークリッド空間リード−マラー符号の軟判定復号を実行する方法 | |
CN102394660B (zh) | 分组交织的准循环扩展并行编码ldpc码的编码方法和编码器 | |
KR20080048988A (ko) | 무-충돌 불규칙-반복-누산 코드 | |
CN1983823A (zh) | 编码器、解码器、以及编码和解码的方法 | |
JP2008514106A (ja) | Ldpcコードを用いた符号化及び復号化方法 | |
US20070162821A1 (en) | Parity check matrix, method of generating parity check matrix, encoding method and error correction apparatus | |
KR100837730B1 (ko) | 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법 | |
KR20060056933A (ko) | 데이터를 엔코딩 및 디코딩하는 방법 및 장치 | |
KR101147768B1 (ko) | 채널 코드를 이용한 복호화 방법 및 장치 | |
JP4832447B2 (ja) | チャネルコードを用いた復号化装置及び方法 | |
CN1756090B (zh) | 信道编码装置和方法 | |
US8327215B2 (en) | Apparatus and method for encoding LDPC code using message passing algorithm | |
US8255782B2 (en) | Method for constructing LDPC code in the mobile digital multimedia broadcast system | |
EP2195928B1 (en) | Encoding method and device for tail-biting trellis ldpc codes | |
CN111527705B (zh) | 用于解码器重用的信道码构造 | |
CN113131947A (zh) | 译码方法、译码器和译码装置 | |
Cheng et al. | List-decoding of parity-sharing Reed-Solomon codes in magnetic recording systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120531 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |