KR101283862B1 - 터보 부호의 부호화 장치 및 방법 - Google Patents

터보 부호의 부호화 장치 및 방법 Download PDF

Info

Publication number
KR101283862B1
KR101283862B1 KR1020060076990A KR20060076990A KR101283862B1 KR 101283862 B1 KR101283862 B1 KR 101283862B1 KR 1020060076990 A KR1020060076990 A KR 1020060076990A KR 20060076990 A KR20060076990 A KR 20060076990A KR 101283862 B1 KR101283862 B1 KR 101283862B1
Authority
KR
South Korea
Prior art keywords
bit string
bit
arbitrary
parity
string
Prior art date
Application number
KR1020060076990A
Other languages
English (en)
Other versions
KR20080015547A (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 KR1020060076990A priority Critical patent/KR101283862B1/ko
Priority to CN2007800375918A priority patent/CN101523734B/zh
Priority to EP07807983.7A priority patent/EP2055009B1/en
Priority to JP2009524554A priority patent/JP5204775B2/ja
Priority to US12/377,841 priority patent/US8214727B2/en
Priority to PCT/KR2007/003912 priority patent/WO2008020712A1/en
Publication of KR20080015547A publication Critical patent/KR20080015547A/ko
Application granted granted Critical
Publication of KR101283862B1 publication Critical patent/KR101283862B1/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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3994Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using state pinning or decision forcing, i.e. the decoded sequence is forced through a particular trellis state or a particular set of trellis states or a particular decoded symbol
    • 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
    • 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
    • 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

Abstract

터보 부호의 부호화 장치는 임의 비트열을 생성하는 임의 비트 발생기, 정보 비트열과 상기 임의 비트열이 독립적으로 입력되는 인터리버, 상기 정보 비트열과 상기 임의 비트열이 독립적으로 입력되고 제1 패리티 비트열을 생성하는 제1 구성 부호기 및 상기 인터리버의 출력을 입력받아 제2 패리티 비트열을 생성하는 제2 구성 부호기를 포함한다. 부호율의 변화없이 복호화 비트열의 길이를 더 길게 하여 터보 부호의 성능을 높일 수 있다. 임의 비트열을 정보 비트열에 대해 독립적으로 생성하고 패리티 비트 생성시 임의 비트가 함께 영향을 미치도록 함으로써 터보 부호의 신뢰성을 높일 수 있다.
Figure R1020060076990
터보 부호, 터보 부호화, 터보 복호화, 이중 이진 터보 부호, CTC

Description

터보 부호의 부호화 장치 및 방법{Apparatus and method for encoding turbo code}
도 1은 통신 시스템을 나타낸 블록도이다.
도 2는 본 발명의 일 실시예에 따른 부호화 장치를 나타낸 블록도이다.
도 3은 본 발명의 다른 실시예에 따른 부호화 장치를 나타낸 블록도이다.
도 4는 본 발명의 또 다른 실시예에 따른 부호화 장치를 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 복호화 장치를 나타낸 블록도이다.
도 6은 수신 조직 비트열에 삽입되는 임의 비트열을 나타낸 예시도이다.
도 7은 본 발명과 종래 기술의 시뮬레이션 결과를 비교한 그래프이다.
도 8은 본 발명의 또 다른 실시예에 따른 부호화 장치를 나타낸 블록도이다.
** 도면의 주요부분의 부호에 대한 설명 **
310 : 임의 비트 발생기
320 : 인터리버
330 : 제1 구성 부호기
340 : 제2 구성 부호기
본 발명은 터보 부호의 부호화 장치 및 방법에 관한 것으로 보다 상세하게는 임의 비트를 삽입하는 터보 부호의 부호화 장치 및 방법에 관한 것이다.
디지털 신호는 무선 통신 시스템에서 다양한 전파 경로(propagation path)를 거치며 전송된다. 또한, 디지털 신호는 CD(compact disc)나 DVD(digital versatile disc)와 같은 기록 매체로부터 재생된다. 디지털 신호는 다양한 채널을 통해 전송, 재생되면서 잡음이나 변형으로 인한 다양한 데이터 에러가 포함될 수 있다.
데이터 에러를 정정하기 위한 기법 중 하나가 에러 정정 기법이다. 에러 정정 기법은 데이터에 여분의 코드를 추가하여, 데이터에 오차가 포함되더라도 정정된 데이터가 복원되도록 한다.
에러 정정 기법 중 하나가 터보 부호이다. 고전적인 터보 부호는 하나의 입력에 이중 이진(duo-binary) 재귀적 조직형 길쌈(recursive systematic convilutional) 부호를 이용한다. 고전적인 터보 부호에서 한번에 하나의 입력에 대해서만 처리하는 것과 달리 동시에 다수의 입력을 처리하는 비-이진 터보 부호(non-binary turbo code)가 소개되고 있다. 비-이진 터보 부호에 관한 일례는 C. Berrou, M. Jezequel, C. Douillard, and S. Kerouedan, The advantages of nonbinary turbo codes, Proc. Inf. Theory Workshop, Cairns, Australia, Sep. 2001, pp. 61-63 를 참조할 수 있다.
비-이진 터보 부호의 고전적인 터보 부호에 대한 장점으로 인하여 비-이진 터보 부호의 하나인 이중-이진 터보 부호(duo-binary turbo code)가 DVB-RCS(digital video broadcasting - return channel over satellite) 표준(ETSI 301 790)과 국제전자전기공학회(IEEE) 802.11 및 802.16 표준 등에서 채택되고 있다. 이들 표준에서는 이중-이진 터보 부호를 길쌈 터보 부호(convolutional turbo code)라고도 한다.
부호율(code rate)은 정보 비트열(information bit stream)의 길이/부호화 비트열(coded bit stream)의 길이로 정의할 수 있다. 부호율이 1/3인 경우 부호화 비트열의 길이가 3n일 때, 정보 비트열의 길이는 n이 된다.
터보 부호는 입력되는 정보 비트열의 길이가 길어질수록 부호 비트열의 길이가 길어지므로 성능이 향상된다. 그런데 같은 부호율에서 정보 비트열의 길이가 정해지면 부호화 비트열의 길이가 정해진다. 따라서 터보 부호의 성능을 향상시키는 데 한계가 있다.
본 발명이 이루고자 하는 기술적 과제는 임의 비트를 삽입하여 성능을 향상시키는 터보 부호의 부호화 장치 및 방법을 제공하는 데 있다.
본 발명의 일 양태에 따르면 터보 부호의 부호화 장치를 제공한다. 상기 터보 부호의 부호화 장치는 임의 비트열을 생성하는 임의 비트 발생기, 정보 비트열과 상기 임의 비트열이 독립적으로 입력되는 인터리버, 상기 정보 비트열과 상기 임의 비트열이 독립적으로 입력되고 제1 패리티 비트열을 생성하는 제1 구성 부호 기 및 상기 인터리버의 출력을 입력받아 제2 패리티 비트열을 생성하는 제2 구성 부호기를 포함한다.
본 발명의 다른 양태에 따르면 터보 부호의 부호화 방법을 제공한다. 상기 터보 부호의 부호화 방법은 정보 비트열에 독립적인 임의 비트열을 생성하는 단계와 상기 정보 비트열과 상기 임의 비트열을 부호화하여 패리티 비트열을 생성하는 단계를 포함한다.
이하 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 명세서 전체에 걸쳐서 동일한 참조 번호는 동일한 구성요소를 나타낸다.
도 1은 통신 시스템을 나타낸 블록도이다. 통신 시스템은 음성, 패킷 데이터 등과 같은 다양한 통신 서비스를 제공하기 위해 널리 배치된다(deploy). 이 기술은 다운링크(downlink) 또는 업링크(uplink)에 사용될 수 있다. 다운링크는 기지국(base station; BS)에서 단말기(mobile station; MS)로의 통신을 의미하며, 업링크는 단말기에서 기지국으로의 통신을 의미한다. 기지국은 일반적으로 단말기와 통신하는 고정된 지점(fixed station)을 말하며, 노드-B(node-B), BTS(base transceiver system), 액세스 포인트(access point) 등 다른 용어(terminology)로 불릴 수 있다. 단말기는 고정되거나 이동성을 가질 수 있으며, UE(user equipment), UT(user terminal), SS(subscriber station), 무선기기(wireless device) 등 다른 용어로 불릴 수 있다.
도 1을 참조하면, 통신 시스템은 전송기(transmitter; 100)와 수신기(receiver; 200)를 포함한다. 다운링크에서 전송기(100)는 기지국의 일부 분(part)일 수 있고, 수신기(200)는 단말기의 일부분일 수 있다. 업링크에서 전송기(100)는 단말기의 일부분일 수 있고, 수신기(200)는 기지국의 일부분일 수 있다. 기지국은 다수의 수신기와 다수의 전송기를 포함할 수 있다. 단말기는 다수의 수신기와 다수의 전송기를 포함할 수 있다.
전송기(100)는 CRC 인코더(110), 채널 인코더(channel encoder; 120), 변조기(modulator; 130) 및 전송회로(transmit circuitory; 140)를 포함한다.
CRC 인코더(110)는 입력되는 데이터에 에러 검출을 위한 CRC(cyclic redundancy check) 비트를 추가한다. 입력 데이터는 텍스트, 음성, 영상 또는 기타 데이터를 포함할 수 있다.
채널 인코더(120)는 입력되는 데이터를 정해진 코딩 방식에 따라 인코딩하여 부호화 데이터(coded bit)를 형성한다. 채널 인코더(120)는 터보 부호를 이용한 부호화 장치이며 이에 관하여는 도 2를 참조하여 후술한다.
변조기(130)는 각 부호화된 데이터를 정해진 변조 방식(modulation scheme)에 따라 변조한다. 변조 방식에는 제한이 없으며, m-PSK(m-quadrature phase shift keying) 또는 m-QAM(m-quadrature amplitude modulation)을 사용할 수 있다. 예를 들어, m-PSK는 BPSK, QPSK 또는 8-PSK 일 수 있다. m-QAM은 16-QAM, 64-QAM 또는 256-QAM 일 수 있다.
전송회로(140)는 변조된 디지털 데이터를 아날로그 신호로 변환하여 안테나(190)를 통해 하나 또는 그 이상의 수신기(200)로 전송한다.
한편, 수신기(200)는 수신회로(receive circuitory; 210), 복조 기(demodulator; 220), 채널 디코더(230) 및 CRC 디코더(240)를 포함한다. 수신회로(210)는 안테나(290)에서 수신된 아날로그 신호를 디지털 신호로 변환한다. 복조기(220)는 디지털 신호를 복조하고, 채널 디코더(230)는 복조된 디지털 신호를 정해진 디코딩 방식에 따라 디코딩한다. 채널 디코더(230)는 터보 부호를 이용한 복호화 장치이며 이에 관하여는 도 5를 참조하여 후술한다. CRC 디코더(240)는 디코딩된 데이터에 에러가 검출되는지 여부를 확인한다.
에러가 검출되는 경우 수신기(200)는 전송기(100)로 데이터의 재전송을 요구할 수 있다. 전송기(100)는 재전송 요청에 따라 데이터를 재전송하고 수신기(200)는 재전송된 데이터를 이용하여 다시 에러 검출 여부를 확인한다. 이를 복합 자동 재전송(hybrid automatic repeat request)이라 한다. 복합 자동 재전송을 위해 수신기(200)에는 전송 회로(미도시)를 더 포함할 수 있고, 전송기(100)에는 수신 회로(미도시)를 더 포함할 수 있다.
수신기(200)는 CQI(channel quality indicator)를 전송기(100)로 귀환시킬 수 있다. 수신기(200)는 CQI를 통해 채널 상태를 전송기(100)로 귀환시키고, 전송기(100)는 채널 상태에 따라 변조 및 코딩 방식을 적응적으로 바꿀 수 있다. 이를 적응적 변조 및 코딩 방식(adaptive modulation and coding scheme)이라 한다. 적응적 변조 및 코딩 방식을 위해 수신기(200)에는 전송 회로(미도시)를 더 포함할 수 있고, 전송기(100)에는 수신 회로(미도시)를 더 포함할 수 있다.
상기는 하나의 전송 안테나와 하나의 수신 안테나를 갖는 싱글 입력 싱글 출력(single-input single-output; SISO)에 대하여 설명하고 있지만, 본 발명의 기술 적 사상은 다수의 전송 안테나와 하나의 수신 안테나를 갖는 다중 입력 다중 출력(multiple-input multiple-output; MIMO) 시스템에도 그대로 적용할 수 있다.
이하에서는 터보 부호의 부호화 및 복호화 기법에 대하여 설명한다. 이하에서 정보 비트는 부호화되지 않은 데이터를 말하며, 부호화 비트는 부호화된 데이터를 말한다.
도 2는 본 발명의 일 실시예에 따른 부호화 장치를 나타낸 블록도이다.
도 2를 참조하면, 부호화 장치(300)는 임의 비트 발생기(temporary bit generator; 310), 인터리버(interleaver; 320), 제1 구성 부호기(first constituent encoder; 330), 제2 구성 부호기(340) 및 다중화기(multiplexer; 350)를 포함한다.
임의 비트 발생기(310)는 정보 비트열(information bit stream)과 동일한 길이를 갖는 임의 비트열을 발생시킨다. 임의 비트 발생기(310)는 정보 비트열과 독립적으로 임의 비트열을 생성한다. 임의 비트는 부호화 장치와 복호화 장치 양자에 모두 알려진 것으로, 그 생성하는 규칙이나 순서에는 제한이 없다. 예를 들어, 임의 비트 발생기(310)는 그 값이 '0'인 임의 비트를 반복적으로 발생시킬 수 있다. 또는 임의 비트 발생기(310)는 그 값이 '1'인 임의 비트를 반복적으로 발생시킬 수 있다. 임의 비트 발생기(310)는 그 값이 '01'인 임의 비트열을 반복적으로 발생시킬 수 있다.
정보 비트열은 다중화기(350)로 입력되는 조직 비트열(systematic bit stream; X)이 된다. 임의 비트 발생기(310)에서 생성되는 임의 비트열은 조직 비트 열에 포함되지 않을 수 있다. 임의 비트열은 부호화 장치와 복호화 장치가 미리 약속한 비트열이므로, 임의 비트열을 전송할 필요가 없기 때문이다.
임의 비트열을 조직 비트열에 포함되지 않도록 하기 위해 다양한 방식이 가능하다. 예를 들어, 임의 비트 발생기(310)의 출력이 다중화기(350)의 입력과 연결되지 않도록 할 수 있다. 또는 임의 비트 발생기(310)의 출력과 다중화기(3350)의 입력이 연결되더라도 다중화기(350)에서 임의 비트열을 천공하여 제거할 수 있다. 별도의 임의 비트 제거기(미도시)를 임의 비트 발생기(310)와 다중화기(350) 사이에 배치할 수도 있다.
인터리버(320)는 입력되는 정보 비트열과 임의 비트열을 임의로 또는 정해진 규칙에 따라 인터리빙한다. 인터리버(320)는 일반적인 비-이진 터보 부호의 인터리버를 그대로 사용할 수 있다. 인터리버(320)는 정보 비트열과 독립적으로 임의 비트열을 입력받을 수 있다. 즉 인터리버(320)의 제1 입력으로 정보 비트열이 입력되고 제2 입력으로 임의 비트열이 입력된다.
제1 구성 부호기(330)는 정보 비트열과 임의 비트열을 부호화하여 제1 패리티 비트열(Y1)을 생성한다. 제1 구성 부호기(330)는 정보 비트열과 독립적으로 임의 비트열을 입력받을 수 있다. 제2 구성 부호기(340)는 인터리버(320)에 출력되는 한 쌍의 비트열을 부호화하여 제2 패리티 비트열(Y2)을 생성한다. 제1 구성 부호기(330)와 제2 구성 부호기(340)는 서로 동일한 구조의 이중 이진 재귀적 조직형 길쌈 부호(duo-binary recursive systematic convolution code)일 수 있다.
상기에서 제1 구성부호기(330)와 제2 구성 부호기(340)에서 제공하는 제1 패 리티 비트열(Y1)과 제2 패리티 비트열(Y2)은 각각 하나이나, 제1 구성 부호기(330) 또는 제2 구성 부호기(340)에서 제공하는 패리티 비트열의 수는 제한이 없으며, 2개 이상의 패리티 비트열을 생성할 수 있다.
다중화기(350)는 조직 비트, 제1 패리티 비트 및 제2 패리티 비트를 다중화한다. 즉 다중화기(350)는 조직 비트열(X), 제1 패리티 비트열(Y1) 및 제2 패리티 비트열(Y2)을 입력받아 단위 시간마다 직렬 형태의 부호화 비트열을 생성한다. 다중화기(350)는 원하는 부호율에 따라 입력되는 패리티 비트를 천공(puncture)할 수 있다.
상기와 같이 구성된 부호화 장치(300)의 동작을 이하에서 설명한다.
임의 비트 발생기(310)는 정보 비트열과 길이가 같은 임의 비트열을 생성한다. 정보 비트열은 조직 비트열(X)이 되고, 또한 인터리버(320)와 제1 구성 부호기(330)로 각각 입력된다. 임의 비트열은 정보 비트열과 독립적으로 인터리버(320)와 제1 구성 부호기(330)로 각각 입력된다. 즉 정보 비트열과 임의 비트열은 각각 1비트씩 차례로 제1 구성부호기(330)와 인터리버(320)로 입력된다.
제1 구성 부호기(330)는 정보 비트열과 임의 비트열을 입력받아 하나의 제1 패리티 비트열(Y1)을 출력한다. 또한, 정보 비트열과 임의 비트열은 인터리버(320)를 거쳐 제2 구성 부호기(340)로 입력되고, 제2 구성 부호기(340)는 하나의 제2 패리티 비트열(Y2)을 출력한다. 다중화기(350)는 조직 비트열(X), 제1 패리티 비트열(Y1) 및 제2 패리티 비트열(Y2)을 입력받아 부호화 비트열을 출력한다.
상기와 같이 구성된 부호화 장치(300)에 의하면, 하나의 정보 비트에 대해 조직 비트(X)는 1비트이다. 또한, 제1 패리티 비트열(Y1)은 하나의 정보 비트와 하나의 임의 비트에 대해 하나의 비트로 구성되고, 제2 패리티 비트열(Y2)도 하나의 비트로 구성된다. 따라서, 정보 비트열의 길이를 n이라 했을 때, 조직 비트열(X), 제1 패리티 비트열(Y1) 및 제2 패리티 비트열(Y2)을 합한 부호화 비트열의 길이는 3n이 된다. 그러므로 부호율(code rate)은 1/3 이 된다.
다만, 부호율은 천공을 통하거나 다수의 패리티 비트열을 생성함으로써 달라질 수 있다. 예를 들어, 다중화기(350)에서 제2 패리티 비트열(Y2)을 천공할 경우, 부호율은 1/2 이 된다. 또는 제1 구성 부호기(330)에서 2개의 제1 패리티 비트열(Y1, W1)을 생성하고, 제2 구성 부호기(340)에서 2개의 제2 패리티 비트열(Y2, W2)을 생성한다면, 부호율은 1/5가 된다.
본 발명에 의하면 임의 비트열이 정보 비트열과 독립적으로 생성되어 인터리버(320)와 제1 구성 부호기(330)로 입력된다. 인터리버(320)의 인터리빙 방식에 따라서 효율적인 임시 비트열을 선택함으로써 인터리빙 게인을 높일 수 있다. 또한, 구성 부호기(330, 340)에서 패리티 비트를 생성할 때 임의 비트가 함께 영향을 미치도록 함으로써 터보 부호의 신뢰성을 높일 수 있다. 임의 비트열은 미리 약속된 시퀀스로 채널 상태에 영향을 받지 않기 때문이다.
도 3은 본 발명의 다른 실시예에 따른 부호화 장치를 나타낸 블록도이다.
도 3을 참조하면, 부호화 장치(400)는 임의 비트 발생기(410), 인터리버(420), 제1 구성 부호기(430) 및 제2 구성 부호기(440)를 포함한다. 도 3의 실시예는 도 2의 제1 구성 부호기(330)와 제2 구성 부호기(340)를 구현한 실시예를 나 타낸다. 임의 비트 발생기(410)와 인터리버(420)는 도 2의 임의 비트 발생기(310), 인터리버(320)와 각각 동일하다.
제1 구성 부호기(430)는 정보 비트열과 임의 비트 발생기(410)에 의해 생성된 임의 비트열을 미리 정의된 코드로 부호화하여 제1 패리티 비트열(Y1)을 출력한다. 제1 구성 부호기(430)는 직렬 연결되는 3개의 지연기(delay; 433a, 433b, 433c)와 4개의 모듈로-2 덧셈기(modulo-2 adder; 436a, 436b, 436c, 436d)를 포함한다.
초기에 각 지연기(433a, 433b, 433c)의 상태는 '0'이다. 정보 비트열과 임의 비트열이 입력되면, 제1 모듈로-2 덧셈기(436a)는 정보 비트, 임의 비트, 제1 지연기(433a)의 출력 비트 및 제3 지연기(433c)의 출력 비트에 대해 모듈로-2 덧셈을 수행하여 그 결과를 제1 지연기(433a)로 제공한다. 제2 모듈로-2 덧셈기(436b)는 제1 지연기(433a)의 출력 비트와 임의 비트에 대해 모듈로-2 덧셈을 수행하여 그 결과를 제2 지연기(433b)로 제공한다. 제3 모듈로-2 덧셈기(436c)는 제2 지연기(433b)의 출력 비트와 임의 비트에 대해 모듈로-2 덧셈을 수행하여 그 결과를 제3 지연기(433c)로 제공한다. 제4 모듈로-2 덧셈기(436d)는 제1 모듈로-2 덧셈기(436a)의 출력 비트, 제2 지연기(433b)의 출력 비트 및 제3 지연기(433c)의 출력 비트에 대해 모듈로-2 덧셈을 수행한다. 제4 모듈로-2 덧셈기(436d)의 출력이 제1 패리티 비트가 된다. 따라서 제1 패리티 비트에 대한 다항식(polynomial)은 1+D2+D3이다.
제2 구성 부호기(440)는 인터리빙된 2개의 비트열을 미리 정의된 코드로 부호화하여 제2 패리티 비트열(Y2)을 출력한다. 제2 구성 부호기(440)는 직렬 연결되는 3개의 지연기(443a, 443b, 443c)와 4개의 모듈로-2 덧셈기(446a, 446b, 446c, 446d)를 포함한다. 제2 구성 부호기(440)의 동작은 제1 구성 부호기(430)의 동작과 동일하다. 따라서 제2 패리티 비트에 대한 다항식(polynomial)은 1+D2+D3이다.
도 4는 본 발명의 또 다른 실시예에 따른 부호화 장치를 나타낸 블록도이다.
도 4를 참조하면, 부호화 장치(500)는 임의 비트 발생기(510), 인터리버(520), 제1 구성 부호기(530) 및 제2 구성 부호기(540)를 포함한다. 부호화 장치(500)는 도 3의 부호화 장치(500)와 비교할 때 제1 구성부호기(530)과 제2 구성 부호기(540)가 각각 2개의 패리티 비트열을 출력하는 점에서 차이가 난다.
제1 구성 부호기(530)는 2개의 제1 패리티 비트열(Y1, W1)을 출력한다. 제1 패리티 비트열의 첫번째 비트열(Y1)의 다항식은 1+D2+D3이다. 모듈로-2 덧셈기(536e)는 제1 모듈로-2 덧셈기(536a)의 출력 비트와 제3 지연기(533c)의 출력 비트 대해 모듈로-2 덧셈을 수행한다. 따라서, 제1 패리티 비트열의 두번째 비트열(Wl)의 다항식은 1+D3이다.
제2 구성 부호기(540)는 2개의 제2 패리티 비트열(Y2, W2)을 출력한다. 제2 패리티 비트열의 첫번째 비트열(Y2)의 다항식은 1+D2+D3이다. 또한, 제2 패리티 비트열의 두번째 비트열(W2)의 다항식은 1+D3이다.
하나의 정보비트열(X)에 대해 4개의 패리티 비트열이 생성되므로, 코드율은 1/5가 된다.
도 5는 본 발명의 일 실시예에 따른 복호화 장치를 나타낸 블록도이다.
도 5를 참조하면, 복호화 장치(600)는 임의 비트 삽입기(610), 터보 디코더(630) 및 임의 비트 제거기(650)를 포함한다. 복호화 장치(600)의 입력은 수신된 신호를 복조하여 검출한 수신 조직 비트, 수신 제1 패리티 비트, 수신 제2 패리티 비트이다. 수신 조직 비트는 부호화 장치(300)에서 출력한 조직 비트에 대응하고, 수신 제1 패리티 비트는 부호화 장치(300)에서 출력한 제1 패리티 비트에 대응하고, 수신 제2 패리티 비트는 부호화 장치(300)에서 출력한 제2 패리티 비트에 대응한다.
여기서, 복호화 장치(600)에 입력되는 값은 모두 채널로부터 수신된 비트에 대한 연 값(soft value)이다. 즉 수신 조직 비트는 채널로부터 수신된 조직 비트에 대한 연 값을 의미하고, 수신 제1 패리티 비트는 채널로부터 수신된 제1 패리티 비트에 대한 연 값을 의미하고, 수신 제2 패리티 비트는 채널로부터 수신된 제2 패리티 비트의 연 값을 의미한다.
임의 비트 삽입기(610)는 수신 조직 비트열에 임의 비트열을 삽입한다. 임의 비트는 삽입되는 임의 비트열은 부호화 장치(300)의 임의 비트 발생기(310)에서 생성하는 임의 비트열과 동일하다. 삽입되는 값은 임의 비트의 연 값이다. 임의 비트열이 삽입된 비트열을 복호화 비트열이라 한다.
터보 디코더(630)는 2개의 구성 복호기(631, 632), 2개의 인터리버(633, 634) 및 디인터리버(635)를 포함한다.
반복 방식으로 동작하는 일반적인 터보 부호 디코더이다. 제1 구성 복호기(631)와 제2 구성 복호기(632)는 부호화 장치(300)의 제1 구성 부호기(330)와 제2 구성 부호기(340)에 대응한다. 제1 구성 복호기(631)는 입력되는 복호화 비트열과 수신 제1 패리티 비트열을 조작하여 각 데이터 비트가 1 또는 0이 되는 확률의 추정을 생성한다. 이 추정은 수신 제2 패리티 비트열 및 인터리빙된 복호화 비트열과 함께 제2 구성 복호기(632)로 입력된다. 상기 과정은 주어진 반복 횟수나 설정된 BER(bit error rate)를 만족할 때까지 반복된다. 반복이 완료된 후에 판정(hard decision; 636)에서 연 값을 하드 판정(hard decision)하여 비트 데이터를 출력한다.
임의 비트 제거기(650)는 터보 디코더(630)에서 출력되는 비트 데이터열에서 임의 비트열을 제거한다. 임의 비트가 제거되면 원래의 정보 비트가 복원된다.
상기 구성 복호기(631, 632)는 MAP(maximum A-posteriori Probability) 알고리즘을 적용할 수 있다. MAP은 비터비(Viterbi) 알고리즘과 같은 트렐리스(trellis) 복호 알고리즘이다. MAP 알고리즘을 로그 영역에서 수행하는 경우 log-MAP 알고리즘이라 한다.
부호화 장치(300)에서 채널로 전송되는 부호화 비트열의 길이는 3n이다. 하지만 복호화 장치(600)에서 복호되는 복호화 비트열의 길이는 임의 비트열 n이 추가되어 4n이 된다. 부호율의 변화없이 복호화 비트열의 길이를 더 길게 하여 터보 부호의 성능을 높일 수 있다.
도 6은 수신 조직 비트열에 삽입되는 임의 비트열을 나타낸 예시도이다.
도 6을 참조하면, 임의 비트열을 수신 조직 비트열에 삽입할 때 임의 비트열은 높은 신뢰도를 가지도록 한다. 도면에는 일정한 크기를 갖는 임의 비트열을 나타내고 있으나, 이는 제한이 아니고 임의 비트열의 크기는 바뀔 수 있다.
예를 들어 임의 비트열의 연 값은 수신 조직 비트열의 연 값의 최대 값보다 더 크게 할 수 있다. 또는 임의 비트열의 연 값은 수신 조직 비트열의 평균값에서 1배 이상 더 크게 할 수 있다.
높은 신뢰도를 갖도록 임의 비트열을 삽입하여 잘못된 경로로 인해 선택될 수 있는 우도(likelihood)를 제한할 수 있고 신뢰성있는 복호가 가능하다.
도 7은 본 발명과 종래 기술의 시뮬레이션 결과를 비교한 그래프이다. 정보 비트의 길이를 480비트로 하고, AWGN(Additive White Gaussian Noise) 채널 환경에서 BPSK 변조와 8번의 반복 복호, log-MAP 알고리즘을 사용한다. 종래 기술로는 부호율 1/3인 일반적인 이중 이진 터보 부호(duo-binary turbo code)를 사용하였다.
도 7을 참조하면, 본 발명이 종래 기술에 비해 FER(frame error rate)면에서 향상됨을 알 수 있다.
도 8은 본 발명의 또 다른 실시예에 따른 부호화 장치를 나타낸 블록도이다.
도 8을 참조하면, 부호화 장치(700)는 임의 비트 발생기(710), 인터리버(720), 제1 구성 부호기(730), 제2 구성 부호기(740) 및 다중화기(750)를 포함한다. 부호화 장치(700)가 도 2의 부호화 장치(300)와의 차이점은 정보 비트가 한번에 2비트씩 입력되는 점이다.
제1 구성 부호기(730)는 2개의 정보 비트열과 임의 비트열을 부호화하여 2개의 제1 패리티 비트열(Y1, W1)을 생성한다. 제2 구성 부호기(740)는 인터리버(520)에 출력되는 3개의 비트열을 부호화하여 2개의 제2 패리티 비트열(Y2, W2)을 생성한다. 제1 구성 부호기(730)와 제2 구성 부호기(740)는 서로 동일한 구조의 삼중 이진 재귀적 조직형 길쌈 부호(triple-binary recursive systematic convolution code)일 수 있다.
다중화기(350)는 조직 비트열(A, B), 제1 패리티 비트열(Y1, W1) 및 제2 패리티 비트열(Y2, W2)을 입력받아 단위 시간마다 직렬 형태의 부호화 비트열을 생성한다.
상기와 같이 구성된 부호화 장치(500)에 의하면, 정보 비트열의 길이를 2n이라 했을 때, 조직 비트열(A, B), 제1 패리티 비트열(Y1, W1) 및 제2 패리티 비트열(Y2, W2)을 합한 부호화 비트열의 길이는 6n이 된다. 그러므로 부호율은 1/3이 된다.
또는 제1 구성 부호기(730)와 제2 구성 부호기(740)가 각각 1개의 패리티 비트열을 생성할 경우 부호율은 1/2이 된다.
상기에서는 2개의 정보 비트를 병렬로 입력받는 것에 관하여 설명하고 있으나, 부호화 장치는 m(m≥1)개의 정보 비트를 병렬로 입력받을 수 있다. 또한 임의 비트 발생기도 1개가 아닌 k(k≥1)개를 배치할 수 있다. 이때 구성 부호기는 (m+k)-이진 재귀적 조직형 길쌈 부호((m+k)-binary recursive systematic convolution code)일 수 있다.
상술한 실시예는 통신 시스템에 적용한 예를 나타내고 있으나, 본 발명은 터보 부호가 사용되는 다른 시스템에도 적용할 수 있다. 예를 들어, CD, DVD, 마그네틱 테이프 등의 기록 매체로 데이터를 기록하는 기록 장치나, 데이터가 기록된 기록 매체로부터 데이터를 재생하는 재생 장치에 적용될 수 있다.
본 발명은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 하드웨어 구현에 있어, 상술한 기능을 수행하기 위해 디자인된 ASIC(application specific integrated circuit), DSP(digital signal processing), PLD(programmable logic device), FPGA(field programmable gate array), 프로세서, 제어기, 마이크로 프로세서, 다른 전자 유닛 또는 이들의 조합으로 구현될 수 있다. 소프트웨어 구현에 있어, 상술한 기능을 수행하는 모듈로 구현될 수 있다. 소프트웨어는 메모리 유닛에 저장될 수 있고, 프로세서에 의해 실행된다. 메모리 유닛이나 프로세서는 당업자에게 잘 알려진 다양한 수단을 채용할 수 있다.
이상 본 발명에 대하여 실시예를 참조하여 설명하였지만, 해당 기술 분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서 상술한 실시예에 한정되지 않고, 본 발명은 이하의 특허청구범위의 범위 내의 모든 실시예들을 포함한다고 할 것이다.
상기에서 상술한 바와 같이 본 발명에 의하면 부호율의 변화없이 복호화 비트열의 길이를 더 길게 하여 터보 부호의 성능을 높일 수 있다. 또한, 임의 비트열 을 정보 비트열에 대해 독립적으로 생성하고 패리티 비트 생성시 임의 비트가 함께 영향을 미치도록 함으로써 터보 부호의 신뢰성을 높일 수 있다.

Claims (8)

  1. 임의 비트열을 생성하는 임의 비트 발생기;
    정보 비트열과 상기 임의 비트열이 독립적으로 입력되는 인터리버;
    상기 정보 비트열과 상기 임의 비트열이 독립적으로 입력되고 제1 패리티 비트열을 생성하는 제1 구성 부호기; 및
    상기 인터리버의 출력을 입력받아 제2 패리티 비트열을 생성하는 제2 구성 부호기를 포함하되,
    상기 임의 비트 발생기는 상기 임의 비트열을 상기 정보 비트열에 대해 독립적으로 생성하는 터보 부호의 부호화 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 제1 구성 부호기와 상기 제2 구성 부호기는 서로 동일한 구조의 이중 이진 재귀적 조직형 길쌈 부호(duo-binary recursive systematic convolution code)인 터보 부호의 부호화 장치.
  4. 제 1 항에 있어서,
    상기 정보 비트열에 의한 조직 비트열, 상기 제1 패리티 비트열, 상기 제2 패리티 비트열을 다중화하는 다중화기를 더 포함하는 터보 부호의 부호화 장치.
  5. 제 4 항에 있어서,
    상기 조직 비트열에는 상기 임의 비트열이 포함되지 않는 터보 부호의 부호화 장치.
  6. 정보 비트열에 독립적인 임의 비트열을 생성하는 단계; 및
    상기 정보 비트열과 상기 임의 비트열을 부호화하여 패리티 비트열을 생성하는 단계를 포함하되,
    상기 패리티 비트열을 생성하는 단계는
    상기 정보 비트열과 상기 임의 비트열을 부호화하여 제1 패리티 비트열을 생성하는 단계와
    상기 정보 비트열과 상기 임의 비트열을 인터리빙하고, 인터리빙된 비트열들을 부호화하여 제2 패리티 비트열을 생성하는 단계를 포함하는 터보 부호의 부호화 방법.
  7. 삭제
  8. 삭제
KR1020060076990A 2006-08-16 2006-08-16 터보 부호의 부호화 장치 및 방법 KR101283862B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020060076990A KR101283862B1 (ko) 2006-08-16 2006-08-16 터보 부호의 부호화 장치 및 방법
CN2007800375918A CN101523734B (zh) 2006-08-16 2007-08-16 用于turbo编码的方法和装置
EP07807983.7A EP2055009B1 (en) 2006-08-16 2007-08-16 Method and apparatus for turbo encoding
JP2009524554A JP5204775B2 (ja) 2006-08-16 2007-08-16 ターボ符号の符号化装置及び方法
US12/377,841 US8214727B2 (en) 2006-08-16 2007-08-16 Method and apparatus for turbo encoding
PCT/KR2007/003912 WO2008020712A1 (en) 2006-08-16 2007-08-16 Method and apparatus for turbo encoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060076990A KR101283862B1 (ko) 2006-08-16 2006-08-16 터보 부호의 부호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080015547A KR20080015547A (ko) 2008-02-20
KR101283862B1 true KR101283862B1 (ko) 2013-07-08

Family

ID=39082218

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060076990A KR101283862B1 (ko) 2006-08-16 2006-08-16 터보 부호의 부호화 장치 및 방법

Country Status (6)

Country Link
US (1) US8214727B2 (ko)
EP (1) EP2055009B1 (ko)
JP (1) JP5204775B2 (ko)
KR (1) KR101283862B1 (ko)
CN (1) CN101523734B (ko)
WO (1) WO2008020712A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008055139B4 (de) * 2008-12-23 2010-12-09 Secutanta Gmbh Verfahren zum Empfangen eines Datenblocks
CN101710850B (zh) 2008-12-26 2013-10-30 三星电子株式会社 卷积Turbo编码方法及实现编码方法的设备
US20110072117A1 (en) * 2009-09-23 2011-03-24 Rovi Technologies Corporation Generating a Synthetic Table of Contents for a Volume by Using Statistical Analysis
WO2011062424A2 (en) 2009-11-18 2011-05-26 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data in a communication system
KR20110055410A (ko) * 2009-11-18 2011-05-25 삼성전자주식회사 통신 시스템에서 데이터 송수신 방법 및 장치
US8386902B1 (en) * 2009-12-16 2013-02-26 Raytheon Company Method and apparatus for rational puncturing of forward error correcting codes
US9053698B2 (en) 2012-01-24 2015-06-09 Broadcom Corporation Jitter buffer enhanced joint source channel decoding
US8938663B2 (en) * 2012-01-24 2015-01-20 Broadcom Corporation Modem architecture for joint source channel decoding
US9037942B2 (en) 2012-01-24 2015-05-19 Broadcom Corporation Modified joint source channel decoder
KR101907943B1 (ko) 2012-01-31 2018-12-19 삼성전자주식회사 통신 시스템에서 데이터 송/수신 장치 및 방법
US9130595B1 (en) 2013-11-07 2015-09-08 The United States Of America As Represented By The Secretary Of The Navy System and method for acceleration effect correction using turbo-encoded data with cyclic redundancy check
CN108111250A (zh) * 2016-11-25 2018-06-01 晨星半导体股份有限公司 用于通信系统中回旋码解码装置的解码方法及相关的判断模块

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374386B1 (en) * 1998-08-20 2002-04-16 Samsung Electronics Co., Ltd. Device and method for inserting previously known bits in input stage of channel encoder

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675971B1 (fr) * 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
DE69942705D1 (de) * 1998-04-18 2010-10-07 Samsung Electronics Co Ltd Turbo Codierung mit Dummy Bit Einfügung
CN100466483C (zh) 1998-06-05 2009-03-04 三星电子株式会社 用于速率匹配的发送机和方法
US6298463B1 (en) * 1998-07-31 2001-10-02 Nortel Networks Limited Parallel concatenated convolutional coding
DE69936626T2 (de) 1998-08-06 2008-05-21 Samsung Electronics Co., Ltd., Suwon Kanalkodierung und -dekodierung für ein kommunikationssystem
US6675348B1 (en) 1999-08-13 2004-01-06 Hughes Electronics Corporation Turbo-like forward error correction encoder and decoder with improved weight spectrum and reduced degradation in the waterfall performance region
US6810502B2 (en) * 2000-01-28 2004-10-26 Conexant Systems, Inc. Iteractive decoder employing multiple external code error checks to lower the error floor
DE10008064B4 (de) * 2000-02-22 2009-07-02 Siemens Ag Verfahren zum Anpassen der einem Turbo-Codierer zuzuführenden Datenblöcke und entsprechende Kommunikationsvorrichtung
JP3673165B2 (ja) 2000-11-28 2005-07-20 シャープ株式会社 デジタル伝送システム、符号化装置、復号装置、および当該デジタル伝送システムにおけるデータ処理方法
KR100464360B1 (ko) * 2001-03-30 2005-01-03 삼성전자주식회사 고속 패킷 데이터 전송 이동통신시스템에서 패킷 데이터채널에 대한 효율적인 에너지 분배 장치 및 방법
US7051261B1 (en) * 2002-10-29 2006-05-23 Lattice Semiconductor Corporation Turbo encoder with reduced processing delay
KR100770902B1 (ko) 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
KR100896684B1 (ko) * 2004-01-27 2009-05-14 삼성전자주식회사 수신 성능이 향상된 디지털 방송 송수신 시스템 및 그의신호처리방법
US7490282B2 (en) * 2004-11-04 2009-02-10 Intel Corporation Method and apparatus of turbo encoder
WO2006062296A2 (en) * 2004-12-11 2006-06-15 Electronics And Telecommunications Research Institute Encoding system using a non-binary turbo code and an encoding method thereof
WO2007020677A1 (ja) * 2005-08-12 2007-02-22 Fujitsu Limited 送信装置
US8601355B2 (en) * 2008-05-28 2013-12-03 Texas Instruments Incorporated System and method for determining parity bit soft information at a turbo decoder output

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6374386B1 (en) * 1998-08-20 2002-04-16 Samsung Electronics Co., Ltd. Device and method for inserting previously known bits in input stage of channel encoder

Also Published As

Publication number Publication date
EP2055009B1 (en) 2013-10-16
KR20080015547A (ko) 2008-02-20
EP2055009A1 (en) 2009-05-06
US20100199145A1 (en) 2010-08-05
JP5204775B2 (ja) 2013-06-05
WO2008020712A1 (en) 2008-02-21
CN101523734B (zh) 2012-12-26
EP2055009A4 (en) 2010-06-09
US8214727B2 (en) 2012-07-03
JP2010500841A (ja) 2010-01-07
CN101523734A (zh) 2009-09-02

Similar Documents

Publication Publication Date Title
KR101283862B1 (ko) 터보 부호의 부호화 장치 및 방법
JP6096922B2 (ja) チェック・イレギュラ非システマチックiraコードのエンコーディングおよびデコーディングのシステムおよび方法
US10135567B2 (en) Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
KR100560712B1 (ko) 정보데이터 다중화 전송시스템과 그 다중화장치 및 분리장치와,에러정정 부호화장치 및 복호장치
US6119264A (en) Data block convolutional coding device and method, and corresponding decoding method and device
KR100636650B1 (ko) 복호 장치 및 복호 방법
US8301967B2 (en) Turbo coding for upstream and downstream transmission in cable systems
GB2432495A (en) Terminating turbo decoding of an entire transport block once decoding has failed in a single code block divided therefrom
KR20100127174A (ko) 인코더, 디코더, 인코딩 및 디코딩 방법
WO2002005434A2 (en) Decoding of a punctured coded signal using estimates of punctured bits
KR100547916B1 (ko) 패킷 교환 서비스를 가진 디지털 전송 시스템에서 데이터전송을 하는 방법
WO2002087088A2 (en) Methods and apparatus of signal demodulation combining with different modulations and coding for wireless communications
US8196003B2 (en) Apparatus and method for network-coding
Bhargava et al. Coding theory and its applications in communication systems
EP1962430A1 (en) Coding/Decoding
Al-Moliki et al. Concatenated RS-convolutional codes for cooperative wireless communication
JP2001326578A (ja) データ誤り訂正装置
KR101531184B1 (ko) 상하위 계층 간의 연동을 이용한 복호화 방법 및 장치와 그를 이용하여 데이터 송수신 시스템

Legal Events

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

Payment date: 20160624

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee