KR100837730B1 - 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법 - Google Patents

사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법 Download PDF

Info

Publication number
KR100837730B1
KR100837730B1 KR1020060096274A KR20060096274A KR100837730B1 KR 100837730 B1 KR100837730 B1 KR 100837730B1 KR 1020060096274 A KR1020060096274 A KR 1020060096274A KR 20060096274 A KR20060096274 A KR 20060096274A KR 100837730 B1 KR100837730 B1 KR 100837730B1
Authority
KR
South Korea
Prior art keywords
parity
matrix
parity bit
value
bit value
Prior art date
Application number
KR1020060096274A
Other languages
English (en)
Other versions
KR20080030329A (ko
Inventor
윤찬호
오종의
정민호
이유로
이석규
유희정
방승찬
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020060096274A priority Critical patent/KR100837730B1/ko
Priority to PCT/KR2007/004785 priority patent/WO2008039035A1/en
Priority to US12/443,688 priority patent/US8392792B2/en
Publication of KR20080030329A publication Critical patent/KR20080030329A/ko
Application granted granted Critical
Publication of KR100837730B1 publication Critical patent/KR100837730B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • H03M13/1188Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three

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. 발명의 해결방법의 요지
본 발명은 H 행렬을 사용해 저밀도 패리티 검사 코드(이하 "LDPC 코드"라 함)를 부호화하는 방법에 있어서, 상기 H 행렬 상에 서브블록 단위로 특정 개수의 행/열로 이루어진 패리티 부분 행렬을 구성하는 단계; 상기 구성한 패리티 부분 행렬에 대해 임의의 이진수값으로 해당 패리티 비트값을 서브블록 단위로 설정(지정)하는 단계; 상기 설정한 서브블록 단위의 임의의 이진수값에 따라 어떠한 패리티 비트값을 갖는 상기 H 행렬의 마지막 서브블록 상의 패리티 부분 행렬이 올바른지(참인지) 검사하는 단계; 상기 패리티 부분 행렬 검사 결과를 토대로 올바르지 않은 패리티 비트값을 써치하는 단계; 및 상기 써치한 올바르지 않은 패리티 비트값에 대해 상기 임의의 이진수값에 따라 설정된 패리티 비트값을 서브블록 단위로 반전["0->1", "1->0"]시켜 상기 H 행렬의 패리티 비트값으로 결정하는 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 LDPC 코드 부호화 등에 이용됨.
저밀도 패리티 검사(LDPC; Low Density Parity Check) 코드(code) 부호화(encoding), H 행렬, 이중 사선, 패리티 검사 행렬, 서브 행렬 단위, 병렬 처리, 싸이클릭 쉬프트(cyclic shift)

Description

사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법{Method for reduced complexity encoder generating low density parity check codes}
도 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 코드를 부호화하는 방법을 제공하는데 그 목적이 있다.
상기의 목적을 달성하기 위한 본 발명의 방법은, H 행렬을 사용해 저밀도 패리티 검사 코드(이하 "LDPC 코드"라 함)를 부호화하는 방법에 있어서, 상기 H 행렬 상에 서브블록 단위로 특정 개수의 행/열로 이루어진 패리티 부분 행렬을 구성하는 단계; 상기 구성한 패리티 부분 행렬에 대해 임의의 이진수값으로 해당 패리티 비트값을 서브블록 단위로 설정(지정)하는 단계; 상기 설정한 서브블록 단위의 임의의 이진수값에 따라 어떠한 패리티 비트값을 갖는 상기 H 행렬의 마지막 서브블록 상의 패리티 부분 행렬이 올바른지(참인지) 검사하는 단계; 상기 패리티 부분 행렬 검사 결과를 토대로 올바르지 않은 패리티 비트값을 써치하는 단계; 및 상기 써치한 올바르지 않은 패리티 비트값에 대해 상기 임의의 이진수값에 따라 설정된 패리티 비트값을 서브블록 단위로 반전["0->1", "1->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 행렬의 특징은 패리티 비트 부분, 즉 패리티 비트 검사 행렬 P가 이중 사선(dual diagonal)의 구조를 갖는다는 것이다. 이하, 본 발명을 설명하는데 있어 패리티 비트 검사 행렬 P를 패리티 비트 부분 또는 패리티 부분 행렬이라는 용어와 병행해 사용하기로 한다.
앞서 전술한 바와 같이, 본 발명에서 제시하는 H 행렬의 구조는, 도 2의 중간에 도시된 바와 같이 패리티 비트 부분을 모두 0 싸이클릭 쉬프트, 예컨대 단위 행렬(identity matrix)로 만들어서, 도 2의 하단에 도시된 바와 같이 서브블록의 사선(diagonal) 부분의 길이만큼 패리티 비트를 한꺼번에 병렬적으로 결정하는 특징을 지닌다.
그럼, 위와 같이 서브블록 단위로 한꺼번에 병렬적으로 패리티 비트를 결정하는 알고리즘을 설명하기에 앞서, 비트 단위의 패리티 비트를 결정하는 과정을 도 4를 참조하여 설명하면 다음과 같다.
도 4에 도시된 바와 같이, 부호율 "R=1/2"인 H 행렬에 있어 패리티 비트 부분에 "▨"로 표시된 부분이 모두 0 싸이클릭 쉬프트로서 수정됨을 알 수 있다. 여기서, H 행렬과 이 H 행렬에 의해 부호화된 코드 워드 벡터 c(code word vector c)를 곱한 결과는 다음의 [수학식 1]을 만족하여야 된다.
Figure 112006071757939-pat00001
[수학식 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]로 표현할 수 있다.
Figure 112006071757939-pat00002
[수학식 2]에서,
Figure 112006071757939-pat00003
는 비트 연산, 즉 modulo 2 연산을 나타내며, 이는 LDPC 코드 부호화 과정의 연산이 비트 단위의 연산임을 의미한다.
또한, [수학식 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]으로 구한다.
Figure 112006071757939-pat00004
[수학식 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]와 같다.
Figure 112006071757939-pat00005
[수학식 4]에서, j는 벡터 x의 j행을 나타낸다.
그럼, 도 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). 이와 같은 과정은 임의의 이진수 값을 H 행렬 상의 처음 서브블록 상의 패리티 비트 검사 행렬의 패리티 비트값으로 지정함에 따라 상기 H 행렬 상의 다른 서브블록 상의 패리티 비트 검사 행렬의 모든 패리티 비트값이 연쇄적으로 계산되는 것이다.
그런후, 상기 계산한 패리티 비트의 값을 검사해(903), 상기 패리티 비트의 값이 올바르지 않으면 H 행렬 상에서 가장 마지막에 위치한 서브블록에 대응되는 패리티 비트를 검사하고서(904), 이 패리티 비트 검사 결과가 "1"로 나타나는 패리티 비트 부분을 써치한다(905). 여기서 도 6을 참조해 부연 설명을 하면, H 행렬 상에서 가장 마지막에 위치한 서브블록은 행 12 ~ 15에 위치한 4×4 서브블록을 가르키며, 덧붙여 H 행렬 상에서 처음에 위치한 서브블록은 행 0 ~3에 위치한 4×4 서브블록을 가르킨다.
그리고서, 상기 써치한 패리티 비트 부분을, 처음에 임의로 이진수 값을 삽입시킨 패리티 비트 부분과 패리티 비트간 연립방정식을 통해 얻은 패리티 비트 부분을 서브블록 단위로 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)

  1. H 행렬을 사용해 저밀도 패리티 검사 코드(이하 "LDPC 코드"라 함)를 부호화하는 방법에 있어서,
    상기 H 행렬 상에 서브블록 단위로 특정 개수의 행/열로 이루어진 패리티 부분 행렬을 구성하는 단계;
    상기 구성한 패리티 부분 행렬에 대해 임의의 이진수값으로 해당 패리티 비트값을 서브블록 단위로 설정(지정)하는 단계;
    상기 설정한 서브블록 단위의 임의의 이진수값에 따라 어떠한 패리티 비트값을 갖는 상기 H 행렬의 마지막 서브블록 상의 패리티 부분 행렬이 올바른지(참인지) 검사하는 단계;
    상기 패리티 부분 행렬 검사 결과를 토대로 올바르지 않은 패리티 비트값을 써치하는 단계; 및
    상기 써치한 올바르지 않은 패리티 비트값에 대해 상기 임의의 이진수값에 따라 설정된 패리티 비트값을 서브블록 단위로 반전["0->1", "1->0"]시켜 상기 H 행렬의 패리티 비트값으로 결정하는 단계
    를 포함하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
  2. 제 1 항에 있어서,
    상기 패리티 부분 행렬을 구성하는 단계는,
    상기 패리티 부분 행렬의 첫번째 열에 대해 모두 동일한 수만큼의 싸이클릭 쉬프트(cyclic shift)를 수행해 해당 패리티 부분 행렬을 구성하는 것을 특징으로 하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
  3. 제 1 항에 있어서,
    상기 패리티 부분 행렬을 구성하는 단계는,
    상기 패리티 부분 행렬을 단위 행렬로서 구성하는 것을 특징으로 하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
  4. 제 1 항에 있어서,
    상기 구성한 패리티 부분 행렬에 대해 임의의 이진수값으로 해당 패리티 비트값을 서브블록 단위로 설정하는 단계는,
    상기 임의의 이진수값을 상기 H 행렬 상의 처음 서브블록 상의 패리티 부분 행렬의 패리티 비트값으로 지정함에 따라 상기 H 행렬 상의 다른 서브블록 상의 패리티 부분 행렬의 패리티 비트값이 계산되는 것을 특징으로 하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 H 행렬의 패리티 비트값을 결정하는 단계는,
    상기 써치한 올바르지 않은 패리티 비트값에 대해, 상기 H 행렬의 처음 서브블록 상의 패리티 부분 행렬의 패리티 비트값과 패리티 비트간 연립방정식을 통해 구한 패리티 비트값을 서브블록 단위로 XOR 연산을 수행하는 과정; 및
    상기 XOR 연산을 수행한 결과 중에서 상기 H 행렬과 상기 H 행렬에 의해 부호화된 코드 워드 벡터를 곱한 값이 특정 값에 대응되는 패리티 비트값을 상기 H 행렬의 해당 패리티 비트값으로 결정하는 과정
    을 포함하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
  6. 제 5 항에 있어서,
    상기 임의의 이진수값은 "0" 또는 랜덤한 이진수의 조합값인 것을 특징으로 하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
  7. 제 5 항에 있어서,
    상기 임의의 이진수값이 랜덤한 이진수의 조합값이되,
    상기 XOR 연산을 수행하는 과정은,
    상기 H 행렬 상의 서브블록 상의 패리티 부분 행렬 중 LDPC 부호화에 상관없이 그 값이 변하지 않는 패리티 비트값을 상기 XOR 연산 대상에서 제외시키는 것을 특징으로 하는 사전에 지정한 패리티를 검사한 결과를 이용해 LDPC 코드를 부호화하는 방법.
  8. 삭제
  9. 삭제
  10. 삭제
KR1020060096274A 2006-09-29 2006-09-29 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법 KR100837730B1 (ko)

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 KR20080030329A (ko) 2008-04-04
KR100837730B1 true 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)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
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 ソニー株式会社 データ処理装置、及びデータ処理方法
CN105339902B (zh) * 2013-07-31 2018-11-20 慧与发展有限责任合伙企业 用于版本化存储器实现的方法、装置和计算机可读介质
KR102081588B1 (ko) 2013-08-08 2020-02-26 삼성전자 주식회사 Ecc 디코더의 동작 방법 및 그것을 포함하는 메모리 컨트롤러
KR102098202B1 (ko) * 2014-05-15 2020-04-07 삼성전자주식회사 부호화 장치 및 그의 부호화 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040092922A (ko) * 2003-04-29 2004-11-04 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
KR20050035729A (ko) * 2003-10-14 2005-04-19 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
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
CN100550655C (zh) * 2004-11-04 2009-10-14 中兴通讯股份有限公司 一种低密度奇偶校验码的编码器/译码器及其生成方法
KR100913876B1 (ko) 2004-12-01 2009-08-26 삼성전자주식회사 저밀도 패리티 검사 부호의 생성 방법 및 장치
KR100881002B1 (ko) * 2005-02-22 2009-02-03 삼성전자주식회사 통신 시스템에서 지그재그 코드를 이용한 저밀도 패리티 검사 부호 생성 장치 및 방법
KR20080048988A (ko) * 2005-04-15 2008-06-03 트렐리스웨어 테크놀러지스, 인코포레이티드 무-충돌 불규칙-반복-누산 코드

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040092922A (ko) * 2003-04-29 2004-11-04 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 장치 및 방법
US20040221223A1 (en) 2003-04-29 2004-11-04 Nam-Yul Yu Apparatus and method for encoding a low density parity check code
KR20050035729A (ko) * 2003-10-14 2005-04-19 삼성전자주식회사 저밀도 패리티 검사 코드의 부호화 방법

Also Published As

Publication number Publication date
US20100031116A1 (en) 2010-02-04
US8392792B2 (en) 2013-03-05
WO2008039035A1 (en) 2008-04-03
KR20080030329A (ko) 2008-04-04

Similar Documents

Publication Publication Date Title
US8335963B2 (en) Method for constructing checking matrix of LDPC code and coding amd decoding apparatus utilizing the method
US8347178B2 (en) Method, device and apparatus for correcting bursts
US7120857B2 (en) LDPC decoding apparatus and method
JP4168055B2 (ja) 低密度パリティ検査符号の生成方法及び装置
CN1983823B (zh) 编码器、解码器、以及编码和解码的方法
JP5705106B2 (ja) ユークリッド空間リード−マラー符号の軟判定復号を実行する方法
EP3110009A1 (en) Encoding method, decoding method, encoding device and decoding device for structured ldpc
US7451374B2 (en) Apparatus and method for channel coding in mobile communication system
KR20060064491A (ko) Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법
WO2014122772A1 (ja) 誤り訂正符号の検査行列のデータ構造、並びに誤り訂正符号の符号化率可変装置および可変方法
KR100837730B1 (ko) 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법
JP2008514106A (ja) Ldpcコードを用いた符号化及び復号化方法
US7493548B2 (en) Method and apparatus for encoding and decoding data
KR20070063851A (ko) 패리티 검사 행렬, 패리티 검사 행렬 생성 방법, 인코딩방법 및 에러 정정 장치
KR101147768B1 (ko) 채널 코드를 이용한 복호화 방법 및 장치
KR20080074858A (ko) 데이터를 복호화 및 부호화하는 방법 및 장치
KR20080000479A (ko) 통신 시스템에서 신호 수신 장치 및 방법
EP2195928B1 (en) Encoding method and device for tail-biting trellis ldpc codes
US8255782B2 (en) Method for constructing LDPC code in the mobile digital multimedia broadcast system
CN113131947B (zh) 译码方法、译码器和译码装置
KR100698192B1 (ko) Ldpc 부호의 복호 방법
CN111527705B (zh) 用于解码器重用的信道码构造
US20170331496A1 (en) Decoding method and decoder for low density parity check code
US11031954B1 (en) Data decoding method using LDPC code as error correction code and data transmitting method thereof
RU2365034C2 (ru) Способ и устройство для кодирования и декодирования данных

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