KR100237490B1 - 트렐리스 코드 데이터의 생존 경로 역추적 장치 - Google Patents

트렐리스 코드 데이터의 생존 경로 역추적 장치 Download PDF

Info

Publication number
KR100237490B1
KR100237490B1 KR1019970064407A KR19970064407A KR100237490B1 KR 100237490 B1 KR100237490 B1 KR 100237490B1 KR 1019970064407 A KR1019970064407 A KR 1019970064407A KR 19970064407 A KR19970064407 A KR 19970064407A KR 100237490 B1 KR100237490 B1 KR 100237490B1
Authority
KR
South Korea
Prior art keywords
mode
state
previous state
level
output
Prior art date
Application number
KR1019970064407A
Other languages
English (en)
Other versions
KR19990043406A (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 KR1019970064407A priority Critical patent/KR100237490B1/ko
Priority to US09/144,324 priority patent/US6134697A/en
Priority to GB9819480A priority patent/GB2331900B/en
Publication of KR19990043406A publication Critical patent/KR19990043406A/ko
Application granted granted Critical
Publication of KR100237490B1 publication Critical patent/KR100237490B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/015High-definition television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 트렐리스 코드 데이터를 복호하는데 있어서 생존 데이터 메모리부(SMU)의 생존 경로 역추적 장치에 관한 것으로, 제1 내지 제4 역추적부(41~44), 및 제1 모드 선택부(45)로 구성된다. 제1 및 제3 역추적부(41,43)는 클럭 분주 신호(CONTROL)에 따라 각각 제1 그룹 결정 벡터들과 제3 그룹 결정 벡터들에 대한 이전 스테이트를 순차적으로 계산하고, 제2 역추적부(42)는 제2 그룹 결정 벡터를 입력받아 8 스테이트 모드의 최종 복원 심볼을 출력하고 16 스테이트 모드에 대한 이전 스테이트를 계산하여 출력하고, 제4 역추적부(44)는 제4 그룹 결정 벡터를 입력받아 16 스테이트 모드의 최종 복원 심볼을 출력하며, 제1 모드 선택부(45)는 모드 선택 신호(MODE_SEL)에 따라 8 스테이트 모드의 최적응답 복원 심볼 혹은 16스테이트 모드의 부분응답 복원 심볼을 선택하여 출력한다. 따라서, 디코딩 깊이만큼의 결정 벡터에 대하여 각각 프로세싱 모듈을 구비하였던 종래와 달리, 본 발명은 동작과 구성이 동일한 종래의 중복된 프로세싱 모듈을 하나의 프로세싱 모듈로 구성하여 한 클럭동안 클럭 분주 신호(CONTROL)에 따라 다수개의 결정 벡터에 대하여 동작을 반복하도록 함으로써, 칩면적을 줄일 수 있는 효과가 있다.

Description

트렐리스 코드 데이터의 생존 경로 역추적 장치(An apparatus for tracebacking survivor path of trellis-coded data)
본 발명은 트렐리스 부호화 변조(TCM : Trellis code modualtion)기법에 의해 전송된 신호를 복호화시키는 트렐리스 디코더(TCM decoder)에 관한 것으로, 특히 가산 비교 선택부(ACS)로부터 제공받은 생존 데이터 경로의 집합인 결정 벡터를 기억하여 역추적 알고리즘에 의해 최적의 경로를 찾아내어서 최우복호된(maximum likelihood decoded) 심볼을 최종 출력하는 트렐리스 코드 데이터의 생존 경로 역추적 장치에 관한 것이다.
일반적으로, 트렐리스 부호화 변조(Trellis code modualtion: 이하 "TCM"이라 함)기법은 대역폭이 제한된 전송로(bandwidth-limited channel)에서 높은 부호화 이득(coding gain)을 얻기 위한 채널 부호화 기법으로서, 부호화 기술과 변조 기술을 결합하여 구현된다. TCM은 대역폭을 변화시키지 않고서도 부호화되지 않은 기존의 변조기법에 비해 전력상의 상당한 이득을 얻을 수 있으며, TCM 구조는 유한한 상태를 갖는 부호기(encoder)와 비이진 변조기(non-binary modulator)로 구성된다. 수신기 측에서, 노이즈(noise)가 섞인 수신 신호는 연판정(soft-decision)에 의한 최우복호법(maximum likelihood decoding)을 수행하는 디코더를 이용하여 복호화된다. 이러한 TCM은 부호화되지 않은 변조기법과 비교하여 백색 가우시안 잡음(AWGN:Additive White Gaussian Nosie)이 있는 디지털 신호 전송 환경에서 3∼6㏈ 이상의 전력상 이득을 얻을 수 있다고 알려져 있다. 여기서 "트렐리스(trellis)"라는 용어는 이진 길쌈 부호(convoultion)의 상태도인 트렐리스 다이어그램(trellis diagram)과 비슷한 상태를 갖는 상태 천이도에 의해 TCM 부호어를 나타낼수 있기 때문에 사용되고 있다. 그리고, TCM 부호와 길쌈 부호의 차이점은 TCM 부호어는 길쌈 부호어를 비이진 변조시켜 임의 크기를 갖는 신호집합으로 확장시켰다는 점이다.
TCM이 갖는 이러한 부호화의 이득 때문에 수신 데이터 검출의 복잡성에도 불구하고 현재 많이 이용되고 있으며, 그 이용 범위가 크게 늘어나고 있다. 그 이용분야의 하나로 고화질 TV(High Definition television : 이하, HDTV라함)의 전송 시스템을 들 수 있다.
TCM 신호의 복호를 위해서는 비터비 알고리즘(Viterbi algorithm)이 사용되는데, 비터비 알고리즘은 이미 언급한 최우복호법(maximum likelihood decoding)을 수행하고 트렐리스 다이어그램(trellis diagram)을 사용하여 필요한 계산량을 줄이는 알고리즘이다. 이 알고리즘은 각 상태에 입력되는 경로들과 수신 신호와의 유사성 비교를 통해서 하나의 스테이트(state)에 하나의 생존 경로(survivor path)만이 존재하게 한다. 이러한 과정은 트렐리스 다이어그램의 시간에 따른 각 단에서 반복된다. 따라서, 비터비 알고리즘이 요구하는 계산량은 전송 부호열의 길이에 좌우되는 것이 아나라 상태 수(state number)에 의존하게 된다.
도 1은 비터비 알고리즘을 적용한 트렐리스 디코더의 구성도로서, 트렐리스 디코더는 브랜치 메트릭 계산부(branch metric calculation unit(BMU):11)와, 가산 비교 선택부(add comparator select unit(ACS):12), 경로 메트릭 네트워크(path metric network(PMN):13) 및, 생존 데이터 메모리부(survivor memory unit(SMU):14)로 구성되어 있다.
상기 브랜치 메트릭 계산부(BMU:11)는 수신 심볼을 입력받아 각 스테이트를 지나는 경로와 수신 심볼 사이의 거리를 계산하고, 그 결과인 브랜치 메트릭(BMt)을 상기 가산 비교 선택부(ACS:12)로 제공한다. 상기 가산 비교 선택부(ACS:12)는 매 시간(t) 마다 각 스테이트 Sj(t)에 입력되는 경로 중에서 최소 경로 메트릭을 갖는 경로를 선택하는 역할을 하는 것으로서, 상기 브랜치 메트릭 계산부(BMU:11)로부터 제공된 다수개의 브랜치 메트릭(BM(t))과 상기 경로 메트릭 네트워크(PMN:13)로부터 제공된 이전 경로 메트릭(PM(t-1))을 더하여 가산하고(즉, 이전 경로 메트릭에다가 현재 스테이트에서 머지(merge)된 다수개의 브랜치 메트릭을 축적시킴), 현재 스테이트에서의 축적된 다수개의 경로 메트릭을 비교하여, 그 중에서 작은 값을 갖는 경로 메트릭을 선택한다. 이렇게 선택된 경로 메트릭은 상기 경로 메트릭 네트워크(PMN:13)로 제공되며, 선택된 경로를 역추적하기 위한 정보가 상기 생존 데이터 메모리부(SMU:14)로 제공된다. 상기 생존 데이터 메모리부(SMU:14)는 복호를 위해 역추적하는 생존 경로의 길이 즉, 디코딩 깊이(decoding depth) 만큼 생존 경로 정보를 유지하고 있으며, 역추적 알고리즘(traceback algorithm)에 따라 역추적하여 최종 복원된 심볼을 출력한다.
이러한 구조를 갖는 트렐리스 디코더의 예로 미국내 고화질 텔레비젼(high definition televison : HDTV) 규격을 제정하기 위해 결성된 Grand Alliance(GA)에서 제안된 GA HDTV 수신 시스템에서 채용하고 있는 트렐리스 디코더를 들 수 있다. GA HDTV에서는 트렐리스 부호화된 신호를 8레벨 잔류 측파대(VSB)변조하여 전송하고, 이를 수신한 수신측에서는 NTSC 간섭 제거 필터의 사용 유무에 따라 2개의 디코딩 경로를 갖게 된다. 즉, 수신 심볼을 복원하는 데 있어서, NTSC 간섭 제거 필터를 사용하지 않으면 8 스테이트 모드 복호를 하는 가우시안(AWGN) 채널용 최적 트렐리스 디코더를 사용하면 되고, NTSC 간섭 제거 필터를 통과한 신호는 필터의 전달함수 특성상 입력 레벨이 8레벨에서 15레벨( 16 스테이트 )로 변환되므로 이에 적합한 16 스테이트 모드 복호를 하는 부분응답 채널용 트렐리스 디코더를 사용해야 한다.
트렐리스 부호화는 백색 가우시안 잡음(AWGN)에 강한 성질을 가지나, 군집에러에는 약하므로 트렐리스 부호 블록 12개를 병렬로 배치하여 입력 심볼들을 순차적으로 부호기에 인가하여 12심볼 인트라세그먼트 인터리빙(intrasegment interleaving) 처리를 한다. 또한 GA HDTV 수신 시스템의 트렐리스 부호 디인터리버에서는 송신측에서의 TCM 부호어가 12심볼 단위로 인터리빙되었기 때문에 수신측에서는 트렐리스 디코더 12개가 병렬로 구현되어 디인터리빙을 수행하도록 해야한다. 따라서, 각 트렐리스 디코더는 입력 심볼열중 매 12번째 심볼을 입력으로 받아 디인터리빙하면서 복호화를 수행하였다.
그런데, 서로 다른 레벨을 갖는 신호를 복호화하기 위하여 상기와 같이 각각의 스테이트에 적합한 트렐리스 디코더를 따로따로 구비하고 12개의 동일한 트렐리스 디코더를 사용한다면 설계시 비용 및 면적이 증가되므로, 이를 해결하기 위하여 8 스테이트 모드와 16 스테이트 모드를 동시에 지원할 수 있는 트렐리스 디코더를 설계하게 되었다. 특히 트렐리스 디코더중에서도 역추적에 필요한 디코딩 깊이만큼에 해당하는 생존 경로의 결정 벡터(decision vector)를 유지하고 있어야 하기 때문에 가장 많은 면적을 차지하는 생존 데이터 메모리 장치(SMU)에 대한 발명이 이미 본 발명자에 의해 제안되었으며 도 2에 도시된 바와 같다.
도 2는 생존 경로 저장 및 역추적을 수행하는 생존 데이터 메모리 장치(SMU)에 대한 구성도로서, 데이터 지연 처리부(70), 및 역추적 프로세서(74)로 구성되어 있다. 상기 데이터 지연 처리부(70)는 가산 비교 선택부(ACS)로부터 각 스테이트에서 살아남은 생존 경로의 결정 벡터(DVi)를 입력받아 저장함과 동시에, 소정 클럭 지연 후 저장된 결정 벡터중 동일한 인덱스(i)를 갖는 결정 벡터들(DVi)을 동시에 출력한다. 여기서, i는 12 심볼 단위를 나타낸다. 상기 역추적 프로세서(74)는 상기 데이터 지연 처리부(70)로부터 제공된 결정 벡터들(DVi)을 이용하여 최적응답 역추적 알고리즘 혹은 부분응답 역추적 알고리즘을 수행함과 동시에, 모드 선택 신호(MODE_SEL)에 따라 최적응답 복원 심볼 혹은 부분응답 복원 심볼을 선택적으로 출력한다.
도 3은 도 2에 도시된 종래의 역추적 프로세서에 대한 블록도로서, 역추적 프로세서는 연산부(30), 및 제 1 모드 선택부(32)로 구성되어 있다. 상기 연산부(30)는 모드 선택 신호(MODE_SEL)에 따라 부분응답 수신 심볼(16 스테이트 모드) 또는 최적응답 수신 심볼(8 스테이트 모드)을 디코딩 깊이까지 역추적하여 복원 심볼을 계산하며, 다수개의 프로세싱 모듈(30-1~30-15)로 구성된다. 상기 제 1 모드 선택부(32)는 모드 선택 신호(MODE_SEL)에 따라 부분응답 복원 심볼 혹은 최적응답 복원 심볼을 선택하여 모드에 따른 복원 심볼을 출력한다. 여기서, 상기 모드 선택 신호(MODE_SEL)는 부분응답 채널 수신 모드인지 혹은 최적응답 채널 수신 모드인지를 알려주는 제어 신호이다.
상기 역추적 프로세싱 모듈(30)은 8 스테이트 모드의 경우에는 제1 내지 제10 프로세싱 모듈을 이용하고 16 스테이트 모드의 경우에는 제1 내지 제15 프로세싱 모듈을 이용하여 복원 심볼을 추출해낸다. 여기서, 상기 프로세싱 모듈가운데 모드 선택 제어 신호에 따라 8/16 스테이트 모드에 대한 계산을 수행하는 제1 내지 제9 프로세싱 모듈은 그 동작 및 구성이 각각 동일하고, 16 스테이트 모드에 대한 계산을 수행하는 제11 내지 제14 프로세싱 모듈의 동작 및 구성이 각각 동일하다. 그런데, 종래에는 이와 같이 동일한 프로세싱 모듈을 여러개 직렬로 중복하여 연결했기 때문에 칩면적의 운영상 비효율적인 문제점이 있었다.
이에 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 16 스테이트 모드와 8 스테이트 모드를 모두 지원 가능하고, 생존 데이터 메모리 장치의 칩면적을 줄일 수 있도록 된 트렐리스 코드 데이터의 생존 경로 역추적 장치를 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명의 장치는, 디코딩 깊이만큼 생존 경로 정보를 유지하고 제1 내지 제4 그룹 결정 벡터를 병렬출력하는 데이터 지연 처리부와 역추적 알고리즘에 따라 역추적하여 최종 복원된 심볼을 출력하는 역추적 프로세서를 구비하고, 모드 선택 제어 신호(MODE_SEL)에 따라 부분응답 채널 16 스테이트 모드와 최적 채널 8 스테이트 모드를 동시에 지원 가능한 생존 데이터 메모리 장치(SMU)에 있어서, 상기 역추적 프로세서가 상기 제1 그룹 결정 벡터를 입력받아 클럭 분주 신호(CONTROL)에 따라 상기 결정 벡터를 순차적으로 선택하여 이전 스테이트를 계산하고, 제1 그룹의 마지막 결정 벡터에 대한 이전 스테이트(S'(t-9))를 출력하는 제1 역추적부, 상기 제2 그룹 결정 벡터와 상기 제1 역추적부로부터 출력된 이전 스테이트(S'(t-9))를 입력받아 8 스테이트 모드에 대한 최종 복원 심볼 및 상기 제2 그룹 결정 벡터에 대한 이전 스테이트(S'(t-10))를 출력하는 제2 역추적부, 상기 제3 그룹 결정 벡터를 입력받아 클럭 분주 신호(CONTROL)에 따라 상기 결정 벡터를 순차적으로 선택하여 이전 스테이트를 계산하고, 제3 그룹의 마지막 결정 벡터에 대한 이전 스테이트(S'(t-14))를 출력하는 제3 역추적부, 상기 제3 역추적부로부터 출력된 이전 스테이트(S'(t-14))와 상기 제4 그룹 결정 벡터를 입력받아 16 스테이트 모드에 대한 최종 복원된 심볼을 출력하는 제4 역추적부, 및 상기 모드 선택 신호(MODE_SEL)에 따라 상기 제2 역추적부가 출력하는 최적응답 복원 심볼 혹은 상기 제4 역추적부가 출력하는 최적 응답 복원 심볼을 선택적으로 출력하는 제1 모드 선택부를 포함하여 구성되는 것을 특징으로 한다.
도 1은 비터비 알고리즘을 적용한 일반적인 트렐리스 디코더의 구성도,
도 2는 종래의 16/8 스테이트 모드를 모두 지원 가능한 생존 데이터 메모리 장치에 대한 구성도,
도 3은 도 2에 도시된 종래의 역추적 프로세서에 대한 블록도,
도 4는 본 발명에 따른 역추적 프로세서에 대한 블록도,
도 5는 도 4의 각 프로세싱 모듈에 대한 세부 블록도이다.
*도면의 주요부분에 대한 부호의 설명
41~44 : 역추적부 41-1,41-2 : 9입력 멀티플렉서
43-1,43-2 : 4입력 선택부 41-3,43-3 : 제1 및 제3 프로세싱 모듈
41-4,43-4 : 스위칭부 43-5 : 현재상태 선택부
45 : 제1 모드 선택부 51-1,52-1,53-1,54-1 : 4비트 메모리
51-2,51-3,52-2,52-3,53-2,53-3,54-2 : 16입력 멀티플렉서
51-4,52-4,53-4 : 이전 스테이트 계산부 51-5 : 제 2 모드 선택부
52-5,54-3 : 2비트 메모리 XOR_1~XOR_8 : 배타논리합 게이트
MUX1~MUX4 : 2입력 멀티플렉서
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예에 대하여 자세히 살펴보기로 한다.
먼저, 트렐리스 디코더의 생존 데이터 메모리부(SMU)는 역추적 알고리즘(traceback algorithm)에 의해 하나의 최적 경로를 찾아낸 후, 최우복호된 심볼(maximum likelihood decoded symbol)을 출력으로 내보낸다. 즉, 상기 생존 데이터 메모리부(SMU)에서는 가산 선택 비교부(ACS)로부터 제공된 결정 벡터와 현재 스테이트를 이용하여 이전 스테이트를 계속해서 구하여 디코딩 깊이(decoding depth) 만큼 진행시킨 후, 최종 디코딩된 심볼 비트(X1X0)를 출력하는 것이다. 디코딩 깊이는 16 스테이트의 모드의 경우 15이고, 8 스테이트 모드의 경우에는 10이다.
16스테이트 모드에서의 역추적 알고리즘에서의 이전 상태를 구하는 식은 하기 수학식 1과 같이, 현재 스테이트(S3,S2,S1,S0)와 입력된 결정 벡터(X1,S'0)의 논리 조합으로 이전 스테이트(S'3,S'2,S'1,S'0)가 결정된다.
이전상태(S′3,S′2,S′1,S′0)=(S3⊕X1,S1⊕S0,S2,S′0)
그리고, 8 스테이트 모드의 경우, 역추적 알고리즘에서의 이전 스테이트를 구하는 식은 하기 수학식 2와 같이, 현재 스테이트(S2,S1,S0)와 입력된 결정 벡터 (X1,X0)의 논리 조합으로 이전 상태(S'2,S'1,S'0)가 결정된다.
이전상태(S′2,S′1,S′0)=(S2⊕X1,X0⊕S0,S1)
여기서, 종래의 역추적 프로세서는 8 스테이트 모드와 16 스테이트 모드를 동시에 지원가능하도록 8 스테이트와 16 스테이트의 계산 모듈을 하나로 묶어서 모두 15개의 프로세싱 모듈을 구비하였는데, 프로세싱 모듈을 시간적으로 볼 때 제1 프로세싱 모듈이 계산을 수행한 후에 제2 프로세싱 모듈이 계산을 수행하고, 제2 프로세싱 모듈의 계산이 끝나면 제3 프로세싱 모듈이 계산을 수행하는 등, 각 프로세싱 모듈의 계산이 동시에 이루어지는 것이 아니라 순차적으로 진행된다. 따라서 본 발명에서는 이와 같이 순차적으로 계산을 수행하는 프로세싱 모듈의 특성을 이용하여, 구성과 동작이 동일한 종래의 프로세싱 모듈들을 하나의 프로세싱 모듈로 구성하는 것이 가능하다.
도 4는 본 발명에 따른 역추적 프로세서에 대한 블록도로서, 제1 내지 제4 역추적부(41~44)와 제1 모드 선택부(45)로 구성되어 있다. 상기 제1 내지 제4 역추적부(41~44)는 상기 데이터 지연 처리부(도 2의 70)로부터 출력되는 제1 내지 제4 그룹 결정 벡터(X0(k),X1(k))를 각각 입력받아, 상기 제1 및 제3 역추적부(41,43)는 입력된 각 결정 벡터에 대한 이전 스테이트(S'(t-k))를 계산하여 출력하고, 상기 제2 역추적부는 8 스테이트 모드의 최종 복원된 심볼을 출력하고, 상기 제4 역추적부(44)는 16 스테이트 모드의 최종 복원된 심볼을 출력한다. 그리고, 상기 제1 모드 선택부(45)는 모드 선택 신호(MODE_SEL)에 따라 부분응답 복원 심볼 혹은 최적응답 복원 심볼을 선택하여 모드에 따른 복원 심볼을 출력한다.
여기서, 상기 모드 선택 신호(MODE_SEL)는 부분응답 채널 수신 모드 인지 최적 채널 수신 모드 인지를 알려주는 제어 신호이다. 또한, 상기 제1 그룹 결정 벡터는 상기 데이터 지연 처리부(도 2의 70)로부터 병렬 출력되는 결정 벡터(X0(k),X1(k))들중에서 결정 벡터 X0(1)~X0(9), X1(1)~X1(9)에 해당하고, 제2 그룹 결정 벡터는 X0(10), X1(10), 제3 그룹 결정 벡터는 X0(11)~X0(14), X1(11)~X1(14), 제4 그룹 결정 벡터는 X1(15)에 각각 해당한다.
상기 제1 역추적부(41)는 9입력 멀티플렉서(41-1,41-2), 제1 프로세싱 모듈(41-3), 및 제1 스위칭부(41-4)로 이루어진다. 상기 9입력 멀티플렉서(41-1,41-2)는 클럭 분주 신호(CONTROL)에 따라 데이터 지연 처리부(도 2의 70)로부터 병렬 출력되는 제1 그룹 결정 벡터 X0(1)~X0(9), X1(1)~X1(9) 중에서 각각 하나를 순서대로 선택하여 출력하고, 상기 제1 프로세싱 모듈(41-3)은 상기 9입력 멀티플렉서(41-1,41-2)로부터 결정벡터(X0,X1)를 입력받아 상기 수학식 1과 수학식 2의 연산을 수행하여 이전 스테이트(S'(t-k))를 출력하고, 상기 제1 스위칭부(41-4)는 상기 클럭 분주 신호(CONTROL)에 따라 제1 프로세싱 모듈(41-3)로부터 출력된 이전 스테이트를 상기 제2 역추적부(42)로 전달하거나 제1 프로세싱 모듈(41-3)로 피드백하여 전달한다.
한편, 상기 클럭 분주 신호(CONTROL)는 특정 역추적부가 정해진 횟수만큼 계산을 반복하도록 제어하는 신호로서, 한 클럭에 1부터 16까지의 값을 가지도록 분주하는 것이 적절하다. 그리하여, 상기 9입력 멀티플렉서(41-1,41-2)는 상기 클럭 분주 신호(CONTROL)가 레벨 1부터 레벨 9일 때 각각 결정벡터 X0(1)부터 X0(9)까지, X1(1)부터 X1(9)까지 하나씩 출력하고, 상기 제1 스위칭부(41-4)는 클럭 분주 신호(CONTROL)가 레벨 1부터 레벨 8일 때는 상기 제1 프로세싱 모듈(41-3)로부터 출력된 이전 스테이트를 피드백시켜 제1 프로세싱 모듈(41-3)로 전달하고 클럭 분주 신호(CONTROL)가 레벨 9일 때는 제2 역추적부(42)로 전달한다.
도 5a는 상기 제1 프로세싱 모듈(41-3)의 구성도로서, 현재 스테이트(S3,S2,S1,S0)를 저장하는 4비트 메모리(51-1)와, 상기 4비트 메모리(51-1)의 현재 스테이트를 제어 신호로 제공받아 상기 9입력 멀티플렉서(41-1,41-2)로부터 출력되는 16개의 결정 벡터(X0,X1)중 하나를 각각 선택하는 16입력 멀티플렉서(51-2, 51-3)와, 상기 4비트 메모리(51-1)의 현재 스테이트(S3,S2,S1,S0)와 상기 멀티플렉서(51-2, 51-3)를 통해 선택된 결정 벡터(X0,X1)를 이용하여 상기 수학식 1 및 수학식 2를 계산하여 이전 스테이트(S'3,S'2,S'1,S'0)를 출력하는 이전 스테이트 계산부(51-4), 및 모드 선택 신호(MODE_SEL)를 제어신호로 입력받아 상기 이전 스테이트 계산부(51-4)로부터 출력되는 16스테이트 모드와 8스테이트 모드에 대한 이전 스테이트 가운데 하나를 선택하여 출력하는 제 2 모드 선택부(51-5)로 구성되어 있다.
상기 제 2 모드 선택부(51-5)는 제1 내지 제4 멀티플렉서(MUX1~MUX4)의 제1 입력단자에 16 스테이트 모드의 이전 스테이트가 입력되고 제2 입력단자에 8 스테이트 모드의 이전 스테이트가 입력되어, 모드 선택 신호(MODE_SEL)에 따라서 16 스테이트 모드일 경우 멀티플렉서(MUX1~MUX4)의 제1 입력신호를 선택하고, 8 스테이트 모드일 경우 멀티플렉서(MUX1~MUX4)의 제2 입력신호를 선택하여 이전 스테이트(S'2,S'1,S'0)를 출력한다.
이와 같이 제1 역추적부(41)는 8 스테이트 모드 혹은 16 스테이트 모드에 대하여, 제1 프로세싱 모듈(40-3)에 의해 계산된 이전 스테이트를 계속적으로 피드백하여 역추적을 수행함으로써 결정 벡터 X0(9),X1(9)에 대한 이전 스테이트(S'3(t-9),S'2(t-9),S'1(t-9),S'0(t-9))를 출력한다.
이어서, 도 5b는 상기 제2 역추적부(42)의 구성을 도시한 블록도이다.
도 5b에 도시된 바와 같이, 제2 역추적부(42)는 4비트 메모리(52-1), 16입력 멀티플렉서(52-2,52-3), 이전 스테이트 계산부(52-4), 및 상기 멀티플렉서(52-2,52-3)를 통해 선택된 결정 벡터 X0,X1비트를 저장하는 2비트 메모리(52-5)로 구성되어 있으며, 도 5a의 프로세싱 모듈과 비교하여 동일한 구성요소는 동일한 역할을 하도록 하였다.
상기 제2 프로세싱 모듈(42)은, 8 스테이트 모드의 경우 데이터 지연 처리부(도 2의 70)로부터 병렬 출력된 제2 그룹 결정 벡터(X1(10),X0(10): 8×2비트)중에서 상기 4비트 메모리(52-1)의 스테이트에 해당하는 결정 벡터 하나를 선택한다. 이때, 선택된 비트 X0,X1가 바로 8 스테이트 모드의 최종 복원된 심볼 X0(t-10),X1(t-10) 에 해당하며, 2비트 메모리(52-5)는 이값을 저장하여 상기 제 1 모드 선택부(45)로 전달한다. 그리고, 16 스테이트 모드의 경우 제2 프로세싱 모듈(42)은 상기 수학식 1에 따라 이전 스테이트(S'3(t-10),S'2(t-10),S'1(t-10), S'0(t-10))를 계산하여 출력한다.
상기 제3 역추적부(43)는 4입력 멀티플렉서(43-1,43-2), 제3 프로세싱 모듈(43-3), 제2 스위칭부(43-4), 및 현재상태 선택부(43-5)로 이루어진다.
클럭 분주 신호(CONTROL)에 따른 각 부의 동작을 살펴보면, 상기 4입력 멀티플렉서(43-1,43-2)는 상기 데이터 지연 처리부(도 2의 70)로부터 병렬 출력되는 제3 그룹 결정벡터 X0(11)~X0(14), X1(11)~X1(14)를 입력받아, 클럭 분주 신호(CONTROL)가 레벨 11일 때 각각 결정벡터 X0(11),X1(11)를 선택하여 출력하고, 레벨 12일 때 각각 결정벡터 X0(12),X1(12)를 선택하여 출력하는 등, 클럭 분주 신호(CONTROL)가 레벨 11부터 레벨 14일 때 상기 레벨에 따라 결정벡터 X0(11),X1(11)부터 X0(14),X1(14)까지 하나씩 선택하여 출력한다.
상기 제3 프로세싱 모듈(43-3)은 상기 4입력 멀티플렉서(43-1,43-2)로부터 출력되는 결정 벡터를 입력받아 각 결정 벡터에 대한 이전 스테이트를 계산하여 출력한다. 그리고, 상기 제2 스위칭부(43-4)는 상기 클럭 분주 신호(CONTROL)가 레벨 11부터 레벨 13일 때는 상기 제3 프로세싱 모듈(43-3)의 출력을 피드백시키고, 클럭 분주 신호(CONTROL)가 레벨 14일 때는 제4 프로세싱 모듈(44)로 전달한다. 상기 현재상태 선택부(43-5)는 상기 클럭 분주 신호(CONTROL)가 11일 때는 전단에 연결된 제2 프로세싱 모듈(42)로부터 출력되는 이전 스테이트를 선택하고, 클럭 분주 신호(CONTROL)가 레벨 12부터 레벨 14일 때는 상기 제2 스위칭부(43-4)로부터 피드백되는 신호를 선택하여 제3 프로세싱 모듈(43-3)로 전달한다.
도 5c는 상기 제3 프로세싱 모듈(43-3)의 블록도로서, 제3 프로세싱 모듈(43-3)은 4비트 메모리(53-1)와, 16입력 멀티플렉서(53-2,53-3), 및 이전 스테이트 계산부(53-4)로 구성되며, 도 6a의 프로세싱 모듈과 비교하여 동일한 구성요소는 동일한 역할을 수행한다. 상기 제3 프로세싱 모듈(43-3)은 16 스테이트 모드에 대한 역추적을 수행하기 위하여 상기 수학식 1에 따라 이전 스테이트(S'3,S'2,S'1,S'0)를 구하여 출력하게 된다.
즉, 상기 제3 프로세싱 모듈(43-3)은 클럭 분주 신호(CONTROL)가 레벨 11일 때 결정벡터 X0(11),X1(11)를 입력받고 제2 프로세서 모듈(42)로부터 출력된 이전 스테이트를 현재 스테이트로 입력받아 이전 스테이트를 계산하여 출력하고, 클럭 분주 신호(CONTROL)가 레벨 12와 레벨 13일 때 결정벡터 X0(12),X1(12)와 결정벡터 X0(13),X1(13)를 각각 입력받고 클럭 분주 신호(CONTROL)의 전 레벨에서 상기 제2 스위칭부(43-4)에 의해 피드백된 이전 스테이트를 각각 현재 스테이트로 입력받아 이전 스테이트를 계산하여 출력하고, 클럭 분주 신호(CONTROL)가 레벨 14일 때 결정벡터 X0(14),X1(14)를 입력받고 클럭 분주 신호(CONTROL)의 전 레벨에서 피드백된 이전 스테이트를 현재 스테이트로 입력받아 결정벡터 X0(14),X1(14)에 대한 이전 스테이트(S'3(t-14),S'2(t-14),S'1(t-14),S'0(t-14))를 계산하여 출력하며, 이때 출력된 이전 스테이트는 상기 제2 스위칭부(43-4)에 의해 제4 프로세싱 모듈(44)로 전달된다.
마지막으로, 상기 제4 역추적부(44)는 디코딩 깊이 15에 대하여 역추적하는 것으로서, 도 5d에 제4 역추적부의 구성도가 도시되어 있다.
도 5d에 도시된 바와 같이, 제4 역추적부(44)는 4비트 메모리(54-1)와, 상기 4비트 메모리(54-1)의 현재 스테이트를 제어 신호로 제공받아 상기 데이터 지연 처리부로부터 출력된 16개의 결정 벡터(X1(15))중 하나를 선택하는 16입력 멀티플렉서(54-2), 및 현재 스테이트 S0와 상기 멀티플렉서(54-2)를 통해 선택된 결정 벡터 X0,X1비트를 저장하는 2비트 메모리(54-3)로 구성되어 있다.
상기 제4 역추적부(44)는 상기 제3 역추적부(43)로부터 출력된 이전 스테이트(S'3(t-14),S'2(t-14),S'1(t-14),S'0(t-14))를 입력받아 상기 4비트 메모리(54-1)에 저장하고, 16개의 결정 벡터(X1(15): 16비트)중에서 상기 4비트 메모리(54-1)의 스테이트에 해당하는 결정 벡터 하나를 선택한다. 이때, 선택된 비트 X1와 상기 4비트 메모리(54-1)의 마지막 비트 S0(=X0)가 바로 최종 복원된 심볼 X1(t-15),X0(t-15) 에 해당한다.
본 명세서에서는 본 발명을 특정한 실시예들과 관련하여서만 설명하였으나, 당업자들은 다음의 청구항들에서 정의된 발명의 의도와 범위를 벗어나지 않는 한도내에서 다양하게 수정할 수 있을 것이다.
이상에서 살펴본 바와 같이, 본 발명의 장치는 역추적 알고리즘에 의하여 경로를 찾아내어 최우복호된(maximum likelihood decoded) 심볼을 최종 출력함에 있어서, 동작과 구성이 동일하고 중복 직렬 연결한 종래의 프로세싱 모듈을 하나의 프로세싱 모듈로 구성하여 한 클럭동안 클럭 분주 신호(CONTROL)에 따라 다수번의 동작을 반복하도록 함으로써, 칩면적을 줄일 수 있는 효과가 있다.

Claims (4)

  1. 디코딩 깊이만큼 생존 경로 정보를 유지하고 제1 내지 제4 그룹 결정 벡터를 병렬출력하는 데이터 지연 처리부(70)와 역추적 알고리즘에 따라 역추적하여 최종 복원된 심볼을 출력하는 역추적 프로세서(74)를 구비하고, 모드 선택 제어 신호(MODE_SEL)에 따라 부분응답 채널 16 스테이트 모드와 최적 채널 8 스테이트 모드를 동시에 지원 가능한 생존 데이터 메모리 장치(SMU)에 있어서,
    상기 역추적 프로세서(74)가
    상기 제1 그룹 결정 벡터를 입력받아 클럭 분주 신호(CONTROL)에 따라 상기 결정 벡터를 순차적으로 선택하여 이전 스테이트를 계산하고, 제1 그룹의 마지막 결정 벡터에 대한 이전 스테이트(S'(t-9))를 출력하는 제1 역추적부(41);
    상기 제2 그룹 결정 벡터와 상기 제1 역추적부(41)로부터 출력된 이전 스테이트(S'(t-9))를 입력받아 8 스테이트 모드에 대한 최종 복원 심볼 및 상기 제2 그룹 결정 벡터에 대한 이전 스테이트(S'(t-10))를 출력하는 제2 역추적부(42);
    상기 제3 그룹 결정 벡터를 입력받아 클럭 분주 신호(CONTROL)에 따라 상기 결정 벡터를 순차적으로 선택하여 이전 스테이트를 계산하고, 제3 그룹의 마지막 결정 벡터에 대한 이전 스테이트(S'(t-14))를 출력하는 제3 역추적부(43);
    상기 제3 역추적부(43)로부터 출력된 이전 스테이트(S'(t-14))와 상기 제4 그룹 결정 벡터를 입력받아 16 스테이트 모드에 대한 최종 복원된 심볼을 출력하는 제4 역추적부(44); 및
    상기 모드 선택 신호(MODE_SEL)에 따라 상기 제2 역추적부(42)가 출력하는 최적응답 복원 심볼 혹은 상기 제4 역추적부(44)가 출력하는 최적 응답 복원 심볼을 선택적으로 출력하는 제1 모드 선택부(45)를 포함하여 구성되는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
  2. 제 1 항에 있어서, 상기 클럭 분주 신호(CONTROL)는 상기 제1 및 제3 역추적부(41,43)가 한 클럭동안 동작을 반복 수행하도록 제어하는 신호이며, 한 클럭에 레벨 1부터 레벨 16까지의 값을 가지는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
  3. 제 1 항에 있어서, 상기 제1 역추적부(41)는
    상기 클럭 분주 신호(CONTROL)가 레벨 1 내지 레벨 9일 때 제1 그룹 결정 벡터중 하나를 순서대로 선택하여 출력하는 9입력 멀티플렉서(41-1,41-2);
    상기 9입력 멀티플렉서(41-1,41-2)로부터 출력된 결정 벡터를 입력받아 모드 선택 제어 신호(MODE_SEL)에 따라 상기 결정 벡터에 대한 8 스테이트 모드 혹은 16 스테이트 모드의 이전 스테이트를 계산하여 출력하는 제1 프로세싱 모듈(41-3); 및
    클럭 분주 신호(CONTROL)가 레벨 1 내지 레벨 8일 때 상기 제1 프로세싱 모듈(41-3)로부터 출력된 이전 스테이트를 상기 제1 프로세싱 모듈(41-3)로 피드백하여 전달하고, 클럭 분주 신호(CONTROL)가 레벨 9일 때 상기 이전 스테이트를 상기 제2 역추적부(42)로 전달하는 제1 스위칭부(41-4)로 이루어지는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
  4. 제 1 항에 있어서, 상기 제3 역추적부(43)는
    클럭 분주 신호(CONTROL)가 레벨 11 내지 레벨 14일 때 제3 그룹 결정 벡터중 하나를 순서대로선택하여 출력하는 4입력 멀티플렉서(43-1,43-2);
    상기 4입력 멀티플렉서(43-1,43-2)의 출력을 입력받아 각 결정벡터에 대한 16 스테이트 모드의 이전 스테이트를 계산하여 출력하는 제3 프로세싱 모듈(43-3);
    클럭 분주 신호(CONTROL)가 레벨 11 내지 레벨 13일 때 상기 제3 프로세싱 모듈(43-3)로부터 출력된 이전 스테이트를 피드백하여 현재상태 선택부(43-5)로 전달하고, 클럭 분주 신호(CONTROL)가 레벨 14일 때 상기 이전 스테이트를 상기 제4 역추적부(44)로 전달하는 제2 스위칭부(43-4); 및
    클럭 분주 신호(CONTROL)가 레벨 11일 때 상기 제2 역추적부(42)로부 출력된 이전 스테이트를 선택하고, 클럭 분주 신호(CONTROL)가 레벨 12 내지 레벨 14일 때 상기 제2 스위칭부(43-4)로부터 피드백된 이전 스테이트를 선택하여 상기 제3 프로세싱 모듈(43-3)로 전달하는 상기 현재상태 선택부(43-5)로 이루어지는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
KR1019970064407A 1997-11-29 1997-11-29 트렐리스 코드 데이터의 생존 경로 역추적 장치 KR100237490B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1019970064407A KR100237490B1 (ko) 1997-11-29 1997-11-29 트렐리스 코드 데이터의 생존 경로 역추적 장치
US09/144,324 US6134697A (en) 1997-11-29 1998-08-31 Traceback processor for use in a trellis-coded modulation decoder
GB9819480A GB2331900B (en) 1997-11-29 1998-09-07 Traceback processor for use in a trellis-coded modulation decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970064407A KR100237490B1 (ko) 1997-11-29 1997-11-29 트렐리스 코드 데이터의 생존 경로 역추적 장치

Publications (2)

Publication Number Publication Date
KR19990043406A KR19990043406A (ko) 1999-06-15
KR100237490B1 true KR100237490B1 (ko) 2000-01-15

Family

ID=19525987

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970064407A KR100237490B1 (ko) 1997-11-29 1997-11-29 트렐리스 코드 데이터의 생존 경로 역추적 장치

Country Status (3)

Country Link
US (1) US6134697A (ko)
KR (1) KR100237490B1 (ko)
GB (1) GB2331900B (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6622283B1 (en) * 2000-01-28 2003-09-16 Nec Electronics, Inc. Digital signal processor decoding of convolutionally encoded symbols
US6604220B1 (en) * 2000-09-28 2003-08-05 Western Digital Technologies, Inc. Disk drive comprising a multiple-input sequence detector selectively biased by bits of a decoded ECC codedword
KR101010784B1 (ko) * 2002-04-17 2011-01-25 톰슨 라이센싱 트렐리스 디코더를 위한 메모리 관리 알고리즘
US7103831B1 (en) * 2003-01-22 2006-09-05 Conexant Systems, Inc. Burst reliability and error locator for trellis codes
US20080109709A1 (en) * 2003-08-19 2008-05-08 Chao Cheng Hardware-Efficient, Low-Latency Architectures for High Throughput Viterbi Decoders
JP4428156B2 (ja) * 2004-06-28 2010-03-10 ソニー株式会社 復号装置および方法、プログラム記録媒体、プログラム、並びに記録再生装置
JP4432781B2 (ja) * 2005-01-17 2010-03-17 株式会社日立製作所 誤り訂正復号器

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291499A (en) * 1992-03-16 1994-03-01 Cirrus Logic, Inc. Method and apparatus for reduced-complexity viterbi-type sequence detectors
EP0677967A3 (en) * 1994-04-12 1997-07-23 Gold Star Co Viterbi decoder for high-definition television.
US5841478A (en) * 1996-04-09 1998-11-24 Thomson Multimedia, S.A. Code sequence detection in a trellis decoder
KR100212836B1 (ko) * 1996-06-14 1999-08-02 전주범 비터비 디코더의 트레이스백 진행 구조
US6141384A (en) * 1997-02-14 2000-10-31 Philips Electronics North America Corporation Decoder for trellis encoded interleaved data stream and HDTV receiver including such a decoder
KR19980079114A (ko) * 1997-04-30 1998-11-25 배순훈 트렐리스 코드 데이터의 디코딩방법 및 장치

Also Published As

Publication number Publication date
GB9819480D0 (en) 1998-10-28
US6134697A (en) 2000-10-17
GB2331900B (en) 2003-03-12
GB2331900A (en) 1999-06-02
KR19990043406A (ko) 1999-06-15

Similar Documents

Publication Publication Date Title
US5408502A (en) Apparatus and method for communicating digital data using trellis coded QAM with punctured convolutional codes
US4583078A (en) Serial Viterbi decoder
KR20010050871A (ko) 이동통신시스템의 구성 복호기 및 방법
US6594795B1 (en) Viterbi decoder using a reverse trellis diagram
KR100237490B1 (ko) 트렐리스 코드 데이터의 생존 경로 역추적 장치
US7289569B2 (en) HDTV trellis decoder architecture
KR100212854B1 (ko) 트렐리스 디코더에서의 디인터리빙 및 출력 처리 장치
US6697442B1 (en) Viterbi decoding apparatus capable of shortening a decoding process time duration
KR100230911B1 (ko) 고화질 텔레비젼의 격자 복호기
KR20070074213A (ko) 통신 시스템의 복호화 방법
KR100210405B1 (ko) 트렐리스 코드 데이터의 생존 경로 역추적 방법 및 장치
KR100237489B1 (ko) 트렐리스 디코더의 브랜치 메트릭 계산 장치
KR100258234B1 (ko) 트렐리스 코드 데이터의 생존 경로 저장 장치
KR100237491B1 (ko) 트렐리스 디코더의 가산 비교 선택 장치
KR19990035418A (ko) 트렐리스 코드 데이터의 생존 경로 역추적 장치
US8370726B2 (en) Soft output viterbi decoder architecture
KR100236007B1 (ko) 비터비 디코더 및 디코딩 방법
KR0169681B1 (ko) 비터비 복호기
KR0169680B1 (ko) 비터비 복호기
KR0169678B1 (ko) 비터비 복호기
KR19990035419A (ko) 트렐리스 디코더의 가산 비교 선택 장치
KR0185925B1 (ko) 비터비알고리즘에 흔적삭제방법을 이용하는 복호화방법 및 그 장치
KR19990035420A (ko) 트렐리스 디코더의 브랜치 메트릭 계산 장치
Steinert et al. Power consumption optimization for low latency Viterbi Decoder
Sutagundar et al. CMOS implementation of Viterbi decoder

Legal Events

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

Payment date: 20120924

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130926

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee