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

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

Info

Publication number
KR100210405B1
KR100210405B1 KR1019970011849A KR19970011849A KR100210405B1 KR 100210405 B1 KR100210405 B1 KR 100210405B1 KR 1019970011849 A KR1019970011849 A KR 1019970011849A KR 19970011849 A KR19970011849 A KR 19970011849A KR 100210405 B1 KR100210405 B1 KR 100210405B1
Authority
KR
South Korea
Prior art keywords
symbol
data
state
decision
output
Prior art date
Application number
KR1019970011849A
Other languages
English (en)
Other versions
KR19980075607A (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 KR1019970011849A priority Critical patent/KR100210405B1/ko
Publication of KR19980075607A publication Critical patent/KR19980075607A/ko
Application granted granted Critical
Publication of KR100210405B1 publication Critical patent/KR100210405B1/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/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/3955Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using a trellis with a reduced state space complexity, e.g. M-algorithm or T-algorithm
    • 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

본 발명은 트렐리스 코드 데이터의 생존 경로 역추적 방법 및 장치에 관한 것으로서, 본 발명의 방법 및 장치는 다수개의 인코더에 의해 인트라세그먼트 인터리빙 처리된 트렐리스 코드 데이터를 단일 칩 디코더로 복원처리 하기 위하여 각 스테이트 (Sj(t))의 생존 경로 결정 벡터 스트림(DVi)을 유지하면서, 동일한 인코더로부터 발생된 데이터의 결정 벡터를 디코딩 깊이만큼 동시에 출력하는 데이터 지연 처리 수단(70)과, 소정 클럭 동안(약 1클럭정도)상기 결정 벡터들(DVi)과 현재 스테이트(Sj(t))를 이용하여 이전 스테이트(Sj(t-1))를 가우시안 채널용 디코딩 깊이 혹은 부분응답 채널용 디코딩 깊이까지 계산하여 각각의 복원 심볼을 구한 다음, 모드 선택 신호(MODE_SEL)에 따라 상기 최적응답 복원 심볼 혹은 상기 부분응답 복원심볼을 선택적으로 출력하는 역추적 프로세서(74)로 구성되어 있으며, 결정 벡터를 유지하는 데이터 지연 레지스터를 공유하여 부분응답 채널용 16스테이트 모드의 생존 메모리 구조를 갖으면서도 가우시안 채널용 8 스테이트 모드와 부분 응답 16 스테이트 모드를 동시에 지원하고, 역추적 알고리즘에 필요한 결정 벡터를 동시에 출력하여 클럭당 계산량을 늘려 메모리와 논리 소자 및 배선 영역을 감소시키므로써 디코더 면적 및 디코딩 처리 시간을 최소화 하는 효과가 있다.

Description

트렐리스 코드 데이터의 생존 경로 역추적 방법 및 장치
본 발명은 트렐리스 부호화 변조(TCM : Trellis code modualtion)기법에 의해 전송된 신호를 복호화시키는 트렐리스 디코더(TCM decoder)에 관한 것으로, 더욱 상세하게는 가산 비교 선택부(ACS:add comparator select unit)로부터 제공받은 생존자 경로(survivor path)의 집합인 결정 벡터(decision vector)를 기억하여 역추적 알고리즘(traceback algorithm)에 의해 최적의 경로를 찾아내어서 최우복호된(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㏈ 이상의 전력상 이득을 얻을 수 있다고 알려져 있다. 특히, TCM의 장점은 이러한 전력상의 이득이 대역폭의 확장이나 다른 에러 정정 부호의 경우처럼 유효 정보율를 감소시키므로써 얻어지는 것이 아니라는 데 있다. 여기서 트렐리스(trellis)라는 용어는 이진 길쌈 부호(convoultion)의 상태도인 트렐리스 다이어그램(trellis diagram)과 비슷한 상태를 갖는 상태 천이도에 의해 TCM 부호어를 나타낼수 있기 때문에 사용되고 있다. 그리고, TCM 부호와 길쌈 부호의 차이점은 TCM 부호어는 길쌈 부호어를 비이진 변조시켜 임의 크기를 갖는 신호집합으로 확장시켰다는 점이다.
TCM이 갖는 이러한 부호화의 이득 때문에 수신 데이터 검출의 복잡성에도 불고하고 현재 많이 이용되고 있으며, 그 이용 범위가 크게 늘어나고 있다. 그 이용분야의 하나로 고화질 TV(High Definition television : 이하, HDTV라함)의 전송 시스템을 들 수 있다.
한편, 데이터의 신뢰성을 높이기 위해 서로 다른 두개의 부호기를 연결시켜 연속적으로 부호화를 수행하는 연결(연속) 부호화(concatenated coding) 기법에 있어서, 내부 부호어(inner coder)는 부호화된 변조 부호를 생성하는 잘 알려진 길쌈 부호어나 TCM 부호어가 사용되고 있으며, 비터비 알고리즘(Viterbi algorithm)을 적용한 디코더로 복호화를 수행하게 된다. 외부 부호어(outer coder)는 T개의 에러 정정 능력을 갖는 리드 솔로몬 부호어(Reed-Solomon code)를 들 수 있다. 외부 디코더(outer decoder)에서는 내부 디코더(inner decoder)에서 정정하지 못한 에러를 다시 정정하여 통상적으로 에러 레이트(error rate)가 거의 0이 되도록 에러를 제거한다. 이러한 연결 코딩 기법은 하나의 코딩 기법을 사용하는 것보다 하드웨어적으로 덜 복잡하면서도 좋은 성능을 구현할 수 있는 장점을 가지고 있다.
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)로 구성되어 있다.
여기서 메트릭(metric)이란, 수신 신호와 대응하는 브랜치에서의 코드간 거리를 계산한 값으로서, 이 거리가 신호 판별의 기준이 되는 것이다. 메트릭은 경판정(hard-decision) 복호의 경우에는 해밍 거리(Hamming distance)가 되고, 연판정(soft-decision)의 경우에는 유클리드 거리(Euclidean distance)가 된다.
상기 브랜치 메트릭 계산부(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)에 따라 역추적하여 최종 복원된 심볼을 출력한다.
이러한 구조를 갖는 트렐리스 디코더의 예로 미국내 HDTV 규격을 제정하기 위해 결성된 Grand Alliance(GA)에서 제안한 GA HDTV 수신 시스템의 트렐리스 디코더를 들 수 있다.
GA HDTV 전송 시스템에서는 데이터를 8레벨 VSB 모드에서 트렐리스 부호하여 프레임 단위로 전송하도록 하였다. 도 2에서 보인 GA HDTV 시스템의 프레임 구조를 참조하면, 하나의 프레임(Frame)은 두개의 필드(Field)로 구성되어 있고, 한 필드(Field)는 313개의 세그먼트(Segment)로 이루어진다. 각 세그먼트(Segment)는 4심볼의 세그먼트 동기 신호(Segment Sync)와 828개의 데이터+에러정정 심볼(Data +FEC)로 구성되어 있고, 각 필드의 첫번째 세그먼트는 필드 동기 신호(Field Sync)에 할당되어 있다.
송신 신호가 생성되는 과정은 랜덤화된 신호를 리드-솔로몬 부호화하고, 이를 인터리빙한 후에 다시 트렐리스 부호화하고, 여기에 세그먼트 동기 신호(Segment Sync)와 필드 동기 신호(Field Sync)를 삽입한다. 그리고나서 파일럿 신호를 삽입한 다음 VSB변조를 하여 캐리어에 실어서 전송하게 된다.
여기서, 도 3은 GA 8레벨 VSB 모드의 트렐리스 부호 블록에 대한 구성도로서, 전부호화기(Pre_coder:30)와, 트렐리스 부호화기(Trellis Encoder:32) 및, 8레벨 심볼 매퍼(8-level symbol mapper:34)로 구성되어 있다.
상위 입력 비트(X1)는 상기 전부호화기(30)를 통해 12심볼 지연된 이전 비트와 배타 논리합 하여 중간 출력 비트(Y1)로 되고, 상기 중간 출력 비트(Y1)은 트렐리스 부호화기(32)에서는 부호화되지 않고 그대로, 상기 8레벨 심볼 매퍼(34)의 입력 비트(Z2)로 출력된다. 하위 입력 비트(X0)는 상기 트렐리스 부호화기(32)에서 부호율
Figure kpo00001
길쌈부호화되어, 상기 8레벨 심볼 매퍼(24)의 입력 비트(Z1, Z0)로 출력된다. 이렇게 부호율
Figure kpo00002
의 트렐리스 부호화기를 통해 얻어진 부호어(Z2,Z1,Z0)는 상기 8레벨 심볼 매퍼(34)에서 8레벨 심볼(R : -7,-5,-3,-1,-1,+3,+5,+7)로 변환되어 8레벨 VSB 변조 신호로 전송되는 것이다.
한편, 트렐리스 부호화는 백색 가우시안 잡음(AWGN)에 강한 성질을 가지나, 군집에러는 약하므로 도 3의 트렐리스 부호 블록 12개를 병렬로 배치하여 입력 심볼들을 순차적으로 부호기에 인가하여 12심볼 인트라세그먼트 인터리빙(intrasegment interleaving) 처리를 하였으며, 이를 도 4에 도시하였다.
도 4에서 보는 바와 같이, 외부에서 인터리빙되어 바이트 단위로 입력되는 데이터를 심볼 단위(2비트씩 : X1,X0)로 출력하는 입력 스위치(40)와, 상기 입력 스위치(40)의 출력을 순서대로 입력받는 상기 도 3의 전부호화기(30)와 트렐리스 부호화기(32)로 구성된 12개의 트렐리스 부호 블록(E1∼E12) 및, 상기 12개의 트렐리스 부호 블록(E1∼E12)로부터 출력되는 부호어를 입력 받아 순서대로 상기 도 3의 8레벨 심볼 매퍼(34)로 출력하는 출력 스위치(42)로 구성되어 있다. 상기 입력 스위치(40)와 상기 출력 스위치(42)는 서로 동기되어 동작되는 것을 주의 해야 한다.
그리고, 도 5는 GA HDTV 수신 시스템에서의 트렐리스 부호 디인터리버에 대한 구성도로서, 트렐리스 부호 디인터리버에서는 송신측에서의 TCM 부호어가 12심볼 단위로 인터리빙되었기 때문에 수신측에서는 트렐리스 디코더 12개(D1∼D12)가 병렬로 구현되어 디인터리빙을 수행하도록 해야한다. 따라서, 각 트렐리스 디코더는 입력 심볼열중 매 12번째 심볼을 입력으로 받아 디인터리빙하면서 복호화를 수행하였다.
한편, TCM 디코딩의 경로는 NTSC 간섭 제거 필터의 사용유무에 따라 두가지 경로를 갖게 되는 데, 이를 도 6에 도시하였다. 도 6를 참조하면, 수신 심볼을 복원하는 데 있어서, NTSC 간섭 제거 필터를 사용하지 않으면 8 스테이트 모드 복호를 하는 가우시안(AWGN) 채널용 최적 트렐리스 디코더(65)를 사용하면 되고, 만일, NTSC 간섭 제거 필터(61)를 통과한 신호는 필터의 전달함수 특성상 입력 레벨이 8레벨에서 15레벨로 변환되므로 이에 적합한 16 스테이트 모드 복호를 하는 부분응답 채널용 트렐리스 디코더(63)를 사용해야 한다.
이와 같이 종래의 트렐리스 디코더에서는 NTSC 간섭 제거 필터의 사용유무에 따라 8 스테이트 모드 최적 트렐리스 디코더(65)와 16스테이트 모드 부분응답 트렐리스 디코더(63)를 별도로 구비하고 있었다. 또한, 12개의 동일한 트렐리스 디코더(D1∼D12)를 사용하므로써 칩 면적이 필연적으로 증가되는 문제점을 안고 있었다. 특히, 트렐리스 디코더중에서도 역추적 알고리즘을 수행하는 생존자 메모리 장치(SMU)는 역추적에 필요한 디코딩 깊이만큼에 해당하는 생존 경로의 결정 벡터(decision vector)를 유지하고 있어야 하기 때문에 가장 많은 면적을 차지하는 문제점이 있었다.
이에, 본 발명은 상기와 같은 제 문제점을 해결하기 위하여 안출된 것으로서, 본 발명은 16 스테이트 모드의 생존 메모리 구조를 갖으면서도 8 스테이트 모드와 16 스테이트 모드를 동시에 지원하여 칩 면적을 최소화시킨 생존 경로 역추적 방법 및 장치를 제공하는 데 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 방법은 M개의 트렐리스 부호기를 통해 M심볼 인트라세그먼트 인터리빙처리되어 트렐리스 부호된 신호 스트림 di ( 1≤i≤M : 제 i 트렐리스 인코더로부터 출력된 데이터를 구별하기 위한 인덱스)을 가우시안 채널로 수신하여 최적응답 디코딩 깊이까지 역추적하거나 혹은 부분응답 채널로 수신하여 부분응답 디코딩 깊이까지 역추적하여 복호화하는 데 있어서, 각 스테이트(Sj(t))에서 살아남은 생존 경로의 결정 벡터 스트림(DVi)을 저장하는 단계와; 상기 저장된 결정 벡터 스트림(DVi)중에서 동일한 인덱스(i)를 갖는 결정 벡터(DVi)를 동시에 출력하는 단계와; 상기 출력된 결정 벡터들(DVi)과 현재 스테이트(Sj(t))를 이용하여 이전 스테이트(Sj(t-1))를 가우시안 채널용 디코딩 깊이 혹은 부분응답 채널용 디코딩 깊이까지 계산하여 각각의 복원 심볼을 구하는 단계와; 모드 선택 신호에 따라 상기 최적응답 복원 심볼 혹은 상기 부분응답 복원심볼을 선택적으로 출력하는 단계를 포함하여 구성되는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위하여 본 발명의 장치는 M개의 트렐리스 부호기를 통해 M심볼 인트라세그먼트 인터리빙처리되어 트렐리스 부호된 신호 스트림 di ( 1≤i≤M : 제 i 트렐리스 인코더로부터 출력된 데이터를 구별하기 위한 인덱스)을 가우시안 채널로 수신하여 최적응답 디코딩 깊이까지 역추적하거나 혹은 부분응답 채널로 수신하여 부분응답 디코딩 깊이까지 역추적하여 복호화하는 데 있어서, 각 스테이트 Sj(t)의 생존 경로의 결정 벡터(DVi)를 저장함과 동시에, 저장된 결정 벡터중 동일한 인덱스(i)를 갖는 결정 벡터들(DVi)을 동시에 병렬 출력하는 데이터 지연 처리부와; 상기 데이터 지연 처리부로부터 제공된 결정 벡터들(DVi)을 이용하여 최적응답 역추적 혹은 부분응답 역추적을 수행함과 동시에, 모드 선택 신호(MODE_SEL)에 따라 최적응답 복원 심볼 혹은 부분응답 복원 심볼을 선택적으로 출력하는 역추적 프로세서를 포함하여 구성되는 것을 특징으로 한다.
상기와 같은 본 발명의 생존자 메모리 장치는 가우시안(부분 응답) 채널용 8스테이트 모드와 부분응답 채널용 16 스테이트 모드를 모두 수용하는 단일 칩으로 설계되었으며, 칩 면적을 최소화하기 위해 역추적 알고리즘에 필요한 결정 벡터를 동시에 병렬 출력하여 클럭당 계산량을 늘리므로써 메모리와 논리 소자 및 배선 영역을 감소시킬 수 있는 효과가 있다.
도 1은 비터비 알고리즘을 적용한 일반적인 트렐리스 디코더의 구성도,
도 2는 GA(Grand Alliance) HDTV(High Definition Television) 전송 시스템에서의 데이터 단위 프레임 구조도,
도 3은 GA HDTV 송신 시스템에서의 8 레벨 잔류 측파대 트렐리스 부호 블록에 대한 구성도,
도 4는 도 3을 이용하여 세그먼트내 인터리빙을 수행하는 트렐리스 부호 인터리버에 대한 구성도,
도 5는 GA HDTV 수신 시스템에서의 트렐리스 부호 디인터리버에 대한 구성도,
도 6은 NTSC 간섭 제거 필터의 사용유무에 따른 트렐리스 디코더에 대한 구성도,
도 7은 본 발명에 따른 생존 경로 저장 및 역추적을 수행하는 생존자 메모리 장치에 대한 구성도,
도 8은 도 7를 적용하여 GA HDTV 트렐리스 디코더에서의 생존자 메모리 장치에 대한 실시 블럭도,
도 9는 도 8의 지연 레지스터부에 대한 세부 회로도,
도 10은 도 9의 동작을 설명하기 위한 여러 가지 제어 신호들에 대한 타이밍도,
도 11은 도 9의 동작을 설명하기 위한 지연 레지스터부의 입력, 저장, 출력에 대한 상태도,
도 12는 도 8의 역추적 프로세서에 대한 블록도,
도 13은 도 12의 제 1 연산부의 프로세싱 엘리먼트에 대한 세부 회로도,
도 14는 도 12의 제 2 연산부의 프로세싱 엘리먼트에 대한 세부 회로도이다.
* 도면의 주요부분에 대한 부호의 설명 *
70 : 데이터 지연 처리부 74 : 역추적 프로세서
80-1 : 제 1a 레지스터 82-1 : 제 1b 레지스터
80-2∼80-15 : 제 2a∼15a 레지스터부 82-2∼82-14 : 제 2b∼14b 레지스터부
90-1∼90-12 : 16비트 D플립플롭(레지스터) 92-1∼92-12 : 2입력 멀티플렉서
120 : 제 1 연산부 120-1∼120-15 : 프로세싱 엘리먼트
122 : 제 2 연산부 122-1∼122-10 : 프로세싱 엘리먼트
124 : 모드 선택부 130-1,-4,140-1,-4 : 16 입력 멀티플렉서
130-2,-5,140-2,-5 : 4비트 메모리 130-3,140-3 : 이전 스테이트 계산부
130-6, 140-6 : 2비트 메모리
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 자세히 설명하고자 한다.
우선, GA HDTV 송신기에서의 도 4와 같은 트렐리스 부호 인터리버를 통해 출력되는 부호 스트림을 세그먼트단위로 살펴보면 다음 표 1과 같이 나타낼 수 있다.
[표 1]
세그먼트 그룹 1 그룹 2 그룹 69
#1 d1,d2, d3 … d12 d1,d2, d3 … d12 d1,d2, d3 … d12
#2 d5,d6, d7 … d4 d5,d6, d7 … d4 d5,d6, d7 … d4
#3 d9,d10,d11… d8 d9,d10,d11… d8 d9,d10,d11… d8
상기 표 1에서 각 그룹은 12 심볼 인트라세그먼트 인터리빙처리되므로 12심볼단위로 구분한 것이며, 각 데이터에 붙은 인덱스는 도 4의 트렐리스 부호 블록의 인덱스와 동일하다. 즉, d1 은 제 1 트렐리스 부호블록(E1)으로부터 출력된 데이터이고, d2는 제 2 트렐리스 부호블록(E2)로부터 출력된 데이터이다. 트렐리스 부호블록의 출력 데이터 스트림은 3 세그먼트 주기로 반복되어진다. 예를 들어, 제 1 세그먼트는 제 1 트렐리스 부호블록(E1)로부터 출력된 데이터 d1를 시작으로하여 d2,d3,d4,… 순서대로 출력되고, 제 2 세그먼트는 제 5 트렐리스 부호블록(E5)으로부터 출력된 데이터 d5부터 d6, d7, d8, … 순서로 출력되고, 제 3 세그먼트는 제 9트렐리스 부호블록(E9)으로부터 출력된 데이터 d9, d10, d12, d1, … 순서로 출력된다. 이것은 세그먼트 동기신호(Segment Sync) 4심볼이 입력되는 동안에도 인터리버의 스위치가 동작하고 있기 때문이다. 따라서, 표 1에 보인 데이터 스트림은 인덱스가 일치하는 도 5의 트렐리스 디코더(Di)로 입력되어야만 한다. 즉, d1은 제 1 트렐리스 디코더(D1)에 유효한 데이터이고, d2는 제 2 트렐리스 디코더(D2)에 유효한 데이터이며, d3는 제 3 트렐리스 디코더(D3)에 유효한 데이터이다.
종래의 GA HDTV 수신기에서는 도 1과 같은 구성을 갖는 트렐리스 디코더 12개를 사용하여 도 5와 같이 12 심볼 인트라세그먼트 디인터리빙을 수행하였기 때문에 12 심볼마다 하나의 디코더만 동작하고, 나머지 11개의 디코더는 동작하지 않는다. 즉, 수신기에서 사용되는 12개의 복호기는 매 입력시마다 동시에 동작하지 않으므로 1개의 디코더를 12 심볼 단위로 시분할하여 공유할 수 있음을 의미한다. 이를 실현하기 위한 본 발명의 생존자 메모리 장치에 대한 블록도를 도 7에 도시하였다.
도 7은 본 발명에 따른 생존 경로 저장 및 역추적을 수행하는 생존자 메모리 장치에 대한 구성도로서, 본 발명은 데이터 지연 처리부(70)와, 역추적 프로세서(74)로 구성되어 있다. 상기 데이터 지연 처리부(70)는 가산 비교 선택부(ACS)로부터 각 스테이트에서 살아남은 생존 경로의 결정 벡터(DVi)를 입력받아 저장함과 동시에, 소정 클럭 지연 후 저장된 결정 벡터중 동일한 인덱스(i)를 갖는 결정 벡터들(DVi)을 동시에 출력한다. 여기서, i는 인트라세그먼트 인터리빙된 데이터(di)을 구분하는 인덱스와 동일한 값이다. 상기 역추적 프로세서(74)는 상기 데이터 지연 처리부(70)로부터 제공된 결정 벡터들(DVi)을 이용하여 최적응답 역추적 알고리즘 혹은 부분응답 역추적 알고리즘을 수행함과 동시에, 모드 선택 신호(MODE_SEL)에 따라 최적응답 복원 심볼 혹은 부분응답 복원 심볼을 선택적으로 출력한다.
본 명세서에서는 본 발명을 GA HDTV 수신기의 트렐리스 디코더에 적용하여 그 실시예를 설명하였다. 본 발명에 따라 GA HDTV 트렐리스 디코더에서의 생존 자 메모리 장치에 대한 구성 및 동작을 첨부된 도면을 참조하여 자세히 설명하고자 한다.
우선, 트렐리스 디코더의 생존자 메모리부(SMU)는 역추적 알고리즘(traceback algorithm)에 의해 하나의 최적 경로를 찾아낸 후, 최우복호된 심볼(maximum likelihood decoded symbol)을 출력으로 내보낸다. 즉, 상기 생존자 메모리부(SMU)에서는 가산 선택 비교부(ACS)로부터 제공된 결정 벡터와 현재 스테이트를 이용하여 이전 스테이트를 계속해서 구하여 디코딩 깊이(decoding depth) 만큼 진행시킨 후, 최종 디코딩된 심볼 비트(X1X0)를 출력하는 것이다. 여기서, 생존자 메모리 장치는 '상태수×디코딩 깊이' 만큼의 생존자 경로의 결정 벡터를 유지해야하는 데, 실제 필요한 레지스터양을 구체적으로 살펴보면 다음과 같다.
GA 16 VSB 모드 : 부분응답 채널로 수신되어 16 스테이트 모드일 경우에는 각 스테이트로부터 제공된 결정 벡터(DV = X1,S'0) 2비트씩을 저장하는 레지스터가 디코딩 깊이(decodign depth)에 해당하는 개수만큼 필요하다. 또한, 인코딩시 12심볼 인트라세그먼트 인터리빙을 수행하였기 하였기 때문에 디코딩시에도 12심볼 단위로 처리해야하므로 12심볼씩 지연시켜야 한다. 따라서, 16 스테이트 모드에서 디코딩 깊이가 15라면, 데이터 지연을 위한 레지스터 양은 16×2×15×12 = 5760(bits) 개가 필요하다.
GA 8 VSB 모드 : 가우시안 채널로 수신되어 8 스테이트 모드일 경우에는 각 스테이트로부터 제공된 결정 벡터( DV = X1,X0) 2비트씩을 저장하는 레지스터가 디코딩 깊이에 해당하는 개수만큼 필요하다. 또한, 인코딩시 12심볼 인트라세그먼트 인터리빙을 수행하였기 하였기 때문에 디코딩시에도 12심볼 단위로 처리해야하므로 12심볼씩 지연시켜야 한다. 따라서, 8스테이트에서 디코딩 깊이가 10이라면, 데이터 지연을 위한 레지스터 양은 8×2×10×12= 1920(bits)개가 필요하다.
그런데, 역추적 알고리즘 특성상 마지막 깊이에 해당하는 12심볼 지연 레지스터는 12개 심볼 중의 하나의 심볼에 대한 비트만 유지하면 된다. 또한, 16스테이트 모드인 경우 이전 스테이트를 찾아가는 역추적 알고리즘에서 S'0은 가장 마지막 단계에서는 필요가 없다. 왜냐하면 디코딩 깊이 단계까지 역추적된 최종 복원 심볼 X1,X0을 구할 때 쓰이는 S'0은 디코딩 깊이-1 단계에서 계산된 이전 상태(S'3,S'2,S'1,S'0)의 S'0과 같기 때문에 저장하지 않아도 된다.
상기에 기술한 조건을 고려하면, 필요한 총 레지스터수는 16스테이트 모드를 기준으로 하여 결정 벡터의 X1 비트 저장을 위해서는 16×14(depth-1)×12+16 = 2704(bits), 결정 벡터의 S'0 비트 저장을 위해서는 16×13(depth-2)×12+16 = 2512(bits) 만으로 충분하다. 이렇게 해서 총 레지스터 수는 5216(bits)개가 된다. 그리고, 8스테이트 모드일 경우에는 8×2×9(depth-1)×12+8×2 = 1744(bits)개가 필요하다.
따라서, 실제 하드웨어는 5216개의 레지스터로 구현 하여 16스테이트 모드에 대한 디코딩을 수행하고, 이중에서 1744개만 사용하여 8스테이트 모드에 대한 디코딩을 수행하면 되는 것이다.
상기에서 설명한 본 발명을 적용한 GA HDTV 트렐리스 디코더의 생존자 메모리 장치를 도 8에 도시하였다. 도 8에서 보는 바와 같이, 데이터 지연 처리부(70)는 가산 선택 비교부(ACS)로부터 각 스테이트에서 최종 결정된 결정 벡터(DV=X1,X0)중 X1 비트를 유지하는 레지스터 그룹(80-1∼80-15)과, X0 비트를 유지하는 레지스터 그룹(82-1∼82-14)로 구성되어 있다. 상기 X1 레지스터 그룹은 X1을 1클럭 지연시켜 출력하는 제 1a레지스터(80-1)와, X1을 12클럭 지연시켜 출력하는 제 2a 내지 15a 레지스터부(80-2∼80-15)가 직렬로 연결되어 있다. 상기 X0 레지스터 그룹은 X0 을 1클럭 지연시켜 출력하는 제 1b 레지스터(82-1)와, X0을 12클럭 지연시켜 출력하는 제 2b 내지 14b 레지스터부(82-2∼82-14)가 직렬로 연결되어 있다. 각 레지스터부로부터 동시에 출력되는 데이터들은 상기 역추적 프로세서(74)로 제공됨과 동시에 다음단의 레지스터로 입력된다.
상기 역추적 프로세서(74)로 병렬 출력된 결정 벡터들은 인코딩시 12개의 트렐리스 부호 블록중 동일한 부호 블록으로부터 출력된 데이터들에 대한 결정 벡터들이어야 한다. 이를 고려하여, 12 심볼 지연 레지스터부(80-2∼80-15,82-2∼82-14)는 세그먼트 동기 신호(segment sync)의 영향을 제거해주어야만 한다. 그 이유는 세그먼트 동기 신호가 입력되는 4클럭 동안 인트라세그먼트 인터리버는 스위칭을 계속진행하나, 트렐리스 디코더는 디스에이블(disable) 상태가 된다. 이러한 조건에 의해 디코더에서 세그먼트 동기 신호가 입력된 직후에 입력된 데이터는 표 1에서 보여준 바와 같이 3세그먼트 주기로 변하게 된다. 예를 들어 세그먼트 #0의 첫번째 데이터 d1(제 1 인코더(E1)로부터 출력)부터 마지막 데이터 d12(제 12 인코더(E12)로부터 출력)까지 전송된 후, 다음 세그먼트 #1의 첫번째 데이터는 d1(제 1 인코더(E1)의 출력)이 아닌 d5(제 5 인코더(E5)의 출력)가 된다. 즉, 입력된 데이터 순서대로 12 심볼씩 시프팅 시키게 되면, 동일한 부호기의 출력 데이터를 얻을 수 없다.
따라서, 12심볼 지연 레지스터부에서는 12클럭마다 동일한 인코더에서 부호화된 데이터(즉, 동일한 인덱스를 갖는 데이터)가 위치하도록 조정해주어야 한다.
도 9는 도 8의 지연 레지스터부(80-2∼80-15,82-2∼82-14)에 대한 세부 회로도로서, 12심볼 클럭 지연 레지스터부는 12개의 레지스터(90-1∼90-12)와, 상기 레지스터의 입출력 데이터를 선택하는 12개의 멀티플렉서(92-1∼92-12)로 구성되어 있다. 상기 12개의 레지스터(90-1∼90-12)는 인에이블 신호(SENA)에 따라 인에이블 상태가 되고 클럭(CLK)에 동기되어 동작하고, 상기 12개의 멀티플렉서(92-1∼92-12)는 배열 제어 신호(ARRAY_CTRL)에 따라 상기 12개의 레지스터(92-1∼92-12)에 저장할 데이터를 선택하여 배열시키는 역할을 한다. 즉, 세그먼트 동기 신호의 영향을 제거하기 위해 세그먼트 동기 신호 4심볼이 모두 입력된 후 다음 1클럭동안에는 매 12클럭 건너서 위치한 레지스터 내용이 동일한 인코더의 데이터(동일한 인덱스)가 되도록 재배열 시켜주는 것이다. 상기 12개의 레지스터들의 입출력 연결 규칙은 하기 수학식 1에 나타내었다.
[수학식 1]
Figure kpo00003
상기 수학식 1에서 IN(k)는 12개의 레지스터중 k번째 레지스터의 입력 핀이고, OUT(k)는 k번째 레지스터의 출력 핀이다. (i)정상 동작할 경우에는 입력되는 순서대로 오른쪽 시프팅하여 저장하고, (ii)세그먼트 동기 신호의 영향을 제거할 경우 즉, 세그먼트 동기 신호가 모두 입력된 후 1클럭 동안만 레지스터에 저장된 데이터 순서를 바꿔주고, 그 외 클럭에서는 (i)과 같이 정상 동작하는 것이다.
상기 배열 제어 신호(ARRAY_CTRL)는 (i)의 경우와 (ii)의 경우를 구분해주는 제어 신호이며, 세그먼트 심볼의 개수(832)를 카운팅하는 10비트 카운터와 논리 소자를 이용하여 발생한다. 따라서, 도 9에서 보는 바와 같이, 상기 배열 선택 신호(ARRAY_CTRL)에 따라 (i)경우에서 12개 레지스터(90-1∼90-12)의 입출력은 IN(1) -- OUT(0), IN(2) -- OUT(1), IN(3) -- OUT(2), IN(4) -- OUT(3), IN(5) -- OUT(4), IN(6) -- OUT(5), IN(7) -- OUT(6), IN(8) -- OUT(7), IN(9) -- OUT(8), IN(10) -- OUT(9), IN(11) -- OUT(10), IN(12) -- OUT(11), (ii)경우에서 12개 레지스터(90-1∼90-12)의 입출력은 IN(1) -- OUT(8), IN(2) -- OUT(9), IN(3) -- OUT(10), IN(4) -- OUT(11), IN(5) -- OUT(0), IN(6) -- OUT(1), IN(7) -- OUT(2), IN(8) -- OUT(3), IN(9) -- OUT(4), IN(10) -- OUT(5), IN(11) -- OUT(6), IN(12) -- OUT(7) 과 같이 연결된다.
이어서, 상기 도 9의 동작을 도 10과 도 11을 통해 자세히 설명하고자 한다. 도 10 은 데이터 지연 처리를 위한 여러가지 제어 신호를 도시한 타이밍도이고, 도 11은 12 심볼 지연 레지스터 입출력 상태도를 도시한 도면이다. 도 10과 도 11에서 결정 벡터 DVi 들이 입력 되는 순서는 상기 표 1에 나타낸 데이터 di 순서와 같으므로 동일한 인덱스를 사용하여 나타내었다.
도 10를 참조하면, CNT(832)는 매 세그먼트가 시작 될때 카운팅을 시작하여 단위 세그먼트 길이 832 심볼을 카운팅한 수를 나타냈고, DATA_IN은 가산 비교 선택부(ACS)로부터 제공된 결정 벡터 스트림(DVi)이다. 각 세그먼트가 처음 시작되는 4클럭 CNT(0)∼CNT(3)동안은 세그먼트 동기 신호(segment sync)가 입력되는 클럭이고, 나머지 828 클럭 CNT(4)∼CNT(831)동안은 세그먼트의 결정 벡터(DVi)가 입력되는 클럭에 해당한다. SENA 신호는 생존자 메모리부(SMU)를 인에이블 시키는 신호로서, 액티브 하이 제어 신호이며, 각 세그먼트의 두번째 결정 벡터가 입력되는 클럭 CNT(5) 부터 다음 세그먼트의 첫번째 동기 신호가 입력되는 클럭 CNT(0) 까지는 '하이' 상태이고, 그 외 나머지 클럭에서는 '로우' 상태이다. 상기 배열 제어 신호(ARRAY_CTRL)는 필드의 제 1 세그먼트(#1)(필드 동기 신호를 실은 제 0 세그먼트(#0)를 제외한 실제 코딩된 유효한 데이터를 실은 첫번째 세그먼트) 및, 다음 세그먼트의 첫번째 결정 벡터가 입력 됐을 때까지는 '0'값을 유지하다가 매 세그먼트의 두번째 결정 벡터가 입력 되는 1클럭 CNT(5) 동안만 '1'값이고, 그외 나머지 클럭에서는 '0'값을 갖는다.
도 11을 참조하면, 1심볼 레지스터는 도 8의 데이터 지연 처리부(70)의 제 1a,1b 레지스터(80-1,82-1)에 해당하고, 12 심볼 레지스터는 제 2a,2b 레지스터부(80-2,82-2)의 레지스터에 해당한다. 도 10의 타이밍도를 적용하여 입력된 결정 벡터 스트림(DATA_IN)이 상기 레지스터에 입력, 저장, 출력되는 상태를 도시하였다.
① 세그먼트 #1 이 입력 되는 기간 : 처음 제 1 세그먼트(#1)의 유효한 데이터에 대한 결정 벡터중 첫번째 결정 벡터(DV1)가 입력해 들어오는 클럭 CNT(4)클럭까지는 상기 SENA 신호는 '로우'값을 유지하고, 이에 따라 레지스터는 디스에이블(disable)상태에 놓여 있다. 이후, 두번째 결정 벡터(DV2)가 입력되는 클럭 CNT(5)에서 상기 SENA 신호는 '하이'값으로 천이되어 다음 제 2 세그먼트(#2)의 첫번째 세그먼트 동기 신호(SYNC1)가 입력되는 클럭 CNT(0)까지 '하이'값을 유지하여 상기 레지스터를 인에이블 시킨다.
이제, 상기 1심볼 및 12 심볼 레지스터부에서는 상기 SENA 신호와 상기 '0'배열 제어 신호(ARRAY_CTRL)에 따라 CNT(5) 부터 CNT(0)까지 제 1 세그먼트(#1) 의 결정 벡터 스트림을 입력되어 들어오는 순서대로 차례로 시프팅하여 저장한다. 이때 12 심볼 레지스터부의 입출력 규칙은 상기 수학식 1의 (i)정상 동작 ; IN(k+1)-- OUT(k))을 따른다. 예를 들어, CNT(831)클럭에서 입력되어 들어온 제 1 세그먼트(#1)의 마지막 데이터 DV12 는 다음 CNT(0)의 클럭에 동기되어 1심볼 레지스터에 저장되며, 12심볼 레지스터의 상태는( DV11,DV10,DV9,DV8,DV7,DV6,DV5, DV4,DV3,DV2,DV1,DV11,DV12 )이다. 이때의 1심볼 레지스터와 12심볼 레지스터로부터 병렬 출력되는 데이터는 11번째 결정 벡터 DV11이다.
② 세그먼트 #2 가 입력되는 기간 : 제 2 세그먼트(#2)의 두번째 세그먼트 동기 신호(SYNC2)가 입력되는 CNT(1)클럭에서 상기 SENA 신호는 '로우'값으로 천이하여 다음 유효한 데이터에 대한 결정 벡터중 첫번째 결정 벡터(DV5)가 입력해 들어 오는 클럭 CNT(4)까지 '로우'를 유지하고, 이에 따라 레지스터는 디스에이블(disable)상태가 되어 레지스터 내용을 그대로 유지하고 있다. 이후, 두번째 결정 벡터(DV6)가 입력되는 클럭 CNT(5)에서, 상기 SENA신호는 '하이'값으로 천이되어 다음 제 3 세그먼트(#3)의 첫번째 세그먼트 동기 신호(SYNC1)가 입력되는 클럭 CNT(0)까지 '하이'값을 유지하여 상기 레지스터를 인에이블 시킨다.
상기 배열 제어 신호(ARRAY_CTRL)는 '0'값을 유지하고 있다가 제 2 세그먼트(#2) 의 두번째 결정 벡터(DV6)가 입력되는 클럭 CNT(6) 에서만 '1'값으로 천이하여 레지스터 입출력 순서를 바꾸어 준다.
상기 SENA 신호와 상기 배열 제어 신호(ARRAY_CTRL)에 따라 제 2 세그먼트의 유효한 결정 벡터 스트림이 레지스터에 저장되는 데 있어서, 첫번째 결정 벡터 DV5 가 입력되는 클럭 CNT(4)에서는 레지스터는 디스에이블 상태에 있다가, 두번째 결정 벡터 DV6 가 입력 되는 클럭 CNT(5)에서 인에이블 상태가 된다.
따라서, 클럭 CNT(5)에 동기 되어 첫번째 결정 벡터 DV5가 1심볼 레지스터에 저장된다. 이때, 상기 12 심볼 레지스터부에서는 상기 '1'배열 제어 신호(ARRAY_CTRL) 에 따라 레지스터의 내용을 재배열 시킨다. 12 심볼 레지스터의 입출력 순서는 상기 수학식 1의 (ii) 규칙을 따른다. (IN(k+1)--OUT(k+(12-4)%12)). 이렇게 하면, 클럭 CNT(5)에서 12심볼 레지스터의 상태는( DV4,DV3,DV2,DV1,DV12, DV11,DV10,DV9,DV8,DV7,DV6,DV5 ) 이 되며, 이때의 1심볼 레지스터와 12심볼 레지스터의 출력 데이터는 12번째 결정 벡터 DV12 들이 병렬 출력된다.
계속해서, 클럭 CNT(6) 일때 동작을 살펴보면, 두번째 결정 벡터 DV6 가 CNT(6)의 클럭에 동기되어 1심볼 레지스터에 저장되고, 상기 '0'배열 제어 신호(ARRAY_CTRL)에 따라 12 심볼 레지스터의 입출력 순서는 수학식 1의 (i)를 적용하여 순서대로 오른쪽으로 시프팅하여 ( DV5,DV4,DV3,DV2,DV1,DV12,DV11,DV10,DV9, DV8,DV7,DV6 )으로 저장되며, 이때의 1심볼 레지스터와 12심볼 레지스터의 출력 데이터는 5번째 결정 벡터DV5들이 병렬로 출력된다.
지금까지 설명한 바와 같이, 세그먼트의 동기 신호(SYNC1∼SYNC4)가 모두 입력된 후, 다음 1클럭동안 이미 저장된 레지스터의 입출력 순서를 바꿔주므로써 12 클럭 마다 자신과 관련된 데이터를 위치시켰다. 따라서, 매 클럭마다 각 레지스터부의 마지막 출력단에서는 동일한 인덱스(i)를 갖는 결정 벡터(DVi)를 병렬로 출력하여 상기 역추적 프로세서(74)로 제공할수 있게 되었다.
도 12는 도 8의 역추적 프로세서에 대한 블록도로서, 역추적 프로세서(74)는 제 1 연산부(120)와, 제 2 연산부(122) 및, 모드 선택부(124)로 구성되어 있다. 상기 제 1 연산부(120)는 부분 응답 채널용 수신 심볼을 디코딩 깊이까지 역추적 하여 부분응답 복원 심볼을 계산하는 다수개의 프로세싱 엘리먼트(120-1∼120-15)로 구성되어 있다. 상기 제 2 연산부(122)는 최적 채널용 수신 심볼을 디코딩 깊이까지 역추적하여 최적응답 복원 심볼을 계산하는 다수개의 프로세싱 엘리먼트(122-1∼122-10)로 구성되어 있다. 상기 모드 선택부(124)는 모드 선택 신호(MODE_SEL)에 따라 상기 부분응답 복원 심볼 혹은 상기 최적응답 복원 심볼을 선택하여 모드에 따른 복원 심볼을 출력한다. 여기서, 상기 모드 선택 신호(MODE_SEL)는 부분응답 채널 수신 모드 인지 최적 채널 수신 모드 인지를 알려주는 제어 신호이다.
상기 제 1 연산부(120)에서는 부분응답 채널 수신된 심볼(16스테이트 모드)을 디코딩 깊이 15로 역추적하였으며, 15개의 각 프로세싱 엘리먼트(120-1∼120-15)에서는 상기 데이터 지연 처리부(70)의 레지스터부(80-1∼80-15, 82-1∼82-14))로부터 병렬 출력된 결정 벡터(X1(12k),X0(12k))를 각각 입력받아 이전 스테이트(S(t-(k+1))를 계산하여 다음단에 연결된 프로세싱 엘리먼트로 제공하여 마지막 프로세싱 엘리먼트(120-15)를 통해 최종 디코딩 된 심볼 X1(t-15)X0(t-15)을 출력한다. 이때, 16스테이트 모드에서의 역추적 알고리즘에서의 이전 상태를 구하는 식은 하기 수학식 2와 같이, 현재 스테이트(S3,S2,S1,S0)와 입력된 결정 벡터(X1,S'0)의 논리 조합으로 이전 스테이트(S'3,S'2,S'1,S'0)가 결정된다.
[수학식 2]
Figure kpo00004
상기 제 2 연산부(122)에서는 최적 응답 채널 수신된 심볼(8스테이트 모드)을 디코딩 깊이 10으로 역추적하였으며, 10개의 각 프로세싱 엘리먼트(122-1∼122-10)에서는 상기 데이터 지연 처리부(70)의 레지스터부(80-1∼80-10,82-1∼82-10)로부터 출력된 결정 벡터(X1(12k),X0(12k))를 각각 입력 받아 이전 스테이트(S(t-(k+1))를 계산하여 다음단에 연결된 프로세싱 엘리먼트로 제공하여 마지막 프로세싱 엘리먼트(122-10)를 통해 최종 디코딩 된 심볼 X1(t-10)X0(t-10)을 출력한다. 이때, 8스테이트 모드에서의 역추적 알고리즘에서의 이전 스테이트를 구하는 식은 하기 수학식 3과 같이, 현재 스테이트(S2,S1,S0)와 입력된 결정 벡터 (X1,X0)의 논리 조합으로 이전 상태(S'2,S'1,S'0)가 결정된다.
[수학식 3]
Figure kpo00005
이어서, 도 13, 도14를 통해 상기 수학식 2와 상기 수학식 3을 만족시키는 프로세싱 엘리먼트(PE: processing element)의 구조를 설명하면 다음과 같다. 도 13은 도 12의 제 1 연산부(120)의 프로세싱 엘리먼트에 대한 세부 회로도이고, 도 14는 도 12의 제 2 연산부(122)의 프로세싱 엘리먼트에 대한 세부 회로도이다.
도 13a 는 제 1 연산부(120)의 제 1 내지 제 14 프로세싱 엘리먼트(120-1∼120-14)를 도시하였고, 도 13b 는 제 15 프로세싱 엘리먼트(120-15)를 도시하였다.
도 13a를 참조하면, 프로로세싱 엘리먼트(PE)는 현재 스테이트(S3,S2,S1,S0)를 저장하는 4비트 메모리(130-2)와, 상기 4비트 메모리(130-2)의 현재 스테이트를 제어 신호로 제공받아 상기 지연 처리부로부터 출력된 16개의 결정 벡터(X1,X0(=S'0))중 하나를 선택하는 16 입력 멀티플렉서(130-1) 및, 상기 4비트 메모리(130-2)의 현재 스테이트(S3,S2,S1,S0)와 상기 멀티플렉서(130-1)를 통해 선택된 결정 벡터(X1,S'0)를 이용하여 상기 수학식 2와 같이 (S'3,S'2,S'1,S'0) = (S3
Figure kpo00006
X1, S1
Figure kpo00007
S0, S2, S'0) 계산된 이전 스테이트(S'3,S'2,S'1,S'0)를 출력하는 이전 스테이트 계산부(130-3)로 구성되어 있다. 즉, 이전 스테이트 S'3비트는 현재 스테이트 S3와 결정 벡터 X1의 배타논리합 연산한 값이고, S'2비트는 S1과 S0의 배타논리합 연산한 값이고, S'1비트는 현재 스테이트 S2비트와 동일하고, S'0비트는 결정 벡터 X0(=S'0)와 동일하다. 제 1 내지 제 14 프로세싱 엘리먼트(120-1∼120-15)의 구조는 상기 도 13a의 구조와 완전히 동일하다. 다만, 역추적 알고리즘에 의해 처음에 어느 스테이트에서 역추적을 시작하느냐에 상관없이 디코딩 깊이까지 진행하면, 하나의 스테이트로 수렴하게 되므로 처음에 역추적을 시작하는 스테이트는 어느 스테이트이건 상관이 없다. 따라서, 여기 제 1 프로세싱 엘리먼트(120-1)의 4비트 메모리(130-2)에다가 시작 스테이트를 0으로 지정해 놓았다.
상기 제 1 프로세싱 엘리먼트(120-1)에서는 상기 제 1a, 1b 레지스터(80-1,82-1)로부터 출력된 16개의 결정 벡터 X1(0),S'0(0)(16×2비트) 중에서 시작 스테이트0에 해당하는 2 비트를 선택하여, 상기 수학식 2와 같이 이전 스테이트(S'3(t-1),S'2(t-1),S'1(t-1),S'0(t-1))를 구하여 제 2 프로세싱 엘리먼트(120-2)로 제공한다. 상기 제 2 프로세싱 엘리먼트(120-2)에서는 제 1 프로세싱 엘리먼트(120-1)로부터 제공된 이전 스테이트를 4비트 메모리에 저장하고, 상기 제 2a,2b 레지스터부(80-2,82-2)로부터 출력된 16개의 결정 벡터 X1(12),S'0(12)(16×2비트)중에서 상기 4비트 메모리의 스테이트에 해당하는 2비트를 선택하여 상기 수학식 2와 같이 이전 스테이트를 구하여 제 3 프로세싱 엘리먼트(120-3)로 제공한다. 이와 같이, 각 프로세싱 엘리먼트(PE)에서는 현재 스테이트에 해당하는 결정 벡터를 선택하여 이전 스테이트를 구한 다음, 그 이전 스테이트가 다음 단 프로세싱 엘리먼트의 현재 스테이트로 제공되며, 다음 프로세싱 엘리먼트 역시 동일한 동작을 하여 디코딩 깊이 만큼 진행한다. 결국, 마지막 프로세싱 엘리먼트에서는 복원 심볼 X1,X0 을 내보낸다.
이제, 마지막 프로세싱 엘리먼트의 구조 살펴보면, 도 13b에서 보는 바와 같이 제 15 프로세싱 엘리먼트(120-15)는 현재 스테이트(S3,S2,S1,S0)를 저장하는 4비트 메모리(130-5)와, 상기 4비트 메모리(130-2)의 현재 스테이트를 제어 신호로 제공받아 상기 데이터 지연 처리부로부터 출력된 16개의 결정 벡터(X1,X0=S'0)중 하나를 선택하는 16 입력 멀티플렉서(130-4) 및, 상기 4비트 메모리(130-5)의 현재 스테이트의 최하위 비트 S0와 상기 멀티플렉서(130-4)를 통해 선택된 결정 벡터 X1비트를 저장하는 2비트 메모리(130-6)로 구성되어 있다. 제 15 프로세싱 엘리먼트(120-15)는 제 14 프로세싱 엘리먼트(120-14)로부터 출력된 이전 스테이트(S'3(t-14),S'2(t-14),S'1(t-14),S'0(t-14))를 제공받아 상기 4비트 메모리(130-5)에 저장하고, 상기 제 15a 레지스터부(80-5)로부터 출력된 16개의 결정 벡터(X1(168): 16비트)중에서 상기 4비트 메모리(130-5)의 스테이트에 해당하는 결정 벡터 하나를 선택한다. 이때, 선택된 비트 X1, 상기 4비트 메모리의 마지막 비트 S0(=X0)가 바로 최종 복원된 심볼 X1(t-15),X0(t-15) 에 해당한다. 즉, 제 1 연산부의 프로세싱 엘리먼트를 통해 16스테이트 모드일 경우 디코딩 깊이 15로 이전 스테이트를 역추적하여 복원 심볼 X1,X0을 구하는 것이다.
이어서, 8스테이트 모드를 역추적하는 제 2 연산부의 프로세싱 엘리먼트의 구조를 살펴보면 다음과 같다.
도 14a 는 제 2 연산부(122)의 제 1 내지 제 9 프로세싱 엘리먼트(122-1∼122-9)를 도시하였고, 도 14b 는 제 10 프로세싱 엘리먼트(122-105)를 도시하였다.
도 14a의 프로세싱 엘리먼트는 4비트 메모리(140-2)와 16입력 멀티플렉서(140-1), 및 이전 스테이트 계산부(140-3)로 구성되어 있으며, 도 13a의 프로세싱 엘리먼트와 비교하여 동일한 구성요소는 동일한 역할을 하도록 하였다.
다만, 8스테이트 모드는 각 스테이트는 3비트로 구성되므로, 스테이트를 저장하는 4비트 메모리의 최상위 S3비트는 '0'으로 고정되어 있으며, 이전 스테이트 계산부에서는 상기 수학식 3와 같이 (S'2,S'1,S'0) = (S2
Figure kpo00008
X1, X0
Figure kpo00009
S0, S1) 계산된 이전 스테이트(S'2,S'1,S'0)를 출력하여 다음 프로세싱 엘리먼트로 제공한다. 즉, 이전 스테이트 S'2비트는 현재 스테이트 S2와 결정 벡터 X1의 배타논리합 연산한 값이고, S'1비트는 X0과 S0의 배타논리합 연산한 값이고, S'0비트는 현재 스테이트 S1비트와 동일하다. 제 1내지 제 9 프로세싱 엘리먼트(122-1∼122-9)의 구조는 상기 도 14a의 구조와 완전히 동일하다. 역추적의 시작 스테이트는 어느 것이든지 상관없으므로 제 1 프로세싱 엘리먼트(122-1)의 4비트 메모리(140-2)에는 기설정된 시작 스테이트(0)가 저장되어 있다. 상기 제 1 프로세싱 엘리먼트(122-1)에서는 상기 제 1a, 1b 레지스터(80-1,82-1)로부터 출력된 8개의 결정 벡터 X1(0),X0(0)(8×2비트)중에서 시작 스테이트0에 해당하는 2 비트를 선택하여, 상기 수학식 3와 같이 이전 스테이트(S'2(t-1),S'1(t-1),S'0(t-1))를 구하여 제 2 프로세싱 엘리먼트(122-2)로 제공한다. 상기 제 2 프로세싱 엘리먼트(122-2)에서는 상기 제 2a,2b 레지스터부(80-2,82-2)로부터 출력된 8개의 결정 벡터 X1(12),X0(12)(8×2비트)중에서 상기 제 1 프로세싱 엘리먼트(122-1)로부터 제공된 스테이트에 해당하는 결정 벡터 2비트를 선택하여 상기 수학식 3와 같이 이전 스테이트를 구하여 제 3 프로세싱 엘리먼트(122-3)로 제공한다. 이와 같이, 이전 스테이트를 디코딩 깊이 만큼 진행하여 결국, 마지막 프로세싱 엘리먼트에서는 복원 심볼 X1,X0 을 내보낸다.
이제, 마지막 프로세싱 엘리먼트의 구조는 도 14b에 도시한 바와 같이, 제 10 프로세싱 엘리먼트(122-10)는 제 9 프로세싱 엘리먼트(122-9)로부터 출력된 이전 스테이트(S'2(t-9),S'1(t-9),S'0(t-9)를 제공받아 상기 4비트 메모리(140-5)에 저장하고, 상기 제 10a, 10b 레지스터부(80-10,82-10)로부터 출력된 8개의 결정 벡터(X1(108),X0(108): 8×2비트)중에서 상기 4비트 메모리(130-5)의 스테이트에 해당하는 결정 벡터 하나를 선택한다. 이때, 선택된 비트 X1,X0가 바로 최종 복원된 심볼 X1(t-10),X0(t-10) 에 해당한다. 즉, 제 2 연산부의 프로세싱 엘리먼트를 통해 8스테이트 모드일 경우 디코딩 깊이=10로 이전 스테이트를 역추적하여 복원 심볼 X1,X0을 구하는 것이다.
상기와 같은 TCM 디코더의 생존 메모리 장치에서는 한 클럭에 한 단계의 역추적 만을 진행하는 것이 아니라, 디코딩 깊이 만큼의 데이터가 모인 후에 한 클럭동안에 디코딩 깊이 만큼의 역추적을 진행하여 출력하게 하였다. 즉, 클럭당 계산량을 늘려 메모리와 제어로직 및 커넥션 면적을 줄이도록 하였다. 따라서, 16스테이트 모드인 경우 계산량은 14개의 이전 스테이트를 상기 수학식 4와 같이 계산해야 하고, 또한, 그 스테이트에 해당하는 X1,S'0을 14번 찾아내야 한다. 그리고, 8스테이트 모드인 경우 계산량은 스테이트 계산 및 X1,X0의 추출을 각각 9번씩 하면 된다. 이렇게 하면, 면적이 약 반절정도 줄어들 뿐만 아니라 생존 메모리부를 통하여 데이터 출력이 나가는 시간도 거의 반절정도 줄어든다. 이때, 선행적으로 해결해야할 문제는 1 클럭동안에 디코딩 깊이 만큼 진행하여 계산을 할 수 있느냐 하는 것인데, 시뮬레이션 결과 1 클럭동안 모든 계산이 수행됨을 확인하였다.
본 명세서에서는 본 발명을 특정한 실시예들과 관련하여서만 설명하였으나, 당업자들은 다음의 청구항들에서 정의된 발명의 의도와 범위를 벗어나지 않는 한도내에서 다양하게 수정할 수 있을 것이다.
이상에서 살펴본 바와 같이, 본 발명의 생존자 메모리 장치는 결정 벡터를 유지하는 데이터 지연 레지스터를 공유하므로써, 부분응답 채널용 16스테이트 모드의 생존 메모리 구조를 갖으면서도 가우시안 채널용 8 스테이트 모드와 부분 응답 16 스테이트 모드를 동시에 지원하는 효과가 있다. 또한, 8스테이트 모드와 16 스테이트 모드를 모두 수용하는 단일 칩으로 설계되어서, 종전의 디코더에서 필요한 12개의 생존자 메모리 장치 대신 1개를 시분할 하여 공유할 수 있는 효과가 있다. 또한, 역추적 알고리즘에 필요한 결정 벡터를 동시에 병렬 출력하여 클럭당 계산량을 늘려 메모리와 논리 소자 및 배선 영역을 감소시킬 수 있으므로, 결국 디코더 면적 및 디코딩 처리 시간을 최소화 하는 효과가 있다.

Claims (19)

  1. M개의 트렐리스 인코더를 통해 M심볼 인트라세그먼트 인터리빙처리되어 트렐리스 부호된 신호 스트림 di ( 1≤i≤M : 제 i 트렐리스 인코더로부터 출력된 데이터를 구별하기 위한 인덱스)을 가우시안 채널로 수신하여 최적응답 디코딩 깊이까지 역추적하거나 혹은 부분응답 채널로 수신하여 부분응답 디코딩 깊이까지 역추적하여 복호화하는 데 있어서,
    각 스테이트(Sj(t))에서 살아남은 생존 경로의 결정 벡터 스트림(DVi)을 저장하는 단계와;
    상기 저장된 결정 벡터 스트림(DVi)중에서 동일한 인덱스(i)를 갖는 결정 벡터(DVi)를 동시에 출력하는 단계와;
    상기 출력된 결정 벡터들(DVi)과 현재 스테이트(Sj(t))를 이용하여 이전 스테이트(Sj(t-1))를 가우시안 채널용 디코딩 깊이 혹은 부분응답 채널용 디코딩 깊이까지 계산하여 각각의 복원 심볼을 구하는 단계와;
    모드 선택 신호(MODE_SEL)에 따라 상기 최적응답 복원 심볼 혹은 상기 부분응답 복원심볼을 선택적으로 출력하는 단계를 포함하여 구성되는 트렐리스 코드 데이터의 생존 경로 역추적 방법.
  2. 제 1 항에 있어서, 상기 결정 벡터 저장 단계에서 결정 벡터 스트림(DVi)의 저장 순서는, M 심볼 마다 동일한 인덱스(i)를 갖는 데이터(DVi)가 위치 하도록 저장하는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 방법.
  3. 제 2 항에 있어서, 상기 결정 벡터 스트림(DVi)의 입력 순서는 인덱스(i)가
    Figure kpo00010
    (단, seg는 세그먼트당 세그먼트 동기 신호의 심볼 개수) 세그먼트 주기로 반복되는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 방법.
  4. 제 2 항에 있어서, 상기 결정 벡터 스트림( DVi)의 저장 순서는 세그먼트 동기 신호가 입력 된 후, 다음 1 클럭 동안은 M 심볼 마다 동일한 인덱스(i)를 갖도록 데이터를 재배열하는 한편, 그 외 나머지 클럭 동안은 입력되는 순서대로 데이터를 시프팅시켜 순차적으로 저장하는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 방법.
  5. 제 1 항에 있어서, 상기 디코딩 심볼을 구하는 단계에서, 부분 응답 채널로 수신된 16 스테이트 모드인 경우 기 설정된 현재 스테이트(S3,S2,S1,S0)와 제공된 결정 벡터(X1,S'0)를 이용하여 계산되는 이전 스테이트(S'3,S'2,S'1,S'0) 규칙은 (S'3,S'2,S'1,S'0) = (S3
    Figure kpo00011
    X1, S1
    Figure kpo00012
    S0, S2, S'0) 인 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 방법.
  6. 제 1 항에 있어서, 상기 디코딩 심볼을 구하는 단계에서, 최적 응답 채널로 수신된 8 스테이트 모드인 경우 기 설정된 현재 스테이트(S2,S1,S0)와 출력된 결정 벡터(X1,X0)를 이용하여 계산되는 이전 스테이트(S'2,S'1,S'0) 규칙은 (S'2,S'1,S'0) = (S2
    Figure kpo00013
    X1, X0
    Figure kpo00014
    S0, S1) 인 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 방법.
  7. 제 1 항에 있어서, 상기 디코딩 심볼을 구하는 단계에서는 상기 결정 벡터 출력단계로부터 디코딩 깊이 만큼의 모든 데이터가 모인 후, 디코딩 깊이 만큼의 역추적을 동시에 진행하는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 방법.
  8. 제 1 항에 있어서, 상기 모드 선택 신호(MODE_SEL)는 부분 응답 채널용 수신 모드 인지 최적 응답 채널용 수신 모드 인지를 알려주는 제어 신호인 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 방법.
  9. M개의 트렐리스 부호기를 통해 M심볼 인트라세그먼트 인터리빙처리되어 트렐리스 부호된 신호 스트림 di ( 1≤i≤M : 제 i 트렐리스 인코더로부터 출력된 데이터를 구별하기 위한 인덱스)을 가우시안 채널로 수신하여 최적응답 디코딩 깊이(=L)까지 역추적하거나 혹은 부분응답 채널로 수신하여 부분응답 디코딩 깊이(=N)까지 역추적하여 복호화하는 데 있어서,
    각 스테이트 Sj(t)의 생존 경로의 결정 벡터(DVi)를 저장함과 동시에, 저장된 결정 벡터중 동일한 인덱스(i)를 갖는 결정 벡터들(DVi)을 동시에 병렬 출력하는 데이터 지연 처리 수단(70)과;
    상기 데이터 지연 처리 수단(70)로부터 제공된 결정 벡터들(DVi)을 이용하여 최적응답 역추적 혹은 부분응답 역추적을 수행함과 동시에, 모드 선택 신호(MODE_SEL)에 따라 최적응답 복원 심볼 혹은 부분응답 복원 심볼을 선택적으로 출력하는 역추적 프로세서(74)를 포함하여 구성되는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
  10. 제 9 항에 있어서, 상기 데이터 지연 처리수단(70)은 외부의 가산 비교 선택부(ACS)로부터 출력된 결정 벡터(DVi)를 입력 받아 시프팅하여 저장함과 동시에, 매 클럭마다 동일한 인덱스(i)를 갖는 결정 벡터(DVi)들을 병렬로 동시에 출력하는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
  11. 제 10 항에 있어서, 상기 데이터 지연 처리 수단(70)은 다수개의 지연 레지스터가 직렬로 연결되어 있으면서, 각 스테이트에서 최종 결정된 결정 벡터를 입력 받아 소정클럭 지연 후, 상기 역추적 프로세서(74) 및 다음단 지연 레지스터로 출력하는 제 1 지연 레지스터(80-1,82-1)와;
    상기 제 k (1≤k≤N-1인 정수) 지연 레지스터로부터 출력된 결정 벡터를 입력 받아 M 클럭 지연 후, 상기 역추적 프로세서(74) 및 다음단 지연 레지스터로 출력하는 제 k+1 지연 레지스터부(80-2∼80-15, 82-2∼82-14)를 포함하여 구성되는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
  12. 제 11 항에 있어서, 상기 제 2 내지 제 N 지연 레지스터부(80-2∼80-15, 82-2∼82-14)는 결정 벡터를 저장하는 M 개의 레지스터(90-1∼90-12) 및;
    배열 제어 신호(ARRAY_CTRL)에 의해 M번째 레지스터마다 동일한 인덱스(i)를 갖는 데이터가 저장 되도록 입력 데이터를 선택하는 M개의 멀티플렉서(92-1∼92-12)를 포함하여 구성되는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
  13. 제 12 항에 있어서, 상기 M개의 레지스터의 내용을 선택하는 규칙은 세그먼트 동기 신호의 영향을 제거하는 클럭동안은 IN(k+1) -- OUT(k+(M-seg)% M), 정상적인 동작을 하는 나머지 클럭에서는 IN(k+1)-- OUT(k) (단, M개의 레지스터중 k번째 레지스터 입력핀(IN(k)), 출력핀(OUT(k), seg는 세그먼트내의 세그먼트 동기신호 심볼 수) 인 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
  14. 제 12 항에 있어서, 상기 배열 제어 신호(ARRAY_CTRL)는 세그먼트 동기 신호(segment sync)가 모두 입력된 후, 다음 1 클럭 동안만 제 1 레벨을 갖고, 그외 나머지 클럭 동안에는 제 2 레벨을 갖는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치,
  15. 제 9 항에 있어서, 상기 모드 선택 신호(MODE_SEL)는 부분 응답 채널용 수신 모드 인지 최적 응답 채널용 수신 모드 인지를 알려주는 제어 신호인 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
  16. 제 9 항에 있어서, 상기 역추적 프로세서(74)는 부분 응답 채널용 수신 심볼을 디코딩 깊이(N)까지 역추적 하여 부분응답 복원 심볼을 계산하는 다수개의 제 1 내지 제 N 프로세싱 엘리먼트(120-1∼120-15)로 구성된 제 1 연산부(120)와;
    최적 응답 채널용 수신 심볼을 디코딩 깊이(L)까지 역추적하여 최적응답 복원 심볼을 계산하는 다수개의 제 1 내지 제 L 프로세싱 엘리먼트(122-1∼122-15)로 구성된 제 2 연산부(122) 및;
    모드 선택 신호(MODE_SEL)에 따라 상기 부분응답 복원 심볼 혹은 상기 최적 응답 복원 심볼을 선택적으로 출력하는 모드 선택부(124)를 포함하여 구성되는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
  17. 제 16항에 있어서, 상기 N 은 기 설정된 부분 응답 채널용 수신 심볼의 디코딩 깊이에 해당하고, 상기 L은 기 설정된 최적 응답 채널용 수신 심볼의 디코딩 깊이에 해당하는 값으로, N 은 L 보다 큰 정수 인 것을 특징으로 하는 트렐리스 코드 데이터의 생종 경로 역추적 장치.
  18. 제 16 항에 있어서, 상기 제 1 연산부(120)는 다수개의 프로세싱 엘리먼트가 직렬로 연결되어 있으면서, 상기 제 1 내지 제 N-1 프로세싱 엘리먼트(120-1∼120-14)는 현재 스테이트(S3,S2,S1,S0)를 저장하는 메모리(130-2)와;
    상기 데이터 지연 처리 수단(70)의 각 지연 레지스터부로부터 출력된 다수개의 결정 벡터를 입력 받아 상기 메모리(130-2)의 현재 스테이트에 해당하는 결정 벡터를 선택하는 멀티플렉서(130-1) 및 ;
    상기 제 1 메모리(130-2)의 현재 스테이트와 상기 멀티플렉서(130-1)로부터 출력된결정 벡터(X1,S'0)를 이용하여 이전 스테이트(S'3,S'2,S'1,S'0)를 하기 식과 같이 (S'3,S'2,S'1,S'0) = (S3
    Figure kpo00015
    X1, S1
    Figure kpo00016
    S0, S2, S'0) 계산하여 다음단 프로세싱 엘리먼트의 메모리로 출력하는 이전 스테이트 계산부(130-3)로 구성되며,
    상기 제 N 프로세싱 엘리먼트(120-10)는 제 N-1 프로세싱 엘리먼트로부터 계산된 이전 스테이트를 입력받아 현재 스테이트로 저장하는 메모리(130-5)와;
    상기 데이터 지연 처리 수단(70)의 제 N 지연 레지스터부(80-15)로부터 출력된 다수개의 결정 벡터를 입력 받아 상기 메모리(130-5)의 현재 스테이트에 해당하는 결정 벡터를 선택하는 멀티플렉서(130-4) 및 ;
    상기 멀티플렉서(130-4)로부터 출력된 결정 벡터(X1)와 상기 메모리의 최하위 비트(S'0) 를 저장하여 최종 복원 심볼(X1X0)을 출력하는 메모리(130-6)를 포함하여 구성되는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
  19. 제 16 항에 있어서, 상기 제 2 연산부(122)는 다수개의 프로세싱 엘리먼트가 직렬로 연결되어 있으면서, 상기 제 1 내지 제 L-1 프로세싱 엘리먼트(120-1∼120-14)는 현재 스테이트(S2,S1,S0)를 저장하는 메모리(140-2)와;
    상기 데이터 지연 처리 수단(70)의 각 지연 레지스터부로부터 출력된 다수개의 결정 벡터를 입력 받아 상기 메모리(140-2)의 현재 스테이트에 해당하는 결정 벡터를 선택하는 멀티플렉서(140-1) 및 ;
    상기 메모리(140-2)의 현재 스테이트와 상기 멀티플렉서(140-1)로부터 출력된결정 벡터(X1,X0)를 이용하여 이전 스테이트(S'2,S'1,S'0)를 하기 식과 같이 (S'2,S'1,S'0) = (S2
    Figure kpo00017
    X1, X0
    Figure kpo00018
    S0, S1) 계산하여 다음단 프로세싱 엘리먼트의 메모리로 출력하는 이전 스테이트 계산부(140-3)로 구성되며,
    상기 제 L 프로세싱 엘리먼트(122-10)는 제 L-1 프로세싱 엘리먼트로부터 계산된 이전 스테이트를 입력받아 현재 스테이트로 저장하는 메모리(140-5)와;
    상기 데이터 지연 처리 수단(70)의 제 M 지연 레지스터부(80-10,82-10)로부터 출력된 다수개의 결정 벡터를 입력 받아 상기 메모리(140-5)의 현재 스테이트에 해당하는 결정 벡터를 선택하는 멀티플렉서(140-4) 및 ;
    상기 멀티플렉서(140-4)로부터 출력된 결정 벡터(X1,X0)을 저장하여 최종 복원 심볼 (X1X0)을 출력하는 메모리(140-6)를 포함하여 구성되는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.
KR1019970011849A 1997-03-31 1997-03-31 트렐리스 코드 데이터의 생존 경로 역추적 방법 및 장치 KR100210405B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970011849A KR100210405B1 (ko) 1997-03-31 1997-03-31 트렐리스 코드 데이터의 생존 경로 역추적 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970011849A KR100210405B1 (ko) 1997-03-31 1997-03-31 트렐리스 코드 데이터의 생존 경로 역추적 방법 및 장치

Publications (2)

Publication Number Publication Date
KR19980075607A KR19980075607A (ko) 1998-11-16
KR100210405B1 true KR100210405B1 (ko) 1999-07-15

Family

ID=19501588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970011849A KR100210405B1 (ko) 1997-03-31 1997-03-31 트렐리스 코드 데이터의 생존 경로 역추적 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100210405B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004086762A1 (en) * 2003-02-11 2004-10-07 Electronics And Telecommunications Research Institute Decision feedback equalizer for digital tv and method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004086762A1 (en) * 2003-02-11 2004-10-07 Electronics And Telecommunications Research Institute Decision feedback equalizer for digital tv and method thereof
US8233522B2 (en) 2003-02-11 2012-07-31 Electronics And Telecommunications Research Institute Decision feedback equalizer for digital TV and method thereof

Also Published As

Publication number Publication date
KR19980075607A (ko) 1998-11-16

Similar Documents

Publication Publication Date Title
US5408502A (en) Apparatus and method for communicating digital data using trellis coded QAM with punctured convolutional codes
JP4059950B2 (ja) トレリス符号化されたビデオ・データを処理するためのシステムおよび方法
US6088404A (en) Method and apparatus for decoding trellis code data
KR100212854B1 (ko) 트렐리스 디코더에서의 디인터리빙 및 출력 처리 장치
US7289569B2 (en) HDTV trellis decoder architecture
US8009773B1 (en) Low complexity implementation of a Viterbi decoder with near optimal performance
GB2315001A (en) Viterbi decoder for depunctured codes
KR100237490B1 (ko) 트렐리스 코드 데이터의 생존 경로 역추적 장치
KR100210405B1 (ko) 트렐리스 코드 데이터의 생존 경로 역추적 방법 및 장치
KR19980066172A (ko) 고화질 텔레비젼의 격자 복호기
KR19990076387A (ko) 격자복호기의 역추적장치
KR100258234B1 (ko) 트렐리스 코드 데이터의 생존 경로 저장 장치
KR100237489B1 (ko) 트렐리스 디코더의 브랜치 메트릭 계산 장치
KR19980075613A (ko) 트렐리스 디코더의 경로 메트릭 네트워크 장치
GB2330994A (en) Traceback processor for use in trellis decoder
KR100237491B1 (ko) 트렐리스 디코더의 가산 비교 선택 장치
KR100273092B1 (ko) 복호 데이터 재배열 장치
KR19980075618A (ko) 트렐리스 디코더의 가산 비교 선택 장치
KR19980072600A (ko) 트렐리스 디코더에서의 브랜치 메트릭 및 경로메트릭 계산 방법
KR19980072601A (ko) 브랜치 메트릭 계산 장치
KR19990035420A (ko) 트렐리스 디코더의 브랜치 메트릭 계산 장치
KR19980072599A (ko) 트렐리스 디코더의 세그먼트 동기 신호 제거 필터

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

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20130401

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee