KR19990035418A - A survival path reverse tracking device for trellis code data - Google Patents

A survival path reverse tracking device for trellis code data Download PDF

Info

Publication number
KR19990035418A
KR19990035418A KR1019970057220A KR19970057220A KR19990035418A KR 19990035418 A KR19990035418 A KR 19990035418A KR 1019970057220 A KR1019970057220 A KR 1019970057220A KR 19970057220 A KR19970057220 A KR 19970057220A KR 19990035418 A KR19990035418 A KR 19990035418A
Authority
KR
South Korea
Prior art keywords
memory
state
mode
current state
output
Prior art date
Application number
KR1019970057220A
Other languages
Korean (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 KR1019970057220A priority Critical patent/KR19990035418A/en
Priority to GB9816512A priority patent/GB2330994A/en
Publication of KR19990035418A publication Critical patent/KR19990035418A/en

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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations
    • 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/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3916Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding for block codes using a trellis or lattice
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • H04L1/006Trellis-coded modulation

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 트렐리스 코드 데이터의 생존 경로 역추적 장치에 관한 것이다.The present invention relates to a survival path traceback apparatus for trellis code data.

이러한 본 발명의 장치는, 트렐리스 코드 데이터를 복호하는데 있어서 16 스테이트 모드와 8 스테이트 모드를 모두 지원 가능한 생존 데이터 메모리부(SMU)의 역추적 프로세서가, 각각의 모드에 대하여 동시에 디코딩 깊이까지 역추적하여 복원 심볼을 계산하여 출력하는 연산부(50), 및 모드 선택 신호(MODE_SEL)에 따라 상기 연산부(50)가 출력하는 부분응답 복원 심볼 혹은 상기 최적 응답 복원 심볼을 선택하여 출력하는 제1 모드 선택부(52)로 구성되어 있다. 따라서, 종래의 역추적 프로세서에서 두가지 모드를 지원하기 위하여 각각의 모드에 대하여 프로세싱 모듈을 따로 설계하였던 것과 달리, 본 발명은 하나의 프로세싱 모듈로 합쳐 설계함으로써 칩면적을 줄일 수 있고 각 모드별로 이전 스테이트를 계산하지 않아도 되는 이점이 있다.The apparatus of the present invention is characterized in that a traceback processor of a survival data memory unit (SMU) capable of supporting both 16-state mode and 8-state mode in decoding trellis code data, And a first mode selection unit 50 for selecting and outputting the partial response restoration symbol or the optimum response restoration symbol outputted by the operation unit 50 according to the mode selection signal MODE_SEL, (Not shown). Therefore, unlike the conventional backtracking processor in which the processing modules are separately designed for each mode in order to support the two modes, the present invention can reduce the chip area by integrating the processing modules into one processing module, There is an advantage in that it is not necessary to calculate.

Description

트렐리스 코드 데이터의 생존 경로 역추적 장치(An apparatus for tracebacking survivor path of trellis-coded data)An apparatus for tracking back survivor path of trellis-coded data,

본 발명은 트렐리스 부호화 변조(TCM : Trellis code modualtion)기법에 의해 전송된 신호를 복호화시키는 트렐리스 디코더(TCM decoder)에 관한 것으로, 특히 가산 비교 선택부(ACS)로부터 제공받은 생존 경로의 집합인 결정 벡터를 기억하여 역추적 알고리즘에 의해 최적의 경로를 찾아내어서 최우복호된(maximum likelihood decoded) 심볼을 최종 출력하는 트렐리스 코드 데이터의 생존 경로 역추적 장치에 관한 것이다.The present invention relates to a trellis decoder (TCM decoder) for decoding a signal transmitted by a trellis code modulation (TCM) technique. In particular, the present invention relates to a trellis decoder The present invention relates to a survivor path traceback apparatus of trellis code data storing a set of decision vectors and finding an optimal path by a backtracking algorithm and finally outputting a maximum likelihood decoded symbol.

일반적으로, 트렐리스 부호화 변조(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 부호어는 길쌈 부호어를 비이진 변조시켜 임의 크기를 갖는 신호집합으로 확장시켰다는 점이다.Generally, trellis code modulation (TCM) technique is a channel coding technique for obtaining a high coding gain in a bandwidth-limited channel, Technology and modulation technology. The TCM can obtain a significant gain in power over conventional unmodulated modulation schemes without changing the bandwidth. The TCM structure is composed of an encoder with a finite state and a non-binary modulator do. On the receiver side, a received signal mixed with noise is decoded using a decoder that performs maximum likelihood decoding by soft-decision. It is known that such a TCM can obtain a power phase gain of 3 to 6 dB or more in a digital signal transmission environment having an additive white Gaussian noise (AWGN) as compared with an unencoded modulator method. The term " trellis " is used here because it can represent a TCM codeword by a state transition diagram similar to a trellis diagram that is a state diagram of a binary convolution. The difference between the TCM code and the convolutional code is that the TCM codeword is extended to a signal set of arbitrary size by non-binary modulation of the convolutional codeword.

TCM이 갖는 이러한 부호화의 이득 때문에 수신 데이터 검출의 복잡성에도 불구하고 현재 많이 이용되고 있으며, 그 이용 범위가 크게 늘어나고 있다. 그 이용분야의 하나로 고화질 TV(High Definition television : 이하, HDTV라함)의 전송 시스템을 들 수 있다.Despite the complexity of reception data detection due to the gain of such encoding in the TCM, it is widely used at present, and its use range is greatly increased. One of such applications is a transmission system of High Definition television (hereinafter referred to as HDTV).

TCM 신호의 복호를 위해서는 비터비 알고리즘(Viterbi algorithm)이 사용되는데, 비터비 알고리즘은 이미 언급한 최우복호법(maximum likelihood decoding)을 수행하고 트렐리스 다이어그램(trellis diagram)을 사용하여 필요한 계산량을 줄이는 알고리즘이다. 이 알고리즘은 각 상태에 입력되는 경로들과 수신 신호와의 유사성 비교를 통해서 하나의 스테이트(state)에 하나의 생존 경로(survivor path)만이 존재하게 한다. 이러한 과정은 트렐리스 다이어그램의 시간에 따른 각 단에서 반복된다. 따라서, 비터비 알고리즘이 요구하는 계산량은 전송 부호열의 길이에 좌우되는 것이 아나라 상태 수(state number)에 의존하게 된다.The Viterbi algorithm is used to decode the TCM signal. The Viterbi algorithm performs maximum likelihood decoding as mentioned above and uses a trellis diagram to reduce the amount of computation required. Algorithm. This algorithm allows only one survivor path to exist in one state by comparing similarities between the paths input to each state and the received signal. This process is repeated at each stage according to the time of the Trellis diagram. Therefore, the amount of computation required by the Viterbi algorithm depends on the number of states, which depends on the length of the transmitted code stream.

도 1은 비터비 알고리즘을 적용한 트렐리스 디코더의 구성도로서, 트렐리스 디코더는 브랜치 메트릭 계산부(branch metric calculation unit(BMU):11)와, 가산 비교 선택부(add comparator select unit(ACS):12), 경로 메트릭 네트워크(path metric network(PMN):13) 및, 생존 데이터 메모리부(survivor memory unit(SMU):14)로 구성되어 있다.FIG. 1 is a block diagram of a trellis decoder to which a Viterbi algorithm is applied. The trellis decoder includes a branch metric calculation unit (BMU) 11, an add comparator select unit (ACS) ) 12, a path metric network (PMN) 13, and a 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)에 따라 역추적하여 최종 복원된 심볼을 출력한다.The branch metric calculation unit BMU 11 receives the received symbols and calculates a distance between the received symbol and a path passing through each state and outputs the resultant branch metric BMt to the additive comparison selection unit 12, . The additive comparison selection unit ACS 12 selects a path having a minimum path metric among the paths input to each state S j (t) every time t, and the branch metric calculation unit BMU 1) provided from the path metric network (PMN) 13 and adds the branch metric BM (t) provided from the path metric network (PMN) 13 to the previous path metric PM (t-1) Accumulates a plurality of branch metrics merged in the state), compares the accumulated plurality of path metrics in the current state, and selects a path metric having a smaller value among them. The selected path metric is provided to the path metric network (PMN) 13, and information for backtracking the selected path is provided to the survivor data memory unit (SMU). The survivor data memory unit (SMU) 14 maintains the survival path information by the length of the surviving path for reverse tracking for decoding, that is, the decoding depth, and tracks backward according to the traceback algorithm And finally outputs the recovered symbol.

이러한 구조를 갖는 트렐리스 디코더의 예로 미국내 고화질 텔레비젼(high definition televison : HDTV) 규격을 제정하기 위해 결성된 Grand Alliance(GA)에서 제안된 GA HDTV 수신 시스템에서 채용하고 있는 트렐리스 디코더를 들 수 있다. GA HDTV에서는 트렐리스 부호화된 신호를 8레벨 잔류 측파대(VSB)변조하여 전송하고, 이를 수신한 수신측에서는 NTSC 간섭 제거 필터의 사용 유무에 따라 2개의 디코딩 경로를 갖게 된다. 즉, 수신 심볼을 복원하는 데 있어서, NTSC 간섭 제거 필터를 사용하지 않으면 8 스테이트 모드 복호를 하는 가우시안(AWGN) 채널용 최적 트렐리스 디코더를 사용하면 되고, NTSC 간섭 제거 필터를 통과한 신호는 필터의 전달함수 특성상 입력 레벨이 8레벨에서 15레벨( 16 스테이트 )로 변환되므로 이에 적합한 16 스테이트 모드 복호를 하는 부분응답 채널용 트렐리스 디코더를 사용해야 한다.An example of a trellis decoder having such a structure is a trellis decoder employed in the GA HDTV receiving system proposed by the Grand Alliance (GA), which is formed to establish a high definition television (HDTV) standard in the United States. . In GA HDTV, a trellis coded signal is modulated by 8 levels of residual sideband (VSB) and the receiving side has two decoding paths depending on whether NTSC interference cancellation filter is used or not. That is, in order to recover the received symbol, an optimal trellis decoder for Gaussian (AWGN) channel decoding the 8-state mode can be used if an NTSC interference cancellation filter is not used. The input level is converted from 8 levels to 15 levels (16 states). Therefore, a trellis decoder for a partial response channel that performs 16 state mode decoding suitable for the input level should be used.

한편, GA HDTV 전송 시스템에서는 데이터를 8레벨 VSB 모드에서 트렐리스 부호화하여 프레임 단위로 전송하도록 하는데, 도 2를 참조하여 GA HDTV 시스템의 프레임 구조를 설명하면, 하나의 프레임(Frame)은 두개의 필드(Field)로 구성되어 있고, 한 필드(Field)는 313개의 세그먼트(Segment)로 이루어진다. 각 세그먼트(Segment)는 4심볼의 세그먼트 동기 신호(Segment Sync)와 828개의 데이터+에러정정 심볼(Data +FEC)로 구성되어 있고, 각 필드의 첫번째 세그먼트는 필드 동기 신호(Field Sync)에 할당되어 있다.Meanwhile, in the GA HDTV transmission system, data is trellis encoded in 8-level VSB mode and is transmitted in units of frames. Referring to FIG. 2, a frame structure of a GA HDTV system will be described. Field, and one field (Field) is made up of 313 segments. Each segment is composed of 4 segments of segment sync signal and 828 data + error correction symbols (Data + FEC), and the first segment of each field is assigned to a field sync signal (Field Sync) have.

트렐리스 부호화는 백색 가우시안 잡음(AWGN)에 강한 성질을 가지나, 군집에러에는 약하므로 트렐리스 부호 블록 12개를 병렬로 배치하여 입력 심볼들을 순차적으로 부호기에 인가하여 12심볼 인트라세그먼트 인터리빙(intrasegment interleaving) 처리를 한다. 또한 GA HDTV 수신 시스템의 트렐리스 부호 디인터리버에서는 송신측에서의 TCM 부호어가 12심볼 단위로 인터리빙되었기 때문에 수신측에서는 트렐리스 디코더 12개가 병렬로 구현되어 디인터리빙을 수행하도록 해야한다. 따라서, 각 트렐리스 디코더는 입력 심볼열중 매 12번째 심볼을 입력으로 받아 디인터리빙하면서 복호화를 수행하였다.Trellis coding is strongly resistant to white Gaussian noise (AWGN), but it is weak in cluster error. Therefore, twelve trellis coded blocks are arranged in parallel and input symbols are sequentially applied to an encoder to perform intra-segment interleaving interleaving. Also, in the trellis code deinterleaver of the GA HDTV receiving system, since the TCM codeword on the transmitting side is interleaved in units of 12 symbols, 12 trellis decoders must be implemented in parallel on the receiving side to perform deinterleaving. Therefore, each trellis decoder receives the 12th symbol of the input symbol stream and performs decoding while deinterleaving it.

그런데, 서로 다른 레벨을 갖는 신호를 복호화하기 위하여 상기와 같이 각각의 스테이트에 적합한 트렐리스 디코더를 따로따로 구비하고 12개의 동일한 트렐리스 디코더를 사용한다면 설계시 비용 및 면적이 증가되므로, 이를 해결하기 위하여 8 스테이트 모드와 16 스테이트 모드를 동시에 지원할 수 있는 트렐리스 디코더를 설계하였다.However, if a Trellis decoder suitable for each state is separately provided and 12 identical Trellis decoders are used in order to decode signals having different levels, the cost and area for designing are increased, A trellis decoder capable of supporting 8-state mode and 16-state mode simultaneously is designed.

즉, 도 3은 생존 경로 저장 및 역추적을 수행하는 생존 데이터 메모리 장치(SMU)에 대한 구성도로서, 데이터 지연 처리부(70)와, 역추적 프로세서(74)로 구성되어 있다. 상기 데이터 지연 처리부(70)는 가산 비교 선택부(ACS)로부터 각 스테이트에서 살아남은 생존 경로의 결정 벡터(DVi)를 입력받아 저장함과 동시에, 소정 클럭 지연 후 저장된 결정 벡터중 동일한 인덱스(i)를 갖는 결정 벡터들(DVi)을 동시에 출력한다. 여기서, i는 12 심볼 단위를 나타낸다. 상기 역추적 프로세서(74)는 상기 데이터 지연 처리부(70)로부터 제공된 결정 벡터들(DVi)을 이용하여 최적응답 역추적 알고리즘 혹은 부분응답 역추적 알고리즘을 수행함과 동시에, 모드 선택 신호(MODE_SEL)에 따라 최적응답 복원 심볼 혹은 부분응답 복원 심볼을 선택적으로 출력한다.3 is a block diagram of a survival data memory device (SMU) for performing survival path storage and backward tracking, which is comprised of a data delay processing section 70 and a backtrace processor 74. The data delay processing unit 70 receives and stores the decision vector DVi of the survival path surviving in each state from the addition comparison selection unit ACS and stores the decision vector DVi having the same index i And simultaneously outputs the decision vectors DVi. Here, i represents 12 symbol units. The backtrace processor 74 performs an optimum response backtrace algorithm or a partial response backtracking algorithm using the decision vectors DVi provided from the data delay processing unit 70, and at the same time, according to the mode selection signal MODE_SEL And selectively outputs the optimal response recovery symbol or the partial response recovery symbol.

도 4는 도 3의 역추적 프로세서에 대한 블록도로서, 제 1 연산부(41)와 제 2 연산부(42), 및 모드 선택부(43)로 구성되어 있다. 상기 제 1 연산부(41)는 부분 응답 채널용 수신 심볼을 디코딩 깊이까지 역추적 하여 부분응답 복원 심볼을 계산하는 다수개의 프로세싱 엘리먼트(41-1∼41-15)로 구성되고, 상기 제 2 연산부(42)는 최적 채널용 수신 심볼을 디코딩 깊이까지 역추적하여 최적응답 복원 심볼을 계산하는 다수개의 프로세싱 엘리먼트(42-1∼42-10)로 구성되어 있다. 상기 모드 선택부(43)는 모드 선택 신호(MODE_SEL)에 따라 상기 부분응답 복원 심볼 혹은 상기 최적응답 복원 심볼을 선택하여 모드에 따른 복원 심볼을 출력한다. 여기서, 상기 모드 선택 신호(MODE_SEL)는 부분응답 채널 수신 모드인지 혹은 최적 채널 수신 모드인지를 알려주는 제어 신호이다.FIG. 4 is a block diagram of the backtrace processor of FIG. 3, which includes a first calculator 41, a second calculator 42, and a mode selector 43. The first calculation unit 41 is composed of a plurality of processing elements 41-1 to 41-15 for calculating a partial response recovery symbol by tracing a received symbol for a partial response channel back to a decoding depth, 42 consists of a number of processing elements 42-1 through 42-10 that backtrack the received symbols for the optimal channel to the decoding depth to compute the optimal response recovery symbol. The mode selector 43 selects the partial response recovery symbol or the optimal response recovery symbol according to the mode selection signal MODE_SEL and outputs a restored symbol according to the mode. Here, the mode selection signal MODE_SEL is a control signal indicating whether the partial response channel reception mode or the optimum channel reception mode.

상기 프로세싱 엘리먼트(41-1~41-15,42-1~42-10)에서 16입력 멀티플렉서(1a~14a,1b~10b)는 데이터 지연 처리부(도 3의 70)로부터 출력된 16개의 결정벡터(X1,X0)중 하나를 선택하는 기능을 하는데, 실제로 상기 16입력 멀티플렉서(1a~14a,1b~10b)는 각각 16:1 멀티플렉서 두 개로 구현된다. 따라서 16 스테이트 모드의 제 15 프로세싱 엘리먼트(41-15)를 제외한 각 단마다 16:1 멀티플렉서가 4개(16 스테이트에 2개, 8 스테이트에 2개) 요구된다.The 16 input multiplexers 1a to 14a and 1b to 10b in the processing elements 41-1 to 41-15 and 42-1 to 42-10 are connected to the 16 decision vectors outputted from the data delay processing unit 70 to the ability to select one of the (X 1, X 0), in fact the 16-input multiplexer (1a ~ 14a, 1b ~ 10b ) are respectively 16: 1 multiplexer are implemented in two. Therefore, four 16: 1 multiplexers (2 in 16 states and 2 in 8) are required for each stage except for the fifteenth processing element 41-15 in the 16-state mode.

그런데, 실제 동작에 있어서 모드 선택 신호(MODE_SEL)에 따라서 어느 하나의 상태에 대한 출력만 하게 되므로, 상기와 같이 역추적 프로세서를 부분응답 채널 수신 모드 및 최적 채널 수신 모드로 나누어 설계하면 칩 면적을 낭비하게 되는 문제점이 있었다.However, since only one of the states is output according to the mode selection signal MODE_SEL in the actual operation, if the back-tracking processor is divided into the partial response channel reception mode and the optimal channel reception mode as described above, There was a problem to be done.

이에 본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 16 스테이트 모드와 8 스테이트 모드를 모두 지원 가능한 생존 데이터 메모리 구조의 칩면적을 줄일 수 있도록 된 트렐리스 코드 데이터의 생존 경로 역추적 장치를 제공하는 데 그 목적이 있다.SUMMARY OF THE INVENTION Accordingly, the present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to provide a survival path reverse tracking device for a trellis code data capable of reducing a chip area of a survival data memory structure capable of supporting both 16- And the like.

상기와 같은 목적을 달성하기 위한 본 발명의 장치는, 디코딩 깊이만큼 생존 경로 정보를 유지하고 결정 벡터를 출력하는 데이터 지연 처리부와 역추적 알고리즘에 따라 역추적하여 최종 복원된 심볼을 출력하는 역추적 프로세서를 구비하고, 부분응답 채널 16 스테이트 모드와 최적 채널 8 스테이트 모드를 동시에 지원 가능한 생존 데이터 메모리 장치(SMU)에 있어서, 상기 역추적 프로세서는 부분 응답 채널용 수신 심볼과 최적 채널용 수신 심볼에 대하여 각각 디코딩 깊이까지 역추적하여 복원 심볼(X1,X0)을 계산하는 M개의 프로세싱 모듈이 직렬로 연결되어 구성된 연산부, 및 모드 선택 신호(MODE_SEL)에 따라 상기 부분응답 복원 심볼 혹은 상기 최적 응답 복원 심볼을 선택적으로 출력하는 제 1 모드 선택부를 포함하여 구성되는 것을 특징으로 한다.According to an aspect of the present invention, there is provided an apparatus including a data delay processing unit for maintaining survival path information by a decoding depth and outputting a decision vector, and a backtrace processor for outputting a symbol (SMU) capable of supporting a partial response channel 16 state mode and an optimal channel 8 state mode at the same time, wherein the backpropagation processor is configured to generate a partial response channel for a partial response channel and a received symbol for an optimal channel, restore tracking station to the decoding depth symbol (X 1, X 0) becomes the M processing module for calculating the in series configured computing section, and the mode according to the selection signal (MODE_SEL) restore the partial response symbol or restore the optimal response symbol And a first mode selection unit for selectively outputting the first mode selection signal.

도 1은 비터비 알고리즘을 적용한 일반적인 트렐리스 디코더의 구성도,1 is a block diagram of a general trellis decoder to which a Viterbi algorithm is applied,

도 2는 GA(Grand Alliance) HDTV(High Definition Television) 전송 시스템에서의 데이터 단위 프레임 구조도,2 is a data unit frame structure in a GA (Grand Alliance) HDTV (High Definition Television) transmission system,

도 3은 종래의 16/8 스테이트 모드를 모두 지원 가능한 생존 데이터 메모리 장치에 대한 구성도,3 is a configuration diagram of a survival data memory device capable of supporting both the conventional 16/8 state mode,

도 4는 도 3의 역추적 프로세서에 대한 블록도,4 is a block diagram of the traceback processor of FIG. 3;

도 5는 본 발명에 따른 역추적 프로세서에 대한 블록도,5 is a block diagram of a backtrace processor in accordance with the present invention;

도 6은 도 5의 연산부의 프로세싱 모듈에 대한 세부 블록도이다.6 is a detailed block diagram of the processing module of the operation unit of FIG.

*도면의 주요부분에 대한 부호의 설명DESCRIPTION OF THE REFERENCE NUMERALS

50 : 연산부 50-1~50-15 : 프로세싱 모듈50: operation units 50-1 to 50-15:

52 : 제 1 모드 선택부 161,261,361,461 : 4비트 메모리52: first mode selector 161, 261, 361, 461: 4-bit memory

162-1,-2,262-1,-2,362-1,-2,462 : 16입력 멀티플렉서162-1, -2,262-1, -2,362-1, -2,462: 16 input multiplexers

163,263,363 : 이전 스테이트 계산부 XOR_1~XOR_8 : 배타논리합 게이트163, 263, 363: previous state calculation unit XOR_1 to XOR_8: exclusive OR gate

164 : 제 2 모드 선택부 MUX1~MUX4 : 2입력 멀티플렉서164: second mode selection unit MUX1 to MUX4: two-input multiplexer

264,463 : 2비트 메모리264,463: 2-bit memory

이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예에 대하여 자세히 살펴보기로 한다. 본 명세서에서는 GA HDTV 전송 규격에 적합한 트렐리스 디코더를 예시하여 설명하고자 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the present specification, a Trellis decoder conforming to the GA HDTV transmission standard will be exemplified.

먼저, 트렐리스 디코더의 생존 데이터 메모리부(SMU)는 역추적 알고리즘(traceback algorithm)에 의해 하나의 최적 경로를 찾아낸 후, 최우복호된 심볼(maximum likelihood decoded symbol)을 출력으로 내보낸다. 즉, 상기 생존 데이터 메모리부(SMU)에서는 가산 선택 비교부(ACS)로부터 제공된 결정 벡터와 현재 스테이트를 이용하여 이전 스테이트를 계속해서 구하여 디코딩 깊이(decoding depth) 만큼 진행시킨 후, 최종 디코딩된 심볼 비트(X1X0)를 출력하는 것이다. 여기서, 디코딩 깊이는 16 스테이트의 모드의 경우 15이고, 8 스테이트 모드의 경우에는 10이다.First, the survivor data memory unit (SMU) of the trellis decoder finds one optimal path by a traceback algorithm, and then outputs a maximum likelihood decoded symbol as an output. That is, in the survivor data memory unit SMU, the previous state is continuously obtained by using the decision vector and the current state provided from the ACS, and is advanced by the decoding depth, and then the last decoded symbol bit (X1X0). Here, the decoding depth is 15 in the 16-state mode and 10 in the 8-state mode.

도 5는 본 발명에 따른 역추적 프로세서에 대한 블록도로서, 역추적 프로세서는 연산부(50) 및 제 1 모드 선택부(52)로 구성되어 있다. 상기 연산부(50)는 모드 선택 신호(MODE_SEL)에 따라 부분응답 수신 심볼(16 스테이트 모드) 또는 최적응답 수신 심볼(8 스테이트 모드)을 디코딩 깊이까지 역추적하여 복원 심볼을 계산하며, 다수개의 프로세싱 모듈(50-1~50-15)로 구성된다. 상기 제 1 모드 선택부(52)는 모드 선택 신호(MODE_SEL)에 따라 부분응답 복원 심볼 혹은 최적응답 복원 심볼을 선택하여 모드에 따른 복원 심볼을 출력한다. 여기서, 상기 모드 선택 신호(MODE_SEL)는 부분응답 채널 수신 모드 인지 최적 채널 수신 모드 인지를 알려주는 제어 신호이다.FIG. 5 is a block diagram of a backtrace processor according to the present invention. The backtracking processor includes an operation unit 50 and a first mode selection unit 52. The arithmetic unit 50 calculates a recovered symbol by tracing a partial response received symbol (16 state mode) or an optimum response received symbol (8 state mode) back to a decoding depth according to a mode selection signal (MODE_SEL) (50-1 to 50-15). The first mode selector 52 selects a partial response recovery symbol or an optimal response recovery symbol according to the mode selection signal MODE_SEL and outputs a restored symbol according to the mode. Here, the mode selection signal MODE_SEL is a control signal indicating whether the partial response channel reception mode or the optimal channel reception mode.

먼저, 16 스테이트 모드일 경우, 상기 연산부(50)는 부분응답 채널 수신된 심볼을 디코딩 깊이 15로 역추적하며, 15개의 각 프로세싱 모듈(50-1∼50-15)에서는 데이터 지연 처리부(도 3의 70)로부터 병렬 출력된 결정 벡터(X1(12k),X0(12k))를 입력받아 이전 스테이트(S(t-(k+1))를 계산하여 다음단에 연결된 프로세싱 모듈로 제공하여 제 15 프로세싱 모듈(120-15)을 통해 최종 디코딩된 심볼 X1(t-15)X0(t-15)을 출력한다. 이때, 16스테이트 모드에서의 역추적 알고리즘에서의 이전 상태를 구하는 식은 하기 수학식 1과 같이, 현재 스테이트(S3,S2,S1,S0)와 입력된 결정 벡터(X1,S'0)의 논리 조합으로 이전 스테이트(S'3,S'2,S'1,S'0)가 결정된다.First, in the 16-state mode, the arithmetic unit 50 tracks the received partial response channel back to the decoding depth 15, and each of the fifteen processing modules 50-1 to 50-15 transmits the data delay processing unit (K + 1)) from the parallel vector X 1 (12k) and X 0 (12k) output from the parallel processing circuit 70 the outputs of the processing module 15 (120-15) final decoded symbols X 1 (t-15) X 0 (t-15) through. in this case, the equation to obtain the previous state of the backtracking algorithm in the 16-state mode for as shown in equation 1, the current state (S3, S2, S1, S0) from the previous state (S'3, S'2, S'1 to a logical combination of the input decision vector (X 1, S '0) , S'0) is determined.

이전상태(S′3,S′2,S′1,S′0)=(S3⊕X1,S1⊕S0,S2,S′0)Previous state (S '3, S' 2 , S '1, S' 0) = (S 3 ⊕X 1, S 1 ⊕S 0, S 2, S '0)

다음으로 8 스테이트 모드의 경우, 상기 연산부(50)에서는 최적 응답 채널 수신된 심볼을 디코딩 깊이 10으로 역추적하며, 10개의 각 프로세싱 모듈(50-1∼50-10)에서는 상기 데이터 지연 처리부(도 3의 70)로부터 출력된 결정 벡터(X1(12k),X0(12k))를 입력 받아 이전 스테이트(S(t-(k+1))를 계산하여 다음단에 연결된 프로세싱 모듈로 제공하여 제 10 프로세싱 모듈(50-10)을 통해 최종 디코딩된 심볼 X1(t-10)X0(t-10)을 출력한다. 이때, 8스테이트 모드에서의 역추적 알고리즘에서의 이전 스테이트를 구하는 식은 하기 수학식 2와 같이, 현재 스테이트(S2,S1,S0)와 입력된 결정 벡터 (X1,X0)의 논리 조합으로 이전 상태(S'2,S'1,S'0)가 결정된다.Next, in the 8-state mode, the arithmetic unit 50 tracks back the symbols received from the optimum response channel to a decoding depth of 10. In each of the 10 processing modules 50-1 to 50-10, the data delay processing unit (K + 1)) from the decision vector (X 1 (12k), X 0 (12k)) output from the processor 70 And outputs the final decoded symbol X 1 (t-10) X 0 (t-10) through the tenth processing module 50-10. Here, the equation for obtaining the previous state in the backtracking algorithm in the 8- as shown in equation (2), the current state (S 2, S 1, S 0) and a decision vector (X 1, X 0) to a logical combination of the previous state (S '2, S' 1 , S '0) input Is determined.

이전상태(S′2,S′1,S′0)=(S2⊕X1,X0⊕S0,S1)The previous state (S ' 2 , S' 1 , S ' 0 ) = (S 2 ⊕X 1 , X 0 ⊕S 0 , S 1 )

이어서, 도 6을 통해 상기 수학식 1과 상기 수학식 2를 만족시키는 프로세싱 모듈의 구조를 설명하면 다음과 같다.Next, the structure of the processing module that satisfies Equations (1) and (2) will be described with reference to FIG.

도 6a는 도 5에 도시된 연산부(50)의 제 1 내지 제 9 프로세싱 모듈(50-1∼50-9)을 도시한 것이고, 도 6b는 제 10 프로세싱 모듈(50-10)을 도시한 것이고, 도 6c는 제 11 내지 제 14 프로세싱 모듈(50-11~50-14)을 도시한 것이고, 도 6d는 제 15 프로세싱 모듈(50-15)을 도시한 것이다.FIG. 6A shows the first to ninth processing modules 50-1 to 50-9 of the arithmetic unit 50 shown in FIG. 5, FIG. 6B shows the tenth processing module 50-10 , FIG. 6C shows the eleventh to fourteenth processing modules 50-11 to 50-14, and FIG. 6D shows the fifteenth processing module 50-15.

도 6a를 참조하면, 제1 내지 제9 프로세싱 모듈(50-1~50-9)은 현재 스테이트(S3,S2,S1,S0)를 저장하는 4비트 메모리(161)와, 상기 4비트 메모리(161)의 현재 스테이트를 제어 신호로 제공받아 상기 데이터 지연 처리부로부터 출력된 16개의 결정 벡터(X0)중 하나를 선택하는 16입력 멀티플렉서(162-1)와, 상기 4비트 메모리(161)의 현재 스테이트를 제어 신호로 제공받아 상기 데이터 지연 처리부로부터 출력된 16개의 결정 벡터(X1)중 하나를 선택하는 16입력 멀티플렉서(162-2)와, 상기 4비트 메모리(161)의 현재 스테이트(S3,S2,S1,S0)와 상기 멀티플렉서(162-1,162-2)를 통해 선택된 결정 벡터(X1,X0)를 이용하여 상기 수학식 1 및 수학식 2를 계산하여 이전 스테이트(S'3,S'2,S'1,S'0)를 출력하는 이전 스테이트 계산부(163), 및 모드 선택 신호(MODE_SEL)를 제어신호로 입력받아 상기 이전 스테이트 계산부(163)로부터 출력되는 16스테이트 모드와 8스테이트 모드에 대한 이전 스테이트 가운데 하나를 선택하여 출력하는 제 2 모드 선택부(164)로 구성되어 있다.Referring to FIG. 6A, the first to ninth processing modules 50-1 to 50-9 include a 4-bit memory 161 for storing current states S 3 , S 2 , S 1 , S 0 , A 16-input multiplexer 162-1 for receiving the current state of the 4-bit memory 161 as a control signal and selecting one of the 16 decision vectors X 0 output from the data delay processing unit, A 16-input multiplexer 162-2 for receiving the current state of the 4-bit memory 161 as a control signal and selecting one of the 16 decision vectors X 1 output from the data delay processing unit, The above equations (1) and (2) are calculated using the states (S 3 , S 2 , S 1 , S 0 ) and the decision vectors (X 1 , X 0 ) selected through the multiplexers Previous state (S '3, S' 2 , S '1, S' 0) input to the previous state calculating unit 163, and the mode selection signal (MODE_SEL) for outputting a control signal Receiving is comprised of a second mode selecting unit 164 for selecting and outputting one of the previous state of the 16-state mode and an 8-state mode in which the output from the previous-state calculating unit 163.

상기 이전 스테이트 계산부(163)의 제1 배타논리합 게이트(XOR_1)는 현재 스테이트 S3와 결정 벡터 X1를 배타논리합 연산하고, 제2 배타논리합 게이트(XOR_2)는 현재 스테이트 S1과 S0을 배타논리합 연산하고, 제3 배타논리합 게이트(XOR_3)는 현재 스테이트 S2와 결정 벡터 X1를 배타논리합 연산하고, 제4 배타논리합 게이트(XOR_4)는 현재 스테이트 S0과 결정 벡터 X0를 배타논리합 연산한다.The first exclusive OR gate XOR_1 of the previous state calculator 163 performs a XOR operation on the current state S 3 and the decision vector X 1 and the second exclusive OR gate XOR_2 outputs the current states S 1 and S 0 The third exclusive OR gate XOR_3 performs the exclusive OR operation on the current state S 2 and the decision vector X 1 and the fourth exclusive OR gate XOR_ 4 performs the exclusive OR operation on the current state S 0 and the decision vector X 0 , .

이에 따라, 제 2 모드 선택부(164)의 제1 멀티플렉서(MUX1)로 입력되는 이전 스테이트 S'3비트는 제1 배타논리합 게이트(XOR_1)의 출력과 0이 되고, 제2 멀티플렉서(MUX2)로 입력되는 이전 스테이트 S'2비트는 제2 배타논리합 게이트(XOR_2)의 출력과 제3 배타논리합 게이트(XOR_3)의 출력이 되고, 제3 멀티플렉서(MUX3)로 입력되는 이전 스테이트 S'1비트는 현재 스테이트 S2비트와 제4 배타논리합 게이트(XOR_4)의 출력이 되고, 제4 멀티플렉서(MUX4)로 입력되는 이전 스테이트 S'0비트는 결정 벡터 X0와 현재 스테이트 S1이 된다. 즉, 제 2 모드 선택부(164)의 제1 내지 제4 멀티플렉서(MUX1~MUX4)의 제1 입력단자에는 16 스테이트 모드의 이전 스테이트가 입력되고 제2 입력단자에는 8 스테이트 모드의 이전 스테이트가 입력된다. 따라서, 제 2 모드 선택부(164)는 모드 선택 신호(MODE_SEL)에 따라서 16 스테이트 모드일 경우 멀티플렉서(MUX1~MUX4)의 제1 입력신호를 선택하여 이전 스테이트(S'3,S'2,S'1,S'0)를 출력하고, 8 스테이트 모드일 경우 멀티플렉서(MUX1~MUX4)의 제2 입력신호를 선택하여 이전 스테이트(S'2,S'1,S'0)를 출력한다.Accordingly, the previous state S ' 3 bits input to the first multiplexer MUX1 of the second mode selection unit 164 becomes 0 with the output of the first exclusive OR gate XOR_1, and the output of the second multiplexer MUX2 Previous state S to be input, two-bit output of the second exclusive OR gate (XOR_2) and the third and the output of the exclusive-OR gate (XOR_3), the third previous state S to be input to the multiplexer (MUX3), 1 bit is the current State S 2 bits and the fourth exclusive OR gate XOR_ 4 and the previous state S ' 0 bit input to the fourth multiplexer MUX 4 becomes the decision vector X 0 and the current state S 1 . That is, the previous state of the 16-state mode is input to the first input terminal of the first to fourth multiplexers MUX1 to MUX4 of the second mode selection unit 164, and the previous state of the 8-state mode is input to the second input terminal do. Thus, the second mode selecting unit 164 is a mode select signal (MODE_SEL) therefore 16 when the state mode multiplexer (MUX1 ~ MUX4), a first input select signal to the previous state (S '3, S' 2, S of If the outputs' 1, S '0), and 8-state mode, select the second input signal of the multiplexer (MUX1 ~ MUX4), and outputs the previous state (S' 2, S '1 , S' 0).

이때, 역추적 알고리즘에 의해 처음에 어느 스테이트에서 역추적을 시작하느냐에 상관없이 디코딩 깊이까지 진행하면, 하나의 스테이트로 수렴하게 되므로 처음에 역추적을 시작하는 스테이트는 어느 스테이트이건 상관이 없다. 따라서, 여기 제 1 프로세싱 모듈(50-1)의 4비트 메모리(161)에다가 시작 스테이트를 "0"으로 지정해 놓았다.In this case, regardless of which state the backtracking is initially started by the backtracking algorithm, if the backtracking algorithm proceeds to the decoding depth, it converges into one state. Therefore, the start state is set to " 0 " in the 4-bit memory 161 of the first processing module 50-1.

이어서, 도 6b를 참조하면, 제 10 프로세싱 모듈(50-10)은 4비트 메모리(261)와, 16입력 멀티플렉서(262-1,262-2)와, 이전 스테이트 계산부(263), 및 상기 멀티플렉서(262-1,262-2)를 통해 선택된 결정 벡터 X0,X1비트를 저장하는 2비트 메모리(264)로 구성되어 있으며, 도 6a의 프로세싱 모듈과 비교하여 동일한 구성요소는 동일한 역할을 하도록 하였다.6B, the tenth processing module 50-10 includes a 4-bit memory 261, 16 input multiplexers 262-1 and 262-2, a previous state calculator 263, and a multiplexer And a 2-bit memory 264 for storing the selected crystal vector X 0 , X 1 bits through a plurality of memory cells 262-1, 262-2. The same components as those of the processing module of FIG. 6A have the same function.

상기 제 10 프로세싱 모듈(50-10)은, 8 스테이트 모드의 경우 데이터 지연 처리부(도 3의 70)로부터 병렬 출력된 8개의 결정 벡터(X1(108),X0(108): 8×2비트)중에서 상기 4비트 메모리(261)의 스테이트에 해당하는 결정 벡터 하나를 선택한다. 이때, 선택된 비트 X1,X0가 바로 8 스테이트 모드의 최종 복원된 심볼 X1(t-10),X0(t-10) 에 해당하며, 2비트 메모리(264)는 이값을 저장하여 상기 제 1 모드 선택부(52)로 전달한다. 즉, 8스테이트 모드일 경우 디코딩 깊이 10으로 이전 스테이트를 역추적하여 복원 심볼 X1,X0을 구하는 것이다.The 10th processing module 50-10 includes 8 decision vectors X 1 108 and X 0 108 output in parallel from the data delay processing unit 70 in FIG. Bit memory 261 in the 4-bit memory 261 is selected. At this time, the selected bits X 1 and X 0 correspond to the last recovered symbols X 1 (t-10) and X 0 (t-10) of the 8-state mode, and the 2-bit memory 264 stores this value To the first mode selection unit (52). That is, in the 8-state mode, the previous state is traced back to the decoding depth 10 to obtain the recovered symbols X 1 and X 0 .

한편으로, 16 스테이트 모드를 수행하기 위하여 상기 제 10 프로세싱 모듈(50-10)은 상기 수학식 1에 따라 이전 스테이트(S'3,S'2,S'1,S'0)를 구하여 출력한다. 즉, 상기 이전 스테이트 계산부(263)의 제5 배타논리합 게이트(XOR_5)는 현재 스테이트 S3와 결정 벡터 X1를 배타논리합 연산하고, 제6 배타논리합 게이트(XOR_6)는 현재 스테이트 S1과 S0을 배타논리합 연산한다. 따라서 이전 스테이트 S'3비트는 현재 스테이트 S3와 결정 벡터 X1의 배타논리합 연산한 값이 되고, S'2비트는 S1과 S0의 배타논리합 연산한 값이 되고, S'1비트는 현재 스테이트 S2비트와 동일한 값이 되고, S'0비트는 결정 벡터 X0(=S'0)와 동일한 값이 된다.On the other hand, to perform the 16-state mode, the tenth processing module 50-10 obtains and outputs the previous states S ' 3 , S' 2 , S ' 1 , S' 0 according to Equation 1 . That is, the fifth exclusive OR gate XOR_5 of the previous state calculator 263 performs the XOR operation on the current state S 3 and the decision vector X 1 , and the sixth exclusive OR gate XOR_6 compares the current states S 1 and S Quot; 0 " Thus previous state S '3 bits are the current values exclusive-or operation of a state S 3 and determining vector X 1, S' 2 bits are the value exclusive-or operation of the S 1 and S 0, S '1 bit Becomes the same value as the current state S 2 bits, and the S ' 0 bit becomes the same value as the decision vector X 0 (= S' 0 ).

다음으로 도 6c를 참조하면, 제 11 내지 제 14 프로세싱 모듈(50-11~50-14)은 4비트 메모리(361)와, 16입력 멀티플렉서(362-1,362-2), 및 이전 스테이트 계산부(363)로 구성되며, 도 6a의 프로세싱 모듈과 비교하여 동일한 구성요소는 동일한 역할을 갖는다. 상기 제 11 내지 제 14 프로세싱 모듈(50-11~50-14)은 16 스테이트 모드를 수행하기 위하여 상기 수학식 1에 따라 이전 스테이트(S'3,S'2,S'1,S'0)를 구하여 출력하게 된다.6C, the eleventh to fourteenth processing modules 50-11 to 50-14 include a 4-bit memory 361, 16-input multiplexers 362-1 and 362-2, and a previous state calculator 363, and the same components as those of the processing module of FIG. 6A have the same role. The eleventh to fourteenth processing module (50-11 - 50-14) has the formula (1) according to the previous state (S '3, S' 2 , S '1, S' 0) to perform 16-state mode And outputs it.

마지막으로 도 6d를 참조하면, 제 15 프로세싱 모듈(50-15)은 4비트 메모리(461)와, 상기 4비트 메모리(461)의 현재 스테이트를 제어 신호로 제공받아 상기 데이터 지연 처리부로부터 출력된 16개의 결정 벡터(X1)중 하나를 선택하는 16입력 멀티플렉서(462), 및 현재 스테이트 S0와 상기 멀티플렉서(462)를 통해 선택된 결정 벡터 X0,X1비트를 저장하는 2비트 메모리(463)로 구성되어 있다.6D, the fifteenth processing module 50-15 includes a 4-bit memory 461 and a current state of the 4-bit memory 461 as a control signal, A 16-input multiplexer 462 for selecting one of the four decision vectors X 1 and a 2-bit memory 463 for storing the current state S 0 and the decision vector X 0 , X 1 bits selected via the multiplexer 462, .

상기 제 15 프로세싱 모듈(50-15)은 제 14 프로세싱 모듈(50-14)로부터 출력된 이전 스테이트(S'3(t-14),S'2(t-14),S'1(t-14),S'0(t-14))를 제공받아 상기 4비트 메모리(461)에 저장하고, 16개의 결정 벡터(X1(168): 16비트)중에서 상기 4비트 메모리(461)의 스테이트에 해당하는 결정 벡터 하나를 선택한다. 이때, 선택된 비트 X1와 상기 4비트 메모리(461)의 마지막 비트 S0(=X0)가 바로 최종 복원된 심볼 X1(t-15),X0(t-15) 에 해당한다. 즉, 16스테이트 모드일 경우 디코딩 깊이 15로 이전 스테이트를 역추적하여 복원 심볼 X1,X0을 구하는 것이다.Wherein the processing module 15 (50-15) comprises a processing module 14 before the output from the (50-14) state (S '3 (t-14 ), S' 2 (t-14), S '1 (t- the state of the 4-bit memory 461 is of 16-bit): 14), S '0 (t-14)) receives the four-bit memory (store 461), and 16 determine vector (X1 (168) provides a And selects a corresponding decision vector. At this time, the selected bit X 1 and the last bit S 0 (= X 0 ) of the 4-bit memory 461 correspond to the immediately recovered symbols X 1 (t-15) and X 0 (t-15). That is, in the 16-state mode, the previous state is traced back to the decoding depth 15 to obtain the recovered symbols X 1 and X 0 .

이와 같이, 16 스테이트 모드의 경우에는 제1 내지 제15 프로세싱 모듈(50-1~50-15)을 사용하여 14개의 이전 스테이트를 상기 수학식 1과 같이 계산해야 하고, 또한, 그 스테이트에 해당하는 X1,S'0을 14번 찾아내야 한다. 그리고 8 스테이트 모드의 경우에는 제1 내지 제10 프로세싱 모듈(50-1~50-10)까지만 사용하여 스테이트 계산 및 X1,X0의 추출을 각각 9번씩 하게 된다. 따라서 모드의 구분을 위한 모드 선택 신호(MODE_SEL)는 도 6a에 도시된 제1 내지 제9 프로세싱 모듈(50-1~50-9)에 이용됨을 알 수 있다.As described above, in the 16-state mode, the 14 previous states must be calculated using Equation 1 using the first through fifteenth processing modules 50-1 through 50-15, X1, S'0 must be found 14 times. In the 8-state mode, only the first to tenth processing modules 50-1 to 50-10 are used to perform the state calculation and X1 and X0 extraction nine times, respectively. Therefore, it can be seen that the mode selection signal MODE_SEL for distinguishing the modes is used for the first to ninth processing modules 50-1 to 50-9 shown in FIG. 6A.

본 명세서에서는 본 발명을 특정한 실시예들과 관련하여서만 설명하였으나, 당업자들은 다음의 청구항들에서 정의된 발명의 의도와 범위를 벗어나지 않는 한도내에서 다양하게 수정할 수 있을 것이다.While the invention has been described in connection with specific embodiments thereof, it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the following claims.

이상에서 살펴본 바와 같이, 본 발명의 장치는 역추적 알고리즘에 의하여 경로를 찾아내어 최우복호된(maximum likelihood decoded) 심볼을 최종 출력함에 있어서, 부분응답 채널 수신 모드 및 최적 채널 수신 모드에 대하여 프로세싱 모듈을 따로 설계하지 않고 하나의 프로세싱 모듈로 합쳐 설계함으로써, 많은 면적을 차지하는 16:1 멀티플렉서를 줄일 수 있고 모드별로 이전 스테이트를 계산하지 않아도 되는 이점이 있다.As described above, the apparatus of the present invention finds a path by a backtracking algorithm and finally outputs a maximum likelihood decoded symbol. The apparatus includes a processing module for a partial response channel reception mode and an optimal channel reception mode, By designing a single processing module without designing it separately, it is possible to reduce a 16: 1 multiplexer occupying a large area, and there is no need to calculate a previous state for each mode.

Claims (7)

디코딩 깊이만큼 생존 경로 정보를 유지하고 결정 벡터를 출력하는 데이터 지연 처리부(70)와 역추적 알고리즘에 따라 역추적하여 최종 복원된 심볼을 출력하는 역추적 프로세서(74)를 구비하고, 부분응답 채널 16 스테이트 모드와 최적 채널 8 스테이트 모드를 동시에 지원 가능한 생존 데이터 메모리 장치(SMU)에 있어서,A data delay processing unit 70 for maintaining the survival path information by a decoding depth and outputting a decision vector, and a backtrace processor 74 for outputting the finally restored symbol in accordance with the backtrace algorithm, A survival data memory device (SMU) capable of simultaneously supporting a state mode and an optimal channel 8 state mode, 상기 역추적 프로세서(74)는The backtrace processor 74 부분 응답 채널용 수신 심볼과 최적 채널용 수신 심볼에 대하여 각각 디코딩 깊이까지 역추적하여 복원 심볼(X1,X0)을 계산하는 M개의 프로세싱 모듈(50-1∼50-15)이 직렬로 연결되어 구성된 연산부(50); 및Partial response channel received symbol and each tracking station to the decoding depth with respect to the received symbols for optimum channel for the recovered symbols (X 1, X 0) of M processing modules (50-1~50-15) for calculating is connected in series (50); And 모드 선택 신호(MODE_SEL)에 따라 상기 부분응답 복원 심볼 혹은 상기 최적 응답 복원 심볼을 선택적으로 출력하는 제 1 모드 선택부(52)를 포함하여 구성되는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.And a first mode selection unit (52) for selectively outputting the partial response recovery symbol or the optimum response recovery symbol according to a mode selection signal (MODE_SEL). Tracking device. 제 1 항에 있어서, 상기 M은 기 설정된 부분 응답 채널용 수신 심볼의 디코딩 깊이에 해당하는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.2. The apparatus of claim 1, wherein the M corresponds to a decoding depth of a received symbol for a predetermined partial response channel. 제 1 항에 있어서, 상기 M개의 프로세싱 모듈(50-1~50-15)가운데 제1 내지 제 N-1프로세싱 모듈(50-1~50-9)은2. The apparatus of claim 1, wherein the first to the (N-1) th processing modules (50-1 to 50-9) among the M processing modules (50-1 to 50-15) 현재 스테이트(S3,S2,S1,S0)를 저장하는 메모리(161);A memory 161 for storing the current state (S 3 , S 2 , S 1 , S 0 ); 상기 데이터 지연 처리부(70)로부터 출력된 다수개의 결정 벡터(X1,X0)를 입력 받아 상기 메모리(161)의 현재 스테이트에 해당하는 결정 벡터를 선택하는 멀티플렉서(162-1,162-2);Receiving the plurality of decision vectors (X 1, X 0) output from the data delay processing part 70, a multiplexer (162-1,162-2) for selecting a determined vector corresponding to the current state of the memory 161; 상기 메모리(161)의 현재 스테이트와 상기 멀티플렉서(162-1,162-2)로부터 출력된 결정 벡터를 이용하여, (S′3,S′2,S′1,S′0)=(S3⊕X1,S1⊕S0,S2,S′0) 규칙을 이용하여 부분응답 채널용 이전 스테이트(S'3,S'2,S'1,S'0)를 계산하고, (S′2,S′1,S′0)=(S2⊕X1,X0⊕S0,S1) 규칙을 이용하여 최적응답 채널용 이전 스테이트(S'3,S'2,S'1,S'0)를 계산하여 다음단 프로세싱 모듈의 메모리로 출력하는 이전 스테이트 계산부(163); 및Using the current state of the memory 161 and the decision vectors output from the multiplexers 162-1 and 162-2, (S '3, S' 2 , S '1, S' 0) = (S 3 ⊕X 1, S 1 ⊕S 0, S 2, S '0) (S ' 3 , S' 2 , S ' 1 , S' 0 ) for the partial response channel using the rule, (S ' 2 , S' 1 , S ' 0 ) = (S 2 ⊕X 1 , X 0 ⊕S 0 , S 1 ) A previous state calculation unit 163 for calculating the previous state (S ' 3 , S' 2 , S ' 1 , S' 0 ) for the optimum response channel using the rule and outputting it to the memory of the next stage processing module; And 모드 선택 신호(MODE_SEL)를 제어신호로 입력받아 상기 이전 스테이트 계산부(163)로부터 출력되는 16스테이트 모드와 8스테이트 모드에 대한 이전 스테이트 가운데 하나를 선택하여 출력하는 제 2 모드 선택부(164)를 포함하는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.A second mode selection unit 164 that receives the mode selection signal MODE_SEL as a control signal and selects and outputs one of the 16 state mode and the 8 state state output from the previous state calculation unit 163 And the survivor path traceback device of the trellis code data. 제 3 항에 있어서, 상기 N은 기 설정된 최적 응답 채널용 수신 심볼의 디코딩 깊이에 해당하는 값으로, 상기 N은 상기 M보다 작은 정수인 것을 특징으로 하는 트렐리스 코드 데이터의 생종 경로 역추적 장치.4. The apparatus according to claim 3, wherein N is a value corresponding to a decoding depth of a received symbol for a predetermined optimum response channel, and N is an integer smaller than M. 제 1 항에 있어서, 상기 M개의 프로세싱 모듈(50-1~50-15)가운데 제 N 프로세싱 모듈(50-10)은2. The apparatus of claim 1, wherein the N < th > processing module (50-10) of the M processing modules (50-1 through 50-15) 현재 스테이트(S3,S2,S1,S0)를 저장하는 메모리(261);A memory 261 for storing the current state (S 3 , S 2 , S 1 , S 0 ); 상기 데이터 지연 처리부(70)로부터 출력된 다수개의 결정 벡터(X1,X0)를 입력 받아 상기 메모리(261)의 현재 스테이트에 해당하는 결정 벡터를 선택하는 멀티플렉서(262-1,262-2);Receiving the plurality of decision vectors (X 1, X 0) output from the data delay processing part 70, a multiplexer (262-1,262-2) for selecting a determined vector corresponding to the current state of the memory 261; 상기 메모리(261)의 현재 스테이트와 상기 멀티플렉서(262-1,262-2)로부터 출력된 결정 벡터를 이용하여, (S′3,S′2,S′1,S′0)=(S3⊕X1,S1⊕S0,S2,S′0) 규칙을 이용하여 부분응답 채널용 이전 스테이트(S'3,S'2,S'1,S'0)를 계산하여 다음단 프로세싱 모듈의 메모리로 출력하는 이전 스테이트 계산부(263); 및Using the current state of the memory 261 and the decision vectors output from the multiplexers 262-1 and 262-2, (S '3, S' 2 , S '1, S' 0) = (S 3 ⊕X 1, S 1 ⊕S 0, S 2, S '0) A previous state calculation unit 263 for calculating the previous state (S ' 3 , S' 2 , S ' 1 , S' 0 ) for the partial response channel using the rule and outputting it to the memory of the next stage processing module; And 상기 멀티플렉서(262-1,262-2)를 통해 선택된 결정 벡터 X1,X0비트를 저장하는 메모리(264)를 포함하는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.The multiplexer (262-1,262-2) for determining the selected vector X 1, trellis survivor path traceback unit of code data, characterized in that it comprises a memory 264 for storing the X 0 through bit. 제 1 항에 있어서, 상기 M개의 프로세싱 모듈(50-1~50-15)가운데 제 N+1 내지 제 M-1 프로세싱 모듈(50-11~50-14)은The apparatus of claim 1, wherein the (N + 1) th to (M-1) th processing modules (50-11 to 50-14) of the M processing modules (50-1 to 50-15) 현재 스테이트(S3,S2,S1,S0)를 저장하는 메모리(361);A memory 361 for storing the current state (S 3 , S 2 , S 1 , S 0 ); 상기 데이터 지연 처리부(70)로부터 출력된 다수개의 결정 벡터(X1,X0)를 입력 받아 상기 메모리(361)의 현재 스테이트에 해당하는 결정 벡터를 선택하는 멀티플렉서(362-1,362-2); 및Receiving the plurality of decision vectors (X 1, X 0) output from the data delay processing part 70, a multiplexer (362-1,362-2) for selecting a determined vector corresponding to the current state of the memory 361; And 상기 메모리(261)의 현재 스테이트와 상기 멀티플렉서(262-1,262-2)로부터 출력된 결정 벡터를 이용하여, (S′2,S′1,S′0)=(S2⊕X1,X0⊕S0,S1) 규칙을 이용하여 부분응답 채널용 이전 스테이트(S'3,S'2,S'1,S'0)를 계산하여 다음단 프로세싱 모듈의 메모리로 출력하는 이전 스테이트 계산부(363)를 포함하는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.Using the current state of the memory 261 and the decision vectors output from the multiplexers 262-1 and 262-2, (S ' 2 , S' 1 , S ' 0 ) = (S 2 ⊕X 1 , X 0 ⊕S 0 , S 1 ) (S ' 3 , S' 2 , S ' 1 , S' 0 ) for the partial response channel using the rule and outputs it to the memory of the next stage processing module Wherein the survivor path traceback device of the trellis code data is characterized by: 제 1 항에 있어서, 상기 M개의 프로세싱 모듈(50-1~50-15)가운데 제 M 프로세싱 모듈(50-15)은2. The apparatus of claim 1, wherein the M < th > processing module (50-15) of the M processing modules (50-1 through 50-15) 현재 스테이트(S3,S2,S1,S0)를 저장하는 메모리(461);A memory 461 for storing the current state (S 3 , S 2 , S 1 , S 0 ); 상기 데이터 지연 처리부(70)로부터 출력된 다수개의 결정 벡터(X1)를 입력받아 상기 메모리(461)의 현재 스테이트에 해당하는 결정 벡터를 선택하는 멀티플렉서(462); 및A multiplexer 462 receiving a plurality of decision vectors X 1 output from the data delay processing unit 70 and selecting a decision vector corresponding to a current state of the memory 461; And 현재 스테이트 S0와 상기 멀티플렉서(462)를 통해 선택된 결정 벡터 X1비트를 저장하는 메모리(463)를 포함하는 것을 특징으로 하는 트렐리스 코드 데이터의 생존 경로 역추적 장치.And a memory (463) for storing a current state S 0 and a decision vector X 1 bit selected through the multiplexer (462).
KR1019970057220A 1997-10-31 1997-10-31 A survival path reverse tracking device for trellis code data KR19990035418A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019970057220A KR19990035418A (en) 1997-10-31 1997-10-31 A survival path reverse tracking device for trellis code data
GB9816512A GB2330994A (en) 1997-10-31 1998-07-29 Traceback processor for use in trellis decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970057220A KR19990035418A (en) 1997-10-31 1997-10-31 A survival path reverse tracking device for trellis code data

Publications (1)

Publication Number Publication Date
KR19990035418A true KR19990035418A (en) 1999-05-15

Family

ID=19523898

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970057220A KR19990035418A (en) 1997-10-31 1997-10-31 A survival path reverse tracking device for trellis code data

Country Status (2)

Country Link
KR (1) KR19990035418A (en)
GB (1) GB2330994A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI112711B (en) 2000-03-17 2003-12-31 Nokia Corp Method and device for memory management in digital communication

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784392A (en) * 1995-06-26 1998-07-21 Nokia Mobile Phones Ltd. Viterbi decoder with l=2 best decoding paths
KR100195741B1 (en) * 1996-07-01 1999-06-15 전주범 Variable rate vitervi decoder
KR19980079114A (en) * 1997-04-30 1998-11-25 배순훈 Method and apparatus for decoding trellis code data

Also Published As

Publication number Publication date
GB9816512D0 (en) 1998-09-30
GB2330994A (en) 1999-05-05

Similar Documents

Publication Publication Date Title
KR100580160B1 (en) Two-step soft output viterbi algorithm decoder using modified trace-back
US6088404A (en) Method and apparatus for decoding trellis code data
US6148431A (en) Add compare select circuit and method implementing a viterbi algorithm
CN100527803C (en) Enhanced VSB viterbi decoder
US8009773B1 (en) Low complexity implementation of a Viterbi decoder with near optimal performance
US7289569B2 (en) HDTV trellis decoder architecture
GB2315001A (en) Viterbi decoder for depunctured codes
KR101212856B1 (en) Method and apparatus for decoding data in communication system
KR100237490B1 (en) An apparatus for tracebacking survivor path of trellis code data
KR19980075608A (en) A deinterleaving and output processing device in a trellis decoder
CA2212098C (en) Trellis decoder of a dtv
KR19990035418A (en) A survival path reverse tracking device for trellis code data
KR100478462B1 (en) Apparatus for tracing-back survivor path of trellis code data and tracing-back method of the same
US20050138535A1 (en) Method and system for branch metric calculation in a viterbi decoder
KR19990076387A (en) Retracement device of lattice decoder
KR100237491B1 (en) An apparatus of add-compare-select in a trellis code decoder
KR100258234B1 (en) Trellis code modulation
KR0140779B1 (en) Vitervi decoder
KR100531840B1 (en) Method for computing branch metric in viterbi decoder and circuit thereof
KR0169775B1 (en) Synchro-and non-synchro detecting method and apparatus for vitervi decoder
KR19980075607A (en) Method and apparatus for tracing survival path of trellis code data
KR100237489B1 (en) An apparatus for calculating branch matric in trellis code decoder
KR100459419B1 (en) Viterbi decoder
KR19990035420A (en) Branch Metric Computing Device for Trellis Decoder
KR19980072600A (en) Branch metric and pathmetric calculation methods in the trellis decoder

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application