KR20070034904A - 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법 - Google Patents

가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법 Download PDF

Info

Publication number
KR20070034904A
KR20070034904A KR1020050089561A KR20050089561A KR20070034904A KR 20070034904 A KR20070034904 A KR 20070034904A KR 1020050089561 A KR1020050089561 A KR 1020050089561A KR 20050089561 A KR20050089561 A KR 20050089561A KR 20070034904 A KR20070034904 A KR 20070034904A
Authority
KR
South Korea
Prior art keywords
puncturing
code
variable
node
ldpc code
Prior art date
Application number
KR1020050089561A
Other languages
English (en)
Other versions
KR100856235B1 (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 KR1020050089561A priority Critical patent/KR100856235B1/ko
Priority to US11/527,193 priority patent/US7802164B2/en
Publication of KR20070034904A publication Critical patent/KR20070034904A/ko
Application granted granted Critical
Publication of KR100856235B1 publication Critical patent/KR100856235B1/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
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [LDPC] 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/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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 가변 부호화율을 가지는 블록 저밀도 패리티 검사(LDPC, Low Density Parity Check) 부호 설계 방법에 있어서, 소정 개수의 부호화율에 대하여 소정 LDPC 부호를 설계하고, 상기 소정 개수의 LDPC 부호의 정보 노드 차수를 비교하여 절단 패턴을 생성하는 과정과, 상기 소정 개수의 LDPC 부호의 검사 노드 차수를 일치시키는 과정과, 상기 일치된 검사 노드의 차수가 구해지면, 상기 검사 노드 차수에 상응하게 소정 개수의 천공 패턴을 생성하는 과정과, 상기 생성된 천공 패턴에 대해 주어지는 제1 조건을 만족하는지 확인하는 과정과, 상기 천공 패턴이 상기 제1 조건을 만족하면, 상기 생성된 천공 패턴을 상기 가변 부호화율의 천공 패턴으로 결정하는 과정을 포함함을 특징으로 한다.
가변 부호화율, 모 패리티 검사 행렬, 자 패리티 검사 행렬, 천공 방식, 절단 방식, 단축 방식, 블록 LDPC 부호

Description

가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호 부호화/복호 장치 및 방법{APPARATUS AND METHOD FOR ENCODING AND DECODING BLOCK LOW DENSITY PARITY CHECK CODES WITH A VARIABLE CODING RATE}
도 1은 일반적인 (8, 2, 4) LDPC 부호의 패리티 검사 행렬을 도시한 도면,
도 2는 일반적인 (8, 2, 4) LDPC 부호의 factor 그래프를 도시한 도면,
도 3은 일반적인 HARQ 방식을 설명하기 위해 개략적으로 도시한 도면,
도 4는 본 발명의 실시예에 따른 단축 방식을 사용하여 패리티 검사 행렬을 생성하는 과정을 개략적으로 도시한 도면,
도 5a 내지 도 5d는 본 발명의 실시예에 따른 천공 방식을 사용하여 생성된 블록 LDPC 부호의 부호어에 대한 복호 과정에서 천공된 패리티에 대응되는 노드의 역할을 설명하기 위해 도시한 도면,
도 6은 본 발명의 실시예에 따른 확장 방식을 사용하여 패리티 검사 행렬을 생성하는 과정을 개략적으로 도시한 도면,
도 7은 본 발명의 실시예에 따른 절단 방식을 사용하여 패리티 검사 행렬을 생성하는 과정을 개략적으로 도시한 도면,
도 8은 본 발명의 실시예에 따른 IRA 부호의 Tanner 그래프를 도시한 도면,
도 9는 본 발명의 실시예에 따른 블록 LDPC 부호의 Tanner 그래프를 도시한 도면,
도 10은 본 발명의 실시예에 따른 가변 부호화율 블록 LDPC 부호와 RCTC 부호의 성능을 비교한 그래프를 도시한 도면,
도 11은 본 발명의 실시예에 따른 가변 부호화율 블록 LDPC 부호를 이용한 송수신기 구조를 개략적으로 도시한 도면,
도 12는 본 발명의 실시예에 따른 가변 부호화율의 천공 패턴과 절단 패턴을 구성하는 방법을 도시한 도면.
본 발명은 이동 통신 시스템에 관한 것으로서, 특히 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호를 부호화/복호하는 장치 및 방법에 관한 것이다.
이동 통신 시스템이 급속하게 발전해나감에 따라 무선 네트워크에서 유선 네트워크의 용량(capacity)에 근접하는 대용량 데이터를 전송할 수 있는 기술 개발이 요구되고 있다. 이렇게, 음성 위주의 서비스를 벗어나 영상, 무선 데이터 등의 다양한 정보를 처리하고 전송할 수 있는 고속 대용량 통신 시스템이 요구됨에 따라 적정한 채널 부호화(channel coding) 방식을 사용하여 시스템 전송 효율을 높이는 것이 시스템 성능 향상에 필수적인 요소로 작용하게 된다. 그러나, 이동 통신 시스템은 이동 통신 시스템의 특성상 데이터를 전송할 때 채널의 상황에 따라 잡음 (noise)과, 간섭(interference) 및 페이딩(fading) 등으로 인해 불가피하게 에러(error)가 발생하고, 따라서 상기 에러 발생으로 인한 정보 데이터의 손실이 발생한다.
이러한 에러 발생으로 인한 정보 데이터 손실을 감소시키기 위해서 채널의 특성에 따라 다양한 에러 제어 방식(error-control scheme)들을 사용함으로써 상기 이동 통신 시스템의 신뢰도를 향상시킬 수 있다. 상기 에러 제어 방식들 중에서 가장 보편적으로 사용되고 있는 에러 제어 방식은 에러 정정 부호(error-correcting code)를 사용하는 방식이다.
상기 에러 정정 부호의 대표적인 부호들로는 터보 부호(turbo code)와, 저밀도 패리티 검사(LDPC: Low Density Parity Check, 이하 'LDPC'라 칭하기로 한다) 부호 등이 있다.
상기 터보 부호는 종래 오류 정정을 위해 주로 사용되던 컨벌루셔널 부호(convolutional code)에 비하여 고속 데이터 전송시에 성능 이득이 우수한 것으로 알려져 있으며, 전송 채널에서 발생하는 잡음에 의한 오류를 효과적으로 정정하여 데이터 전송의 신뢰도를 높일 수 있다는 장점을 가진다.
또한, 상기 LDPC 부호는 팩터(factor, 이하 'factor'라 칭하기로 한다) 그래프 상에서 합곱(sum-product) 알고리즘(algorithm)에 기반한 반복 복호(iterative decoding) 알고리즘을 사용하여 복호할 수 있다. 상기 LDPC 부호의 복호기는 상기 합곱 알고리즘에 기반한 반복 복호 알고리즘을 사용하기 때문에 상기 터보 부호의 복호기에 비해 낮은 복잡도를 가질 뿐만 아니라 병렬 처리 복호기로 구현하는 것이 용이하다.
한편, Shannon의 채널 부호화 이론(channel coding theorem)은 채널의 용량을 초과하지 않는 데이터 레이트(data rate)에 한해 신뢰성 있는 통신이 가능하다고 밝히고 있다. 하지만 Shannon의 채널 부호화 이론에서는 최대 채널의 용량 한계까지의 데이터 레이트를 지원하는 채널 부호화 및 복호 방법에 대한 구체적인 제시는 전혀 없었다. 일반적으로, 블록(block) 크기가 굉장히 큰 랜덤(random) 부호는 Shannon의 채널 부호화 이론의 채널 용량 한계에 근접하는 성능을 나타내지만, MAP(maximum a posteriori) 또는 ML(maximum likelihood) 복호 방법을 사용할 경우 그 계산량에 있어 굉장한 로드(load)가 존재하여 실제 구현이 불가능하였다.
상기 터보 부호는 1993년 Berrou와 Glavieux, Thitimajshima에 의해 제안되었으며, Shannon의 채널 부호화 이론의 채널 용량 한계에 근접하는 우수한 성능을 가지고 있다. 상기 터보 부호의 제안으로 인해 부호의 반복 복호와 그래프 표현에 대한 연구가 활발하게 진행되었으며, 이 시점에서 Gallager가 1962년 이미 제안한바 있는 LDPC 부호가 새롭게 조명되었다. 또한, 상기 터보 부호와 LDPC 부호의 factor 그래프상에는 사이클(cycle)이 존재하는데, 상기 사이클이 존재하는 상기 LDPC 부호의 factor 그래프 상에서의 반복 복호는 준최적(suboptimal)이라는 것은 이미 잘 알려져 있는 사실이며, 상기 LDPC 부호는 반복 복호를 통해 우수한 성능을 가진다는 것 역시 실험적으로 입증된 바 있다. 지금까지 알려진 최고의 성능을 가지는 LDPC 부호는 블록 크기 107을 사용하여 비트 에러 레이트(BER: Bit Error Rate) 10-5에서 Shannon의 채널 부호화 이론의 채널 용량 한계에서 단지 0.04[dB] 정도의 차이를 가지는 성능을 나타낸다. 또한,
Figure 112005053928219-PAT00001
인 갈로아 필드(GF: Galois Field, 이하 'GF'라 칭하기로 한다), 즉 GF(q)에서 정의된 LDPC 부호는 그 복호 과정에 있어서 복잡도가 증가하긴 하지만 이진(binary) 부호에 비해 훨씬 더 우수한 성능을 보인다. 그러나, 상기 GF(q)에서 정의된 LDPC 부호의 반복 복호 알고리즘의 성공적인 복호에 대한 만족스런 이론적인 설명은 아직 이루어지지 않고 있다.
또한, 상기 LDPC 부호는 Gallager에 의해 제안된 부호이며, 대부분의 엘리먼트들이 0의 값(zero value)을 가지며, 상기 0의 값을 가지는 엘리먼트들 이외의 극히 소수의 엘리먼트들이 0이 아닌(non-zero value) 값을 가지는, 일 예로 1의 값을 가지는 패리티 검사 행렬(parity check matrix)에 의해 정의된다. 이하, 설명의 편의상 상기 0이 아닌 값을 1이라고 가정하여 설명하기로 한다.
일 예로, (N, j, k) LDPC 부호는 블록(block) 길이가 N인 선형 블록 부호(linear block code)로, 각 열(column)마다 j개의 1의 값을 가지는 엘리먼트들과, 각 행(row)마다 k개의 1의 값을 가지는 엘리먼트들을 가지고, 상기 1의 값을 가지는 엘리먼트들을 제외한 엘리먼트들은 모두 0의 값을 가지는 엘리먼트들로 구성된 성긴(sparse, 이하 'sparse'라 칭하기로 한다) 구조의 패리티 검사 행렬에 의해 정의된다.
상기에서 설명한 바와 같이 상기 패리티 검사 행렬내 각 열의 웨이트(weight)는 j로 일정하며, 상기 패리티 검사 행렬내 각 행의 웨이트는 k로 일정한 LDPC 부호를 균일(regular) LDPC 부호라고 칭한다. 여기서, 상기 웨이트라함은 상기 패리티 검사 행렬을 구성하는 엘리먼트들 중 0이 아닌 값을 가지는 엘리먼트들의 개수를 나타낸다. 이와는 달리, 상기 패리티 검사 행렬내 각 열의 웨이트와 각 행의 웨이트가 일정하지 않은 LDPC 부호를 불균일(irregular) LDPC 부호라고 칭한다. 일반적으로, 상기 균일 LDPC 부호의 성능에 비해서 상기 불균일 LDPC 부호의 성능이 더 우수함이 알려져 있다. 그러나, 상기 불균일 LDPC 부호의 경우 패리티 검사 행렬내 각 열의 웨이트와 각 행의 웨이트가 일정하지 않기 때문에, 즉 불균일하기 때문에 패리티 검사 행렬내 각 열의 웨이트와 각 행의 웨이트를 적절하게 조절해야지만 우수한 성능을 보장받을 수 있다.
그러면 여기서 도 1을 참조하여 (N, j, k) LDPC 부호, 일 예로 (8, 2, 4) LDPC 부호의 패리티 검사 행렬에 대해서 설명하기로 한다.
도 1은 일반적인 (8, 2, 4) LDPC 부호의 패리티 검사 행렬을 도시한 도면이다.
상기 도 1을 참조하면, 먼저 상기 (8, 2, 4) LDPC 부호의 패리티 검사 행렬 H는 8개의 열들과 4개의 행들로 구성되어 있으며, 각 열의 웨이트는 2로 균일하며, 각 행의 웨이트는 4로 균일하다. 이렇게, 상기 패리티 검사 행렬내 각 열의 웨이트와 각 행의 웨이트가 균일하므로 상기 도 1에 도시되어 있는 (8, 2, 4) LDPC 부호는 균일 LDPC 부호가 되는 것이다.
상기 도 1에서는 일반적인 (8, 2, 4) LDPC 부호의 패리티 검사 행렬에 대해서 설명하였으며, 다음으로 도 2를 참조하여 상기 도 1에서 설명한 (8, 2, 4) LDPC 부호의 factor 그래프에 대해서 설명하기로 한다.
도 2는 상기 도 1의 (8, 2, 4) LDPC 부호의 factor 그래프를 도시한 도면이다.
상기 도 2를 참조하면, 상기 (8, 2, 4) LDPC 부호의 factor 그래프는 8개의 변수 노드(variable node)들, 즉 x1(200)과, x2(202)과, x3(204)과, x4(206)과, x5(208)과, x6(210)과, x7(212)과, x8(214)와, 4개의 검사 노드(check node)들(216,218,220,222)로 구성된다. 상기 (8, 2, 4) LDPC 부호의 패리티 검사 행렬의 i번째 행과 j번째 열이 교차하는 지점에 1의 값을 가지는, 즉 0이 아닌 값을 가지는 엘리먼트가 존재할 경우 변수 노드 xi와 j번째 검사 노드 사이에 브랜치(branch)가 생성된다.
상기에서 설명한 바와 같이 LDPC 부호의 패리티 검사 행렬은 매우 작은 웨이트를 가지기 때문에, 비교적 긴 길이를 가지는 블록 부호에서도 반복 복호를 통해 복호가 가능하며, 블록 부호의 블록 길이를 계속 증가시켜 가면 터보 부호와 같이 Shannon의 채널 용량 한계에 근접하는 형태의 성능을 나타낸다. 또한, MacKay와 Neal은 흐름 전달 방식을 사용하는 LDPC 부호의 반복 복호 과정이 터보 부호의 반복 복호 과정에 거의 근접하는 성능을 가진다는 것을 이미 증명한 바가 있다.
한편, 성능이 좋은 LDPC 부호를 생성하기 위해서는 몇 가지 조건들을 만족시켜야만 하는데, 상기 조건들을 설명하면 다음과 같다.
(1) LDPC 부호의 factor 그래프상의 사이클을 고려해야만 한다.
상기 사이클이란 LDPC 부호의 factor 그래프에서 변수 노드와 검사 노드를 연결하는 에지(edge)가 구성하는 루프(loop)를 나타내는데, 상기 사이클의 길이는 상기 루프를 구성하는 에지들의 개수로 정의된다. 상기 사이클의 길이가 길다는 것은 상기 LDPC 부호의 factor 그래프에서 루프를 구성하는 변수 노드들과 검사 노드들을 연결하는 에지들의 개수가 많다는 것을 나타내며, 이와는 반대로 상기 사이클의 길이가 짧다는 것은 상기 LDPC 부호의 factor 그래프에서 루프를 구성하는 변수 노드들과 검사 노드들을 연결하는 에지들의 개수가 적다는 것을 나타낸다.
상기 LDPC 부호의 factor 그래프상의 사이클을 길게 생성할 수록 상기 LDPC 부호의 성능이 좋아지게 되는데 그 이유는 다음과 같다. 상기 LDPC 부호의 factor 그래프상의 사이클을 길게 생성할 경우, 상기 LDPC 부호의 factor 그래프상에 짧은 길이의 사이클이 많이 존재할 때 발생하는 오류 마루(error floor)등의 성능 열화가 발생하지 않기 때문이다.
(2) LDPC 부호의 효율적인 부호화를 고려해야만 한다.
상기 LDPC 부호는 상기 LDPC 부호의 특성상 컨벌루셔널 부호나 터보 부호에 비해 부호화 복잡도가 높아 실시간 부호화가 난이하다. 상기 LDPC 부호의 부호화 복잡도를 줄이기 위해서 반복 누적 부호(RA(Repeat Accumulate) code) 등이 제안되었으나, 상기 반복 누적 부호 역시 상기 LDPC 부호의 부호화 복잡도를 낮추는데 있어서는 한계를 나타내고 있다. 따라서, LDPC 부호의 효율적인 부호화를 고려해야만 한다.
(3) LDPC 부호의 factor 그래프상의 차수 분포를 고려해야만 한다.
일반적으로, 균일 LDPC 부호보다 불균일 LDPC 부호가 성능이 우수한데 그 이유는 상기 불균일 LDPC 부호의 factor 그래프상의 차수(degree)가 다양한 차수를 가지기 때문이다. 여기서, 상기 차수란 상기 LDPC 부호의 factor 그래프 상에서 각 노드들, 즉 변수 노드들과 검사 노드들에 연결되어 있는 에지의 개수를 나타낸다. 또한, LDPC 부호의 factor 그래프상의 차수 분포란 특정 차수를 갖는 노드들이 전체 노드들 중 얼마만큼 존재하는지를 나타내는 것이다. 특정한 차수 분포를 가지는 LDPC 부호의 성능이 우수하다는 것은 Richardson 등이 이미 증명한 바가 있다.
한편, 상기 이동 통신 시스템이 발전해나감에 따라 대용량 데이터 전송을 지원하면서도, 자원의 효율성을 증가시키기 위해 복합 자동 재전송 요구(HARQ: Hybrid Automatic Retransmission reQuest, 이하 'HARQ'라 칭하기로 한다) 방식과 적응적 변조 및 부호화(AMC: Adaptive Modulation and Coding, 이하 'AMC'라 칭하기로 한다) 방식 등과 같은 다양한 방식들이 사용되고 있다.
먼저, 상기 HARQ 방식은 Type-1 방식과 Type-2 방식으로 나누어진다. 상기 Type-1 방식은 일반적으로 체이스 컴바이닝(Chase combining) 기법이라고 하며, 상기 Type-1 방식에서 정보 비트들은 적절한 부호화율을 가지는 채널 부호에 의해 부호화되어 전송된다. 즉, 수신단에서 복호를 수행한 후 CRC(Cyclic Redundancy Code)에 의해서 오류가 검출되면 송신단에 재전송을 요청한다. 그러면, 상기 송신단에서는 전송했던 블록과 같은 블록을 전송하게 되고, 상기 수신단에서는 새로 받은 블록과 이전에 수신했던 블록을 심볼 단위 또는 비트 단위로 더하기를 하여 새로운 수신 값을 계산한다. 이후 상기 계산된 값을 이용하여 채널 부호는 복호를 수 행하게 된다.
다음으로, 상기 Type-2 방식에 대하여 살펴보면, 상기 Type-2 방식은 현재 제안된 방법 중 성능이 가장 우수한 것으로 알려져 있다. 상기 Type-2 방식은 채널 부호가 가변 부호화율(Rate-compatible)이 가능하도록 구현이 되어야만 사용이 가능한 방법이다. 상기 Type-2 방식은 재전송시 이미 전송된 블록과 같은 블록을 전송하는 것이 아니라 새로운 패리티 비트들만을 전송한다. 이하, 도 3을 참조하여 상기 Type-2 방식에 대하여 구체적으로 살펴보면 다음과 같다.
도 3은 일반적인 HARQ 방식에서 Type-2 방식을 개략적으로 도시한 도면이다.
상기 도 3을 참조하면, 참조부호 310의 해칭된 블록은 정보 비트를 나타내고, 참조부호 330의 해칭된 블록은 패리티 비트를 나타낸다. 먼저, 수신단에서는 이미 수신한 데이터에 패리티 비트들을 더해서 부호화율이 낮은 채널 부호를 생성한다. 이때, 재전송에서는 이전의 전송에서보다 낮은 부호화율의 채널 부호에 의하여 복호가 이루어진다. 상기 Type-2 방식에서 성능에 가장 큰 영향을 미치는 것은 성능이 우수한 가변 부호화율의 채널 부호(rate-compatible code)를 설계하는 것이다.
그런데, 상술한 바와 같이 상기 HARQ 방식과 AMC 방식을 사용하기 위해서는 다양한 부호화율(coding rate)을 지원할 수 있어야만 한다. 그러나, 상기에서 설명한 바와 같이 상기 LDPC 부호의 경우 부호화율면에서 제한이 존재하여 다양한 부호화율을 지원하는 것이 난이하다. 또한, 상기 HARQ 방식을 사용하기 위해서는 1개의 부호화기를 사용하여 다양한 부호화율을 가지는 부호를 구성할 수 있어야만 한다. 따라서, 다양한 부호화율의 LDPC 부호들을 1개의 부호화기를 사용하여 구성할 수 있는 방안에 대한 필요성이 대두되고 있다.
따라서, 본 발명의 목적은 이동 통신 시스템에서 가변 부호화율을 가지는 LDPC 부호를 부호화/복호하는 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 이동 통신 시스템에서 부호화 복잡도가 최소화된, 가변 부호화율을 가지는 LDPC 부호를 부호화/복호하는 장치 및 방법을 제공함에 있다.
상기한 목적들을 달성하기 위한 본 발명의 실시예에 따른 방법은; 가변 부호화율을 가지는 블록 저밀도 패리티 검사(LDPC, Low Density Parity Check) 부호 설계 방법에 있어서, 소정 개수의 부호화율에 대하여 소정 LDPC 부호를 설계하고, 상기 소정 개수의 LDPC 부호의 정보 노드 차수를 비교하여 절단 패턴을 생성하는 과정과, 상기 소정 개수의 LDPC 부호의 검사 노드 차수를 일치시키는 과정과, 상기 일치된 검사 노드의 차수가 구해지면, 상기 검사 노드 차수에 상응하게 소정 개수의 천공 패턴을 생성하는 과정과, 상기 생성된 천공 패턴에 대해 주어지는 제1 조건을 만족하는지 확인하는 과정과, 상기 천공 패턴이 상기 제1 조건을 만족하면, 상기 생성된 천공 패턴을 상기 가변 부호화율의 천공 패턴으로 결정하는 과정을 포함함을 특징으로 한다.
상기한 목적들을 달성하기 위한 본 발명의 실시예에 따른 장치는; 가변 부호 화율을 가지는 블록 저밀도 패리티 검사(LDPC, Low Density Parity Check) 부호를 부호화하는 장치에 있어서, 정보 데이터를 미리 설정되어 있는 부호화 방식으로 부호화하여 부호화 심볼로 생성하는 부호화기와, 상기 부호화기에서 입력되는 심볼들 중에서 시스템 설정에 따른 부호화율 정보에 상응하는 개수만큼의 부호화 심볼들을 천공하여 출력하는 천공 및 전달기와, 상기 부호화 심볼을 미리 설정되어 있는 변조 방식으로 변조하여 변조 심볼로 생성하는 변조기를 포함함을 특징으로 한다.
이하, 본 발명에 따른 바람직한 동작 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것에 유의하여야 한다.
본 발명은 가변 부호화율(coding rate)을 가지는 블록(block) 저밀도 패리티 검사(LDPC: Low Density Parity Check, 이하 'LDPC'라 칭하기로 한다) 부호(이하 '가변 부호화율 블록 LDPC 부호'라 칭하기로 한다)를 부호화(encoding) 및 복호(decoding)하는 장치 및 방법을 제안한다. 즉, 본 발명은 블록 LDPC 부호의 팩터(factor, 이하 'factor'라 칭하기로 한다) 그래프상의 최소 사이클(cycle)의 길이가 최대가 되고, 상기 블록 LDPC 부호의 부호화를 위한 복잡도가 최소가 되고, 상기 블록 LDPC 부호의 factor 그래프상의 차수 분포가 최적 1의 분포를 가지면서도 다양한 부호화율을 지원하는 가변 부호화율 블록 LDPC 부호의 부호화 및 복호 장치 및 방법을 제안한다.
특히, 차세대 이동 통신 시스템은 패킷 서비스 통신 시스템(packet service communication system) 형태로 발전되어 왔으며, 패킷 서비스 통신 시스템은 버스트(burst)한 패킷 데이터(packet data)를 다수의 이동국들로 전송하는 시스템으로서, 대용량 데이터 전송에 적합하도록 설계되어 왔다. 특히, 상기 데이터 전송량을 증가시키기 위해 복합 자동 재전송 요구(HARQ: Hybrid Automatic Retransmission Request, 이하 'HARQ'라 칭하기로 한다) 방식과 적응적 변조 및 부호화(AMC: Adaptive Modulation and Coding, 이하 'AMC'라 칭하기로 한다) 방식 등과 같은 다양한 방식들이 제안되어 있으며, 상기 HARQ 방식 및 AMC 방식 등에서는 가변 부호화율(coding rate)을 지원하므로 다양한 부호화율들을 지원하는 블록 LDPC 부호에 대한 필요성이 부각되고 있다.
상기와 같이 다양한 부호화율들을 가지는, 즉 가변 부호화율을 가지는 블록 LDPC 부호의 설계는 일반적인 LDPC 부호와 마찬가지로 패리티 검사 행렬(parity check matrix)의 설계를 통해 구현된다. 그런데, 이동 통신 시스템에서 1개의 코덱(CODEC)으로 가변 부호화율 블록 LDPC 부호를 제공하기 위해서는, 즉 다양한 부호화율들을 가지는 블록 LDPC 부호를 제공하기 위해서는 상기 패리티 검사 행렬 내에 다른 부호화율을 가지는 블록 LDPC 부호를 나타낼 수 있는 패리티 검사 행렬이 포함되는 형태가 되어야만 한다. 즉, 1개의 패리티 검사 행렬을 사용하여 2개 이상의 부호화율들을 지원할 수 있어야만 하는 것이다.
상기와 같이 1개의 패리티 검사 행렬을 사용하여 2개 이상의 부호화율들을 지원하도록 하는 대표적인 방식들로는 단축(shortening, 이하 'shortening'라 칭하기로 한다) 방식과, 천공(puncturing) 방식과, 확장(extending) 방식 및 절단(pruning) 방식 등이 있다. 그러면 여기서 상기 단축 방식과, 천공 방식과, 확장 방식 및 절단 방식에 대해서 설명하면 다음과 같다.
첫 번째로, 상기 단축 방식에 대해서 설명하기로 한다.
상기 단축 방식은 상기 패리티 검사 행렬의 행(row)의 개수는 고정시키고, 정보어(information)에 해당하는 열(column)의 개수를 감소시켜가면서 부호화율을 감소시키는 방식으로서, 다양한 부호어(codeword) 길이에 대해 다양한 부호화율을 획득하고자 할 때 유용하게 사용되는 방식이다. 그러면 여기서 상기 단축 방식을 사용하여 패리티 검사 행렬을 생성하는 동작에 대해서 설명하기로 한다.
도 4는 본 발명의 실시예에 따른 단축 방식을 사용하여 패리티 검사 행렬을 생성하는 과정을 개략적으로 도시한 도면이다.
상기 도 4를 참조하면,
Figure 112005053928219-PAT00002
는 부호화율 Ri와, 부호어 길이 Ni와, 정보어 길이 Ki를 가지는 블록 LDPC 부호의 패리티 검사 행렬을 나타내며, i<j이면
Figure 112005053928219-PAT00003
의 관계를 가진다.
상기
Figure 112005053928219-PAT00004
의 패리티 검사 행렬에 상응하는 블록 LDPC 부호(이하 '
Figure 112005053928219-PAT00005
-블록 LDPC 부호'라 칭하기로 한다)로부터
Figure 112005053928219-PAT00006
의 패리티 검사 행렬에 상응하는 블록 LDPC 부호(이하 '
Figure 112005053928219-PAT00007
-블록 LDPC 부호'라 칭하기로 한다)로 변경되는 과정은
Figure 112005053928219-PAT00008
-블록 LDPC 부호의 처음
Figure 112005053928219-PAT00009
개의 정보어 비트(information bits)들이 모두 0으로 고정되어 있다고 가정하면 쉽게 유추할 수 있다. 또한, 상기
Figure 112005053928219-PAT00010
-블록 LDPC 부호 이외의
Figure 112005053928219-PAT00011
-블록 LDPC 부호 역시 상기
Figure 112005053928219-PAT00012
-블록 LDPC 부호의
Figure 112005053928219-PAT00013
개의 정보어 비트들을 0으로 고정시킴으로써 쉽게 생성할 수 있다.
따라서, 상기 도 4에서 설명한 바와 같이 상기 단축 방식을 사용하여 패리티 검사 행렬을 생성하는 동작에서 해당 블록 LDPC 부호의 부호화율은 하기 수학식 1과 같이 나타낼 수 있다.
Figure 112005053928219-PAT00014
상기 수학식 1에서 i<j인 경우, 상기 수학식 1은 하기 수학식 2와 같이 나타낼 수 있다.
Figure 112005053928219-PAT00015
상기 수학식 2에 나타낸 바와 같이, 상기 단축 방식을 사용하여 패리티 검사 행렬을 생성할 경우의 부호화율이 감소됨을 알 수 있다.
또한, 상기 도 4에서 상기 패리티 검사 행렬
Figure 112005053928219-PAT00016
이 최대 랭크(full rank)를 갖는다고 가정하면, 상기 단축 방식을 사용하여 패리티 검사 행렬을 생성한다고 하더라도 상기 단축 방식을 사용하여 생성된 패리티 검사 행렬의 행의 개수는 일정하게 유지되므로, 정보어 길이는 짧아지는 반면에 패리티 길이는 그대로 유지되어 부호화율이 감소함을 알 수 있다.
일반적으로, 미리 설정되어 있는 패리티 검사 행렬에서 패리티에 상응하는 열을 제거할 경우, 상기 패리티에 상응하는 열을 제거하지 않을 경우에 생성되는 부호어 집합과는 전혀 상이한 부호어 집합이 생성되므로, 상기 단축 방식은 정보어에 해당하는 열을 제거하는 것을 기본 원칙으로 한다.
두 번째로, 상기 천공 방식에 대해서 설명하기로 한다.
상기 천공 방식은 컨벌루셔널 부호를 기본으로 하는 부호의 경우와 마찬가지로 부호화기로부터 생성된 패리티를 모두 송신하지 않고 상기 생성된 패리티 중의 일부만 송신함으로써 부호화율을 증가시키는 방식이다. 상기 천공 방식은 생성된 패리티의 전부를 송신하지는 않지만 실질적으로는 패리티 검사 행렬에는 변화가 없는 것으로 간주할 수 있다. 따라서, 상기 단축 방식과 같이 패리티 검사 행렬의 열과 행을 삭제하는 방식과는 상이한 방식이다. 상기 천공 방식을 사용하여 패리티 검사 행렬을 생성하는 동작에 대하여 살펴보면 다음과 같다.
먼저, 주어지는 블록 LDPC 부호의 부호어를 정보어와 패리티로 구분할 경우, 상기 정보어와 패리티 역시 블록 단위로 생각하여 구분할 수 있으며, 따라서 상기 주어지는 블록 LDPC 부호의 부호어는 하기 수학식 3과 같이 나타낼 수 있다.
Figure 112005053928219-PAT00017
상기 수학식 3에서,
Figure 112005053928219-PAT00018
Figure 112005053928219-PAT00019
Figure 112005053928219-PAT00020
크기의 행 벡터(row vector)를 나타낸다.
한편, 균일한 패턴의 패리티 천공을 통하여 전송하는 부호어는 하기 수학식 4와 같이 나타낼 수 있다. 즉, 하기 수학식 4는 상기 패리티에 대응되는 패리티 파트(parity part)에서 짝수 번째(even) 블록들의 천공에 따른 블록 LDPC 부호의 부호어를 나타낸다.
Figure 112005053928219-PAT00021
상기 수학식 4에서,
Figure 112005053928219-PAT00022
는 상기 천공에 따른 블록 LDPC 부호의 부호어를 나타낸다. 상기 수학식 4에 나타낸 바와 같은 부호어는 결과적으로 부호화율 2/3인 블록 LDPC 부호의 부호어와 동일하게 된다. 즉, 상기 천공 방식을 사용할 경우에는 부호화율은 변하지만 그 정보어의 길이는 동일하게 유지된다.
한편, 상기 천공 방식을 사용하여 생성한 블록 LDPC 부호의 부호어에 대한 복호시에는 상기 천공된 패리티 비트를 삭제(erasure)로 생각함으로써, 원래의 패리티 검사 행렬을 그대로 사용한다. 즉, 상기 천공된 패리티 비트가 송신되는 채널로부터 입력되는 LLR(Log-Likelihood Ratio) 값을 항상 0으로 간주하면, 복호시에는 원래의 패리티 검사 행렬을 그대로 사용할 수 있게 되는 것이다.
따라서, 천공된 패리티에 대응되는 노드는 복호 과정에서 반복 복호(iterative decoding)에 따른 성능 개선 혹은 성능 열화에 전혀 영향을 주지 않으며, 단지 다른 노드들로부터 전달되는 메시지들이 이동하는 경로로서의 역할을 수행할 뿐이다. 그러면 여기서 상기 천공 방식을 사용하여 생성한 블록 LDPC 부호의 부호어에 대한 복호 과정에서 상기 천공 방식을 사용함에 따라 천공된 패리티에 대응되는 노드의 역할에 대해서 설명하기로 한다.
상기 도 5a 내지 도 5d는 본 발명의 실시예에 따른 천공 방식을 사용하여 생성된 블록 LDPC 부호의 부호어에 대한 복호 과정에서 천공된 패리티에 대응되는 노드의 역할을 설명하기 위해 도시한 도면이다.
상기 도 5a 내지 도 5d를 설명하기에 앞서, 상기 도 5a 내지 도 5d에 도시한
Figure 112005053928219-PAT00023
는 상기 천공된 패리티에 대응되는 노드를 나타내며, 도시한 화살표들은 실제 메시지가 전달되는 방향을 나타낸다.
먼저, 상기 도 5a에 도시한 바와 같이 천공된 패리티에 대응되는 노드에 LLR 값 '0'이 입력됨을 알 수 있다. 이후, 상기 도 5a에 도시한 채널로부터의 메시지 입력은 상기 도 5b에 도시한 바와 같이 첫 번째 복호 과정에서 검사 노드(check node)로 전달된다. 상기 도 5b에서 변수 노드들은 입력된 메시지, 즉 심볼 확률값과 연결된 검사 노드로 전달된다. 이때, 상기 패리티에 대응되는 노드는 LLR 값 '0'을 상기 연결된 검사 노드들로 전달한다.
한편, 상기 검사 노드들은 상기 검사 노드들에 연결된 변수 노드들로부터 입력되는 확률값들을 사용하여 소정의 연산을 수행하여 상기 변수 노드들 각각으로 전달할 확률값을 계산하고, 상기 계산한 확률값들을 해당 변수 노드들로 전달한다. 이때, 상기 검사 노드에서 천공된 패리티에 대응되는 노드와 연결되어 있는 모든 노드들로 전달되는 메시지는 상기 도 5c에 도시한 바와 같이 '0'이 된다. 또한, 상기 천공된 패리티에 대응되는 노드로 전달되는 메시지는 0이 아니며, 상기 천공된 패리티에 대응되는 노드들로 전달된 메시지들은 상기 도 5d에 도시한 바와 같이 상호간에 영향을 미치지 않고 각각의 경로에 상응하게 전달된다.
이후의 복호 과정은 일반적인 LDPC 부호의 복호 과정과 동일하며, 상기 천공된 패리티에 대응되는 노드는 지속적으로 복호에 따른 성능 개선에 영향을 미치지 않고 단순히 메시지들의 전달 경로로서만 그 역할을 수행하게 되는 것이다.
상기에서 설명한 바와 같이, 상기 천공 방식을 사용하면 부호화 및 복호시 최초에 구비하고 있는 부호화기 및 복호기를 그대로 사용할 수 있다. 즉, 상기 천공 방식은 부호화 복잡도와 복호 복잡도가 부호화율과 블록(부호어) 길이에 상관없이 거의 일정하며, 정보어 길이는 고정되고 패리티의 길이만을 가변시켜 부호화율을 가변시키기 때문에 그 신뢰성이 높다. 상기 천공 방식을 사용하여 생성한 블록 LDPC 부호는 그 천공 패턴(puncturing pattern)에 따라 그 성능이 상이해질 수 있으므로 상기 천공 패턴을 설계하는 것 역시 중요한 요인으로 작용한다.
세 번째로, 상기 확장 방식에 대해서 설명하기로 한다.
상기 확장 방식은 상기 패리티 검사 행렬의 독립적인 행의 개수를 증가시켜가면서 부호화율을 감소시키는 방식이다. 여기서, 상기 블록 LDPC 부호의 패리티 검사 행렬의 행의 개수를 증가시킨다는 것은 부호어가 만족해야하는 검사 방정식(check equation)의 수가 증가한다는 것을 나타낸다. 상기 검사 방정식의 수가 증가하면 상기 검사 방정식을 만족시키는 부호어의 수가 감소한다. 따라서, 상기 확장 방식을 이용하는 경우, 고정된 부호어 길이에서 블록 LDPC 부호의 패리티 비트의 수가 증가하게 됨에 따라 부호화율은 감소한다. 그러면 여기서 상기 확장 방식을 사용하여 패리티 검사 행렬을 생성하는 동작에 대해서 설명하기로 한다.
도 6은 본 발명의 실시예에 따른 확장 방식을 사용하여 패리티 검사 행렬을 생성하는 과정을 개략적으로 도시한 도면이다.
상기 도 6을 참조하면,
Figure 112005053928219-PAT00024
는 부호화율 Ri와, 부호어 길이 Ni와, 정보어 길이 Ki를 가지는 블록 LDPC 부호의 패리티 검사 행렬을 나타내며, i<j이면
Figure 112005053928219-PAT00025
의 관계를 가진다.
여기서, 상기 도 6에 도시되어 있는 블록 LDPC 부호의 패리티 검사 행렬들 각각이 최대 랭크 Mi를 가진다고 가정하면, 상기 블록 LDPC 부호의 패리티 검사 행렬들 각각에 상응하게 생성되는 부호의 부호화율은 하기 수학식 5와 같이 나타낼 수 있다.
Figure 112005053928219-PAT00026
상기 수학식 5에서, 상기 Ni는 패리티 검사 행렬의 열의 수를 나타내고, 상기 Mi는 독립적인 행의 수를 나타낸다. 상기 수학식 5에 나타낸 바와 같이, 확장법을 적용하면 모든 i에 대해 상기 최대 랭크 Mi는 증가하기 때문에 부호화율 Ri는 감소한다.
한편, 상기에서 설명한 확장 방식과는 반대로,
Figure 112005053928219-PAT00027
과 같이 부호화율이 매우 낮은 패리티 검사 행렬을 기준으로 행을 제거해 나가는 방식으로 부호화율이 높은 패리티 검사 행렬을 생성할 수도 있음은 물론이다.
네 번째로, 상기 절단 방식에 대해서 설명하기로 한다.
상기 절단 방식은 상기 패리티 검사 행렬의 독립적인 행의 개수를 감소시켜가면서 부호화율을 증가시키는 방식이다. 여기서, 상기 블록 LDPC 부호의 패리티 검사 행렬의 행의 개수를 감소시킨다는 것은 부호어가 만족해야하는 검사 방정식(check equation)의 수가 감소한다는 것을 나타낸다. 상기 검사 방정식의 수가 감소하면 상기 검사 방정식을 만족시키는 부호어의 수가 증가한다. 따라서, 상기 절단 방식을 이용하는 경우, 고정된 부호어 길이에서 패리티 비트의 수가 감소하게 됨에 따라 부호화율은 증가한다. 그러면 여기서 상기 절단 방식을 사용하여 패리티 검사 행렬을 생성하는 동작에 대해서 설명하기로 한다.
도 7은 본 발명의 실시예에 따른 절단 방식을 사용하여 패리티 검사 행렬을 생성하는 과정을 개략적으로 도시한 도면이다.
상기 도 7을 참조하면,
Figure 112005053928219-PAT00028
는 부호화율 Ri와, 부호어 길이 Ni와, 정보어 길이 Ki를 가지는 블록 LDPC 부호의 패리티 검사 행렬을 나타내며, i<j이면
Figure 112005053928219-PAT00029
의 관계를 가진다.
상기 도 7에 도시한 바와 같이, 상기 도 7은 상기 도 6에 나타낸 확장 방식에 대해 역과정으로 이루어진다. 따라서, 상기 절단 방식을 이용하면 상기 도 6에 나타낸 확장 방식 즉, 고정된 부호어 길이에서 패리티 비트의 수가 증가함에 따라 부호화율이 감소되는 방식과는 달리, 상기 절단 방식은 고정된 부호어 길이에서 패리티 비트의 수가 감소하게 되므로 부호화율이 증가된다.
이상에서 살펴본 바와 같은 네 가지 방식 즉, 단축 방식, 천공 방식, 확장 방식 및 절단 방식을 이용하여 다양한 가변 부호화율의 블록 LDPC 부호가 제안되었으며, 이를 정리하면 다음과 같다.
먼저, 상기 천공 방식만을 이용한 가변 부호화율의 블록 LDPC 부호의 경우를 살펴보면, 상기 천공 방식만을 이용하는 방법은 가장 낮은 부호화율의 LDPC 부호를 설계하고, 높은 부호화율들에 대해서는 상기 천공 방식만을 이용하여 구성하는 방법이다.
다음으로, 상기 확장 방식을 이용한 가변 부호화율의 블록 LDPC 부호의 경우를 살펴보면, 상기 확장 방식만을 이용하는 방법은 가장 높은 부화화율의 LDPC 부호를 설계하고, 낮은 부호화율들에 대해서는 상기 확장 방식만을 이용하여 구성하는 방법이다.
다음으로, 상기 천공 방식과 확장 방식을 이용한 가변 부호화율의 블록 LDPC 부호의 경우를 살펴보면, 상기 천공 방식과 확장 방식을 이용하는 방법은 중간 정도의 부호화율의 LDPC 부호를 설계하고, 이보다 낮은 부호화율들에 대해서는 상기 확장 방식을 이용하고, 높은 부호화율들에 대해서는 상기 천공 방식을 이용하여 구성하는 방법이다.
다음으로, 상기 천공 방식과 확장 방식을 이용한 가변 부호화율의 블록 LDPC 부호의 경우를 살펴보면, 상기 천공 방식과 단축 방식을 이용하는 방법은 중간 정도의 부호화율의 LDPC 부호를 설계하고, 이보다 낮은 부호화율들에 대해서는 상기 단축 방식을 이용하고, 높은 부호화율들에 대해서는 상기 천공 방식을 이용하여 구 성하는 방법이다.
한편, 이상에서 살펴본 바와 같이, 현재까지 제안된 방법들은 특정 부호화율에 대하여 성능이 우수한 블록 LDPC 부호를 우선적으로 설계하고, 그 외의 부호들에 대해서는 상기한 천공 방식, 단축 방식, 확장 방식 및 절단 방식 등을 통하여 설계하였다. 하지만, 이러한 방법들은 모든 부호화율에 대해서 그 부호화율에 해당하는 성능이, 우수한 성능을 가지는 블록 LDPC 부호에 비하여 떨어지는 문제점이 있을 수 있다.
따라서, 이하에서는 단축 방식, 천공 방식, 확장 방식 및 절단 방식의 부호화율을 조절하여 가변 부호화율 블록 LDPC 부호를 설계하는 방안 및 그 필요성에 대하여 살펴보기로 한다.
먼저, 상기한 부호화율 조절 방법과 블록 LDPC 부호의 Tanner 그래프와의 연관성에 대하여 설명하기로 한다.
상기 단축(shortening) 방식은, LDPC 부호의 부호화율을 낮추기 위해서 정보 노드의 특정 위치들에 알고 있는 값 즉, 일반적으로 0을 입력한다. 이에 해당하는 정보 노드를 "알고 있는 정보 노드(Known information node)"라고 한다. 상기 알고 있는 정보 노드에서 검사 노드로 전달하는 LLR 메시지는 양의 무한대(
Figure 112005053928219-PAT00030
) 값이다. 즉, 하기 수학식 6으로부터 상기 정보 노드에서 검사 노드로 연결되는 선은 제거된다는 것을 알 수 있다.
Figure 112005053928219-PAT00031
상기 수학식 6에서, mu는 검사 노드에서 변수 노드로 전달하는 메시지를 나타내며, mi는 변수 노드에서 검사 노드로 전달하는 메시지를 나타낸다. 이때, 상기 알고 있는 정보 노드에서 검사 노드로 전달되는 메시지
Figure 112005053928219-PAT00032
이고,
Figure 112005053928219-PAT00033
이다. 즉, 곱셈에서 1이므로 고려 사항이 아닌 노드가 된다. 따라서 상기 선은 검사 노드로부터 제거할 수 있다. 즉, 검사 노드의 차수가 감소한다는 것을 알 수 있다.
다음으로, 상기 천공(puncturing) 방식은 LDPC 부호의 부호화율을 높이기 위해서 패리티 노드와 정보 노드를 포함하는 변수 노드의 특정 위치들을 천공한다. 일반적으로, 상기 천공 방식에서는 차수가 낮은 패리티 노드를 천공한다. 또한 복호할 때 채널로부터 천공된 변수 노드로 전달되는 LLR 메시지는 0에 해당한다. 통상적으로 검사 노드에서 변수 노드로 전달하는 메시지를 계산할 때 상기 변수 노드에 천공된 노드가 포함되어 있으면, 그렇지 않은 경우에 비하여 메시지의 신뢰도가 낮아진다.
상기 검사 노드의 메시지의 신뢰도는 상기 검사 노드의 차수가 커질수록 감 소하므로, 상기 천공 방식은 상기 검사 노드의 차수를 증가시키는 효과가 있다. 상기 검사 노드의 차수가 증가하는 효과에 대한 크기는 LDPC 부호의 구조와 그에 따른 천공 패턴에 따라 달라질 수 있다. 이에 대해서는 후술하는 본 발명의 제1 실시예 및 제2 실시예를 통하여 설명하므로, 여기서는 그 상세한 설명은 생략하기로 한다.
다음으로, 상기 확장(Extending) 방식은 LDPC 부호의 부호화율을 높이기 위해서 변수 노드의 차수를 증가시키는 방식이다. 일반적으로, 상기 확장 방식은 변수 노드 중에서 정보 노드의 차수를 증가시킨다.
다음으로, 상기 절단(Pruning) 방식은 상기 확장 방식과는 반대로, 변수 노드에 연결되어 있는 선들 중에서 독립적인 검사 노드에 연결되어 있는 선을 절단하는 방식이다. 일반적으로, 상기 절단 방식은 정보 노드에 대하여 이루어지고, 정보 노드의 차수는 감소한다.
이상에서 설명한 바와 같이, 상기 천공 방식만을 이용하는 방법은 단지 검사 노드의 차수만을 변화시키면서 LDPC 부호의 부호화율을 조절하는 방법이다. 상기 확장 방식만을 이용하는 방법은 단지 변수 노드의 차수만을 변화시키면서 LDPC 부호의 부호화율을 조절하는 방법이다. 상기 천공 방식과 확장 방식을 이용하는 방법은 모 부호(mother code)로부터 낮은 부호화율들은 변수 노드의 차수를 증가시키고, 높은 부호화율들은 검사 노드의 차수를 증가시키면서 LDPC 부호의 부호화율을 조절하는 방법이다. 상기 천공 방식과 단축 방식을 이용하는 방법은 모 부호로부터 낮은 부호화율들은 검사 노드의 차수를 감소시키고, 높은 부호화율들은 검사 노드 의 차수를 증가시키면서 LDPC 부호의 부호화율을 조절하는 방법이다.
여기서, 각 부호화율마다 성능이 우수한 LDPC 부호에 대하여 검사 노드의 차수와 변수 노드의 차수를 살펴보면, 부호화율이 변화함에 있어서 검사 노드의 차수와 변수 노드의 차수가 동시에 변화하는 경우와, 검사 노드의 차수만 변화하는 경우 및 변수 노드의 차수만 변화하는 경우가 모두 나타날 수 있다.
하지만, 상기에서 제안된 가변 부호화율 블록 LDPC 부호들은 상기한 검사 노드의 차수와 변수 노드의 차수가 동시에 변화하는 경우는 지원하지 못한다. 특히, 넓은 범위의 부호화율은 검사 노드의 차수와 변수 노드의 차수가 동시에 변화한다. 그러므로 기존의 가변 부호화율 LDPC 부호는 지원해야 하는 부호화율의 범위가 넓은 경우에 성능 열화가 심하게 발생하는 문제점이 있다.
따라서, 이하 본 발명의 실시예에서는 상기의 경우를 모두 만족시킬 수 있는 가변 부호화율 블록 LDPC 부호를 설계하는 방안을 제안한다.
즉, 본 발명의 실시예에서는 예컨대, 부호화율
Figure 112005053928219-PAT00034
을 하나의 패리티 검사 행렬로 지원해 줄 수 있는 가변 부호화율의 블록 LDPC 부호를 설계하는 방안을 제안한다. 이를 위하여 본 발명에서는 예컨대, 하기와 같이 5단계로 구분하고, 이러한 동작 과정을 통해 상기 가변 부호화율의 블록 LDPC 부호를 설계할 수 있다.
단계 1: 먼저 부호화율이 Rm인 경우에 대해 밀도 진화 방법을 이용하여 차수 분포의 최적화를 수행한다. 여기서, 상기 최적화의 결과로써 얻어진 차수 분포에서 전체 변수 노드에 대한 차수가
Figure 112005053928219-PAT00035
인 변수 노드의 비율을 fm,j라 가정하면, 상기 fm,j와 가지(edge)의 차수 분포
Figure 112005053928219-PAT00036
는 하기 수학식 7과 같은 관계를 이용하여 상호 간에 변형이 가능해진다.
Figure 112005053928219-PAT00037
여기서, 검사 노드의 차수를 dc,m이라 가정한다.
단계 2: 임의의
Figure 112005053928219-PAT00038
에 대해, 이전 단계에서 구한 차수 분포로부터 각 변수 노드의 차수가 증가하거나 일치해야 한다는 조건을 만족시키면서 블록 LDPC 부호의 변수 노드의 차수 분포
Figure 112005053928219-PAT00039
를 구한다. 단, 상기 검사 노드의 차수에 대한 별도의 제약 조건은 없다. 또한, 상기 단계 2에서는, 각 변수 노드의 차수 분포를 비교하여 절단 패턴을 구성한다. 여기서, 변수 노드의 차수가 줄어드는 경우가 상기 절단에 해당된다.
단계 3: m 개의 LDPC 부호를 동일한 패리티 검사 행렬로 표현하기 위해서는 검사 노드의 차수를 일치시켜야 한다. 즉, m 개의 패리티 검사 행렬을 하나의 검사 행렬로 표현하기 위해서는 반드시 m 개의 패리티 검사 행렬의 행(row)당 1의 개수 가 일치되어야 하며, 이는 상기 검사 노드의 차수를 일치시키는 과정과 같다.
상기 일치된 검사 노드의 차수 dc는 하기 수학식 8에 의해 구할 수 있으며, 상기와 같이 구해진 값은 가변 부호화율 블록 LDPC 부호의 검사 노드 차수가 된다. 즉, m 개의 블록 LDPC 부호는 성능의 변화 없이 상기 검사 노드의 차수가 dc인 m 개의 천공된(punctured) LDPC 부호로 변화된다. IRA(Irregular Repeat Accumulate) 부호, CZZ(Concatenated Zigzag) 부호, 블록 LDPC 부호 등과 같이 구조화된 LDPC 부호의 경우에 상기 dc는 하기 수학식 8에 의해 구할 수 있다.
Figure 112005053928219-PAT00040
상기 수학식 8에서 상기 gcd는 최대 공약수를 나타낸다.
상기와 같이 LDPC 부호가 성능 열화 없이 천공된 LDPC 부호로 변화되는 과정은 LDPC 부호의 구조에 따라 달라질 수 있다. 즉, 상기 IRA 부호, 블록 LDPC 부호는 방법이 다르다. 이에 대한 상세한 설명은 후술하는 실시예 1과 실시예 2를 통하여 설명하기로 한다.
단계 4: 상기 m 개의 천공된 LDPC 부호를 하나의 가변 부호화율 LDPC 부호로 결합한다. 이때, 상기 단계 3에 의해서 생성된 상기 m 개의 천공 패턴을
Figure 112005053928219-PAT00041
라고 가정하고, 만약 하기 <조건 1>을 만족하면, 상기 m 개의 천공된 LDPC 부호가 하나의 가변 부호화율 LDPC 부호로 구성되는 과정에 서 성능 열화가 전혀 발생되지 않는다.
<조건 1>
모든 i에 대하여 (Pi)는 (Pj), j=j+1, ..., m의 소인수이다.
단계 5: 상기 <조건 1>이 만족되지 않는 경우 상기 단계 3에서 생성된 m 개의 천공 패턴들에 대하여 가변 부호화율의 성질을 부여한다. 이때, 기존의 천공 패턴들이 가능한 유지되도록 설계하며, 단, 하기 <조건 2>를 만족시켜야 한다.
<조건 2>
낮은 부호화율에 해당하는 천공 패턴의 성질을 가능한 유지하면서 가변 부호화율의 천공 패턴들을 구성한다.
다음으로, 이하에서는 상기한 단계 3에서 LDPC 부호와 동일한 천공된 LDPC 부호로 전환되는 과정을 상기한 IRA 부호와 블록 LDPC 부호를 이용하여 하기 제1 실시예 및 제2 실시예를 통해 살펴보기로 한다. 이러한 방법은 일반적인 LDPC 부호에 대하여도 적용 가능함은 물론이다.
본 발명의 실시예들을 설명하기에 앞서, 본 발명에서 제안되는'논리적(logical) 검사 노드 차수'라는 개념을 정의하면 다음과 같다.
<논리적 검사 노드 차수>
통상적으로, 검사 노드 차수는 LDPC 부호를 나타내는 Tanner 그래프 또는 biparti 그래프에서 검사 노드에 연결되어 있는 선의 수를 나타낸다. 또한 검사 노드에서 변수 노드로 전달되는 메시지의 신뢰도는 검사 노드의 차수가 작을수록 높 아진다. 이에 LDPC 부호 A의 검사 노드 차수를 dc,A라 하고, LDPC 부호 B의 검사 노드의 차수를 dc,B라 하고, LDPC 부호 C의 검사 노드의 차수를 dc,C라고 가정하고, 상기 각 검사 노드의 착수들 즉, dc,A, dc,B 및 dc,C는 하기 수학식 9를 만족한다고 가정한다.
Figure 112005053928219-PAT00042
이때, 상기 LDPC 부호 B에 천공을 한다면, 상기 LDPC 부호 B의 검사 노드에서 변수 노드로 전달되는 메시지의 신뢰도는, 상기 LDPC 부호 A의 경우에 비해서 떨어지게 된다. 이때, 상기 메시지의 신뢰도와 동일한 신뢰도를 갖는 LDPC 부호 C가 존재한다면, 상기 dc,C를 상기 LDPC 부호 B의 논리적 검사 노드 차수라고 하고, 하기 수학식 10과 같이 나타낼 수 있다.
Figure 112005053928219-PAT00043
<제1 실시예>
도 8은 본 발명의 실시예에 따른 부호화율이 1/2인 (8,4)-IRA 부호의 Tanner 그래프의 예를 도시한 도면이다.
상기 도 8을 참조하면, 상기 도 8은 빠른 부호화가 가능하며 우수한 성능을 보여주는 구조화된 LDPC 부호인 IRA 부호에 대하여 상기한 단계 3의 과정을 나타낸 것이다.
상기 도 8에 도시한 바와 같이, 참조후보 810의 검은색 원은 패리티 노드를 나타내고, 참조부호 820의 흰색 원은 정보 노드를 나타내고, 참조부호 830의 해칭 원은 항상 0의 값을 가지는 기준 노드를 나타낸다. 여기서, 상기 기준 노드는 전송되는 값이 아니므로 부호화율 계산에서는 제외되며, 또한 천공은 패리티 비트에 대해서만 이루어진다.
이때, 천공 패턴 (p)는 p 개의 패리티 비트들 마다 마지막 p-1 개의 패리티 비트들을 천공한다는 것을 나타낸다. 상기 IRA 부호의 검사 노드 차수를 수식으로 표현하면 하기 수학식 11과 같이 나타낼 수 있다.
Figure 112005053928219-PAT00044
즉, 검사 노드 차수가
Figure 112005053928219-PAT00045
인 상기 IRA 부호는 검사 노드 차수가 dc이면서 천공 패턴이 (p)인 천공된 IRA 부호와 성능 면에서 동일하다.
<제2 실시예>
도 9는 본 발명의 실시예에 따른 블록 LDPC 부호의 Tanner 그래프의 예를 도시한 도면이다.
상기 도 9를 참조하면, 참조후보 910의 검은색 원은 패리티 노드를 나타내 고, 참조부호 920의 흰색 원은 정보 노드를 나타내며, 상기 도 9는 블록 LDPC 부호에 대하여 상기한 단계 3의 과정을 나타낸 것이다. 상기 도 9에 도시한 바와 같이, 상기 도 9는 간단한 블록 LDPC 부호의 구조로서 기본 행렬에서 패리티 비트 수가 3이고, 순환 행렬의 크기가 3인 경우를 나타낸다. 이때, 천공은 패리티 비트에 대해서만 이루어지며, 천공 패턴 (p)는 p 개의 패리티 비트들 마다 마지막 p-1 개의 패리티 비트들을 천공한다는 것을 나타낸다. 상기 블록 LDPC 부호의 검사 노드 차수를 수식으로 표현하면 하기 수학식 12와 같이 나타낼 수 있다.
Figure 112005053928219-PAT00046
이때, 상기 블록 LDPC 부호에 대하여 천공 패턴을 적용함에 있어서 그룹 단위로 천공을 수행한다.
즉,
Figure 112005053928219-PAT00047
는 블록 LDPC 부호에서 생성되는 패리티 비트들이라고 가정하고, 패리티 비트들을 먼저 Nq 개의 소정의 그룹(Group)으로 나눈다. 여기서 상기 Ng은 블록 LDPC 부호의 기본 패리티 검사 행렬(base parity-check matrix)에서 패리티 비트의 수를 나타낸다. 또한, 상기 각 그룹은 Ne 개의 패리티 비트들을 포함한다. 상기 Ne는 순환 행렬의 크기를 나타낸다. 그러면, 상기 블록 LDPC 부호에서 생성되는 패리티 비트 Np는 상기 Ng와 Ne에 대하여 하기 수학식 13과 같이 나타낼 수 있다.
Figure 112005053928219-PAT00048
또한, 각 그룹들에 대한 패리티 비트들은 하기 수학식 14와 같이 나누어진다.
Figure 112005053928219-PAT00049
상기 수학식 14에 나타낸 바와 같이, 각 그룹 내의 패리티 비트들의 천공 여부는 동일하다. 즉, 상기 G(i)가 천공되었다는 것은 G(i)에 속하는 모든 패리티 비트들이 천공된다는 것을 의미한다. 상기와 같이 천공 패턴 (pG)는 그룹 단위로 적용된다. 예를 들면, 천공 패턴 (2)는 G(i), i=1,3,5,7, ...의 그룹에 속해 있는 모든 패리티 비트들이 천공된다는 것을 의미한다.
다음으로 이하에서는, 상기에서 살펴본 바와 같은 상기 IRA 부호의 구성을 기반으로 하여 가변 부호화율의 LDPC 부호를 설계하는 과정을 상세하게 알아보도록 한다. 즉, 상기 IRA 부호를 예로 하여 부호화율 1/6, 3/8, 3/4 및 24/25를 지원할 수 있는 가변 부호화율의 LDPC 부호를 설계한다.
먼저, 각 부호화율에 대하여 성능이 우수한 IRA 부호를 하기의 <표 1>의 예와 같이 각각 설계한다. 이때, 상기한 설계는 밀도 진화 기법을 이용하여 이루어진다. 여기서, 상기 밀도 진화 기법에 대해서는 공지된 기술로서, 이러한 과정은 본 발명의 범위를 벗어나는 것이므로 그 상세한 설명은 생략하기로 한다.
Figure 112005053928219-PAT00050
다음으로, 상기 <표 1>과 같이 설계된 상기 네 종류의 IRA 부호에 대해서, 검사 노드의 차수를 일치시켜야 한다. 상기 검사 노드의 차수를 일치시키는 과정은 4개의 패리티 검사 행렬을 하나로 결합하기 위한 필수 조건이다. 이때, 상기한 수학식 8에 의해서 검사 노드의 차수 빼기 2인 1, 3, 12, 96의 최대 공약수 값으로부터 일치시켜야 하는 검사 노드의 차수를 구한다. 즉, 각 부호는 검사 노드의 차수가
Figure 112005053928219-PAT00051
인 천공된 IRA 부호로 변환된다.
이때, 상기 부호화율 1/6에 대해서는, 설계된 부호의 검사 노드의 차수가 3으로 동일하므로 천공 패턴에 대한 변화는 없다. 상기 부호화율 3/8에 대해서는, 설계된 부호의 검사 노드의 차수를 5에서 3으로 변화시키면서 패리티 노드 3비트마다 2비트씩 천공한다. 즉, 천공 패턴은 (3)이 된다. 상기 부호화율 3/4에 대해서는, 설계된 부호의 검사 노드의 차수를 14에서 3으로 변화시키면서 패리티 노드 12비트마다 11비트씩 천공한다. 즉, 천공 패턴은 (12)이 된다. 상기 부호화율 24/25에 대해서는, 설계된 부호의 검사 노드의 차수를 98에서 3으로 변화시키면서 패리티 노드 98비트마다 95비트씩 천공한다. 즉, 천공 패턴은 (96)이 된다.
다음으로, 상기한 바와 같은 각 천공 패턴들마다 가변 부호율의 성질을 부여한다. 즉, 상기한 예에서는 각 부호화율의 천공 패턴들 즉, 상기 (3), (12), (96)의 천공 패턴들이 상기한 <조건 1>을 만족한다는 것을 알 수 있다. 즉, 4개의 IRA 부호가 하나의 가변 부호화율의 LDPC 부호의 패리티 검사 행렬을 이용하여 성능의 열하 없이 표현될 수 있다.
다음으로, 상기와 같은 과정에 의해서 최종적으로 설계되는 가변 부호화율의 LDPC 부호의 예는 하기 <표 2>와 같다.
Figure 112005053928219-PAT00052
다음으로, 상기한 바와 같은 각 부호화율에 대한 천공 패턴 및 절단 패턴에 대하여 정리하면 다음과 같다.
(1) 부호화율 1/3: 모 부호(Mother code)로부터 패리티 비트를 3비트마다 2비트씩 천공함으로써 구성된다.
(2) 부호화율 3/4: 모 부호(Mother code)로부터 먼저 차수가 7인 정보 노드들에 대해서 3개의 선을 절단하여 차수가 4인 정보 노드로 만드는 절단 방식을 이용한다. 남은 패리티 비트들에 대해서 패리티 비트들 12비트마다 11비트씩 천공한다. 이때, 천공되는 11비트 중에서 2비트는 상기 (1)의 부호화율 1/3에서 천공된 비트들을 포함한다.
(3) 부호화율 24/25: 모 부호(Mother code)로부터 먼저 차수가 7인 정보 노드들에 대해서 3개의 선을 절단하여 차수가 4인 정보 노드로 만드는 절단 방식을 이용한다. 남은 패리티 비트들에 대해서 패리티 비트들 96비트 마다 95비트씩 천공한다. 이때, 천공되는 15비트 중에서 11비트는 상기 (2)의 부호화율 3/4에서 천공된 비트들을 포함한다.
이상에서 살펴본 바와 같이, 본 발명에서 제안하는 상기의 절차를 통해 구성되는 가변 부호화율 LDPC 부호의 성능은 도 10에 나타낸 바와 같다. 이러한 성능 그래프는 터보 부호를 이용하는 가변 부호화율 부호인 RCTC와 비교되며, 제안된 방법을 이용한 가변 부호화율의 부호의 성능이 더 우수함을 알 수 있다.
도 11은 본 발명의 실시예에 따른 통신 시스템의 송수신 구조를 개략적으로 도시한 도면이다.
상기 도 11을 참조하면, 송신기(1100)는 부호화기(encoder)(1101)와, 천공 및 절단기(1103)와, 변조기(modulator)(1105)를 포함하고, 수신기(1150)는 복조기(de-modulator)(1151)와, 0 삽입기(1153)와, 복호기(decoder)(1157)를 포함한다.
먼저, 상기 송신기(1100)에서 송신하고자 하는 정보 데이터(information data)가 발생되면, 상기 정보 데이터는 상기 부호화기(1101)로 전달된다. 상기 부호화기(1101)는 상기 정보 데이터를 미리 설정되어 있는 부호화 방식으로 부호화하여 부호화 심볼(coded symbol)로 생성한 후 상기 천공 및 절단기(1103)로 출력한다. 상기 천공 및 절단기(1103)는 상기 부호화기(1101)에서 입력되는 심볼들 중에서 시스템 설정에 따른 부호화율 정보에 상응하는 개수만큼의 부호화 심볼들을 천공하여 상기 변조기(1105)로 출력한다. 즉, 상기 천공 및 절단기(1103)는 상술한 바와 같이, 각 부호화율에 상응하여 모 부호(Mother code)로부터 설정된 차수에 상응하는 정보 노드를 생성하기 위한 정보 노드의 절단을 수행한다. 이후 상기 절단 후 남은 패리티 비트들에 대해서 각 부호화율에 상응하여 주어지는 패리티 비트들의 비트마다 각 부호화율에 상응하는 소정 비트씩 천공한다. 상기 변조기(1105)는 상기 부호화 심볼을 미리 설정되어 있는 변조 방식으로 변조하여 변조 심벌로 생성하여, 상기 송신기(1100)의 안테나를 통해 에어(air)상으로 송신한다.
이렇게, 상기 송신기(1100)에서 에어상으로 송신한 신호는 채널(channel)을 거쳐 상기 수신기(1150)의 안테나를 통해 수신되고, 상기 안테나를 통해 수신된 신호는 복조기(1151)로 전달된다. 상기 복조기(1151)는 송신기(1100)에서 전달되는 신호를 입력하여 상기 송신기(1100)의 변조기(1105)에서 적용한 변조 방식에 상응하는 복조 방식으로 복조한 후 그 복조한 신호를 상기 0 삽입기(1153)로 출력한다. 상기 0 삽입기(1153)는 상기 복조기(1151)에서 입력되는 수신 정보 비트열에 시스템 설정에 따른 각 부호화율 정보에 상응하게 0을 삽입한 후 상기 복호기(1157)로 출력한다. 상기 복호기(1157)는 상기 0 삽입기(1153)에서 출력한 신호를 입력하여 상기 송신기(1100)의 부호화기(1101)에서 적용한 부호화 방식에 상응하는 복호 방식으로 복호한 후 그 복호한 신호를 최종적으로 복원된 정보 데이터로 출력한다.
도 12는 본 발명의 실시예에 따른 가변 부호화율 블록 LDPC 부호 설계 방법을 도시한 도면이다.
상기 도 12를 참조하면, 상기 도 12는 상술한 본 발명의 가변 부호화율의 블록 LDPC 부호를 설계하는 상기 5단계를 나타낸 것으로, 먼저, 1201단계에서는 m 개의 부호화율에 대하여 소정 LDPC 부호 예컨대, 블록 LDPC 부호, IRA 부호 및 CZZ 부호 등을 설계하고 1203단계로 진행한다. 상기 1203단계에서는 상기 m 개의 LDPC 부호의 정보 노드 차수를 비교하여 절단 패턴을 생성한 후 1205단계로 진행한다.
상기 1205단계에서는 상기 m 개의 LDPC 부호의 검사 노드 차수를 일치시키고 1207단계로 진행한다. 이때, 상기 일치되는 검사 노드의 차수는 상기 수학식 8과 같이 구할 수 있다. 상기 1207단계에서는 상기 일치된 검사 노드의 차수가 구해지면, 상기 검사 노드 차수에 상응하게 m 개의 천공 패턴을 생성한 후 1209단계로 진행한다.
상기 1209단계에서는 상기 생성된 천공 패턴에 대한 주어지는 조건 즉, 상기한 <조건 1>을 만족하는지 확인한다. 이때, 상기 1209단계에서 상기 천공 패턴이 상기 <조건 1>을 만족하면, 상기 생성된 천공 패턴을 상기 가변 부호화율의 천공 패턴으로 결정한다. 반면, 상기 1209단계에서 상기 천공 패턴이 상기 <조건 1>을 만족하지 않으면, 상기 생성된 m 개의 천공 패턴들에 대하여 주어지는 조건 즉, 상기한 <조건 2>에 상응하게 가변 부호화율의 천공 패턴을 구성한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같은 본 발명은 이동 통신 시스템에서 가변 부호화율 블록 LDPC 부호를 제안함으로써 블록 LDPC 부호의 유연성을 향상시킨다는 이점을 가진다. 또한, 본 발명은 효율적인 패리티 검사 행렬을 생성함으로써 가변 부호화율 블록 LDPC 부호의 부호화 복잡도를 최소화시킨다는 이점을 가진다. 특히, 본 발명은 다양한 부호화율에 적용 가능하도록 하는 블록 LDPC 부호를 생성 가능하게 함으로써 하드웨어 복잡도를 최소화한다는 이점을 가진다.

Claims (18)

  1. 가변 부호화율을 가지는 블록 저밀도 패리티 검사(LDPC, Low Density Parity Check) 부호 설계 방법에 있어서,
    소정 개수의 부호화율에 대하여 소정 LDPC 부호를 설계하고, 상기 소정 개수의 LDPC 부호의 정보 노드 차수를 비교하여 절단 패턴을 생성하는 과정과,
    상기 소정 개수의 LDPC 부호의 검사 노드 차수를 일치시키는 과정과,
    상기 일치된 검사 노드의 차수가 구해지면, 상기 검사 노드 차수에 상응하게 소정 개수의 천공 패턴을 생성하는 과정과,
    상기 생성된 천공 패턴에 대해 주어지는 제1 조건을 만족하는지 확인하는 과정과,
    상기 천공 패턴이 상기 제1 조건을 만족하면, 상기 생성된 천공 패턴을 상기 가변 부호화율의 천공 패턴으로 결정하는 과정을 포함함을 특징으로 하는 상기 LDPC 부호 설계 방법.
  2. 제1항에 있어서,
    상기 천공 패턴이 상기 제1 조건을 만족하지 않으면, 상기 생성된 소정 개수의 천공 패턴들에 대하여 주어지는 제2 조건에 상응하게 가변 부호화율의 천공 패턴을 구성하는 과정을 포함함을 특징으로 하는 상기 LDPC 부호 설계 방법.
  3. 제2항에 있어서,
    상기 제2 조건은 낮은 부호화율에 해당하는 천공 패턴의 성질을 유지하면서 가변 부호율의 천공 패턴들을 구성하는 조건인 것을 특징으로 하는 상기 LDPC 부호 설계 방법.
  4. 제1항에 있어서,
    상기 절단 패턴을 생성하는 과정은, 각 변수 노드의 차수 분포를 비교하여 절단 패턴을 구성하고, 상기 절단 패턴은 상기 변수 노드의 차수를 줄이는 것임을 특징으로 하는 상기 LDPC 부호 설계 방법.
  5. 제1항에 있어서,
    상기 검사 노드 차수를 일치시키는 과정은, 상기 소정 개수의 패리티 검사 행렬의 행(row)당 1의 개수를 일치시키는 것을 특징으로 하며, 상기 일치되는 검사 노드의 차수는 하기와 같이 구하는 것을 특징으로 하는 상기 LDPC 부호 설계 방법.
    Figure 112005053928219-PAT00053
    단, dc는 일치된 검사 노드의 차수를 나타냄.
  6. 제1항에 있어서,
    상기 일치된 검사 노드 차수를 구하고, 상기 구해진 검사 노드 차수에 상응하는 소정 개수의 천공된(punctured) LDPC 부호로 변화시키는 과정을 포함함을 특징으로 하는 상기 LDPC 부호 설계 방법.
  7. 제6항에 있어서,
    상기 천공된 LDPC 부호로 변환은 LDPC 부호 구조에 따라 상이하게 적용하는 것을 특징으로 하는 상기 LDPC 부호 설계 방법.
  8. 제1항에 있어서,
    상기 천공 패턴 생성은, 상기 검사 노드 차수에 상응하게 변화되는 소정 개수의 천공된 LDPC 부호를 하나의 가변 부호율 LDPC 부호로 결합하는 것을 특징으로 하는 상기 LDPC 부호 설계 방법.
  9. 제1항에 있어서,
    상기 제1 조건은 모든 i에 대하여 천공 패턴 (Pi)는
    Figure 112005053928219-PAT00054
    의 소인수인 조건인 것을 특징으로 하는 상기 LDPC 부호 설계 방법.
  10. 가변 부호화율을 가지는 블록 저밀도 패리티 검사(LDPC, Low Density Parity Check) 부호를 부호화하는 장치에 있어서,
    정보 데이터를 미리 설정되어 있는 부호화 방식으로 부호화하여 부호화 심볼로 생성하는 부호화기와,
    상기 부호화기에서 입력되는 심볼들 중에서 시스템 설정에 따른 부호화율 정보에 상응하는 개수만큼의 부호화 심볼들을 천공하여 출력하는 천공 및 절단기와,
    상기 부호화 심볼을 미리 설정되어 있는 변조 방식으로 변조하여 변조 심볼로 생성하는 변조기를 포함함을 특징으로 하는 상기 LDPC 부호 부호화 장치.
  11. 제10항에 있어서,
    상기 천공 및 절단기는, 각 부호화율에 상응하여 모 부호(Mother code)로부터 설정된 차수에 상응하는 정보 노드를 생성하기 위한 정보 노드의 절단을 수행하고, 상기 절단 후 남은 패리티 비트들에 대해서 각 부호화율에 상응하여 주어지는 패리티 비트들의 비트마다 각 부호화율에 상응하는 소정 비트씩 천공하는 것을 특징으로 하는 상기 LDPC 부호 부호화 장치.
  12. 제11항에 있어서,
    상기 천공 및 절단기는, 각 변수 노드의 차수 분포를 비교하여 절단 패턴을 구성하고, 상기 절단 패턴에 상응하여 상기 변수 노드의 차수를 줄이는 것을 특징으로 하는 상기 LDPC 부호 부호화 장치.
  13. 제10항에 있어서,
    상기 천공 및 절단기는, 소정 개수의 부호화율에 대하여 LDPC 부호를 설계하고, 상기 소정 개수의 LDPC 부호의 정보 노드 차수를 비교하여 절단 패턴을 생성하고, 상기 소정 개수의 LDPC 부호의 검사 노드 차수를 일치시키고, 상기 일치된 검사 노드의 차수가 구해지면, 상기 검사 노드 차수에 상응하게 소정 개수의 천공 패턴을 생성하고, 상기 천공 패턴을 주어지는 제1 조건과 비교여 그 결과에 상응하여 가변 부호화율의 천공 패턴을 생성하는 것을 특징으로 하는 상기 LDPC 부호 부호화 장치.
  14. 제13항에 있어서,
    상기 천공 패턴이 상기 제1 조건을 만족하면, 상기 생성된 천공 패턴을 상기 가변 부호화율의 천공 패턴으로 결정하고, 상기 천공 패턴이 상기 제1 조건을 만족하지 않으면, 상기 천공 패턴들에 대하여 주어지는 제2 조건에 상응하게 가변 부호화율의 천공 패턴을 구성하는 것을 특징으로 하는 상기 LDPC 부호 부호화 장치.
  15. 제14항에 있어서,
    상기 제2 조건은 낮은 부호화율에 해당하는 천공 패턴의 성질을 유지하면서 가변 부호율의 천공 패턴들을 구성하는 조건인 것을 특징으로 하는 상기 LDPC 부호 부호화 장치.
  16. 제13항에 있어서,
    상기 천공 및 절단기는, 상기 소정 개수의 패리티 검사 행렬의 행(row)당 1의 개수 일치를 통해 상기 검사 노드 차수를 일치시키고, 상기 일치되는 검사 노드의 차수는 하기와 같이 구하는 것을 특징으로 하는 상기 LDPC 부호 부호화 장치.
    Figure 112005053928219-PAT00055
    단, dc는 일치된 검사 노드의 차수를 나타냄.
  17. 제13항에 있어서,
    상기 천공 및 절단기는, 상기 검사 노드 차수에 상응하게 변화되는 소정 개수의 천공된 LDPC 부호를 하나의 가변 부호율 LDPC 부호로 결합하여 천공 패턴을 생성하는 것을 특징으로 하는 상기 LDPC 부호 부호화 장치.
  18. 제13항에 있어서,
    상기 제1 조건은 모든 i에 대하여 천공 패턴 (Pi)는
    Figure 112005053928219-PAT00056
    의 소인수인 조건인 것을 특징으로 하는 상기 LDPC 부호 부호화 장치.
KR1020050089561A 2005-09-26 2005-09-26 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법 KR100856235B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050089561A KR100856235B1 (ko) 2005-09-26 2005-09-26 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
US11/527,193 US7802164B2 (en) 2005-09-26 2006-09-26 Apparatus and method for encoding/decoding block low density parity check codes having variable coding rate

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050089561A KR100856235B1 (ko) 2005-09-26 2005-09-26 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20070034904A true KR20070034904A (ko) 2007-03-29
KR100856235B1 KR100856235B1 (ko) 2008-09-03

Family

ID=37949514

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050089561A KR100856235B1 (ko) 2005-09-26 2005-09-26 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법

Country Status (2)

Country Link
US (1) US7802164B2 (ko)
KR (1) KR100856235B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009107990A3 (en) * 2008-02-26 2009-12-03 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding and decoding in a communication system using low-density parity-check codes
WO2009107989A3 (en) * 2008-02-26 2009-12-03 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding and decoding in a communication system using low-density parity-check codes
WO2009110722A3 (en) * 2008-03-03 2009-12-17 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
WO2011062424A2 (en) * 2009-11-18 2011-05-26 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data in a communication system
KR101125100B1 (ko) * 2010-12-03 2012-03-21 한국과학기술원 천공 기술을 활용하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법과 이를 이용하는 부호화 및 복호화 방법 및 저장 장치.
WO2012115387A3 (en) * 2011-02-22 2012-11-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting signaling information in digital broadcasting system
KR101413320B1 (ko) * 2007-06-04 2014-07-02 포항공과대학교 산학협력단 통신 시스템에서 채널 인터리빙/디인터리빙 장치 및 방법
KR20170125596A (ko) * 2016-05-04 2017-11-15 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008093717A1 (ja) * 2007-01-31 2010-05-20 パナソニック株式会社 無線通信装置およびパンクチャリング方法
US7966548B2 (en) * 2007-06-29 2011-06-21 Alcatel-Lucent Usa Inc. Method and system for encoding data using rate-compatible irregular LDPC codes based on edge growth and parity splitting
GB2455496B (en) * 2007-10-31 2012-05-30 Hewlett Packard Development Co Error detection method and apparatus
AU2013201428B2 (en) * 2008-02-26 2015-03-19 Postech Academy Industry Foundation Method and apparatus for channel encoding and decoding in a communication system using low-density parity-check codes
DK2469746T3 (da) * 2008-03-03 2019-08-05 Samsung Electronics Co Ltd Fremgangsmåde og apparat til modtagning af indkodet styringsinformation i et trådløst kommunikationssystem
KR101449750B1 (ko) * 2008-03-05 2014-10-15 삼성전자주식회사 저밀도 패리티 검사 부호 생성 장치 및 방법
US8230294B2 (en) * 2008-07-30 2012-07-24 Ciena Corporation Low density parity check (LDPC) decoder using broadcast messaging
US8166364B2 (en) 2008-08-04 2012-04-24 Seagate Technology Llc Low density parity check decoder using multiple variable node degree distribution codes
US8516351B2 (en) * 2009-07-21 2013-08-20 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
US9397699B2 (en) * 2009-07-21 2016-07-19 Ramot At Tel Aviv University Ltd. Compact decoding of punctured codes
US8375278B2 (en) * 2009-07-21 2013-02-12 Ramot At Tel Aviv University Ltd. Compact decoding of punctured block codes
US8601352B1 (en) * 2009-07-30 2013-12-03 Apple Inc. Efficient LDPC codes
US7990290B1 (en) 2010-02-03 2011-08-02 International Business Machines Corporation Efficient rateless distributed compression of non-binary sources
JP2012050008A (ja) 2010-08-30 2012-03-08 Toshiba Corp 誤り検出訂正方法および半導体メモリ装置
EP2667512B1 (en) * 2011-01-21 2017-10-25 Sun Patent Trust Encoding and decoding of tail-biting rate (n-1)/n low-density parity check convolutional codes (ldpc-cc)
US8566667B2 (en) * 2011-07-29 2013-10-22 Stec, Inc. Low density parity check code decoding system and method
US8762798B2 (en) 2011-11-16 2014-06-24 Stec, Inc. Dynamic LDPC code rate solution
US8977938B2 (en) * 2013-02-08 2015-03-10 Altera Corporation Parallel decomposition of Reed Solomon umbrella codes
WO2014127129A1 (en) 2013-02-13 2014-08-21 Qualcomm Incorporated Ldpc design using quasi-cyclic constructions and puncturing for high rate, high parallelism, and low error floor
CN105493424B (zh) * 2013-12-31 2019-02-01 华为技术有限公司 一种Polar码的处理方法、系统及无线通信装置
US9602235B2 (en) 2014-06-27 2017-03-21 Texas Instruments Incorporated Code block segmentation and configuration for concatenated turbo and RS coding
JP6325394B2 (ja) * 2014-08-25 2018-05-16 株式会社東芝 Icカード、携帯可能電子装置、及び、icカード処理装置
WO2016140511A1 (en) 2015-03-02 2016-09-09 Samsung Electronics Co., Ltd. Transmitter and method for generating additional parity thereof
KR101800414B1 (ko) * 2015-03-02 2017-11-23 삼성전자주식회사 송신 장치 및 그의 부가 패리티 생성 방법
US20160323060A1 (en) * 2015-04-28 2016-11-03 Intel IP Corporation Apparatus, computer readable medium, and method for higher qam in a high efficiency wireless local-area network
US10784901B2 (en) 2015-11-12 2020-09-22 Qualcomm Incorporated Puncturing for structured low density parity check (LDPC) codes
TWI580197B (zh) * 2016-04-27 2017-04-21 國立清華大學 低密度奇偶檢查碼之編解碼方法
US10454499B2 (en) * 2016-05-12 2019-10-22 Qualcomm Incorporated Enhanced puncturing and low-density parity-check (LDPC) code structure
US10291354B2 (en) 2016-06-14 2019-05-14 Qualcomm Incorporated High performance, flexible, and compact low-density parity-check (LDPC) code
EP3264610A1 (en) * 2016-06-27 2018-01-03 Alcatel Lucent Forward error correction with variable coding rate
US10509603B2 (en) 2016-07-29 2019-12-17 Western Digital Technologies, Inc. Hierarchical variable code rate error correction coding
US10270559B2 (en) 2016-10-04 2019-04-23 At&T Intellectual Property I, L.P. Single encoder and decoder for forward error correction coding
US10243638B2 (en) 2016-10-04 2019-03-26 At&T Intellectual Property I, L.P. Forward error correction code selection in wireless systems
US10312939B2 (en) 2017-06-10 2019-06-04 Qualcomm Incorporated Communication techniques involving pairwise orthogonality of adjacent rows in LPDC code
US10848182B2 (en) 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part
US11949436B2 (en) * 2022-08-12 2024-04-02 Qualcomm Incorporated Low-density parity-check coding scheme with varying puncturing pattern

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010037341A (ko) * 1999-10-15 2001-05-07 구자홍 콘벌루션 코드의 펑쳐링패턴 서치 방법
US7216283B2 (en) * 2003-06-13 2007-05-08 Broadcom Corporation Iterative metric updating when decoding LDPC (low density parity check) coded signals and LDPC coded modulation signals
US7702986B2 (en) * 2002-11-18 2010-04-20 Qualcomm Incorporated Rate-compatible LDPC codes
US7222284B2 (en) * 2003-06-26 2007-05-22 Nokia Corporation Low-density parity-check codes for multiple code rates
TWI272777B (en) * 2003-08-08 2007-02-01 Intel Corp Method and apparatus for varying lengths of low density parity check codewords
KR100639914B1 (ko) 2003-12-26 2006-11-01 한국전자통신연구원 병렬연접 ldpc 부호의 패러티 검사 행렬 형성 방법.
KR100640399B1 (ko) * 2004-10-27 2006-10-30 삼성전자주식회사 저밀도 패리티 검사 채널 부호의 천공 방법
KR100946884B1 (ko) * 2005-07-15 2010-03-09 삼성전자주식회사 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널인터리빙/디인터리빙 장치 및 그 제어 방법

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101413320B1 (ko) * 2007-06-04 2014-07-02 포항공과대학교 산학협력단 통신 시스템에서 채널 인터리빙/디인터리빙 장치 및 방법
RU2450443C1 (ru) * 2008-02-26 2012-05-10 Самсунг Электроникс Ко., Лтд. Способ и устройство для канального кодирования и декодирования в системе связи, в которой используются коды контроля четности с низкой плотностью
WO2009107989A3 (en) * 2008-02-26 2009-12-03 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding and decoding in a communication system using low-density parity-check codes
WO2009107990A3 (en) * 2008-02-26 2009-12-03 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding and decoding in a communication system using low-density parity-check codes
US8271846B2 (en) 2008-02-26 2012-09-18 Samsung Electronics Co., Ltd Method and apparatus for channel encoding and decoding in a communication system using low-density parity-check codes
RU2454794C2 (ru) * 2008-02-26 2012-06-27 Самсунг Электроникс Ко., Лтд. Способ и устройство для канального кодирования и декодирования в системе связи, в которой используются коды контроля четности с низкой плотностью
US8176384B2 (en) 2008-02-26 2012-05-08 Samsung Electronics Co., Ltd Method and apparatus for channel encoding and decoding in a communication system using low-density-parity-check codes
US8533556B2 (en) 2008-03-03 2013-09-10 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
US8321745B2 (en) 2008-03-03 2012-11-27 Samsung Electronics Co., Ltd Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
WO2009110722A3 (en) * 2008-03-03 2009-12-17 Samsung Electronics Co., Ltd. Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
WO2011062424A3 (en) * 2009-11-18 2011-09-29 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data in a communication system
WO2011062424A2 (en) * 2009-11-18 2011-05-26 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data in a communication system
US10038576B2 (en) 2009-11-18 2018-07-31 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data in a communication system
US8707125B2 (en) 2009-11-18 2014-04-22 Samsung Electronics Co., Ltd Method and apparatus for transmitting and receiving data in a communication system
US10425258B2 (en) 2009-11-18 2019-09-24 Samsung Electronics Co., Ltd Method and apparatus for transmitting and receiving data in a communication system
US9154341B2 (en) 2009-11-18 2015-10-06 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data in a communication system
KR101125100B1 (ko) * 2010-12-03 2012-03-21 한국과학기술원 천공 기술을 활용하는 리드 솔로몬 기반 준순환 저밀도 패리티 검사 부호 생성 방법과 이를 이용하는 부호화 및 복호화 방법 및 저장 장치.
WO2012115387A3 (en) * 2011-02-22 2012-11-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting signaling information in digital broadcasting system
US9106261B2 (en) 2011-02-22 2015-08-11 Samsung Electronics Co., Ltd Method and apparatus for transmitting signaling information in digital broadcasting system
KR20170125596A (ko) * 2016-05-04 2017-11-15 삼성전자주식회사 송신 장치 및 그의 신호 처리 방법

Also Published As

Publication number Publication date
KR100856235B1 (ko) 2008-09-03
US7802164B2 (en) 2010-09-21
US20070089025A1 (en) 2007-04-19

Similar Documents

Publication Publication Date Title
KR100856235B1 (ko) 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100724922B1 (ko) 가변 부호화율을 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100739510B1 (ko) 반구조적 블록 저밀도 패리티 검사 부호 부호화/복호 장치및 방법
KR100678175B1 (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100809616B1 (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100678176B1 (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR100918763B1 (ko) 병렬 연접 저밀도 패리티 검사 부호를 사용하는 채널 부호화/복호 장치 및 방법
KR100946905B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 신호 송수신 장치 및 방법
KR100984289B1 (ko) 통신 시스템에서 가변 부호화율을 지원하는 신호 송수신장치 및 방법
KR101502623B1 (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널부호/복호 방법 및 장치
JP4598085B2 (ja) 検査行列生成方法
KR100987692B1 (ko) 통신 시스템에서 신호 송수신 장치 및 방법
RU2369008C2 (ru) Устройство и способ кодирования-декодирования блочного кода проверки на четность с низкой плотностью с переменной длиной блока
KR101009785B1 (ko) 불균일 반복 축적 부호 부호화/복호화 장치 및 방법
US8495459B2 (en) Channel-encoding/decoding apparatus and method using low-density parity-check codes
KR20050046471A (ko) 저밀도 패러티 검사 부호를 병렬 연접하는 채널부호화/복호화 장치 및 방법
KR20060093627A (ko) 통신 시스템에서 지그재그 코드를 이용한 가변 부호율-저밀도 패리티 검사 부호 생성 장치 및 방법
KR20060097503A (ko) 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널인터리빙/디인터리빙 장치 및 그 제어 방법
KR20060016061A (ko) 가변 블록 길이를 가지는 블록 저밀도 패리티 검사 부호부호화/복호 장치 및 방법
KR101502677B1 (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: 20120730

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140730

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160728

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee