KR100370780B1 - 해밍 부호를 연접한 터보 부호화/복호화 방법 그리고 그의 부호기/복호기 - Google Patents

해밍 부호를 연접한 터보 부호화/복호화 방법 그리고 그의 부호기/복호기 Download PDF

Info

Publication number
KR100370780B1
KR100370780B1 KR10-2000-0013038A KR20000013038A KR100370780B1 KR 100370780 B1 KR100370780 B1 KR 100370780B1 KR 20000013038 A KR20000013038 A KR 20000013038A KR 100370780 B1 KR100370780 B1 KR 100370780B1
Authority
KR
South Korea
Prior art keywords
hamming
data
turbo
code
outputting
Prior art date
Application number
KR10-2000-0013038A
Other languages
English (en)
Other versions
KR20010091388A (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 KR10-2000-0013038A priority Critical patent/KR100370780B1/ko
Publication of KR20010091388A publication Critical patent/KR20010091388A/ko
Application granted granted Critical
Publication of KR100370780B1 publication Critical patent/KR100370780B1/ko

Links

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/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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes

Abstract

본 발명은 해밍 부호를 연접한 터보 부호화/복호화 방법 그리고 그의 부호기/복호기에 관한 것으로, 본 발명에 따른 해밍 부호를 연접한 터보 부호화 방법은 (a) 소정 값 이하의 거리를 갖는 부호어를 생성하는 터보 부호의 정보어중 제1레벨값을 갖는 비트 위치를 적어도 하나 선택하며, 선택된 위치를 저장하는 단계; (b) 입력되는 정보어를 두 블록으로 분리하는 단계; (c) 상기 두 블록중 제1블록의 데이터를 해밍 부호로 부호화하는 단계; (d) 상기 두 블록 중 제2블록의 데이터 시퀀스를 출력하되, 상기 (a)단계에서 저장된 비트 위치에는 상기 (c)단계에서 부호화된 데이터를 삽입하여 출력하는 단계; 및 (e) 상기 (d)단계에서 출력되는 데이터를 터보 부호화하는 단계를 포함한다.
본 발명에 따르면, 기존의 터보 부호의 성능에 영향을 가장 많이 미치는 낮은 거리의 부호어를 생성하는 터보 부호의 입력에서 오류 발생 확률이 높은 "1"의 값을 갖는 위치중 지정된 위치에 해밍 부호를 삽입하고, 복호시 상기 지정된 위치에서 발생된 오류를 정정함으로써 비교적 높은 Eb/No에서 성능을 향상시킬 수 있다.

Description

해밍 부호를 연접한 터보 부호화/복호화 방법 그리고 그의 부호기/복호기{Coding/decoding method and apparatus of turbo code concatenated by Hamming code}
본 발명은 해밍 부호를 연접한 터보 부호화/복호화 방법 그리고 그의 부호화기/복호화기에 관한 것이다.
터보 부호(turbo code)는 개발자(Berrou)에 의해 사용된 별명으로 병렬 연접 컨볼루셔널 부호(Parallel Concatenated Convolutional Code)라고 불려지기도 한다. 터보 부호의 부호기는 첫 번째 구성 부호기(component encoder)와 두 번째 구성 부호기가 정보어를 임의의 순서로 인터리빙(interleaving)하는 인터리버를 통해 병렬로 연접되는 구조를 갖는다. 구성 부호로는 재귀적 조직형 컨벌루셔널 부호(Recursive Systematic Convolutional Code)를 사용한다. 따라서 터보 부호의 부호화는 첫 번째 구성 부호기에서 부호화하고, 동일한 정보 비트가 인터리버를 통해 인터리빙된 후 두 번째 구성 부호기에서 부호화하여 정보 비트와 첫 번째 구성 부호를 통해 생성된 패리티 비트 그리고 두 번째 구성 부호를 통해 생성된 패리티 비트를 출력한다.
터보 부호의 복호는 각 구성 부호의 복호를 통해 만들어진 출력 값의 부가 정보를 다른 구성 복호기에서 입력 값의 사전 정보로 이용하는 반복 복호를 통해 이루어진다. 반복 복호를 위해서는 각 구성 부호의 복호기가 연출력(soft output)을 할 수 있어야 한다. 따라서, 구성 부호의 복호를 위해 연출력하는 MAP(Maximum A Posteriori) 알고리즘과 SOVA(Soft Output Viterbi Algorithm)를 이용한다. 터보 부호를 이용한 선행기술들은 미국 특허 제5,446,747호(Error correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder),제5,729,560호 (Method and coding means for protected transmission of data on the basis of multi-component coding) 및 제5,721,745(Parallel concatenated tail-biting convolutional code and decoder)에 개시되어 있다.
이러한 터보 부호는 기존의 오류 정정 부호(Error Correction Code)에 비해 보다 우수한 성능을 나타낸다. 그러나 터보 부호는 낮은 거리의 부호어(codeword)가 존재하므로 높은 신호대잡음비에서 비트오율(Bit Error Rate, BER) 곡선이 완만해지는 현상인 오류 마루가 일어나는 문제점이 있다.
본 발명이 이루고자하는 기술적 과제는 낮은 거리의 부호어를 만드는 터보 부호의 입력에서 1값을 갖는 데이터를 해밍 부호화된 데이터로 교체하여 터보 부호화하는 부호화 방법 및 장치를 제공하는데 있다.
본 발명이 이루고자하는 다른 기술적 과제는 낮은 거리의 부호어를 만드는 터보 부호의 입력에서 1값을 갖는 데이터를 해밍 부호화된 데이터로 교체하여 터보 부호화되고, 채널을 통해 전송된 데이터를 수신하여 복호화하는 복호화 방법 및 장치를 제공하는데 있다.
도 1은 본 발명에 따른 해밍 부호를 연접한 터보 부호기에 대한 블록도를 도시한 것이다.
도 2는 종래의 터보 복호기에서 Eb/No가 4.0dB이고 7회 반복 복호하면서 5000개의 오류를 관찰했을 때 각 비트 위치에 축적된 오류 수를 그래프로 도시한 것이다.
도 3은 본 발명에 따른 해밍 부호를 연접한 터보 복호기에 대한 블록도이다.
도 4는 종래의 터보 복호기와 본 발명에 따른 해밍 부호 연접 터보 복호기의 Eb/No에 대한 BER을 도시한 것이다.
도 5는 도 4에 도시된 실험과 동일한 조건에서 종래 기술과 본 발명의 Eb/No에 대한 프레임 오율 (FER)을 비교하여 도시한 것이다.
상기 기술적 과제를 이루기위한, 본 발명에 따른 해밍 부호를 연접한 부호화 방법은 (a) 소정 값 이하의 거리를 갖는 부호어를 생성하는 터보 부호의 정보어중 제1레벨값을 갖는 비트 위치를 적어도 하나 선택하며, 선택된 위치를 저장하는 단계; (c) 입력되는 정보어를 두 블록으로 분리하는 단계; (c) 상기 두 블록중 제1블록의 데이터를 해밍 부호로 부호화하는 단계; (d) 상기 두 블록 중 제2블록의 데이터 시퀀스를 출력하되, 상기 (a)단계에서 저장된 비트 위치에는 상기 (c)단계에서 부호화된 데이터를 삽입하여 출력하는 단계; 및 (e) 상기 (d)단계에서 출력되는 데이터를 터보 부호화하는 단계를 포함한다.
상기 기술적 과제를 이루기위한, 본 발명에 따른 해밍 부호를 연접한 부호화기는 소정 값 이하의 거리를 갖는 부호어를 생성하는 터보 부호의 정보어중 제1레벨 값을 갖는 비트 위치를 적어도 하나 저장하는 저장기; 입력되는 정보어를 두 블록으로 분리하는 분리기; 상기 분리기에서 분리된 블록중 제1블록의 데이터를 해밍 부호화하는 해밍 부호기; 상기 분리기에서 분리되어 입력된 제2블록 데이터를 출력하되, 상기 저장기에 저장된 비트 위치에는 상기 해밍 부호기의 출력 데이터를 선택하여 출력하는 선택기; 및 상기 선택기에서 출력되는 데이터 시퀀스를 터보 부호화하는 터보 부호기를 포함한다.
상기 다른 기술적 과제를 이루기위한, 본 발명은 소정 값 이하의 거리를 갖는 부호어를 생성하는 터보 부호의 정보어에서 제1레벨값을 갖는 비트 위치를 적어도 하나 선택하고, 선택된 위치에 상기 정보어의 일부를 해밍부호화한 데이터가 삽입되어 터보 부호화된 데이터가 채널을 통해 수신될 때, 수신된 데이터 시퀀스를복호화하는 방법에 있어서, (a) 상기 선택된 위치가, 한 프레임내에서 상기 제1레벨 값이 군집한 구간에서 상기 제1레벨 값의 비트 위치를 하나의 조로 묶는 경우 상기 해밍 부호화한 데이터의 비트 수만큼 지정된 조에서 하나씩 선택되는 위치일 때, 각 조에 해당하는 비트 위치들을 저장하는 단계; (b) 수신 데이터 시퀀스를 터보 복호화하는 단계; (c) 상기 선택된 위치에서 상기 해밍 부호화 데이터를 분리하고, 나머지 데이터를 출력하는 단계; 및 (d) 분리된 해밍부호화 데이터를 해밍 복호화하면서 오류 발생여부를 판단하고, 오류가 발생한 경우 오류가 발생된 비트 위치를 출력하고, 해당 오류 데이터를 정정하여 출력하는 단계; 및 (e) 상기 나머지 데이터중에서 상기 오류가 발생된 비트 위치와 한 조를 이루는 비트 위치들에 해당하는 데이터를 정정하여 출력하는 단계를 포함한다.
상기 다른 기술적 과제를 이루기위한, 본 발명은 소정 값 이하의 거리를 갖는 부호어를 생성하는 터보 부호의 정보어에서 제1레벨값을 갖는 비트 위치를 적어도 하나 선택하고, 선택된 위치에 상기 정보어의 일부를 해밍부호화한 데이터가 삽입되어 터보 부호화된 데이터가 채널을 통해 수신될 때, 수신된 데이터 시퀀스를 복호화하는 복호기에 있어서, 상기 선택된 위치가, 한 프레임내에서 상기 제1레벨 값이 군집한 구간에서 상기 제1레벨 값의 비트 위치를 하나의 조로 묶는 경우 상기 해밍 부호화한 데이터의 비트 수만큼 지정된 조에서 하나씩 선택되는 위치일 때, 각 조에 해당하는 비트 위치들을 저장하는 저장기; 수신 데이터 시퀀스를 터보 복호화하는 터보 복호기; 상기 선택된 위치에서 상기 해밍부호화 데이터를 분리하고, 나머지 데이터를 출력하는 분리기; 분리된 해밍부호화 데이터를 해밍 복호화하면서오류 발생여부를 점검하여, 오류가 발생했다면 오류를 정정하면서 오류가 발생한 비트 위치를 출력하는 해밍 복호기; 상기 해밍 복호기의 출력에 따라 상기 저장기로부터 상기 오류가 발생한 비트 위치와 한 조를 이루는 비트 위치들을 입력받아 상기 분리기로부터 입력된 나머지 데이터중 상기 저장기에서 출력되는 비트 위치들에 해당하는 데이터를 정정하는 인버터; 및 소정 시간차를 두고 상기 해밍 복호기 또는 상기 인버터의 출력중 하나를 선택하는 선택기를 포함한다.
이하에서 첨부된 도면을 참조하여 본 발명의 실시예를 보다 상세히 설명하기로 한다.
도 1은 본 발명에 따른 해밍 부호기를 연접한 터보 부호기에 대한 블록도를 도시한 것이다. 도 1에 따른 부호기는 분리기(100), 해밍 부호기(102), 선택기(104), 룩업 테이블(106), 터보 부호기(108) 및 타이밍 제어기(110)를 포함한다.
분리기(100)는 타이밍 제어기(110)에서 출력되는 타이밍 제어 신호 C1에 따라 크기가 K인 정보어를 시간 0부터 (k-1)까지는 해밍 부호기(102)로 시간 k부터 (K-1)까지는 선택기(104)로 출력한다. 여기서, k는 해밍 부호의 정보어의 크기이다. 해밍 부호기(102)는 타이밍 제어신호 C2에 따라서 분리기(100)에서 출력되는 k비트 데이터를 해밍 부호화하여 n비트 데이터로 출력한다. n은 해밍 부호어의 크기이다. 선택기(104)는 타이밍 제어신호 C4에 따라 동작하며, 룩업 테이블(106)에서 출력되는 소정 위치들에 해밍 부호기(102)에서 부호화된 데이터를 선택하여 출력하고, 나머지 위치에는 분리기(100)에서 출력되는 (K-k)개의 데이터를 출력한다. 터보 부호기(108)는 타이밍 제어신호 C5에 따라 선택기(104)에서 출력되는 비트들을 순차적으로 받아들여 부호화한다.
해밍 부호기(102)는 생성 행렬(Generation Matrix)에 의해 간단한 XOR연산으로 구현될 수 있으며, 일반적으로 입력 비트와 생성 행렬에 의해 계산된 패리티 비트(parity bit)를 출력하는 조직형 해밍 부호를 사용한다.
룩업 테이블(106)은 타이밍 제어신호 C3에서 동작하며, 저장되어있는 소정 비트 위치를 출력하는데, 저장된 비트 위치들은 실험치로 구할 수 있다. 즉, 터보 부호에서 낮은 거리의 부호어는 낮은 무게를 갖는 정보어에 의해 생성된다는 점을 이용하여 전산실험에 통해 낮은 무게를 갖는 터보 부호의 입력을 찾는다. 이를 보다 상세히 설명하면 다음과 같다. 터보 부호는 선형 블록 부호의 일종이기 때문에 모든 부호어의 해밍 거리(Hamming distance) 특성을 분석함으로써 성능을 예측할 수 있다. 최우(Maximun Likelihood) 복호를 가정했을 때 다음 식과 같은 BER을 나타낸다.
여기서, d는 거리, R은 부호화율, Nd는 d거리를 갖는 부호허의 수, N은 인터리버의 크기,는 d거리의 부호어를 생성하는 정보어의 평균 해밍 무게(Hamming weight)이다. Q()는 가우시안(Gaussian) 분포를 갖는 잡음이 존재할 때 오류율을 계산하는 양이다.
상기 수학식에 따르면, 비트당 에너지대 잡음전력 스펙트럼(Eb/No)이 높아질수록 터보 부호의 성능은 낮은 거리의 부호어에 의해 결정됨을 알 수 있다. 터보 코드에서 낮은 거리의 부호어를 만드는 터보 부호의 입력은 낮은 무게의 입력이므로, 낮은 무게의 터보 부호 입력에 의해 생기는 부호어의 거리를 계산함으로써 높은 Eb/No에서 성능에 영향을 미치는 터보 부호의 거리 특성을 알 수 있다.
한편, 낮은 거리의 부호어를 만드는 정보어의 "1"의 비트 위치에서 오류가 발생할 확률이 높다는 것은 실험적으로 알 수 있다. 다음의 표 1은 하나의 정보 프레임(Information Frame)에서 각각 거리 6, 8 및 9를 만드는 정보어의 "1"의 비트 위치를 나타낸 것이다.
거리 정보 프레임에서 비트 위치
6 (134,137) (165,168) (179,182) (474,477) (491,494)
8 (9,18) (16,19) (94,103) (112,115) (171,174) (214,217) (224,233) (243,252)
9 (88,95,96) (130,131,132)(368,376,378) (453,460,464) (476,478,483)
도 2는 종래의 터보 복호기에서 Eb/No가 4.0dB이고 7회 반복 복호하면서 5000개의 오류를 관찰했을 때 각 비트 위치에 축적된 오류 수를 그래프로 도시한 것이다. 도시된 바에 따르면, 표 1에 나타난 비트 위치에 오류가 발생할 확률이 높다고 할 수 있다.
따라서, 표 1에 나타난 바와 같이 한 프레임에서 "1"이 군집한 각 구간에서 "1"의 비트 위치들이 하나의 조로 묶여서 룩업 테이블(106)에 저장된다. 룩업 테이블(106)은 타이밍 제어신호 C3에 따라 각 조에서 지정된 위치, 예를 들어 각 조의첫 번째 위치를 출력하되, 상기 해밍 부호기(102)의 부호어의 크기만큼 지정된 갯수의 조에서 해당 위치를 출력한다. 예를 들어, 해밍 부호기(102)의 부호어가 n=15인 경우 표 1의 여러 조중 처음 15개의 첫 번째 비트 위치를 선택할 수 있다.
터보 부호기(108)는 재귀적 조직형 컨볼루셔널 부호를 구성 부호로 인터리버를 통해 병렬로 연접하는 구조를 갖는다. 구성 부호기의 수는 제한되어 있지않고 그 종류도 동일할 필요는 없으나, 일반적으로 구성 부호기가 두 개이고 동일한 구성 부호기를 갖는 터보 부호기를 사용한다. 그리고 터보 부호의 부호율을 높히기 위해 천공(puncturing)을 사용한다. 본 발명에서도 이를 따른다.
Dte를 터보 부호기의 지연시간이라 하면, 해밍 부호기를 연접한 터보 부호기로 입력 데이터를 부호화하는 경우 타이밍 제어기(110)의 출력 신호에 따라서 시간대별 각 구성요소의 동작들은 다음 표 2와 같다.
구성요소/시간대 0~(k-1) k~(K-1) K~(K+n-k-1) (K+n-k)~(k+Dte)
분리기 인에이블 인에이블 디스에이블 디스에이블
해밍 부호기 인에이블 인에이블 디스에이블 디스에이블
선택기 디스에이블 인에이블 인에이블 디스에이블
룩업 테이블 디스에이블 인에이블 인에이블 디스에이블
터보 부호기 디스에이블 인에이블 인에이블 인에이블
상기 표 2에 나타난 바와 같이, 0~k+Dte의 시간 주기동안 룩업 테이블(106)에 저장된 위치에 해밍 부호화된 부호어를 첨가하여 전체 N=K+n-k개의 데이터가 터보 부호로 입력되고, 터보 부호화된다.
도 3은 본 발명에 따른 해밍 부호를 연접한 터보 복호기에 대한 블록도이다. 도 3에 따른 복호기는 터보 복호기(300), 분리기(302), 제1룩업 테이블(304), 해밍복호기(306), 인버터(308), 제2룩업 테이블(310), 지연기(312), 선택기(314) 및 타이밍 제어기(316)를 포함한다.
터보 복호기(300)는 수신된 데이터를 타이밍 제어기(110)에서 출력되는 타이밍 제어신호 T1에 따라서 터보 복호한다. 터보 복호기(300)는 각각 구성부호의 복호를 위해 연판정된 값을 갖는 복호 방법인 MAP(Maximum A Posteriori probability) 또는 SOVA(Soft Output Viterbi Algorithm)의 복호를 사용하고 각각의 구성부호의 복호를 통해 생성된 출력의 부가 정보를 다른 구성 복호기 입력의 사전 정보로 이용하여 반복 복호를 한다. 터보 복호기(300)에는 각각의 구성 복호기를 차례로 복호하며, 현재의 구성 복호기에서 생성된 출력의 부가 정보를 다음 구성 복호기의 사전 정보로 이용하는 직렬 복호 알고리즘과 모든 구성 복호기가 동시에 복호를 수행하고 각각의 구성 복호기에서 생성된 출력의 부가 정보를 다른 구성 복호기의 사전 정보로 이용하는 병렬 복호 알고리즘을 사용할 수 있다.
분리기(302)는 타이밍 제어신호 T2에서 동작하며, 제1룩업 테이블(304)에서 출력되는 소정 위치에 따라 터보 복호화된 데이터중 일부를 분리한다. 제1룩업 테이블(304)은 상기 부호화측 룩업 테이블에 저장된 위치와 동일한 위치를 저장하며, 상기 부호화측 룩업 테이블에서 지정되어 출력되는 위치와 동일한 위치를 출력한다.
해밍 복호기(306)는 타이밍 제어신호 T4에서 동작하며, 분리기(302)에서 분리된 데이터를 해밍 복호화한다. 해밍 복호기(306)는 패리티 검사 행렬을 이용하여 신드롬(syndrome)을 계산하고 신드롬의 패턴과 오류가 발생된 경우 그 위치를 저장하고, 저장된 오류 위치를 찾아 정정하는 신드롬 복호 방법으로 복호한다. 복호시, 오류가 발견되면 해밍 복호기(306)는 발견된 오류의 비트 위치를 제2룩업 테이블(310)로 출력하고, 복호가 완료된 데이터를 선택기(314)로 출력한다. 만일 오류가 발견되지 않는다면 해밍 복호기(306)는 오류가 없다는 신호를 제2룩업 테이블(310)로 출력하고, 복호가 완료된 데이터를 선택기(314)로 출력한다.
제2룩업 테이블(310)은 제1룩업 테이블(304)과 동일한 데이터를 저장한다. 제2룩업 테이블(310)은 타이밍 제어 신호 T5에서 동작하며, 해밍 복호기(306)에서 오류의 비트 위치가 입력되면, 그와 짝이 되는 위치를 인버터(308)로 출력하고, 해밍 복호기(306)에서 오류가 발견되지 않았다면 오류가 없다는 신호를 인버터(308)로 출력한다.
인버터(308)는 타이밍 제어신호 T6에서 동작하며, 분리기(302)에서 출력되는 터보 복호화된 데이터에 대해, 제2룩업 테이블(310)에서 출력되는 위치에 해당하는 비트 값을 "0"은 "1"로, 혹은 "1"은 "0"으로 변환하여 지연기(312)로 출력한다. 만일 제2룩업 테이블(310)에서 오류가 없다는 신호를 받으면, 인버터(308)는 분리기(302)에서 받을 입력을 그대로 지연기(312)로 출력한다.
지연기(312)는 타이밍 제어신호 T7에서 동작하며, 해밍 복호기(306)에 의해 복호가 완료될 때까지 인버터(308)로부터 입력된 데이터를 지연시킨다. 선택기(314)는 타이밍 제어신호 T8에서 동작하며, 시간 Dtd+Dnd부터 Dtd+Dnd+k-1까지는 해밍 복호기(306)에서 출력된 데이터를, 시간 Dtd+Dnd+k부터 Dtd+Dnd+K까지는 지연기(312)에서 출력된 데이터를 선택하여 출력한다. 여기서, Dtd는 터보 복호기의 복호 시간이고, Dnd는 해밍 복호기의 복호 시간이다.
다음의 표는 타이밍 제어기(316)에서 출력되는 제어신호에 따른 시간대별 각 구성요소의 동작들을 나타낸 것이다.
구성요소/시간대 0~(Dtd-1) Dtd~(Dtd+Dnd-1) (Dtd+Dnd)~(Dtd+Dnd+K-k)
터보 복호기 인에이블 디스에이블 디스에이블
제1룩업 테이블 인에이블 디스에이블 디스에이블
분리기 인에이블 디스에이블 디스에이블
해밍 복호기 인에이블 인에이블 디스에이블
제2룩업 테이블 디스에이블 인에이블 디스에이블
인버터 인에이블 인에이블 인에이블
지연기 디스에이블 인에이블 인에이블
선택기 디스에이블 해밍 복호기 출력 선택 인버터 출력 선택
상기 표에 따르면, 해밍 부호를 연접한 터보 부호의 복호기는 0에서 (Dtd+Dnd+K-k) 시간 주기에서 전체 N=K+n-k개의 수신된 심볼을 복호화한다.
도 4는 종래의 터보 복호기와 본 발명에 따른 해밍 부호 연접 터보 복호기의 Eb/No에 대한 BER을 도시한 것이다. 구성 부호로는 부호율이 1/2인 (7,5) 재귀적 조직형 컨벌루셔널 부호 두 개를 크기가 512인 랜덤 인터리버를 통해 병렬 연접하고, 천공을 통해 부호율을 1/2로 만든 터보 부호를 사용하였다. 구성 부호의 복호 방식으로는 MAP을 사용하고, 가산성 백색 가우시안 잡음(AWGN) 채널 환경에서 요구되는 BER이 10-6일 때, Eb/No=4.0dB에서 본 발명은 종래 기술보다 0.75 dB정도의 성능향상을 보인다. 실험에 사용된 해밍 부호는 한 개의 오류정정 능력을 갖는 (n,k)=(63,57) 부호이다.
도 5는 도 4에 도시된 실험과 동일한 조건에서 AWGN 채널에서 요구되는 조건이 BER=10-4일 때, 종래 기술과 본 발명의 Eb/No에 대한 프레임 오율 (FER)을 비교하여 도시한 것이다. 도시된 바에 따르면, Eb/No=4.0dB에서 본 발명은 종래 기술에 비해 1.00dB 정도의 성능 향상을 보인다.
한편, 상기한 바와 같은, 본 발명에 따른 해밍 부호를 연접한 터보 부호화 방법 및 해밍 복호를 연접한 터보 복호화 방법은 개인용 또는 서버 컴퓨터급의 컴퓨터내에서 실행되는 프로그램으로 작성 가능하다. 상기 프로그램을 구성하는 프로그램 코드들 및 코드 세그멘트들은 당해 분야의 컴퓨터 프로그래머들에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 컴퓨터 독취가능한 기록매체에 저장될 수 있다. 상기 기록매체는 자기기록매체, 광기록매체 및 전파매체를 포함한다. 또한, 상기 프로그램은 망으로 연결된 기기들내에서 분산되어 저장되고 실행될 수 있다.
본 발명에 따르면, 기존의 터보 부호의 성능에 영향을 가장 많이 미치는 낮은 거리의 부호어를 생성하는 터보 부호의 입력에서 오류 발생 확률이 높은 "1"의 값을 갖는 위치중 지정된 위치에 해밍 부호를 삽입하고, 복호시 상기 지정된 위치에서 발생된 오류를 정정함으로써 비교적 높은 Eb/No에서 성능을 향상시킬 수 있다.

Claims (12)

  1. 삭제
  2. 삭제
  3. (a) 소정 값 이하의 거리를 갖는 부호어를 생성하는 터보 부호의 정보어중 제1레벨값을 갖는 비트 위치를 적어도 하나 선택하며, 선택된 위치를 저장하는 단계;
    (c) 입력되는 정보어를 두 블록으로 분리하는 단계;
    (c) 상기 두 블록중 제1블록의 데이터를 해밍 부호로 부호화하는 단계;
    (d) 상기 두 블록 중 제2블록의 데이터 시퀀스를 출력하되, 상기 (a)단계에서 저장된 비트 위치에는 상기 (c)단계에서 부호화된 데이터를 삽입하여 출력하는 단계; 및
    (e) 상기 (d)단계에서 출력되는 데이터를 터보 부호화하는 단계를 포함하는 해밍 부호를 연접한 터보 부호화 방법.
  4. 제3항에 있어서, 상기 (a)단계의 위치는
    한 프레임내에서 상기 제1레벨 값이 군집한 구간에서 상기 제1레벨 값의 비트 위치를 하나의 조로 묶을 때, 상기 해밍 부호화한 데이터의 비트 수만큼 지정된 조에서 하나씩 선택되는 해밍 부호를 연접한 터보 부호화 방법.
  5. 소정 값 이하의 거리를 갖는 부호어를 생성하는 터보 부호의 정보어중 제1레벨 값을 갖는 비트 위치를 적어도 하나 저장하는 저장기;
    입력되는 정보어를 두 블록으로 분리하는 분리기;
    상기 분리기에서 분리된 블록중 제1블록의 데이터를 해밍 부호화하는 해밍 부호기;
    상기 분리기에서 분리되어 입력된 제2블록 데이터를 출력하되, 상기 저장기에 저장된 비트 위치에는 상기 해밍 부호기의 출력 데이터를 선택하여 출력하는 선택기; 및
    상기 선택기에서 출력되는 데이터 시퀀스를 터보 부호화하는 터보 부호기를 포함하는 해밍 부호를 연접한 터보 부호기.
  6. 제5항에 있어서, 상기 저장기에 저장되는 비트 위치는
    한 프레임내에서 상기 제1레벨 값이 군집한 구간에서 상기 제1레벨 값의 비트 위치를 하나의 조로 묶을 때, 상기 해밍 부호화한 데이터의 비트 수만큼 지정된조에서 하나씩 선택되는 해밍 부호를 연접한 터보 부호기.
  7. 소정 값 이하의 거리를 갖는 부호어를 생성하는 터보 부호의 정보어에서 제1레벨값을 갖는 비트 위치를 적어도 하나 선택하고, 선택된 위치에 상기 정보어의 일부를 해밍부호화한 데이터가 삽입되어 터보 부호화된 데이터가 채널을 통해 수신될 때, 수신된 데이터 시퀀스를 복호화하는 방법에 있어서,
    (a) 상기 선택된 위치가, 한 프레임내에서 상기 제1레벨 값이 군집한 구간에서 상기 제1레벨 값의 비트 위치를 하나의 조로 묶는 경우 상기 해밍 부호화한 데이터의 비트 수만큼 지정된 조에서 하나씩 선택되는 위치일 때, 각 조에 해당하는 비트 위치들을 저장하는 단계;
    (b) 수신 데이터 시퀀스를 터보 복호화하는 단계;
    (c) 상기 선택된 위치에서 상기 해밍 부호화 데이터를 분리하고, 나머지 데이터를 출력하는 단계;
    (d) 분리된 해밍부호화 데이터를 해밍 복호화하면서 오류 발생여부를 판단하고, 오류가 발생한 경우 오류가 발생된 비트 위치를 출력하고, 해당 오류 데이터를 정정하여 출력하는 단계; 및
    (e) 상기 나머지 데이터중에서 상기 오류가 발생된 비트 위치와 한 조를 이루는 비트 위치들에 해당하는 데이터를 정정하여 출력하는 단계를 포함하는 해밍복호를 연접한 터보 복호화 방법.
  8. 제7항에 있어서,
    (f) 상기 (d)단계에서 오류가 발생하지않았다면 해밍 복호화된 데이터를 출력하는 단계; 및
    (g) 상기 나머지 데이터를 소정 시간지연을 두고 출력하는 단계를 더 구비하는 해밍 복호를 연접한 터보 복호화 방법.
  9. 소정 값 이하의 거리를 갖는 부호어를 생성하는 터보 부호의 정보어에서 제1레벨값을 갖는 비트 위치를 적어도 하나 선택하고, 선택된 위치에 상기 정보어의 일부를 해밍부호화한 데이터가 삽입되어 터보 부호화된 데이터가 채널을 통해 수신될 때, 수신된 데이터 시퀀스를 복호화하는 복호기에 있어서,
    상기 선택된 위치가, 한 프레임내에서 상기 제1레벨 값이 군집한 구간에서 상기 제1레벨 값의 비트 위치를 하나의 조로 묶는 경우 상기 해밍 부호화한 데이터의 비트 수만큼 지정된 조에서 하나씩 선택되는 위치일 때, 각 조에 해당하는 비트 위치들을 저장하는 저장기;
    수신 데이터 시퀀스를 터보 복호화하는 터보 복호기;
    상기 선택된 위치에서 상기 해밍부호화 데이터를 분리하고, 나머지 데이터를 출력하는 분리기;
    분리된 해밍부호화 데이터를 해밍 복호화하면서 오류 발생여부를 점검하여, 오류가 발생했다면 오류를 정정하면서 오류가 발생한 비트 위치를 출력하는 해밍 복호기;
    상기 해밍 복호기의 출력에 따라 상기 저장기로부터 상기 오류가 발생한 비트 위치와 한 조를 이루는 비트 위치들을 입력받아 상기 분리기로부터 입력된 나머지 데이터중 상기 저장기에서 출력되는 비트 위치들에 해당하는 데이터를 정정하는 인버터; 및
    소정 시간차를 두고 상기 해밍 복호기 또는 상기 인버터의 출력중 하나를 선택하는 선택기를 포함하는 해밍 복호를 연접한 터보 복호기.
  10. 제9항에 있어서,
    상기 해밍 복호기는 상기 복호화된 데이터중 오류가 발생하지않았다면 오류가 없다는 신호를 출력하고,
    상기 인버터는 상기 오류가 없다는 신호에 따라 상기 분리기로부터 입력된 나머지 데이터를 그대로 출력하는 해밍 복호를 연접한 터보 복호기.
  11. 제9항 또는 제10항에 있어서, 상기 인버터는
    상기 인버터의 출력 데이터를 상기 해밍 복호기의 동작 시간만큼 지연하여 출력하는 지연기를 더 구비하는 해밍 복호를 연접한 터보 복호기.
  12. 제9항에 있어서,
    각 구성요소들의 동작 순서에 따라 그에 맞는 타이밍 신호를 출력하는 타이밍 제어기를 더 구비하는 해밍 복호를 연접한 터보 복호화기.
KR10-2000-0013038A 2000-03-15 2000-03-15 해밍 부호를 연접한 터보 부호화/복호화 방법 그리고 그의 부호기/복호기 KR100370780B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0013038A KR100370780B1 (ko) 2000-03-15 2000-03-15 해밍 부호를 연접한 터보 부호화/복호화 방법 그리고 그의 부호기/복호기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0013038A KR100370780B1 (ko) 2000-03-15 2000-03-15 해밍 부호를 연접한 터보 부호화/복호화 방법 그리고 그의 부호기/복호기

Publications (2)

Publication Number Publication Date
KR20010091388A KR20010091388A (ko) 2001-10-23
KR100370780B1 true KR100370780B1 (ko) 2003-02-05

Family

ID=19655384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0013038A KR100370780B1 (ko) 2000-03-15 2000-03-15 해밍 부호를 연접한 터보 부호화/복호화 방법 그리고 그의 부호기/복호기

Country Status (1)

Country Link
KR (1) KR100370780B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788466A (zh) * 2016-12-13 2017-05-31 中国电子科技集团公司第二十研究所 用于小型化通信系统的Turbo码编译码芯片

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040000059A (ko) * 2002-06-21 2004-01-03 엘지전자 주식회사 심볼 부호화 방법 및 심볼 부호화기

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970001210A (ko) * 1995-06-28 1997-01-21 다쓰노 히로미찌 급유장치
US5996104A (en) * 1996-09-13 1999-11-30 Herzberg; Hanan System for coding system
JP2001077704A (ja) * 1999-09-06 2001-03-23 Mitsubishi Electric Corp ターボ符号の誤り訂正復号装置およびターボ符号の誤り訂正復号方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970001210A (ko) * 1995-06-28 1997-01-21 다쓰노 히로미찌 급유장치
US5996104A (en) * 1996-09-13 1999-11-30 Herzberg; Hanan System for coding system
JP2001077704A (ja) * 1999-09-06 2001-03-23 Mitsubishi Electric Corp ターボ符号の誤り訂正復号装置およびターボ符号の誤り訂正復号方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788466A (zh) * 2016-12-13 2017-05-31 中国电子科技集团公司第二十研究所 用于小型化通信系统的Turbo码编译码芯片

Also Published As

Publication number Publication date
KR20010091388A (ko) 2001-10-23

Similar Documents

Publication Publication Date Title
US6289486B1 (en) Adaptive channel encoding method and device
US6339834B1 (en) Interleaving with golden section increments
JP3730238B2 (ja) 適用形チャネル符号化方法及び装置
US9214958B2 (en) Method and decoder for processing decoding
US7519895B2 (en) Channel encoding/decoding apparatus and method using a parallel concatenated low density parity check code
EP0963049B1 (en) Interleaving with golden section increments
KR100641052B1 (ko) Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법
EP2102989B1 (en) Turbo-encoding with contention-free qpp interleavers
KR100876735B1 (ko) 이동통신 시스템에서 반복 복호 정지 장치 및 방법
KR20050118056A (ko) 다양한 부호율을 갖는 Block LDPC 부호를 이용한이동 통신 시스템에서의 채널부호화 복호화 방법 및 장치
JP2006115145A (ja) 復号装置及び復号方法
KR20000046034A (ko) 통신시스템에서반복복호장치및방법
Argon et al. An efficient Chase decoder for turbo product codes
JP2002532938A (ja) 通信システムで直列鎖相構造を有する符号化及び復号化装置
KR20090127878A (ko) 데이터를 인코딩 및 디코딩하기 위한 방법 및 장치
JP4321394B2 (ja) 符号化装置、復号装置
EP1317070A1 (en) Method for obtaining from a block turbo-code an error correcting code of desired parameters
KR19990081470A (ko) 터보복호기의 반복복호 종료 방법 및 그 복호기
US6961894B2 (en) Digital transmission method of the error-correcting coding type
KR100362912B1 (ko) 터보 복호기에서 반복 복호를 중지하는 장치 및 이를구비한 터보 복호기
KR100738250B1 (ko) Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법
KR100370780B1 (ko) 해밍 부호를 연접한 터보 부호화/복호화 방법 그리고 그의 부호기/복호기
CN108476027B (zh) 窗口交织的turbo(wi-turbo)码
JP2005167513A (ja) 復号装置及び復号方法
CA2273407C (en) Interleaving with golden section increments

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
LAPS Lapse due to unpaid annual fee