KR100222672B1 - 데이터 역추적을 이용한 비터비 복호장치 - Google Patents

데이터 역추적을 이용한 비터비 복호장치 Download PDF

Info

Publication number
KR100222672B1
KR100222672B1 KR1019960026547A KR19960026547A KR100222672B1 KR 100222672 B1 KR100222672 B1 KR 100222672B1 KR 1019960026547 A KR1019960026547 A KR 1019960026547A KR 19960026547 A KR19960026547 A KR 19960026547A KR 100222672 B1 KR100222672 B1 KR 100222672B1
Authority
KR
South Korea
Prior art keywords
data
decoding
memory
traceback
backtracking
Prior art date
Application number
KR1019960026547A
Other languages
English (en)
Other versions
KR980006965A (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 KR1019960026547A priority Critical patent/KR100222672B1/ko
Publication of KR980006965A publication Critical patent/KR980006965A/ko
Application granted granted Critical
Publication of KR100222672B1 publication Critical patent/KR100222672B1/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/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
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Landscapes

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

Abstract

1. 청구 범위에 기재된 발명이 속한 기술 분야
디지탈 통신에서의 길쌈부호화된 신호의 송수신 방법.
2. 발명이 해결하려고 하는 기술적 과제
종래에는 길쌈부호화된 신호를 역추적 및 복호하는 과정에서 너무 많은 수의 메모리가 요구되고 또한 멀티플렉서 및 다른 부가적인 회로가 필요로 된다는 문제점을 해결하고자 함.
3. 발명의 해결방법의 요지
종래의 4개의 메모리를 이용하는 경우의 1회판독/2회기록 동작을 하나의 메모리당 1회판독/1회기록 방식으로 바꾸고 아이들링 상태를 없애므로써 멀티플렉서를 사용하지 않고 2개의 메모리만을 이용하여 데이터 역추적 및 복호를 수행할 수 있는 비터비 복호장치를 제공하고자 함.
4. 발명의 중요한 용도
디지탈 통신에서 데이타가 전송되거나 저장되어질 경우에 발생되어지는 에러를 제거 및 복호에 이용됨.

Description

데이터 역추적를 이용한 비터비 복호장치
제1도는 종래의 데이터 역추적을 이용한 비터비 복호 장치의 블록도.
제2도는 역추적 및 복호될 데이터 열을 도시한 도면.
제3도는 본 발명의 일 실시예에 따른 비터비 복호 장치의 블록도.
제4도는 제3도에 도시된 비터비 복호 장치에서의 데이터열의 처리 흐름도.
* 도면의 주요부분에 대한 부호의 설명
41 : 역추적 메모리 42 : 복호 메모리
43 : 역추적 블록 44 : 복호화 블록
45 : LIFO 46 : 비교기
본 발명은 전자회로 기술에 관한 것으로, 길쌈부호화(convolution encoding) 되어 전송된 신호를 역추적하여 비터비 복호하기 위한 비터비 복호 장치에 관한 것이다.
길쌈부호화와 비터비 복호법은 디지털 통신에서 데이터가 전송되거나 저장되어질 경우에 발생되는 에러를 제거하기 위한 방법으로 널리 응용되어 사용되고 있다.
이와 같이 길쌈부호화되어 전송된 신호를 비터비 복호하는 과정에는 전송 신호를 역주적하는 방식이 이용된다. 이 역추적 방식은 고화질 TV 나 디지털 위성통신, 디지털 케이블 TV나 HDD, FDD등의 기록/재생 등 모든 비터비 복호가 사용되어지는 장치에는 필수적으로 사용되어진다.
첨부된 도면 제1도는 종래의 데이터 역추적을 이용한 비터비 복호 장치의 블록도를 도시한 것으로, 종래에는 비터비 역추적을 실시하기 위하여 메모리 4개(1, 2, 3, 4)를 이용하여 역추적을 실시하였다.
제1도에 도시된 종래의 역추적 방식을 설명하기 위해 제2도에 도시된 데이터열의 역추적을 실시하는 것으로 가정하여 설명한다 즉, 역추적 및 복호는 시간적으로 데이터 블록 a, b, c, d, e ‥‥의 순서로 진행한다.
상기 표 1을 참조하여, 우선 최초로 메모리에 들어가는 데이터 블록은 a이며, 이 a 데이터는 메모리 A(1)에 기록되고(Write), 이 동작을 진술한 표 1에서와 같이 W(a)라고 표현하자. 다음 역추적 사이클에는 데이터 블록 b를 메모리 B(2)에 기록하고 이를 W(b)라고 표현한다. 이와 동시에 메모리 A(1)에 들어있는 데이터 블록 a를 이용하여 역추적을 실시하고 이 동작은 T(a)로 표현한다. 다음 역추적 사이클에는 데이터 블록 c를 메모리 C(3)에 기록하고, 메모리 B(2)의 데이터로부터 역추적 동작 T(b)를 수행한다. 다음의 역추적 사이클에는 메모리 D(4)에 데이터 블록 d를 기록하고 이를 W(d)라고 표현한다. 그리고 이와 동시에 메모리 C로부터 역추적T(c)를 수행하고 메모리 A(1)의 데이터인 데이터 블록 a의 값으로부터 비터비 복호를 수행하고, 이와 같은 복호 동작은 D(a)로 표현한다. 이와 같은 방식으로 모든 데이터열에 대한 역추적를 실시한다. 전술한 표 1에는 각 사이클마다 각 메모리의 값들의 기록(W), 역추적(T), 및 비터비 복호(D) 기능 등의 수행 상황이 도시되어 있으며, 여기서 괄호 안의 영문자는 처리되는 데이터를 의미하고, 기호 I는 아이들링(idling) 상태를 나타낸다. 그런데 이와 같은 종래의 역추적 방식에 있어서 실질적인 동작은 동시에 1회 기록(Write)/2회 판독(Read)(역추적 및 복호 동작)을 기본으로 하여 구성되어 있으며, 역추적을 실시하는데 있어서 너무 많은 멀티플렉서(multiplexer) 및 다른 부가적인 회로를 필요로 한다. 또한, 각 메모리들의 출력 비트가 너무 많기 때문에 라우팅(Routing) 면적에 대한 부담이 크다는 문제점이 있었다.
따라서, 본 발명은 멀티플렉서를 사용하지 않고 보다 적은 수의 메모리를 이용하여 데이터의 역추적 및 비터비 복호를 수행할 수 있는 비터비 복호 장치를 제공하는 것을 그 목적으로 한다.
상기 목적을 달성하기 위한 본 발명은, 길쌈부호화되어 전송된 데이터를 역추적을 이용하여 복호화하기 위한 비터비 복호 장치에 있어서, 소정의 영역별로 입력되는 상기 길쌈부호화된 데이터를 순차적으로 기록하기 위한 역추적 메모리; 상기 역추적 메모리에 저장된 상기 데이터를 입력받아 데이터 역추적을 실시하고, 그 역추적 결과 및 복호화 초기상태 값을 출력하기 위한 역추적 블록; 상기 역추적 블록의 역추적 결과에 따라 상기 데이터의 동기/비동기 여부를 판단하기 위한 비교기; 상기 역추적 메모리로부터 상기 데이터를 입력받아 구획된 영역에 순차적으로 저장/출력하기 위한 복호 메모리; 상기 복호화 초기상태 값에 근거하여 상기 복호 메모리로부터 출력된 상기 데이터를 복호화하기 위한 복호화 블록; 상기 복호화 블록으로 부터 출력된 복호된 상기 데이터를 후입선출 방식으로 출력하기 위한 출력 버퍼를 구비한다.
이하, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자가 본 발명을 보다 용이하게 실시할 수 있도록 하기 위하여 본 발명의 바람직한 실시예를 소개하기로 한다.
첨부된 도면 제3도는 본 발명의 일 실시예에 따른 비터비 복호장치의 블록 구성을 도시한 것이다.
종래의 방식에 있어서 실질적인 동작은 동시에 1회 기록/2회 판독의 기본적일 동작으로 구성되어 있는 반면에 본 발명에 있어서는 제3도에 도시된 바와 같이, 우선 메모리를 2개 사용하여 각 메모리의 동작을 1회 기록/1회 판독으로 동작하도록 하게 되면 전체적으로는 2회 기록/2회 판독의 기본 동작을 하게 된다. 즉, 역추적 및 복호 동작에 필요한 1회 기록/2회 판독 동작을 메모리 2개로 구현 가능하게 된다. 이를 보다 구체적으로 설명하면, 먼저 비터비 복호기의 ACS(Add-Compare-Select) 블록 열에서 나오는 생존경로(전송 신호가 실제로 지나온 경로)의 데이터 비트들의 출력은 역추적 메모리(tracing memory)(41)에 저장된다. 이때, 생존 경로 비트는 64비트이고 역추적 깊이가 96 사이클인 경우를 예로 들어 제4도를 참조하여 메모리들의 저장 순서와 역추적 방법을 알아보자.
우선, 비터비 복호기의 ACS 블록열의 출력을 제3도의 역추적 메모리(41)의 입력으로 받아들여서 96사이클을 지연시킨다. 이 역추적 메모리(41)는 예를 들어, 64×96 이중 포트 SRAM으로 구성될 수 있다. 데이터는 제2도에 도시된 바와 같이, a, b, c, d, e ‥‥의 순서로 입력된다. 먼저 사이클1에서 a영역의 데이터가 역추적 메모리(41)에 기록되고, 다음 사이클2에서는 b영역의 데이터를 역추적 메모리(41)에 기록하는 동시에 a영역의 데이터가 역추적 메모리(41)로부터 판독되어 복호 메모리(42)에 기록되게 된다. 이때, a영역의 데이터가 역추적 블록(43)으로도 입력되며 여기서 역추적을 실시하고 그 결과 상태를 복호화 초기 상태로 이용한다. 또한, 이 역추적 결과값을 비교기(46)에서 비교하여 역추적 결과값의 일치여부에 따라 전송된 신호의 동기/비동기 판단에 이용한다.
복호 메모리(42)는 예를 들어 64×192 이중포트 SRAM으로 구성될 수 있으며, 역추적 메모리(41)로부터 판독된 데이터는 먼저 M1영역에 기록된다. 다음 사이클 3에서는 c영역의 데이터가 역추적 메모리(41)에 기록되고 b영역의 데이터가 역추적 메모리(41)로부터 판독되어 복호 메모리(42)의 M1영역에 기록된다. 이때, b영역의 데이터가 역추적 블록(43)으로도 입력되며 여기서 역추적을 실시하여 그 결과를 출력하고, 또한 복호화할 초기화 상태를 찾는다. 이와 동시에 M1영역의 a영역 데이터는 M2영역으로 이동되어 저장된다. 다음 사이클4에서는 d영역의 데이터가 역추적 메모리(41)에 기록되고 c영역의 데이터가 역추적 메모리(41)로부터 판독되어 복호 메모리(42)의 M1영역에 기록된다. 이때, c영역의 데이터가 역추적 블록(43)으로도 입력되며, 여기서 역추적을 실시하여 그 결과를 출력하고 또한 복호화할 초기화 상태를 찾는다. 또한 이와 동시에 복호 메모리(42)의 M1영역의 d영역 데이터는 M2영역으로 이동되어 저장되고, M2영역의 데이터(a)는 판독되어 복호화 블록(44)으로 입력된다. 이 복호화 블록(44)은 역추적 블록(43)으로부터 출력된 복호화 초기상태값을 이용하여 상기 a영역의 데이터를 복호화한다. 여기서 복호된 데이터는 후입선출 방식(Last Input First Output, LIFO) 버퍼(45)를 통해 비터비 복호 신호로서 출력되게 된다. LIFO 방식의 버퍼를 이용하는 이유는 역추적과 복호화가 96비트씩 전송된 신호 순서의 역순서로 진행되기 때문이다. 다음 사이클5에서는 e영역의 데이터가 역추적 메모리(41)에 기록되고 d영역의 데이터가 역추적 메모리(41)로부터 판독되어 복호 메모리(42)의 M1영역에 기록된다. 이때 , d영역의 데이터가 역추적 블록(43)으로도 입력되며, 여기서 역추적을 실시하여 그 결과를 출력하고 또한 복호화할 초기화 상태를 찾는다. 또한 이와 동시에 복호 메모리(42)의 M1영역의 c영역 데이터는 M2영역으로 이동되어 저장되고, M2영역의 데이터(b)는 판독되어 복호화 블록(44)으로 입력된다. 이 복호화 블록(44)은 역추적 블록(43)으로부터 출력된 복호화 초기상태값을 이용하여 상기 b영역의 데이터를 복호화한다. 여기서 복호된 데이터는 LIFO 버퍼(45)를 통해 비터비 복호 신호로서 출력되게 된다. 이와 같은 방식으로 제2도의 데이터열의 모든 영역의 데이터에 대한 역추적 및 복호를 수행하게 되면, 길쌈부호화되어 전송된 신호의 에러유무를 파악할 수 있게 된다.
이상에서 설명한 본 발명은 전술한 실시에 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것이다.
전술한 본 발명에 따라 비터비 복호기를 설계함으로써 데이터 역추적 및 복호에 이용되는 메모리의 수를 4개에서 2개로 줄일 수 있으며, 멀티플렉서를 이용하지 않고 비터비 복호기 구현이 가능하기 때문에 칩 면적을 크게 축소시킬 수 있는 효과가 있다.

Claims (2)

  1. 길쌈부호화되어 전송된 데이터를 역추적을 이용하여 복호화하기 위한 비터비 복호 장치에 있어서, 소정의 영역별로 입력되는 상기 길쌈부호화된 데이터를 순차적으로 기록하기 위한 역추적 메모리; 상기 역추적 메모리에 저장된 상기 데이터를 입력받아 데이터 역추적을 실시하고, 그 역추적 결과 및 복호화 초기상태 값을 출력차기 위한 역추적 블록; 상기 역추적 블록의 역추적 결과에 따라 상기 데이터의 동기/비동기 여부를 판단하기 위한 비교기; 상기 역추적 메모리로부터 상기 데이터를 입력받아 구획된 영역에 순차적으로 저장/출력하기 위한 복호 메모리; 상기 복호화 초기상태값에 근거하여 상기 복호 메모리로부터 출력된 상기 데이터를 복호화하기 위한 복호화 블록; 상기 복호화 블록으로부터 출력된 복호된 상기 데이터를 후입선출 방식으로 출력하기 위한 출력 버퍼를 구비하는 비터비 복호장치.
  2. 제1항에 있어서, 상기 복호 메모리가 상기 역추적 메모리 보다 실질적인 2배의 저장 영역을 갖는 것을 특징으로 하는 비터비 복호장치.
KR1019960026547A 1996-06-29 1996-06-29 데이터 역추적을 이용한 비터비 복호장치 KR100222672B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960026547A KR100222672B1 (ko) 1996-06-29 1996-06-29 데이터 역추적을 이용한 비터비 복호장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960026547A KR100222672B1 (ko) 1996-06-29 1996-06-29 데이터 역추적을 이용한 비터비 복호장치

Publications (2)

Publication Number Publication Date
KR980006965A KR980006965A (ko) 1998-03-30
KR100222672B1 true KR100222672B1 (ko) 1999-10-01

Family

ID=19465213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960026547A KR100222672B1 (ko) 1996-06-29 1996-06-29 데이터 역추적을 이용한 비터비 복호장치

Country Status (1)

Country Link
KR (1) KR100222672B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100306880B1 (ko) * 1998-10-29 2001-11-05 박종섭 한 개의 메모리를 이용한 비터비 디코딩 장치 및 그 방법
KR100306878B1 (ko) * 1998-12-30 2001-11-02 박종섭 비터비 복호 방법 및 이를 이용한 비터비 복호기
KR100580160B1 (ko) * 1999-09-14 2006-05-15 삼성전자주식회사 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기

Also Published As

Publication number Publication date
KR980006965A (ko) 1998-03-30

Similar Documents

Publication Publication Date Title
US5432804A (en) Digital processor and viterbi decoder having shared memory
JPH11186920A (ja) ビタビ復号装置
JP2007510337A (ja) 移動通信システムのビタビ/ターボ統合デコーダ
US5832001A (en) Variable rate viterbi decorder
KR950016118A (ko) 디지탈 통신 시스템 운영 시스템 및 집적회로
KR100222672B1 (ko) 데이터 역추적을 이용한 비터비 복호장치
US5712880A (en) Traceback-performing apparatus in viterbi decoder
US7278088B2 (en) Configurable architecture and its implementation of viterbi decorder
KR100336246B1 (ko) 디지탈프로세서및코-프로세서를구비한집적회로
Collins et al. Memory management in traceback Viterbi decoders
Cholan Design and implementation of low power high speed Viterbi decoder
JP2002217748A (ja) 誤り訂正復号器
JP2010206570A (ja) 復号装置、復号方法
JPH05175852A (ja) 誤り訂正符復号装置
US20060155927A1 (en) Single memory with multiple shift register functionality
GB2315000A (en) Detecting sync./async. states of Viterbi decoded data using trace-back
KR100217041B1 (ko) 비터비 디코더
KR19990076387A (ko) 격자복호기의 역추적장치
KR20040050754A (ko) 고속 비터비 디코더
KR100306878B1 (ko) 비터비 복호 방법 및 이를 이용한 비터비 복호기
CA2209254A1 (en) Trellis decoder for atsc 8vsb
US7818654B2 (en) Addressing strategy for Viterbi metric computation
US8407572B2 (en) Viterbi decoder and writing and reading method
JP4692751B2 (ja) ターボ復号器及びそれを備えた通信システム
KR100301861B1 (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: 20050620

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee