KR100949519B1 - 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법 - Google Patents

낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법 Download PDF

Info

Publication number
KR100949519B1
KR100949519B1 KR1020070133279A KR20070133279A KR100949519B1 KR 100949519 B1 KR100949519 B1 KR 100949519B1 KR 1020070133279 A KR1020070133279 A KR 1020070133279A KR 20070133279 A KR20070133279 A KR 20070133279A KR 100949519 B1 KR100949519 B1 KR 100949519B1
Authority
KR
South Korea
Prior art keywords
parity check
parity
matrix
bit
check matrix
Prior art date
Application number
KR1020070133279A
Other languages
English (en)
Other versions
KR20090065791A (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 KR1020070133279A priority Critical patent/KR100949519B1/ko
Priority to US12/113,638 priority patent/US8205131B2/en
Publication of KR20090065791A publication Critical patent/KR20090065791A/ko
Application granted granted Critical
Publication of KR100949519B1 publication Critical patent/KR100949519B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding

Abstract

본 발명은 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화 장치 및 그 방법에 관한 것으로, 패리티 검사행렬의 부행렬의 시프트값이 서로 중복되지 않게 배열하여 패리티 검사행렬을 생성하고, 그 생성된 패리티 검사행렬에 관한 선형 방정식을 독립적인 선형 방정식으로 분리하여 패리티 비트를 생성함으로써, 복잡도가 낮아지고 패리티 검사 부호의 복호를 빠른 속도로 처리할 수 있게 하는, 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화 장치 및 그 방법을 제공하고자 한다.
이를 위하여, 본 발명은 저밀도 패리티 검사 부호의 부호화 장치에 있어서, 입력 비트를 입력받기 위한 비트 입력 수단; 상기 입력받은 입력 비트와, 고속 복호를 위한 패리티 검사행렬의 정보 블록을 곱하여 정보 벡터를 생성하기 위한 정보 벡터 생성 수단; 상기 생성된 정보 벡터와 상기 패리티 검사행렬의 패리티 블록에 관한 선형 방정식을 독립적인 선형 방정식으로 분리하여 패리티 비트를 생성하기 위한 패리티 비트 생성 수단; 및 상기 입력받은 입력 비트와 상기 생성된 패리티 비트를 결합하여 부호어를 출력하기 위한 비트 출력 수단을 포함한다.
저밀도 패리티 검사 부호, 패리티 검사행렬, 정보 벡터, 선형 방정식, 패리티 비트

Description

낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화 장치 및 그 방법{PRODUCING METHOD PARITY CHECK MATRIX FOR LOW COMPLEXITY AND HIGH SPEED DECODING AND APPARATUS AND METHOD OF ENCODING LOW DENSITY PARITY CHECK CODE USING THAT}
본 발명은 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 패리티 검사행렬의 부행렬의 시프트값이 서로 중복되지 않게 배열하여 패리티 검사행렬을 생성하고, 그 생성된 패리티 검사행렬에 관한 선형 방정식을 독립적인 선형 방정식으로 분리하여 패리티 비트를 생성함으로써, 복잡도가 낮아지고 패리티 검사 부호의 복호를 빠른 속도로 처리할 수 있게 하는, 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화 장치 및 그 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-002-02, 과제명: 3Gbps급 4G 무선 LAN 시스템 개발].
유/무선 통신 시스템에서 채널의 상태에 따라 디지털(Digital) 형태로 전송된 신호는 수신 단에서 복조될 수 없는 경우가 발생한다. 유/무선 통신 시스템에서 고속으로 통신하기 때문에 높아지는 에러 발생률을 줄이기 위해 여러 기법이 적용되고 있다. 이러한 유/무선 통신 시스템에 적용되는 대표적인 에러 발생 방지 기법으로는 채널 코딩기법이 있다.
최근에는 거의 모든 무선통신 시스템에 채널 코딩 기법이 적용되고 있다. 특히, 특히 저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호(Codes)가 무선통신 시스템에서 차세대의 채널 코덱으로서 각광을 받고 있다.
우선, 저밀도 패리티 검사 부호를 살펴보면, 저밀도 패리티 검사 부호는 규칙적인(Systematic) 방식으로 부호화가 이루어진다는 것을 전제로 한다. 즉, 저밀도 패리티 검사 부호의 패킷 데이터의 일부분은 입력된 비트와 동일한 형태로 출력된다. 그리고 패킷 데이터의 나머지 부분은 부호 검사 비트인 패리티 비트(Parity Bit)에 해당하는 부가정보가 이어서 붙여져 출력되는 형태를 띠는 것이다. 따라서 입력 비트가 부호화 기능을 수행하는 블록에 모두 입력이 되어야 부호화 작업이 이루어진다. 또한, 부호율에 따라 패리티 비트(parity bit)가 전체 패킷 데이터에 해당하는 비율이 다르다. 그리고 패리티 검사행렬인 H 행렬에 의해 부호율은 고정이 되어 있다.
LDPC 부호는 "Gallager"에 의해 도입된 부호이다. LDPC 부호는 극소수의 원 소들이 "1"의 값을 가지며, 나머지인 대부분의 원소들은 "0"의 값을 갖는 패리티 검사행렬로 정의된다.
LDPC 부호는 균일(regular) LDPC 부호와 비균일(irregular) LDPC 부호로 구별된다. 균일 LDPC 부호는 "Gallager"가 제안한 LDPC 부호로서, 패리티 검사행렬 내의 모든 행들은 동일한 개수의 "1"을 원소로 가지며, 모든 열들도 동일한 개수의 "1"을 원소로 갖는다. 이와 달리, 비균일 LDPC 부호의 패리티 검사행렬에는 서로 다른 개수의 "1"을 포함하는 행들이 존재하거나, 서로 다른 개수의 "1"을 포함하는 열들이 존재한다. 여기서, 비균일 LDPC 부호의 오류 정정 성능이 균일 LDPC 부호보다 일반적으로 우수하다고 알려져 있다.
"Fossorier"는 패리티 검사행렬의 원소를 행렬 상의 원소인 "0", "1"이 아니라 순환 이동(Cyclic Shift)된 단위 행렬(Identity Matrix) 및 "0 행렬"로 나타내는 준 순환(Quasi-Cyclic) LDPC 부호를 제안하였다.
한편, 종래의 부호화 기술에는, "Richardson"이 제안한 저밀도 패리티 검사 부호의 효율적인 부호화 방식이 있다. 이러한 부호화 방식은 H 행렬을 6개로 세분화하여 부행렬로 나눈 뒤, 행렬의 연립방정식으로 입력 벡터가 주어지면 출력 패리티 비트를 생성한다. 이렇게 나누어진 부행렬들은 비교적 간단한 연산으로 이루어져 있다.
하지만, 최근에는 "Motorola"사에서 제안한 좀 더 간단한 부호화 방식의 부호기가 "802.16e"의 표준 기고서에 반영이 되어 있는 상태다. "Motorola" 사에서 제안한 LDPC 부호기는 "Richardson이 제안한 방식"처럼 행렬을 이용하여 연산하는 것이 아닌 연립방정식을 통해 직접 패리티 비트를 구한다.
종래의 LDPC 부호화 기술은 패리티 검사행렬을 블록화해서 나누고 연관된 행렬 방정식을 통해 패리티 검사 비트를 생성하거나, 패리티 검사행렬과 상응하는 입력값을 전부 계산하여 부호화 과정 후 생성되는 패리티 검사 비트의 출력을 정확한 행렬 및 연립 방정식을 통해 구하고 있다. 이러한 종래의 LDPC 부호화 기술은 부행렬의 크기가 커짐에 따라 하드웨어로 구현 시 복잡도가 증가하고 패리티 비트에 관한 연립 방정식을 풀기 곤란하다는 문제점이 있다.
또한, 이러한 종래의 LDPC 부호화 기술에서의 패리티 검사행렬은 생성된 부호어를 복호화하기 위한 LDPC 복호화 기술에 적용될 때, 부행렬의 크기가 커짐에 따라 복잡도가 증가하고 병렬 처리에 맞지 않아서 복호 속도가 떨어진다는 문제점이 있다.
따라서 상기와 같은 종래 기술은 부행렬의 크기가 커짐에 따라 하드웨어로 구현 시 복잡도가 증가하고 병렬 처리에 맞지 않아 복호 속도가 떨어진다는 문제점이 있으며, 이러한 문제점을 해결하고자 하는 것이 본 발명의 과제이다.
따라서 본 발명은 패리티 검사행렬의 부행렬의 시프트값이 서로 중복되지 않게 배열하여 패리티 검사행렬을 생성하고, 그 생성된 패리티 검사행렬에 관한 선형 방정식을 독립적인 선형 방정식으로 분리하여 패리티 비트를 생성함으로써, 복잡도 가 낮아지고 패리티 검사 부호의 복호를 빠른 속도로 처리할 수 있게 하는, 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화 장치 및 그 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명은 상기 문제점을 해결하기 위하여, 패리티 검사행렬의 부행렬의 시프트값이 서로 중복되지 않게 배열하여 패리티 검사행렬을 생성하고, 그 생성된 패리티 검사행렬에 관한 선형 방정식을 독립적인 선형 방정식으로 분리하여 패리티 비트를 생성하는 것을 특징으로 한다.
더욱 구체적으로, 본 발명은, 패리티 검사행렬 생성 방법에 있어서, 행렬에 대한 부행렬의 순환 시프트값을 산출하는 부행렬 산출 단계; 및 상기 산출된 부행렬의 순환 시프트값을 상기 행렬에 배열하되, 상기 행렬의 어느 한 열에 대해서 "0 행렬"을 제외한 부행렬의 순환 시프트값을 서로 중복되지 않는 순환 시프트값으로 배열하여 패리티 검사행렬을 생성하는 패리티 검사행렬 생성 단계를 포함한다.
한편, 본 발명은, 저밀도 패리티 검사 부호의 부호화 장치에 있어서, 입력 비트를 입력받기 위한 비트 입력 수단; 상기 입력받은 입력 비트와, 고속 복호를 위한 패리티 검사행렬의 정보 블록을 곱하여 정보 벡터를 생성하기 위한 정보 벡터 생성 수단; 상기 생성된 정보 벡터와 상기 패리티 검사행렬의 패리티 블록에 관한 선형 방정식을 독립적인 선형 방정식으로 분리하여 패리티 비트를 생성하기 위한 패리티 비트 생성 수단; 및 상기 입력받은 입력 비트와 상기 생성된 패리티 비트를 결합하여 부호어를 출력하기 위한 비트 출력 수단을 포함한다.
한편, 본 발명은, 저밀도 패리티 검사 부호의 부호화 방법에 있어서, 입력 비트를 입력받기 위한 비트 입력 단계; 상기 입력받은 입력 비트와, 고속 복호를 위한 패리티 검사행렬의 정보 블록을 곱하여 정보 벡터를 생성하는 정보 벡터 생성 단계; 상기 생성된 정보 벡터와 상기 패리티 검사행렬의 패리티 블록에 관한 선형 방정식을 독립적인 선형 방정식으로 분리하여 패리티 비트를 생성하는 패리티 비트 생성 단계; 및 상기 입력받은 입력 비트와 상기 생성된 패리티 비트를 결합하여 부호어를 출력하는 단계를 포함한다.
상기와 같은 본 발명은, 패리티 검사행렬의 부행렬의 시프트값이 서로 중복되지 않게 배열하여 패리티 검사행렬을 생성하고, 그 생성된 패리티 검사행렬에 관한 선형 방정식을 독립적인 선형 방정식으로 분리하여 패리티 비트를 생성함으로써, 복잡도가 낮아지고 패리티 검사 부호의 복호를 빠른 속도로 처리할 수 있게 하는 효과가 있다.
또한, 본 발명은, 기존의 부호화 방법에 비해, 하드웨어의 복잡도를 줄일 수 있으며, 고속으로 복호화하기 위한 QC-LDPC 부호 기반의 병렬 처리에 용이하게 적용될 수 있는 효과가 있다.
또한, 본 발명은, 기존의 복호화 장치를 수정하여 새로운 복호화 장치를 구성할 수 있어 하드웨어 자원을 최대한 이용할 수 있는 효과가 있다.
상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.
저밀도 패리티 검사 부호는 패리티 검사행렬인 H 형렬을 통해 부호화되며, 이러한 H 행렬을 통해 부호화된 패킷 데이터는 복호화 장치에서 역시 H 행렬을 통해 복호화된다. 본 발명은 저밀도 패리티 검사 부호의 부호화 장치에 관한 것으로서, 저밀도 패리티 검사 부호의 복호화 장치에 관한 설명은 본 발명의 범위에 벗어나므로 배제하기로 한다.
도 1 은 부호율에 따른 LDPC 부호화 장치에 대한 설명도이다.
도 l에 도시된 바와 같이, LDPC 부호화 장치는 입력 비트(s)(110)를 입력받아 규칙적인(Systematic) LDPC 부호화 방식의 부호율(R)에 따라 LDPC 부호화하여 출력 비트(c)(121)를 출력한다. 여기서,
Figure 112007091024221-pat00001
와 같은 15 비트의 이진 벡터인 입력 비트(s)(110)에 대해서, LDPC 부호화 장치는 입력 비트(s)(110)에 따른 5 비트의 패리티 비트(
Figure 112007091024221-pat00002
)(122)를 구한다. 그리고 LDPC 부호화 장치는 15 비트의 입력 비트(s)(110)와 5 비트의 패리티 비트(122)를 이어서 20 비트의 출력 비트(c)(121)를 출력한다. 이러한 입력 비트 뒤에 패리티 비트를 덧붙이는 방식을 규칙적인(Systematic) LDPC 부호화 방식이라 한다. 따라서 부호율은 15/20=3/4가 된다. 본 발명에는 이러한 입출력 구조를 가지는 규칙적인 LDPC 부호화 방식이 적용된다.
도 2 는 본 발명에 따른 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 일실시예 예시도이다.
도 2에 도시된 바와 같이, 비균일 QC-LDPC 부호의 패리티 검사행렬에서 정사각형(201, 202)은 38×38의 단위행렬(부행렬)을 나타내고, 그 안의 값은 우측으로 순환 이동된 순환 시프트값을 나타낸다. 예를 들어, "30"의 값을 가진 정사각형(201)은 "30"만큼 우측으로 순환 이동된 부행렬을 나타낸다. 또한, "-"의 값을 가진 정사각형(202)은 모든 원소가 "0"인 "0 행렬"을 나타낸다. 따라서 도 2에 도시된 비균일 QC-LDPC 부호의 패리티 검사행렬은 38×38의 부행렬이 12개 행과 24개의 열로 이루어져 있다. 즉, 비균일 QC-LDPC 부호의 패리티 검사행렬은 456개의 행 들과 912개의 열들로 이루어져 있다.
본 발명에 따른 패리티 검사행렬(H 행렬)은 부행렬의 순환 시프트값이 "-"의 값을 가지는 "0 행렬"인 경우를 제외하면 다음과 같은 특성이 있다. 본 발명에 따른 패리티 검사행렬의 패리티 부분은 행에 대해서, 기본 패리티 검사행렬의 행 값을 38로 나눈 나머지 값을 순환 시프트값으로 가진다. 또한, 본 발명에 따른 패리티 검사행렬의 규칙적인(systematic) 부분은 같은 열에 대해서 "0 행렬"을 제외한 서로 다른 순환 시프트값을 가진다. 이러한 제한 조건은 패리티 블록(22)이나 정보 블록(21)에 함께 적용된다. 이는 이러한 제한 조건에 의하여 용이하게 부호화하고, 빠른 복호 수렴속도를 가지는 패리티 검사행렬을 얻기 위함이다.
또한, 본 발명에 따른 패리티 검사행렬(H 행렬)은 기본 패리티 검사행렬의 같은 열에 해당하는 "0 행렬"이 아닌 부행렬의 순환 시프트값뿐만 아니라, 그 순환 시프트값을 19로 나눈 나머지 값들도 같은 값을 가지지 않는다. 이러한 제한 조건은 복잡도를 두 배 늘리면서 복호기의 수렴 속도를 두 배 더 가속화할 경우나 부행렬의 크기를 두 배 크기로 늘리거나 줄일 경우에 유용하게 이용될 수 있다.
이때, 도 2에 도시된 패리티 검사행렬에 대해서, 기본 패리티 검사행렬의 행 값을 38로 나눈 나머지 값을 순환 시프트값으로 정하는 것은 기본 패리티 검사행렬의 같은 열에 해당하는 "0 행렬"이 아닌 순환 시프트값을 서로 다른 값으로 하기 위한 방법 중의 일례이고, 그 외의 다른 형태로 변형 가능하다.
일반적으로, LDPC 부호화 장치에서의 패리티 검사행렬(H 행렬)과 부호화된 부호어 벡터(
Figure 112007091024221-pat00003
)는 하기의 [수학식 1]을 만족해야 한다.
Figure 112007091024221-pat00004
여기서,
Figure 112007091024221-pat00005
는 패리티 검사행렬(H 행렬),
Figure 112007091024221-pat00006
는 부호화된 부호어 벡터를 나타낸다.
상기 [수학식 1]에서 부호어 벡터(
Figure 112007091024221-pat00007
)는 도 1의 LDPC 부호화 장치의 출력 벡터 중 덧붙여진 패리티 비트(122)들을 결정해야 한다. 예를 들어, 도 2의 패리티 검사행렬에서는 상기 [수학식 1]을 만족하는 456개의 패리티 비트(각 부행렬 크기(Subblock Size)가 38 개이므로 38개 곱하기 12 비트인 456 패리티 비트를 구한다.
본 발명에 따른 LDPC 부호의 부호화 장치를 상세하게 설명하기 위하여, 크기가 작은 LDPC 부호의 패리티 검사행렬을 예시로 하여 설명하기로 한다. 여기서, 다양한 부행렬 크기 및 부호율에 대한 확장 방법 또한 이 분야에 종사하는 당업자면 용이하게 확장할 수 있을 것이다.
도 3 은 본 발명에 따른 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 다른 실시예 예시도이다.
도 3에 도시된 바와 같이, 비균일 QC-LDPC 부호의 패리티 검사행렬에서 정사각형(311, 312)은 5×5의 단위행렬(부행렬)을 나타내고, 그 안의 값은 우측으로 순환 이동된 순환 시프트값을 나타낸다. 예를 들어, "30"의 값을 가진 정사각형(511) 은 "30"만큼 우측으로 순환 이동된 부행렬을 나타낸다. 또한, "-"의 값을 가진 정사각형(512)은 모든 원소가 "0"인 "0 행렬"을 나타낸다. 따라서 도 3에 도시된 비균일 QC-LDPC 부호의 패리티 검사행렬은 5×5의 부행렬이 4개 행과 8개의 열로 이루어져 있다. 즉, 비균일 QC-LDPC 부호의 패리티 검사행렬은 20개의 행들과 40개의 열들로 이루어져 있다.
도 3에 도시된 패리티 검사행렬은 부호율이 1/2이고 부호길이가 40인 LDPC 부호에 적용된다. 따라서 규칙적인 부분(310)은 처음의 20개 열이 해당되고 패리티 부분(320)은 다음의 20개 열이 해당된다. 상기 [수학식 1]을 만족하는 패리티 비트를 생성하기 위해서, LDPC 부호화 장치는 먼저 패리티 검사행렬의 규칙적인 부분(정보 블록(310))과 입력정보 비트의 행렬곱을 계산한다. 이러한 과정은 다양한 방법을 통해서 계산가능하며, 하기의 [수학식 2]의 앞 부분에 해당한다.
Figure 112007091024221-pat00008
여기서,
Figure 112007091024221-pat00009
는 패리티 검사행렬의 정보 블록,
Figure 112007091024221-pat00010
는 부호어의 정보 블록,
Figure 112007091024221-pat00011
는 패리티 검사행렬의 패리티 블록,
Figure 112007091024221-pat00012
는 부호어의 패리티 블록,
Figure 112007091024221-pat00013
는 정보 벡터(X 벡터)를 나타낸다.
따라서 LDPC 부호화 장치는 상기 [수학식 2]에 표시된 LDPC 부호의 패리티 블록을 구하는 방식에 따라 차이가 있다. 일반적인 LDPC 부호화 장치는 LDPC 부호의 패리티 블록을 단순하게 역행렬을 구하는 선형 방정식을 이용하여 구한다. 하지만, 이러한 역행렬을 구하는 선형 방정식을 푸는 것은 부호어의 길이가 증가함에 따라 복잡도가 기하급수적으로 증가하게 된다.
도 4 는 본 발명에 따른 도 3의 부행렬을 모두 표시한 패리티 블록에 대한 일실시예 예시도이다.
우선, 도 4에 도시된 빈 공간(406)은 "0"을 나타내고, 도 3에 도시된 패리티 검사행렬의 순환 시프트값에 따라 "1"값(401 내지 405)들이 분포되어 있다.
LDPC 부호화 장치는 미리 패리티 검사행렬의 정보 블록과 LDPC 부호의 정보 벡터(X 벡터)(
Figure 112007091024221-pat00014
)를 계산한다. 그러면, 상기 [수학식 2]는 패리티 검사행렬의 패리티 블록과 LDPC 부호의 패리티 블록의 곱을 나타내는
Figure 112007091024221-pat00015
부분을 구하는 20×20의 선형 방정식이 된다.
본 발명에 따른 LDPC 부호의 부호화 장치는 이러한 20×20의 선형 방정식을 음영별로 독립적인 5개의 4×4의 선형 방정식으로 나누어 구한다. 이러한 선형 방정식의 분리는 패리티 검사행렬의 패리티 블록에 대한 순환 시프트값이 어느 하나의 열에 대해서 서로 다른 순환 시프트값을 가지고 있기 때문에 가능하다.
구체적으로 설명하면, 도 4에 도시된 패리티 블록(
Figure 112007091024221-pat00016
)에서, 하나의 음영에 해당하는 "1" 값(401)은 음영에 대응되는 같은 행과 열에 분포되어 있다. 다르게 설명하면, 각 음영별로 구분된 "1"값(401 내지 405)들은 서로 다른 행과 열에 분포 되어 있다. 예를 들어, "1" 값(401)이 있는 제1열, 제6열, 제11열 및 제16열에는 같은 음영을 가진 "1"값(401)이 있고, 다른 음영을 가진 "1"값(402 내지 405)은 다른 열에 있다. 이는 각 행에 대해서도 마찬가지로 적용된다.
이때, 본 발명에 따른 LDPC 부호의 부호화 장치는 각 행과 열에 대해 음영별로 분포되어 있는 "1" 값을 이용하여, 패리티 블록(
Figure 112007091024221-pat00017
)과 LDPC 부호의 패리티 블록(
Figure 112007091024221-pat00018
)을 구하는 20×20의 선형 방정식을 5개의 4×4의 선형 방정식으로 나누어 구할 수 있다. 따라서 LDPC 부호의 부호화 장치는 이러한 20×20의 선형 방정식을 5개의 4×4의 선형 방정식으로 나누고, 작은 크기의 선형 방정식 계산을 통해 부호화를 용이하게 수행할 수 있다. 더 나아가, 본 발명에 따른 LDPC 부호의 부호화 장치는 빠른 복호 수렴속도를 가질 수 있다.
한편, LDPC 부호의 부호화 장치는 첫 번째 패리티 비트에 임의의 값(예를 들어, "0")을 넣고 순차적으로 두 번째, 세 번째, 네 번째 패리티 비트를 구한다. 그리고 LDPC 부호의 부호화 장치는 갱신된 첫 번째 패리티 비트로 두 번째, 세 번째 비트를 배타논리합(XOR) 연산하여 부호화할 수 있다. 이때, 도 3 및 도 4에서 순차적으로 패리티 비트들을 구할 때, 행이 증가함에 따라 순환 시프트값이 "1" 씩 증가하므로 미리 계산해둔 패리티 검사행렬의 정보 블록과 부호어의 정보 블록의 곱을 부행렬 크기인 5단위로 순환 시프트하는 과정이 필요하다.
임의로 패리티 비트를 미리 지정하여 패리티 비트를 구하는 과정은 38×38단위의 부행렬을 가진 패리티 검사행렬에서도 용이하게 적용될 수 있다. LDPC 부호의 부호화 장치는 패리티 검사행렬의 정보 블록과 부호어의 정보 블록의 곱인 456비트를 다양한 방법으로 구할 수 있다. LDPC 부호의 부호화 장치는 행 블록이 증가함에 구한 값을 부행렬 크기인 38단위로 순환 시프트시키면서 첫 번째 패리티 블록에 임의의 값들(예를 들어, 모두 0)을 넣어서 두 번째 패리티 블록 내지 열두 번째 패리티 블록들을 순차적으로 갱신한다. 그리고 다시 갱신된 첫 번째 패리티 블록을 이용하여 두 번째부터 일곱 번째 패리티 블록을 배타논리합(XOR) 연산하여 부호화를 용이하게 38 단위의 병렬로 처리할 수 있다.
도 5 는 본 발명에 따른 저밀도 패리티 검사 부호의 부호화 장치의 일실시예 구성도이다.
도 5에 도시된 바와 같이, 본 발명에 따른 저밀도 패리티 검사 부호의 부호화 장치(500)는 비트 입력부(510), 정보 벡터 생성부(520), 패리티 비트 생성부(530) 및 비트 출력부(540)를 포함한다.
비트 입력부(510)는 저밀도 패리티 검사 부호의 부호화 장치(500)에 입력으로 들어오는 값을 순차적으로 받아들이고, 이를 주어진 시간에 정보 벡터 생성부(520) 및 비트 출력부(540)로 각각 전달한다.
정보 벡터 생성부(520)는 패리티 검사행렬(H 행렬)을 저장하고 있으며, 비트 입력부(510)에서 입력된 입력 비트와 저장된 패리티 검사행렬의 정보 블록을 곱하여 정보 벡터(X 벡터)를 생성한다.
패리티 비트 생성부(530)는 정보 벡터 생성부(520)에서 생성된 정보 벡터와 패리티 검사행렬의 패리티 블록을 상기의 [수학식 2]에 적용하여 선형 방정식을 구 한다. 그리고 패리티 비트 생성부(530)는 선형 방정식을 독립적인 선형 방정식으로 분리하여 작은 크기의 선형 방정식으로 나누어 패리티 비트를 생성한다. 이때, 패리티 비트 생성부(530)는 임의의 패리티 비트를 미리 지정하고, 미리 지정된 패리티 비트를 분리된 독립적인 선형 방정식에 역으로 적용하여 패리티 비트를 생성한다. 패리티 비트 생성부(530)는 선형 방정식을 풀기 위해, 정보 벡터를 부행렬의 크기 단위로 나누어 행블록이 증가함에 따라 순차적으로 순환 시프트시킨다. 그리고 패리티 비트 생성부(530)는 분리된 독립적인 선형 방정식을 부행렬 단위로 병렬 처리한다.
여기서, 패리티 검사행렬은 도 6의 과정에 의해 생성된 검사행렬이며, 어느 한 열에 대해서 "0 행렬"을 제외한 부행렬의 순환 시프트값이 서로 중복되지 않는 순환 시프트값으로 배열되어 있다.
비트 출력부(540)는 비트 입력부(510)에서 입력된 입력 비트와 패리티 비트 생성부(530)에서 생성된 패리티 비트를 결합하여 부호어를 생성한다. 그리고 비트 출력부(540)는 생성된 부호어를 주어진 시간에 순차적으로 출력한다.
도 6 은 본 발명에 따른 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법에 대한 일실시예 흐름도이다.
먼저, LDPC 부호의 부호화 장치(500)는 생성 대상이 되는 패리티 검사행렬에 대한 부행렬의 순환 시프트값을 산출한다(602).
그리고 LDPC 부호의 부호화 장치(500)는 산출된 부행렬의 순환 시프트값을 생성 대상이 되는 패리티 검사행렬에 배열하되, 행렬의 어느 한 열에 대해서 "0 행 렬"을 제외한 부행렬의 순환 시프트값을 서로 중복되지 않는 순환 시프트값으로 배열한다(604). 또한, LDPC 부호의 부호화 장치(500)는 생성된 패리티 검사행렬의 패리티 블록 중, 어느 한 행에 대해서 "0 행렬"을 제외한 부행렬의 순환 시프트값을 동일한 값으로 배열한다.
여기서, LDPC 부호의 부호화 장치(500)는 패리티 검사행렬의 패리티 블록 중, 배열된 부행렬의 순환 시프트값을 패리티 검사행렬의 행 값을 부행렬의 크기값으로 나눈 나머지 값으로 결정하면, 부행렬의 순환 시프트값을 동일한 값으로 배열할 수 있다.
패리티 검사행렬의 패리티 블록은 도 2에 도시된 바와 같이, 이중 대각 형태의 부행렬의 순환 시프트값을 포함한다. 또한, 패리티 검사행렬의 패리티 블록은 도 4에 도시된 바와 같이, 동일한 행 및 열에 해당하는 원소 집합들을 포함하되, 원소 집합들은 서로 각 행 및 열에 대해서 구별된다.
도 7 은 본 발명에 따른 저밀도 패리티 검사 부호의 부호화 방법에 대한 일실시예 흐름도이다.
먼저, 비트 입력부(510)는 저밀도 패리티 검사 부호의 부호화 장치(500)에 입력으로 들어오는 값을 순차적으로 입력받는다(702).
그리고 정보 벡터 생성부(520)는 비트 입력부(510)에서 입력된 입력 비트와 저장된 패리티 검사행렬의 정보 블록을 곱하여 정보 벡터(X 벡터)를 생성한다(704).
그리고 패리티 비트 생성부(530)는 정보 벡터 생성부(520)에서 생성된 정보 벡터와 패리티 검사행렬의 패리티 블록을 상기의 [수학식 2]에 적용하여 선형 방정식을 구하고, 이를 독립적인 선형 방정식으로 분리하여 작은 크기의 선형 방정식으로 나누어서 패리티 비트를 생성한다(706). 이때, 패리티 비트 생성부(530)는 임의의 패리티 비ㄹ트를 미리 지정하고, 미리 지정된 패리티 비트를 분리된 독립적인 선형 방정식에 역으로 적용하여 패리티 비트를 생성한다. 패리티 비트 생성부(530)는 선형 방정식을 풀기 위해, 정보 벡터를 부행렬의 크기 단위로 나누어 행블록이 증가함에 따라 순차적으로 순환 시프트시킨다. 그리고 패리티 비트 생성부(530)는 분리된 독립적인 선형 방정식을 부행렬 단위로 병렬 처리한다.
여기서, 패리티 검사행렬은 도 6의 과정에 의해 생성된 검사행렬이며, 어느 한 열에 대해서 "0 행렬"을 제외한 부행렬의 순환 시프트값이 서로 중복되지 않는 순환 시프트값으로 배열되어 있다.
그리고 비트 출력부(540)는 비트 입력부(510)에서 입력된 입력 비트와 패리티 비트 생성부(530)에서 생성된 패리티 비트를 결합하여 부호어를 생성한다(708).
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
도 1 은 부호율에 따른 LDPC 부호화 장치에 대한 설명도,
도 2 는 본 발명에 따른 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 일실시예 예시도,
도 3 은 본 발명에 따른 비균일 QC-LDPC 부호의 패리티 검사행렬에 대한 다른 실시예 예시도,
도 4 는 본 발명에 따른 도 3의 부행렬을 모두 표시한 패리티 블록에 대한 일실시예 예시도,
도 5 는 본 발명에 따른 저밀도 패리티 검사 부호의 부호화 장치의 일실시예 구성도,
도 6 은 본 발명에 따른 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법에 대한 일실시예 흐름도,
도 7 은 본 발명에 따른 저밀도 패리티 검사 부호의 부호화 방법에 대한 일실시예 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명
510: 비트 입력부 520: 정보 벡터 생성부
530: 패리티 비트 생성부 540: 비트 출력부

Claims (15)

  1. 패리티 검사행렬 생성 방법에 있어서,
    행렬에 대한 부행렬의 순환 시프트값을 산출하는 부행렬 산출 단계; 및
    상기 산출된 부행렬의 순환 시프트값을 상기 행렬에 배열하되, 상기 행렬의 어느 한 열에 대해서 "0 행렬"을 제외한 부행렬의 순환 시프트값을 서로 중복되지 않는 순환 시프트값으로 배열하여 패리티 검사행렬을 생성하는 패리티 검사행렬 생성 단계
    를 포함하는 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법.
  2. 제 1 항에 있어서,
    상기 패리티 검사행렬 생성 단계는,
    상기 생성된 패리티 검사행렬의 패리티 블록 중, 어느 한 행에 대해서 "0 행렬"을 제외한 부행렬의 순환 시프트값을 동일한 값으로 배열하는 것을 특징으로 하는 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법.
  3. 제 2 항에 있어서,
    상기 패리티 검사행렬 생성 단계는,
    상기 생성된 패리티 검사행렬의 패리티 블록 중, 상기 배열된 부행렬의 순환 시프트값을 상기 패리티 검사행렬의 행 값을 상기 부행렬의 크기값으로 나눈 나머지 값으로 결정하는 것을 특징으로 하는 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법.
  4. 제 3 항에 있어서,
    상기 패리티 검사행렬의 패리티 블록은,
    이중 대각 형태의 부행렬의 순환 시프트값을 포함하는 것을 특징으로 하는 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법.
  5. 제 3 항에 있어서,
    상기 패리티 검사행렬의 패리티 블록은,
    동일한 행 및 열에 해당하는 원소 집합들을 포함하되, 상기 포함된 원소 집합들은 서로 각 행 및 열에 대해서 구별되는 것을 특징으로 하는 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성 방법.
  6. 저밀도 패리티 검사 부호의 부호화 장치에 있어서,
    입력 비트를 입력받기 위한 비트 입력 수단;
    상기 입력받은 입력 비트와, 고속 복호를 위해 어느 한 열에 대해서 "0 행렬"을 제외한 부행렬의 순환 시프트값으로 배열된 패리티 검사행렬의 정보 블록을 곱하여 정보 벡터를 생성하기 위한 정보 벡터 생성 수단;
    상기 생성된 정보 벡터와 상기 패리티 검사행렬의 패리티 블록에 관한 선형 방정식을 독립적인 선형 방정식으로 분리하여 패리티 비트를 생성하기 위한 패리티 비트 생성 수단; 및
    상기 입력받은 입력 비트와 상기 생성된 패리티 비트를 결합하여 부호어를 출력하기 위한 비트 출력 수단;
    을 포함하는 낮은 복잡도 및 고속 복호를 위한 저밀도 패리티 검사 부호의 부호화 장치.
  7. 저밀도 패리티 검사 부호의 부호화 장치에 있어서,
    입력 비트를 입력받기 위한 비트 입력 수단;
    상기 입력받은 입력 비트와, 고속 복호를 위한 패리티 검사행렬의 정보 블록을 곱하여 정보 벡터를 생성하기 위한 정보 벡터 생성 수단;
    상기 생성된 정보 벡터와 상기 패리티 검사행렬의 패리티 블록에 관한 선형 방정식을 독립적인 선형 방정식으로 분리하여 패리티 비트를 생성하기 위한 패리티 비트 생성 수단; 및
    상기 입력받은 입력 비트와 상기 생성된 패리티 비트를 결합하여 부호어를 출력하기 위한 비트 출력 수단;을 포함하며,
    여기서, 상기 패리티 검사행렬은, 어느 한 열에 대해서 "0 행렬"을 제외한 부행렬의 순환 시프트값이 서로 중복되지 않는 순환 시프트값으로 배열된 것을 특징으로 하는 낮은 복잡도 및 고속 복호를 위한 저밀도 패리티 검사 부호의 부호화 장치.
  8. 제 7 항에 있어서,
    상기 패리티 비트 생성 수단은,
    임의의 패리티 비트를 미리 지정하고, 상기 미리 지정된 패리티 비트를 상기 분리된 독립적인 선형 방정식에 역으로 적용하여 패리티 비트를 생성하는 것을 특징으로 하는 낮은 복잡도 및 고속 복호를 위한 저밀도 패리티 검사 부호의 부호화 장치.
  9. 제 8 항에 있어서,
    상기 패리티 비트 생성 수단은,
    상기 생성된 정보 벡터를 부행렬의 크기 단위로 나누어 행블록이 증가함에 따라 순차적으로 순환 시프트시키는 것을 특징으로 하는 낮은 복잡도 및 고속 복호를 위한 저밀도 패리티 검사 부호의 부호화 장치.
  10. 제 9 항에 있어서,
    상기 패리티 비트 생성 수단은,
    상기 분리된 독립적인 선형 방정식을 부행렬 단위로 병렬 처리하는 것을 특징으로 하는 낮은 복잡도 및 고속 복호를 위한 저밀도 패리티 검사 부호의 부호화 장치.
  11. 저밀도 패리티 검사 부호의 부호화 방법에 있어서,
    입력 비트를 입력받기 위한 비트 입력 단계;
    상기 입력받은 입력 비트와, 고속 복호를 위해 어느 한 열에 대해서 "0 행렬"을 제외한 부행렬의 순환 시프트값으로 배열된 패리티 검사행렬의 정보 블록을 곱하여 정보 벡터를 생성하는 정보 벡터 생성 단계;
    상기 생성된 정보 벡터와 상기 패리티 검사행렬의 패리티 블록에 관한 선형 방정식을 독립적인 선형 방정식으로 분리하여 패리티 비트를 생성하는 패리티 비트 생성 단계; 및
    상기 입력받은 입력 비트와 상기 생성된 패리티 비트를 결합하여 부호어를 출력하는 단계;
    를 포함하는 낮은 복잡도 및 고속 복호를 위한 저밀도 패리티 검사 부호의 부호화 방법.
  12. 저밀도 패리티 검사 부호의 부호화 방법에 있어서,
    입력 비트를 입력받기 위한 비트 입력 단계;
    상기 입력받은 입력 비트와, 고속 복호를 위한 패리티 검사행렬의 정보 블록을 곱하여 정보 벡터를 생성하는 정보 벡터 생성 단계;
    상기 생성된 정보 벡터와 상기 패리티 검사행렬의 패리티 블록에 관한 선형 방정식을 독립적인 선형 방정식으로 분리하여 패리티 비트를 생성하는 패리티 비트 생성 단계; 및
    상기 입력받은 입력 비트와 상기 생성된 패리티 비트를 결합하여 부호어를 출력하는 단계;를 포함하며,
    여기서, 상기 패리티 검사행렬은, 어느 한 열에 대해서 "0 행렬"을 제외한 부행렬의 순환 시프트값이 서로 중복되지 않는 순환 시프트값으로 배열된 것을 특징으로 하는 낮은 복잡도 및 고속 복호를 위한 저밀도 패리티 검사 부호의 부호화 방법.
  13. 제 12 항에 있어서,
    상기 패리티 비트 생성 단계는,
    임의의 패리티 비트를 미리 지정하고, 상기 미리 지정된 패리티 비트를 상기 분리된 독립적인 선형 방정식에 역으로 적용하여 패리티 비트를 생성하는 것을 특징으로 하는 낮은 복잡도 및 고속 복호를 위한 저밀도 패리티 검사 부호의 부호화 방법.
  14. 제 13 항에 있어서,
    상기 패리티 비트 생성 단계는,
    상기 생성된 정보 벡터를 부행렬의 크기 단위로 나누어 행블록이 증가함에 따라 순차적으로 순환 시프트시키는 것을 특징으로 하는 낮은 복잡도 및 고속 복호를 위한 저밀도 패리티 검사 부호의 부호화 방법.
  15. 제 14 항에 있어서,
    상기 패리티 비트 생성 단계는,
    상기 분리된 독립적인 선형 방정식을 부행렬 단위로 병렬 처리하는 것을 특징으로 하는 낮은 복잡도 및 고속 복호를 위한 저밀도 패리티 검사 부호의 부호화 방법.
KR1020070133279A 2007-12-18 2007-12-18 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법 KR100949519B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070133279A KR100949519B1 (ko) 2007-12-18 2007-12-18 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법
US12/113,638 US8205131B2 (en) 2007-12-18 2008-05-01 Method for producing parity check matrix for low complexity and high speed decoding, and apparatus and method for coding low density parity check code using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070133279A KR100949519B1 (ko) 2007-12-18 2007-12-18 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20090065791A KR20090065791A (ko) 2009-06-23
KR100949519B1 true KR100949519B1 (ko) 2010-03-24

Family

ID=40754902

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070133279A KR100949519B1 (ko) 2007-12-18 2007-12-18 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법

Country Status (2)

Country Link
US (1) US8205131B2 (ko)
KR (1) KR100949519B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11163634B2 (en) 2017-08-18 2021-11-02 SK Hynix Inc. H matrix generating circuit, operating method thereof and error correction circuit using H matrix generated by the same
US11190220B2 (en) 2019-03-20 2021-11-30 SK Hynix Inc. Apparatus and method for managing parity check matrix

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291283B1 (en) * 2008-06-06 2012-10-16 Marvell International Ltd. Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter
US8145986B2 (en) * 2008-09-22 2012-03-27 Broadcom Corporation Multi-CSI (Cyclic Shifted Identity) sub-matrix based LDPC (Low Density Parity Check) codes
US9141474B2 (en) 2010-06-10 2015-09-22 The Regents Of The University Of California Efficient two write WOM codes, coding methods and devices
CN102315899A (zh) * 2010-06-30 2012-01-11 中国科学院微电子研究所 一种低密度奇偶校验码的准循环译码方法
JP2012050008A (ja) * 2010-08-30 2012-03-08 Toshiba Corp 誤り検出訂正方法および半導体メモリ装置
WO2013058686A1 (en) * 2011-10-18 2013-04-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for conveying additional bits with an encoded data block in a communication system
US9100052B2 (en) * 2013-02-01 2015-08-04 Samsung Electronics Co., Ltd. QC-LDPC convolutional codes enabling low power trellis-based decoders
CN105164924A (zh) * 2013-04-25 2015-12-16 高通股份有限公司 10gbase-t系统中ldpc编码器的方法和装置
WO2018020299A1 (en) 2016-07-29 2018-02-01 Chan Kam Fu Lossless compression and decompression methods
KR20180071917A (ko) * 2016-12-20 2018-06-28 삼성전자주식회사 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치
US10484010B2 (en) * 2016-12-20 2019-11-19 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding/decoding in communication or broadcasting system
US11146363B2 (en) * 2018-04-13 2021-10-12 Huawei Technologies Co., Ltd. Systems and methods for HARQ retransmission using an outer code

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050021108A (ko) * 2003-08-26 2005-03-07 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR20060058792A (ko) * 2004-11-25 2006-06-01 한국전자통신연구원 저밀도 패리티 검사 코드의 부호화 장치 및 방법
KR20070035283A (ko) * 2005-09-27 2007-03-30 삼성전자주식회사 가변 부호화율을 지원하는 준순환 저밀도 패리티 검사부호를 사용하는 신호 송수신 장치 및 방법
KR20070042105A (ko) * 2005-10-17 2007-04-20 삼성전자주식회사 저밀도 패리티 검사 부호의 패리티 검사 행렬 설계 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100881002B1 (ko) * 2005-02-22 2009-02-03 삼성전자주식회사 통신 시스템에서 지그재그 코드를 이용한 저밀도 패리티 검사 부호 생성 장치 및 방법
US7783952B2 (en) * 2006-09-08 2010-08-24 Motorola, Inc. Method and apparatus for decoding data
KR100837730B1 (ko) * 2006-09-29 2008-06-13 한국전자통신연구원 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법
US8261155B2 (en) * 2007-03-09 2012-09-04 Qualcomm Incorporated Methods and apparatus for encoding and decoding low density parity check (LDPC) codes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050021108A (ko) * 2003-08-26 2005-03-07 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
KR20060058792A (ko) * 2004-11-25 2006-06-01 한국전자통신연구원 저밀도 패리티 검사 코드의 부호화 장치 및 방법
KR20070035283A (ko) * 2005-09-27 2007-03-30 삼성전자주식회사 가변 부호화율을 지원하는 준순환 저밀도 패리티 검사부호를 사용하는 신호 송수신 장치 및 방법
KR20070042105A (ko) * 2005-10-17 2007-04-20 삼성전자주식회사 저밀도 패리티 검사 부호의 패리티 검사 행렬 설계 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11163634B2 (en) 2017-08-18 2021-11-02 SK Hynix Inc. H matrix generating circuit, operating method thereof and error correction circuit using H matrix generated by the same
US11190220B2 (en) 2019-03-20 2021-11-30 SK Hynix Inc. Apparatus and method for managing parity check matrix

Also Published As

Publication number Publication date
US20090158112A1 (en) 2009-06-18
US8205131B2 (en) 2012-06-19
KR20090065791A (ko) 2009-06-23

Similar Documents

Publication Publication Date Title
KR100949519B1 (ko) 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법
KR100808664B1 (ko) 패리티 검사행렬 저장 방법 및 이를 이용한 블록 저밀도패리티 검사 부호화 방법 및 장치
JP5875713B2 (ja) 送信機および受信機、並びに符号化率可変方法
KR101405962B1 (ko) Ldpc 코드를 이용한 복호화 방법
JP5442024B2 (ja) 誤り訂正符号化方法および装置ならびにそれを用いた通信システム
KR100861893B1 (ko) 양호한 성능을 가진 불규칙 단축화 ldpc 코드들에 대한코드 구성
JP4602406B2 (ja) データをエンコード及びデコードするための方法並びに装置
CN101073205A (zh) 低密度奇偶校验编码器和解码器以及低密度奇偶校验编码和解码方法
KR20080048988A (ko) 무-충돌 불규칙-반복-누산 코드
EP1798861A1 (en) LDPC encoding through decoding algorithm
KR100918741B1 (ko) 이동 통신 시스템에서 채널 부호화 장치 및 방법
KR102118328B1 (ko) 2의 멱이 아닌 길이로 확장된 폴라 코드의 코딩 및 디코딩
KR101216075B1 (ko) 채널 코드를 이용한 복호화 및 복호화 장치
KR20080072392A (ko) 통신 시스템에서 신호 수신 장치 및 방법
US20100017677A1 (en) Decoding device and decoding method
KR101077552B1 (ko) 복수의 기본 패리티 검사행렬을 이용한 저밀도 패리티 검사부호의 복호화 장치 및 그 방법
KR101370903B1 (ko) Ldpc 코드를 이용한 부호화 및 복호화 방법
KR20080000479A (ko) 통신 시스템에서 신호 수신 장치 및 방법
KR100837730B1 (ko) 사전에 지정한 패리티를 검사한 결과를 이용해 ldpc코드를 부호화하는 방법
JP6472790B2 (ja) 共通ハードウェアリソースを共用する、異なる低密度パリティ検査(ldpc)符号のための低密度パリティ検査の符号化
KR101493999B1 (ko) 선형 부호 생성 장치 및 방법
KR20090064709A (ko) Ldpc 부호의 패리티 검사 행렬 생성 장치 및 그방법과, 그를 이용한 ldpc 부/복호화 장치
JP4618293B2 (ja) 復号装置及び検査行列生成方法
CN107592958B (zh) 不同码长下使用一个多比率指数表和一个扩展因子的多比率的ldpc编码和解码
KR20110068776A (ko) 저밀도 패리티 검사를 이용한 코드 부호화 방법 및 그 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130304

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee