KR19980072765A - Addition-Compare-Selection (ACS) Device for Viterbi Decoder - Google Patents

Addition-Compare-Selection (ACS) Device for Viterbi Decoder Download PDF

Info

Publication number
KR19980072765A
KR19980072765A KR1019970007722A KR19970007722A KR19980072765A KR 19980072765 A KR19980072765 A KR 19980072765A KR 1019970007722 A KR1019970007722 A KR 1019970007722A KR 19970007722 A KR19970007722 A KR 19970007722A KR 19980072765 A KR19980072765 A KR 19980072765A
Authority
KR
South Korea
Prior art keywords
output
metric value
acs
state
adder
Prior art date
Application number
KR1019970007722A
Other languages
Korean (ko)
Other versions
KR100442235B1 (en
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 KR1019970007722A priority Critical patent/KR100442235B1/en
Publication of KR19980072765A publication Critical patent/KR19980072765A/en
Application granted granted Critical
Publication of KR100442235B1 publication Critical patent/KR100442235B1/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/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/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • 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/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • H03M13/3753Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding using iteration stopping criteria

Landscapes

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

Abstract

비터비 디코더에서 새 브렌치 메트릭 값과 누적된 저장 메트릭 값을 각 천이마다 가산한 후 각 상태별로 비교하여 최소의 메트릭 값을 갖는 생존 메트릭 값과 생존 패스를 출력하는 가산-비교-선택(ACS) 장치에 관한 것으로서, 특히 여분의 1 비트를 이용하여 각 가산기에서 발생된 캐리가 '1'이 되면 즉, 상태 메트릭 값이 63을 넘어가면 그 상태의 메트릭 값을 63으로 셋팅하여 가장 작은 상태 메트릭 값이 32 가 될때까지 ACS를 수행하다가 가장 작은 상태 메트릭 값이 32 이상이 되면 재정규화 신호를 발생시켜 각 상태 메트릭 값에서 32를 빼주도록 함으로써, 현재 상태 메트릭 값들 중 가장 작은 메트릭 값과 가장 큰 메트릭 값과의 차이가 커 발생하는 오버플로우를 방지할 수 있다.An add-comparison-selection (ACS) device that adds new branch metric values and accumulated stored metric values at each transition in the Viterbi decoder, compares them for each state, and outputs survival metric values and survival paths with the minimum metric values. In particular, when the carry generated from each adder is '1' using an extra 1 bit, that is, when the state metric value exceeds 63, the metric value of the state is set to 63 so that the smallest state metric value is obtained. ACS is executed until 32, and when the smallest state metric value becomes 32 or more, a renormalization signal is generated so that 32 is subtracted from each state metric value. Overflow can be prevented due to large difference.

Description

비터비 디코더의 가산-비교-선택(ACS) 장치Addition-Compare-Selection (ACS) Device for Viterbi Decoder

본 발명은 비터비 디코더(Viterbi Decoder)에 관한 것으로서, 특히 유클리디언(Euclidean) 거리값과 누적된 저장 메트릭 값을 각 천이마다 가산한 후 각 상태별로 비교하여 최소의 메트릭 값을 갖는 생존 메트릭 값과 생존 패스를 출력하는 비터비 디코더의 가산-비교-선택(Add-Compare-Select ; ACS) 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a Viterbi Decoder, and in particular, a Euclidean distance value and a stored storage metric value are added for each transition, and then a survival metric value having a minimum metric value is compared by each state. And an Add-Compare-Select (ACS) device of a Viterbi decoder that outputs a surviving pass.

통상, 콘볼루션 엔코더(Convolution Encoder)의 현재 콘볼루션 엔코딩된 데이타는 이전의 콘볼루션 엔코딩된 데이타에 의존하므로 콘볼루션 엔코더를 통해 콘볼루션 엔코딩되어 출력되는 데이타가 모두 콘볼루션 엔코더의 출력값이 되는 것이 아니고, 이전의 입력값(이를 상태(State)라 한다)에 따라 제한된 파형만을 출력하게 된다.In general, the current convolution encoded data of a convolution encoder depends on the previous convolution encoded data, so not all data encoded and output by the convolution encoder is the output value of the convolution encoder. In this case, only a limited waveform is outputted according to a previous input value (called state).

따라서, 비터비 디코더는 수신부에서 수신되는 수신 파형을 관찰하여 가장 가능성있는 입력값을 추정하는 것이다.Thus, the Viterbi decoder estimates the most likely input value by observing the received waveform received at the receiver.

이를 위해, ACS 장치는 유클리디언 거리값이 출력되면 각 상태마다 이전에 누적되어온 거리 값을 더하여 현재 거리값인 브렌치 메트릭 값을 계산한다.To this end, when the Euclidean distance value is output, the ACS device calculates the branch metric value that is the current distance value by adding the previously accumulated distance value for each state.

그리고, 각 상태마다 2개의 패스가 만나므로 각 상태마다 2개의 패스의 현재의 거리값을 계산하며, 계산된 현재 거리값을 비교하여 그중 작은 값을 갖는 패스만을 생존 패스로 선택한다.Since two paths meet each state, the current distance values of the two paths are calculated for each state, and only the path having the smaller value is selected as the survival path by comparing the calculated current distance values.

도 1은 64개의 ACS 요소로 되어 있는 ACS 장치의 각 ACS 요소의 종래 구성 블럭도로서, 미국공개특허 5,349,608에 개시되어 있다.1 is a conventional block diagram of each ACS element of an ACS device having 64 ACS elements, which is disclosed in US Patent No. 5,349,608.

도 1을 보면, 멀티플렉서(10)는 재정규화(RENORM) 신호에 따라 누적된 이전 메트릭값(cm0x)과 감산된 메트릭 값(cm0x-32)을 선택 출력하고, 멀티플렉서(12)는 RENORM 신호에 따라 누적된 이전 메트릭값(cm1x)과 감산된 메트릭 값(cm1x-32)을 선택 출력한다.Referring to FIG. 1, the multiplexer 10 selects and outputs an accumulated previous metric value (cm0x) and a subtracted metric value (cm0x-32) according to a renormalization (RENORM) signal, and the multiplexer 12 according to a RENORM signal. The accumulated previous metric value (cm1x) and the subtracted metric value (cm1x-32) are selectively outputted.

상기 멀티플렉서(10,12)에서 선택 출력되는 이전 메트릭 값은 각각의 레지스터(13,14)를 통해 각각의 가산기(16,18)로 출력된다.The previous metric value that is selectively output from the multiplexers 10 and 12 is output to each adder 16 and 18 through each register 13 and 14.

상기 가산기(16)는 레지스터(13)를 통해 출력되는 누적된 이전 메트릭 값과 새 브렌치 메트릭 값(br0x)를 더하고, 가산기(18)는 레지스터(14)를 통해 출력되는 누적된 이전 메트릭 값과 새 브렌치 메트릭 값(br1x)를 더하여 비교기(20)로 출력한다.The adder 16 adds the accumulated old metric value output through the register 13 and the new branch metric value br0x, and the adder 18 adds the accumulated old metric value output through the register 14 and the new branch metric value. The branch metric value br1x is added and output to the comparator 20.

상기 비교기(20)는 상기 가산기(16,18)에서 각각 가산되어 출력되는 두 값을 비교하여 하이 또는 로우 신호를 멀티플렉서(22)로 출력한다.The comparator 20 compares two values added by the adders 16 and 18 and outputs a high or low signal to the multiplexer 22.

상기 멀티플렉서(22)는 상기 비교기(20)의 출력에 따라 즉, 가산기(16)의 출력이 가산기(18)의 출력보다 작으면 가산기(16)의 출력을 생존 메트릭 값(cmx0)으로 선택 출력하고, 가산기(16)의 출력이 가산기(18)의 출력보다 크면 가산기(18)의 출력을 생존 메트릭 값(cmx0)으로 선택 출력한다.The multiplexer 22 selects and outputs the output of the adder 16 as a survival metric value cmx0 according to the output of the comparator 20, that is, if the output of the adder 16 is smaller than the output of the adder 18. If the output of the adder 16 is larger than the output of the adder 18, the output of the adder 18 is selectively output as the survival metric value cmx0.

이때, cmx0는 현재 상태 메트릭 값으로서, 브렌치 메트릭이 더해지는 모양이 되어 계속 그 값이 증가한다.At this time, cmx0 is a current state metric value, and the branch metric is added, and the value continues to increase.

따라서, 오버플로우(overflow)를 줄이려고 재정규화(Renormalization)을 도 2에서와 같이 앤드 게이트(52)를 이용하여 수행한다.Therefore, in order to reduce overflow, normalization is performed using the AND gate 52 as shown in FIG. 2.

즉, 총 64개의 상태 메트릭의 누적된 값이 모두 32 이상 즉, 6비트로 할당된 각 상태의 저장 값들의 최상위 비트(MSB)가 1이 되면 앤드 게이트(52)는 재정규화(RENORM) 신호를 발생한다.That is, when the accumulated value of the 64 state metrics in total is 32 or more, that is, the most significant bit (MSB) of the stored values of each state allocated to 6 bits becomes 1, the AND gate 52 generates a renormalization signal. do.

따라서, 상기 RENORM 신호가 발생되면 도 1의 멀티플렉서(10,12)는 각각 감산된 메트릭 값 즉, 각 누적된 이전 상태 값에서 32를 뺀 값 cm0x-32와 cm1x-32를 선택 출력한다.Accordingly, when the RENORM signal is generated, the multiplexers 10 and 12 of FIG. 1 selectively output the subtracted metric values, that is, the values cm0x-32 and cm1x-32 obtained by subtracting 32 from each accumulated previous state value.

이와같은 방식으로 하여 상태 메트릭의 누적된 값들이 오버플로우가 생기지 않도록 한다.In this way, the accumulated values of the state metrics do not overflow.

그러나, 상기된 종래의 ACS 장치는 상태 메트릭이 64개라고 가정하고, cm1은 계속 증가해서 63이 되었는데 cm2는 아직 15라고 가정하면, cm1은 63을 넘게되면 다시 0으로 오버플로우된다.However, the conventional ACS device described above assumes that there are 64 status metrics, cm1 continues to increase to 63, and cm2 is still 15, and cm1 overflows back to zero once it exceeds 63.

따라서, cm1보다는 cm2가 더 작은 값으로 생존 메트릭 값이 되어야 하는데, cm1이 0으로 오버플로우되면서 cm1이 생존 메트릭 값으로 선택된다.Therefore, cm2 should be the survival metric value with a smaller value than cm1. Cm1 is selected as the survival metric value as cm1 overflows to zero.

즉, 더 안정된 cm2 채널이 더 에러가 있는 채널로 인식되는 오류가 발생하게 된다.That is, an error occurs in which a more stable cm2 channel is recognized as a more error channel.

예컨대, 가장 작은 상태 메트릭 값과 가장 큰 상태 메트릭 값의 차가 32를 넘으면 오버플로우가 발생하여 더 안정된 채널을 에러가 있는 채널로 인식하게 된다.For example, if the difference between the smallest state metric value and the largest state metric value exceeds 32, an overflow occurs and the more stable channel is recognized as an error channel.

이는 비터비 디코더의 수행에 막대한 지장을 초래하게 된다.This causes a huge obstacle to the performance of the Viterbi decoder.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 여분의 1 비트를 이용하여 각 가산기에서 발생된 캐리가 '1'이 되면 그 상태의 메트릭 값을 63으로 셋팅하여 ACS를 수행하도록 하며, 가장 작은 상태 메트릭 값이 32 이상이 된 경우 각 상태에서 32를 빼주도록 함으로써, 가장 작은 상태 메트릭 값과 가장 큰 메트릭 값과의 차이가 커 발생하는 오버플로우를 방지하는 비터비 디코더의 ACS 장치를 제공함에 있다.The present invention is to solve the above problems, an object of the present invention is to carry out ACS by setting the metric value of the state to 63 when the carry generated in each adder using the extra 1 bit becomes '1' By subtracting 32 from each state when the smallest state metric value is greater than or equal to 32, the Viterbi decoder's ACS prevents overflow due to a large difference between the smallest state metric value and the largest metric value. In providing a device.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 비터비 디코더의 ACS 장치의 특징은, 콘볼루션 엔코딩되어 전송된 데이타를 디코딩하는 비터비 디코더에서 ACS 장치는 복수개의 ACS 유닛과, 복수개의 ACS 유닛에서 출력되는 각 상태의 최소 메트릭 저장값들의 최상위 비트가 모두 1이 되면 재정규화 신호를 출력하는 재정규화 신호 발생부로 구성되며, 각 ACS 유닛은 상측에서 인가되는 새 브렌치 메트릭 값과 상측의 누적된 이전 메트릭 값을 가산하여 캐리와 합을 출력하는 제 1 가산기와, 하측에서 인가되는 새 브렌치 메트릭 값과 하측의 누적된 이전 메트릭 값을 가산하여 캐리와 합을 출력하는 제 2 가산기와, 상기 제 1, 제 2 가산기의 캐리 출력을 논리곱하는 로직부와, 상기 제 1, 제 2 가산기의 출력 크기를 비교하는 비교기와, 상기 재정규화 신호에 따라 상기 제 1 가산기의 합 출력과 제 1 가산기의 합 출력에서 소정 값을 뺀 값을 선택 출력하는 제 1 멀티플렉서와, 상기 재정규화 신호에 따라 상기 제 2 가산기 합 출력과 제 2 가산기의 합 출력에서 소정 값을 뺀 값을 선택 출력하는 제 2 멀티플렉서와, 상기 비교기의 출력에 따라 상기 제 1, 제 2 멀티플렉서의 출력 중 하나를 선택하여 각 상태별 최소 메트릭 값을 출력하는 제 3 멀티플렉서와, 상기 로직부의 출력에 따라 상기 제 3 멀티플렉서의 출력 또는 상수로 설정된 최고 스케일 팩터(Scale Factor)를 선택 출력하는 제 4 멀티플렉서를 포함하여 구성되는데 있다.A feature of the ACS device of the Viterbi decoder according to the present invention for achieving the above object is that in the Viterbi decoder for decoding data transmitted by convolutional encoding, the ACS device is a plurality of ACS units, a plurality of ACS units When the most significant bits of the minimum metric stored values of each output state are all 1, the renormalization signal generator outputs a renormalization signal. Each ACS unit includes a new branch metric value applied from the upper side and an accumulated previous metric on the upper side. A first adder for adding a value and outputting a carry and a sum; a second adder for adding a new branch metric value applied from the lower side and an accumulated previous metric value at the lower side and outputting a carry and sum; A logic unit for ANDing the carry output of the two adders, a comparator for comparing the output magnitudes of the first and second adders, and the renormalization signal. (D) a first multiplexer for selectively outputting a value obtained by subtracting a predetermined value from the sum output of the first adder and the sum output of the first adder, and at the sum output of the second adder sum output and the second adder according to the renormalization signal; A second multiplexer for selectively outputting a value obtained by subtracting a predetermined value, a third multiplexer for selecting one of outputs of the first and second multiplexers according to the output of the comparator, and outputting a minimum metric value for each state, and the logic And a fourth multiplexer for selectively outputting a maximum scale factor set to an output of the third multiplexer or a constant according to a negative output.

도 1은 종래의 비터비 디코더의 각 가산-비교-선택(ACS) 장치의 구성 블럭도1 is a block diagram illustrating each add-compare-selection (ACS) device of a conventional Viterbi decoder.

도 2는 도 1에 재정규화 신호를 출력하는 회로도FIG. 2 is a circuit diagram for outputting a renormalization signal to FIG. 1. FIG.

도 3은 본 발명에 따른 비터비 디코더의 가산-비교-선택(ACS) 장치의 전체 구성 블럭도3 is a block diagram showing the overall configuration of an add-compare-selection (ACS) apparatus of a Viterbi decoder according to the present invention.

도 4는 도 3의 각 가산-비교-선택(ACS) 장치의 구성 블럭도4 is a block diagram illustrating each add-compare-selection (ACS) device of FIG.

도 5는 2개의 스테이지에 대해서 63 상태 트렐리스 다이어그램의 일부를 도시한 도면5 shows part of a 63 state trellis diagram for two stages.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

40,50 : ACS 유닛 41,42,51,52 : 가산기40,50: ACS unit 41, 42, 51, 52: adder

43,53 : 앤드 게이트 44,54 : 비교기43,53: AND gate 44,54: comparator

45,46,47,48,55,56,57,58 : 멀티플렉서45,46,47,48,55,56,57,58: Multiplexer

49,59 : 플립플롭 RENORM : 재정규화 신호49,59: flip-flop RENORM: renormalization signal

이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명에 따른 ACS 장치의 전체 구성 블럭도이며, 누적되는 각 상태 메트릭 값을 저장하는 메모리가 6비트로 할당된 경우로서, 32개의 ACS 요소(ACS_CORE0∼ACS_CORE31)로 된 ACS부와 상기 각 ACS 요소(ACS_CORE0∼ACS_CORE31)에서 출력되는 각 상태 메트릭 값(state0_metric ∼ state63_metric)의 최상위 비트를 논리 조합하여 재정규화(RENORM) 신호를 출력하는 앤드 게이트로 구성된다.3 is a block diagram showing the overall configuration of an ACS device according to the present invention, in which a memory for storing each state metric value accumulated is allocated with 6 bits, and an ACS unit comprising 32 ACS elements (ACS_CORE0 to ACS_CORE31) An AND gate outputs a renormalization (RENORM) signal by logically combining the most significant bit of each state metric value (state0_metric to state63_metric) output from the ACS elements ACS_CORE0 to ACS_CORE31.

상기 각 ACS 요소는 다시 2개의 ACS 유닛으로 나뉘며, 2개의 현재 상태 메트릭 값 즉, i번째(i는 0부터 짝수로 증가함.) 상태의 생존 메트릭 값과 i+1번째 상태의 생존 메트릭 값이 출력된다.Each ACS element is further divided into two ACS units, and two current state metric values, i.e., the survival metric value of the i th state (i increases from 0 to an even number) and the i. Is output.

도 4는 각 ACS 요소의 상세 블럭도로서, i번째 상태의 생존 메트릭 값을 출력하는 ACS 유닛(40)과 i+1번째 상태의 생존 메트릭 값을 출력하는 ACS 유닛(50)으로 이루어진다.4 is a detailed block diagram of each ACS element, which includes an ACS unit 40 for outputting a survival metric value in the i-th state and an ACS unit 50 for outputting a survival metric value in the i + 1th state.

상기 ACS 유닛(40)은, 상측에서 인가되는 새 브렌치 메트릭 값(ED_Sum00)과 누적된 이전 메트릭 값(state0_metric)을 가산하여 캐리와 합을 출력하는 가산기(41), 하측에서 인가되는 새 브렌치 메트릭 값(ED_Sum11)과 누적된 이전 메트릭 값(state32_metric)을 가산하여 캐리와 합을 출력하는 가산기(42), 상기 가산기(41,42)의 캐리를 논리 조합하는 앤드 게이트(43), 상기 가산기(41,42)의 출력의 크기를 비교하는 비교기(44), 재정규화(RENORM) 신호에 따라 상기 가산기(41)의 출력(temp0_00)과 가산기(41)의 출력(temp0_00)에서 32를 뺀 값(temp0_00-32)을 선택 출력하는 멀티플렉서(45), 재정규화(RENORM) 신호에 따라 상기 가산기(42)의 출력(temp32_11)과 가산기(42)의 출력(temp32_11)에서 32를 뺀 값(temp32_11-32)을 선택 출력하는 멀티플렉서(46), 상기 비교기(44)의 출력에 따라 상기 멀티플렉서(45,46)의 출력 중 하나를 선택 출력하는 멀티플렉서(47), 상기 앤드 게이트(43)의 출력에 따라 상기 멀티플렉서(47)의 출력 또는 '111111'을 선택 출력하는 멀티플렉서(48), 및 상기 멀티플렉서(48)의 출력을 일시 저장하여 현재 상태의 생존 메트릭 값(state0_metric)으로 출력하는 플립플롭(49)으로 구성된다.The ACS unit 40 adds a new branch metric value ED_Sum00 applied from the upper side and an accumulated previous metric value state0_metric to output an carry and a sum, and a new branch metric value applied from the lower side. An adder 42 for adding the carry and the sum by adding ED_Sum11 and the accumulated previous metric value state32_metric, an AND gate 43 for logically combining the carry of the adders 41 and 42, and the adder 41, A value obtained by subtracting 32 from the output (temp0_00) of the adder 41 and the output (temp0_00) of the adder 41 according to the comparator 44 and the renormalization (RENORM) signal comparing the magnitudes of the outputs of 42) (temp0_00- The output value of the adder 42 and the output 42 of the adder 42 (temp32_11-32) is subtracted from the output (temp32_11) of the adder 42 according to the multiplexer 45 and the renormalization (RENORM) signal. The multiplexer 46 selectively outputs the output of the multiplexers 45 and 46 according to the output of the comparator 44. A multiplexer 47 for selectively outputting one, a multiplexer 48 for selectively outputting '111111' or an output of the multiplexer 47 according to the output of the AND gate 43, and an output of the multiplexer 48 temporarily A flip-flop 49 is stored and output as a survival metric value (state0_metric) of the current state.

상기 ACS 유닛(50)은 상기 ACS 유닛(40)과 구성이 동일하고, 단지 i+1번째 상태의 생존 메트릭 값(state1_metric)을 출력한다.The ACS unit 50 has the same configuration as the ACS unit 40 and only outputs a survival metric value (state1_metric) of the i + 1th state.

여기서, 브렌치 메트릭 값(ED_Sum00,ED_Sum01,ED_Sum10,ED_Sum11)은 ACS 전 단계에서 수행되어 출력되는 값으로서, 유클리디언 거리값과 각 기준 값과의 차이 값 즉, 에러 값이다.Here, the branch metric values ED_Sum00, ED_Sum01, ED_Sum10, and ED_Sum11 are values that are output and performed in the pre-ACS step, and are the difference values between the Euclidean distance value and each reference value, that is, an error value.

도 5는 63 상태 트렐리스 다이어그램의 일부를 도시한 것으로서, 2개의 스테이지에 대해서만 나타낸 것이다.5 shows a portion of a 63 state trellis diagram, shown for only two stages.

이때, 각 상태에서 만나는 2개의 패스는 0과 1의 데이타 값을 갖으며, 각 상태에서 만나는 2개의 패스중 1패스를 선택하고 나머지 1패스를 소거하여 생존 패스와 생존 메트릭 값을 결정한다.In this case, two paths that meet each state have data values of 0 and 1, and one path of two paths that meet each state is selected and one remaining path is erased to determine a survival path and a survival metric value.

여기서는, 각 상태에서 상측에서 인가되는 패스를 0, 하측에서 인가되는 패스를 1이라 가정한다.In this case, it is assumed that the path applied from the upper side is 0 and the path applied from the lower side is 1 in each state.

이와같이 구성된 본 발명은 s0 상태로 인가되는 2패스중 1패스를 선택하는 과정을 예로 들어 설명한다.The present invention configured as described above will be described taking as an example a process of selecting one of two passes applied to the s0 state.

즉, 도 5에서와 같이 1 구간의 s0 상태에서는 0 구간의 s0 상태 패스와 s32 상태 패스가 만난다.That is, in the s0 state of one section, as shown in FIG. 5, the s0 state path and the s32 state path of the zero section are met.

그러므로, 가산기(41)는 0구간의 s0 상태에서 인가되는 브렌치 메트릭 값(ED_Sum00)과 s0 상태의 누적된 이전 메트릭 값(state0_metric)을 더하고, 가산기(42)는 0구간의 s32 상태에서 인가되는 브렌치 메트릭 값(ED_Sum11)과 s32 상태의 누적된 이전 메트릭 값(state32_metric)을 더한다.Therefore, the adder 41 adds the branch metric value ED_Sum00 applied in the s0 state of the 0 section and the accumulated previous metric value state0_metric in the s0 state, and the adder 42 applies the branch applied in the s32 state of the 0 section. The metric value ED_Sum11 and the accumulated previous metric value state32_metric of the state s32 are added.

이때, 상기 가산기(41,42)의 각 출력은 7비트가 할당되며, 최상위 비트는 가산기(41,42)에서 발생하는 캐리 비트가 된다.In this case, each output of the adders 41 and 42 is assigned 7 bits, and the most significant bit is a carry bit generated by the adders 41 and 42.

여기서, 상기 각 가산기(41,42)는 출력이 63을 넘어가면 캐리를 발생하여 최상위 비트를 통해 출력한다.Here, each of the adders 41 and 42 generates a carry when the output exceeds 63 and outputs the most significant bit.

상기 가산기(41,42)에서 출력되는 최상위 비트 즉, 캐리는 앤드 게이트(43)에서 논리 조합되어 멀티플렉서(48)로 출력된다.The most significant bit, i.e., the carry, output from the adders 41 and 42 is logically combined at the AND gate 43 and output to the multiplexer 48.

그리고, 상기 가산기(41,42)에서 출력되는 1비트의 캐리와 6비트의 가산 결과는 비교기(44)로 출력된다.Then, the 1-bit carry and the 6-bit addition result output from the adders 41 and 42 are output to the comparator 44.

상기 비교기(44)는 캐리를 포함한 가산기(41)의 전체 출력이 가산기(42)의 전체 출력보다 크면 '0'를 출력하고, 작으면 '1'을 멀티플렉서(47)로 출력한다.The comparator 44 outputs '0' when the total output of the adder 41 including the carry is larger than the total output of the adder 42, and outputs '1' to the multiplexer 47 when the output is smaller.

한편, 멀티플렉서(45)는 재정규화(RENORM) 신호에 따라 캐리 비트를 제외한 상기 가산기(41)의 출력(temp0_00)과 가산기(41)의 출력(temp0_00)에서 32를 뺀 값(temp0_00-32)을 멀티플렉서(47)로 선택 출력하고, 멀티플렉서(46)는 재정규화(RENORM) 신호에 따라 캐리 비트를 제외한 상기 가산기(42)의 출력(temp32_11)과 가산기(42)의 출력(temp32_11)에서 32를 뺀 값(temp32_11-32)을 멀티플렉서(47)로 선택 출력한다.Meanwhile, the multiplexer 45 subtracts 32 (temp0_00-32) from the output (temp0_00) of the adder 41 and the output (temp0_00) of the adder 41 excluding the carry bit according to the renormalization (RENORM) signal. The multiplexer 47 selects and outputs the multiplexer 46. The multiplexer 46 subtracts 32 from the output (temp32_11) of the adder 42 and the output (temp32_11) of the adder 42 excluding the carry bit according to the renormalization signal. The values temp32_11-32 are selectively outputted to the multiplexer 47.

상기 멀티플렉서(47)는 상기 비교기(44)의 출력이 '1'이면 멀티플렉서(45)의 출력을 선택하고, '0'이면 멀티플렉서(46)의 출력을 선택하여 멀티플렉서(47)로 출력한다.The multiplexer 47 selects an output of the multiplexer 45 when the output of the comparator 44 is '1', and selects an output of the multiplexer 46 when the output of the comparator 44 is '1' and outputs the output to the multiplexer 47.

상기 멀티플렉서(48)는 앤드 게이트(43)의 출력이 '0'이면 즉, 가산기(41,42)에서 모두 캐리가 발생하지 않았거나 가산기(41) 또는 가산기(42)중 하나에서만 캐리가 발생하였다면 상기 멀티플렉서(47)의 출력을 선택하고, 앤드 게이트(43)의 출력이 '1'이면 즉, 가산기(41,42)에서 모두 캐리가 발생하였다면 '111111'을 선택하여 플립플롭(49)으로 출력한다.If the output of the AND gate 43 is '0', the multiplexer 48 has no carry at all of the adders 41 and 42, or if only one of the adders 41 or 42 is generated. If the output of the multiplexer 47 is selected, and the output of the AND gate 43 is '1', that is, if the carry is generated in the adders 41 and 42, the 111111 is selected and output to the flip-flop 49. do.

상기 플립플롭(49)은 상기 멀티플렉서(48)의 출력을 1 구간의 s0 상태의 최소 메트릭 값(state0_metric)으로 출력한다.The flip-flop 49 outputs the output of the multiplexer 48 as a minimum metric value (state0_metric) of the s0 state of one section.

이와같이 각 가산기(41,42)에서 발생한 캐리출력이 '1'이 되면 그 상태의 메트릭 값을 '111111' 즉, 정수 63으로 셋팅한다.In this way, when the carry output generated by each of the adders 41 and 42 becomes '1', the metric value of the state is set to '111111', that is, an integer 63.

그리고, 계속 ACS를 진행하다가 가장 적은 상태 메트릭 값이 32, 즉 모든 상태의 메트릭 값이 32 이상이 되면 재정규화(RENORM) 신호를 발생한다.Then, the ACS is continuously performed, and if the smallest state metric value is 32, that is, the metric value of all states is 32 or more, a RENORM signal is generated.

즉, 가장 적은 상태 메트릭 값이 32가 되지 않은 상태에서 다른 상태 메트릭 값이 63이 넘으면 0으로 오버플로우시키지 않고 가장 적은 상태 메트릭 값이 32가 될 때까지 '111111'을 유지하고 있다가 가장 적은 상태 메트릭 값이 32가 되면 즉, 총 64개의 상태 메트릭의 누적된 값이 모두 32 이상 즉, 6비트로 할당된 각 상태의 저장 값들의 최상위 비트가 1이 되면 도 3의 앤드 게이트는 재정규화(RENORM) 신호를 발생한다.In other words, if the lowest state metric value is not 32 and the other state metric value is over 63, the state is maintained as '111111' until the lowest state metric value is 32 without overflowing to zero. When the metric value is 32, that is, when the accumulated value of the 64 state metrics in total is 32 or more, that is, the most significant bit of the stored values of each state allocated to 6 bits is 1, the AND gate of FIG. 3 is renormalized (RENORM). Generate a signal.

따라서, 상기 재정규화(RENORM) 신호가 발생되면 멀티플렉서(45,46)는 각각 감산된 메트릭 값 즉, 각 상태 값에서 32를 뺀 값 temp0_00-32와 temp32_11-32를 선택 출력한다.Accordingly, when the renormalization signal is generated, the multiplexers 45 and 46 selectively output the subtracted metric values, that is, the values temp0_00-32 and temp32_11-32 obtained by subtracting 32 from each state value.

이와같은 방식으로 하면 현재의 상태 메트릭 값들의 가장 큰 값과 가장 작은 값의 차이가 32이상이 되어도 오버플로우가 발생하지 않게된다.In this way, overflow does not occur even if the difference between the largest and smallest values of the current state metric values is 32 or more.

이상에서와 같이 본 발명에 따른 비터비 디코더의 ACS 장치에 의하면, 여분의 1 비트를 이용하여 각 가산기에서 발생된 캐리가 '1'이 되면 즉, 상태 메트릭 값이 63을 넘어가면 그 상태의 메트릭 값을 63으로 셋팅하여 가장 작은 상태 메트릭 값이 32 가 될때까지 ACS를 수행하다가 가장 작은 상태 메트릭 값이 32 이상이 되면 재정규화 신호를 발생시켜 각 상태 메트릭 값에서 32를 빼주도록 함으로써, 현재 상태 메트릭 값들 중 가장 작은 메트릭 값과 가장 큰 메트릭 값과의 차이가 커 발생하는 오버플로우를 방지할 수 있다.As described above, according to the ACS apparatus of the Viterbi decoder according to the present invention, when the carry generated in each adder becomes '1' by using an extra 1 bit, that is, when the state metric value exceeds 63, the state metric Set the value to 63 to perform ACS until the smallest state metric becomes 32, and when the smallest state metric becomes 32 or higher, generate a renormalization signal to subtract 32 from each state metric. The overflow between the smallest metric value and the largest metric value among the values can be prevented.

Claims (2)

콘볼루션 엔코딩되어 전송된 데이타를 디코딩하는 비터비 디코더에서 가산-비교-선택(ACS) 장치는 복수개의 ACS 유닛과; 복수개의 ACS 유닛에서 출력되는 각 상태의 최소 메트릭 값들의 최상위 비트가 모두 1이 되면 재정규화 신호를 출력하는 재정규화 신호 발생부로 구성되며, 각 ACS 유닛은 상측에서 인가되는 새 브렌치 메트릭 값과 상측의 누적된 이전 메트릭 값을 가산하여 캐리와 합을 출력하는 제 1 가산기와, 하측에서 인가되는 새 브렌치 메트릭 값과 하측의 누적된 이전 메트릭 값을 가산하여 캐리와 합을 출력하는 제 2 가산기와, 상기 제 1, 제 2 가산기의 캐리 출력을 논리곱하는 로직부와, 상기 제 1, 제 2 가산기의 출력 크기를 비교하는 비교기와, 상기 재정규화 신호에 따라 상기 제 1 가산기의 합 출력과 제 1 가산기의 합 출력에서 소정 값을 뺀 값을 선택 출력하는 제 1 멀티플렉서와, 상기 재정규화 신호에 따라 상기 제 2 가산기 합 출력과 제 2 가산기의 합 출력에서 소정 값을 뺀 값을 선택 출력하는 제 2 멀티플렉서와, 상기 비교기의 출력에 따라 상기 제 1, 제 2 멀티플렉서의 출력 중 하나를 선택하여 각 상태별 최소 메트릭 값을 출력하는 제 3 멀티플렉서와, 상기 로직부의 출력에 따라 상기 제 3 멀티플렉서의 출력 또는 상수로 설정된 최고 스케일 팩터를 선택 출력하는 제 4 멀티플렉서를 포함하여 구성됨을 특징으로 하는 비터비 디코더의 가산-비교-선택 장치.An add-compare-selection (ACS) apparatus in a Viterbi decoder for decoding convolution encoded and transmitted data includes: a plurality of ACS units; When the most significant bits of the minimum metric values of each state output from the plurality of ACS units are all 1, the renormalization signal generator outputs a renormalization signal. Each ACS unit includes a new branch metric value applied from the upper side and an upper side of the upper side. A first adder for adding a cumulative previous metric value and outputting a carry and a sum, a second adder for adding a new branch metric value applied from the lower side and an accumulated old metric value at the bottom and outputting a carry and a sum; A logic unit for ANDing the carry outputs of the first and second adders, a comparator comparing the output magnitudes of the first and second adders, and a sum output of the first adder and the first adder according to the renormalization signal. A first multiplexer for selectively outputting a value obtained by subtracting a predetermined value from a sum output, and a sum output of the second adder sum output and the second adder according to the renormalization signal; A second multiplexer for selectively outputting a value obtained by subtracting a predetermined value, a third multiplexer for selecting one of outputs of the first and second multiplexers according to the output of the comparator, and outputting a minimum metric value for each state, and the logic And a fourth multiplexer for selectively outputting the output of the third multiplexer or the highest scale factor set to a constant according to a negative output. 제 1항에 있어서, 상기 각 ACS 유닛은 6비트로 된 누적된 패스 메트릭 값을 갖으며, 최고 스케일 팩터는 정수 63임을 특징으로 하는 비터비 디코더의 가산-비교-선택 장치.2. The apparatus of claim 1, wherein each ACS unit has a cumulative pass metric value of 6 bits and the highest scale factor is an integer 63.
KR1019970007722A 1997-03-07 1997-03-07 Add-compare-select device of viterbi decoder, especially using an extra one bit to prevent overflow KR100442235B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970007722A KR100442235B1 (en) 1997-03-07 1997-03-07 Add-compare-select device of viterbi decoder, especially using an extra one bit to prevent overflow

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970007722A KR100442235B1 (en) 1997-03-07 1997-03-07 Add-compare-select device of viterbi decoder, especially using an extra one bit to prevent overflow

Publications (2)

Publication Number Publication Date
KR19980072765A true KR19980072765A (en) 1998-11-05
KR100442235B1 KR100442235B1 (en) 2004-10-22

Family

ID=37357577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970007722A KR100442235B1 (en) 1997-03-07 1997-03-07 Add-compare-select device of viterbi decoder, especially using an extra one bit to prevent overflow

Country Status (1)

Country Link
KR (1) KR100442235B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000044665A (en) * 1998-12-30 2000-07-15 김영환 Path matric reducing method for viterbi decoding
KR20020072628A (en) * 2001-03-12 2002-09-18 학교법인 인하학원 Path metric normalization method for a high speed SOVA decoder
KR100437818B1 (en) * 1998-03-05 2004-07-16 주식회사 하이닉스반도체 Add compare select circuit of decoder

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418795A (en) * 1991-09-13 1995-05-23 Sony Corporation Viterbi decoder with path metric comparisons for increased decoding rate and with normalization timing calculation
US5349608A (en) * 1993-03-29 1994-09-20 Stanford Telecommunications, Inc. Viterbi ACS unit with renormalization
KR970008419B1 (en) * 1994-04-12 1997-05-23 엘지전자 주식회사 Viterbi decoder for hdtv
JPH0964756A (en) * 1995-08-25 1997-03-07 Sharp Corp Viterbi decoding circuit
KR19980039924A (en) * 1996-11-28 1998-08-17 김광호 Viterbi Decoder

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100437818B1 (en) * 1998-03-05 2004-07-16 주식회사 하이닉스반도체 Add compare select circuit of decoder
KR20000044665A (en) * 1998-12-30 2000-07-15 김영환 Path matric reducing method for viterbi decoding
KR20020072628A (en) * 2001-03-12 2002-09-18 학교법인 인하학원 Path metric normalization method for a high speed SOVA decoder

Also Published As

Publication number Publication date
KR100442235B1 (en) 2004-10-22

Similar Documents

Publication Publication Date Title
EP0846376B1 (en) Method for metric determination in a communication system
US5349608A (en) Viterbi ACS unit with renormalization
KR100580160B1 (en) Two-step soft output viterbi algorithm decoder using modified trace-back
KR100195745B1 (en) Add compare selecter of vitervi decoder
EP2093888B1 (en) Soft-Output Viterbi Detection Using a Radix-n Trellis
US5881075A (en) Viterbi decoder
EP1135877A4 (en) Component decoder and method thereof in mobile communication system
US6070263A (en) Circuit for use in a Viterbi decoder
KR100442235B1 (en) Add-compare-select device of viterbi decoder, especially using an extra one bit to prevent overflow
KR20010039957A (en) Viterbi decoder and viterbi decoding method
KR100276814B1 (en) Apparatus and Method for Normalizing State Value of Component Decoder in Mobile Communication System
KR100256270B1 (en) Apparatus and method for viterbi-decoding an encoding and encoding signal by rescaling a path metric
KR0180303B1 (en) Standardization method and apparatus of viterbi decoder
KR101134806B1 (en) Method for decoding code
US7020831B2 (en) Pipelined add-compare-select circuits and methods, and applications thereof
KR100490815B1 (en) Viterbi decoder
CN112865814B (en) Viterbi decoding method and decoder of convolutional code
KR0169777B1 (en) High speed vitervi decoder
KR0169680B1 (en) Vitervi decoder
KR100237491B1 (en) An apparatus of add-compare-select in a trellis code decoder
Shim et al. Pipelined VLSI architecture of the Viterbi decoder for IMT-2000
KR20020072628A (en) Path metric normalization method for a high speed SOVA decoder
KR100594214B1 (en) Low power viterbi decoder
KR0180305B1 (en) Metric calculating circuit of viterbi decoder
JPH0697843A (en) Viterbi decoder circuit

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee