KR100228474B1 - Bm calculator of viterbi encoder - Google Patents
Bm calculator of viterbi encoder Download PDFInfo
- Publication number
- KR100228474B1 KR100228474B1 KR1019940000031A KR19940000031A KR100228474B1 KR 100228474 B1 KR100228474 B1 KR 100228474B1 KR 1019940000031 A KR1019940000031 A KR 1019940000031A KR 19940000031 A KR19940000031 A KR 19940000031A KR 100228474 B1 KR100228474 B1 KR 100228474B1
- Authority
- KR
- South Korea
- Prior art keywords
- giro
- calculating
- symbols
- giro evaluation
- difference
- 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/25—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
- H03M13/256—Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with trellis coding, e.g. with convolutional codes and TCM
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 디지털 통신 채널에서 발생되는 에러를 보정하기 위한 복호기에 관한 것으로서, 격자 부호화 변조(Trellis Coded Modulation)방식에 사용되는 비터비 복호화기에 있어서 수신되는 데이터와 부호화 되어진 각 심볼간의 지로평가량을 계산하기 위한 장치에 관한 것이다.The present invention relates to a decoder for correcting an error generated in a digital communication channel. The present invention relates to calculating a giro evaluation amount between received data and each encoded symbol in a Viterbi decoder used in a trellis coded modulation. It relates to a device for.
본 발명의 지로평가량 연산장치는, 수신되는 데이터와 부호화되어 각 심볼간의 지로평가량을 계산식이거나 또는로 연산하여 N개의 심볼 랫수만큼의 유클리딘 거리를 출력하도록 회로를 구성한다.The giro evaluation amount calculating apparatus of the present invention calculates a giro evaluation amount between each symbol after being encoded with the received data. Or The circuit is configured to output the Euclidean distance as many as N symbol rats.
Description
제1도는 격자 부호화 변조 방식에 사용되는 종래의 비터비 복호기 블록 구성도.1 is a block diagram of a conventional Viterbi decoder used in a trellis coded modulation scheme.
제2도는 격자 부호화 변조 방식에 사용되는 본 발명의 비터비 복호기 블록 구성도.2 is a block diagram of a Viterbi decoder of the present invention used in a trellis coded modulation scheme.
제3도는 제2도 중 지로평가량 연산장치의 구체 블록 구성도.3 is a concrete block diagram of the evaluation apparatus of FIG.
본 발명은 디지털 통신채널에서 발생되는 에러를 보정하기 위한 복호기에 관한 것으로, 특히 격자부호화변조(Trellis Coded Modulation)방식에 사용되는 비터비 복호기(Viterbi Decoder)에 있어서 수신되는 데이터와 부호화되어진 각 심볼간의 지로평가량을 계산하기 위한 장치에 관한 것이다.The present invention relates to a decoder for correcting an error occurring in a digital communication channel, and in particular, between a data received in a Viterbi decoder used in a Trellis Coded Modulation method and each symbol encoded. The present invention relates to an apparatus for calculating a giro evaluation amount.
비터비 복호기에서 수신되는 데이터와 부호화 되어진 심볼간의 지로 평가량 계산을 수행하여 수신데이터를 복호화하는 비터비 복호기의 블록도는 제1도와 같다.A block diagram of a Viterbi decoder which decodes received data by performing an evaluation amount calculation between the data received by the Viterbi decoder and the encoded symbols is shown in FIG.
제1도를 참조하면, 송신장치에서 변조되어 무선송신된 데이터가 수신장치의 복조기(100)에 수신되면, 상기 복조기(100)에서는 데이터 복조를 수행하고 I성분 및 Q성분 아날로그신호로 분리하여 출력한다. I, Q성분으로 분리된 아날로그(Analog)신호는 제1, 제2 ADC(Analog to Digital Converter: 110, 111)에 의해서 디지털(Digital)데이터로 변환한다. A/D변환된 I, Q성분 디지털 데이터 각각은 지로평가량 룩업테이블의 어드레스로 사용한다. 상기 어드레스는 일 예로 6비트로 구성되는데, A/D변환된 I성분 디지털 데이터는 어드레스가 A6∼A11이고, A/D변환된 Q성분 디지털 데이터는 어드레스가 A0∼A5이다. 그러므로 상기 제1ADC(110)에서 출력되는 I성분 디지털 데이터는 어드레스 비트 A6이 ADC(110)의 최하위 비트(LSB)가 되며, 제2 ADC(111)에서 출력되는 Q성분 디지털데이터는 어드레스 비트 A0이 ADC(111)의 최하위 비트(LSB)가 된다.Referring to FIG. 1, when data modulated by a transmitter and wirelessly transmitted are received by a demodulator 100 of a receiver, the demodulator 100 performs data demodulation and outputs the I component and Q component analog signals separately. do. Analog signals separated by I and Q components are converted into digital data by first and second ADCs (Analog to Digital Converters 110 and 111). Each of the A / D-converted I and Q component digital data is used as an address of a Giro evaluation amount lookup table. For example, the address is composed of 6 bits. The A / D converted I-component digital data has addresses A6 to A11, and the A / D converted Q-component digital data has addresses A0 to A5. Therefore, the I component digital data output from the first ADC 110 has the address bit A6 being the least significant bit (LSB) of the ADC 110, and the Q component digital data output from the second ADC 111 has the address bit A0 having the same value. It becomes the least significant bit (LSB) of the ADC 111.
지로평가량 룩업테이블은 제1, 제2 롬(120,121)상에서 구현되는데, 제1 롬(120)에서는 고차 지로평가량 룩업테이블(High order Branch Metric Look up table)이 구현되고, 제2 롬(121)에서는 저차 지로평가량 룩업테이블(Low order Branch Metric Look up table)이 구현된다.The Gero metric lookup table is implemented on the first and second ROMs 120 and 121. In the first ROM 120, a high order branch metric look up table is implemented, and in the second ROM 121, A low order branch metric look up table is implemented.
상기 제1, 제2 ADC(110, 111)에서 제공되는 어드레스에 의거해서 제1, 제2 롬(120,121)에 기 저장되어 있는 지로평가량 및 섹터번호들 중 해당되는 지로평가량 BM과 섹터번호 SECTOR가 트렐리스 디코더(Trellis Decoder)(130)에 제공된다. 트렐리스 디코더(130)는 이들 지로평가량 BM과 섹터번호 SECTOR로부터 수신된 데이터를 비터비 복호화 알고리즘을 사용하여 복호한다.Based on the addresses provided by the first and second ADCs 110 and 111, among the giro evaluation amounts and sector numbers previously stored in the first and second ROMs 120 and 121, the corresponding giro evaluation amounts BM and sector number SECTOR Provided to Trellis Decoder 130. The trellis decoder 130 decodes the data received from these giro evaluation amounts BM and the sector number SECTOR using a Viterbi decoding algorithm.
상술한 바와 같은 제1도의 비터비 복호기에서 수신데이터를 복호화하는 회로는 롬과 같은 메모리를 이용한 룩업테이블방식을 사용하여 지로평가량을 계산함으로써 제곱근 연산을 수행함에 따른 계산이 복잡하였고, 그에 따른 하드웨어도 복잡하게 되어 문제가 되었다.In the Viterbi decoder of FIG. 1, the circuit for decoding the received data is complicated by performing a square root operation by calculating a giro evaluation using a lookup table method using a memory such as a ROM. It became complicated.
따라서 본 발명의 목적은 격자부호화 변조방식에 사용되는 비터비 복호기에 있어서 룩업테이블을 사용하지 않고 지로 평가량을 연산하여 고속처리가 가능한 지로평가량 연산장치를 제공함에 있다.Accordingly, an object of the present invention is to provide a giro evaluation amount calculating apparatus capable of high-speed processing by calculating a giro evaluation amount without using a look-up table in a Viterbi decoder used in a lattice encoding modulation method.
이하 첨부된 도면을 참조하여본 발명의 바람직한 실시예를 상세히 설명한다. 비터비 복호화 알고리즘은 길쌈 후보 복호법 중의 하나로서 기호들이 동일 확률로 발생하는 경우에 복호 오류를 최소화하는 복호화 알고리즘이다. 유클리딘(Euclidean)거리를 적용한 비터비 알고리즘은 유클리딘 거리(Euclidean Distance)를 최소화하는 것이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. The Viterbi decoding algorithm is one of convolutional candidate decoding methods and is a decoding algorithm that minimizes a decoding error when symbols occur with equal probability. The Viterbi algorithm using Euclidean distance is the Euclidean distance. To minimize.
여기서 ri는 수신된 신호계열이며 υi는 복호되는 수신계열이다.Where r i is the received signal sequence and υ i is the received sequence.
이러한 유클리딘 거리 계산은 복호기의 처음단계인 지로평가량 연산장치(220)에서 수행하게 되며, 이의 계산식은 하기 식(1)과 같다.The Euclidine distance calculation is performed by the giro evaluation unit calculating unit 220, which is the first step of the decoder, the formula is as shown in Equation (1).
[수학식 1][Equation 1]
………… (1) … … … … (One)
여기서, Xc, Yc는 신호공간(Signal Space)상에서의 각 신호점에 대한 I, Q좌표 값을 나타내며, Xi, Yi는 수신된 데이터에 대한 좌표값이다.Here, X c and Y c represent I and Q coordinate values for each signal point in the signal space, and X i and Y i are coordinate values for the received data.
상기 식(1)에 의해 수신된 데이터의 유클리딘 거리 ED가 정해지면 트렐리스도 내의 각 상태에서는 유클리딘 거리 ED가 가장 작은 지로를 찾게되며 이 지로가 바로 생존경로로 된다.When the Euclidean distance ED of the data received by Equation (1) is determined, the Euclidine distance ED finds the smallest giro in each state in the trellis, and this branch becomes a survival path.
수신된 데이터의 지로평가량을 위한 상기 계산식(1)을 구현하는 회로는 매우 복잡하며, 실제 격자(Trellis) 상에서 최적경로를 찾는데 필요한 것은 실질적인 유클리딘 거리가 아니라 상대적인 비교치이기 때문에 본 발명에서는 지로평가량으로 근사 값을 사용한다. 따라서, 지로평가량 연산을 위해 하기 식(2)과 같은 제곱 유클리딘(Squared Euclidean)거리(SED)를 계산하는 식을 사용할 수 있다.The circuit which implements the above equation (1) for the giro evaluation of the received data is very complicated, and in the present invention, since it is not the actual Euclidine distance but the relative comparison that is needed to find the optimal path on the real Trellis, Use an approximation value for the estimate. Therefore, a formula for calculating a squared Euclidean distance (SED), such as the following Equation (2), can be used for the calculation of the giro evaluation.
[수학식 2][Equation 2]
……… (2) … … … (2)
이 경우, 종래와 같은 제곱근 연산기 구현의 필요성이 없어지므로 하드웨어 복잡도가 줄어들게 되며, 제곱연산에 전용논리회로를 구성하여 사용하면 회로를 최적화 할 수 있게 된다.In this case, since there is no need to implement a square root operator as in the prior art, hardware complexity is reduced, and by configuring and using a dedicated logic circuit for the square operation, the circuit can be optimized.
상기 제곱연산에 사용되는 전용논리회로에 대해서는 1992년 12월 31일자로 출원된 특허 92-27557호에서 자세하게 개시하고 있다.The dedicated logic circuit used for the square operation is disclosed in detail in patent 92-27557 filed December 31, 1992.
또한, 하기 식(3)을 이용하도록 회로를 구성하면 지로평가량 연산장치의 구성에 필요한 하드웨어가 상당히 줄어들 수 있다.In addition, if the circuit is configured to use the following equation (3), the hardware required for the configuration of the giro evaluation amount computing device can be significantly reduced.
[수학식 3][Equation 3]
……… (3) … … … (3)
식(3)의 경우, 실제 하드웨어 구성에 있어 가감산의 구현만이 필요하므로 식(1)에서의 유클리딘 거리 ED나 식(2)에서의 제곱 유클리딘 거리 SED의 경우보다 하드웨어 복잡도가 상당히 줄어들게 된다.In the case of equation (3), only the implementation of the additive subtraction is required in the actual hardware configuration, so the hardware complexity is higher than that of the Euclidean distance ED in equation (1) or the squared Euclidean distance SED in equation (2). It will be considerably reduced.
본 발명에서는 상기한 식(2)(3)과 같은 지로 평가량 연산장치를 구현한다.In the present invention, the evaluation amount calculating device is implemented in the same manner as the above equations (2) and (3).
제2도는 격자 부호화 변조방식에 사용되는 본 발명의 비터비 복호기로서, 상기 식(2)(3)을 구현하는 지로 평가량 연산장치(220)(Branch Metric Calculator)를 포함한다.FIG. 2 is a Viterbi decoder of the present invention for use in a trellis coded modulation scheme, and includes a branch metric calculator 220 that implements Equation (2) and (3).
제2도에서, 복조기(200), 제1, 제2 ADC(210, 211)는 제1도인 종래의 비터비 복호기에서의 대응하는 구성 및 그에 따른 동작이 동일하다.In FIG. 2, demodulator 200, first and second ADCs 210, 211 have the same configuration and operation according to the conventional Viterbi decoder of FIG.
지금 복조기(200)에서 I, Q성분으로 분리된 아날로그 신호는 ADC(210, 211)에서 A/D변환되어 복호기 내의 지로평가량 연산장치(220)로 입력된다. 여기서, 복조기(200)가 디지털 회로로 구현된 경우에는 ADC(Analog to Digital Converter)가 필요 없이 곧바로 복조기(200)의 출력을 사용할 수 있게 된다.The analog signal separated by the I and Q components in the demodulator 200 is then A / D converted by the ADCs 210 and 211 and input to the gyro evaluation unit 220 in the decoder. In this case, when the demodulator 200 is implemented as a digital circuit, the output of the demodulator 200 can be used immediately without the need for an analog to digital converter (ADC).
지로 평가량 연산장치(220)는 수신된 데이터와 각 신호점들 간의 유클리딘 거리를 계산하여 출력하게 되는데, 출력되는 유클리딘 거리는 심볼의 개수만큼 출력된다.The branch evaluation apparatus 220 calculates and outputs the Euclidean distance between the received data and each signal point, and the output Euclidean distance is output as many as the number of symbols.
상기 지로평가량 연산장치(220)의 구성 및 동작설명을 제3(a)도 및 제3(b)도를 참조하여 설명한다.The configuration and operation of the giro evaluation amount calculating device 220 will be described with reference to FIGS. 3 (a) and 3 (b).
제3(a)도는 지로평가량 연산식(2)인를 구현하기 위한 블록 구성도이며,FIG. 3 (a) is the equation for evaluating the amount of giro (2) It is a block diagram for implementing
제3(b)도는 지로평가량 연산식(3)인를 구현하기 위한 블록 구성도이다.3 (b) is the equation for calculating the amount of giro (3) This is a block diagram for implementing.
상기 제3(a)도의 연산식(2)를 구현하는 지로평가량 연산장치(220)는, I 및 Q성분의 각각 심볼과 수신데이터의 차를 계산하여 출력하는 차 계산기(300, 301)와,The giro evaluation amount calculating device 220, which implements the calculation formula (2) of FIG. 3 (a), includes difference calculators 300 and 301 for calculating and outputting a difference between symbols and received data of I and Q components, respectively;
차계산기(300, 301)에서 출력되는 수신데이터의 차를 제곱연산하는 제곱계산회로(310, 311)와,Square calculation circuits 310 and 311 for square operation of the difference between the received data output from the difference calculators 300 and 301, and
상기 제곱계산회로(310, 311)에서 출력되는 데이터를 가산하여 N개의 심볼 갯수만큼의 유클리딘(Euclidean)거리를 출력하는 가산기(320)로 이루어진다.The adder 320 adds data output from the square calculating circuits 310 and 311 and outputs Euclidean distance as many as N symbols.
한편 제3(b)도의 연산식(3)을 구현하는 지로평가량 연산장치(220)는,On the other hand, the giro evaluation amount calculating device 220 for implementing the calculation formula (3) of FIG.
I 및 Q성분의 각각 심볼과 수신데이터의 차를 계산하여 출력하는 차 계산기(302, 303)와,Difference calculators 302 and 303 for calculating and outputting a difference between symbols of I and Q components and received data, respectively;
상기 차계산기(302, 303)에서 출력되는 I 및 Q성분 수신데이터 차를 가산하여 유클리딘 거리를 출력하는 가산기(321)로 구성한다.And an adder 321 that adds the difference between the I and Q component received data output from the difference calculators 302 and 303 and outputs a Euclidean distance.
제3(a)도에서, A/D변환된 I, Q성분은 각각의 심볼과 수신된 데이터와의 차를 차계산기(300, 301)에서 계산하며, 제곱계산회로(310∼311)에서 제곱연산을 수행한 후 각각의 성분을 가산기(320)에서 가산하여 n심볼 갯수만큼의 유클리딘 거리를 출력한다.In FIG. 3 (a), the A / D-converted I and Q components calculate the difference between each symbol and the received data in the difference calculators 300 and 301, and are squared in the square calculation circuits 310 to 311. After the operation, each component is added by the adder 320 to output the Euclidine distance as many as the number of n symbols.
따라서, 가산기(320)에서 출력되는 값은 상기 계산식(2)Therefore, the value output from the adder 320 is calculated by the formula (2).
을 만족한다. To satisfy.
또한 제3(b)도에서는, 제3(a)도에서의 제곱계산회로(310, 311)를 제외하면 모든 동작은 동일하게 이루어진다.In FIG. 3 (b), all operations are the same except for the square calculating circuits 310 and 311 in FIG. 3 (a).
따라서, 가산기(321)에서 출력되는 값은 계산식(3)Therefore, the value output from the adder 321 is calculated by equation (3).
을 만족한다. To satisfy.
상술한 바와 같이 본 발명은 격자부호화변조(Trellis-Coded Modulation)방식에 사용되는 비터비 복호기에 있어서, 메모리 등에 의한 룩업 테이블방식을 사용하지 않는 지로평가량 연산장치를 구성함으로써 수신된 데이터와 신호공간상의 모든 심볼들과의 유클리딘 거리를 동시에 고속으로 처리할 수 있다. 또한 제곱근 계산이 필요 없는 지로평가량 연산장치를 구성함으로써, 구현에 필요한 하드웨어의 규모를 줄일 수 있는 효과를 가진다.As described above, the present invention relates to a Viterbi decoder used in a Trellis-Coded Modulation method, which comprises a giro evaluation apparatus that does not use a lookup table method using a memory or the like. Euclidean distance with all symbols can be processed at high speed simultaneously. In addition, by constructing a giro evaluation unit that does not require square root calculation, it has the effect of reducing the size of the hardware required for the implementation.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940000031A KR100228474B1 (en) | 1994-01-03 | 1994-01-03 | Bm calculator of viterbi encoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940000031A KR100228474B1 (en) | 1994-01-03 | 1994-01-03 | Bm calculator of viterbi encoder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950024068A KR950024068A (en) | 1995-08-21 |
KR100228474B1 true KR100228474B1 (en) | 1999-11-01 |
Family
ID=19375226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940000031A KR100228474B1 (en) | 1994-01-03 | 1994-01-03 | Bm calculator of viterbi encoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100228474B1 (en) |
-
1994
- 1994-01-03 KR KR1019940000031A patent/KR100228474B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR950024068A (en) | 1995-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0052463B1 (en) | Soft decision convolutional code transmission system | |
US4823346A (en) | Maximum likelihood decoder | |
US4583078A (en) | Serial Viterbi decoder | |
JPH07312619A (en) | Torerisu decoding method | |
JP2768169B2 (en) | Data transmission method | |
EP1195908A2 (en) | Method and apparatus for processing modulation symbols for soft input decoders | |
JPH05335972A (en) | Viterbi decoder | |
US5379306A (en) | Viterbi decoding method | |
US8009773B1 (en) | Low complexity implementation of a Viterbi decoder with near optimal performance | |
US7046747B2 (en) | Viterbi decoder and decoding method using rescaled branch metrics in add-compare-select operations | |
US20030018941A1 (en) | Method and apparatus for demodulation | |
KR100228474B1 (en) | Bm calculator of viterbi encoder | |
JP4675312B2 (en) | Encoding device, decoding device, transmitter, and receiver | |
KR100888860B1 (en) | Method for dividing received symbol signal modulated bit reflected gray code into bits, and device thereof | |
NO305629B1 (en) | Data transfer ° ring means | |
US7062000B1 (en) | Viterbi decoder | |
KR0138875B1 (en) | Branch metric module in viterbi decoder | |
US6925592B2 (en) | Turbo decoder, turbo encoder and radio base station with turbo decoder and turbo encoder | |
US7020223B2 (en) | Viterbi decoder and method using sequential two-way add-compare-select operations | |
US7225393B2 (en) | Viterbi decoder and Viterbi decoding method | |
AU2000229439B2 (en) | Viterbi decoder | |
US6041086A (en) | Signal decoding for either Manhattan or Hamming metric based Viterbi decoders | |
KR20010113792A (en) | Method and apparatus for decoding recursive convolutional symbols | |
JP3733901B2 (en) | Turbo decoder | |
WO2017013767A1 (en) | Reception apparatus and communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20070727 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |