KR100791228B1 - Apparatus and method for stopping iterative decoding using bip, and turbo decoder using it - Google Patents

Apparatus and method for stopping iterative decoding using bip, and turbo decoder using it Download PDF

Info

Publication number
KR100791228B1
KR100791228B1 KR1020060112377A KR20060112377A KR100791228B1 KR 100791228 B1 KR100791228 B1 KR 100791228B1 KR 1020060112377 A KR1020060112377 A KR 1020060112377A KR 20060112377 A KR20060112377 A KR 20060112377A KR 100791228 B1 KR100791228 B1 KR 100791228B1
Authority
KR
South Korea
Prior art keywords
bip
decoding
transmission data
turbo decoder
estimated
Prior art date
Application number
KR1020060112377A
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 KR1020060112377A priority Critical patent/KR100791228B1/en
Application granted granted Critical
Publication of KR100791228B1 publication Critical patent/KR100791228B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. iteration stopping criteria
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
    • H03M13/3753Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding using iteration stopping criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • H04L1/0051Stopping criteria

Abstract

An apparatus and a method for stopping iterative decoding using BIP(Bit Interleave Parity), and a turbo decoder using the same are provided to reduce the amount of hardware by preparing a memory device according to the length of BIP and comparing BIP values in parallel. An apparatus(31) for stopping iterative decoding using BIP includes a BIP calculating unit(311), a storage unit(312), a BIP comparing unit(313), and an iterative decoding stopping unit(314). The BIP calculating unit calculates the BIP for transmission data estimated through a decoding process in a turbo decoder(30). The storage unit stores the BIP(present BIP) for the transmission data estimated in the present decoding process, and the BIP(previous BIP) for the transmission data estimated in the previous decoding process. The BIP comparing unit compares the present BIP with the previous BIP to determine whether the BIPs are identical to each other. The iterative decoding stopping unit stops the iterative decoding process in the turbo decoder in case that the BIPs are identical to each other.

Description

BIP를 이용한 반복복호 중단 장치 및 그 방법과, 그를 이용한 터보 디코더{Apparatus and Method for Stopping Iterative Decoding using BIP, and Turbo Decoder using it}Apparatus and Method for Stopping Iterative Decoding using BIP, and Turbo Decoder using it}

도 1 은 본 발명이 적용되는 이동 무선 통신 시스템의 일반적인 구성도,1 is a general configuration diagram of a mobile wireless communication system to which the present invention is applied;

도 2 는 본 발명이 적용되는 터보 디코더의 구성도,2 is a configuration diagram of a turbo decoder to which the present invention is applied;

도 3 은 본 발명에 따른 BIP를 이용한 반복복호 중단 장치의 일실시예 구성도,3 is a configuration diagram of an embodiment of an iterative decoding interrupting apparatus using a BIP according to the present invention;

도 4 는 본 발명에 따른 병렬 방식을 이용한 BIP 계산부의 일실시예 상세구성도,4 is a detailed configuration diagram of an embodiment of a BIP calculation unit using a parallel method according to the present invention;

도 5 는 본 발명에 따른 직렬 방식을 이용한 BIP 계산부의 일실시예 상세구성도이다.5 is a detailed configuration diagram of an embodiment of a BIP calculation unit using a serial method according to the present invention.

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

30: 터보 디코더 31: 반복복호 중단 장치30: turbo decoder 31: repeat decoding interruption device

311: BIP 계산부 312: BIP 저장부311: BIP calculation section 312: BIP storage section

313: BIP 비교부 314: 반복복호 중단부313: BIP comparison unit 314: Repeat decoding interruption unit

본 발명은 터보 디코더에서 BIP를 이용한 반복복호 중단 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 터보 디코더에서의 복호과정을 통하여 현재 추정된 송신데이터의 BIP(Bit Interleave Parity)(현재 BIP)를 직전 복호 과정을 통하여 추정된 송신데이터의 BIP(BIP)와 비교하여 상호 동일하면 터보 디코더의 반복 복호 과정을 중단시킴으로써, 반복 디코딩으로 인한 전력소모 및 디코딩 지연시간을 효율적으로 줄일 수 있게 하는, BIP를 이용한 반복복호 중단 장치 및 그 방법과, 그를 이용한 터보 디코더에 관한 것이다.The present invention relates to an iterative decoding interruption apparatus and method using WIPS in a turbo decoder, and more particularly, to immediately before the bit interleave parity (current BIP) of transmission data currently estimated through a decoding process in the turbo decoder. By comparing with the BIP (BIP) of the transmission data estimated through the decoding process, if the mutual decoding is the same, the turbo decoder stops the iterative decoding process, thereby effectively reducing power consumption and decoding delay time due to iterative decoding. An apparatus and method for repeat decoding interruption, and a turbo decoder using the same.

고속의 디지털 통신이 발달하면서, 통신 채널의 간섭과 잡음 등으로 인해 발생된 오류를 제거하고 원래의 신호를 복원하기 위한 다양한 채널 코딩 방법들이 사용되고 있다. As high-speed digital communication is developed, various channel coding methods are used to remove an error caused by interference and noise of a communication channel and restore an original signal.

그 중에서 터보 인코더는 2개의 순환길쌈부호(Recursive Convolutional Code) 부호화기(Encoder)를 병렬로 연결하고, 그 사이에 송신 데이터의 순서를 불규칙한 순서로 뒤섞는 인터리버를 두는 구조를 갖는다. 터보 인코더는 상기와 같은 구조를 통하여, 어느 하나의 순환길쌈부호화기로는 입력 데이터 스트림이 순서가 변경되지 않고 그대로 입력되게 함으로써 거기에서 첫 번째 길쌈부호를 획득하고, 두 번째 순환길쌈부호 부호화기로는 입력 데이터 스트림의 순서를 불규칙하게 변경하여 입력시킴으로써 거기에서 두 번째 길쌈부호를 얻은 후, 원래의 데이터 스트림 과 첫 번째 길쌈부호, 두 번째 길쌈부호를 무선 채널을 통해 수신부로 전송한다.Among them, the turbo encoder has a structure in which two Recursive Convolutional Code (Encoder) encoders are connected in parallel, and an interleaver interleaving an order of transmission data in an irregular order therebetween. Through the above structure, the turbo encoder obtains the first convolutional code therein by allowing the input data stream to be input as it is without changing the order by any one of the convolutional convolutional encoders and inputs it to the second convolutional convolutional encoder. By randomly changing the order of the data streams to obtain a second convolutional code there, the original data stream, the first convolutional code, and the second convolutional code are transmitted to the receiver through the wireless channel.

그러면, 수신부에서는 무선 채널을 통해 수신한 데이터 스트림과 첫 번째 길쌈부호를 이용하여 디코딩을 수행하고, 그 결과를 송신부와 동일한 구조의 인터리버를 이용하여 순서를 변경하고 두 번째 길쌈부호와 함께 디코딩을 수행하여 원래의 데이터 스트림을 추정한다. 이때 한 번의 디코딩을 수행함으로써 원래의 데이터 스트림을 복원한다는 것은, 채널의 상태가 아주 좋아서 송신부에서 송신 데이터 스트림과 첫번째 길쌈부호, 두번째 길쌈부호를 오류 없이 수신하였을 때에만 가능한 일이다. Then, the receiver performs decoding using the first convolutional code and the data stream received through the wireless channel, and changes the order using the interleaver having the same structure as the transmitter, and performs decoding with the second convolutional code. To estimate the original data stream. In this case, restoring the original data stream by performing one decoding is possible only when the transmitter receives the transmission data stream, the first convolutional code, and the second convolutional code without error because the state of the channel is so good.

실제는 데이터가 채널을 통과하면서 간섭과 잡음이 부가되는 것이 일반적이며, 이런 경우에는 채널을 통과할 때 부가된 간섭과 잡음을 제거하고 원래의 데이터 스트림을 복원하기 위해서는 상기와 같은 디코딩 과정을 반복해서 수행해야 하는데, 그 반복 횟수를 증가시킴으로써 원래의 데이터 스트림을 복원할 확률을 높일 수 있다. In practice, it is common to add interference and noise as data passes through a channel. In this case, the above decoding process is repeated to remove the interference and noise added to the channel and restore the original data stream. Increasing the number of iterations can increase the probability of restoring the original data stream.

그런데, 이런 반복적인 디코딩을 통해 송수신 오류를 감소시킬 수 있는 확률은 높아지지만, 반복회수가 증가하면 디코더에서 전력소모가 증가하고 디코딩 지연이 증가하게 된다. However, although the probability of reducing transmission / reception errors is increased through such repetitive decoding, increasing the number of repetitions increases power consumption and decoding delay in the decoder.

따라서 복원된 데이터가 어느 정도로 수렴하게 되면, 반복 복호를 중단시키는 것이 필요하며, 이를 통해 전력 소모를 줄이고 데이터의 전달 지연을 줄일 수 있다. Therefore, when the recovered data converges to some extent, it is necessary to stop the repetitive decoding, thereby reducing the power consumption and the data propagation delay.

즉, 이와 같은 반복 복호를 수행하는 터보 디코더에서 전력 소모를 줄이고 디코딩 지연을 줄이기 위한 반복 복호 중단 방법이 요구되었으며, 이러한 필요에 의하여 등장한 종래기술로는 (1)송신측에서 전송되는 데이터에 오류를 검출하기 위한 코드를 삽입함으로써, 수신측에서 디코딩된 데이터 스트림에서 오류가 검출되지 않으면 반복 디코딩을 중단하는 방법(이하, '오류검출용 코드 삽입 방법'라 한다), (2)반복 디코딩을 수행하면서 이전 디코딩 데이터와 현재의 디코딩 데이터에 대한 크로스 엔트로피를 계산하여 크로스 엔트로피가 일정 한계치 이하가 되면 중단하는 방법(이하, '크로스 엔트로피 이용 방법'이라 한다), (3) 반복 디코딩을 수행하면서 이전 디코딩 데이터와 현재 디코딩 데이터가 동일한 부호를 가지면 반복 복호를 중단하는 방법(이하, '디코딩 데이터 부호 검사 방법'이라 한다), (4)반복 디코딩을 수행하면서 이전 디코딩 데이터에 대해 CRC를 계산한 값과 현재의 디코딩 데이터에 대해 CRC를 계산한 값이 동일한 값일 때 반복보호를 중단하는 방법(이하, 'CRC 계산 방법'이라 한다) 등이 있다. 이하, 각각에 대하여 상세히 살펴보기로 한다.That is, in the turbo decoder performing such iterative decoding, a repetitive decoding interruption method for reducing power consumption and reducing decoding delay has been required. As a result of the necessity, the related art has (1) an error in data transmitted from the transmitting side. By inserting the code for detection, if the error is not detected in the decoded data stream on the receiving side, the method of repetitive decoding is stopped (hereinafter referred to as 'error detection code insertion method') (2) while performing repeated decoding Cross entropy is calculated for the previous decoded data and the current decoded data to stop when the cross entropy falls below a certain threshold (hereinafter referred to as 'cross entropy usage method') (3) Previous decoded data while performing repeated decoding If the current decoding data and the current decoding data has the same sign, a method of stopping repeated decoding (4) Repetitive protection is stopped when repeated decoding is performed and CRC is calculated for the previous decoded data and CRC is calculated for the current decoded data. (Hereinafter referred to as 'CRC calculation method'). Hereinafter, each will be described in detail.

첫째, '오류검출용 코드 삽입 방법'은 반복 디코딩 회수를 줄이기 위해 전송되는 데이터에 오류를 검출하기 위한 데이터(즉, 오류검출용 코드)를 삽입하는 방법으로서, 삽입되는 오류검출용 코드만큼 사용자 정보를 전송할 수 있는 양이 작아 지게 되므로 전송 효율의 감소를 초래한다는 문제점이 있었다. 즉, 이는 송신 측에서는 오류를 검출하기 위해 CRC 등을 삽입하고 수신 측에서 복원된 데이터의 CRC를 계산하여 송신 측에서 부가한 CRC와 수신 측에서 계산된 CRC가 동일한 경우에 반복 복호를 중단하는 방법인데, CRC를 부가하는 만큼 전송되는 사용자 정보가 줄어든다 는 문제점이 있었다. First, the 'error detection code insertion method' is a method of inserting data for detecting an error (i.e., an error detection code) into data transmitted to reduce the number of repeated decodings. Since the amount that can be transmitted is small, there is a problem that causes a reduction in transmission efficiency. That is, the sender inserts a CRC or the like to detect an error, calculates a CRC of the recovered data at the receiver, and stops repeated decoding when the CRC added at the transmitter and the CRC calculated at the receiver are the same. However, there is a problem that the user information transmitted is reduced as much as adding a CRC.

둘째, '크로스 엔트로피 이용 방법'은 이전 디코딩 데이터와 현재의 디코딩 데이터 간의 크로스 엔트로피를 계산해야 하기 때문에 계산이 복잡하고, 이전 데이터와 현재의 데이터를 모두 저장하여야 하기 때문에 소요되는 하드웨어의 량도 많으며, 또한 계산 과정에서 지연이 너무 크기 때문에 하드웨어 논리회로를 이용하여 구성하기가 어렵다는 문제점이 있었다. Second, 'cross entropy usage method' is complicated to calculate cross entropy between previous decoded data and current decoded data, and requires a large amount of hardware because both old and current data must be stored. In addition, there is a problem that it is difficult to configure using hardware logic circuit because the delay is too large in the calculation process.

셋째, '디코딩 데이터 부호 검사 방법'은 이전 디코딩 데이터와 현재의 디코딩 데이터를 모두 저장하여 비교(부호가 동일한지 비교)하여야 하기 때문에 이전의 디코딩 데이터를 저장하기 위한 메모리가 부가적으로 필요하게 되는데 이 메모리의 양은 터보코드 블록의 크기가 커지면 더욱 커지게 되어 비효율적이라는 문제가 있었다. 또한 이 방법에서는 많은 양의 데이터를 비교하여야 하기 때문에 부가적인 지연이 발생하게 된다는 문제점도 있었다.Third, the 'decoded data sign checking method' needs to additionally store memory for storing the previous decoded data because both the previous decoded data and the current decoded data must be stored and compared (compare whether the codes are the same). The amount of memory becomes inefficient because the size of the turbo code block increases. In addition, this method has a problem in that an additional delay occurs because a large amount of data must be compared.

넷째, 'CRC 계산 방법'은 이전의 디코딩 데이터에 대한 CRC 값과 현재의 디코딩 데이터에 대한 CRC 값을 비교하기 때문에, 앞에서 설명한 '디코딩 데이터 부호 검사 방법'에 비해 저장하여야 하는 메모리의 양이 현저하게 작고 효율적이라는 장점은 있으나, 직렬 회로를 이용하여 CRC를 계산하여야 하기 때문에 지연이 발생한다는 문제점이 있었다. Fourth, since the CRC calculation method compares the CRC value of the previous decoded data with the CRC value of the current decoded data, the amount of memory to be stored is significantly higher than that of the decoded data sign checking method described above. It has the advantage of being small and efficient, but there is a problem that a delay occurs because the CRC has to be calculated using a series circuit.

본 발명은 상기 문제점을 해결하기 위하여 제안된 것으로, 터보 디코더에서 의 복호과정을 통하여 현재 추정된 송신데이터의 BIP(Bit Interleave Parity)(현재 BIP)를 직전 복호 과정을 통하여 추정된 송신데이터의 BIP(BIP)와 비교하여 상호 동일하면 터보 디코더의 반복 복호 과정을 중단시킴으로써, 반복 디코딩으로 인한 전력소모 및 디코딩 지연시간을 효율적으로 줄일 수 있게 하는, BIP를 이용한 반복복호 중단 장치 및 그 방법과, 그를 이용한 터보 디코더를 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above-mentioned problems, and the BIP (current BIP) of the currently estimated transmission data through the decoding process in the turbo decoder (BIP) of the transmission data estimated through the previous decoding process Repetitive decoding interruption apparatus and method using WIFI which effectively reduce power consumption and decoding delay time due to repetitive decoding by stopping the repetitive decoding process of turbo decoder if they are the same as compared to BIP), and using the same The purpose is to provide a turbo decoder.

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. It will also be appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

상기 목적을 달성하기 위한 본 발명은, 터보 디코더에서의 반복복호 중단 장치에 있어서, 상기 터보 디코더에서의 복호과정을 통하여 추정된 송신 데이터에 대하여 BIP를 계산하기 위한 BIP 계산 수단; 현재의 복호과정에서 추정된 송신 데이터에 대한 BIP(현재 BIP)과, 직전 복호과정에서 추정된 송신 데이터에 대한 BIP(직전 BIP)를 저장하기 위한 저장 수단; 상기 저장 수단에 저장된 현재 BIP와 직전 BIP를 비교하여 상호 동일한지를 판단하기 위한 BIP 비교 수단; 및 상기 BIP 비교 수단에서의 비교결과, BIP값이 동일하면 상기 터보 디코더에서의 반복 복호 과정을 중단시키기 위한 반복복호 중단 수단을 포함한다.According to an aspect of the present invention, there is provided an iterative decoding stop apparatus in a turbo decoder, comprising: BIP calculation means for calculating a BIP for transmission data estimated through a decoding process in the turbo decoder; Storage means for storing a BIP (current BIP) for transmission data estimated in the current decoding process and a BIP (previous BIP) for transmission data estimated in the previous decoding process; BIP comparison means for comparing the current BIP stored in the storage means with a previous BIP to determine whether they are the same; And repeat decoding stop means for stopping the repeat decoding process in the turbo decoder if the BIP value is the same as a result of the comparison in the BIP comparison means.

한편, 터보 디코더에서의 반복 복호 중단 방법에 있어서, 상기 터보 디코더에서의 반복복호 과정을 통하여 추정된 송신 데이터에 대하여 BIP(Bit Interleave Parity)를 계산하는 BIP 계산 단계; 상기 터보 디코더에서 현재 추정된 송신데이터에 대한 BIP(현재 BIP)를, 상기 터보 디코더에서 이전 복호과정에서 추정된 송신 데이터에 대한 BIP(직전 BIP)와 비교하는 BIP 비교 단계; 및 상기 비교단계의 비교결과, BIP가 서로 동일하면 상기 터보 디코더에서의 반복 복호과정을 중단시키는 반복복호 중단 단계를 포함한다.On the other hand, iterative decoding interruption method in a turbo decoder, comprising: a BIP calculation step of calculating a bit interleave parity (BIP) for the transmission data estimated through the iterative decoding process in the turbo decoder; A BIP comparison step of comparing a BIP (current BIP) for transmission data currently estimated in the turbo decoder with a BIP (previous BIP) for transmission data estimated in a previous decoding process in the turbo decoder; And a repeating decoding interrupting step of stopping the repeating decoding process in the turbo decoder if the BIPs are the same as the comparison result of the comparing step.

한편, 본 발명은, 반복 복호 중단 기능을 가지는 터보 디코더에 있어서, 소정의 전송 데이터에 대하여 반복 복호 과정을 통하여 원래의 송신 데이터를 반복적으로 추정하기 위한 반복 복호 수단; 및 상기 반복 복호 수단에서 송신 데이터가 추정될 때마다 추정된 송신 데이터에 대한 BIP(Bit Interleave Parity)를 계산하고, 이전 복호과정에서 추정된 송신 데이터에 대한 BIP와의 비교를 통하여 상기 반복 복호 수단의 반복 복호 과정을 제어하기 위한 반복복호 중단 수단을 포함하는 BIP를 이용한 반복복호 중단 기능을 가지는 터보 디코더에 관한 것이다.On the other hand, the present invention provides a turbo decoder having a repetition decoding interrupt function, comprising: repetitive decoding means for iteratively estimating original transmission data through an iterative decoding process on predetermined transmission data; And calculating bit interleave parity (BIP) for the estimated transmission data whenever transmission data is estimated by the iterative decoding means, and repeating the iterative decoding means through comparison with the BIP for the transmission data estimated in the previous decoding process. A turbo decoder having a repeat decoding interrupt function using a BIP including a repeat decoding interrupt means for controlling a decoding process.

본 발명은 이전에 디코딩된 데이터의 BIP(Bit Interleave Parity)를 계산하여 저장하고 있다가, 현재의 디코딩 데이터의 BIP와 비교하여 동일한 BIP값을 가질 때 반복 복호를 중단하는 방식을 취한다. The present invention calculates and stores Bit Interleave Parity (BIP) of previously decoded data, and then repeats decoding when the same BIP value is compared with a BIP of current decoded data.

즉, 본 발명은, 반복 디코딩을 수행하는 터보 디코더에서 디코딩 결과가 어떤 값으로 수렴하면 반복 복호를 중단함으로써 불필요한 전력 소모를 줄이고 디코딩 지연 시간을 줄이고자 하는 것으로서, 이때 디코딩 결과가 어떤 값으로 수렴하 는지를 판별하기 위한 방법으로 BIP를 이용하여 두 번의 연속된 디코딩 결과가 동일한 BIP를 가질 때에 반복 디코딩을 중단하는 것을 특징으로 한다. 그리고, 본 발명은, 디코딩 결과에 대한 BIP를 계산하는 방식으로, 병렬 처리 방식과 직렬 처리 방식을 제공한다.That is, the present invention is to reduce unnecessary power consumption and to reduce decoding delay time by stopping repetitive decoding when a decoding result converges to a value in a turbo decoder that performs repetitive decoding. As a method for determining whether the determination is repeated, iterative decoding is stopped when two consecutive decoding results using the same BIP have the same BIP. In addition, the present invention provides a parallel processing method and a serial processing method by calculating a BIP for a decoding result.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings, whereby those skilled in the art may easily implement the technical idea of the present invention. There will be. In addition, in describing the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명이 적용되는 이동 무선 통신 시스템의 일반적인 구성도이다.1 is a general configuration diagram of a mobile wireless communication system to which the present invention is applied.

일반적인 이동 무선 통신 시스템은 도 1에 도시된 바와 같이, 상위 계층과 응용 프로그램을 제공하는 상위계층 처리부(100)와, 물리계층 처리부(110)로 구성된다. 그리고, 물리계층 처리부(110)는 채널 엔코더(111), 디지털 변조기(112), RF 처리부(113), 디지털 복조기(114), 채널 디코더(115)를 포함하여 이루어진다.As shown in FIG. 1, a typical mobile wireless communication system includes an upper layer processor 100 that provides an upper layer and an application program, and a physical layer processor 110. The physical layer processor 110 includes a channel encoder 111, a digital modulator 112, an RF processor 113, a digital demodulator 114, and a channel decoder 115.

먼저, 물리계층 처리부(110)에서의 송신 과정을 살펴보면, 채널 엔코더(111)가 전송 데이터를 무선 채널에서의 간섭과 잡음특성에 강한 신호로 부호화하면, 디지털 변조기(112)는 이렇게 부호화된 전송 데이터를 무선 채널을 통해 전송하는데 적합한 신호로 변환하며, RF 처리부(113)는 디지털 신호를 아날로그 신호로 변경하 여 안테나를 통해 무선채널로 전송한다.First, referring to the transmission process of the physical layer processing unit 110, if the channel encoder 111 encodes the transmission data into a signal resistant to interference and noise characteristics in the wireless channel, the digital modulator 112 transmits the encoded transmission data. The signal is converted into a signal suitable for transmitting through a wireless channel, and the RF processing unit 113 converts the digital signal into an analog signal and transmits it to the wireless channel through an antenna.

다음은, 물리계층 처리부(110)에서의 수신 과정을 살펴보면, RF 처리부(113)가 안테나를 통하여 수신된 신호(무선 채널 신호)에 대하여 RF 신호처리를 수행하면, 디지털 복조기(114)는 무선 채널 신호로부터 원래의 신호를 복원하며, 채널 디코더(115)는 무선 채널에서 발생한 신호 왜곡과 잡음을 제거하고 원래 전송된 데이터를 복원하게 된다.Next, referring to the reception process in the physical layer processing unit 110, when the RF processing unit 113 performs RF signal processing on a signal (wireless channel signal) received through an antenna, the digital demodulator 114 performs a wireless channel. Restoring the original signal from the signal, the channel decoder 115 removes signal distortion and noise generated in the wireless channel and restores the original transmitted data.

본 발명은 도 1의 이동 무선 통신 시스템의 구성에서 채널 디코더(115)에 관한 것으로서, 채널 엔코더(111)에서 무선 채널에서 발생하는 간섭과 잡음에 강한 신호로 부호화하기 위해 '터보 코드를 사용하는 부호화기'를 사용한 경우에, 채널 디코더(115)에 사용되는 터보 디코더에 관한 것이다.The present invention relates to a channel decoder (115) in the configuration of the mobile wireless communication system of FIG. 1, in which the encoder using a turbo code to encode a signal resistant to interference and noise generated in a wireless channel in the channel encoder (111). ', The turbo decoder used in the channel decoder 115.

도 2 는 본 발명이 적용되는 터보 디코더의 구성도로서, 터보 디코더가 제1 디코더(21), 인터리버(22), 제2 디코더(23), 디인터리버(24), 제2 판별기(26)를 포함하여 이루어진다는 것을 나타낸다.2 is a configuration diagram of a turbo decoder to which the present invention is applied, in which a turbo decoder includes a first decoder 21, an interleaver 22, a second decoder 23, a deinterleaver 24, and a second discriminator 26. It is made to include.

제1 디코더(21)와 제2 디코더(23)는 동일한 구조를 갖는 MAP(Maximum a Posteriori) 디코더이고, 인터리버(22)는 입력 스트림의 순서를 불규칙적으로 변경하는 것이고, 디인터리버(Deinterleaver)(24)는 인터리버에 의해 뒤바뀐 순서를 원래의 데이터 스트림 순서로 변경(복원)하는 기능을 수행한다. The first decoder 21 and the second decoder 23 are MAP (Maximum a Posteriori) decoders having the same structure. The interleaver 22 randomly changes the order of the input streams, and the deinterleaver 24. ) Changes (restores) the order reversed by the interleaver to the original data stream order.

Figure 112006083297009-pat00001
는 사용자가 데이터의 논리값이 "1"인지 "0"인지를 추정한 확률 값이고,
Figure 112006083297009-pat00002
은 송신부의 부호화기에서 계산한 첫번째 길쌈부호의 값이 논리값 "1"인지 논리 값 "0"인지를 추정한 확률 값이며, 그리고
Figure 112006083297009-pat00003
는 송신부의 부호화기에서 계산한 두번째 길쌈부호의 값이 논리값 "1"인지 논리값 "0"인지를 추정한 확률 값이다. 여기서
Figure 112006083297009-pat00004
,
Figure 112006083297009-pat00005
,
Figure 112006083297009-pat00006
의 값이 양의 부호를 가지면 논리값 "1"일 확률이 높은 것이고, 음의 부호를 가지면 논리값 "0"일 확률이 높은 것이다.
Figure 112006083297009-pat00001
Is a probability value that the user estimated whether the logical value of the data is "1" or "0",
Figure 112006083297009-pat00002
Is a probability value for estimating whether the value of the first convolutional code calculated by the encoder of the transmitter is logical value "1" or logical value "0", and
Figure 112006083297009-pat00003
Is a probability value for estimating whether the value of the second convolutional code calculated by the encoder of the transmitter is logical value "1" or logical value "0". here
Figure 112006083297009-pat00004
,
Figure 112006083297009-pat00005
,
Figure 112006083297009-pat00006
Positive values have a high probability of being logical value "1", and negative values have a high probability of being logical value "0".

제1 디코더(21)는

Figure 112006083297009-pat00007
Figure 112006083297009-pat00008
을 이용하여 전송 데이터 스트림의 각 비트가 논리값 "1"인지 논리값 "0"인지를 추정한 확률값
Figure 112006083297009-pat00009
과 extrinsic 확률값
Figure 112006083297009-pat00010
을 출력한다.The first decoder 21
Figure 112006083297009-pat00007
Wow
Figure 112006083297009-pat00008
Probability value for estimating whether each bit of the transmission data stream is logical value "1" or logical value "0" using
Figure 112006083297009-pat00009
And extrinsic probability
Figure 112006083297009-pat00010
Outputs

그러면, 제1 판별기(25)는

Figure 112006083297009-pat00011
의 값이 양의 수인지 음의 수인지를 판별하여 추정된 송신 데이터 스트림
Figure 112006083297009-pat00012
을 출력한다.Then, the first discriminator 25
Figure 112006083297009-pat00011
The estimated transmission data stream by determining whether the value of is positive or negative.
Figure 112006083297009-pat00012
Outputs

한편, 인터리버(22)는 제1 디코더(21)의 출력

Figure 112006083297009-pat00013
와 입력 데이터
Figure 112006083297009-pat00014
의 각 비트의 확률을 합산한 값을 송신부의 인터리버와 동일한 방식으로 데이터의 순서를 바꾼다.On the other hand, the interleaver 22 outputs the first decoder 21.
Figure 112006083297009-pat00013
And input data
Figure 112006083297009-pat00014
The order of the data is changed in the same manner as that of the interleaver of the transmitter by summing the probabilities of the respective bits.

제2 디코더(23)는 인터리버(22)를 거친 데이터와

Figure 112006083297009-pat00015
를 입력으로 하여 데이터 스트림의 각 비트의 논리값이 "1"인지 "0"인지를 추정한 확률 값을 출력한다. The second decoder 23 and the data passed through the interleaver 22
Figure 112006083297009-pat00015
Is inputted, and a probability value obtained by estimating whether the logical value of each bit of the data stream is "1" or "0" is output.

그러면, 디인터리버(24)는 제2 디코더(23)의 출력을 원래의 순서로 변경하여 데이터 스트림 확률값

Figure 112006083297009-pat00016
과 extrinsic 확률값
Figure 112006083297009-pat00017
를 출력한다. Then, the deinterleaver 24 changes the output of the second decoder 23 in the original order to determine the data stream probability value.
Figure 112006083297009-pat00016
And extrinsic probability
Figure 112006083297009-pat00017
Outputs

제2 판별기(26)는 디인터리버(24)의 출력값 중

Figure 112006083297009-pat00018
의 값이 양의 수인지 음의 수인지를 판별하여 추정된 송신 데이터 스트림
Figure 112006083297009-pat00019
을 출력하게 된다. The second discriminator 26 of the output values of the deinterleaver 24
Figure 112006083297009-pat00018
The estimated transmission data stream by determining whether the value of is positive or negative.
Figure 112006083297009-pat00019
Will print

그리고 디인터리버(24)의 출력값 중에서 extrinsic 확률값

Figure 112006083297009-pat00020
를 다시 제1 디코더(21)의 입력으로 하여 반복적인 디코딩을 수행하여 최종적으로 추정된 송신 데이터 스트림
Figure 112006083297009-pat00021
("26"의 출력값)을 출력하게 된다. And extrinsic probability value among the output values of the deinterleaver 24.
Figure 112006083297009-pat00020
Is repeated as an input of the first decoder 21 to perform iterative decoding to finally estimate the transmission data stream.
Figure 112006083297009-pat00021
(Output value of "26") is output.

상기와 같은 과정에서 반복적인 디코딩의 횟수가 증가하게 되면 그만큼 추정된 송신 데이터

Figure 112006083297009-pat00022
("26"의 출력값)가 원래 송신된 데이터와 같을 확률이 높아 진다. If the number of repetitive decoding increases in the above process, the estimated transmission data
Figure 112006083297009-pat00022
(The output value of " 26 ") becomes higher than the original transmitted data.

그러나, 어느 정도 반복을 하게 되면 임의의 값으로 수렴하게 되는데, 이렇게 수렴된 상태에서 더 이상 반복을 한다는 것은 전력 낭비 및 디코딩 지연을 증가시키는 결과를 초래하게 되므로, 수렴했는지를 판단해서 반복 디코딩을 중단할 필요가 있게 된다. 이렇게 함으로써 불필요한 전력 소모를 줄이고 지연시간을 줄일 수 있게 되는 것이다.However, after some repetition, the convergence converges to an arbitrary value, and further repetition in this converged state results in an increase in power consumption and decoding delay. You need to do it. This reduces unnecessary power consumption and reduces latency.

본 발명은 제1 판별기(25)에서 출력되는 추정된 송신 데이터 스트림

Figure 112006083297009-pat00023
의 BIP(Bit Interleave Parity) 또는 제2 판별기(26)에서 출력되는 추정된 송신 데이터 스트림
Figure 112006083297009-pat00024
의 BIP를 계산하고 그 계산된 BIP를 이용하여 수렴했는지 여부를 판단한다. 즉, 본 발명은 이전 디코딩 결과의 BIP와 현재의 디코딩 결과에 대한 BIP 를 비교하여 동일하면 반복 디코딩을 중단한다.The present invention estimates the transmitted data stream output from the first discriminator 25.
Figure 112006083297009-pat00023
The estimated transmit data stream output from the bit interleave parity (BIP) of the first or second discriminator 26
Figure 112006083297009-pat00024
Calculate the BIP of and determine whether it converged using the calculated BIP. That is, the present invention compares the BIP of the previous decoding result with the BIP for the current decoding result and stops iterative decoding if it is the same.

도 3 은 본 발명에 따른 BIP를 이용한 반복복호 중단 장치의 일실시예 구성도이다.3 is a block diagram of an embodiment of an iterative decoding interruption apparatus using a BIP according to the present invention.

본 발명에 따른 반복복호 중단 장치(31)는 도 3에 도시된 바와 같이, BIP 계산부(311), BIP 저장부(312), BIP 비교부(313), 및 반복복호 중단부(314)를 포함하여 이루어지는데, 각각의 구성요소에 대하여 설명하면, 다음과 같다.As shown in FIG. 3, the repetition decoding stop device 31 according to the present invention includes a BIP calculation unit 311, a BIP storage unit 312, a BIP comparison unit 313, and a repetition decoding stop unit 314. Although each component is demonstrated, it is as follows.

BIP 계산부(311)는 터보 디코더(30)에서의 복호과정을 통하여 추정된 송신 데이터(

Figure 112006083297009-pat00025
)(도 2에서의 "25" 또는 "26"의 출력)에 대하여 BIP(Bit Interleave Parity)를 계산한다. 즉, BIP 계산부(311)는 터보 디코더(30)에서의 복호과정을 통하여 추정된 송신 데이터(
Figure 112006083297009-pat00026
)를 소정의 개수의 비트(예를 들면, 8비트)마다 행(行)을 달리하여 배열한 후, 열(列)마다 해당 데이터 비트를 위에서 아래로 합산함으로써 BIP를 구하는데, 이에 대한 보다 구체적인 실시예는 도 4 및 도 5를 통하여 설명하기로 한다.The BIP calculator 311 calculates transmission data estimated through a decoding process in the turbo decoder 30 (
Figure 112006083297009-pat00025
Bit Interleave Parity (BIP) is calculated for () (output of "25" or "26" in FIG. 2). That is, the BIP calculation unit 311 calculates the transmission data estimated through the decoding process in the turbo decoder 30 (
Figure 112006083297009-pat00026
) Is arranged in a predetermined number of bits (for example, 8 bits) with different rows, and then BIP is calculated by adding up corresponding data bits from top to bottom for each column. An embodiment will be described with reference to FIGS. 4 and 5.

BIP 저장부(312)는 BIP 계산부(311)에서 계산된 BIP, 즉 현재의 복호과정에서 추정된 송신 데이터에 대한 BIP(이하, '현재 BIP'라 한다)과 직전 복호과정에서 추정된 송신 데이터에 대한 BIP(이하, '직전 BIP'라 한다)를 저장하는 역할을 수행한다.The BIP storage unit 312 stores the BIP calculated by the BIP calculation unit 311, that is, the BIP (hereinafter referred to as 'current BIP') for the transmission data estimated in the current decoding process and the transmission data estimated in the previous decoding process. It stores the BIP (hereinafter referred to as 'previous BIP') for.

BIP 비교부(313)는 BIP 저장부(312)에 저장된 현재 BIP와 직전 BIP를 비교하여 상호 동일한지를 판단하고, 반복복호 중단부(314)는 BIP 비교부(313)에서의 비 교결과, BIP값이 동일하면 터보 디코더(30)에서의 반복 복호 과정을 제어한다(즉, 터보 디코더(30)에서의 반복 복호 과정을 중단시킨다).The BIP comparison unit 313 compares the current BIP stored in the BIP storage unit 312 with the previous BIP to determine whether they are identical to each other, and the repetition decoding stop unit 314 compares the result of the BIP comparison unit 313 with the BIP. If the values are the same, the iterative decoding process at the turbo decoder 30 is controlled (that is, the iterative decoding process at the turbo decoder 30 is stopped).

상기와 같은 본 발명에서의 BIP 계산 과정을 수학적으로 설명하면, 다음의 [수학식 1]과 같다.The mathematical description of the BIP calculation process in the present invention as described above is as follows.

Figure 112006083297009-pat00027
Figure 112006083297009-pat00027

여기서,

Figure 112006083297009-pat00028
,
Figure 112006083297009-pat00029
이며,
Figure 112006083297009-pat00030
Figure 112006083297009-pat00031
보다 작은 최대의 정수를 의미한다. n은 BIP의 코드 길이를 나타내고, N은 메시지 길이를 나타내며, (i)는 반복 디코딩에서의 반복 횟수를 의미한다. 만약,
Figure 112006083297009-pat00032
이면, 반복 디코딩 과정은 중단될 것이다.here,
Figure 112006083297009-pat00028
,
Figure 112006083297009-pat00029
Is,
Figure 112006083297009-pat00030
Is
Figure 112006083297009-pat00031
It means smaller maximum integer. n denotes the code length of the BIP, N denotes the message length, and (i) denotes the number of repetitions in the iterative decoding. if,
Figure 112006083297009-pat00032
If so, the iterative decoding process will be stopped.

도 3에서는 터보 디코더(30)와 반복복호 중단 장치(31)를 별개의 장치로 표현하였으나, 일반적으로는 반복복호 중단 장치(31)는 터보 디코더(30) 내에 포함될 것이다.In FIG. 3, the turbo decoder 30 and the repetition decoding stop device 31 are represented as separate devices. In general, the repetition decoding stop device 31 will be included in the turbo decoder 30.

도 4 는 본 발명에 따른 병렬 방식을 이용한 BIP 계산부의 일실시예 상세구성도, 도 3의 BIP 계산부(311)의 구체적인 실시예를 나타낸다.4 is a detailed configuration diagram of an embodiment of a BIP calculation unit using a parallel method according to the present invention, and shows a specific embodiment of the BIP calculation unit 311 of FIG.

병렬 BIP 계산기는 쉬프트 레지스터(Shift Register)(40)와 병렬 BIP 계산부(41)를 포함하여 이루어진다.The parallel BIP calculator includes a shift register 40 and a parallel BIP calculator 41.

쉬프트 레지스터(Shift Register)(40)는 터보 디코더로부터 입력되는 추정된 송신 데이터 스트림(

Figure 112006083297009-pat00033
)(예를 들면, 최대 5,114비트 등)을 매 클럭(CLK) 마다 BIP 코드의 길이 n(예를 들면, 8비트)만큼 쉬프트 시킨다. 그러면, 병렬 BIP 계산부(41)는 쉬프트 레지스터(40)의 클럭을 n으로 나눈 값(CLK/n)을 클럭값으로 이용하여 BIP를 계산한다. 쉬프트 레지스터에 디코딩 블록이 모두 입력되고, 그에 따라 병렬 BIP 계산부(41)를 통하여 BIP가 계산되면 더 이상의 BIP 계산을 중단되며, 그 계산된 BIP값은 BIP 저장부(312)에 저장된다.The shift register 40 is an estimated transmission data stream input from the turbo decoder.
Figure 112006083297009-pat00033
(For example, up to 5,114 bits, etc.) are shifted by the length n (for example, 8 bits) of the BIP code every clock CLK. Then, the parallel BIP calculation unit 41 calculates the BIP using the value CLK / n obtained by dividing the clock of the shift register 40 by n as the clock value. When all the decoding blocks are input to the shift register, and thus the BIP is calculated through the parallel BIP calculation unit 41, further BIP calculation is stopped, and the calculated BIP value is stored in the BIP storage unit 312.

그러면, BIP 비교부(313) 및 반복복호 중단부(314)는 BIP 저장부(312)에 저장되어 있는 '이전 디코딩 결과에 대한 BIP 값'과 '현재 디코딩 결과에 대한 BIP 값'을 비교하여 디코딩을 반복할지 여부를 결정하는데, 만약 BIP가 동일하면 터보 디코더(30)의 반복복호를 중단시키게 된다.Then, the BIP comparator 313 and the iterative decoding breaker 314 decode the 'BIP value for the previous decoding result' and the 'BIP value for the current decoding result' stored in the BIP storage 312. If the BIP is the same, the decoding of the turbo decoder 30 is stopped.

이하, 쉬프트 레지스터(Shift Register)(40)와 병렬 BIP 계산부(41)를 더욱 상세하게 설명하면 다음과 같다.Hereinafter, the shift register 40 and the parallel BIP calculation unit 41 will be described in more detail.

먼저, 쉬프트 레지스터(Shift Register)(40)는 일정한 개수의 D-플립플롭(예를 들어, 8비트의 BIP를 획득하고자 하는 경우에는 8개)의 연쇄적인 연결로 구성되고, 터보 디코더(30)에서 추정된 송신 데이터(

Figure 112006083297009-pat00034
)("25" 또는 "26"의 출력값)를 소정의 비트 개수만큼씩 주기적으로 입력받아 저장한다. 즉, 8비트의 BIP를 획득하고자 하는 경우, 쉬프트 레지스터(Shift Register)(30)에 저장되는 총 비트 수는 8비트가 될 것이다.First, the shift register 40 is composed of a constant number of D-flip-flops (e.g., eight to obtain an 8-bit BIP), and a serial connection of the turbo decoder 30. Estimated transmission data from
Figure 112006083297009-pat00034
) Is periodically input by a predetermined number of bits and stored. That is, when the 8-bit BIP is to be obtained, the total number of bits stored in the shift register 30 will be 8 bits.

다음으로는, 병렬 BIP 계산부(41)를 설명하면, 병렬 BIP 계산부(41)는 복수의 '단위 BIP모듈'로 구성되며, 여기서, '단위 BIP모듈'은 하나의 가산기와 하나의 D-플립플롭의 조합으로 이루어지며, 그 개수는 쉬프트 레지스터(Shift Register)(30)에서의 D-플립플롭의 개수와 같다. 여기서, 가산기는 모듈라(modular) 2가산기를 의미하며, 이하 '가산기'라 하면, 이를 의미하기로 한다.Next, the parallel BIP calculation unit 41 will be described. The parallel BIP calculation unit 41 includes a plurality of 'unit BIP modules', where the 'unit BIP module' includes one adder and one D−. It is a combination of flip-flops, the number of which is equal to the number of D-flip flops in the shift register 30. Here, the adder means a modular two adder, and hereinafter, 'adder' will mean this.

각각의 '단위 BIP모듈'에서의 가산기는 쉬프트 레지스터(40)의 각각의 D-플립플롭에 저장된 각각의 데이터비트와 해당 D-플립플롭(저장부)에 기저장된 비트 인터리브값을 가산하여 새로운 비트 인터리브값을 생성한다. The adder in each 'unit BIP module' adds each data bit stored in each D-flip-flop of the shift register 40 and the bit interleave value previously stored in the corresponding D-flip-flop (store). Generates interleaved values.

그리고, 각각의 '단위 BIP모듈'의 D-플립플롭(저장부)은 해당 가산기에서 출력되는 비트 인터리브값을 저장하고, 이렇게 저장된 값은 다음의 BIP 계산에 이용된다.The D-flip-flop (storage unit) of each 'unit BIP module' stores the bit interleave value output from the corresponding adder, and the stored value is used for the next BIP calculation.

도 5 는 본 발명에 따른 직렬 방식을 이용한 BIP 계산부의 일실시예 상세구성도로서, 도 3의 BIP 계산부(311)의 또 다른 실시예를 나타낸다.5 is a detailed configuration diagram of an embodiment of the BIP calculation unit using a serial method according to the present invention, and shows another embodiment of the BIP calculation unit 311 of FIG.

병렬 BIP 계산기는 가산기(51)와 쉬프트 레지스터(Shift Register)(52)를 포함하여 이루어진다.The parallel BIP calculator comprises an adder 51 and a shift register 52.

여기서, 가산기(51)는 터보 디코더로부터 입력되는 추정된 송신 데이터 스트림(

Figure 112006083297009-pat00035
) 과 쉬프트 레지스터(52)에서 출력되는 데이터를 비트단위로 합산한다. Here, the adder 51 is an estimated transmission data stream (input from the turbo decoder).
Figure 112006083297009-pat00035
) And the data output from the shift register 52 are added in bit units.

그러면, 쉬프트 레지스터(52)는 가산기(51)에서 출력되어 입력된 데이터를 소정의 비트수(예를 들어, 8비트의 BIP를 구하고자 하는 경우에는 8비트) 만큼 저 장하고 있다가 순차적으로 가산기(51)로 출력한다. 즉, 쉬프트 레지스터(52)는 복수의 D-플립플롭(예를 들어, 8비트의 BIP를 구하고자 하는 경우에는 8개의 D-플립플롭)이 순차적으로 연결되어 구성되며, 가산기(51)에서 출력되는 데이터를 소정의 비트만큼 쉬프트시킨 후 다시 가산기(51)로 출력한다.Then, the shift register 52 stores data input and output from the adder 51 by a predetermined number of bits (for example, 8 bits in order to obtain an 8-bit BIP), and then sequentially adders. Output to (51). That is, the shift register 52 is configured by sequentially connecting a plurality of D-flip flops (for example, eight D-flip flops in the case of obtaining an 8-bit BIP), and outputting from the adder 51. The shifted data is shifted by a predetermined bit and then output to the adder 51 again.

도 4와 도 5에 도시된 바와 같은 본 발명의 구성을 비교하면 그 결과는 동일하나 도 5는 도 4의 구성보다 더욱 간단한 구조를 갖는다. 즉, 모듈로 2가산기도 도4에서는 n개가 필요하나 도 5에서는 1개만이 필요하다. Comparing the configuration of the present invention as shown in FIG. 4 and FIG. 5, the result is the same, but FIG. 5 has a simpler structure than that of FIG. That is, n modulo diadders are also needed in FIG. 4 but only one is needed in FIG.

따라서, 본 발명이 적용된 BIP를 이용한 효율적이고 간단한 반복 디코딩 중단 장치에서는 구현되는 하드웨어의 성질에 따라 효율적인 방법을 선택하여 적용할 수 있다.Therefore, in the efficient and simple iterative decoding stop device using the BIP to which the present invention is applied, an efficient method can be selected and applied according to the nature of hardware to be implemented.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.As described above, the method of the present invention may be implemented as a program and stored in a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.) in a computer-readable form. Since this process can be easily implemented by those skilled in the art will not be described in more detail.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

상기와 같은 본 발명은, BIP를 이용한 반복 복호 중단에 관한 것으로서 반복 디코딩을 수행하는 터보 디코더에서 디코딩 결과가 어떤 값으로 수렴하면 반복 복호를 중단하기 때문에, 불필요한 전력 소모를 줄이고 디코딩 지연 시간을 줄일 수 있는 효과가 있다. 즉, 본 발명은, 터보 디코더에서 불필요한 반복 디코딩을 하지 않음으로써, 적정한 수준의 성능을 유지하면서도 불필요한 전력소모 및 디코딩 지연시간을 줄일 수 있는 효과가 있다.As described above, the present invention relates to repetitive decoding interruption using a BIP. Since the decoding results in a turbo decoder performing repetitive decoding, the repetitive decoding is stopped when the decoding result converges to a certain value, thereby reducing unnecessary power consumption and decoding delay time. It has an effect. That is, the present invention, by not performing unnecessary iterative decoding in the turbo decoder, there is an effect that can reduce unnecessary power consumption and decoding delay time while maintaining an appropriate level of performance.

또한, 본 발명은, 단순히 BIP의 길이에 따른 메모리 소자만을 준비하고 병렬로 BIP값을 비교하면 되기 때문에 하드웨어의 양을 현저하게 줄일 수 있고, 또한 하나의 레지스터와 모듈라(modular) 2가산기만 있으면 BIP를 계산할 수 있기 때문에 BIP 계산을 위한 시스템 구성도 간단하다는 효과가 있다. 게다가, 본 발명은 구조가 간단하면서도 오류 제거 성능은 기존의 다른 방식들에 비해 우수하거나 동일한 성능을 갖는다는 효과가 있다.In addition, the present invention can significantly reduce the amount of hardware since only a memory device according to the length of the BIP is prepared and the BIP values are compared in parallel, and only one register and a modular two-adder are required. Because it can calculate the system configuration for the BIP calculation is also effective. In addition, the present invention has the effect that the structure is simple but the error cancellation performance is superior to or equal to that of other conventional methods.

Claims (11)

터보 디코더에서의 반복복호 중단 장치에 있어서,In the repeated decoding interruption device in a turbo decoder, 상기 터보 디코더에서의 복호과정을 통하여 추정된 송신 데이터에 대하여 BIP(Bit Interleave Parity)를 계산하기 위한 BIP 계산 수단;BIP calculation means for calculating bit interleave parity (BIP) with respect to transmission data estimated through a decoding process in said turbo decoder; 현재의 복호과정에서 추정된 송신 데이터에 대한 BIP(현재 BIP)과, 직전 복호과정에서 추정된 송신 데이터에 대한 BIP(직전 BIP)를 저장하기 위한 저장 수단;Storage means for storing a BIP (current BIP) for transmission data estimated in the current decoding process and a BIP (previous BIP) for transmission data estimated in the previous decoding process; 상기 저장 수단에 저장된 현재 BIP와 직전 BIP를 비교하여 상호 동일한지를 판단하기 위한 BIP 비교 수단; 및BIP comparison means for comparing the current BIP stored in the storage means with a previous BIP to determine whether they are the same; And 상기 BIP 비교 수단에서의 비교결과, BIP값이 동일하면 상기 터보 디코더에서의 반복 복호 과정을 중단시키기 위한 반복복호 중단 수단Repeat decoding stop means for stopping the repeat decoding process in the turbo decoder if the BIP value is the same as a result of the comparison in the BIP comparison means. 을 포함하는 BIP를 이용한 반복복호 중단 장치.Repeated decoding stop device using a BIP comprising a. 제 1 항에 있어서,The method of claim 1, 상기 BIP 계산 수단은,The BIP calculation means, 상기 추정된 송신 데이터를 소정의 개수의 비트마다 행(行)을 달리하여 배열한 후, 열(列)마다 해당 데이터 비트를 합산하여 BIP를 구하는 것을 특징으로 하는 BIP를 이용한 반복복호 중단 장치.And arranging the estimated transmission data differently for each predetermined number of bits, and then summing the corresponding data bits for each column to obtain a BIP. 제 2 항에 있어서,The method of claim 2, 상기 BIP 계산 수단은,The BIP calculation means, 상기 추정된 송신 데이터를 소정의 비트 개수만큼씩 주기적으로 입력받아 저장하기 위한 쉬프트 레지스터; 및A shift register for periodically receiving and storing the estimated transmission data by a predetermined number of bits; And 상기 쉬프트 레지스터에 저장된 각각의 데이터비트와 각각의 저장 수단에서 기저장된 비트 인터리브값을 가산하여 새로운 비트 인터리브값을 생성하기 위한 복수의 가산 수단; 및A plurality of adding means for adding a new data interleaved value by adding each data bit stored in the shift register and a pre-stored bit interleave value in each storage means; And 상기 각각의 가산 수단에서 출력되는 비트 인터리브값을 저장하기 위한 상기 복수의 저장 수단The plurality of storage means for storing the bit interleave value output from the respective addition means 을 포함하는 BIP를 이용한 반복복호 중단 장치.Repeated decoding stop device using a BIP comprising a. 제 3 항에 있어서,The method of claim 3, wherein 상기 쉬프트 레지스터는,The shift register, 소정의 개수의 D-플립플롭의 연쇄적인 연결로 이루어지고,Consisting of a chain of connections of any number of D-flip flops, 상기 각각의 저장 수단은,Each of the storage means, 하나의 D-플립플롭이며,One D-flip-flop, 상기 각각의 가산 수단은,Each said adding means, 모듈라(modular) 가산기인 것을 특징으로 하는 BIP를 이용한 반복복호 중단 장치.Iterative decoding stop device using a BIP, characterized in that the modular (modular) adder. 제 2 항에 있어서,The method of claim 2, 상기 BIP 계산 수단은,The BIP calculation means, 상기 추정된 송신 데이터와 쉬프트 레지스터에서 출력되는 데이터를 비트단위로 합산하기 위한 가산 수단; 및Adding means for adding up the estimated transmission data and data output from the shift register bit by bit; And 상기 가산 수단으로부터 입력된 데이터를 소정의 비트수 만큼 저장하고 있다가 순차적으로 상기 가산수단으로 출력하기 위한 쉬프트 레지스터 A shift register for storing data input from the adding means for a predetermined number of bits and sequentially outputting the data to the adding means 를 BIP를 이용한 반복복호 중단 장치.Repeat decoding stop device using BIP. 제 5 항에 있어서,The method of claim 5, 상기 쉬프트 레지스터는,The shift register, 복수의 D-플립플롭이 순차적으로 연결되어, 상기 가산 수단에서 출력되는 데이터를 소정의 비트만큼 쉬프트시킨 후 다시 상기 가산 수단으로 출력하는 것을 특징으로 하는 BIP를 이용한 반복복호 중단 장치.And a plurality of D-flip flops are sequentially connected to shift the data output from the adding means by a predetermined bit and then output the data to the adding means. 제 5 항에 있어서,The method of claim 5, 상기 가산 수단은,The adding means, 모듈라(modular) 가산기인 것을 특징으로 하는 BIP를 이용한 반복복호 중단 장치.Iterative decoding stop device using a BIP, characterized in that the modular (modular) adder. 터보 디코더에서의 반복 복호 중단 방법에 있어서,In the repeated decoding interrupt method in the turbo decoder, 상기 터보 디코더에서의 반복복호 과정을 통하여 추정된 송신 데이터에 대하여 BIP(Bit Interleave Parity)를 계산하는 BIP 계산 단계;A BIP calculation step of calculating a bit interleave parity (BIP) with respect to transmission data estimated through an iterative decoding process in the turbo decoder; 상기 터보 디코더에서 현재 추정된 송신데이터에 대한 BIP(현재 BIP)를, 상기 터보 디코더에서 이전 복호과정에서 추정된 송신 데이터에 대한 BIP(직전 BIP)와 비교하는 BIP 비교 단계; 및A BIP comparison step of comparing a BIP (current BIP) for transmission data currently estimated in the turbo decoder with a BIP (previous BIP) for transmission data estimated in a previous decoding process in the turbo decoder; And 상기 비교단계의 비교결과, BIP가 서로 동일하면 상기 터보 디코더에서의 반복 복호과정을 중단시키는 반복복호 중단 단계As a result of the comparison in the comparison step, if the BIP is the same, the iterative decoding interruption step of stopping the iterative decoding process in the turbo decoder 를 포함하는 BIP를 이용한 반복 복호 중단 방법.Repeated decoding interruption method using a BIP comprising a. 제 8 항에 있어서,The method of claim 8, 상기 BIP 계산 단계는,The BIP calculation step, 상기 추정된 송신 데이터를 소정의 개수의 비트마다 행(行)을 달리하여 배열한 후, 열(列)마다 해당 데이터 비트를 합산하여 BIP를 구하는 것을 특징으로 하는 BIP를 이용한 반복 복호 중단 방법.And arranging the estimated transmission data differently for each predetermined number of bits, and then summing the corresponding data bits for each column to obtain a BIP. 반복 복호 중단 기능을 가지는 터보 디코더에 있어서,In the turbo decoder having a repeat decoding interrupt function, 소정의 전송 데이터에 대하여 반복 복호 과정을 통하여 원래의 송신 데이터를 반복적으로 추정하기 위한 반복 복호 수단; 및Iterative decoding means for iteratively estimating original transmission data through an iterative decoding process for the predetermined transmission data; And 상기 반복 복호 수단에서 송신 데이터가 추정될 때마다 추정된 송신 데이터에 대한 BIP(Bit Interleave Parity)를 계산하고, 이전 복호과정에서 추정된 송신 데이터에 대한 BIP와의 비교를 통하여 상기 반복 복호 수단의 반복 복호 과정을 제어하기 위한 반복복호 중단 수단Whenever transmission data is estimated by the iterative decoding means, a bit interleave parity (BIP) is calculated for the estimated transmission data, and the iterative decoding of the iterative decoding means is performed by comparing with the BIP of the transmission data estimated in the previous decoding process. Repeat Decoding Interruption Means for Controlling the Process 을 포함하는 BIP를 이용한 반복복호 중단 기능을 가지는 터보 디코더.Turbo decoder having a repeat decoding stop function using a BIP. 제 10 항에 있어서,The method of claim 10, 상기 반복 복호 중단 수단은,The repeat decoding stop means, 제 1 항 내지 제 7 항 중 어느 한 항의 반복복호 중단 장치인 것을 특징으로 하는 BIP를 이용한 반복복호 중단 기능을 갖는 터보 디코더.A turbo decoder having a repeat decoding stop function using a BIP, characterized in that the repeat decoding stop device according to any one of claims 1 to 7.
KR1020060112377A 2006-11-14 2006-11-14 Apparatus and method for stopping iterative decoding using bip, and turbo decoder using it KR100791228B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060112377A KR100791228B1 (en) 2006-11-14 2006-11-14 Apparatus and method for stopping iterative decoding using bip, and turbo decoder using it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060112377A KR100791228B1 (en) 2006-11-14 2006-11-14 Apparatus and method for stopping iterative decoding using bip, and turbo decoder using it

Publications (1)

Publication Number Publication Date
KR100791228B1 true KR100791228B1 (en) 2008-01-03

Family

ID=39216556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060112377A KR100791228B1 (en) 2006-11-14 2006-11-14 Apparatus and method for stopping iterative decoding using bip, and turbo decoder using it

Country Status (1)

Country Link
KR (1) KR100791228B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990081470A (en) * 1998-04-30 1999-11-15 곽치영 Method of terminating iterative decoding of turbo decoder and its decoder
KR20010092900A (en) * 2000-03-27 2001-10-27 정명식 Apparatus for stopping recursive decoding and turbo decoder comprising it
KR20040086872A (en) * 2003-03-22 2004-10-13 김환용 Its methods and control apparatus of iterative decoding number for turbo decoder
KR20060025350A (en) * 2004-09-16 2006-03-21 한국전자통신연구원 Method and equipment for interactive decoding stop criterion of decoder

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990081470A (en) * 1998-04-30 1999-11-15 곽치영 Method of terminating iterative decoding of turbo decoder and its decoder
KR20010092900A (en) * 2000-03-27 2001-10-27 정명식 Apparatus for stopping recursive decoding and turbo decoder comprising it
KR20040086872A (en) * 2003-03-22 2004-10-13 김환용 Its methods and control apparatus of iterative decoding number for turbo decoder
KR20060025350A (en) * 2004-09-16 2006-03-21 한국전자통신연구원 Method and equipment for interactive decoding stop criterion of decoder

Similar Documents

Publication Publication Date Title
KR100333425B1 (en) Coding and decoding system using CRC check bit
US8443265B2 (en) Method and apparatus for map decoding and turbo decoder using the same
CA2661264C (en) Method of correcting message errors using cyclic redundancy checks
US20030033571A1 (en) Encoding apparatus and encoding method for multidimensionally coding and encoding method and decoding apparatus for iterative decoding of multidimensionally coded information
JP2020536432A (en) Polar coding method and device and Polar decoding method and device
CN108429599B (en) Method and apparatus for data processing in a communication system
KR100835134B1 (en) Forward error correction decoder and method thereof
KR100369561B1 (en) Encoder and decoder for turbo code
KR20100008849A (en) Apparatus and method for cyclic redundancy check in communication system
EP1821415B1 (en) Hybrid decoding using multiple turbo decoders in parallel
Luyi et al. Forward error correction
US7346117B2 (en) Turbo decoder
KR100791228B1 (en) Apparatus and method for stopping iterative decoding using bip, and turbo decoder using it
JP3910777B2 (en) Decoding device
US8196003B2 (en) Apparatus and method for network-coding
EP1670144A1 (en) Input control apparatus and input control method
KR102197751B1 (en) Syndrome-based hybrid decoding apparatus for low-complexity error correction of block turbo codes and method thereof
Elwazan et al. Matlab Code for LTE Convolutional Code and Viterbi Decoder
RU2667370C1 (en) Method for decoding linear cascade code
KR101279283B1 (en) Apparatus and method for transmitting/receiving signal in a communication system using a block code
JP2002368627A (en) Error correction controller
US8750815B2 (en) Communication device and control method thereof
JP3871063B2 (en) Decryption method
KR20210127436A (en) Burst error processing apparatus
KR20150024183A (en) Method and apparatus for decoding of received sequence

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

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161121

Year of fee payment: 10