KR0123087B1 - Apparatus and method for viterbi decoding - Google Patents

Apparatus and method for viterbi decoding

Info

Publication number
KR0123087B1
KR0123087B1 KR1019930027995A KR930027995A KR0123087B1 KR 0123087 B1 KR0123087 B1 KR 0123087B1 KR 1019930027995 A KR1019930027995 A KR 1019930027995A KR 930027995 A KR930027995 A KR 930027995A KR 0123087 B1 KR0123087 B1 KR 0123087B1
Authority
KR
South Korea
Prior art keywords
length
truncation
error rate
data
truncation length
Prior art date
Application number
KR1019930027995A
Other languages
Korean (ko)
Other versions
KR950022990A (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 KR1019930027995A priority Critical patent/KR0123087B1/en
Publication of KR950022990A publication Critical patent/KR950022990A/en
Application granted granted Critical
Publication of KR0123087B1 publication Critical patent/KR0123087B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • 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/4138Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria

Abstract

A decoding apparatus having an adaptive truncation length and method thereof are disclosed. The decoding apparatus comprises: a Viterbi decoder(110) for outputting a data minimized an error probability of the transferred data, and estimating and generating an error bit; and an error detecting and correcting unit(120) for detecting an error by the inputted the error bit and performing feedback a control signal of the truncation length to the Viterbi decoder(110) by variably setting the truncation length in responsive to the bit error rate. Thereby, it is possible to exactly perform the decoding in real-time.

Description

적응적 절단 길이를 갖는 비터비 디코딩 장치 및 방법Viterbi decoding apparatus and method with adaptive truncation length

제1도는 본 발명의 비터비 디코딩 장치를 예시하는 개략적인 블럭도.1 is a schematic block diagram illustrating a Viterbi decoding apparatus of the present invention.

제2도는 제1도에 도시된 오류 검출 및 정정부의 상세 블럭도.2 is a detailed block diagram of the error detection and correction unit shown in FIG.

제3도는 본 발명의 실시예 필요한 비트 오류를 대 스텝 사이즈를 설정하는 관계를 그래프로 나타내는 도면.3 is a graph showing a relationship for setting a step size versus a bit error required in an embodiment of the present invention.

제4도는 본 발명의 결정 바이트를 나타내는 구성도.4 is a block diagram showing a decision byte of the present invention.

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

110 : 비터비 디코더 120 : 오류검출 및 정정부110: Viterbi decoder 120: error detection and correction unit

121 : 모드 및 스텝 사이즈 정보 생성부 122 : BER 레지스터121: Mode and step size information generation unit 122: BER register

123 : 절단길이 결정부 124 : 절단길이 변경부123: cutting length determining unit 124: cutting length changing unit

본 발명은 디지탈 영상 복조 시스템(Digital Image Decoding system)에서의 트렐리스 부호를 복조(Trell is Coded Demodulation; TCM)하는 방식에 관한 것으로, 더욱 상세하게는 TCM 방식내의 비터비 디코더(viterbi decoder)에서 절단 길이(truncation length; tau)의 크기를 적응적으로 설정하는 적응적 절단 길이를 갖는 비터비 디코딩 장치 및 방법에 관한 것이다.The present invention relates to a method of demodulating a trellis code (TCM) in a digital image demodulation system, and more particularly in a Viterbi decoder in a TCM scheme. A Viterbi decoding apparatus and method having an adaptive truncation length that adaptively sets the size of a truncation length (tau).

디지탈 영상 복조 시스템은 디지탈 변조되어 수신되는 데이타를 복조하여 원래의 신호로 복원하기 위한 것이다. 이러한 디지탈 데이타의 전송중에는 전송 채널의 특성등에 의하여 오류 즉, 전송 데이타의 값이 변경될수 있는바, 이러한 데이타의 오류를 정정하기 위한 방식이 강구되었다.The digital image demodulation system is for demodulating data received by being digitally modulated and restoring the original signal. During transmission of such digital data, an error, that is, a value of the transmission data may change due to characteristics of a transmission channel, and thus a method for correcting such an error of the data has been devised.

오류를 정정하기 위하여 제안된 방식중의 하나가 전송할 데이타들을 콘볼루션 부호화하여 전송하는 방법이며, 콘벌루션 부호화된 데이타들을 오류를 정정하기 위하여 제안된 방식중의 하나가 비터비 디코딩 알고리즘이다.One of the proposed schemes for correcting an error is a method of convolutionally encoding data to be transmitted, and one of the proposed schemes for correcting an error of convolutional coded data is a Viterbi decoding algorithm.

이러한 비터비 디코딩 방식에서 오류 정정의 정확도를 판정짓는 가장 중요한 것은 얼마나 많은 콘벌루션 부호 데이타들을 이용하여 판정을 행하는가에 달려있다. 즉, 10개의 콘벌루션 부호 데이타만을 가지고 오류 정정을 수행하는 것 보다는 20개의 데이타를 가지고 판정하는 것이 더욱 오류 정정 능력이 높아지는 것이다. 그러므로 비터비 디코딩 알고리즘에서 가장 정확한 판정을 하기 위해서는 판정을 위한 데이타의 갯수가 크면 클수록 더욱 오류 정정능력은 높아지는 것이다.The most important thing in determining the accuracy of error correction in this Viterbi decoding scheme depends on how many convolutional code data are used to make the decision. In other words, rather than performing error correction with only 10 convolutional code data, determination with 20 data becomes more error correcting capability. Therefore, in order to make the most accurate decision in the Viterbi decoding algorithm, the larger the number of data for determination, the higher the error correction capability.

그러나, 비터비 디코딩 알고리즘의 수행을 위한 콘벌루션 부호 데이타의 갯수가 증가되는 경우에는, 오류 정정을 위한 수행 시간이 길어진다는 즉, 시스템의 실시간(real-time) 처리 문제가 발생하게 된다. 따라서, 비터비 디코딩 알고리즘을 수행하는 비터비 디코더의 설계시에는 디코더의 오류 정정 능력 및 실시간 처리 속도를 고려하여 오류 정정될 데이타 갯수를 결정하는게 가장 바람직하다. 이같은 오류 정정을 위한 최소한의 데이타 수를 비터비 알고리즘에서는 절단 길이(tau)라고 지칭한다.However, when the number of convolutional code data for the execution of the Viterbi decoding algorithm is increased, the execution time for error correction is increased, that is, a real-time processing problem of the system occurs. Therefore, when designing a Viterbi decoder that performs the Viterbi decoding algorithm, it is most desirable to determine the number of data to be error corrected in consideration of the decoder's error correction capability and real-time processing speed. The minimum number of data for such error correction is referred to as the truncation length tau in the Viterbi algorithm.

절단 길이 즉, tau는 디코딩 성능에 큰 열화를 미치지 않는 범위 내에서 결정되는데, 통상적으로 송신측의 콘볼루션 부호기(convolutional encoder)내에 있는 메모리(memory) 갯수의 5또는 6의 배수로 결정된다.The truncation length, tau, is determined within a range that does not significantly degrade the decoding performance, and is typically determined as a multiple of 5 or 6 of the number of memories in the convolutional encoder on the transmitting side.

한편, 잡음(noise)이 강하지 않는 채널을 통과한 데이타를 복호할 경우에 전송 과정에서 데이타 오류는 거의 발생하지 않는바, 상술한 tau를 감소시켜도 비터비 디코더에 의하여 복호된 데이타의 오류는 거의 없다고 볼 수 있다.On the other hand, in the case of decoding data passing through a channel having no strong noise, almost no data error occurs in the transmission process, and even though the aforementioned tau is reduced, there is almost no error in the data decoded by the Viterbi decoder. can see.

즉, 전술한 tau는 데이타의 전송 과정에서 발생하는 데이타 비트들이 오류율에 따라 적응적으로 설정하는 것이 비터비 디코더의 실시간 처리에 유리하나 종래의 비터비 디코더에서는 상술한 바와 같이 일정한 tau를 이용하여 복호하는 바, 비터비 디코더의 실시간 처리가 힘들다는 문제가 있었다.That is, the above-mentioned tau is advantageous in real-time processing of the Viterbi decoder in which data bits generated in the data transmission process are adaptively set according to the error rate, but in the conventional Viterbi decoder, the decoding is performed using a constant tau as described above. As a result, there was a problem that the real-time processing of the Viterbi decoder is difficult.

본 발명은 이러한 문제를 해결하기 위하여 안출한 것으로서, 본 발명의 목적은 콘볼루션 부호화되어 전송되는 데이타들의 오류율에 따라 tau를 적응적으로 설정함으로써 비터비 디코더의 처리속도를 향상시킨 적응적 절단 길이를 갖는 비터비 디코딩 장치 및 방법을 제공하는데 있다.The present invention has been made to solve such a problem, and an object of the present invention is to adaptively set the tau length according to the error rate of data transmitted by convolutional coding, thereby improving the adaptive truncation length of the Viterbi decoder. The present invention provides a Viterbi decoding apparatus and method.

본 발명은, 전송 과정에서 발생 가능한 데이타들의 오류를 복호측에서 정정 가능하도록 콘볼루션 부호화된 데이타를 복호하는 장치로써, 콘볼루션 데이타들을 절단 제어신호에 대응하는 절단 길이의 비트 단위로 비터비 디코딩하므로써 전송과정에서 오류가 발생한 콘볼루션 데이타를 정정하고, 전송과정 중에서 오류가 발생한 콘볼루션 데이타의 백분율인 비트 오류율을 절단 길이에 대응하는 콘볼루션 데이타의 비트의 복호가 종료할때마다 출력하는 비터비 디코더와; 비터비 디코더의 비트 오류율에 대응한 절단 제어 신호를 출력하는 오류 검출 및 정정부를 포함한다.The present invention is a device for decoding convolution coded data so that an error in data that can occur during transmission can be corrected at a decoding side. Viterbi decoder that corrects convolution data that has an error during transmission, and outputs a bit error rate, which is the percentage of convolution data that has an error during transmission, whenever the decoding of the bits of the convolution data corresponding to the truncation length ends. Wow; And an error detection and correction unit for outputting a truncation control signal corresponding to the bit error rate of the Viterbi decoder.

본 발명은 또한, 전송 관정에서 발생 가능한 데이타의 오류를 복호측에서 정정 가능하도록 콘볼루션 부호화된 데이타를 디코딩하므로써 전송 과정에서 오류가 발생한 콘볼루션데이타를 정정하는 단계와 ; 전송 과정중에서 오류가 발생한 상기 콘볼루션 데이타의 백분율인 비트 오류율을 상기 절단 길이에 대응하는 콘볼루션 데이타의 비트의 복호가 종료할때마다 산출하는 단계와; 산출된 비트 오류율의 따라 상기 절단 길이를 재설정하는 단계를 구비한다.The present invention also includes the steps of correcting convolutional data in which an error occurred in a transmission process by decoding the convolutionally encoded data so that the decoding side can correct an error of data that may occur in a transmission decision; Calculating a bit error rate, which is a percentage of the convolution data in which an error occurs during the transmission, each time the decoding of the bits of the convolution data corresponding to the truncation length ends; Resetting the truncation length according to the calculated bit error rate.

이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention;

제1도는 본 발명의 비터비 디코딩 장치의 개략인 블럭도로써, 비터비 디코더(110)와 오류 검출 및 정정부(120)를 포함한다.1 is a schematic block diagram of a Viterbi decoding apparatus of the present invention, and includes a Viterbi decoder 110 and an error detection and correction unit 120.

여기서, 비터비 디코더(110)는 수신된 데이타(콘벌루션 부호화된)들을 오류 검출 및 정정부(120)의 tan 제어신호(TCS)에 대응하는 절단 길이의 비트수로 절단하고, 절단된 비트수의 데이타들에 대하여 비터비 디코딩 알고리즘을 행하므로써, 전송과정에서 발생한 데이타의 오류를 정정하여 출력하게 된다. 또한, 본 발명의 비터비 디코더(110)는 비트 오류율(bit Error Rate; 이하 BER이라 함) 즉, 상기 전송 과정 중에서 오류가 발생한 콘볼류션 데이타의 백분율인 비트 오류율을 추정하여 오류검출 및 정정부(120)로 제공한다.Here, the Viterbi decoder 110 cuts the received data (convolutional coded) into the number of bits of the truncation length corresponding to the tan control signal TCS of the error detection and correction unit 120, and cuts the number of bits. By performing the Viterbi decoding algorithm on the data of, the error of the data generated in the transmission process is corrected and output. In addition, the Viterbi decoder 110 of the present invention estimates a bit error rate (hereinafter, referred to as BER), that is, a bit error rate that is a percentage of convolution data in which an error occurs during the transmission process. Provided by 120.

오류 검출 및 정정부(120)는 비터비 디코더(110)에서 제공되는 BER을 입력하고 BER의 변화량에 대응하여 tau 제어신호(TCS)를 비터비 디코더(110)로 제공한다.The error detection and correction unit 120 inputs the BER provided from the Viterbi decoder 110 and provides the tau control signal TCS to the Viterbi decoder 110 in response to the amount of change in the BER.

제2도에 오류 검출 및 정정부(120)의 상세 블럭도가 도시되어 있다.2 is a detailed block diagram of the error detection and correction unit 120.

도시된 바와 같이 오류 검출 및 정정부(120)는 BER 레지스터(122) 및 절단 길이 변경부(124)를 포함하며, 절단 길이 변경부(124)는 모든 및 스텝 사이즈 정보 생성부(121)와 절단 길이 결정부(123)를 포함한다.As shown, the error detection and correction unit 120 includes a BER register 122 and a cut length changing unit 124, and the cut length changing unit 124 cuts all and step size information generation units 121 and cut. The length determining unit 123 is included.

제2도에서는 비터비 디코더(110)로부터 오류 검출 및 정정부(120)에 인가되는 BER을 NBER(New BER)이라 명명하였다. 이와 같이 NBER라 명명한 이유는 후술하는 설명으로부터 알 수 있는 바와 같이 모드 및 스텝 사이즈 정부 생성부(121)로 제공되는 BER은 비터비 디코더(110)로부터 제공되는 BER과 BER 레지스터(122)로부터의 BER(OBER (Old BER)이 존재하는 바, 이 둘을 구별하기 위해서이다.In FIG. 2, the BER applied from the Viterbi decoder 110 to the error detection and correction unit 120 is called NBER (New BER). As described above, the reason for naming the NBER is that the BER provided to the mode and step size government generation unit 121 is obtained from the BER and BER registers 122 provided from the Viterbi decoder 110. BER (OBER (Old BER)) exists to distinguish between the two.

즉, BER 레지스터(122)는 비터비 디코더(110)에서 제공되는 NBER을 입력하여 저장 후, 새로운 NBER이 인가될때에 저장하였던 NBER을 OBER로서 출력하는 것이다.That is, the BER register 122 inputs and stores the NBER provided by the Viterbi decoder 110 and outputs the stored NBER as an OBER when a new NBER is applied.

모드 및 스텝 사이즈 정보 생성부(121)는 tau의 길이가 커질수록 성능이 저하되지 않는 결정 알고리즘(decision algorithm)에 의해 후술하는 모드와 스텝 사이즈를 산출하여 tau의 길이를 절단 길이 결정부(123)로 제공한다.The mode and step size information generation unit 121 calculates a mode and step size to be described later by using a decision algorithm in which performance does not decrease as the length of the tau increases. To provide.

즉, 모드 및 스텝 사이즈 정보 생성부(121)는 상술한 NBER 및 OBER과 절단 길이 결정부(123)로부터 인가되는 정보 바이트(OBYTE(old decision byte))에 따라 tau를 결정하고, 결정된 tan을 정보 바이트(NOBYTE(new decision byte))로 절단 길이 결정부(123)에 인가한다.That is, the mode and step size information generation unit 121 determines tau according to the above-described NBER and OBER and the information byte (OBYTE (old decision byte)) applied from the truncation length determination unit 123, and determines the determined tan. The cutting length determination unit 123 is applied to the byte (NOBYTE (new decision byte)).

제3도에는 모드 및 스텝 사이즈 정보 생성부가 tau를 설정하기 위한 판단 변수를 나타내는 그래프가 도시되어 있다.FIG. 3 is a graph showing a determination variable for setting the mode and the step size information generation unit tau.

여기서, x축은 OBER과 NBER의 차를 절대치한 값을 다시 OBER로 나누어 100을 승산한 값을 나타내며, y축은 x축 변환에 대해 tau 길이의 증감을 나타내는 크기 정보 즉, 스텝 사이즈를 나타낸다. 즉, tau 길이의 증, 감을 나타내는 스텝 사이즈는 x축 값에 의해 변화된다. 예를들어, x축에서 이전 대 현재 비트 오류율이 약 5인 경우, 스텝 사이즈는 0이고, 5 내지 약 45인 경우는 이에 대응하여 도시된 바와 같이 스텝 사이즈가 결정된다.Here, the x-axis represents a value obtained by dividing the absolute value of the difference between OBER and NBER by OBER and multiplying by 100, and the y-axis represents size information, that is, step size, indicating increase or decrease in tau length for x-axis transformation. In other words, the step size indicating increase or decrease in the length of tau is changed by the x-axis value. For example, if the previous to current bit error rate on the x-axis is about 5, the step size is 0, and if it is 5 to about 45, the step size is determined as shown correspondingly.

제4도에는 OBYTE 및 NBYTE의 구성 도시되어 있다.4 shows the construction of OBYTE and NBYTE.

도시된 바와 같이 정보 바이트는 도시된 바와 같이 8비트, 즉, 1바이트로 이루어진다. 여기서 최상위 2비트(md0, md0)는 tau 길이의 wmdrak을 나타내는 모드정보를 나타내고, 블랭크(blank) 부분은 더미(dummy) 비트이며, 최하위 4비트(m3, m2, m1, m0)는 스텝 사이즈 정보를 나타낸다.As shown, the information byte consists of 8 bits, i.e., 1 byte, as shown. Here, the most significant two bits (md0, md0) represent mode information indicating wmdrak of tau length, the blank portion is a dummy bit, and the least significant four bits (m3, m2, m1, m0) are step size information. Indicates.

즉, 모드 1(md1) 및 모드 0(md0)가 '00'이면 변화가 없음을 나타내고, '01'이면 tau 길이의 증가를 나타내며, '10'이면 tau 길이의 감소를 나타낸다. 그리고 최하위 4비트는 0 내지 15레벨을 가지는 스텝 사이즈를 나타낸다.That is, if Mode 1 (md1) and Mode 0 (md0) are '00', there is no change, '01' indicates an increase in tau length, and '10' indicates a decrease in tau length. And the least significant 4 bits represent a step size having 0 to 15 levels.

그리고, 스텝 사이즈 결정은 전술한 모드 및 스텝 사이즈 정보 생성부(121)에서 제3도에 도시된 그래프와 같이 설정하며, 모드 결정(mode secision)은 다음과 같은 몇가지 현재 상태들에 의해 결정된다.The step size determination is set in the above-described mode and step size information generation unit 121 as shown in the graph shown in FIG. 3, and the mode decision is determined by several current states as follows.

첫 번째 현재 절단 길이 결정부(123)에서 제공되는 ODBYTE가 '01'(tau 길이 증가)인 경우로서 이경우는 NBEROBER, NBEROBER, NBER=OBER인 3가지 경우가 발생할 수 있다.When the ODBYTE provided by the first current cut length determiner 123 is '01' (tau length increase), three cases of NBEROBER, NBEROBER, and NBER = OBER may occur.

1. NBEROBER인 경우1. NBEROBER

NBER이 OBER 보다 큰 경우에는 이전 단계에서 tau를 증가시켰으나 비터비 디코더(110)의 비트 에러율이 증가된 경우인 바, tau의 문제가 아닌 예컨데 채널의 전송 특성이 급격이 열화된 경우이므로 현상태를 계속 유지하는 등의 방법을 채용하여야 한다.If the NBER is larger than the OBER, the tau is increased in the previous step, but the bit error rate of the Viterbi decoder 110 is increased. This is not a problem of tau. Adopt methods such as maintaining.

2. NBER=OBER인 경우2. When NBER = OBER

NBER과 OBER이 동일한 경우에는 비터비 디코더(110)의 실시간 처리 성능을 계속 유지시키도록, 모드를 '00' 즉, tau의 크기를 고정시키고, 스텝 사이즈도 불변하도록 전술한 결정 바이트(NDBYTE)를 설정하여야 한다.If the NBER and the OBER are the same, the above-described decision byte NDBYTE is set so that the mode is fixed to '00', that is, the size of tau is fixed and the step size is not changed to maintain the real-time processing performance of the Viterbi decoder 110. Must be set.

3. NBEROBER3. NBEROBER

NBER이 OBER보다 작은 경우에는 실시간 처리 성능이 향상되도록 모드를 '10' 즉, tau의 크기를 감소시키고, 스텝 사이즈도 감소시키도록 결정 바이트(NDBYTE)를 설정한다.If the NBER is smaller than the OBER, the decision byte (NDBYTE) is set to reduce the size of tau (10), that is, reduce the size of tau and improve the size of the step so that the real-time processing performance is improved.

둘째로, 현재 ODBYTE에서 모드가 '10'(tau 길이 감소)인 경우로서, 이경우 역시 NBEROBER, NBEROBER, NBER=OBER인 3가지 경우가 발생할 수 있다.Second, as the mode is '10' (tau length reduction) in the current ODBYTE, three cases may also occur in this case, NBEROBER, NBEROBER, and NBER = OBER.

1. NMBEROBER1. NMBEROBER

먼저 NBER이 OBER 보다 큰 경우에는 비터비 디코더(110)의 비트 에러율이 증가된 상태인 바, 모드를 '01', 즉, tau의 크기를 증가시키고, 스텝 사이즈도 증가시도록 결정 바이트를 설정한다.First, when the NBER is larger than the OBER, the bit error rate of the Viterbi decoder 110 is increased, so that the mode is set to '01', that is, the size of tau is increased, and the decision byte is set to increase the step size.

2. NBER=OBER2. NBER = OBER

NBER과 OBER이 같은 경우에는, 성능을 계속 유지시키도록 모드를 '00'으로 설정하여 고정시키고, 스텝 사이즈도 변경시키지 않는다.If NBER and OBER are the same, the mode is set to '00' and fixed to maintain performance, and the step size is not changed.

3. NBEROBER3. NBEROBER

NBER이 OBER 보다 작은 경우는 발생될 수 없는 경우이지만, 만일 성능을 향상시키기 위해서는 전술한 NBER과 OBER이 일치하는 경우와 동일가게 처리한다.If the NBER is smaller than the OBER, it cannot be generated, but if the NBER and the OBER coincide with each other in order to improve the performance, the processing is the same.

마지막으로, 현재 ODBYTE에서 모드가 '00'(tau 길이가 고정)'인 경우로서 이 경우 역시 NBEROBER, NBEROBER, NBER=OBER인 3가지 경우가 발생할 수 있다.Lastly, in the current ODBYTE, the mode is '00' (tau length is fixed). In this case, three cases of NBEROBER, NBEROBER, and NBER = OBER may occur.

1. NBEROBER1. NBEROBER

NBER이 OBER 보다 큰 경우에는 비터비 디코더(110)의 비트 에러율이 증가된 상태이므로 이때는 모드를 '01'으로 설정하고, 스텝 사이즈도 증가되도록 설정한다.If the NBER is larger than the OBER, the bit error rate of the Viterbi decoder 110 is increased. In this case, the mode is set to '01' and the step size is increased.

2. NBER=OBER2. NBER = OBER

NBER과 OBER이 같은 경우에는, 성능을 계속 유지시키도록 모들를 0으로 설정하여 고정시키고, 스텝 사이즈도 변경시키지 않는다.If NBER and OBER are the same, the modules are fixed by setting them to zero to maintain performance, and do not change the step size.

3. NBEROBER3. NBEROBER

NBER이 OBER 보다 적은 경우는 비터비 디코더(110)의 비트 에러율이 감소된 경우인바, 이때는 모드를 '10', 즉, 감소 방향으로 설정하고, 스텝 사이즈도 감소되도록 결정 바이트의 최하위 4비트를 조합시킨다.If the NBER is less than OBER, the bit error rate of the Viterbi decoder 110 is reduced. In this case, the mode is set to '10', that is, the reduction direction, and the least significant 4 bits of the decision byte are combined so that the step size is also reduced. Let's do it.

한편, 절단 길이 결정부(123)는 전술한 모드 및 스텝 사이즈 정보 생성부(121)에서 제공되는 현 단계에서 결정 바이트(NDBYTE)를 저장하고, 이값과 이전 단계에서 설정된 결정바이트(ODBYTE)를 이용하여 최종 tau를 결정하고, 결정된 tau를 tau 제어신호(TCS)로서 비터비 디코더(110)로 전달하며, 저장된 결정 바이트 값은 다음 단계에서 이용되도록 결정 방향 및 크기 정보 생성부(121)로 전달한다.On the other hand, the cut length determiner 123 stores the decision byte NDBYTE in the current step provided by the above-described mode and step size information generation unit 121, and uses this value and the decision byte ODBYTE set in the previous step. The final tau is determined, the determined tau is transmitted to the Viterbi decoder 110 as a tau control signal TCS, and the stored decision byte value is transmitted to the decision direction and size information generation unit 121 to be used in the next step. .

이상에서 설명한 바와 같이, 본 발명에 의한 적응적 절단 길이를 갖는 디코딩 장치 및 방법에 의하면, 이전 단계의 절단 길이 및 비터비 디코더에서 제공되는 비트 오류율에 따라 새로운 결정 길이를 설정하므로서, 절단 길이를 적응적으로 변경시켜 실시간 문제를 해결하고, 디코딩의 정확도를 향상시킬 수 있다.As described above, according to the decoding apparatus and method having the adaptive truncation length according to the present invention, the truncation length is adapted by setting a new decision length according to the truncation length of the previous step and the bit error rate provided by the Viterbi decoder. This can be changed to solve real-time problems and to improve decoding accuracy.

Claims (6)

전송 과정에서 발생하는 데이타의 오류를 복호측에서 정정 가능하도록 콘볼루션 부호화되어 전송되는 데이타를 복호하는 장치로써, 상기 콘볼루션 데이타들을 절단 제어 신호에 대응하는 절단 길이의 비트 단위로 비터비 디코딩함으로써 상기 전송과정에서 오류가 발생한 콘볼루선 데이타를 정정하고, 상기 전송 과정중에서 오류가 발생한 상기 콘볼류션 데이타의 백분율인 비트 오류율을 상기 절단 길이에 대응하는 비트수의 콘볼루션 데이타의 복호가 종료할때마다 출력하는 비터비 대코더(110)와; 상기 비터비 디코더(110)의 비트 오류율에 대응한 상기 절단 제어 신호를 출력하는 오류 검출 및 정정부(120)를 포함하는 적응적 절단 길이를 갖는 비터비 디코딩 장치.A device for decoding data transmitted by convolutional coding so that an error in data generated in a transmission process can be corrected by a decoding side, wherein the convolution data is Viterbi decoded by bit length of a truncation length corresponding to a truncation control signal. Each time the decoding of the convolutional data having an error in the transmission process is performed, and the decoding of the convolution data of the number of bits corresponding to the truncation length is completed, the bit error rate, which is a percentage of the convolution data having an error in the transmission process, is terminated. An output Viterbi large coder 110; Viterbi decoding apparatus having an adaptive truncation length including an error detection and correction unit for outputting the truncation control signal corresponding to the bit error rate of the Viterbi decoder (110). 제1항에 있어서, 상기 오류 검출 및 정정부(120)는, 상기 비터비 디코터(110)에서 제공되는 비트 오류율(NBER)을 저장하고, 상기 비트 오류율이(NBER)이 인가될 때, 기저장된 비트 오류율(NBER)을 비트 오류율(OBER)로서 출력하는 BER 레지스터(122)와 ; 상기 비터비 디코더(110)의 비트 오류율(NBER) 및 BER 레지스터(122의 비트 오류율 (OBER)의 차에 대응한 상기 절단 제어 신호를 출력하는 절단 길이 변경부(124)를 구비하는 적응적 절단 길이를 갖는 비터비 디코딩 장치.The bit error rate (NBER) provided by the Viterbi decoder 110 is stored, and when the bit error rate (NBER) is applied, the error detection and correction unit 120 stores the bit error rate. A BER register 122 for outputting the stored bit error rate NBER as a bit error rate OBER; Adaptive truncation length including a truncation length changer 124 for outputting the truncation control signal corresponding to the difference between the bit error rate NBER of the Viterbi decoder 110 and the bit error rate OBER of the BER register 122. Viterbi decoding device having a. 제2항에 있어서, 상기 절단 길이 변경부(124)는 상기 비터비 디코더(110)에서 행하여진 이전의 절단 길이를 나타내는 제1결정 바이트(decision byte)(ODBYTE), 상기 비트 오류율(NBER, OBER)에 대응하여 상기 비터비 디코더(110)의 절단 길이의 증가 및 그 절단 길이를 지정하는 새로운 결정 바이트(NDBYTE)를 제공하는 모드 및 스텝 사이즈 정보 생성부(121)와 ; 상기 모드 및 스텝 사이즈 정보 생성부(121)의 결정 바이트(NDBYTE)에 의해 절단 길이를 결정하고, 상기 결정된 절단 길이에 대응하는 상기 절단 길이 제어 신호를 상기 비터비 디코더(110)에 제공하며, 상기 결정 바이트(NOBYTE)를 결정 바이트 (ODBYTE)로서 상기 모드 및 스텝 사이즈 생성부(121)에 제공하는 절단 길이 결정부(123)를 포함하는 적응적 절단 길이를 갖는 비터비 디코딩 장치.The cutting length changing unit 124 of claim 2, wherein the truncation length changing unit 124 includes a first decision byte (ODBYTE) representing the previous truncation length performed by the Viterbi decoder 110, and the bit error rate (NBER, OBER). A mode and step size information generation unit 121 for increasing the truncation length of the Viterbi decoder 110 and providing a new decision byte (NDBYTE) for designating the truncation length corresponding to the? The cutting length is determined by the determination byte NDBYTE of the mode and step size information generating unit 121, and the cutting length control signal corresponding to the determined cutting length is provided to the Viterbi decoder 110. A Viterbi decoding apparatus having an adaptive truncation length including a truncation length determiner (123) for providing a decision byte (NOBYTE) to the mode and step size generation unit (121) as a decision byte (ODBYTE). 제3항에 있어서, 상기 결정 바이트(NDBYTE, ODBYE)는 상기 절단 길이의 증가/감소를 알리는 2비트를 구비하도록 설정된 적응적 절단 길이를 갖는 비터비 디코딩 장치.4. The Viterbi decoding device according to claim 3, wherein the decision bytes (NDBYTE, ODBYE) have an adaptive truncation length set to have two bits indicating an increase / decrease of the truncation length. 제4항에 있어서, 상기 결정 바이트(NDBYTE, ODBYTE)는 상기 설정된 절단 길이를 알리는 4비트를 더 구비하도록 설정된 적응적 절단 길이를 갖는 비터비 디코딩 장치.5. The Viterbi decoding device according to claim 4, wherein the decision bytes (NDBYTE, ODBYTE) have an adaptive truncation length set to further have 4 bits indicating the set truncation length. 전송 과정에서 발생 가능한 데이타의 오류를 복호측에서 정정 가능하도록 콘볼루션 부호화된 데이타를 비터비 디코딩하는 방법으로, 상기 콘볼루션 데이타들을 기설정된 절단 길이의 비트 단위로 비터비 디코딩 하므로써 상기 전송 과정에서 오류가 발생한 콘볼루선 데이타를 정정하는 단계와; 상기 전송 과정중에서 오류가 발생한 상기 콘볼루션 데이타의 백분율인 비트 오류율을 상기 절단 길이에 대응하는 비트수의 콘볼루선 데이타의 복호가 종료할 때마다 산출하는 단계와 ; 상기 산출된 비트 오류율에 따라 상기 절단 길이를 재설정하는 단계를 구비하는 적응적 절단 길이를 갖는 비터비 디코딩 방법.Viterbi decoding the convolutionally coded data so that the decoding side can correct an error of data that may occur in the transmission process, and the error in the transmission process by viterbi decoding the convolution data by bit unit of a preset truncation length. Correcting convolutional data generated; Calculating a bit error rate that is a percentage of the convolution data in which an error occurs during the transmission process each time decoding of the convolution data of the number of bits corresponding to the truncation length ends; And resetting the truncation length in accordance with the calculated bit error rate.
KR1019930027995A 1993-12-16 1993-12-16 Apparatus and method for viterbi decoding KR0123087B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930027995A KR0123087B1 (en) 1993-12-16 1993-12-16 Apparatus and method for viterbi decoding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930027995A KR0123087B1 (en) 1993-12-16 1993-12-16 Apparatus and method for viterbi decoding

Publications (2)

Publication Number Publication Date
KR950022990A KR950022990A (en) 1995-07-28
KR0123087B1 true KR0123087B1 (en) 1997-11-17

Family

ID=19371224

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930027995A KR0123087B1 (en) 1993-12-16 1993-12-16 Apparatus and method for viterbi decoding

Country Status (1)

Country Link
KR (1) KR0123087B1 (en)

Also Published As

Publication number Publication date
KR950022990A (en) 1995-07-28

Similar Documents

Publication Publication Date Title
US6769091B2 (en) Encoding method and apparatus using squished trellis codes
US6460161B1 (en) Processing of state histories in Viterbi decoding
KR100554322B1 (en) Convolutional decoding with the ending state decided by crc bits placed inside multiple coding bursts
KR100549894B1 (en) Encoding device, encoding method, mobile station and base station
US5436918A (en) Convolutional encoding/decoding apparatus with fixed bit insertion
US5737345A (en) Method for arithmetic decoding
CN101431388B (en) Method and apparatus of decoding encoded data frame
US5398254A (en) Error correction encoding/decoding method and apparatus therefor
US6526539B1 (en) Turbo decoder
EP0658982B1 (en) System for bi-level symbol coding-decoding with saved storage and method for the same
KR0123087B1 (en) Apparatus and method for viterbi decoding
JPH0715353A (en) Voice decoder
KR100297739B1 (en) Turbo codes with multiple tails and their encoding / decoding methods and encoders / decoders using them
EP0807336B1 (en) Method for forming transition metrics and a receiver of a cellular radio system
US7852960B2 (en) Method of computing path metrics in a high-speed Viterbi detector and related apparatus thereof
JP2001517887A (en) Viterbi decoding method and apparatus for puncture code
JP3282562B2 (en) Method of determining metric value threshold in Viterbi synchronization determination circuit and metric value threshold determination device
JP2591332B2 (en) Error correction decoding device
JP3272173B2 (en) Error correction code / decoding device
JP3236979B2 (en) Viterbi decoding device
KR100358357B1 (en) Reed-solomon decoder with scalable error correction capability
JP2872004B2 (en) Digital communication system
JP2751798B2 (en) Error rate estimation device after decoding of Viterbi decoder
KR970009760B1 (en) An improved crc circuit
JPH0730440A (en) Decoding having optimal decoding route and its device

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: 20110901

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20120903

Year of fee payment: 16

EXPY Expiration of term