KR0171383B1 - 순환컨벌루션널코드의복호화방법 - Google Patents

순환컨벌루션널코드의복호화방법 Download PDF

Info

Publication number
KR0171383B1
KR0171383B1 KR1019950041330A KR19950041330A KR0171383B1 KR 0171383 B1 KR0171383 B1 KR 0171383B1 KR 1019950041330 A KR1019950041330 A KR 1019950041330A KR 19950041330 A KR19950041330 A KR 19950041330A KR 0171383 B1 KR0171383 B1 KR 0171383B1
Authority
KR
South Korea
Prior art keywords
code
decoding
state
result
viterbi algorithm
Prior art date
Application number
KR1019950041330A
Other languages
English (en)
Other versions
KR970031389A (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 KR1019950041330A priority Critical patent/KR0171383B1/ko
Publication of KR970031389A publication Critical patent/KR970031389A/ko
Application granted granted Critical
Publication of KR0171383B1 publication Critical patent/KR0171383B1/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory 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/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/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors

Landscapes

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

Abstract

본 발명은 순환 길쌈 부호의 순환성을 이용하여 수신된 L개의 코드 심벌에 대하여 비터비 복호를 수행한 후, 계속해서 처음 M개의 코드 심벌에 대하여 복호를 수행함으로써, 통신 채널상의 전송 에러를 보정하기 위한 순환 컨벌루셔널 코드의 복호화 방법에 관한 것으로서, 수신된 코드에 대하여 상기 비터비 알고리즘을 수행하는 제1과정과, 상기 제1과정의 결과로 생성된 코드에 의해 수신된 신호의 처음부터 구속장 길이 까지의 신호에 대하여 다시 비터비 알고리즘을 수행하는 제2과정과, 상기 제2과정의 결과로 생성된 코드의 초기상태와 최종상태가 같은지를 판단하는 제3과정과, 상기 제3과정의 판단결과 그 초기상태와 최종상태가 같으면 종료하고, 같지않으면 그 초기상태와 최종상태의 중간시점의 생존경로의 상태에서 시작하고 그 상태에서 끝나는 코드를 선택하여 그 코드에 의해 제1과정의 결과로 생성된 코드에 대하여 비터비 알고리즘을 수행한 후, 상기 제3과정 이후를 반복 수행하는 제5과정으로 구성되어, 종래의 선형 컨벌루셔널 코드의 실용화를 이루고 전송률 손실없이 임의의 크기의 정보비트를 부호화하는 것이 가능하기 때문에 가변 비트 길이의 부호화에 탄력적으로 적용이 가능하다는 효과가 있다.

Description

순환 컨벌루셔널 코드의 복호화 방법
제1도는 종래기술인 제로 테일 컨벌루셔널 부호기의 개념도.
제2도는 종래기술인 테일 바이팅 컨벌루셔널 부호기의 개념도.
제3도는 본 발명의 일실시예에 따른 순환 컨벌루셔널 코드의 복호화 방법에 대한 처리 흐름도.
제4도는 본 발명에 따른 비교적 간단한 일 실시예의 부호기를 나타낸 도면.
제5도는 제안된 복호화 방법과 기존의 복호화 방법의 성능 비교도.
본 발명은 순환 컨벌루셔널 코드의 복호화 방법에 관한 것으로, 특히, 순환 길쌈 부호의 순환성을 이용하여 수신된 L개의 코드 심벌에 대하여 비터비 복호를 수행한 수 계속해서 처음 M개의 코드 심벌에 대하여 복호를 수행함으로써, 통신 채널상의 전송에러를 보정하는 순환 컨벌루셔널 코드의 복호화 방법에 관한 것이다. 일반적으로, 디지털 무선 통신 시스템에서 송신단은 소스 부호기, 채널 부호기, 변조기 등으로 구성되며, 수신단은 복조기, 채널 복호기, 소스 복호기 등으로 구성된다.
이 때, 상기 소스부호기와 복호기는 전송채널 상의 점유대역을 줄이기 위해 데이터를 축소하고 다시 원래의 데이터로 복원하는 기능을 수행하고, 상기 변조기와 복조기는 확산 주파수 대역으로 변조된 데이터를 반송 주파수에 실어서 전송하고 또한 전송된 신호를 수신하여 복조하는 장치로서, 그 변조기와 복조기를 합쳐서 모뎀이라고 한다.
또한, 상기 채널 부호기와 상기 채널 복호기는 채널 상의 에러를 보정하기 위하여 채널을 부호화하거나 복호화하는데, 이를 채널코딩이라 한다.
이러한 채널코딩은 부호기(소스 부호기 및 채널 부호기)와 복호기(소스 복호기 및 채널 복호기)로 구성된다.
이 때, 상기 채널 부호기는 채널 상으로 전송하고자 하는 신호에 중복성을 추가하여 전송하는 역할을 하며, 상기 채널 복호기는 상기 중복성이 있는 데이터로부터 채널에서 첨가된 에러를 보정하여 복호화하는 역할을 한다.
이러한 채널 코딩 기법 중에 가장 대표적인 방식으로 컨벌루셔널 코드(convolutional code)를 이용한 방식이 널리 사용되고 있으며, 상기 컨벌루셔널 코드에는 선형 컨벌루셔널 코드와 순환 컨벌루셔널 코드가 있는데 각각에 대하여 간단히 살펴보면 다음과 같다.
먼저, 선형 컨벌루셔널 코드에 대하여 설명한다.
길이가 L로서 서로 같은 두개의 시퀀스 x[n]과 y[n]이 있다고 하면, 이 둘을 컨벌루션하여 나온 시퀀스를 선형 컨벌루셔널 코드라고 하며 그 길이는 2L-1이다.
또한, 이를 수식으로 나타내면 x[n]과 y[n]의 선형 컨벌루셔널 코드 z[n]을 다음과 같이 나타낼 수 있다.
이러한, 선형 컨벌루셔널 코드는 부호화하고자 하는 정보열과 부호기의 임펄스 응답과의 선형 콘볼루션을 수행하기 위하여 부호기의 초기 상태를 모두 '0'으로 설정하여 정보열을 모두 부호화하고난 후에 다시 부호기의 메모리 크기 만큼의 '0' 비트를 추가로 부호화하여야만 한다.
따라서, 메모리 크기 만큼의 '0'비트를 추가로 부호화함으로써 상기 선형 컨벌루셔널 코드는 전송률 손실이 발생한다.
이러한 부호율 손실을 막기 위해 발명된 것이 순환 컨벌루셔널 코드 방식으로, 상기 순환 컨벌루셔널 코드에 대하여 설명하면 다음과 같다.
길이가 각각 L과 M인 두개의 시퀀스 x[n]과 y[n]이 있고, x[n]이 주기적으로 반복되어 주기가 L인 시퀀스를이라고 정의하고 y[n]이 주기적으로 반복되어 주기가 M인 시퀀스를이라고 정의하면, 이 둘을 컨벌루션하여 나온 시퀀스를 순환 컨벌루셔널 코드라고 하며 그 주기는 L+M-1이다.
또한, 이를 수식으로 나타내어 x[n]과 y[n]의 순환 컨벌루셔널 코드 z[n]은 다음과 같이 나타낼 수 있다.
이러한 순환 컨벌루셔널 코드를 사용하는 시스템으로는 북미의 TDMA 방식의 디지털 셀룰러 시스템이 유일한데, 순환 컨벌루셔널 코드는 순환 컨벌루션 연산을 사용하므로, 선형 컨벌루셔널 코드와 같은 '0'비트의 추가비트를 부호화하지 않으며, 먼저, 부호기의 초기 상태를 정보열의 일부분으로 채우고난 후, 나머지 정보열을 부호화한다. 따라서, 선형 컨벌루셔널 부호기에서 사용한 '0'비트들의 부호화가 필요없게 되었으며, 이 연산 방법을 마치 이진수의 순환 컨벌루션과 같다.
한편, 이러한 컨벌루셔널 코드의 구속장의 정의에는 2가지가 있는데, 하나는 컨벌루셔널 부호기의 출력 심벌을 만드는 데에 사용된 입력비트 수이고, 다른 하나는 컨벌루셔널 부호기를 구성하는 데에 사용된 쉬프트 레지스터의 길이이다.
컨벌루셔널 부호기는 m비트 길이의 쉬프트 레지스터로 쉽게 구현되는데, 여기서는 후자의 정의를 따라 이 m을 구속장이라고 하자.
컨벌루셔널 부호기의 출력 심벌을 만드는 데에 사용된 입력 비트 수를 K라고 하고 컨벌루셔널 부호기를 구성하는 데에 사용된 쉬프트 레지스터의 길이를 m이라고 하면, 그 두 구속장 사이에는 다음의 관계가 있다.
통상적으로 컨벌루셔널 코드는 송신단에서 전송하고자 하는 신호(이 신호의 길이를 k라고 하자)를 모두 복호화한 후, 추가로 구속장 길이만큼의 '0'비트를 부호화하여 전송함으로써 수신단에서 레지스터의 상태가 '0' 상태에서 시작하여 '0' 상태에서 끝나게 되는 모든 가능한 상태 변천도 상의 경로 중 최적 경로에 해당하는 코드워드로 복호화한다.
이렇게 k비트의 입력 정보의 끝에 구속장 길이 m 만큼의 '0' 비트를 첨가하고 각 정보 비트를 n개의 심벌로 부호화한 컨벌루셔널 코드를 (n, k, m) ZT(Zero Tail) 컨벌루셔널 코드(이하, ZTCC라고 약칭함)라고 한다.
즉, (n, k, m) 컨벌루셔널 코드는 k비트의 입력정보를 n개의 심벌로 매핑하여 채널 상으로 전송한다.
여기서, 하나의 입력 비트를 부호화한 결과를 심벌이라고 한다.
그래서, m개의 심벌만큼의 전송손실을 가지며 한 블록 데이터의 길이를 L이라고 할 때, 전송 손실률은 m/(m+L)이다.
그러나, 전송 손실이 크다는 것은 통신 채널의 점유 대역폭이 커진다는 것을 의미한다.
예를 들어, 30KHz의 주파수 대역에서 통신이 가능한 경우에도 이보다 더 넓은 주파수 대역에서 통신을 해야하기 때문에 일정한 주파수 자원을 효과적으로 사용하지 못하게 된다.
즉, 이 방법은 구속장의 길이가 클수록 그리고 부호화하고자 하는 데이터의 크기가 작을수록 추가 정보 전송에 의한 전송 채널상의 손실이 커진다는 단점이 있었다.
제1도는 상기 단점을 보완하기 위해 개발된 종래기술인 ZTCC 부호기의 개념도이다.
제1도를 참조하여, 종래의 방식을 적용한 (2, 1, 6) ZTCC 부호기를 간단히 설명한다.
(2, 1, 6) 컨벌루셔널 부호기는 한 비트의 입력신호가 2개의 심벌로 매핑되고 구속장이 6임을 나타내는 비율이 약 1/2인 컨벌루셔널 부호기를 말한다.
도시되어 있는 덧셈기는 이진 덧셈기(Modulo - 2 ADDER)이며, (a)는 첫번째 입력신호를 부호화하는 과정을 나타내고, (b)는 마지막 입력신호를 부호화하는 과정을 나타낸다.
그러나, 모든 입력 정보 비트를 부호화한 후 6개의 '0' 비트를 추가로 부호화해야 하므로 이 때문에 전송률 손실이 발생한다는 단점이 있었다.
그러므로, ZTCC에서 발생하는 상기와 같은 전송손실을 없애는 방법이 제공되어야 하는데, 종래에 제안되어진 대표적인 방법이 직접절단(Direct Truncation) 방법과 순환 컨벌루셔널 부호화 방법이 있으며, 성능의 우수성은 순환컨벌루셔널 부호화 방법이 더 뛰어나다.
제2도는 상기 단점을 보완하기 위한 종래기술인 테일 바이팅 컨벌루셔널 부호기의 개념도이다.
제2도를 참조하여, 순환컨벌루셔널 부호화 방법인 (2, 1, 6) TB(Tail Biting)컨벌루셔널 코드의 부호화 과정을 간단히 설명한다.
(a)는 부호화하고자 하는 k개의 입력 비트 중 마지막 6개의 입력 비트(Ik, Ik-1, Ik-2, Ik-3, Ik-4, Ik-5)로 쉬프트 레지스터를 초기화한 후 첫번째 입력 비트 I1을 부호화하는 과정을 나타내었다.
그리고 상기 k비트의 코드가 차례대로 모두 부호화되고 나면 (b)도와 같이된다.
(b)도와 같은 상태를 쉬프트시키면, 레지스터는 초기상태(Ik, Ik-1, Ik-2, Ik-3, Ik-4, Ik-5)와 같아진다.
즉, 상기 순환 컨벌루셔널 부호화 방법이란, 부호화하고자 하는 정보의 크기를 'k'비트라고 할 때, 우선 그 중 마지막 'm' 비트로 쉬프트 레지스터를 초기화한 후 입력정보를 차례대로 부호화하는 방법인 것이다.
이렇게 하여 'k' 비트의 입력정보가 모두 부호화하고 나면 레지스터는 초기 상태와 같게 되는 것이다.
따라서, 복호기에서는 레지스터의 초기상태와 최종상태가 같다는 점을 이용하여 ML(Maximum Likelihood) 복호화 방법으로 복호를 할 수 있다.
상술한 순환 컨벌루셔널 부호화 방법은 추가의 정보를 부호화하지 않으므로 ZTCC에 비하여 테일 비트에 의한 전송손실은 제거하는 효과가 있다.
그러나, 부호화 시에 쉬프트 레지스터를 초기화하기 위하여 입력정보의 마지막 'm' 비트를 얻기 위해 'k' 비트 크기의 메모리가 필요하다는 문제점이 있고, 또한 'k' 비트 크기의 입력정보가 발생할 때까지 부호화를 중지해야 하는 부호화의 지연을 초래하게 된다는 단점이 있다.
사람의 귀는 다소 민감한 사람의 경우에는 약 50ms, 다소 둔한 사람의 경우에는 약 70ms 이상의 지연은 느낄 수 있으므로 음성통신에서는 송화자가 만을 한 후 수화자가 그 말을 들을 때까지의 음성전달 지연이 약 70ms를 초과하게 되면 통화자는 통화에 거북함을 느끼게 된다.
그런데 상기 지연시간은 소스 부호기, 채널 부호기, 변조기, 복조기, 채널 복호기 및 소스 복호기 등 통신 시스템의 모든 블록에서 발생하는 지연시간 모두 더한 값이 된다.
그래서, 각 블록에서의 부호화 지연을 가능한 한 최소로 해주어야 한다.
상기 단점을 보완하기 위하여 안출된 발명으로서 대한민국 출원번호 1993-16054가 있다.
이는 k비트의 입력정보 중 마지막 m비트로 레지스터를 초기화하여 전송 손실과 부호화 지연을 감소시키고, 부호화시에 필요한 메모리의 양을 축소시키는 방법이다.
그러나 상기 방법은 ML 복호 시에 많은 계산량을 요구하는 단점이 있었다.
즉, 순환 컨벌루셔널 코드(Circular Convolutional Code, 이하 CCC라고 약칭함)에서는 부호기의 시작상태 또는 종료상태를 수신단에서 알지 못하기 때문에 비터비(Viterbi) 복호시 모든 가능한 상태에서 시작하고 끝나는 코드워드로 복호해야 하므로 많은 복호 계산량을 요구하게 된다.
여기서, 비터비 복호화 방법이란, 1967년에 비터비(Viterbi, A.J.)에 의해 제안된 복호화 기법으로서, 오류 복구 코드의 일종인 컨벌루셔널 코드를 디코딩하는 기법이다.
이 알고리즘은 계단형 트리 구조의 양끝 노드 사이에서 최적의 최단, 최소 비용 경로를 추적하는 동적 프로그래밍 해법으로서 그 응용분야로는 주로 변형된 화상이나 음성 패턴을 인식하는 기법에 많이 적용된다.
그러나, 실제로는 복호시의 많은 계산량 때문에 CCC의 성능이 좋음에도 불구하고 실제적으로는 많이 사용되지 못하고 있다.
그래서, 상기 단점을 보완하기 위하여 1993 년과 1994 년에 순환 비터비 알고리즘(Circular Viterbi Algorithm, 이하 CVA라고 약칭함)이 ATT 벨 연구소의 콕스(Cox)와 선드버그(Sundberg)에 의하여 제안되었다.
이는 순환 컨벌루셔널 부호기에서의 계산량을 감축시키면서 어느 정도의 복호성능을 얻을 수 있었다.
그러나, 이는 ZTCC 방법에 비해 약 2배 정도의 계산량을 요구하고 있으며 이 계산량은 채널의 상태가 나빠질수록 더욱 커지고 복호성능도 기존의 ZTCC 방법의 성능보다 나쁘다는 문제점이 있다.
또한, 이러한 알고리즘을 통신 시스템에 적용하기 위해서는 채널의 상태가 지속적으로 나쁜 최악의 경우를 고려해야 한다.
그래서 실제의 시스템 구현에는 많은 한계와 문제점이 있다.
따라서, 본 발명에서는 상기와 같은 문제점을 해결하기 위해, 순환 길쌈 부호의 순환성을 이용하여 수신된 L개의 코드 심벌에 대하여, 비터비 복호를 수행한 후 계속해서 처음 M개의 코드 심벌에 대하여 복호를 수행함으로써, 통신 채널상의 전송에러를 보정하는 순환 컨벌루셔널 코드의 복호화 방법을 제공하고자 한다.
상기 목적을 달성하기 위한 본 발명의 특징은 비터비 알고리즘을 이용하여 일정 길이의 구속장을 갖는 순환 컨벌루셔널 코드를 복호화하는 방법에 있어서, 수신된 코드에 대하여 상기 비터비 알고리즘을 수행하는 제 1 과정과, 상기 제 1 과정의 비터비 알고리즘 수행 결과로 생성된 코드에 의해, 수신된 신호의 처음부터 구속장 길이 까지의 신호에 대하여 다시 비터비 알고리즘을 수행하는 제 2 과정과, 상기 제 2 과정의 결과로 생성된 코드의 초기 상태와 최종 상태가 같은지 판단하는 제 3 과정과, 상기 제 3 과정의 판단결과, 제 2 과정의 결과로 생성된 코드의 초기 상태와 최종 상태가 같다고 판단되면 순환 컨벌루셔널 코드에 대한 복호화 과정을 종료하는 제 4 과정 및 상기 제 3 과정의 판단결과 제 2 과정의 결과로 생성된 코드의 초기 상태와 최종 상태가 다르다고 판단되면 상기 초기 상태와 최종 상태의 중간 시점의 생존경로의 상태에서 시작하고 또 그 상태에서 끝나는 코드를 선택하여 그 코드에 의해 상기 제 1 과정의 결과로 나온 코드에 대하여 비터비 알고리즘을 수행한 후, 상기 제 3 과정 이후를 반복 수행하는 제 5 과정을 포함하는 데에 있다.
이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 종래기술과 비교하여 상세히 설명한다.
제3도는 본 발명의 일실시예에 따른 순환 컨벌루셔널 코드의 복호화 방법에 대한 처리 흐름도로서, 제3도를 참조하면, 수신된 한 블록의 데이터 길이가 L이고, 구속장의 길이가 M인 순환 컨벌루셔널 코드를 복호화하기 위해서는 먼저, 그 수신된 코드에 대한 비터비 알고리점을 수행(S301)하고, 그 결과로 생성된 코드에 의해, 수신된 신호의 처음부터 구속장 길이(M) 까지의 신호에 대하여 다시 비터비 알고리즘을 수행(S302)한다.
즉, 상기 비터비 알고리즘 수행(S301)의 결과에 의한 코드의 L+1번째 부터 L+M번째 까지만 다시 비터비 알고리즘을 수행(S302)한다.
그리고, 상기 수행(S302) 결과에 의해 생성된 코드의 최종상태와 초기 상태가 같은지를 판단(S303)하여, 그 상태가 같으면, 복호화 과정을 종료한다.
만약, 상기 판단(S303) 결과가 같지 않으면, 상기 초기 상태와 최종상태의 중간 시점의 생존 경로의 상태에서 시작하고 또 그 상태에서 끝나는 코드를 선택하여, 그 코드에 의해 상기 S301 과정의 결과로 나온 코드에 대하여 비터비 알고리즘을 수행(S302)하고, 그 이후의 과정(S303~S304)을 반복 수행한다.
즉, 상기 초기 상태와 최종 상태가 동일하지 않은 경우는 수신 심벌의 처음 m개의 코드워드에 과도한 에러가 삽입된 경우로서 이 에러에 의하여 생존 경로를 잘못 선택한 경우이다.
따라서, L/2를 정수화하여 나온값을 시간값으로 취한 시간의 구간에 생존 경로를 취하게 되는 상태에서 시작하고 끝나는 코드워드로 비터비 복호를 수행한다.
한편, 제4도는 본 발명의 비교적 간단한 일 실시예의 부호기이다.
가장 간단한 예로 (2,1,2) 컨벌루셔널 부호를 예로 들고 생성 다항식을 7,5하고 하고 정보 비트의 길이를 5라고 하면, 이 부호기의 구성은 다음과 같다.
부호기의 결선은 111,101이 되며 그 부호기에 의해 생성되는 행렬 GZTCC와 GTBCC는 다음과 같다.
그러므로, GZTCC의 크기는 1×14이고 CTBCC의 크기는 1×10이므로 ZTCC는 5개 비트의 정보가 14개의 심벌로 변환되어 출력되는 반면에 TBCC는 5개 비트의 정보가 10개의 심벌로 변환되어 출력된다.
결국, 본 실시예의 경우, 본 발명에 따른 순환 컨벌루셔널 부호화 방법은 기존의 ZTCC보다 4개의 심벌의 효율을 올릴 수 있다.
제5도에서는 본 발명에 제안된 CCC 복호 알고리즘을 컴퓨터 시뮬레이션을 통하여 성능을 측정해 보았으며 최근에 발표된 CCC 복호 알고리즘으로 현재까지 가장 계산량이 작은 방법인 콕스의 방법 및 기존의 ZTCC 부호에서의 성능을 비교하였다.
시뮬레이션에 성능 비교의 기준으로 콕스가 시뮬레이션한 조건과 동일하게 하였다.
즉, dfree= 10, m = 7, r = 1/2, g(1)= 237, g(2)= 345인 컨벌루셔널 부호에 대해 정보열의 길이 L = 60인 경우를 입력으로 하였고 복호는 하드 디시전(hard decision)으로 하였을 경우의 성능을 비교하였다.
이 그림으로 부터 본 발명에 의한 복호성능은 유효 부호율을 고려하지 않은 경우의 ZTCC 방법에 비해 약 0.3dB 밖에 성능이 떨어지지 않고 있으며 레이트 로스(Rate Loss)에 의한 유효 부호율을 고려하였을 경우에는 오히려 ZTCC에 의한 성능보다 0.1dB 정도 향상되었음을 알 수 있다.
또한 콕스의 CVA에 의한 복호성능보다 0.5dB 내지 O.7dB의 성능향상을 보였다.
이러한 본 발명에 따른 복호방법은 계산량 면에서도 CVA보다도 좋은 특성을 갖는데, CVA의 평균 복호 계산량은 ZTCC의 2배 이상이며, 복호 계산량은 최소 ZTCC의 1배에서 부터 최대 2배까지로 제한한다.
따라서, 최악의 경우에도 ZTCC 방법에 의한 계산량의 2배 정도의 계산량을 요구하기 때문에 시스템의 구현에 상당히 유리하다.
따라서, 본 발명의 복호화 방법은 종래의 순환 컨벌루셔널 부호화 방법이 많은 복호 계산량을 요구한다는 단점을 해결하여, 기존의 선형 컨벌루셔널 코드의 복호에 비하여 약간의 복호 계산량을 더 필요로 하지만 종래의 순환 컨벌루셔널 코드의 복호 방법 중 가장 적은 계산량을 필요로 하는 순환 비터비 복호 방법에 비하여 절반 수준의 복호 계산량으로 복호가 수행되는 장점을 가진다.
또한, ZTCC에서의 전송률 손실을 고려하지 않았을 경우에 비해 복호 성능이 약 0.3dB 정도 떨어짐으로써, 약간의 복호 계산량을 추가함으로써 종래의 선형 컨벌루셔널 코드의 실용화를 이루고 전송률 손실없이 임의의 크기의 정보 비트를 부호화하는 것이 가능하기 때문에 가변 비트 길이의 부호화에 탄력적으로 적용이 가능하다는 효과가 있다.

Claims (1)

  1. 비터비 알고리즘을 이용하여 일정 길이의 구속장을 갖는 순환 컨벌루셔널 코드를 복호화하는 방법에 있어서, 수신된 코드에 대하여 상기 비터비 알고리즘을 수행하는 제 1 과정과; 상기 제 1 과정의 비터비 알고리즘 수행 결과로 생성된 코드를 가지고, 수신된 신호의 처음부터 구속장길이 까지의 신호에 대하여 다시 비터비 알고리즘을 수행하는 제 2 과정과; 상기 제 2 과정의 결과로 생성된 코드의 초기 상태와 최종 상태가 같은지 판단하는 제 3 과정과; 상기 제 3 과정의 판단결과, 상기 제 2 과정의 결과로 생성된 코드의 초기 상태와 최종 상태가 같다고 판단되면 순환 컨벌루셔널 코드에 대한 복호화과정을 종료하는 제 4 과정과; 상기 제 3 과정의 판단결과 제 2 과정의 결과로 생성된 코드의 초기 상태와 최종 상태가 다르다고 판단되면, 상기 초기 상태와 최종 상태의 중간 시점의 생존경로의 상태에서 시작하고 또 그 상태에서 끝나는 코드를 선택하여, 그 코드에 의해 상기 제 1 과정의 결과로 나온 코드에 대하여 비터비 알고리즘을 수행한 후, 상기 제 3 과정 이후를 반복 수행하는 제 5 과정을 포함하는 것을 특징으로 하는 순환 컨벌루셔널 코드의 복호화 방법.
KR1019950041330A 1995-11-14 1995-11-14 순환컨벌루션널코드의복호화방법 KR0171383B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950041330A KR0171383B1 (ko) 1995-11-14 1995-11-14 순환컨벌루션널코드의복호화방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950041330A KR0171383B1 (ko) 1995-11-14 1995-11-14 순환컨벌루션널코드의복호화방법

Publications (2)

Publication Number Publication Date
KR970031389A KR970031389A (ko) 1997-06-26
KR0171383B1 true KR0171383B1 (ko) 1999-03-30

Family

ID=19434104

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950041330A KR0171383B1 (ko) 1995-11-14 1995-11-14 순환컨벌루션널코드의복호화방법

Country Status (1)

Country Link
KR (1) KR0171383B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100811376B1 (ko) * 2001-08-25 2008-03-07 엘지전자 주식회사 통신시스템에서의 부호화 및 복호화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100811376B1 (ko) * 2001-08-25 2008-03-07 엘지전자 주식회사 통신시스템에서의 부호화 및 복호화 방법

Also Published As

Publication number Publication date
KR970031389A (ko) 1997-06-26

Similar Documents

Publication Publication Date Title
KR100554322B1 (ko) 복수의 코딩 버스트내에 배치된 crc 비트에 의해 종료 상태가결정되는 컨벌루셔널 디코딩
US4805174A (en) Error correcting coder/decoder
US6598203B1 (en) Parallel punctured convolutional encoder
JP2527163B2 (ja) デ−タワ−ド伝送システム
US5633881A (en) Trellis encoder and decoder based upon punctured rate 1/2 convolutional codes
KR20010052058A (ko) 인터리빙없이 병렬 코딩을 이용한 통신 시스템 및 방법
KR20010023315A (ko) 연결 코드에서 순환 중복 검사를 선택하는 장치 및 방법
KR19980702590A (ko) 인코딩된 신호를 디코딩하는 방법 및 장치
US5841818A (en) Decoding method for trellis codes employing a convolutional processor
KR100484555B1 (ko) 에러 정정 방법 및 장치
US6182260B1 (en) Channel encoding apparatus using single concatenated encoder
JP2715398B2 (ja) 誤り訂正符復号化装置
US5657333A (en) Method and apparatus for error-control coding in a digital data communication system
EP0967731A2 (en) Method and arrangement for implementing convolutional decoding
KR0171383B1 (ko) 순환컨벌루션널코드의복호화방법
JPS612439A (ja) デイジタル信号伝送方式
KR950010428B1 (ko) 길쌈 부호화 방법
JP3576653B2 (ja) 符号化変調装置
KR0170199B1 (ko) 순환길쌈부호의 복호방법
KR100307700B1 (ko) 리드솔로몬부호의서브코드를이용한부호화방법및연판정정보를이용한트렐리스복호화방법
US5666380A (en) Digital communication system and method of compressing information
KR100339855B1 (ko) 컨벌루션 부호와 성상 제어를 사용한 부호화 변조시스템및 그 부호화 변조방법
KR0141873B1 (ko) 트렐리스 부호기의 길쌈부호화장치
KR100390693B1 (ko) 직교부호를 이용한 이진 선형 복/부호 방법 및 그 복/부호기
JPS60142626A (ja) 復号装置

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: 20081001

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee