KR0157121B1 - Vitervi decoder metric calculating circuit - Google Patents
Vitervi decoder metric calculating circuit Download PDFInfo
- Publication number
- KR0157121B1 KR0157121B1 KR1019950050547A KR19950050547A KR0157121B1 KR 0157121 B1 KR0157121 B1 KR 0157121B1 KR 1019950050547 A KR1019950050547 A KR 1019950050547A KR 19950050547 A KR19950050547 A KR 19950050547A KR 0157121 B1 KR0157121 B1 KR 0157121B1
- Authority
- KR
- South Korea
- Prior art keywords
- value
- path metric
- reference signal
- calculator
- state
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
- H03M13/6505—Memory efficient implementations
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 상승부호화기를 사용하여 채널 코딩을 한 후 비터 비디코더를 사용하여 복호화를 수행할 때 버터비 디코더의 계산량을 줄여 분기 메트릭과 경로 메트릭을 저장하기 위한 메모리수를 줄임과 동시에 전력 소비를 감소시킬 수 있는 비터비 디코더의 경로 메트릭 계산 회로에 관한 것이 바, 그 특징은 현 상태에서 수신된 신호와 이상적인 경우의 수신신호와의 차이를 계산하는 분기 메트릭 계산부와, 상기 분기 메트릭 계산부에서 계산된 값과 이전 상태까지 누적된 경로 메트릭 값을 가산하여 초기부터 현재까지의 수신된 신호와 이상적인 신호와의 차이를 계산하는 제1경로 메트릭 계산부와, 상기 제1경로 메트릭 계산부에 의해 계산된 모든 상태들의 값을 이용하여 임의의 기준신호를 발생시키는 기준신호 계산부와, 상기 기준신호 계산부에 의해 발생된 기준신호보다 큰 값을 갖는 상태의 값을 변형하여 상기 제1경로 메트릭 계산부와는 다른 값을 갖는 제2경로 메트릭값을 발생시키는 제2경로 메트릭 계산부와, 채널에 따라 상기 기준신호 계산부의 기준 신호의 값을 변경하고 기준신호에 일정 범위의 마진을 두어 마진 범위를 만족시키는 경우에만 상기 기준신호 계산부와 제2경로 메트릭 계산부를 제어하여 기준신호에 의해 분기 메트릭 값과 경로 메트릭 값을 변형하는 동작을 수행하도록 제어하는 제어 유니트와, 상기 제2경로 메트릭 계산부에 의해 램의 값을 이용하여 시간마다 0을 제외한 모든 상태의 값을 비교하여 가장 작은 값을 갖는 하나의 상태를 선택하여 출력하는 최소상태 선택부와, 상기 최소상태 선택부에 의해 선택된 상태에서부터 미리 설정된 추적 경로만큼 추적을 수행한 후 비터비 디코더 출력값을 출력하는 추적 및 출력부로 구성함에 있다.The present invention reduces the amount of memory for storing branch metrics and path metrics while reducing power consumption while reducing the amount of computation of the Butterby decoder when performing channel coding using a riser and then decoding using a beater decoder. It relates to a path metric calculation circuit of a Viterbi decoder, which is characterized in that the branch metric calculation unit for calculating the difference between the signal received in the current state and the received signal in the ideal case, and the branch metric calculation unit A first path metric calculation unit configured to calculate a difference between the received signal from the initial to the present and the ideal signal by adding the calculated value and the path metric value accumulated from the previous state, and calculated by the first path metric calculation unit. A reference signal calculator which generates an arbitrary reference signal using values of all states, and the reference signal calculator A second path metric calculator for modifying a value having a state greater than that of the generated reference signal to generate a second path metric having a value different from that of the first path metric calculator; The reference signal calculation unit and the second path metric calculation unit are controlled only when the reference signal value is changed and the reference signal has a margin of a predetermined range to satisfy the margin range, thereby controlling the branch metric value and the path metric by the reference signal. The control unit which controls to perform the operation of transforming the value and the second path metric calculation unit compares the values of all states except zero at each time by using the value of the RAM to determine one state having the smallest value. The minimum state selection unit which selects and outputs and tracks as much as a predetermined trace path from the state selected by the minimum state selection unit. As it is composed of a track and an output for outputting the Viterbi decoder output.
Description
제1도는 종래의 비터비 디코더의 전체 구성을 보인 블록도.1 is a block diagram showing the overall configuration of a conventional Viterbi decoder.
제2도는 본 발명에 의한 비터비 디코더의 전체 구성을 보인 블록도.2 is a block diagram showing the overall configuration of a Viterbi decoder according to the present invention.
제3도는 제2도의 제1경로 메트릭 계산부의 일 실시예도.3 is an embodiment diagram of the first path metric calculation unit of FIG.
제4도는 제2도의 기준 신호 계산부의 일 실시예도.FIG. 4 is an embodiment diagram of a reference signal calculator of FIG. 2.
제5도는 제2도의 제2경로 메트릭 계산부의 일 실시예도.FIG. 5 is an embodiment diagram of the second path metric calculator of FIG.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
10 : 분기 메트릭 계산부 20 : 경로 메트릭 계산부10: branch metric calculation unit 20: path metric calculation unit
21 : 제1경로 메트릭 계산부 21a, 23a : 비교기21: first path metric calculation unit 21a, 23a: comparator
21b : 분기 선택기 21c, 22a : 가산기21b: branch selector 21c, 22a: adder
22 : 기준신호 계산부 22b : 제산기22: reference signal calculator 22b: a divider
23 : 제2경로 메트릭 계산부 23b : 리세트기23: second path metric calculation unit 23b: reset device
23c : 홀더 30 : 최소상태 선택부23c: holder 30: minimum state selection
40 : 추적 및 출력부40: tracking and output
본 발명은 적은 연산 과정과 적은 회로 크기를 갖는 비터비 디코더에 관한 것으로서, 보다 상세하게는 상승부호화기를 사용하여 채널 코딩을 한 후 비터비 디코더를 사용하여 복호화를 수행할 때 비터비 디코더의 계산량을 줄여 분기 메트릭과 경로 메트릭을 저장하기 위한 메모리수를 줄임과 동시에 전력 소비를 감소시킬 수 있는 비터비 디코더의 경로 메트릭 계산회로에 관한 것이다.The present invention relates to a Viterbi decoder having a low computational process and a small circuit size. More particularly, the present invention relates to a Viterbi decoder that performs decoding using a Viterbi decoder after performing channel coding using a riser. The present invention relates to a path metric calculation circuit of a Viterbi decoder that can reduce power consumption while reducing the number of memories for storing branch metrics and path metrics.
먼저, 코딩 방법에 대하여 설명하면, 일반적으로 비트 에러율을 감소시키거나 요구되는 Eb/No를 줄이기 위한 목적의 채널 코딩은 잡음(noise), 페이딩(fading), 재밍(jamming)과 같은 다양한 채널의 영향으로부터전송되어지는 신호를 디코더에서 효율적으로 복조하기 위한 방식으로서, 채널 코딩을 통해 일반적으로 약 8db이상의 성능개선을 얻을 수 있으며, 높은 전력 전송을 위한 방법이나 거대한 안테나를 이용하여 비트 에러율을 줄이거나 Eb/No를 조절하는 방법보다 구현하는 비용이 매우 적게 드는 잇점이 있다.First, the coding method will be described. In general, channel coding for the purpose of reducing the bit error rate or reducing the required Eb / No is influenced by various channels such as noise, fading, and jamming. This is a method to efficiently demodulate the signal transmitted from the decoder at the decoder. Channel coding can achieve performance improvement of about 8db or more, and reduce the bit error rate by using a method for high power transmission or using a huge antenna. The advantage is that it is much less expensive to implement than adjusting / No.
이러한 채널 코딩은 크게 직교 코딩 기술(orthogonal coding technique)과 비직교 코딩 기술(non-orthogonal coding technique)이 있는데, 직교 코딩 기술은 채널 코딩의 코드 K가 길어질수록 지수적으로 코딩되어진 데이터 비트의 수가 증가하여 전송해야할 신호의 대역폭 역시 증가하게 되어 대역폭의 사용이 비효율적인 단점을 가지고 있으며, 비직교 코딩 기술은 다시 크게 상승부호와 블록 부호로 나눌 수 있다. 이때 상승부호는 임의 에러를 검출하고 정정하는 기능을 갖고, 블록 부호는 임의 에러와 버스트 에러를 검출하고 정정하는 기능을 갖는 것으로서, 상승부호와 블록 부호의 가장 큰 차이점은 메모리 성분의 사용 유/무에 있으며, 상승부호는 K개의 입력중 이전의 K-1개의 입력과 현재 입력을 이용하는 코딩 방법이다.Such channel coding has two orthogonal coding techniques and a non-orthogonal coding technique. In the orthogonal coding technique, as the code K of the channel coding becomes longer, the number of exponentially coded data bits increases. The bandwidth of the signal to be transmitted is also increased, which makes the use of bandwidth inefficient. Non-orthogonal coding techniques can be further divided into rising codes and block codes. In this case, the rising code has a function of detecting and correcting a random error, and the block code has a function of detecting and correcting a random error and a burst error. The biggest difference between the rising code and the block code is the use of a memory component. Is a coding method using the previous K-1 inputs and the current input among the K inputs.
상기와 같은 상승부호의 디코딩 방법으로서는 비터비 디코더를 이용한 디코딩 방법이 가장 일반적으로 사용되는데, 이러한 비터비 디코더 방법은 최대 가능성(혹은 확률 ; likehood)방법으로 잡음성분이 포함된 수신된 신호와 잡음이 없는 경우의 이상적인 수신신호와의 차이를 비교하여 이 차를 이용하여 디코딩하는 방식으로서, 제1도와 같이 현 상태에서 수신된 신호와의 차이를 계산하는 분기 메트릭 계산부(10)와, 상기 분기 메트릭 계산부에서 계산된 값과 이전 상태까지 누적된 분기 메트릭 값을 이용하여 초기부터 현재까지의 수신된 신호와 이상적인 신호와의 차이를 계산하는 경로 메트릭 계산부(20)와, 그리고 알고리즘에 의해 선택된 하나의 상태를 찾아 출력값을 내보내는 최소 상태 선택부(30)와, 추적 및 출력부(40)로 구성되어 있다.As the decoding method of the rising code, a decoding method using a Viterbi decoder is most commonly used. Such a Viterbi decoder method uses a received signal and a noise including a noise component as a maximum likelihood (or likehood) method. A method of comparing the difference with the ideal received signal when there is no and decoding using this difference, the branch metric calculation unit 10 for calculating the difference with the signal received in the current state as shown in Figure 1, and the branch metric A path metric calculation unit 20 for calculating a difference between the received signal from the initial to the present and the ideal signal using the calculated value from the calculation unit and the branch metric value accumulated from the previous state, and one selected by the algorithm It consists of a minimum state selection unit 30 for finding the state of the output and outputting the output value, and a tracking and output unit 40.
이중 분기 메트릭 계산부(10는 수신된 신호와 이상적인 경우의 수신 신호와의 차를 계산하는 곳으로 이상적인 신호는 롬을 이용하여 읽혀지며, 계산된 분기 메트릭 값은 램을 이용하여 기록되고, 경로 메트릭 계산부(20)는 상기 분기 메트릭 계산부(10)에 의해 계산된 램 데이터와 이전 상태까지 누적된 경로 메트릭값을 램에서 읽어 와서 가산을 한 후 이 데이터를 다시 램에 저장을 하여 다음 시간에서 사용할 수 있도록 하게 하며, 또한 최소상태 선택부(30)는 상기 경로 메트릭 계산부(20)에 의해 램의 값을 이용하여 시간마다 모든 상태의 값을 비교하여 가장 작은 값을 갖는 상태를 선택한다. 그리고 추적 및 출력부(40)는 최소 상태 선택부에 의해 선택된 상태에서부터 미리 설정된 추적 경로만큼 추적을 수행한 후 비터비 디코더 출력값을 출력할 수 있게 된다.The dual branch metric calculation unit 10 calculates the difference between the received signal and the received signal in the ideal case. The ideal signal is read using ROM, and the calculated branch metric value is recorded using the RAM and the path metric is calculated. The calculation unit 20 reads the RAM data calculated by the branch metric calculation unit 10 and the path metric values accumulated up to the previous state from the RAM, adds them, and stores the data in the RAM again at the next time. In addition, the minimum state selector 30 selects a state having the smallest value by comparing the values of all states with time by using the value of the RAM by the path metric calculation unit 20. In addition, the tracking and output unit 40 may output the Viterbi decoder output value after tracing the preset tracking path from the state selected by the minimum state selection unit. The.
그러나 상기와 같은 종래의 비터비 디코더에서는 분기 메트릭 계산부와 경로 메트릭 계산부는 ACS(가산/비교/선택) 연산이 주류를 이루게 되는데 예를 들어 (2, 1, 6)상승, 부호화의 경우 분기 메트릭 계산부에서의 계산은 총 상태의 수가 64개(2의 6제곱개)이므로 분기의 수가 128개(2의 (6+1)제곱개)로 되어 각각의 분기마다 1번의 감산이 필요하며, 경로 메트릭 계산부에서는 64번의 비교 연산과 선택 연산이 이루어지게 되어 총 128번의 감산과 64번의 비교연산과 선택 연산을 수행하게 되므로 이러한 단순한 가산/비교/선택 연산의 반복은 데이터의 처리 속도를 높이기 위하여 필연적으로 회로의 크기를 증가시키는 원인이 되는 문제점이 있었다.However, in the conventional Viterbi decoder as described above, the branch metric calculation unit and the path metric calculation unit have mainstream ACS (addition / comparison / selection) operations. In the calculation section, the total number of states is 64 (6 squared of 2), so the number of branches is 128 (2 (6 + 1) squared), which requires one subtraction for each quarter. In the metric calculation unit, 64 comparison and selection operations are performed, and a total of 128 subtractions and 64 comparison and selection operations are performed. Therefore, it is necessary to repeat this simple addition / comparison / selection operation to speed up data processing. As a result, there was a problem that increases the size of the circuit.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서 본 발명의 목적은 상승부호화기를 사용하여 채널 코딩을 한 후 비터비 디코더를 사용하여 데이터의 복호화를 수행할 때 경로 메트릭 계산부에서 임의의 기중 신호를 만들어 이 기준 신호에 의해 분기 메트릭값과 경로 메트릭 값을 변형시켜 사용함으로써, 비터비 디코더의 계산량을 줄여 분기 메트릭과 경로 메트릭을 저장하기 위한 메모리수를 줄임과 동시에 전력 소비를 감소시킬 수 있는 비터비 디코더의 경로 메트릭 계산 회로를 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to perform arbitrary coding in a path metric calculation unit when decoding data using a Viterbi decoder after channel coding using an uplink encoder. By creating a signal and modifying the branch metric value and the path metric value based on this reference signal, the Viterbi decoder can reduce the computational amount, thereby reducing the number of memories for storing the branch metric and the path metric and reducing power consumption. A path metric calculation circuit of a Viterbi decoder is provided.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 비터비 디코더의 경로 메트릭 계산회로의 특징은 현 상태에서 수신된 신호와 이상적인 경우의 수신신호와의 차이를 계산하는 분기 메트릭 계산부와, 상기 분기 메트릭 계산부에서 계산된 값과 이전 상태까지 누적된 경로 메트릭 값을 가산하여 초기부터 현재까지의 수신된 신호와 이상적인 신호와의 차이를 계산하는 제1경로 메트릭 계산부와, 상기 제1경로 메트릭 계산부에 의해 계산된 모든 상태들의 값을 이용하여 특정값의 기준신호를 발생시키는 기준신호 계산부와, 상기 기준신호 계산부에 의해 발생된 기준신호보다 큰 값을 갖는 상태의 값을 변형하여 상기 제1경로 메트릭 계산부와는 다른 값을 갖는 제2경로 메트릭값을 발생시키는 제2경로 메트릭 계산부와, 채널에 따라 상기 기준신호 계산부의 기준 신호의 값을 변경하고 기준신호에 일정 범위의 마진을 두어 마진 범위를 만족시키는 경우에만 상기 기준신호 계산부와 제2경로 메트릭 계산부를 제어하여 기준신호에 의해 분기 메트릭 값과 경로 메트릭 값을 변형하는 동작을 수행하도록 제어하는 제어 유니트와, 상기 제2경로 메트릭 계산부에 의해 램의 값을 이용하여 시간마다 0을 제외한 모든 상태의 값을 비교하여 가장 작은 값을 갖는 하나의 상태를 선택하여 출력하는 최소상태 선택부와, 상기 최소상태 선택부에 의해 선택된 상태에서부터 미리 설정된 추적 경로만큼 추적을 수행한 후 비터비 디코더 출력값을 출력하는 추적 및 출력부로 구성함에 있다.A characteristic of the path metric calculation circuit of the Viterbi decoder according to the present invention for achieving the above object is a branch metric calculation unit for calculating the difference between the signal received in the current state and the received signal in the ideal case, the branch metric A first path metric calculator that calculates a difference between the received signal and the ideal signal from the beginning to the present by adding a value calculated by the calculator and a cumulative path metric value accumulated in a previous state, and the first path metric calculator A reference signal calculator for generating a reference signal having a specific value using the values of all states calculated by the first state; and modifying a value of a state having a value greater than that of the reference signal generated by the reference signal calculator. A second route metric calculator for generating a second route metric having a value different from that of the route metric calculator, and the reference signal calculator according to a channel; The reference signal calculator and the second path metric calculator are controlled only when the reference signal is changed and a margin of a predetermined range is satisfied in the reference signal to control the branch metric value and the path metric value by the reference signal. The control unit which controls to perform the deforming operation and the second path metric calculation unit compares the values of all states except zero at each time by using the value of the RAM and selects one state having the smallest value. And a tracking and output unit for outputting a Viterbi decoder output value after performing a trace as much as a preset tracking path from the state selected by the minimum state selecting unit.
이하, 본 발명에 따른 비터비 디코더의 경로 메트릭 계산회로의 바람직한 하나의 실시예에 대하여 첨부 도면을 참고하여 상세히 설명하면 다음과 같다.Hereinafter, a preferred embodiment of a path metric calculation circuit of a Viterbi decoder according to the present invention will be described in detail with reference to the accompanying drawings.
제2도는 본 발명에 의한 비터비 디코더의 전체 구성을 보인 블록도로서, 도면에 도시된 바와 같이 현 상태에서 수신된 신호와 롬에서 읽혀지는 이상적인 경우의 수신신호와의 차이를 계산하여 계산된 분기 메트릭 값을 램을 이용하여 기록하는 분기 메트릭 계산부(10)와, 상기 분기 메트릭 계산부에서 계산된 값과 이전 상태까지 누적된 경로 메트릭 값을 가산하여 초기부터 현재까지의 수신된 신호와 이상적인 신호와의 차이를 계산하는 제1경로 메트릭 계산부(21)와, 상기 제1경로 메트릭 계산부에 의해 계산된 모든 상태들의 값을 이용하여 특정값의 기준신호를 발생시키는 기준신호 계산부(22)와, 상기 기준신호 계산부에 의해 발생된 기준신호를 이용하여 이 기준 신호보다 큰 값을 갖는 상태의 값을 0으로 리세트시켜 상기 제1경로 메트릭 계산부와는 다른 값을 갖는 제2경로 메트릭값을 발생시키는 제2경로 메트릭 계산부(23)와, 채널에 따라 상기 기준신호 계산부의 기준 신호의 값을 변경하고 기준신호에 일정 범위의 마진을 두어 계산된 기준 신호와 최소거리의 값의 차이가 일정값 이상이 되는 경우에만 상기 기준신호 계산부와 제2경로 메트릭 계산부를 제어하여 기준신호에 의해 분기 메트릭 값과 경로 메트릭 값을 변형하는 동작을 수행하도록 제어하는 제어 유니트(24)와, 상기 제2경로 메트릭 계산부에 의해 램의 값을 이용하여 시간마다 0을 제외한 모든 상태의 값을 비교하여 가장 작은 값을 갖는 하나의 상태를 선택하여 출력하는 최소상태 선택부(30)와, 상기 최소상태 선택부에 의해 선택된 상태에서부터 미리 설정된 추적 경로 만큼 추적을 수행한 후 비터비 디코더 출력값을 출력하는 추적 및 출력부(40)로 구성하고 있음을 나타내고 있다. 상기에서 제어 유니트(24)는 채널에 따라 기준 신호의 값을 변경하여 상태의 값을 0으로 리세트함으로써 생기는 오차의 정도를 줄이게 하며, 또한 기준신호에 일정 범위의 마진을 두어 계산된 기준 신호와 최소 거리의 값의 차이가 일정값 이상(여기서는 30으로 설정함)이 되는 경우에만 상기 일련의 동작이 수행되게 하여 발생할 수 있는 오차의 정도를 줄이도록 함이 바람직하며, 한편 기준신호 계산부(22)에서 기준 신호를 얻는 방법은 모든 상태들의 경로 메트릭 값을 더한 후 그 값의 평균 값을 기준신호로 사용하거나 또는 기준 신호를 미리 정해 사용하는 방법등이 있을 수 있는데, 본 발명에서는 후자의 방법을 사용함을 예로 든다.2 is a block diagram showing the overall configuration of the Viterbi decoder according to the present invention. As shown in the drawing, a branch calculated by calculating a difference between a signal received in a current state and a received signal in an ideal case read from a ROM. The branch metric calculation unit 10 for recording the metric value using the RAM, the calculated value from the branch metric calculation unit, and the path metric value accumulated from the previous state are added to the received signal from the initial to the present and the ideal signal. A first path metric calculation unit 21 for calculating a difference between and a reference signal calculation unit 22 for generating a reference signal having a specific value by using values of all states calculated by the first path metric calculation unit. And using the reference signal generated by the reference signal calculator to reset the value of the state having a value greater than this reference signal to zero to reset the value of the state with the first path metric calculator. A second path metric calculator 23 for generating a second path metric value having a different value, and a reference calculated by changing a reference signal value of the reference signal calculator according to a channel and giving a margin of a predetermined range to the reference signal; Only when the difference between the signal and the minimum distance is greater than or equal to a predetermined value, the reference signal calculator and the second path metric calculator are controlled to deform the branch metric value and the path metric value by the reference signal. Selecting the minimum state to select and output one state having the smallest value by comparing the values of all states except 0 every time by using the value of the RAM by the control unit 24 and the second path metric calculation unit. A trace for outputting a Viterbi decoder output value after performing a trace as much as a preset trace path from the state selected by the section 30 and the minimum state selector; Indicates that the composed ryeokbu 40. In the above, the control unit 24 reduces the degree of error caused by changing the value of the reference signal according to the channel to reset the state value to zero, and also gives a reference signal calculated by giving a margin of a certain range to the reference signal. It is preferable that the series of operations is performed only when the difference between the minimum distance values is greater than or equal to a predetermined value (in this case, set to 30) to reduce the degree of error that may occur, while the reference signal calculator 22 In the present invention, a method of obtaining a reference signal may include a method of adding a path metric value of all states and then using an average value of the value as a reference signal or using a predetermined reference signal. Take use as an example.
제3도는 제2도의 제1경로 메트릭 계산부의 일 실시예도로서, 도면에 도시된 바와 같이 제1경로 메트릭 계산부(21)는 기존의 경로 메트릭 계산부와 동일한 형태로서, 분기 메트릭 계산부에서 계산된 램의 분기값과 0상태의 값을 비교하는 비교기(21a)와, 상기 비교기의 출력에 따라 분기값을 선택하는 분기 선택기(21b)와, 상기 분기 선택기에 의해 선택된 램 데이터와 이전 상태까지 누적된 경로 메트릭값을 램에서 읽어 와서 가산하는 가산기(21c)로 구성하고 있음을 나타내고 있다.FIG. 3 is an exemplary diagram of the first path metric calculator of FIG. 2. As shown in the drawing, the first path metric calculator 21 is the same as the existing path metric calculator, and is calculated by the branch metric calculator. A comparator 21a for comparing the branch value of the established RAM and the value of the zero state, a branch selector 21b for selecting the branch value according to the output of the comparator, and the RAM data selected by the branch selector and the previous state. The path metric value is read out from the RAM and added to the adder 21c.
제4도는 제2도의 기준 신호 계산부(22)의 일 실시예도로서, 도면에 도시된 바와 같이 기준신호 계산부(22)는 제1경로 메트릭 계산부(21)에 의해 계산된 모든 상태들의 값을 더하는 가산기(22a)와, 상기 가산기의 출력을 상태값으로 나누는 제산기(22b)로 구성하여 상기 제산기에 의해 얻어지는 그 평균값으로 기준신호를 설정할 수 있음을 나타내고 있으며, 또한 모든 상태의 값을 비교하여 원하는 개수만큼 카운트하고, 그 최종 카운트된 상태의 값으로 기준신호를 설정함도 가능하다.4 is an exemplary diagram of the reference signal calculator 22 of FIG. 2, and as shown in the drawing, the reference signal calculator 22 may calculate values of all states calculated by the first path metric calculator 21. And a divider 22b for dividing the output of the adder by the state value, indicating that the reference signal can be set to the average value obtained by the divider, and the values of all states It is also possible to count as many as desired by comparison, and set the reference signal to the value of the last counted state.
제5도는 제2도의 제2경로 메트릭 계산부(23)의 일 실시예도로서, 도면에 도시된 바와 같이 상기 기준신호 계산부(22)에서 발생되는 특정의 기준신호와 이전까지의 최소거리를 비교하는 비교기(23a)와, 상기 비교기의 비교결과, 기준신호보다 큰 값을 갖는 상태값을 0으로 리세트시키는 리세트기(23b)와, 상기 비교기의 비교결과, 기준신호보다 크지 않은 값을 갖는 상태값을 그대로 유지시키는 홀더(23c)로 구성함이 바람직하다.FIG. 5 is an exemplary diagram of the second path metric calculator 23 of FIG. 2, and compares a specific reference signal generated by the reference signal calculator 22 with a minimum distance up to the previous path, as shown in FIG. The comparator 23a and a reset device 23b for resetting the state value having a value greater than the reference signal to zero, and the state having a value not greater than the reference signal as a result of the comparison between the comparator It is preferable to comprise with the holder 23c which keeps a value as it is.
이상에서와 같은 구성을 참고하여 본 발명에 따른 비터비 디코더의 경로 메트릭 계산회로의 동작을 설명하면 다음과 같다.Referring to the configuration as described above with reference to the operation of the path metric calculation circuit of the Viterbi decoder according to the present invention.
먼저 분기 메트릭 계산부(10)에서는 현 상태에서 수신된 신호와 롬에서 읽혀지는 이상적인 경우의 수신신호와의 차이를 계산하여 계산된 분기 메트릭 값을 램을 이용하여 기록하고, 제1경로 메트릭 계산부(21)에서는 상기 분기 메트릭 계산부에서 계산되어 램에 저장된 값과 이전 상태까지 누적된 경로 메트릭 값을 가산하여 초기부터 현재까지의 수신된 신호와 이상적인 신호와의 차이를 계산하여 다시 램에 저장한다. 다음으로 본 발명은 비터비 디코더의 계산량을 줄이기 위하여 경로 메트릭을 계산하는 부분에서 기준신호 계산부(22)에 의해 제1경로 메트릭 계산부(21)에서 계싼된 모든 상태들의 값을 더한 후 그 값의 평균값이나 혹은 미리 설정한 값에 의한 특정값의 기준 신호를 만들며, 제2경로 메트릭 계산부(23)에서는 상기 기준신호 계산부(22)에 의해 발생된 기준 신호와 계산되어진 경로 메트릭 값을 비교하여 이 기준 신호보다 큰 값을 갖는 상태의 값을 0으로 리세트시키고 나머지 상태값들은 값의 변화없이 고유의 값을 유지하게 하여 제1경로 메트릭값과는 다른 값을 갖는 새로운 제2경로 메트릭값을 발생시키게 되는데, 0의 값과 0이 아닌 값을 갖는 분기 메트릭값의 비교/선택시에는 0의 값을 갖는 분기 메트릭값을 버리고 0이 아닌 값을 갖는 분기 메트릭값을 선택하여 이 값을 최종적으로 경로 메트릭값으로 사용하게 된다. 즉, 상태의 값이 0이 되면 경로 메트릭 계산시 분기의 값들을 비교하여 작은 값을 선택하게 되는데, 분기중 0의 값을 갖는 것이 존재하게 되면 이들 분기들의 비교 연산을 수행하지 않고 0의 값을 갖지 않는 분기를 직접 선택하게 되며, 또한 최소 거리를 갖는 상태를 선택할 때 0의 값을 갖는 상태가 존재하게 되므로 최소거리 상태를 선택시 0의 값을 갖는 상태는 계산이 되지 않도록 하여 잘못된 경로를 선택하지 못하게 한다. 따라서 이러한 방식은 0의 값을 갖는 분기나 상태는 분기 메트릭 계산이나 경로 메트릭 계산시에 제외되므로 결국 비터비 디코더의 계산량을 줄이게 된다.First, the branch metric calculation unit 10 calculates a difference between a signal received in a current state and a received signal in an ideal case read from a ROM, and records the calculated branch metric value using a RAM, and the first path metric calculation unit In operation 21, the branch metric calculation unit calculates the difference between the received signal from the initial to the present and the ideal signal by adding the value stored in the RAM and the accumulated path metric value up to the previous state, and storing the difference in the RAM again. . Next, the present invention adds the values of all states enumerated in the first path metric calculator 21 by the reference signal calculator 22 in the part of calculating the path metric to reduce the amount of computation of the Viterbi decoder. The reference signal generated by the reference signal calculation unit 22 is compared with the reference signal generated by the reference signal calculation unit 22 in the second path metric calculation unit 23. Thus, the value of the state having a value larger than this reference signal is reset to 0, and the remaining state values remain unique without changing the value so that the new second path metric value different from the first path metric value is obtained. When comparing / selecting a branch metric value having a value of 0 and a nonzero value, a branch metric value having a value of 0 is discarded and a branch metric value having a nonzero value is generated. Chosen to be the final path metric value by using this value. In other words, when the state value is 0, the route metric calculation compares the values of branches and selects a smaller value. If there is a value of 0 among the branches, the value of 0 is not performed without performing the comparison operation of these branches. Since the branch with no minimum is selected and the state with the minimum distance exists when selecting the state with the minimum distance, the state with the value of 0 when selecting the minimum distance state is selected so that the wrong path is selected. Do not let it. Thus, this approach eliminates branching and state values with zero values in the branch metric calculation or path metric calculation, thus reducing the amount of computation in the Viterbi decoder.
이상에서와 같이 본 발명에 따른 비터비 디코더의 경로 메트릭 계산회로에 의하면 상승부호화기를 사용하여 채널 코딩을 한 후 비터비 디코더를 사용하여 복호화를 수행할 때 경로 메트릭 계산시 기준신호보다 큰 값은 0으로 리세트시키므로 많은 데이터를 처리하는 경우에 비터비 디코더의 계산량을 줄여 분기 메트릭값과 경로 메트릭값을 저장하기 위한 메모리수를 줄일 수 있을 뿐만 아니라 전력 소비를 감소시킬 수 있고 경로 메트릭의 값을 저장할 때 메모리의 증대를 막기 위해 정상화하는 회로가 필요 없게 되어 회로의 크기를 줄일 수 있는 유용함이 있다.As described above, according to the path metric calculation circuit of the Viterbi decoder according to the present invention, when decoding is performed using the Viterbi decoder after performing channel coding using the uplink encoder, a value larger than the reference signal is 0 when calculating the path metric. Resets the Viterbi decoder to reduce the amount of memory required to store branch and path metric values, as well as reduce power consumption and to store path metric values when processing large amounts of data. When there is no need to normalize the circuit to prevent the increase of the memory is useful to reduce the size of the circuit.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950050547A KR0157121B1 (en) | 1995-12-15 | 1995-12-15 | Vitervi decoder metric calculating circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950050547A KR0157121B1 (en) | 1995-12-15 | 1995-12-15 | Vitervi decoder metric calculating circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970055626A KR970055626A (en) | 1997-07-31 |
KR0157121B1 true KR0157121B1 (en) | 1999-02-18 |
Family
ID=19440511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950050547A KR0157121B1 (en) | 1995-12-15 | 1995-12-15 | Vitervi decoder metric calculating circuit |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0157121B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990077972A (en) * | 1998-03-18 | 1999-10-25 | 이데이 노부유끼 | Viterbi decoding apparatus and viterbi decoding method |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6219387B1 (en) * | 1996-04-04 | 2001-04-17 | Texas Instruments Incorporated | Metric circuit and method for use in a viterbi detector |
JP4189708B2 (en) * | 1998-12-14 | 2008-12-03 | ソニー株式会社 | Decoding device and method, and recording medium |
KR100580160B1 (en) * | 1999-09-14 | 2006-05-15 | 삼성전자주식회사 | Two-step soft output viterbi algorithm decoder using modified trace-back |
US6999521B1 (en) * | 1999-12-23 | 2006-02-14 | Lucent Technologies Inc. | Method and apparatus for shortening the critical path of reduced complexity sequence estimation techniques |
-
1995
- 1995-12-15 KR KR1019950050547A patent/KR0157121B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990077972A (en) * | 1998-03-18 | 1999-10-25 | 이데이 노부유끼 | Viterbi decoding apparatus and viterbi decoding method |
Also Published As
Publication number | Publication date |
---|---|
KR970055626A (en) | 1997-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5920599A (en) | Soft decision decoder | |
US6748034B2 (en) | Viterbi decoding apparatus and viterbi decoding method | |
EP0670636A1 (en) | Viterbi processor | |
US5566191A (en) | Soft decision maximum likelihood decoding method with adaptive metric | |
EP0543586A2 (en) | Viterbi decoding apparatus | |
KR100346529B1 (en) | Digital signal processor | |
US7263652B2 (en) | Maximum likelihood detector and/or decoder | |
KR0157121B1 (en) | Vitervi decoder metric calculating circuit | |
KR100456474B1 (en) | Method for iterative decoding of block turbo code and Recording medium for iterative decoding program of block turbo code | |
US7822138B2 (en) | Calculating apparatus and method for use in a maximum likelihood detector and/or decoder | |
US20070201586A1 (en) | Multi-rate viterbi decoder | |
KR20010092900A (en) | Apparatus for stopping recursive decoding and turbo decoder comprising it | |
KR0122749B1 (en) | Soft decision method using adaptive quantization | |
US7558343B2 (en) | Tap-selectable viterbi equalizer | |
KR20000052143A (en) | Adaptive viterbi decoder and operating method thereof | |
US6842490B1 (en) | Viterbi decoder with adaptive traceback | |
EP0430428A2 (en) | Data symbol estimation | |
KR0144837B1 (en) | Decoding method and apparatus of optimum decoding path | |
KR100681123B1 (en) | Method for changeing the discarding threshold value for improvement of performance in the digital communication system | |
KR100340222B1 (en) | Method and apparatus for decoding multi-level tcm signal | |
KR0180303B1 (en) | Standardization method and apparatus of viterbi decoder | |
JPS62135017A (en) | Viterbi decoder | |
US20030212949A1 (en) | Apparatus for back-tracking survivor paths of trellis code data and method thereof | |
US7127666B2 (en) | Device and method to carry out a viterbi-algorithm | |
JP2551027B2 (en) | Sequential decoding method and device |
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: 20090714 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |