KR20070035283A - 가변 부호화율을 지원하는 준순환 저밀도 패리티 검사부호를 사용하는 신호 송수신 장치 및 방법 - Google Patents

가변 부호화율을 지원하는 준순환 저밀도 패리티 검사부호를 사용하는 신호 송수신 장치 및 방법 Download PDF

Info

Publication number
KR20070035283A
KR20070035283A KR1020050089962A KR20050089962A KR20070035283A KR 20070035283 A KR20070035283 A KR 20070035283A KR 1020050089962 A KR1020050089962 A KR 1020050089962A KR 20050089962 A KR20050089962 A KR 20050089962A KR 20070035283 A KR20070035283 A KR 20070035283A
Authority
KR
South Korea
Prior art keywords
block
parity check
check matrix
block columns
columns
Prior art date
Application number
KR1020050089962A
Other languages
English (en)
Other versions
KR100946905B1 (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 KR1020050089962A priority Critical patent/KR100946905B1/ko
Priority to US11/528,044 priority patent/US7890844B2/en
Publication of KR20070035283A publication Critical patent/KR20070035283A/ko
Application granted granted Critical
Publication of KR100946905B1 publication Critical patent/KR100946905B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • 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
    • H03M13/1162Array based LDPC codes, e.g. array codes
    • 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/618Shortening and extension of codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/14Arrangements for detecting or preventing errors in the information received by using return channel in which the signals are sent back to the transmitter to be checked ; echo systems
    • 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/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy

Abstract

본 발명은 정보 데이터를 입력받고, 상기 정보 데이터를 준순환(Quasi-Cyclic)-저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호로 생성시 적용할 제1부호화율에 상응하게 상기 정보 데이터에 0을 삽입하고, 상기 0 삽입된 신호를 미리 설정되어 있는 제1패리티 검사 행렬에 상응하게 부호화하여 상기 QC-LDPC 부호로 생성한 후, 상기 QC-LDPC 부호에서 상기 삽입한 0을 제거하여 가변 부호화율을 지원하도록 한다.
가변 부호화율 QC-LDPC 부호, 단축 방식, 0 삽입, 0 제거

Description

가변 부호화율을 지원하는 준순환 저밀도 패리티 검사 부호를 사용하는 신호 송수신 장치 및 방법{APPARATUS AND METHOD FOR TRANSMITTING/RECEIVING A QUASI-CYCLIC LOW DENSITY PARITY CHECK CODE SUPPORTING VARIABLE CODING RATES}
도 1은 일반적인 통신 시스템의 송수신기 구조를 개략적으로 도시한 도면
도 2는 일반적인 (8, 2, 4) LDPC 부호의 패리티 검사 행렬을 도시한 도면
도 3은 도 2의 (8, 2, 4) LDPC 부호의 factor 그래프를 도시한 도면
도 4는 일반적인 QC-LDPC 부호의 패리티 검사 행렬을 개략적으로 도시한 도면
도 5는 일반적인 통신 시스템에서 shortening 방식을 개략적으로 도시한 도면
도 6은 본 발명의 실시예에 따른 shortening 방식을 사용하여 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성하는 과정을 개략적으로 도시한 도면
도 7은 본 발명의 실시예에 따른 shortening 방식을 사용하여 생성한 가변 부호화율 QC-LDPC 부호를 사용하여 신호를 송신하는 송신기 구조를 개략적으로 도시한 도면
도 8은 본 발명의 실시예에 따른 부호화율 1/2인 패리티 검사 행렬을 도시한 도면
도 9는 도 8의 패리티 검사 행렬의 블록열들이 재배열된 패리티 검사 행렬을 도시한 도면
도 10은 본 발명의 제1실시예에 따른 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성하는 과정을 도시한 순서도
도 11은 본 발명의 제2실시예에 따른 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성하는 과정을 도시한 순서도
도 12는 본 발명의 실시예에 따른 가변 부호화율 QC-LDPC 부호의 복호 장치 내부 구조를 도시한 도면
본 발명은 통신 시스템에 관한 것으로서, 특히 가변 부호화율을 지원하는 준순환(Quasi-Cyclic) 저밀도 패리티 검사(LDPC: Low Density Parity Check, 이하 'LDPC'라 칭하기로 한다) 부호를 사용하여 신호를 송수신하는 장치 및 방법에 관한 것이다.
이동 통신 시스템이 급속하게 발전해나감에 따라 무선 네트워크에서 유선 네트워크의 용량(capacity)에 근접하는 대용량 데이터를 전송할 수 있는 기술 개발이 요구되고 있다. 이렇게, 음성 위주의 서비스를 벗어나 영상, 무선 데이터 등의 다 양한 정보를 처리하고 전송할 수 있는 고속 대용량 통신 시스템이 요구됨에 따라 적정한 채널 부호화(channel coding) 방식을 사용하여 시스템 전송 효율을 높이는 것이 시스템 성능 향상에 필수적인 요소로 작용하게 된다. 그러나, 이동 통신 시스템은 이동 통신 시스템의 특성상 데이터를 전송할 때 채널의 상황에 따라 잡음(noise)과, 간섭(interference) 및 페이딩(fading) 등으로 인해 불가피하게 에러(error)가 발생하고, 따라서 상기 에러 발생으로 인한 정보 데이터의 손실이 발생한다.
이러한 에러 발생으로 인한 정보 데이터 손실을 감소시키기 위해서 채널의 특성에 따라 다양한 에러 제어 방식(error-control scheme)들을 사용함으로써 상기 이동 통신 시스템의 신뢰도를 향상시킬 수 있다. 상기 에러 제어 방식들 중에서 가장 보편적으로 사용되고 있는 에러 제어 방식은 에러 정정 부호(error-correcting code)를 사용하는 방식이다.
그러면 여기서 도 1을 참조하여 일반적인 이동 통신 시스템의 송수신기 구조에 대해서 설명하기로 한다.
상기 도 1은 일반적인 통신 시스템의 송수신기 구조를 개략적으로 도시한 도면이다.
상기 도 1을 참조하면, 송신기(100)는 부호화기(encoder)(111)와, 변조기(modulator)(113)와, 무선 주파수(RF: Radio Frequency, 이하 'RF'라 칭하기로 한다) 처리기(115)를 포함하고, 수신기(150)는 RF 처리기(151)와, 복조기(de-modulator)(153)와, 복호기(decoder)(155)를 포함한다.
먼저, 상기 송신기(100)에서 송신하고자 하는 정보 데이터(information data) u가 발생되면, 상기 정보 데이터 u는 상기 부호화기(111)로 전달된다. 상기 부호화기(111)는 상기 정보 데이터 u를 미리 설정되어 있는 부호화 방식으로 부호화하여 부호화 심볼(coded symbol) c로 생성한 후 상기 변조기(113)로 출력한다. 상기 변조기(113)는 상기 부호화 심볼 c를 미리 설정되어 있는 변조 방식으로 변조하여 변조 심벌 s로 생성하여 상기 RF 처리기(115)로 출력한다. 상기 RF 처리기(115)는 상기 변조기(113)에서 출력한 신호를 입력하여 RF 처리한 후 안테나를 통해 수신기측으로 송신한다.
이렇게, 상기 송신기(100)에서 에어상으로 송신한 신호는 상기 수신기(150)의 안테나를 통해 수신되고, 상기 안테나를 통해 수신된 신호는 상기 RF 처리기(151)로 전달된다. 상기 RF 처리기(151)는 상기 수신 신호를 RF 처리한 후 그 RF 처리된 신호 s를 상기 복조기(153)로 출력한다. 상기 복조기(153)는 상기 RF 처리기(151)에서 출력한 신호 s를 입력하여 상기 송신기(100)의 변조기(113)에서 적용한 변조 방식에 상응하는 복조 방식으로 복조한 후 그 복조한 신호 x를 상기 복호기(155)로 출력한다. 상기 복호기(155)는 상기 복조기(153)에서 출력한 신호 x를 입력하여 상기 송신기(100)의 부호화기(111)에서 적용한 부호화 방식에 상응하는 복호 방식으로 복호한 후 그 복호한 신호
Figure 112005054239350-PAT00001
를 최종적으로 복원된 정보 데이터로 출력한다.
상기 송신기(100)에서 송신한 정보 데이터 u를 상기 수신기(150)에서 에러없이 복원하기 위해서 성능이 우수한 부호화기 및 복호기에 대한 필요성이 부각되고 있다. 특히, 이동 통신 시스템의 특성상 무선 채널 환경을 고려해야만 하므로 무선 채널 환경에 의해 발생할 수 있는 에러는 보다 심각하게 고려되어야만 한다.
한편, 상기 에러 정정 부호의 대표적인 부호들로는 터보 부호(turbo code)와, LDPC 부호 등이 있다.
상기 LDPC 부호는 종래 오류 정정을 위해 주로 사용되던 컨벌루셔널 부호(convolutional code)에 비하여 고속 데이터 전송시에 성능 이득이 우수한 것으로 알려져 있으며, 전송 채널에서 발생하는 잡음에 의한 오류를 효과적으로 정정하여 데이터 전송의 신뢰도를 높일 수 있다는 장점을 가진다. 또한, 상기 LDPC 부호는 팩터(factor, 이하 'factor'라 칭하기로 한다) 그래프 상에서 합곱(sum-product) 알고리즘(algorithm)에 기반한 반복 복호(iterative decoding) 알고리즘을 사용하여 복호할 수 있다. 상기 LDPC 부호의 복호기는 상기 합곱 알고리즘에 기반한 반복 복호 알고리즘을 사용하기 때문에 상기 터보 부호의 복호기에 비해 낮은 복잡도를 가질 뿐만 아니라 병렬 처리 복호기로 구현하는 것이 용이하다.
상기 터보 부호는 Shannon의 채널 부호화 이론(channel coding theorem)의 채널 용량 한계에 근접하는 우수한 성능을 가지고 있으며, 상기 LDPC 부호는 블록 크기 107을 사용하여 비트 에러율(BER: Bit Error Rate) 10-5에서 Shannon의 채널 부호화의 채널 용량 한계에서 단지 0.04[dB] 정도의 차이를 가지는 성능을 나타낸다. 여기서, 상기 Shannon의 채널 부호화 이론은 채널의 용량을 초과하지 않는 데이터 전송율(data rate)에 한해 신뢰성 있는 통신이 가능함을 나타내는 이론이다. 하지만 Shannon의 채널 부호화 이론에서는 최대 채널의 용량 한계까지의 데이터 레이트를 지원하는 채널 부호화 및 복호 방법에 대한 구체적인 제시는 전혀 없었다. 또한, 블록(block) 크기가 굉장히 큰 랜덤(random) 부호는 Shannon의 채널 부호화 이론의 채널 용량 한계에 근접하는 성능을 나타내지만, MAP(maximum a posteriori) 또는 ML(maximum likelihood) 복호 방법을 사용할 경우 그 계산량에 있어 굉장한 로드(load)가 존재하여 실제 구현이 불가능하였다.
한편, 상기 LDPC 부호를 factor 그래프로 표현하면 그 factor 그래프상에는 사이클(cycle)이 존재하는데, 상기 사이클이 존재하는 상기 LDPC 부호의 factor 그래프 상에서의 반복 복호는 준최적(suboptimal)이라는 것은 이미 잘 알려져 있는 사실이며, 상기 LDPC 부호는 반복 복호를 통해 우수한 성능을 가진다는 것 역시 실험적으로 입증된 바 있다. 하지만, factor 그래프상에 짧은 길이의 사이클이 너무 많이 존재할 경우에는 성능의 열화가 발생될 것으로 예상되기 때문에 짧은 길이의 사이클이 존재하지 않는 LDPC 부호를 설계하기 위한 연구가 지속적으로 이루어지고 있다.
또한, 상기 LDPC 부호는 Gallager에 의해 제안된 부호이며, 대부분의 엘리먼트들이 0의 값(zero value)을 가지며, 상기 0의 값을 가지는 엘리먼트들 이외의 극히 소수의 엘리먼트들이 0이 아닌(non-zero value) 값을 가지는, 일 예로 1의 값을 가지는 패리티 검사 행렬(parity check matrix)에 의해 정의된다. 이하, 설명의 편의상 상기 0이 아닌 값을 1이라고 가정하여 설명하기로 한다.
즉, 상기 LDPC 부호의 패리티 검사 행렬은 매우 작은 가중치(weight)를 가지 기 때문에, 비교적 긴 블록 길이를 가지는 블록 부호(block code)일지라도 반복 복호를 통해 복호가 가능하다. 또한 상기 LDPC 부호는 블록 부호의 블록 길이를 계속 증가시킬 경우, 상기 터보 부호와 같이 Shannon의 채널 용량 한계에 근접하는 형태의 성능을 나타낸다. 따라서, 차세대 통신 시스템에서는 상기 오류 정정 부호로서 상기 LDPC 부호를 적극적으로 사용하고 있는 추세에 있다.
상기에서 설명한 바와 같이 상기 패리티 검사 행렬내 각 열의 웨이트(weight)는 j로 일정하며, 상기 패리티 검사 행렬내 각 행의 웨이트는 k로 일정한 LDPC 부호를 균일(regular) LDPC 부호라고 칭한다. 여기서, 상기 웨이트라함은 상기 패리티 검사 행렬을 구성하는 엘리먼트들 중 0이 아닌 값을 가지는 엘리먼트들의 개수를 나타낸다. 이와는 달리, 상기 패리티 검사 행렬내 각 열의 웨이트와 각 행의 웨이트가 일정하지 않은 LDPC 부호를 불균일(irregular) LDPC 부호라고 칭한다.
그러면 여기서 도 2를 참조하여 (N, j, k) LDPC 부호, 일 예로 (8, 2, 4) LDPC 부호의 패리티 검사 행렬에 대해서 설명하기로 한다.
상기 도 2는 일반적인 (8, 2, 4) LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.
상기 도 2를 참조하면, 먼저 상기 (8, 2, 4) LDPC 부호의 패리티 검사 행렬 H는 8개의 열들과 4개의 행들로 구성되어 있으며, 각 열의 웨이트는 2로 균일하며, 각 행의 웨이트는 4로 균일하다. 이렇게, 상기 패리티 검사 행렬내 각 열의 웨이트와 각 행의 웨이트가 균일하므로 상기 도 1에 도시되어 있는 (8, 2, 4) LDPC 부호 는 균일 LDPC 부호가 되는 것이다.
상기 도 2에서는 일반적인 (8, 2, 4) LDPC 부호의 패리티 검사 행렬에 대해서 설명하였으며, 다음으로 도 3을 참조하여 상기 도 2에서 설명한 (8, 2, 4) LDPC 부호의 factor 그래프에 대해서 설명하기로 한다.
상기 도 3은 도 2의 (8, 2, 4) LDPC 부호의 factor 그래프를 도시한 도면이다.
상기 도 3을 참조하면, 상기 (8, 2, 4) LDPC 부호의 factor 그래프는 8개의 변수 노드(variable node)들, 즉 x1(300)과, x2(302)과, x3(304)과, x4(306)과, x5(308)과, x6(310)과, x7(312)과, x8(314)와, 4개의 검사 노드(check node)들(316,318,320,322)로 구성된다. 상기 (8, 2, 4) LDPC 부호의 패리티 검사 행렬의 i번째 행과 j번째 열이 교차하는 지점에 1의 값을 가지는, 즉 0이 아닌 값을 가지는 엘리먼트가 존재할 경우 변수 노드 xi와 j번째 검사 노드 사이에 브랜치(branch)가 생성된다.
상기에서 설명한 바와 같이 LDPC 부호의 패리티 검사 행렬은 매우 작은 웨이트를 가지기 때문에, 비교적 긴 길이를 가지는 블록 부호에서도 반복 복호를 통해 복호가 가능하며, 블록 부호의 블록 길이를 계속 증가시켜가면 터보 부호와 같이 Shannon의 채널 용량 한계에 근접하는 형태의 성능을 나타낸다. 또한, MacKay와 Neal은 흐름 전달 방식을 사용하는 LDPC 부호의 반복 복호 과정이 터보 부호의 반복 복호 과정에 거의 근접하는 성능을 가진다는 것을 이미 증명한 바가 있다.
한편, 성능이 좋은 LDPC 부호를 생성하기 위해서는 몇 가지 조건들을 만족시켜야만 하는데, 상기 조건들을 설명하면 다음과 같다.
(1) LDPC 부호의 factor 그래프상의 사이클을 고려해야만 한다.
상기 사이클이란 LDPC 부호의 factor 그래프에서 어떤 노드도 두 번 이상 지나지 않는 폐쇄된 경로(closed path)를 나타내는데, 크기가 작은 사이클이 많이 존재할수록 오류 마루(error floor)등의 성능 열화가 발생한다. 따라서, 상기 LDPC 부호의 factor 그래프상의 사이클을 크게 생성할수록 상기 LDPC 부호의 성능이 향상된다.
(2) LDPC 부호의 factor 그래프상의 차수 분포를 고려해야만 한다.
일반적으로, 균일 LDPC 부호의 성능에 비해서 불균일 LDPC 부호의 성능이 더 우수한 이유는 패리티 검사 행렬내 각 열의 웨이트와 각 행의 웨이트가 일정하지 않기 때문, 즉 상기 불균일 블록 LDPC 부호의 노드들이 다양한 차수(degree)를 갖기 때문이다. 여기서, 상기 차수란 상기 LDPC 부호의 factor 그래프 상에서 각 노드들 즉, 변수 노드들과 검사 노드들에 연결되어 있는 에지(edge)의 개수를 나타낸다. 또한, 상기 차수 분포는 특정 차수를 갖는 노드들이 전체 노드들 중 얼마만큼 존재하는지는 나타내며, 또한, Richardson 등에 의해서 성능이 좋은 LDPC 부호는 특정한 차수 분포를 가져야만 한다는 것이 이미 증명된 바 있다.
상기에서 설명한 바와 같이 상기 LDPC 부호는 패리티 검사 행렬을 사용하여 표현된다. 상기 LDPC 부호의 패리티 검사 행렬 정보를 저장할 경우 비교적 큰 용량의 메모리가 필요로 하게 되며, 따라서 상기 패리티 검사 행렬의 정보를 효율적으 로 저장하여 필요한 메모리의 크기를 감소시키는 방안들에 대한 연구가 활발하게 진행되고 있다.
일 예로, 2000년 Fan에 의해 구조적인(structured) 패리티 검사 행렬을 가지는 어레이(array) 부호가 제안된 이래로, 메모리 효율성을 개선하기 위해 순환 순열 행렬(circulant permutation matrix)에 기반한 다양한 준순환 LDPC(이하 'QC-LDPC'라 칭하기로 한다) 부호들이 개발되었다.
상기 QC-LDPC 부호는 상기 패리티 검사 행렬을 다수의 블록(block)들로 구분하여 상기 블록들 각각에 순환 순열 행렬이나 영(zero) 행렬을 대응시킴으로써 구성할 수 있다. 그러면 여기서 도 4를 참조하여 QC-LDPC 부호에 대해서 설명하기로 한다.
상기 도 4는 일반적인 QC-LDPC 부호의 패리티 검사 행렬을 개략적으로 도시한 도면이다.
상기 도 4를 설명하기에 앞서, 먼저 상기 QC-LDPC 부호는 효율적인 부호화뿐만 아니라 효율적인 패리티 검사 행렬의 저장 및 성능 개선을 모두 고려한 새로운 LDPC 부호이다. 상기 도 4를 참조하면, 상기 QC-LDPC 부호의 패리티 검사 행렬은 전체 패리티 검사 행렬을 다수의 부분 블록(partial block)들로 분할하고, 상기 부분 블록들 각각에 순열 행렬(permutation matrix)을 대응시키는 형태를 가진다. 상기 도 4에 도시되어 있는 P는
Figure 112005054239350-PAT00002
크기를 가지는 순열 행렬을 나타내며, 상기 순열 행렬 P의 위첨자 apq
Figure 112005054239350-PAT00003
혹은 apq = ∽를 가진다.
또한, 상기 p는 해당 순열 행렬이 상기 패리티 검사 행렬의 다수의 부분 블록들중 p번째 행에 위치함을 나타내며, q는 해당 순열 행렬이 상기 패리티 검사 행렬의 다수의 부분 블록들중 q번째 열에 위치함을 나타낸다. 즉,
Figure 112005054239350-PAT00004
는 상기 다수의 부분 블록들로 구성된 패리티 검사 행렬의 p번째 행과 q번째 열이 교차하는 지점의 부분 블록에 존재하는 순열 행렬을 나타낸다. 즉, 상기 p와 q는 상기 패리티 검사 행렬에서 상기 정보 파트에 해당하는 부분 블록들의 행과 열의 개수를 나타낸다.
그러면 여기서 하기 수학식 1을 참조하여 상기 순열 행렬에 대해서 설명하기로 한다.
Figure 112005054239350-PAT00005
상기 수학식 1에 나타낸 바와 같이 상기 순열 행렬 P는
Figure 112005054239350-PAT00006
크기를 가지는 정사각 행렬로서, 상기 순열 행렬 P는 상기 순열 행렬 P를 구성하는 Ns개의 행들 각각의 웨이트가 1이고, 상기 순열 행렬 P를 구성하는 Ns개의 행들 각각의 웨이트 역시 1인 행렬을 나타낸다. 여기서, 상기 순열 행렬 P의 크기를
Figure 112005054239350-PAT00007
라고 표현하였으나, 상기 순열 행렬 P가 정사각 행렬이므로 그 크기를 설명의 편의상 Ns라고 도 표현하기로 함에 유의하여야만 한다.
한편, 상기 수학식 1에서 상기 순열 행렬 P의 위첨자 apq가 0일 때, 즉 순열 행렬 P0는 항등 행렬(Identity matrix)
Figure 112005054239350-PAT00008
를 나타내며, 상기 순열 행렬 P의 위첨자 apq가 ∽일 때, 즉 순열 행렬
Figure 112005054239350-PAT00009
는 영(zero) 행렬 나타낸다. 여기서,
Figure 112005054239350-PAT00010
는 크기가
Figure 112005054239350-PAT00011
인 항등 행렬을 나타낸다.
또한, 상기 LDPC 부호에 있어서 작은 사이클은 성능 열화의 주요한 원인이 된다. 즉, 작은 사이클에 속해있는 한 노드에서 출발한 자신의 정보가 적은 반복 회수 후에 다시 자신에게 돌아오게 된다. 이때, 반복 회수가 증가할수록 자신의 정보가 계속해서 자신에게 돌아오게 되므로 정보 업데이트가 잘 이루어지지 않게 되며, 이는 결국 오류 정정 능력을 저하시키게 된다. 따라서 가능한 한 사이클의 크기를 크게 해주고 그 크기가 적은 사이클의 개수도 감소시켜야만 좋은 성능의 LDPC 부호를 구성할 수 있다.
한편, 상기 LDPC 부호를 통신 시스템에서 효율적으로 사용하기 위해서는 한 개의 패리티 검사 행렬을 사용하여 다양한 길이의 입력 정보 데이터 비트 사용을 지원하기 위해 효율적인 단축(shortening, 이하 'shortening'라 칭하기로 한다) 방식을 사용해야만 한다. 여기서, 상기 shortening 방식은 패리티 검사 행렬의 행(row)의 개수는 고정시키고, 정보어(information)에 매핑되는 열(column)의 개수를 감소시켜가면서 부호화율(coding rate)을 감소시키는 방식으로서, 다양한 부호어 (codeword) 길이에 대해 다양한 부호화율들을 획득하고자 할 경우 유용하게 사용되는 방식이다. 일 예로, 동일한 LDPC 부호의 패리티 검사 행렬을 사용하면서 다양한 길이의 입력 정보 데이터를 사용하는 시스템 뿐만 아니라 다양한 부호화율들을 사용하는 적응적 변조 및 부호화(AMC: Adaptive Modulation and Coding, 이하 'AMC'라 칭하기로 한다) 방식을 사용하는 시스템과 다양한 부호화율들을 사용하는 하이브리드 자동 반복 요구(H-ARQ: Hybrid Automatic Repeat reQuest, 이하 'H-ARQ'라 칭하기로 한다) 시스템에서 효율적인 shortening 방식을 사용해야만 한다.
그러면 여기서 도 5를 참조하여 상기 shortening 방식에 대해서 설명하기로 한다.
상기 도 5는 일반적인 통신 시스템에서 shortening 방식을 개략적으로 도시한 도면이다.
상기 도 5를 참조하면, 참조부호 500은 입력 정보 데이터를 나타내며, 상기 입력 정보 데이터의 길이는 가변적이다. 일 예로, 비교적 짧은 길이의 패킷 데이터(packet data)를 송신하고자 할 경우에는 상기 입력 정보 데이터의 길이가 수 비트(bit) 정도지만 비교적 긴 길이의 패킷 데이터를 송신하고자할 경우에는 상기 입력 정보 데이터의 길이가 수천 비트 이상이 될 수도 있다. 상기 입력 정보 데이터를 정해진 입력 정보어 길이를 사용하는 LDPC 부호로 생성하기 위해서는 상기 입력 정보 데이터를 적정한 길이로 세그멘테이션(segmentation)해야만 한다. 즉, 상기 LDPC 부호의 경우 LDPC 부호의 입력 정보어 길이는 K, 출력 부호어의 길이는 N으로 고정되어 있으므로, 비교적 긴 길이의 패킷 데이터를 송신하기 위해서는 상기 LDPC 부호의 입력 정보어 길이 K와 같거나 혹은 더 작은 길이인 K1 만큼씩 세그멘테이션하여 상기 LDPC 부호로 생성해야만 한다.
그러므로, 통신 시스템에서 현재 사용하고 있는 LDPC 부호의 입력 정보어 길이보다 작은 길이 K1을 입력 정보 데이터로 사용하기 위하여서는 상기 shortening 방식을 사용해야만 한다. 일 예로, 입력 정보 데이터의 길이 K1이 2000 비트(K1 = 2000)이고, 상기 현재 사용하고 있는 LDPC 부호의 입력 정보어 길이 K가 512비트(K=512)이고, 출력 부호어 길이 N이 1024비트(N=1024)라고 가정하면, 상기 입력 정보 데이터를 500 비트씩 세그멘테이션한다. 그리고, 상기 현재 사용하고 있는 LDPC 부호에 상기 shortening 방식을 사용하여 (N,K1)=(1012, 500) 부호를 생성한다(502). 그리고, 상기 생성한 (N,K1)=(1012, 500) 부호들을 순차적으로 송신하게 되는 것이다(504).
상기 도 5에서도 설명한 바와 같이 주어진 LDPC 부호의 패리티 검사 행렬을 사용하여 다양한 길이를 가지는 입력 정보 데이터를 송신하기 위해서는 상기 shortening 방식을 사용해야만 한다. 이 경우, shortening해야할 비트들의 개수도 다양해지므로 다양한 개수의 비트들을 제거할 경우 우수한 성능을 보장할 수 있는 shortening 방식에 대한 필요성이 대두되고 있다.
따라서, 본 발명의 목적은 통신 시스템에서 가변 부호화율을 지원하는 준순환 LDPC 부호를 사용하여 신호를 송수신하는 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 통신 시스템에서 부호화 복잡도가 최소화된, 가변 부호화율을 지원하는 준순환 LDPC 부호를 사용하여 신호를 송수신하는 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 통신 시스템에서 다양한 길이의 입력 정보 데이터가 사용 가능한 shortening 방식을 사용하는 준순환 LDPC 부호를 사용하여 신호를 송수신하는 장치 및 방법을 제공함에 있다.
상기한 목적들을 달성하기 위한 본 발명의 장치는; 가변 부호화율을 지원하는 준순환(Quasi-Cyclic)-저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호를 사용하는 신호 송신 장치에 있어서, 정보 데이터가 입력되면, 상기 정보 데이터를 QC-LDPC 부호로 생성시 적용할 제1부호화율에 상응하게 상기 정보 데이터에 삽입할 0의 개수를 결정하고, 상기 QC-LDPC 부호에서 삭제할 0의 개수를 결정하는 제어기와, 상기 정보 데이터가 입력되면 상기 제어기의 제어에 따라 상기 정보 데이터에 0을 삽입하는 0 삽입기와, 상기 0 삽입된 신호를 미리 설정되어 있는 제1패리티 검사 행렬에 상응하게 부호화하여 상기 QC-LDPC 부호로 생성하는 QC-LDPC 부호화기와, 상기 QC-LDPC 부호에서 상기 삽입한 0을 제거하는 0 제거기를 포함함을 특징으로 한다.
상기한 목적들을 달성하기 위한 본 발명의 방법은; 가변 부호화율을 지원하는 준순환(Quasi-Cyclic)-저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호를 사용하는 신호 송신 방법에 있어서, 정보 데이터를 입력받는 과정과, 상기 정보 데이터를 QC-LDPC 부호로 생성시 적용할 제1부호화율에 상응하게 상기 정보 데 이터에 0을 삽입하는 과정과, 상기 0 삽입된 신호를 미리 설정되어 있는 제1패리티 검사 행렬에 상응하게 부호화하여 상기 QC-LDPC 부호로 생성하는 과정과, 상기 QC-LDPC 부호에서 상기 삽입한 0을 제거하는 과정을 포함함을 특징으로 한다.
이하, 본 발명에 따른 바람직한 동작 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것에 유의하여야 한다.
본 발명은 가변 부호화율(coding rate)을 지원하는 준순환(Quasi-cyclic) 저밀도 패리티 검사(LDPC: Low Density Parity Check, 이하 'LDPC'라 칭하기로 한다)(이하, 'QC-LDPC'라 칭하기로 한다) 부호를 사용하여 신호를 송수신하는 장치 및 방법을 제안한다. 즉, 본 발명은 QC-LDPC 부호의 팩터(factor, 이하 'factor'라 칭하기로 한다) 그래프상의 최소 사이클(cycle)의 길이가 최대가 되고, 상기 QC-LDPC 부호의 부호화를 위한 복잡도가 최소가 되고, 상기 QC-LDPC 부호의 factor 그래프상의 차수 분포가 최적 1의 분포를 가지면서도 다양한 부호화율을 지원하는 QC-LDPC 부호를 사용하여 신호를 송수신하는 장치 및 방법을 제안한다.
특히, 본 발명은 다양한 길이의 입력 정보 데이터를 단축(shortening, 이하 'shortening'라 칭하기로 한다) 방식을 사용하여 한 개의 QC-LDPC 부호의 패리티 검사 행렬(parity check matrix)만을 사용하여 가변 부호화율을 지원하도록 하는 신호 송수신 장치 및 방법을 제안한다. 또한, 본 발명에서 별도로 도시하여 설명하지는 않지만 본 발명의 종래 기술 부분의 도 1에서 설명한 바와 같은 송수신기 구성에 본 발명의 가변 부호화율을 지원하는 QC-LDPC 부호를 적용할 수 있음은 물론이다. 이하, 설명의 편의상 상기 가변 부호화율을 지원하는 QC-LDPC 부호를 '가변 부호화율 QC-LDPC 부호'라 칭하기로 한다.
차세대 통신 시스템은 패킷 서비스 통신 시스템(packet service communication system) 형태로 발전되어 왔으며, 패킷 서비스 통신 시스템은 버스트(burst)한 패킷 데이터(packet data)를 다수의 이동국(MS: Mobile Station)들로 전송하는 시스템으로서, 대용량 데이터 전송에 적합하도록 설계되어 왔다. 특히, 상기 데이터 전송량을 증가시키기 위해 하이브리드 자동 반복 요구(H-ARQ: Hybrid Automatic Repeat reQuest, 이하 'H-ARQ'라 칭하기로 한다) 방식과 적응적 변조 및 부호화(AMC: Adaptive Modulation and Coding, 이하 'AMC'라 칭하기로 한다) 방식 등과 같은 다양한 방식들이 제안되어 있으며, 상기 H-ARQ 방식 및 AMC 방식 등에서는 가변 부호화율을 지원하므로 다양한 부호화율들을 지원하는 QC-LDPC 부호에 대한 필요성이 부각되고 있다.
상기와 같이 다양한 부호화율들을 지원하는 QC-LDPC 부호, 즉 가변 부호화율 QC-LDPC 부호의 설계는 일반적인 LDPC 부호와 마찬가지로 패리티 검사 행렬의 설계를 통해 구현된다. 그런데, 통신 시스템에서 1개의 코덱(CODEC)으로 가변 부호화율 QC-LDPC 부호를 제공하기 위해서는 1개의 패리티 검사 행렬 내에 다수개의 부호화율화들을 지원하는 QC-LDPC 부호를 나타낼 수 있는 패리티 검사 행렬들이 포함되는 형태를 가져야만 한다. 즉, 1개의 패리티 검사 행렬을 사용하여 2개 이상의 부호화율들을 지원할 수 있어야만 하는 것이다. 상기와 같이 1개의 패리티 검사 행렬을 사용하여 2개 이상의 부호화율들을 지원하도록 하는 대표적인 방식이 상기 shortening 방식이며, 상기 shortening 방식에 대해서 다시 한번 설명하면 다음과 같다.
상기 shortening 방식은 패리티 검사 행렬의 행(row)의 개수는 고정시키고, 정보어(information)에 매핑되는 열(column)의 개수를 감소시켜가면서 부호화율을 감소시키는 방식으로서, 다양한 부호어(codeword) 길이에 대해 다양한 부호화율들을 획득하고자 할 경우 유용하게 사용되는 방식이다. 그러면 여기서 도 6을 참조하여 본 발명의 실시예에 따른 shortening 방식을 사용하여 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성하는 과정에 대해서 설명하기로 한다.
상기 도 6은 본 발명의 실시예에 따른 shortening 방식을 사용하여 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성하는 과정을 개략적으로 도시한 도면이다.
상기 도 6을 참조하면,
Figure 112005054239350-PAT00012
는 부호화율
Figure 112005054239350-PAT00013
와, 부호어 길이
Figure 112005054239350-PAT00014
와, 정보어 길이
Figure 112005054239350-PAT00015
를 갖는 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 나타내며, i<j이면
Figure 112005054239350-PAT00016
,
Figure 112005054239350-PAT00017
의 관계를 가진다.
Figure 112005054239350-PAT00018
의 패리티 검사 행렬에 상응하는 QC-LDPC 부호(이하 '(
Figure 112005054239350-PAT00019
)- QC-LDPC 부호'라 칭하기로 한다)로부터
Figure 112005054239350-PAT00020
의 패리티 검사 행렬에 상응하는 QC-LDPC 부호(이하 '(
Figure 112005054239350-PAT00021
)- QC-LDPC 부호'라 칭하기로 한다)로 변경되는 과정은 (
Figure 112005054239350-PAT00022
)- QC-LDPC 부호의 처음
Figure 112005054239350-PAT00023
개의 정보어 비트(information bits)들이 모두 0으로 고정되어 있다고 가정하면 쉽게 유추할 수 있다. 또한, 상기 (
Figure 112005054239350-PAT00024
)- QC-LDPC 부호이외의 (
Figure 112005054239350-PAT00025
)- QC-LDPC 부호 역시 상기 (
Figure 112005054239350-PAT00026
)- QC-LDPC 부호의
Figure 112005054239350-PAT00027
개의 정보어 비트들을 0으로 고정시킴으로써 쉽게 생성할 수 있다.
따라서, 상기 도 6에서 설명한 바와 같이 상기 shortening 방식을 사용하여 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성하는 동작에서 해당 QC-LDPC 부호의 부호화율은 하기 수학식 2와 같이 나타낼 수 있다.
Figure 112005054239350-PAT00028
한편, i<j인 경우 상기 수학식 2는 하기 수학식 3과 같이 나타낼 수 있다.
Figure 112005054239350-PAT00029
상기 수학식 3에 나타낸 바와 같이, 상기 shortening 방식을 사용하여 패리티 검사 행렬을 생성할 경우 부호화율이 감소됨을 알 수 있다.
또한, 상기 도 6에서 상기 패리티 검사 행렬
Figure 112005054239350-PAT00030
이 최대 랭크(full rank)를 갖는다고 가정하면, 상기 shortening 방식을 사용하여 패리티 검사 행렬을 생성한다고 하더라도 상기 shortening 방식을 사용하여 생성된 패리티 검사 행렬의 행의 개수는 일정하게 유지되므로 정보어 길이는 짧아지는 반면에 패리티 길이는 그대로 유지되어 부호화율이 감소함을 알 수 있다. 또한 일반적으로 미리 설정되어 있는 패리티 검사 행렬에서 패리티에 상응하는 열을 제거할 경우, 상기 패리티에 상응하는 열을 제거하지 않을 경우에 생성되는 부호어 집합과는 전혀 상이한 부호어 집합이 생성되므로 상기 shortening 방식은 정보어에 해당하는 열을 제거하는 것을 기본 원칙으로 한다.
상기 도 6에서는 본 발명의 실시예에 따른 shortening 방식을 사용하여 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성하는 과정에 대해서 설명하였으며, 다음으로 도 7을 참조하여 본 발명의 실시예에 따른 shortening 방식을 사용하여 생성한 가변 부호화율 QC-LDPC 부호를 사용하여 신호를 송신하는 송신기 구조에 대해서 설명하기로 한다.
상기 도 7은 본 발명의 실시예에 따른 shortening 방식을 사용하여 생성한 가변 부호화율 QC-LDPC 부호를 사용하여 신호를 송신하는 송신기 구조를 개략적으로 도시한 도면이다.
상기 도 7을 참조하면, 상기 송신기는 0 삽입기(711)와, LDPC 부호화기(713)와, 0 제거기(715)와, 변조기(modulator)(717)와, 무선 주파수(RF: Radio Frequency, 이하 'RF'라 칭하기로 한다) 처리기(719)와, 제어기(721)를 포함한다.
먼저, 입력 정보 데이터가 상기 송신기로 입력되기 이전에 해당 부호화율 및 상기 입력 정보 데이터의 길이 정보가 상기 제어기(721)로 전달된다. 그러면, 상기 제어기(721)는 상기 부호화율에 상응하게 상기 LDPC 부호화기(713)에서 사용하는 LDPC 부호의 입력 정보어 길이에 따라 상기 입력 정보 데이터에서 제거할 비트수를 결정하고, 상기 제거할 비트수에 상응하게 상기 0 삽입기(711)로 삽입해야하는 0의 개수를 출력하고, 또한 상기 0 제거기(715)로 상기 0 삽입기(711)에서 삽입한 0의 개수를 출력하여 상기 0 제거기(715)에서 제거해야하는 0의 개수를 통보한다. 이후, 상기 입력 정보 데이터는 상기 0 삽입기(711)로 입력된다.
상기 0 삽입기(711)는 상기 입력 정보 데이터에 상기 제어기(721)에서 출력한 0의 개수에 상응하게 0을 삽입하고, 상기 0을 삽입한 비트 스트림(bit stream)을 상기 LDPC 부호화기(713)로 출력한다. 일 예로, (N,K)=(1024,512)인 LDPC 부호를 사용하는 통신 시스템에서 입력 정보 데이터의 길이가 500이라고 가정하면, 상기 0 삽입기(711)는 상기 입력 정보 데이터에 길이 12의 0을 삽입한다. 상기 LDPC 부호화기(713)는 상기 0 삽입기(711)에서 출력한 신호를 입력한 후 부호화하여 LDPC 부호어로 생성하고, 상기 생성한 LDPC 부호어를 상기 0 제거기(715)로 출력한다. 여기서, 상기 LDPC 부호화기(713)의 부호화 방식은 다양한 방식들이 존재할 수 있으며, 상기 부호화 방식은 본 발명과 직접적인 연관이 없으므로 여기서는 그 상세한 설명을 생략하기로 한다.
상기 0 제거기(715)는 상기 LDPC 부호화기(713)에서 출력한 LDPC 부호어를 입력하여 상기 제어기(721)의 제어에 따라 상기 0 삽입기(711)에서 삽입한 0 비트들을 제거한 후 상기 변조기(717)로 출력한다. 즉, 상기 입력 정보 데이터가 아닌 부분들, 즉 상기 삽입된 0 비트들은 수신기측으로 송신할 필요가 없기 때문에 상기 0 비트들이 상기 LDPC 부호어에서 제거해야만 하는 것이다.
상기 변조기(717)는 상기 0 제거기(715)에서 출력한 신호를 입력하여 미리 설정되어 있는 변조 방식으로 변조한 후 상기 RF 처리기(719)로 출력한다. 상기 RF 처리기(719)는 상기 변조기(717)에서 출력한 신호를 입력하여 RF 처리한 후 안테나를 통해 수신기측으로 송신한다. 상기 도 7에서 설명한 바와 같은 방식으로 입력 정보 데이터를 송신할 경우 상기 0 비트가 삽입된 위치에 해당하는 패리티 검사 행렬의 열은 제거되는 것과 동일한 효과를 가진다.
한편, 상기 shortening 방식을 사용하여 생성한 패리티 검사 행렬은 최초로 주어진 패리티 검사 행렬과 전혀 다른 부호화율과 차수 분포를 갖게 되므로 상기 shortening 방식을 사용하여 생성되는 패리티 검사 행렬의 차수 분포를 고려하여 상기 최초로 주어진 패리티 검사 행렬에서 제거할 열을 선택해야만 한다. 이를 위해서는 상기 shortening 방식을 사용하기 전 최초로 주어진 패리티 검사 행렬, 즉 모 패리티 검사 행렬(parent parity check matrix)과 상기 shortening 방식을 사용한 후의 패리티 검사 행렬, 즉 자 패리티 검사 행렬(children parity check matrix)이 모두 최적화된 차수 분포를 가질 수 있도록 상기 제거할 열을 선택해야만 한다. 따라서, 상기 모 패리티 검사 행렬 및 자 패리티 검사 행렬 모두가 최적화된 차수 분포를 가질 수 있도록 패리티 검사 행렬을 구성하는 것이 굉장히 중요하게 된다.
일반적으로 유한 길이를 가정할 경우, 우수한 성능을 보이는 높은 부호화율의 QC-LDPC 부호가 우수한 성능을 보이는 낮은 부호화율의 QC-LDPC 부호 보다 검사 노드의 평균 차수가 크다. 따라서, 상기 shortening 방식을 사용하여 낮은 부호화율의 QC-LDPC 부호를 생성하고자 할 경우에는 상기 shortening 방식을 사용한 이후에 검사 노드의 평균 차수가 감소되는 구조를 가져야만 한다. 뿐만 아니라, 상기 shortening 방식을 사용하면 차수 분포가 변하게 되므로, 밀도 진화(density evolution) 분석 방식을 사용하여 잡음 임계치가 좋은 다양한 부호화율들을 지원하는 QC-LDPC 부호를 설계하기 위해서는 모 패리티 검사 행렬의 차수 분포와 상기 shortening 방식을 사용하여 생성된 자 패리티 검사 행렬의 차수 분포를 동시에 고려해야만 한다.
한편, 상기 QC-LDPC 부호의 패리티 검사 행렬은 각 블록 열 내의 모든 열들은 모두 동일한 차수 분포를 가진다. 그러므로 QC-LDPC 부호에서 shortening 방식을 사용하기 위하여 패리티 검사 행렬의 제거할 열을 선택할 때 블록 단위로 선택하는 것이 가능하다.
이하에서는 상기 QC-LDPC 부호에서 다양한 길이의 입력 정보 데이터에 대하여 shortening 방식을 사용할 경우 상기 입력 정보 데이터의 각 길이에서 우수한 성능을 보장할 수 있도록 모 패리티 검사 행렬의 열을 shortening하는 방식에 대해서 설명하기로 한다.
먼저, 상기 모 패리티 검사 행렬의 블록 열의 개수를 NB, 블록 행의 개수를 KB, 사용하는 열의 차수를 d1, d2, ... ,dvmax라 가정하기로 한다. 여기서 vmax는 사용하는 변수 노드(variable node) 차수의 개수를 나타낸다.
<제1단계>
모 패리티 검사 행렬에서 사용한 열 블록의 차수를 사용하면서 1개의 블록 열을 제거한 후 최적의 차수 분포를 구한다. 즉, 블록 열의 개수가 NB-1, d1, d2, ... ,dvmax의 차수를 사용할 경우의 최적의 차수 분포를 검출한다.
<제2단계>
제1단계에서 검출한 차수 분포에 의하여 모 패리티 검사 행렬에서 어떤 차수를 갖는 블록 열을 제거해야 할지 결정한다.
<제3단계>
제2단계에서 결정한 차수를 갖는 블록 열들중에 해당 블록열을 제거한 후 최대 사이클을 가지도록 하는 블록 열을 선택한다. 즉, 동일한 차수를 갖는 블록 열들의 개수가 2개 이상일 경우에는 해당 블록 열을 제거한 후 짧은 사이클에 속하는 열이 최소가 될 수 있는 블록 열을 선택한다. 이렇게, 동일한 차수를 갖는 블록 열들중에 해당 블록열을 제거한 후 최대 사이클을 가지도록 하는 블록 열을 선택하는 이유는 상기에서 설명한 바와 같이 일반적으로 LDPC 부호는 패리티 검사 행렬에서 짧은 사이클이 존재하지 않을 때 우수한 성능이 보장되기 때문이다.
<제4단계>
제3단계에서 짧은 사이클에 속하는 열의 개수가 동일한 블록 열들이 2개 이상 존재할 경우 해당 블록열을 제거한 후 검사 노드(check node)의 분포가 고르게 되는 블록 열을 선택한다. 이렇게, 짧은 사이클에 속하는 열의 개수가 동일한 블록 열들이 2개 이상 존재할 경우 해당 블록열을 제거한 후 검사 노드의 분포가 고르게 되는 블록열을 선택하는 이유는 일반적으로 LDPC 부호는 패리티 검사 행렬의 검사 노드의 분포가 고르게 될 때 성능이 우수하기 때문이다.
<제5단계>
제3단계에서 짧은 사이클에 속하는 열의 개수가 동일한 블록 열들이 2개 이상 존재할 경우 해당 블록열을 제거한 후 패리티 검사 행렬의 임계치를 구하여 임계치가 최대로 되는 블록열을 선택한다. 이는 상기 제1단계에서 검출한 차수 분포는 모 패리티 검사 행렬에서 사용하는 변수 노드의 차수 분포만을 고려했으나 좀 더 정밀하게 최적의 차수 분포를 구하기 위하여 검사 노드의 차수까지 고려하여 임계치를 구한 후, 최대 임계치를 갖는 차수 분포를 선택하는 것이다.
<제6단계>
모 패리티 검사 행렬에서 shortening해야할 블록들의 개수만큼 제1단계 내지 제5단계를 반복 수행한다. 그리고, 상기 모 패리티 검사 행렬에서 shortening해야할 블록들의 개수만큼 제1단계 내지 제5단계를 반복 수행하여 최종적으로 선택한 블록열들을 상기 모 패리티 검사 행렬에서 순서대로 배치하고, shortening시 순차적으로 shortening되도록 한다.
다음으로 도 8을 참조하여 본 발명의 실시예에 따른 부호화율 1/2인 패리티 검사 행렬에 대해서 설명하기로 한다.
상기 도 8은 본 발명의 실시예에 따른 부호화율 1/2인 패리티 검사 행렬을 도시한 도면이다.
상기 도 8을 참조하면, 상기 패리티 검사 행렬은 블록 열들의 개수 NB가 24개이고, 블록 행들의 개수 KB가 12이며, 블록 사이즈는 72이며, 출력 부호어의 길이 N은 1728이다. 이 경우 1비트에서 432비트까지 shortening하기 위해 제거할 총 6개의 블록열들을 선택해야만 한다. 여기서, 상기 패리티 검사 행렬의 블록열들의 집합을 {C0,C1,C2, .... , C23}이라고 표현하기로 한다.
첫 번째로, 1비트에서 72비트까지 shortening하기 위해 제거할 블록열을 선택하기 위하여 블록 열의 차수가 2, 3, 8을 사용하고, 블록 열의 개수가 23이고 블록 행의 개수가 12일 경우 최적의 차수 분포를 검출한다. 이렇게, 최적의 차수 분포를 검출한 결과 차수가 8인 블록 열을 제거하기로 선택한다. 차수가 8인 블록 열들중에서 해당 블록 열을 제거했을 때 사이클이 최대가 되도록 하는 블록 열을 선택한다. 상기 차수가 8인 블록 열들중에서 해당 블록 열을 제거했을 때 사이클이 최대가 되도록 하는 블록 열이 C6이라고 가정하기로 하면, 상기 블록 열 C6이 1비트에서 72비트까지 shortening하기 위해 제거할 최종 블록열로 선택되는 것이다.
두 번째로, 73비트부터 144비트까지 shortening하기 위해 제거할 블록열을 선택하기 위하여 블록 열의 차수가 2, 3, 8을 사용하고, 블록 열의 개수가 22이고 블록 행의 개수가 12일 경우 최적인 차수 분포를 검출한다. 이렇게, 최적의 차수 분포를 검출한 결과 차수가 8인 블록 열을 제거하기로 선택한다. 이렇게, 최적의 차수 분포를 검출한 결과 차수가 3인 블록 열을 제거하기로 선택한다. 상기 차수가 3인 블록 열들중에서 해당 블록 열을 제거했을 때 사이클이 최대가 되도록 하는 블 록 열이 C2라고 가정하기로 하면, 상기 블록 열 C2가 73비트부터 144비트까지 shortening하기 위해 제거할 최종 블록열로 선택되는 것이다.
상기 1비트에서 72비트까지 shortening하기 위해 제거할 블록열을 선택하는 동작과, 73비트부터 144비트까지 shortening하기 위해 제거할 블록열을 선택하는 동작과 마찬가지의 동작을 반복 수행하여 145비트에서 432비트까지 shortening하기 위해 제거할 블록열들도 선택하며, 그 결과 블록 열 C1이 145비트부터 216비트까지 shortening하기 위해 제거할 최종 블록열로 선택하고, 블록열 C10이 217비트부터 288비트까지 shortening하기 위해 제거할 최종 블록열로 선택하고, 블록열 C4가 289비트부터 360비트까지 shortening하기 위해 제거할 최종 블록열로 선택하고, 블록열 C3이 361비트부터 432비트까지 shortening하기 위해 제거할 최종 블록열로 선택한다.
이렇게, 1비트에서 432비트까지 shortening하기 위해 제거할 총 6개의 블록열들을 선택한 후, 상기 패리티 검사 행렬에서 {C0,C1,C2, .... , C23}의 순서대로 배열되어 있는 블록열들을 {C6,C2,C1,C10,C4,C3,C0,C5,C7,C8,C9,C10, .... , C23}의 순서대로 재배열한다. 즉, 상기 패리티 검사 행렬의 블록열들을 원래의 {C0,C1,C2, .... , C23}의 순서에서 상기 선택한 총 6개의 블록열들을 상기 패리티 검사 행렬의 첫 번째 블록열부터 순차적으로 배열되도록 하여 {C6,C2,C1,C10,C4,C3,C0,C5,C7,C8,C9,C10, .... , C23}의 순서대로 재배열하는 것이다.
물론 이와는 달리, shortening시 shortening할 비트 순서를 입력 정보 데이터에서 마지막 비트부터 설정한다면 선택된 블록열을 원래의 {C0,C1,C2, .... , C23}의 순서에서 상기 선택한 총 6개의 블록열들을 상기 패리티 검사 행렬의 마지막 블록열부터 순차적으로 배열되도록 하여 {C0,C5,C7,C8,C9,C10, .... ,C23,C3,C4,C10,C1,C2,C6}의 순서대로 재배열한다.
또한, 상기 도 9에서 각 블록 내의 숫자들은 해당 블록에 대응되는 순열 행렬들의 지수들을 나타낸다.
이렇게, 도 8의 패리티 검사 행렬의 블록열들이 {C6,C2,C1,C10,C4,C3,C0,C5,C7,C8,C9,C10, .... , C23}로 재배열된 패리티 검사 행렬이 도 9에 도시되어 있다.
상기 도 9는 도 8의 패리티 검사 행렬의 블록열들이 재배열된 패리티 검사 행렬을 도시한 도면이다.
상기 도 9에 도시되어 있는 바와 같이 상기 도 8의 원래의 {C0,C1,C2, .... , C23}의 순서를 가지는 블록열들로 구성된 패리티 검사 행렬이 상기 선택된 총 6개의 블록열들이 첫 번째 블록열부터 순차적으로 배열되어 {C6,C2,C1,C10,C4,C3,C0,C5,C7,C8,C9,C10, .... , C23}의 순서를 가지는 블록열들로 구성된 새로운 패리티 검사 행렬로 생성된다.
이렇게, 도 8의 패리티 검사 행렬의 블록열들을 {C6,C2,C1,C10,C4,C3,C0,C5,C7,C8,C9,C10, .... , C23}로 재배열하여 새로운 패리티 검사 행렬을 생성한 후 shortening시 첫 번째 블록열부터 순차적으로 shortening시킨다. 일 예로, 입력 정보 데이터 864비트 중에 100비트를 shortening시키고자 하면 입력 정보 데이터를
Figure 112005054239350-PAT00031
으로 설정하면 된다. 여기서, 상기 입력 정보 데이터가
Figure 112005054239350-PAT00032
으로 설정되는 이유는 shortening시킬 비트수만큼 0이 삽입되기 때문이다. 또한, 상기 도 9에서 각 블록 내의 숫자들은 해당 블록에 대응되는 순열 행렬들의 지수들을 나타낸다.
다음으로 도 10을 참조하여 본 발명의 제1실시예에 따른 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성하는 과정에 대해서 설명하기로 한다.
상기 도 10은 본 발명의 제1실시예에 따른 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성하는 과정을 도시한 순서도이다.
상기 도 10을 참조하면, 먼저 통신 시스템의 제어기(도시하지 않음)는 1011단계에서 모 패리티 검사 행렬의 블록 열의 개수를 나타내는 변수 NB를 정의하고 1013단계로 진행한다. 상기 1013단계에서 상기 제어기는 상기 변수 NB 값에 상기 변수 NB 값에서 1을 감산한 값, 즉 NB - 1을 대입하고 1015단계로 진행한다. 여기서, 상기 변수 NB 값에 NB - 1을 대입하는 이유는 상기 모 패리티 검사 행렬에서 제거할 블록열을 선택하기 위해 상기 모 패리티 검사 행렬의 블록 열 개수에서 1을 감산한 개수의 블록 열들을 나타내기 위해서이다.
상기 1015단계에서 상기 제어기는 상기 NB개의 블록 열들을 사용하고, 모 패리티 검사 행렬에서 사용하는 차수를 사용하는 패리티 검사 행렬의 최적의 차수 분포를 검출하고 1017단계로 진행한다. 여기서, 상기 NB개의 블록 열들을 사용하고, 모 패리티 검사 행렬에서 사용하는 차수를 사용하는 패리티 검사 행렬의 최적의 차수 분포는 밀도 진화 방식을 사용하여 검출한다. 상기 1017단계에서 상기 제어기는 상기 밀도 진화 방식을 사용하여 검출한 최적의 차수 분포를 사용하여 상기 모 패리티 검사 행렬에서 제거할 열의 차수를 결정하고 1019단계로 진행한다.
상기 1019단계에서 상기 제어기는 상기 결정한 차수를 갖는 블록열들중 제거시 사이클 분포가 최대가 되는 블록열을 선택하고 1021단계로 진행한다. 여기서, 만약 상기 결정한 차수를 갖는 블록열이 1개일 경우에는 그 블록열을 선택함은 물론이다. 즉, 상기 제어기는 상기 결정한 차수를 갖는 블록열들중에서 해당 블록열을 제거했을 경우 최소 사이클에 속하는 변수 노드의 개수가 최소가 되는 블록열을 선택하고, 그 선택한 블록열이 제거되도록 하는 것이다. 그 이유는 동일한 차수를 갖는 블록열들이라고 하더라도 그 배치 방법에 따라 해당 블록열을 제거했을 경우 사이클 분포가 상이할 수 있으며, LDPC 부호의 경우 일반적으로 최소 사이클에 속하는 변수 노드의 개수가 최소가 될 때 우수한 성능을 보장할 수 있기 때문이다.
상기 1021단계에서 상기 제어기는 상기 선택한 블록열들이 다수개 존재하는 지, 즉 상기 결정한 차수를 가지는 블록열들중 제거시 사이클 분포가 최대가 되는 블록열들이 다수개 존재하는지 검사한다. 상기 검사 결과 상기 선택한 블록열들의 개수가 다수개가 아닐 경우 상기 제어기는 1027단계로 진행한다. 만약 상기 검사 결과 상기 선택한 블록열들의 개수가 다수개일 경우 상기 제어기는 1023단계로 진행한다. 상기 1023단계에서 상기 제어기는 해당 블록열이 제거되었을 경우의 패리티 검사 행렬의 검사 노드의 분포까지 고려하여 임계치를 검출하고 1025단계로 진행한다. 여기서, 상기 임계치 검출 역시 상기 밀도 진화 방식을 사용하여 수행할 수 있다.
상기 1025단계에서 상기 제어기는 상기 다수개의 선택한 블록열들중에서 상기 검출한 임계치가 최대가되는 블록열을 선택하고 1027단계로 진행한다. 상기 1027단계에서 상기 선택한 블록열을 상기 모 패리티 검사 행렬의 최초 블록열부터 순차적으로 배치한 후 1029단계로 진행한다. 상기 1029단계에서 상기 제어기는 상기 모 패리티 검사 행렬의 블록 열의 개수 NB가 자 패리티 검사 행렬의 블록 열들의 개수 NSRT 미만인지 검사한다. 여기서, 상기 NS는 입력 정보 데이터를 shortening하였을 경우에 해당하는 자 패리티 검사 행렬의 블록열의 개수가 되는 것이다. 상기 검사 결과 상기 NB가 NSRT 미만일 경우 상기 제어기는 상기 1013단계로 되돌아간다. 만약, 검사 결과 상기 NB가 NSRT 이상일 경우 상기 제어기는 1031단계로 진행한다. 상기 1031단계에서 상기 제어기는 선택하지 않은 블록 열들을 상기 새로운 패리티 검사 행렬에 배치시키고 종료한다. 여기서, 상기 선택하지 않은 블록열들은 상기 선택한 블록열들 이후의 위치에 배치되는 것이다.
상기 도 10에서 설명한 바와 같이 본 발명의 제1실시예에서는 미리 주어진 패리티 검사 행렬을 사용하여 입력 정보 데이터에서 다양한 길이를 shortening할 경우에도 우수한 성능을 보장할 수 있는 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성한다.
이와는 달리 본 발명의 제2실시예에서는 미리 주어진 패리티 검사 행렬을 사용하는 것이 아니라, 입력 정보 데이터에서 다양한 길이를 shortening할 경우에도 우수한 성능을 보장할 수 있는 새로운 패리티 검사 행렬을 생성하여 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬로 생성한다. 본 발명의 제2실시예에서는 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성할 때 상기 shortening을 미리 고려한다. 즉, 본 발명의 제2실시예에서는 상기 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬의 각 블록열마다 차수의 분포를 고려한다. 상기에서도 설명한 바와 같이 다양한 길이를 shortening할 수 있는 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 설계함에 있어서 가장 중요한 요소는 미리 주어진 패리티 검사 행렬뿐만 아니라 shortening된 이후의 패리티 검사 행렬 모두가 좋은 임계치를 가지도록 설계되어야만 한다는 것이다.
만약, 사용하는 블록열들의 개수가
Figure 112005054239350-PAT00033
라고 가정할 때, 최소 길이의 블록 길이 N1에 대해서 패리티 검사 행렬을 설계한 후, 상기 설계한 패리티 검사 행렬을 기반으로 하여 상기 블록열 길이 N1을 초과하는 길이의 패리 티 검사 행렬을 설계한다.
<제1단계>
먼저 부호화율이 RS이고, 블록열의 개수가 Ns인 경우에 대해 밀도 진화 방식을 사용하여 차수 분포의 최적화를 수행한다. 상기 차수 분포의 최적화 수행 결과 검출된 차수 분포에서 전체 변수 노드들에 대한 차수가
Figure 112005054239350-PAT00034
인 변수 노드의 비율을 각각
Figure 112005054239350-PAT00035
라고 가정하기로 한다. 이 경우
Figure 112005054239350-PAT00036
과 에지(edge)의 차수 분포
Figure 112005054239350-PAT00037
는 하기 수학식 4와 같은 관계로 인해 상호간에 변형이 가능하다.
Figure 112005054239350-PAT00038
또한, 검사 노드 역시 변수 노드와 동일하게 처리 가능하다.
<제2단계>
임의의 l,
Figure 112005054239350-PAT00039
에 대해, 이전 단계에서 검출한 차수 분포로부터 전체 Nl개의 변수 노드들 중에서 차수가 j인 변수 노드가 각각
Figure 112005054239350-PAT00040
만큼 포함되어 있음을 제한 조건으로 추가하여 차수 분포의 최적화를 수행한다. 상기 변수 노드 뿐만 아니라 검사 노드 역시 동일하게 처리한다.
상기 제1단계 및 제2단계로 구성된 최적화 방식을 수행함으로써 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 설계할 수 있다. 즉, 설계된 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬은 입력 정보 데이터에 상응하게 shortening을 통해 패리티의 길이는 M으로 일정하면서도 전체 블록 길이가 Ni로 가변되는 LDPC 부호임을 알 수 있다.
한편, 상기 shortening 방식을 사용하여 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 설계할 경우 너무 많은 개수의 부호화율들을 지원하도록 하면 점점 검사 노드의 차수가 높아지면서 사이클 특성이 나빠지기 때문에 적정한 개수의 부호화율들과 획득하고자 하는 잡음 임계치 및 사이클 특성을 동시에 고려해야만 한다.
그러면 여기서 도 11을 참조하여 본 발명의 제2실시예에 따른 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성하는 과정에 대해서 설명하기로 한다.
상기 도 11은 본 발명의 제2실시예에 따른 가변 부호화율 QC-LDPC 부호의 패리티 검사 행렬을 생성하는 과정을 도시한 순서도이다.
상기 도 11을 설명하기에 참조하면, 먼저 통신 시스템의 제어기(도시하지 않음)는 1111단계에서 사용할 블록열들의 최대 개수를 나타내는 변수 NB를 정의하고 1113단계로 진행한다. 상기 1113단계에서 상기 제어기는 사용할 블록열들의 최소 개수를 나타내는 변수 NS를 정의하고 1115단계로 진행한다. 상기 1115단계에서 상기 제어기는 상기 NS개의 블록 열들을 사용하였을 경우의 최적의 차수 분포를 검출하고 1117단계로 진행한다. 여기서, 상기 NS개의 블록 열들을 사용하였을 경우의 최적의 차수 분포 밀도 진화 방식을 사용하여 검출한다. 상기 1117단계에서 상기 제어기는 변수 i를 정의하고, 상기 변수 i에 상기 변수 NS에 1을 가산한 값, 즉 NS+1을 대입시키고 1119단계로 진행한다. 여기서, 상기 변수 i는 1씩 증가시켜가면서 i개의 블록열들을 사용하는 패리티 검사 행렬을 나타내기 위하여 사용하는 변수이다.
상기 1119단계에서 상기 제어기는 i개의 블록 열들을 사용할 경우의 최적의 차수 분포를 검출하고 1121단계로 진행한다. 상기 1121단계에서 상기 제어기는 새롭게 추가해야할 블록 열의 차수를 결정하고 1123단계로 진행한다. 상기 1123단계에서 상기 제어기는 현재 사용한 블록열의 개수 i가 최대로 사용할 블록열의 개수 NB 미만인지 검사한다. 상기 검사 결과 현재 사용한 블록열의 개수 i가 최대로 사용할 블록열의 개수 NB 미만일 경우 상기 제어기는 1125단계로 진행한다. 상기 1125단계에서 상기 제어기는 상기 변수 i를 1 증가시킨 후(i++) 상기 1119단계로 되돌아간다. 한편, 상기 1123단계에서 검사 결과 현재 사용한 블록열의 개수 i가 최대로 사용할 블록열의 개수 NB 이상일 경우 상기 제어기는 1127단계로 진행한다. 상기 1127단계에서 상기 제어기는 상기 결정된 차수 분포에 상응하게 패리티 검사 행렬을 설계하고 종료한다.
한편, 상기 LDPC 부호 계열의 모든 부호들은 팩터(factor, 이하 'factor'라 칭하기로 한다) 그래프 상에서 합곱 알고리즘(sum-product algorithm)으로 복호가 가능하다. 상기 LDPC 부호의 복호 방식은 크게 양방향 전달 방식과 흐름 전달 방식으로 분류할 수 있다. 상기 양방향 전달 방식으로 복호 동작을 수행할 경우에는 검사 노드(check node) 당 노드 프로세서(processor)가 각각 존재하여 복호기의 복잡 도가 상기 검사 노드들의 개수에 비례하여 복잡해지지만, 모든 노드들이 동시에 업데이트되므로 복호 속도가 굉장히 빨라진다. 이와는 달리 상기 흐름 전달 방식은 한 개의 노드 프로세서가 존재하여 모든 factor 그래프 상의 노드를 지나가며 정보를 업데이트하게 된다. 따라서, 복호기의 복잡도는 간단해지지만 패리티 검사 행렬의 크기가 커질수록 즉, 노드들의 개수가 증가할수록 복호 속도가 느려지게 된다.
하지만 본 발명에서 제안하는 다양한 부호화율을 지원하는 가변 부호화율 QC-LDPC 부호와 같이 블록 단위로 패리티 검사 행렬을 생성하게 되면, 복호시 상기 패리티 검사 행렬을 구성하고 있는 블록들의 개수만큼의 노드 프로세서를 이용하므로 상기 양방향 전달 방식보다는 복호기 복잡도가 감소되며, 또한 상기 흐름 전달 방식보다는 복호 속도가 빠른 복호기를 구현할 수 있다.
다음으로 도 12를 참조하여 본 발명의 실시예에 따른 가변 부호화율 QC-LDPC 부호를 복호하는 복호 장치 내부 구조에 대해서 설명하기로 한다.
상기 도 12는 본 발명의 실시예에 따른 가변 부호화율 QC-LDPC 부호의 복호 장치 내부 구조를 도시한 도면이다.
상기 도 12를 참조하면, 상기 가변 부호화율 QC-LDPC 부호의 복호 장치는 블록 제어기(block controller)(1210)와, 변수 노드 파트(1200)와, 가산기(1215)와, 디인터리버(de-interleaver)(1217)와, 인터리버(interleaver)(1219)와, 제어기(1221)와, 메모리(1223)와, 가산기(1225)와, 검사 노드 파트(1250)와, 경판정기(1229)를 포함한다. 상기 변수 노드 파트(1200)는 변수 노드 복호기(1211)와, 스위치들(1213,1214)을 포함하고, 상기 검사 노드 파트(1250)는 검사 노드 복호기 (1227)를 포함한다.
먼저, 무선 채널을 통해 수신되는 수신 신호는 상기 블록 제어기(1210)로 입력된다. 상기 블록 제어기(1210)는 상기 수신 신호의 부호화율에 따라 미리 설정된 위치에 로그 우도(log likelihood) 값을 0 또는 무한대 값으로 삽입하여 전체 블록 크기를 조정한 후 상기 변수 노드 복호기(1211)로 출력한다.
상기 변수 노드 복호기(1211)는 상기 블록 제어기(1210)에서 출력한 신호를 입력하고, 상기 블록 제어기(1210)에서 출력한 신호의 확률값들을 계산하고, 상기 계산된 확률값들을 업데이트한 후 상기 스위치(1213) 및 상기 스위치(1214)로 출력한다. 여기서, 상기 변수 노드 복호기(1211)는 상기 가변 부호화율 QC-LDPC 부호의 복호 장치에 미리 설정되어 있는 패리티 검사 행렬에 상응하게 변수 노드들을 연결하며, 상기 변수 노드들에 연결된 1의 개수만큼의 입력값과 출력값을 갖는 업데이트 연산이 수행된다. 상기 변수 노드들 각각에 연결된 1의 개수는 상기 패리티 검사 행렬을 구성하는 열들 각각의 웨이트와 동일하다. 따라서, 상기 패리티 검사 행렬을 구성하는 열들 각각의 웨이트에 따라 상기 변수 노드 복호기(1211)의 내부 연산이 상이하게 된다. 상기 스위치(1214)는 상기 스위치(1213)가 스위칭 온될 경우만을 제외하고, 즉 상기 스위치(1213)가 스위칭 오프될 경우만을 제외하고 스위칭 온되어 상기 블록 제어기(1210)에서 출력하는 신호를 상기 가산기(1215)로 전달한다.
상기 가산기(1215)는 상기 변수 노드 복호기(1211)에서 출력한 신호와 이전 반복 복호(iteration decoding) 과정에서의 상기 인터리버(1219)의 출력 신호를 입 력하고, 상기 변수 노드 복호기(1211)에서 출력한 신호에서 이전 반복 복호 과정에서의 상기 인터리버(1219)의 출력 신호를 감산한 후 상기 디인터리버(1217)로 출력한다. 여기서, 상기 복호 과정이 최초의 복호 과정일 경우, 상기 인터리버(1219)의 출력 신호는 0이라고 간주해야함은 물론이다.
상기 디인터리버(1217)는 상기 가산기(1215)에서 출력한 신호를 입력하여 미리 설정되어 있는 설정 방식에 상응하게 디인터리빙(de-interleaving)한 후 상기 가산기(1225)와 검사 노드 복호기(1227)로 출력한다. 여기서, 상기 디인터리버(1217)의 내부 구조는 상기 패리티 검사 행렬에 상응하는 구조를 가지며, 그 이유는 상기 패리티 검사 행렬의 1의 값을 가지는 엘리먼트들의 위치에 따라 상기 디인터리버(1217)에 대응하는 인터리버(1219)의 입력값에 대한 출력값이 상이해지기 때문이다.
상기 가산기(1225)는 이전 반복 복호 과정에서의 상기 검사 노드 복호기(1227)의 출력 신호와 상기 디인터리버(1217)의 출력 신호를 입력하고, 상기 이전 반복 복호 과정에서의 상기 검사 노드 복호기(1227)의 출력 신호에서 상기 디인터리버(1217)의 출력 신호를 감산한 후 상기 인터리버(1219)로 출력한다. 상기 검사 노드 복호기(1227)는 상기 블록 LDPC 부호의 복호 장치에 미리 설정되어 있는 패리티 검사 행렬에 상응하게 검사 노드들을 연결하며, 상기 검사 노드들에 연결된 1의 개수만큼의 입력값과 출력값을 갖는 업데이트 연산이 수행된다. 상기 검사 노드들 각각에 연결된 1의 개수는 상기 패리티 검사 행렬을 구성하는 행들 각각의 웨이트와 동일하다. 따라서, 상기 패리티 검사 행렬을 구성하는 행들 각각의 웨이트에 따 라 상기 검사 노드 복호기(1227)의 내부 연산이 상이하게 된다.
여기서, 상기 인터리버(1219)는 상기 제어기(1221)의 제어에 따라 미리 설정되어 있는 설정 방식으로 상기 가산기(1225)에서 출력한 신호를 인터리빙한 후 상기 가산기(1215) 및 상기 변수 노드 복호기(1211)로 출력한다. 여기서, 상기 제어기(1221)는 상기 메모리(1223)에 저장되어 있는 인터리빙 방식에 관련된 정보를 읽어 상기 인터리버(1219)의 인터리빙 방식과 상기 디인터리버(1217)의 디인터리빙 방식을 제어하게 되는 것이다. 또한, 상기 복호 과정이 최초의 복호 과정일 경우에는 상기 디인터리버(1217)의 출력 신호는 0이라고 간주해야함은 물론이다.
상기와 같은 과정들을 반복적으로 수행함으로써 오류 없이 신뢰도 높은 복호를 수행하며, 미리 설정한 설정 반복 회수에 해당하는 반복 복호를 수행한 후에는 상기 스위치(1213)는 상기 변수 노드 복호기(1211)와 가산기(1215)간을 스위칭 오프(switching off)한 후, 상기 변수 노드 복호기(1211)와 경판정기(1229)간을 스위칭 온하여 상기 변수 노드 복호기(1211)에서 출력한 신호가 상기 경판정기(1229)로 출력하도록 한다. 상기 경판정기(1229)는 상기 변수 노드 복호기(1211)에서 출력한 신호를 입력하여 경판정한 후, 그 경판정 결과를 출력하게 되고, 상기 경판정기(1229)의 출력값이 최종적으로 복호된 값이 되는 것이다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해 져야 한다.
상술한 바와 같은 본 발명은 이동 통신 시스템에서 가변 부호화율 QC-LDPC 부호를 제안함으로써 QC-LDPC 부호의 유연성을 향상시킨다는 이점을 가진다. 또한, 본 발명은 효율적인 패리티 검사 행렬을 생성함으로써 가변 부호화율 QC-LDPC 부호의 부호화 복잡도를 최소화시킨다는 이점을 가진다. 특히, 본 발명은 다양한 부호화율에 적용 가능하도록 하는 QC-LDPC 부호를 생성 가능하게 함으로써 하드웨어 복잡도를 최소화한다는 이점을 가진다.

Claims (24)

  1. 가변 부호화율을 지원하는 준순환(Quasi-Cyclic)-저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호를 사용하는 신호 송신 방법에 있어서,
    정보 데이터를 입력받는 과정과,
    상기 정보 데이터를 QC-LDPC 부호로 생성시 적용할 제1부호화율에 상응하게 상기 정보 데이터에 0을 삽입하는 과정과,
    상기 0 삽입된 신호를 미리 설정되어 있는 제1패리티 검사 행렬에 상응하게 부호화하여 상기 QC-LDPC 부호로 생성하는 과정과,
    상기 QC-LDPC 부호에서 상기 삽입한 0을 제거하는 과정을 포함함을 특징으로 하는 상기 방법.
  2. 제1항에 있어서,
    상기 QC-LDPC 부호에서 0 제거된 신호를 미리 설정되어 있는 변조 방식으로 변조하는 과정과,
    상기 변조한 신호를 송신하는 과정을 더 포함함을 특징으로 하는 상기 방법.
  3. 제1항에 있어서,
    상기 제1패리티 검사 행렬은 미리 설정되어 있는 제2부호화율을 지원하는 제2패리티 검사 행렬을 단축 방식을 사용하여 생성된 행렬임을 특징으로 하는 상기 방법.
  4. 제3항에 있어서,
    상기 제2패리티 검사 행렬은 다수의 블록 열들을 포함하며, 상기 다수의 블록 열들중 미리 설정된 제1개수의 블록 열들은 상기 정보 데이터에 매핑되며, 상기 다수의 블록 열들중 상기 제1개수의 블록 열들을 제외한 제2개수의 블록 열들은 패리티에 매핑됨을 특징으로 하는 상기 방법.
  5. 제4항에 있어서,
    상기 제1패리티 검사 행렬은 상기 제2패리티 검사 행렬의 상기 제1개수의 블록 열들중 미리 설정된 개수의 블록 열들을 상기 단축 방식을 사용하여 단축시킨 행렬임을 특징으로 하는 상기 방법.
  6. 제5항에 있어서,
    상기 제1패리티 검사 행렬은;
    상기 제1부호화율에 상응하게 단축할 블록 열들의 개수에 상응하게, 상기 제2패리티 검사 행렬에서 사용한 블록 열들의 차수를 사용하면서 1개의 블록 열을 제거한 후의 최적의 차수 분포를 검출하고, 상기 검출한 최적의 차수 분포에 상응하게 제거할 블록 열의 차수를 결정하고, 상기 결정한 차수를 가지는 블록 열들중에 해당 블록 열을 제거한 후 사이클이 최대가 되는 블록 열을 선택하고, 상기 단축할 블록 열들의 개수에 상응하게 선택한 블록 열들을 상기 최초 블록 열부터 순차적으로 배치하고, 상기 제2패리티 검사 행렬의 블록 열들중 상기 선택한 블록 열들 이외의 블록 열들을 상기 배치한 블록 열들 이후에 배치하여 생성된 행렬임을 특징으로 하는 상기 방법.
  7. 제6항에 있어서,
    상기 제1패리티 검사 행렬은;
    상기 결정한 차수를 가지는 블록 열들중에 해당 블록 열을 제거한 후 사이클이 최대가 되는 블록 열들이 다수개일 경우, 상기 해당 블록 열을 제거한 후 사이클이 최대가 되는 다수개의 블록 열들중 검사 노드의 분포가 고르게 되는 블록 열을 선택하여 생성된 행렬임을 특징으로 하는 상기 방법.
  8. 제6항에 있어서,
    상기 제1패리티 검사 행렬은;
    상기 결정한 차수를 가지는 블록 열들중에 해당 블록 열을 제거한 후 사이클이 최대가 되는 블록 열들이 다수개일 경우, 상기 해당 블록 열을 제거한 후 사이클이 최대가 되는 다수개의 블록 열들들 각각에 대해 검사 노드의 차수를 고려하여 임계치들을 검출하고, 상기 검출한 임계치들중 최대 임계치를 갖는 블록 열을 선택하여 생성된 행렬임을 특징으로 하는 상기 방법.
  9. 제7항 혹은 제8항중 어느 한 항에 있어서,
    상기 제2부호화율이 1/2일이고, 블록 열들의 개수 NB가 24개이고, 블록 행들의 개수 KB가 12이며, 블록 사이즈는 72이고, 상기 QC-LDPC 부호의 길이 N은 1728일 경우, 상기 제2패리티 검사 행렬은 하기 표 1과 같이 표현됨을 특징으로 하는 상기 방법.
    Figure 112005054239350-PAT00041
    상기 표 1에서 숫자들은 해당 블록에 대응되는 순열 행렬들의 지수들을 나타냄.
  10. 제9항에 있어서,
    상기 단축할 블록 열들의 개수가 6개일 경우, 상기 제1패리티 검사 행렬은 하기 표 2와 같이 표현됨을 특징으로 하는 상기 방법.
    Figure 112005054239350-PAT00042
    상기 표 2에서 숫자들은 해당 블록에 대응되는 순열 행렬들의 지수들을 나타냄.
  11. 제1항에 있어서,
    상기 제1패리티 검사 행렬은 사용할 블록열들의 최대 개수 및 최소 개수를 정의하고, 상기 최소 개수의 블록열들을 사용할 경우의 최적의 차수 분포를 검출하고, 상기 최소 개수를 1씩 증가시켜가면서 상기 증가된 개수의 블록열들을 사용할 경우의 최적의 차수 분포를 검출하고, 새롭게 추가해야할 블록 열의 차수를 결정한 후, 현재 사용한 블록열의 개수가 상기 최대 개수 이상일 경우 상기 결정한 차수 분포에 상응하게 생성된 행렬임을 특징으로 하는 상기 방법.
  12. 제11항에 있어서,
    상기 차수 분포 최적화는 밀도 진화 방식을 사용하여 수행됨을 특징으로 하는 상기 방법.
  13. 가변 부호화율을 지원하는 준순환(Quasi-Cyclic)-저밀도 패리티 검사(LDPC: Low Density Parity Check) 부호를 사용하는 신호 송신 장치에 있어서,
    정보 데이터가 입력되면, 상기 정보 데이터를 QC-LDPC 부호로 생성시 적용할 제1부호화율에 상응하게 상기 정보 데이터에 삽입할 0의 개수를 결정하고, 상기 QC-LDPC 부호에서 삭제할 0의 개수를 결정하는 제어기와,
    상기 정보 데이터가 입력되면 상기 제어기의 제어에 따라 상기 정보 데이터에 0을 삽입하는 0 삽입기와,
    상기 0 삽입된 신호를 미리 설정되어 있는 제1패리티 검사 행렬에 상응하게 부호화하여 상기 QC-LDPC 부호로 생성하는 QC-LDPC 부호화기와,
    상기 QC-LDPC 부호에서 상기 삽입한 0을 제거하는 0 제거기를 포함함을 특징으로 하는 상기 장치.
  14. 제13항에 있어서,
    상기 장치는 상기 0 제거된 신호를 QC-LDPC 부호에서 0 제거된 신호를 미리 설정되어 있는 변조 방식으로 변조하는 변조기와,
    상기 변조한 신호를 송신하는 송신기를 더 포함함을 특징으로 하는 상기 장치.
  15. 제13항에 있어서,
    상기 제1패리티 검사 행렬은 미리 설정되어 있는 제2부호화율을 지원하는 제2패리티 검사 행렬을 단축 방식을 사용하여 생성된 행렬임을 특징으로 하는 상기 장치.
  16. 제15항에 있어서,
    상기 제2패리티 검사 행렬은 다수의 블록 열들을 포함하며, 상기 다수의 블록 열들중 미리 설정된 제1개수의 블록 열들은 상기 정보 데이터에 매핑되며, 상기 다수의 블록 열들중 상기 제1개수의 블록 열들을 제외한 제2개수의 블록 열들은 패리티에 매핑됨을 특징으로 하는 상기 장치.
  17. 제16항에 있어서,
    상기 제1패리티 검사 행렬은 상기 제2패리티 검사 행렬의 상기 제1개수의 블 록 열들중 미리 설정된 개수의 블록 열들을 상기 단축 방식을 사용하여 단축시킨 행렬임을 특징으로 하는 상기 장치.
  18. 제17항에 있어서,
    상기 제1패리티 검사 행렬은;
    상기 제1부호화율에 상응하게 단축할 블록 열들의 개수에 상응하게, 상기 제2패리티 검사 행렬에서 사용한 블록 열들의 차수를 사용하면서 1개의 블록 열을 제거한 후의 최적의 차수 분포를 검출하고, 상기 검출한 최적의 차수 분포에 상응하게 제거할 블록 열의 차수를 결정하고, 상기 결정한 차수를 가지는 블록 열들중에 해당 블록 열을 제거한 후 사이클이 최대가 되는 블록 열을 선택하고, 상기 단축할 블록 열들의 개수에 상응하게 선택한 블록 열들을 상기 최초 블록 열부터 순차적으로 배치하고, 상기 제2패리티 검사 행렬의 블록 열들중 상기 선택한 블록 열들 이외의 블록 열들을 상기 배치한 블록 열들 이후에 배치하여 생성된 행렬임을 특징으로 하는 상기 장치.
  19. 제18항에 있어서,
    상기 제1패리티 검사 행렬은;
    상기 결정한 차수를 가지는 블록 열들중에 해당 블록 열을 제거한 후 사이클 이 최대가 되는 블록 열들이 다수개일 경우, 상기 해당 블록 열을 제거한 후 사이클이 최대가 되는 다수개의 블록 열들중 검사 노드의 분포가 고르게 되는 블록 열을 선택하여 생성된 행렬임을 특징으로 하는 상기 장치.
  20. 제18항에 있어서,
    상기 제1패리티 검사 행렬은;
    상기 결정한 차수를 가지는 블록 열들중에 해당 블록 열을 제거한 후 사이클이 최대가 되는 블록 열들이 다수개일 경우, 상기 해당 블록 열을 제거한 후 사이클이 최대가 되는 다수개의 블록 열들들 각각에 대해 검사 노드의 차수를 고려하여 임계치들을 검출하고, 상기 검출한 임계치들중 최대 임계치를 갖는 블록 열을 선택하여 생성된 행렬임을 특징으로 하는 상기 장치.
  21. 제19항 혹은 제20항중 어느 한 항에 있어서,
    상기 제2부호화율이 1/2일이고, 블록 열들의 개수 NB가 24개이고, 블록 행들의 개수 KB가 12이며, 블록 사이즈는 72이고, 상기 QC-LDPC 부호의 길이 N은 1728일 경우, 상기 제2패리티 검사 행렬은 하기 표 3과 같이 표현됨을 특징으로 하는 상기 장치.
    Figure 112005054239350-PAT00043
    상기 표 3에서 숫자들은 해당 블록에 대응되는 순열 행렬들의 지수들을 나타냄.
  22. 제21항에 있어서,
    상기 단축할 블록 열들의 개수가 6개일 경우, 상기 제1패리티 검사 행렬은 하기 표 4와 같이 표현됨을 특징으로 하는 상기 장치.
    Figure 112005054239350-PAT00044
    상기 표 4에서 숫자들은 해당 블록에 대응되는 순열 행렬들의 지수들을 나타냄.
  23. 제13항에 있어서,
    상기 제1패리티 검사 행렬은 사용할 블록열들의 최대 개수 및 최소 개수를 정의하고, 상기 최소 개수의 블록열들을 사용할 경우의 최적의 차수 분포를 검출하고, 상기 최소 개수를 1씩 증가시켜가면서 상기 증가된 개수의 블록열들을 사용할 경우의 최적의 차수 분포를 검출하고, 새롭게 추가해야할 블록 열의 차수를 결정한 후, 현재 사용한 블록열의 개수가 상기 최대 개수 이상일 경우 상기 결정한 차수 분포에 상응하게 생성된 행렬임을 특징으로 하는 상기 장치.
  24. 제23항에 있어서,
    상기 차수 분포 최적화는 밀도 진화 방식을 사용하여 수행됨을 특징으로 하는 상기 장치.
KR1020050089962A 2005-09-27 2005-09-27 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법 KR100946905B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050089962A KR100946905B1 (ko) 2005-09-27 2005-09-27 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
US11/528,044 US7890844B2 (en) 2005-09-27 2006-09-27 Apparatus and method for transmitting/receiving signal in a communication system using low density parity check code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050089962A KR100946905B1 (ko) 2005-09-27 2005-09-27 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20070035283A true KR20070035283A (ko) 2007-03-30
KR100946905B1 KR100946905B1 (ko) 2010-03-09

Family

ID=37949516

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050089962A KR100946905B1 (ko) 2005-09-27 2005-09-27 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법

Country Status (2)

Country Link
US (1) US7890844B2 (ko)
KR (1) KR100946905B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100949519B1 (ko) * 2007-12-18 2010-03-24 한국전자통신연구원 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법
WO2011034359A2 (en) * 2009-09-16 2011-03-24 Samsung Electronics Co,. Ltd. System and method for structured ldpc code family
US8291282B2 (en) 2008-02-18 2012-10-16 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding channel in a communication system using low-density parity-check codes
KR20130038184A (ko) * 2010-03-04 2013-04-17 링크_어_미디어 디바이시스 코퍼레이션 서큘란트 크기의 비-정수배들을 위한 준순환 ldpc 인코딩 및 디코딩
US8495450B2 (en) 2009-08-24 2013-07-23 Samsung Electronics Co., Ltd. System and method for structured LDPC code family with fixed code length and no puncturing
US8560911B2 (en) 2009-09-14 2013-10-15 Samsung Electronics Co., Ltd. System and method for structured LDPC code family
US8732565B2 (en) 2010-06-14 2014-05-20 Samsung Electronics Co., Ltd. Method and apparatus for parallel processing in a gigabit LDPC decoder
US8971261B2 (en) 2010-06-02 2015-03-03 Samsung Electronics Co., Ltd. Method and system for transmitting channel state information in wireless communication systems
US9634693B2 (en) 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8209582B1 (en) 2006-11-07 2012-06-26 Marvell International Ltd. Systems and methods for optimizing a product code structure
US7913149B2 (en) * 2006-12-20 2011-03-22 Lsi Corporation Low complexity LDPC encoding algorithm
KR20080102902A (ko) * 2007-05-22 2008-11-26 삼성전자주식회사 가변 부호화율을 가지는 ldpc 부호 설계 방법, 장치 및그 정보 저장 매체
CN101350625B (zh) * 2007-07-18 2011-08-31 北京泰美世纪科技有限公司 一种高效通用的qc-ldpc码译码器及其译码方法
JP4487213B2 (ja) * 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、並びにプログラム
JP4487212B2 (ja) * 2007-10-19 2010-06-23 ソニー株式会社 復号装置および方法、送受信システム、受信装置および方法、並びにプログラム
EP2381582B1 (en) * 2007-12-06 2013-04-10 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding in a communication system using low-density parity-check codes
US8291283B1 (en) * 2008-06-06 2012-10-16 Marvell International Ltd. Layered quasi-cyclic LDPC decoder with reduced-complexity circular shifter
US8443270B2 (en) * 2008-12-09 2013-05-14 Entropic Communications, Inc. Multiple input hardware reuse using LDPC codes
KR101211433B1 (ko) * 2008-12-19 2012-12-12 한국전자통신연구원 낮은 복잡도를 가지는 고속의 qc-ldpc 부호의 부호화 장치 및 방법
JP5312484B2 (ja) * 2008-12-26 2013-10-09 パナソニック株式会社 符号化方法、符号化器及び復号器
US8375278B2 (en) * 2009-07-21 2013-02-12 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8516352B2 (en) * 2009-07-21 2013-08-20 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
US9397699B2 (en) * 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured codes
KR101670511B1 (ko) * 2010-05-07 2016-10-28 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호/복호 방법 및 장치
US8671328B2 (en) * 2011-08-15 2014-03-11 Marvell World Trade Ltd. Error correction code techniques for matrices with interleaved codewords
EP3902142A1 (en) 2016-05-12 2021-10-27 MediaTek Inc. Qc-ldpc coding methods and apparatus
TWI669915B (zh) * 2016-10-05 2019-08-21 聯發科技股份有限公司 編碼方法
WO2018084735A1 (en) 2016-11-03 2018-05-11 Huawei Technologies Co., Ltd. Efficiently decodable qc-ldpc code
US10581457B2 (en) 2017-01-09 2020-03-03 Mediatek Inc. Shift coefficient and lifting factor design for NR LDPC code
US10630319B2 (en) 2017-01-24 2020-04-21 Mediatek Inc. Structure of interleaver with LDPC code
US10432227B2 (en) 2017-01-24 2019-10-01 Mediatek Inc. Location of interleaver with LDPC code
US10484011B2 (en) 2017-05-12 2019-11-19 Mediatek Inc. Shift-coefficient table design of QC-LDPC code for larger code block sizes in mobile communications
US10484013B2 (en) 2017-05-12 2019-11-19 Mediatek Inc. Shift-coefficient table design of QC-LDPC code for smaller code block sizes in mobile communications
US10567116B2 (en) 2017-05-12 2020-02-18 Mediatek Inc. Wireless communication using codebooks from a QC-LDPC code for shorter processing latency and improved decoder throughput efficiency

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702986B2 (en) * 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
US7334181B2 (en) * 2003-09-04 2008-02-19 The Directv Group, Inc. Method and system for providing short block length low density parity check (LDPC) codes
KR100918763B1 (ko) * 2003-11-14 2009-09-24 삼성전자주식회사 병렬 연접 저밀도 패리티 검사 부호를 사용하는 채널 부호화/복호 장치 및 방법
US7526717B2 (en) 2004-06-16 2009-04-28 Samsung Electronics Co., Ltd. Apparatus and method for coding and decoding semi-systematic block low density parity check codes
US7506238B2 (en) * 2004-08-13 2009-03-17 Texas Instruments Incorporated Simplified LDPC encoding for digital communications

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100949519B1 (ko) * 2007-12-18 2010-03-24 한국전자통신연구원 낮은 복잡도 및 고속 복호를 위한 패리티 검사행렬 생성방법과, 그를 이용한 저밀도 패리티 검사 부호의 부호화장치 및 그 방법
US8205131B2 (en) 2007-12-18 2012-06-19 Electronics And Telecommunications Research Institute 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
US8291282B2 (en) 2008-02-18 2012-10-16 Samsung Electronics Co., Ltd Apparatus and method for encoding and decoding channel in a communication system using low-density parity-check codes
US8495450B2 (en) 2009-08-24 2013-07-23 Samsung Electronics Co., Ltd. System and method for structured LDPC code family with fixed code length and no puncturing
US8560911B2 (en) 2009-09-14 2013-10-15 Samsung Electronics Co., Ltd. System and method for structured LDPC code family
WO2011034359A2 (en) * 2009-09-16 2011-03-24 Samsung Electronics Co,. Ltd. System and method for structured ldpc code family
WO2011034359A3 (en) * 2009-09-16 2011-08-04 Samsung Electronics Co,. Ltd. System and method for structured ldpc code family
KR20130038184A (ko) * 2010-03-04 2013-04-17 링크_어_미디어 디바이시스 코퍼레이션 서큘란트 크기의 비-정수배들을 위한 준순환 ldpc 인코딩 및 디코딩
US8971261B2 (en) 2010-06-02 2015-03-03 Samsung Electronics Co., Ltd. Method and system for transmitting channel state information in wireless communication systems
US8732565B2 (en) 2010-06-14 2014-05-20 Samsung Electronics Co., Ltd. Method and apparatus for parallel processing in a gigabit LDPC decoder
US9634693B2 (en) 2010-08-12 2017-04-25 Samsung Electronics Co., Ltd Apparatus and method for decoding LDPC codes in a communications system

Also Published As

Publication number Publication date
KR100946905B1 (ko) 2010-03-09
US20070089027A1 (en) 2007-04-19
US7890844B2 (en) 2011-02-15

Similar Documents

Publication Publication Date Title
KR100946905B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
KR100724922B1 (ko) 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100678175B1 (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100809616B1 (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100678176B1 (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100856235B1 (ko) 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100739510B1 (ko) 반구조적 블록 저밀도 패리티 검사 부호 부호화/복호 장치및 방법
KR100984289B1 (ko) 통신 시스템에서 가변 부호화율을 지원하는 신호 송수신장치 및 방법
KR101444458B1 (ko) 통신 시스템에서 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
JP5120862B2 (ja) 低密度パリティ検査符号を使用する通信システムのチャネル符号化装置及びその方法
KR100941680B1 (ko) 준순환 저밀도 패리티 검사 부호의 생성 방법 및 장치
RU2369008C2 (ru) Устройство и способ кодирования-декодирования блочного кода проверки на четность с низкой плотностью с переменной длиной блока
US20090210767A1 (en) Apparatus and method for encoding and decoding channel in a communication system using low-density parity-check codes
US8495459B2 (en) Channel-encoding/decoding apparatus and method using low-density parity-check codes
KR20060064491A (ko) Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법
KR20060097503A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널인터리빙/디인터리빙 장치 및 그 제어 방법
KR101644656B1 (ko) 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
KR101502624B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치
KR20090093778A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 장치 및 방법
KR101192920B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 장치 및 방법
KR101447751B1 (ko) 블록 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서패리티 검사 행렬 생성 장치 및 방법
KR101354731B1 (ko) 통신 시스템에서 연접 저밀도 생성 행렬 부호 부호화/복호장치 및 방법
KR20110048448A (ko) 선형 블록 부호를 사용하는 통신 시스템에서 패리티 검사 행렬을 생성하는 방법과 이를 이용한 채널 부호화/복호화 장치 및 방법
KR20110048443A (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: 20130227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee