KR19990026452A - Viterbi Decoder - Google Patents

Viterbi Decoder Download PDF

Info

Publication number
KR19990026452A
KR19990026452A KR1019970048565A KR19970048565A KR19990026452A KR 19990026452 A KR19990026452 A KR 19990026452A KR 1019970048565 A KR1019970048565 A KR 1019970048565A KR 19970048565 A KR19970048565 A KR 19970048565A KR 19990026452 A KR19990026452 A KR 19990026452A
Authority
KR
South Korea
Prior art keywords
decoding
traceback
viterbi decoder
unit
frame
Prior art date
Application number
KR1019970048565A
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 KR1019970048565A priority Critical patent/KR19990026452A/en
Publication of KR19990026452A publication Critical patent/KR19990026452A/en

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

본 발명은 비터비 디코더(Viterbi Decoder)에 관한 것으로서, 구체적으로는 디코딩 과정에서 발생되는 에러를 방지할 수 있는 비터비 디코더에 관한 것으로, 구비된 가산비교선택부(220)에 트래이스백 초기화 제어부(400)를 구비하여 디코딩시에 매 프레임 마다 '0'에서 시작하여 '0'으로 종료되게 하므로서 종래의 경우 디코딩시에 후단 부분에서 에러가 발생될 수 있는 경우가 방지된다.The present invention relates to a Viterbi decoder, and more particularly, to a Viterbi decoder capable of preventing an error occurring in a decoding process. The traceback initialization controller is provided in the addition comparison selector 220 provided. 400, the decoding process starts at '0' and ends with '0' every frame, thereby preventing a case where an error may occur at a later portion during decoding.

Description

비터비 디코더(VITERBI DECODER)VITERBI DECODER

본 발명은 비터비 디코더(Viterbi Decoder)에 관한 것으로서, 구체적으로는 디코딩 과정에서 발생되는 에러를 방지할 수 있는 비터비 디코더에 관한 것이다.The present invention relates to a Viterbi decoder, and more particularly, to a Viterbi decoder capable of preventing an error generated during a decoding process.

도 1은 일반적인 비터비 디코더의 회로 구성을 보여주는 블록도이고, 도 2는 종래의 가산비교선택부의 회로 구성을 보여주는 상세 블록도이다.1 is a block diagram showing a circuit configuration of a general Viterbi decoder, and FIG. 2 is a detailed block diagram showing a circuit configuration of a conventional add comparison selector.

도 1에 도시된바와 같이, 일반적인 비터비 디코더는 입력블록(input block)(100), 디코더메인블록(decoder main block)(200), 출력블록(output block) (300)으로 구성된다.As shown in FIG. 1, a general Viterbi decoder includes an input block 100, a decoder main block 200, and an output block 300.

상기 입력블록(100)은 메인 메모리(main memory)로서 입력버퍼(110)와, 누산(accumulation)을 위한 보조메모리(memory)를 구비한 누산부(120)와, 심볼메트릭테이블(SMT; Symbol Metric Table)(130)로 구성된다. 상기 디코더메인블록(200)은 가지평가부(blanch metric)(210), 가산비교선택부(add compare select)(220), 트래이스백부(trace back)(230)로 구성된다. 그리고 상기 출력블록(300)은 SER RAM(310), 재변환부(reconversion)(320), CRC체크부(CRC check)(330), 심볼에러율검출부(symbol error rate)(350), 출력버퍼(340)를 포함하여 구성된다.The input block 100 includes an accumulator 120 having an input buffer 110 as a main memory, an auxiliary memory for accumulation, and a symbol metric table (SMT). Table 130). The decoder main block 200 includes a branch metric 210, an add compare select 220, and a trace back 230. The output block 300 includes an SER RAM 310, a reconversion unit 320, a CRC check unit 330, a symbol error rate unit 350, and an output buffer unit 340. It is configured to include).

도 2에 도시된바와 같이, 상기 가산비교선택블록(220)은 제 1 내지 제 4 가산부(adder)(211a∼211d)와, 제 1 내지 제 2 비교부(212a, 212b)와, SIPO(Serial Input parallel output)(213)와, 제 1 내지 제 2 선택부(214a, 214b)와, 제 1 내지 제 2 특성 제어부(Quality Control)(215a, 215b)와, 버퍼(216)와, 제 1 내지 제 2 패스 메모리(Path Memory)(217a, 217b)와 비교최소패스메모리선택부(compare minimum path memory select)(218)와, 정규화부(Normalization)(219)를 구비한다.As shown in FIG. 2, the addition comparison selection block 220 includes first to fourth adders 211a to 211d, first to second comparison units 212a and 212b, and SIPO ( Serial input parallel output (213), first to second selectors (214a and 214b), first to second quality control (Quality Control) (215a, 215b), buffer (216), and first To second path memories 217a and 217b, a compare minimum path memory selector 218, and a normalization unit 219.

일반적으로 음성 데이터는 프레임(frame) 단위로 전송이 된다. 예를 들어 9600bps를 지원하는 CDMA 방식을 이용한 변복조장치인 모뎀(modem; modulation- demodulation)에서는 1프레임이 192bit으로 구성된다. 프레임 단위로 전송되어 온 심벌(symbol)을 디코딩(decoding)할 때는 최초 '0' 상태에서 시작하여 '0'상태로 디코딩을 끝내게 된다. 그 이유는 송신단에서 1프레임의 데이터를 보낼 때 콘볼루션 엔코더(convolution encoder)의 레지스터(register) 수 만큼씩 프레임의 끝에 엔코더 테일 비트(encoder tail bit)를 붙여서 전송하기 때문이다. 그리고 1프레임의 구성은 데이터 비율(data rate)마다 다르다. 데이터 비율에 따른 1프레임의 구성은 하기 표 1과 같다.In general, voice data is transmitted in units of frames. For example, in a modem (modulation demodulation), which is a modulation / demodulation device using a CDMA method supporting 9600bps, one frame is composed of 192 bits. When decoding a symbol transmitted in units of frames, the decoding starts with the first '0' state and ends with the '0' state. The reason is that when the transmitter transmits one frame of data, the encoder tail bit is transmitted at the end of the frame by the number of registers of the convolutional encoder. The composition of one frame is different for each data rate. The configuration of one frame according to the data rate is shown in Table 1 below.

음성 데이터Voice data CRC check bitCRC check bit 엔코더 테일 비트Encoder tail bits full ratefull rate 172172 1212 88 1/2 rate1/2 rate 8080 88 88 1/4 rate1/4 rate 4040 88 1/8 rate1/8 rate 1616 88

상기 가산비교선택부(220)에서는 하드웨어적으로 위와 같이 프레임과 프레임을 구분하기 위하여 인위적으로 매 프레임의 첫 번째 단계(stage)에서 상태 '0'에 가지 평가량(path metrics value)을 가장 작은 값을 할당하고, 나머지 상태에는 큰 값을 할당하여 트래이스 백(trace back)의 시작을 '0'에서 시작하도록 한다.In the addition comparison selector 220, in order to distinguish a frame from a frame as described above, the path metric value at the state '0' is the smallest value artificially at the first stage of every frame. Allocate a large value to the rest of the state so that the start of trace back starts at '0'.

위와 같은 기능 때문에 디코딩(decoding)의 시작부와 종반부에서는 에러가 발생할 확률이 중반부 보다 상대적으로 적다. 하지만 채널을 통해서 입력된 데이터가 원래의 값을 갖고 있는 것이 아니라 변형된 데이터를 갖게 된다. 그러므로 안정적으로 시작된 디코딩 과정이 종반부에서 에러가 발생할 확률이 시작 부분 보다 더 커지는 문제점이 있다.Because of these features, errors are less likely to occur in the beginning and end of decoding than in the middle. However, the data input through the channel does not have the original value but the transformed data. Therefore, there is a problem that the decoding process that is stably started has a greater probability that an error occurs at the end than the beginning.

따라서, 본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로서 종래의 디코딩 과정의 종반부에서 발생하는 에러를 줄일 수 있는 비터비 디코더를 제공하는데 있다.Accordingly, it is an object of the present invention to provide a Viterbi decoder which can reduce the errors occurring at the end of the conventional decoding process as proposed to solve the above-mentioned problems.

도 1은 종래의 비터비 디코더의 회로 구성을 보여주는 블록도;1 is a block diagram showing a circuit configuration of a conventional Viterbi decoder;

도 2는 도 1에 도시된 가산비교선택부의 회로 구성을 보여주는 상세 블록도;FIG. 2 is a detailed block diagram showing a circuit configuration of an addition comparison selector shown in FIG. 1; FIG.

도 3은 본 발명에 따른 가산비교선택부의 회로 구성을 보여주는 상세 블록도;3 is a detailed block diagram showing a circuit configuration of an addition comparison selecting unit according to the present invention;

도 4는 1/2 코드 비율을 갖는 콘볼루션 엔코더의 블록도; 그리고4 is a block diagram of a convolutional encoder with a 1/2 code ratio; And

도 5는 도 4에 도시된 콘볼루션 엔코더에 의해 데이터가 송신될 때 본 발명의 비터비 디코더의 동작을 설명하기 위한 트렐리스 다이아그램.5 is a trellis diagram for explaining the operation of the Viterbi decoder of the present invention when data is transmitted by the convolutional encoder shown in FIG.

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

100 : 입력블록 200 : 디코더메인블록100: input block 200: decoder main block

300 : 출력블록300: output block

상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 입력블록(Input Block)과; 가지평가부(Branch Metric)와, 가산비교선택부(Add Compare Select)와, 트래이스백부(Trace Back)를 구비하는 디코더메인블록(Decoder Main Block)과; 출력블록(Output Block)을 포함하여 구성되어 송신단에서 송신된 신호를 수신하여 디코딩하는 비터비 디코더에 있어서: 상기 가산비교선택부는 디코딩시에 상기 트래이스백부의 초기화 어드레스를 컨트롤하는 트래이스백 초기화 제어부를 포함하여, 상기 디코딩시에 발생가능한 디코딩 에러를 감소시킨다.According to a feature of the invention for achieving the object of the present invention as described above (Input Block); A decoder main block including a branch metric, an add compare select unit, and a trace back unit; A Viterbi decoder configured to include an output block and receive and decode a signal transmitted from a transmitting end, wherein the add comparison selector controls the initialization address of the traceback unit during decoding. Including, to reduce the decoding error that can occur in the decoding.

이 실시예에 있어서, 상기 트래이스백 초기화 제어부는 디코딩시에 2m-m에서부터 상기 트래이스백 초기화 어드레스를 1비트씩 줄여서 디코딩 패스가 최종단에서 상태 '0'로 수렴하게 된다.In this embodiment, the traceback initialization control unit reduces the traceback initialization address by one bit from 2 m −m at the time of decoding so that the decoding path converges to state '0' at the last stage.

이상과 같은 본 발명에 의하면, 디코딩시에 매 프레임 마다 '0'에서 시작하여 '0'으로 종료되게 하므로 종래의 경우 디코딩시에 후단 부분에서 에러가 발생되는 경우가 방지된다.According to the present invention as described above, since every frame starts at '0' and ends with '0' at the time of decoding, in the conventional case, an error occurs at the rear part during decoding.

(실시예)(Example)

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

도 3은 본 발명에 따른 가산비교선택부의 회로 구성을 보여주는 상세 블록도이다.3 is a detailed block diagram illustrating a circuit configuration of an addition comparison selecting unit according to the present invention.

도 3에 도시된바와 같이, 본 발명의 신규한 가산비교선택블록은 제 1 내지 제 4 가산부(adder)(211a∼211d)와, 제 1 내지 제 2 비교부(212a, 212b)와, SIPO(Serial Input parallel output)(213)와, 제 1 내지 제 2 선택부(214a, 214b)와, 제 1 내지 제 2 특성 제어부(Quality Control)(215a, 215b)와, 버퍼(216)와, 제 1 내지 제 2 패스 메모리(Path Memory)(217a, 217b)와 비교최소패스선택부(compare minimum path memory select)(218)와, 정규화부(Normalization)(219)를 구비한다. 그리고 상기 비교최소패스메모리선택부(218)의 출력을 입력하여 트래이스 백 초기화 신호(tb_init)를 비터비 디코더의 트래이스백부로 제공하는 트래이스백 초기화 제어부(400)를 구비한다.As shown in FIG. 3, the novel addition comparison selection block of the present invention includes first to fourth adders 211a to 211d, first to second comparison units 212a and 212b, and SIPO. (Serial Input parallel output) 213, first to second selectors 214a and 214b, first to second quality control units 215a and 215b, buffers 216, and A first to second path memories 217a and 217b, a compare minimum path memory selector 218, and a normalization unit 219 are provided. And a traceback initialization control unit 400 for inputting the output of the comparison minimum pass memory selection unit 218 to provide a traceback initialization signal tb_init to the traceback unit of the Viterbi decoder.

상기 가산비교선택부의 기능은 매 단계(stage)마다 가지평가량을 계산하여 가장 작은 가지평가량을 가지고 있는 상태번호(state number)를 상기 트래이스백부로 전달하는 역할을 수행한다. 그리고 트래이스 백을 하기 위하여 필요한 가지평가 정보인 트래이스 백 데이터(tb_data)를 상기 트래이스백부의 트래이스 백 램(trace back ram)으로 전달한다. 특히, 본 발명에 의하면 매 단계에서 가장 작은 값을 갖는 상태의 어드레스를 특정 단계, 즉 엔코더 테일 비트를 디코딩하는 단계에서 제어하여 해당 프레임의 디코딩이 반드시 상태 '0'에서 시작하여 상태 '0'에서 종료 되도록 한다.The function of the addition comparison selector calculates the branch evaluation amount at every stage and delivers a state number having the smallest branch evaluation amount to the traceback unit. The trace back data tb_data, which is branch evaluation information necessary for the trace back, is transferred to the trace back ram of the trace back unit. In particular, according to the present invention, the address of the state having the smallest value is controlled at a specific stage, i.e., the decoding of the encoder tail bits, so that the decoding of the frame always starts at state '0' and at state '0'. To exit.

구체적으로 예를 들면, 도 4에 도시된바와 같이, 3개의 레지스터 m0∼m2(510∼530)와, 제 1 및 제 2 가산기(540, 550)를 구비한 1/2 코드 비율(code rate)을 갖는 콘볼루션 엔코더(convolution encoder)에 의하여 송신단에서 데이터를 보내는 경우 본 발명의 비터비 디코더에서 처리되는 과정을 설명한다.Specifically, for example, as shown in Fig. 4, a half code rate having three registers m0 to m2 (510 to 530) and first and second adders 540 and 550. A process processed by the Viterbi decoder of the present invention when data is sent from a transmitting end by a convolutional encoder having a will be described.

상기 콘볼루션 엔코더는 레지스터의 개수가 m=3이므로 23=8이 된다. 그러므로 만약 1프레임이 192비트로 구성되면 트렐리스 다이어그램(trellis diagram)은 첨부도면 도 5와 같다.The convolutional encoder is 2 3 = 8 since the number of registers is m = 3. Therefore, if one frame consists of 192 bits, the trellis diagram is shown in FIG. 5.

도 5를 참조하여, 디코딩이 시작되면 디코딩의 시작 포인트는 자연스럽게 상태 '0'에서 시작되고 189단계까지는 트래이스백 초기화 비트 수가 일정하다. 그러나 190단계일 때 어드레스 비트 수를 하나 줄이고, 191단계일 때 다시 1비트를 감소한다. 이렇게 하면 채널(channel)의 노이즈(noise)에 의하여 에러가 발생하더라도 매 프레임의 최종 단계에서 트래이스 백하는 패스가 잘못 선택되는 경우가 발생하지 않는다. 그러므로 매 프레임 마다 디코딩은 항상 '0'에서 시작하여 '0'에서 끝나게 되고 에러의 수가 감소하게 된다.Referring to FIG. 5, when decoding starts, the starting point of decoding naturally starts in state '0' and the number of traceback initialization bits is constant until step 189. However, in step 190, the number of address bits is reduced by one, and in step 191, the number of bits is reduced by one. In this way, even if an error occurs due to the noise of a channel, a path for trailing back at the end of every frame does not occur incorrectly. Therefore, every frame, decoding always starts at '0' and ends at '0' and the number of errors is reduced.

이상과 같은 본 발명에 의하면, 비더비 디코더의 디코딩시에 매 프레임 마다 '0'에서 시작하여 '0'으로 종료되게 하므로서 종래의 경우 디코딩시에 후단 부분에서 에러가 발생되는 경우를 방지 할 수 있다.According to the present invention as described above, it is possible to prevent a case where an error occurs at the rear part during decoding in the conventional case by starting from '0' and ending with '0' every frame when decoding the bidderby decoder. .

Claims (2)

입력블록(Input Block)과; 가지평가부(Branch Metric)와, 가산비교선택부(Add Compare Select)와, 트래이스백부(Trace Back)를 구비하는 디코더메인블록(Decoder Main Block)과; 출력블록(Output Block)을 포함하여 구성되어 송신단에서 송신된 신호를 수신하여 디코딩하는 비터비 디코더에 있어서:An input block; A decoder main block including a branch metric, an add compare select unit, and a trace back unit; In a Viterbi decoder comprising an output block and receiving and decoding a signal transmitted from a transmitting end: 상기 가산비교선택부는 디코딩시에 상기 트래이스백부의 초기화 어드레스를 컨트롤하는 트래이스백 초기화 제어부를 포함하여, 상기 디코딩시에 발생가능한 디코딩 에러를 감소시키는 것을 특징으로 하는 비터비 디코더.And the add comparison selector comprises a traceback initialization control unit controlling an initialization address of the traceback unit at the time of decoding, thereby reducing a decoding error that may occur at the time of decoding. 제 1 항에 있어서,The method of claim 1, 상기 트래이스백 초기화 제어부는 디코딩시에 2m-m에서부터 상기 트래이스백 초기화 어드레스를 1비트씩 줄여서 디코딩 패스가 최종단에서 상태 '0'로 수렴하게 하는 것을 특징으로 하는 비터비 디코더.And the traceback initialization control unit reduces the traceback initialization address by one bit from 2 m -m at the time of decoding so that the decoding path converges to the state '0' at the last stage.
KR1019970048565A 1997-09-24 1997-09-24 Viterbi Decoder KR19990026452A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970048565A KR19990026452A (en) 1997-09-24 1997-09-24 Viterbi Decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970048565A KR19990026452A (en) 1997-09-24 1997-09-24 Viterbi Decoder

Publications (1)

Publication Number Publication Date
KR19990026452A true KR19990026452A (en) 1999-04-15

Family

ID=66044449

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970048565A KR19990026452A (en) 1997-09-24 1997-09-24 Viterbi Decoder

Country Status (1)

Country Link
KR (1) KR19990026452A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100743865B1 (en) * 2004-09-29 2007-07-30 엔이씨 일렉트로닉스 가부시키가이샤 Decoding apparatus and decoding method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100743865B1 (en) * 2004-09-29 2007-07-30 엔이씨 일렉트로닉스 가부시키가이샤 Decoding apparatus and decoding method
US7519897B2 (en) 2004-09-29 2009-04-14 Nec Electronics Corporation Decoding apparatus and decoding method

Similar Documents

Publication Publication Date Title
US8295410B2 (en) Exploiting known padding data to improve block decode success rate
CN101431388B (en) Method and apparatus of decoding encoded data frame
EP0653847A2 (en) Digital processor and viterbi decoder having shared memory
US6504882B1 (en) Add-compare-select circuit for viterbi decoder
US7003717B2 (en) Decoding apparatus, decoding method, data-receiving apparatus and data-receiving method
JP2000036762A (en) Viterbi decoding method and viterbi decoder
JPH07202957A (en) Digital signal processor
US6199191B1 (en) Viterbi decoding method and device thereof
EP1111798B1 (en) Digital signal processor with co-processor for Viterbi decoding
US7861146B2 (en) Viterbi decoding apparatus and Viterbi decoding method
KR101462211B1 (en) Apparatus and method for decoding in portable communication system
KR19990026452A (en) Viterbi Decoder
KR100311504B1 (en) state metric memory in viterbi decoder and method for decoding using the same
US8201052B2 (en) Data processing method of decoding coded data and data processor for the same
JP4606852B2 (en) How to simplify the Viterbi decoder
US6031876A (en) Trellis decoder for ATSC 8VSB
KR0155516B1 (en) Implementation method for state metric memory arrangement with one memory in viterbi decoder
EP0851591B1 (en) Data processor and data processing method
US6842490B1 (en) Viterbi decoder with adaptive traceback
KR100680024B1 (en) Viterbi decoder having delay time abbreviation path and control method thereof
US7818654B2 (en) Addressing strategy for Viterbi metric computation
JP2003264468A (en) Viterbi decoder
JP3229047B2 (en) Viterbi decoder
KR100510640B1 (en) Apparatus for trace back of Viterbi decoder
KR100224567B1 (en) Apparatus and method of data transceiving using viterbi decoder

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination