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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
- H03M13/2975—Judging correct decoding, e.g. iteration stopping criteria
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2792—Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
- H03M13/3753—Decoding 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
- H04L1/0051—Stopping criteria
Abstract
Description
도 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
먼저, 물리계층 처리부(110)에서의 송신 과정을 살펴보면, 채널 엔코더(111)가 전송 데이터를 무선 채널에서의 간섭과 잡음특성에 강한 신호로 부호화하면, 디지털 변조기(112)는 이렇게 부호화된 전송 데이터를 무선 채널을 통해 전송하는데 적합한 신호로 변환하며, RF 처리부(113)는 디지털 신호를 아날로그 신호로 변경하 여 안테나를 통해 무선채널로 전송한다.First, referring to the transmission process of the physical
다음은, 물리계층 처리부(110)에서의 수신 과정을 살펴보면, RF 처리부(113)가 안테나를 통하여 수신된 신호(무선 채널 신호)에 대하여 RF 신호처리를 수행하면, 디지털 복조기(114)는 무선 채널 신호로부터 원래의 신호를 복원하며, 채널 디코더(115)는 무선 채널에서 발생한 신호 왜곡과 잡음을 제거하고 원래 전송된 데이터를 복원하게 된다.Next, referring to the reception process in the physical
본 발명은 도 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
도 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
제1 디코더(21)와 제2 디코더(23)는 동일한 구조를 갖는 MAP(Maximum a Posteriori) 디코더이고, 인터리버(22)는 입력 스트림의 순서를 불규칙적으로 변경하는 것이고, 디인터리버(Deinterleaver)(24)는 인터리버에 의해 뒤바뀐 순서를 원래의 데이터 스트림 순서로 변경(복원)하는 기능을 수행한다. The
는 사용자가 데이터의 논리값이 "1"인지 "0"인지를 추정한 확률 값이고, 은 송신부의 부호화기에서 계산한 첫번째 길쌈부호의 값이 논리값 "1"인지 논리 값 "0"인지를 추정한 확률 값이며, 그리고 는 송신부의 부호화기에서 계산한 두번째 길쌈부호의 값이 논리값 "1"인지 논리값 "0"인지를 추정한 확률 값이다. 여기서 , , 의 값이 양의 부호를 가지면 논리값 "1"일 확률이 높은 것이고, 음의 부호를 가지면 논리값 "0"일 확률이 높은 것이다. Is a probability value that the user estimated whether the logical value of the data is "1" or "0", 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 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 , , 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)는 와 을 이용하여 전송 데이터 스트림의 각 비트가 논리값 "1"인지 논리값 "0"인지를 추정한 확률값 과 extrinsic 확률값 을 출력한다.The
그러면, 제1 판별기(25)는 의 값이 양의 수인지 음의 수인지를 판별하여 추정된 송신 데이터 스트림 을 출력한다.Then, the
한편, 인터리버(22)는 제1 디코더(21)의 출력 와 입력 데이터 의 각 비트의 확률을 합산한 값을 송신부의 인터리버와 동일한 방식으로 데이터의 순서를 바꾼다.On the other hand, the
제2 디코더(23)는 인터리버(22)를 거친 데이터와 를 입력으로 하여 데이터 스트림의 각 비트의 논리값이 "1"인지 "0"인지를 추정한 확률 값을 출력한다. The
그러면, 디인터리버(24)는 제2 디코더(23)의 출력을 원래의 순서로 변경하여 데이터 스트림 확률값 과 extrinsic 확률값 를 출력한다. Then, the
제2 판별기(26)는 디인터리버(24)의 출력값 중 의 값이 양의 수인지 음의 수인지를 판별하여 추정된 송신 데이터 스트림 을 출력하게 된다. The
그리고 디인터리버(24)의 출력값 중에서 extrinsic 확률값 를 다시 제1 디코더(21)의 입력으로 하여 반복적인 디코딩을 수행하여 최종적으로 추정된 송신 데이터 스트림 ("26"의 출력값)을 출력하게 된다. And extrinsic probability value among the output values of the
상기와 같은 과정에서 반복적인 디코딩의 횟수가 증가하게 되면 그만큼 추정된 송신 데이터 ("26"의 출력값)가 원래 송신된 데이터와 같을 확률이 높아 진다. If the number of repetitive decoding increases in the above process, the estimated transmission data (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)에서 출력되는 추정된 송신 데이터 스트림 의 BIP(Bit Interleave Parity) 또는 제2 판별기(26)에서 출력되는 추정된 송신 데이터 스트림 의 BIP를 계산하고 그 계산된 BIP를 이용하여 수렴했는지 여부를 판단한다. 즉, 본 발명은 이전 디코딩 결과의 BIP와 현재의 디코딩 결과에 대한 BIP 를 비교하여 동일하면 반복 디코딩을 중단한다.The present invention estimates the transmitted data stream output from the
도 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 계산부(311)는 터보 디코더(30)에서의 복호과정을 통하여 추정된 송신 데이터()(도 2에서의 "25" 또는 "26"의 출력)에 대하여 BIP(Bit Interleave Parity)를 계산한다. 즉, BIP 계산부(311)는 터보 디코더(30)에서의 복호과정을 통하여 추정된 송신 데이터()를 소정의 개수의 비트(예를 들면, 8비트)마다 행(行)을 달리하여 배열한 후, 열(列)마다 해당 데이터 비트를 위에서 아래로 합산함으로써 BIP를 구하는데, 이에 대한 보다 구체적인 실시예는 도 4 및 도 5를 통하여 설명하기로 한다.The
BIP 저장부(312)는 BIP 계산부(311)에서 계산된 BIP, 즉 현재의 복호과정에서 추정된 송신 데이터에 대한 BIP(이하, '현재 BIP'라 한다)과 직전 복호과정에서 추정된 송신 데이터에 대한 BIP(이하, '직전 BIP'라 한다)를 저장하는 역할을 수행한다.The
BIP 비교부(313)는 BIP 저장부(312)에 저장된 현재 BIP와 직전 BIP를 비교하여 상호 동일한지를 판단하고, 반복복호 중단부(314)는 BIP 비교부(313)에서의 비 교결과, BIP값이 동일하면 터보 디코더(30)에서의 반복 복호 과정을 제어한다(즉, 터보 디코더(30)에서의 반복 복호 과정을 중단시킨다).The
상기와 같은 본 발명에서의 BIP 계산 과정을 수학적으로 설명하면, 다음의 [수학식 1]과 같다.The mathematical description of the BIP calculation process in the present invention as described above is as follows.
여기서, , 이며, 는 보다 작은 최대의 정수를 의미한다. n은 BIP의 코드 길이를 나타내고, N은 메시지 길이를 나타내며, (i)는 반복 디코딩에서의 반복 횟수를 의미한다. 만약, 이면, 반복 디코딩 과정은 중단될 것이다.here, , Is, Is 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, If so, the iterative decoding process will be stopped.
도 3에서는 터보 디코더(30)와 반복복호 중단 장치(31)를 별개의 장치로 표현하였으나, 일반적으로는 반복복호 중단 장치(31)는 터보 디코더(30) 내에 포함될 것이다.In FIG. 3, the
도 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 계산기는 쉬프트 레지스터(Shift Register)(40)와 병렬 BIP 계산부(41)를 포함하여 이루어진다.The parallel BIP calculator includes a
쉬프트 레지스터(Shift Register)(40)는 터보 디코더로부터 입력되는 추정된 송신 데이터 스트림()(예를 들면, 최대 5,114비트 등)을 매 클럭(CLK) 마다 BIP 코드의 길이 n(예를 들면, 8비트)만큼 쉬프트 시킨다. 그러면, 병렬 BIP 계산부(41)는 쉬프트 레지스터(40)의 클럭을 n으로 나눈 값(CLK/n)을 클럭값으로 이용하여 BIP를 계산한다. 쉬프트 레지스터에 디코딩 블록이 모두 입력되고, 그에 따라 병렬 BIP 계산부(41)를 통하여 BIP가 계산되면 더 이상의 BIP 계산을 중단되며, 그 계산된 BIP값은 BIP 저장부(312)에 저장된다.The
그러면, BIP 비교부(313) 및 반복복호 중단부(314)는 BIP 저장부(312)에 저장되어 있는 '이전 디코딩 결과에 대한 BIP 값'과 '현재 디코딩 결과에 대한 BIP 값'을 비교하여 디코딩을 반복할지 여부를 결정하는데, 만약 BIP가 동일하면 터보 디코더(30)의 반복복호를 중단시키게 된다.Then, the
이하, 쉬프트 레지스터(Shift Register)(40)와 병렬 BIP 계산부(41)를 더욱 상세하게 설명하면 다음과 같다.Hereinafter, the
먼저, 쉬프트 레지스터(Shift Register)(40)는 일정한 개수의 D-플립플롭(예를 들어, 8비트의 BIP를 획득하고자 하는 경우에는 8개)의 연쇄적인 연결로 구성되고, 터보 디코더(30)에서 추정된 송신 데이터()("25" 또는 "26"의 출력값)를 소정의 비트 개수만큼씩 주기적으로 입력받아 저장한다. 즉, 8비트의 BIP를 획득하고자 하는 경우, 쉬프트 레지스터(Shift Register)(30)에 저장되는 총 비트 수는 8비트가 될 것이다.First, the
다음으로는, 병렬 BIP 계산부(41)를 설명하면, 병렬 BIP 계산부(41)는 복수의 '단위 BIP모듈'로 구성되며, 여기서, '단위 BIP모듈'은 하나의 가산기와 하나의 D-플립플롭의 조합으로 이루어지며, 그 개수는 쉬프트 레지스터(Shift Register)(30)에서의 D-플립플롭의 개수와 같다. 여기서, 가산기는 모듈라(modular) 2가산기를 의미하며, 이하 '가산기'라 하면, 이를 의미하기로 한다.Next, the parallel
각각의 '단위 BIP모듈'에서의 가산기는 쉬프트 레지스터(40)의 각각의 D-플립플롭에 저장된 각각의 데이터비트와 해당 D-플립플롭(저장부)에 기저장된 비트 인터리브값을 가산하여 새로운 비트 인터리브값을 생성한다. The adder in each 'unit BIP module' adds each data bit stored in each D-flip-flop of the
그리고, 각각의 '단위 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 계산기는 가산기(51)와 쉬프트 레지스터(Shift Register)(52)를 포함하여 이루어진다.The parallel BIP calculator comprises an
여기서, 가산기(51)는 터보 디코더로부터 입력되는 추정된 송신 데이터 스트림() 과 쉬프트 레지스터(52)에서 출력되는 데이터를 비트단위로 합산한다. Here, the
그러면, 쉬프트 레지스터(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
도 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)
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)
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 |
-
2006
- 2006-11-14 KR KR1020060112377A patent/KR100791228B1/en active IP Right Grant
Patent Citations (4)
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 |