KR20050079986A - Apparatus and method for controlling iterative decoding for turbo decoder using compare of llr's sign bit - Google Patents

Apparatus and method for controlling iterative decoding for turbo decoder using compare of llr's sign bit Download PDF

Info

Publication number
KR20050079986A
KR20050079986A KR1020050056264A KR20050056264A KR20050079986A KR 20050079986 A KR20050079986 A KR 20050079986A KR 1020050056264 A KR1020050056264 A KR 1020050056264A KR 20050056264 A KR20050056264 A KR 20050056264A KR 20050079986 A KR20050079986 A KR 20050079986A
Authority
KR
South Korea
Prior art keywords
decoding
soft decision
turbo decoder
llr
repeated
Prior art date
Application number
KR1020050056264A
Other languages
Korean (ko)
Other versions
KR100738250B1 (en
Inventor
심병섭
김환용
Original Assignee
원광대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 원광대학교산학협력단 filed Critical 원광대학교산학협력단
Priority to KR1020050056264A priority Critical patent/KR100738250B1/en
Publication of KR20050079986A publication Critical patent/KR20050079986A/en
Application granted granted Critical
Publication of KR100738250B1 publication Critical patent/KR100738250B1/en

Links

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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • 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
    • 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/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • H04L1/0053Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving

Abstract

본 발명은 직렬로 구성된 터보복호기의 연판정 출력값인 LLR의 부호비트를 비교, 계수하여 부호비트의 다른 정도를 이용하여 소정의 반복복호 후에 중단하게 함으로써 복호지연을 줄일 수 있는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치 및 방법에 관한 것이다. LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치는 터보 복호기로서, 터보 부호화된 데이터를 반복복호하여 연판정값을 출력하는 연판정값 출력수단, 연판정값 출력수단에서 출력된 연판정값들의 부호를 비교하여 부호가 다른 경우를 카운트하거나, 반복복호 횟수가 설정된 최대 반복복호 횟수를 초과한 경우, 터보 복호기의 반복복호를 중단하는 반복중단 제어수단 및 반복중단 제어수단의 반복복호 수행여부에 따라 연판정값 출력수단의 출력값을 경판정하여 복호화된 결과를 출력하는 경판정값 출력수단을 포함한다.The present invention uses LLR code comparison to reduce the decoding delay by comparing and counting the code bits of the LLR, which is a soft decision output value of a serial turbo decoder, to stop after a predetermined iteration using a different degree of code bits. It relates to an iterative decoding control device and method of a turbo decoder. An iterative decoding control apparatus of a turbo decoder using a sign comparison of an LLR is a turbo decoder, and includes a soft decision value output means for repeatedly decoding a turbo-coded data and outputting a soft decision value, and a soft decision value output from the soft decision value output means. By comparing the codes, counting the cases where the signs are different, or when the number of repeated decoding exceeds the set maximum number of repeated decoding, it is determined whether the repeated decoding control means for stopping the repeated decoding of the turbo decoder and whether the repeated decoding control means performs the repeated decoding. And hard decision value output means for hardly determining the output value of the soft decision value output means and outputting the decrypted result.

Description

LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치 및 방법{Apparatus and method for controlling iterative decoding for turbo decoder using compare of LLR's sign bit}Apparatus and method for controlling iterative decoding for turbo decoder using compare of LLR's sign bit}

본 발명은 무선통신 시스템에서 터보복호기의 반복복호 제어기 및 그 방법에 관한 것으로, 더욱 상세하게는 직렬로 구성된 터보복호기의 연판정 출력값인 LLR의 부호비트를 비교, 계수하여 부호비트의 다른 정도를 이용하여 소정의 반복복호 후에 중단하게 함으로써 복호지연을 줄일 수 있는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치 및 방법에 관한 것이다.The present invention relates to an iterative decoding controller of a turbo decoder in a wireless communication system and a method thereof, and more particularly, to compare and count the code bits of the LLR, which is a soft decision output value of a turbo decoder configured in series, to use different degrees of code bits. The present invention relates to an iterative decoding control apparatus and method of a turbo decoder using a comparison of codes of an LLR which can reduce a decoding delay by stopping after a predetermined iterative decoding.

일반적으로 이동통신 등의 무선통신 분야에서는 무선채널 상에서 발생되는 잡음, 간섭과 같은 복잡한 현상으로 유선통신에 비하여 많은 오류가 발생한다. 무선채널에서 발생하는 오류를 정정하기 위해서는 강력한 오류정정 부호를 사용한다. 오류정정 부호로써 사용되는 터보부호기는 재귀적 조직형 길쌈부호(RSC : Recursive Systematic Comvolutional)를 인터리버를 사이에 두고 병렬로 연접하여 부호화하며 반복복호와 준 최적복호 방법을 통하여 수행하게 된다. 또한 터보부호기는 인터리버의 크기가 크고 반복복호를 충분히 수행되었을때 BER(Bit Error Ratio)관점에서 새논리미트(Shannon's Limit)에 근접하는 우수한 성능을 보인다.In general, in the field of wireless communication such as mobile communication, many errors occur due to complex phenomena such as noise and interference generated on a wireless channel, compared to wired communication. Robust error correction codes are used to correct errors occurring in the wireless channel. The turbo encoder used as an error correction code is concatenated and encoded recursive systematic convolutional code (RSC) in parallel with an interleaver, and is performed through iterative decoding and quasi-optimal decoding. In addition, the turbo encoder shows an excellent performance approaching Shannon's Limit in terms of bit error ratio (BER) when the interleaver is large in size and repeated decoding is sufficiently performed.

도 1은 일반적인 무선통신 시스템에서 송신단에서 터보부호를 부호화하기 위한 부호기의 구성도로써, 입력되는 정보비트(dk)를 그대로 통과하여 하나의 정보신호 Xk(100)로 출력하며 입력되는 정보비트(dk)를 부호화하기 위한 제1 부호기(101)와 입력되는 정보비트(dk)의 입력순서를 달리하여 상관성을 줄이는 인터리버(103)와 인터리버된 정보비트(104)를 부호화하는 제2 부호기(105)로 구성된다.1 is a block diagram of an encoder for encoding a turbo code at a transmitting end in a general wireless communication system, and passes through the input information bit d k as it is and outputs it as one information signal X k (100). A second encoder for encoding the interleaver 103 and the interleaver information bits 104 which reduce correlation by different input orders of the first encoder 101 for encoding (d k ) and the input information bits d k . It consists of 105.

따라서, 상기 터보부호기는 원래의 정보신호 Xk(100)와 제1 부호기(101) 및 제2 부호기(102)의 출력인 y1k(102)와 y2k(106)의 이중의 패리티 비트를 출력하게 된다.Accordingly, the turbo encoder outputs dual parity bits of y 1k 102 and y 2k 106, which are outputs of the original information signal X k 100, the first encoder 101, and the second encoder 102. Done.

또한, 터보부호기에서 원하는 부호율(Coding Rate)을 얻기위해 제1 부호기(101)와 제2 부호기(105)를 천공기(107)를 통해서 출력신호 Yk를 천공(Puncturing)한다. 이렇게 천공하여 최종적으로 얻은 부호기 출력과 원래의 정보신호 Xk(100)와 함께 채널을 통해서 수신단에 전송한다.Also, in order to obtain a desired coding rate in the turbo encoder, the first encoder 101 and the second encoder 105 are punctured by the output signal Y k through the puncturer 107. In this way, it is transmitted to the receiver through the channel together with the encoder output finally obtained and the original information signal X k (100).

도 1의 터보부호기에 의해서 부호화된 부호어(Codeword)를 수신단에서 복호하는데는 도 2와 같은 구조의 복호기 두 개를 직렬로 연결하여 복호한다. 이러한 복호기는 MAP(Maximum a Posteriori)과 SOVA(Soft Output Viterbi Algorithm) 복호기를 사용하며 일반적인 BER 성능은 MAP 복호기가 더 우수한 것으로 알려져 있다.To decode a codeword coded by the turbo encoder of FIG. 1 at a receiving end, two decoders having the structure as shown in FIG. 2 are connected in series and decoded. The decoder uses the Maximum a Posteriori (MAP) and Soft Output Viterbi Algorithm (SOVA) decoder, and the MAP decoder is known to have better general BER performance.

터보부호의 복호기는 기존의 연접부호(Concatenated Codes)등과 같은 다단계 부호의 복호기와는 달리 두 복호기 사이에 외부정보의 교환이 이루어져서 복호 동작을 반복적으로 수행할 수 있다.Unlike the conventional multi-level coders such as Concatenated Codes, the turbo coder can perform the decoding operation repeatedly by exchanging external information between the two decoders.

도 2는 종래의 터보 복호기의 구성을 보이는 블록도 이다. 이하 도 2의 터보 복호기를 참조하여 일반적인 터보 복호기의 복호화 과정을 설명한다.2 is a block diagram showing the configuration of a conventional turbo decoder. Hereinafter, a decoding process of a general turbo decoder will be described with reference to the turbo decoder of FIG. 2.

먼저 제1 복호기(204)는 채널을 통해서 수신된 정보비트 Xk(200)와 패리티비트 y1k(202)를 이용하여 복호 과정을 수행하고 복호된 결과를 출력한다. 인터리버(Interleaver)(206)는 제1 복호기(204)의 출력신호(205)에 존재하는 연집오류(Burst Error)를 랜덤오류(Random Error)로 만들어주기 위해서 인터리빙 과정을 수행하고 인터리빙된 신호(207)를 출력한다. 제2 복호기(208)는 인터리빙된 신호(207)와 패리티비트 y2k(203)을 이용하여 다시 복호 과정을 수행하고 복호된 결과 를 출력한다.First, the first decoder 204 performs a decoding process using the information bit X k 200 and the parity bit y 1k 202 received through the channel and outputs a decoded result. The interleaver 206 performs an interleaving process to make the burst error present in the output signal 205 of the first decoder 204 into a random error, and the interleaved signal 207. ) The second decoder 208 performs the decoding process again using the interleaved signal 207 and the parity bit y 2k 203 and outputs a decoded result.

이 때, 반복복호를 원하지 않을 경우, 제2 디인터리버(Deinterleaver)(210)는 제2 복호기(208)의 출력신호(209)를 디인터리빙하고, 경판정기(212)는 디인터리빙된 신호(211)를 경판정하여 복호신호 (213)로 출력한다. 그러나, 반복복호를 하기 위해서는 제2 복호기(208)의 출력신호 중에서 외부정보값을 추출하여 제1 디인터리버(Deinterleaver)(215)를 통하여 제1 복호기(204)로 피드백(Feedback)한다. 이 피드백된 신호가 제1 복호기(204)에서 사전정보값(216)으로 사용되어 반복복호시에 정보비트의 신뢰도를 향상시켜 주는 역할을 담당한다. 이러한 반복복호는 원하는 성능을 얻을 때까지 계속 수행된다.At this time, if iterative decoding is not desired, the second deinterleaver 210 deinterleaves the output signal 209 of the second decoder 208, and the hard determiner 212 deinterleaves the signal 211. Decision signal by hard decision Output to (213). However, in order to perform repeated decoding, the external information value is extracted from the output signal of the second decoder 208 and fed back to the first decoder 204 through the first deinterleaver 215. This feedback signal is used as the pre-information value 216 in the first decoder 204 to play a role of improving the reliability of the information bits during iterative decoding. This iterative decoding is continued until the desired performance is achieved.

종래에 이동통신 등의 무선통신 분야에서 전파지연 및 다중 전파경로 수신에 의한 페이딩 등으로 인한 채널잡음 때문에 많은 전송 오류가 발생한다. 이러한 문제점을 개선하고 데이터의 신뢰도를 높이기 위하여 사용되는 오류 정정 부호는 디지탈 이동통신 시스템에서 중요한 요소로 자리잡고 있다.Conventionally, in the wireless communication field such as mobile communication, many transmission errors occur due to channel noise due to propagation delay and fading due to reception of multiple radio paths. Error correction codes used to improve these problems and to increase the reliability of data have become an important factor in digital mobile communication systems.

최근에 발표된 터보부호는 RSC 부호를 병렬로 연결하여 부호화하며 반복복호를 통하여 복호 동작을 수행하게 된다. 또한 터보부호는 인터리버의 크기가 크고 반복복호가 충분히 수행되었을 때 BER 관점에서 샤논 리미트(Shannon Limit)에 근접하는 우수한 성능을 보인다.Recently announced turbo codes are encoded by connecting RSC codes in parallel and performing decoding operations through iterative decoding. In addition, the turbo code shows an excellent performance approaching the Shannon limit in terms of BER when the interleaver is large in size and repeated decoding is sufficiently performed.

그러나, 종래의 방법은 많은 연산량에 따른 복잡도의 증가, 인터리버와 반복복호에 따른 복호 지연 및 실시간 처리에 대한 여러가지 문제점이 있다. However, the conventional methods have various problems in terms of complexity increase due to a large amount of computation, decoding delay due to interleaver and iterative decoding, and real time processing.

수신단에서 터보부호의 복호화 장치인 터보복호기는 입력전에 미리 정해진 반복복호 횟수에 따라 복호를 수행한다. 임의의 반복복호 횟수를 거친 후에 얻어낸 최종출력인 LLR 값에 대해서 0(zero)을 임계값으로 하여 경판정(Hard-Decision)하므로써 터보 부호기의 입력 정보비트 값을 추정하게 된다.  The turbo decoder, which is a decoding device of a turbo code, performs decoding according to a predetermined number of iterations before input. The hard-decision of the LLR value, which is the final output obtained after an arbitrary number of repetitive decoding times, is assumed as a threshold to estimate the input information bit value of the turbo encoder.

이러한 경우에 반복복호 횟수가 증가할수록 BER은 점점 좋아지나 데이터 전송의 지연시간이 제한되어 있고 터보 부호의 복호기에서는 반복복호 횟수가 증가하더라도 부호이득(Coding Gain)이 더 이상 좋아지지 않는 현상이 발생하게 된다. In this case, as the number of iterations increases, the BER gets better, but the delay time of data transmission is limited. In the turbo coder, even if the number of iterations increases, the coding gain no longer improves. do.

또한 BER 성능의 향상을 위한 반복복호 횟수의 증가는 복호화 시간의 증가를 초래하므로 실제 시스템에서 원하는 BER 성능을 얻기위해 반복복호 횟수를 계속해서 증가시킬 수가 없다는 문제점이 발생한다. 따라서, 이러한 반복복호 기술은 일정이상의 성능을 얻은 터보복호기에서는 비효율적이며 데이터 복호를 지연시키는 문제점을 가지고 있다.In addition, an increase in the number of iteration decoding for the improvement of the BER performance causes an increase in the decoding time, which causes a problem that the number of iteration decoding cannot be continuously increased in order to obtain a desired BER performance in an actual system. Therefore, this iterative decoding technique is inefficient in turbo decoders having a certain level of performance and has a problem of delaying data decoding.

이러한 문제를 해결하기 위해서 소정의 반복복호 후에 복호를 중단하기위한 정지기준(stop criterion)을 필요로 하게 된다. 최근까지, 하겐워(Hagenauer)가 제안한 교차 엔트로피(CE : Cross Entropy)에 의한 정지기준(Stop Criterion)을 많이 사용하고 있으나, 이 방식은 다소 복잡한 계산을 포함하고 있어서 많은 연산량으로 인한 복잡도의 증가 및 하드웨어 구현상의 어려움 등의 많은 문제점이 있다. In order to solve this problem, a stop criterion is required to stop decoding after a predetermined iterative decoding. Until recently, the Stop Criterion by Cross Entropy (Hagenauer) proposed by Hagenauer has been used a lot, but this method includes more complicated calculations, which leads to increased complexity due to a large amount of computation and There are many problems such as difficulty in hardware implementation.

본 발명이 이루고자 하는 기술적인 과제는 직렬로 구성된 터보복호기의 연판정 출력값인 LLR의 부호비트를 비교, 계수하여 부호비트의 다른 정도를 이용하여 소정의 반복복호 후에 중단하게 함으로써 복호지연을 줄일 수 있는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치 및 방법을 제공하는데 있다.The technical problem to be achieved by the present invention is to reduce the decoding delay by comparing and counting the code bits of the LLR, which is a soft decision output value of a serial turbo decoder, and stopping them after a predetermined iteration using different degrees of code bits. It is an object of the present invention to provide an iterative decoding control device and method for a turbo decoder using a sign comparison of LLR.

본 발명이 이루고자 하는 상기 기술적인 과제를 해결하기 위한 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치는 터보 복호기로서, 터보 부호화된 데이터를 반복복호하여 연판정값을 출력하는 연판정값 출력수단; 상기 연판정값 출력수단에서 출력된 연판정값들의 부호를 비교하여 부호가 다른 경우를 카운트하거나, 반복복호 횟수가 설정된 최대 반복복호 횟수를 초과한 경우, 상기 터보 복호기의 반복복호를 중단하는 반복중단 제어수단; 및 상기 반복중단 제어수단의 반복복호 수행여부에 따라 상기 연판정값 출력수단의 출력값을 경판정하여 복호화된 결과를 출력하는 경판정값 출력수단을 포함하는 것이 바람직하다.An iterative decoding control apparatus of a turbo decoder using a code comparison of an LLR for solving the above technical problem to be solved by the present invention is a turbo decoder, and soft decision value output means for outputting a soft decision value by repeatedly decoding turbo encoded data. ; Repetitive interruption of repeating the decoding of the turbo decoder by counting the case where the sign is different by comparing the codes of the soft decision values output from the soft decision value output means or when the number of repeated decoding exceeds the set maximum number of repeated decoding. Control means; And hard decision value output means for hardly determining the output value of the soft decision value output means and outputting the decoded result according to whether or not the iteration decoding control means repeatedly performs the decoding.

본 발명에 있어서, 최대 반복복호 횟수가 설정되어 있고, 상기 연판정값 출력수단의 연판정값으로부터 반복복호 횟수를 카운트하여 그 결과를 반복중단 제어수단으로 출력하는 카운터를 더 포함하는 것을 특징으로 한다.In the present invention, a maximum repetition number of decoding is set, and further comprising a counter for counting the number of repetitions of decoding from the soft decision value of the soft decision value output means and outputting the result to the repetition stop control means. .

본 발명에 있어서, 상기 연판정값 출력수단은 제1 복호화된 데이터를 연판정하는 제1 연판정기; 및 제2 복호화 및 인터리빙된 데이터를 연판정하는 제2 연판정기를 포함하는 것을 특징으로 한다.In the present invention, the soft decision value output means comprises: a first soft decision unit for soft decision of the first decoded data; And a second soft decision unit for soft decision of the second decoded and interleaved data.

본 발명에 있어서, 상기 반복중단 제어수단은 상기 연판정값 출력수단에서 출력된 연판정값들의 부호를 비교하여 부호가 같은 경우를 카운트하거나, 반복복호 횟수가 설정된 최대 반복복호 횟수 미만인 경우, 상기 터보 복호기의 반복복호가 계속 수행되도록 제어하는 것을 특징으로 한다.In the present invention, the repeat stop control means compares the signs of the soft decision values output from the soft decision value output means to count the case where the signs are the same, or when the number of iteration decoding is less than the set maximum iteration decoding number, the turbo It characterized in that the control is performed so that repeated decoding of the decoder continues.

본 발명에 있어서, 상기 반복중단 제어수단은 상기 제1 연판정기로부터 출력되는 비트열의 부호를 저장하는 제1 부호 저장부; 상기 제2 연판정기로부터 출력되는 비트열의 부호를 저장하는 제2 부호 저장부; 상기 제1 부호 저장부 및 제2 부호 저장부의 부호를 비교하는 비교기; 상기 비교 결과, 제1 부호 저장부 및 제2 부호 저장부의 부호가 다른 경우 설정된 다운카운트 값을 내림차순 카운트하는 다운 카운터; 반복복호 횟수를 카운트하는 카운터; 및 상기 다운 카운터가 0이 아닌 값을 카운트 하거나, 상기 카운터가 설정된 최대 반복횟수를 수행한 경우, 반복복호 중단신호를 상기 경판정 출력수단으로 출력하는 반복복호 중단신호 발생기를 포함하는 것을 특징으로 한다.In the present invention, the repeat stop control means includes: a first code storage unit for storing a code of a bit string output from the first soft determiner; A second code storage unit which stores a code of a bit string output from the second soft determiner; A comparator for comparing codes of the first code storage unit and the second code storage unit; A down counter for counting down count values set in descending order when the codes of the first code storage unit and the second code storage unit are different as a result of the comparison; A counter for counting the number of times of repeated decoding; And a repeat decoding stop signal generator for outputting a repeat decoding stop signal to the hard decision output means when the down counter counts a non-zero value or when the counter performs a set maximum number of repetitions. .

본 발명이 이루고자 하는 상기 기술적인 과제를 해결하기 위한 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어방법은 터보 복호기에 적용되는 반복중단 제어방법으로서, (a) 연판정된 제1 복호화된 데이터의 부호를 저장하는 단계; (b) 연판정된 제2 복호화 및 디인터리빙된 데이터의 부호를 저장하는 단계; (c) 상기 부호를 비교하여 서로 다른 부호인 경우를 내림차순 카운트하는 다운카운터의 다운카운트를 수행하는 단계; (d) 카운터에 의해 반복복호 횟수를 카운트한 값과 상기 카운터에 기 설정된 최대 반복복호 횟수를 비교하는 단계; (e) 상기 다운 카운터의 카운트 값이 0이 아니거나, 상기 카운터가 최대 반복복호 횟수를 초과하는 경우 반복복호 중단신호를 발생하는 단계; 및 (f) 상기 연판정된 제2 복호화 및 디인터리빙된 데이터를 경판정하여 출력하는 단계를 포함하는 것이 바람직하다.The iterative decoding control method of the turbo decoder using the comparison of the code of the LLR for solving the technical problem to be achieved by the present invention is a iterative stop control method applied to the turbo decoder, (a) the soft decision of the first decoded data Storing the code; (b) storing the sign of the soft-determined second decoded and deinterleaved data; (c) performing down counting of the down counters by comparing the codes and counting the cases of different codes in descending order; (d) comparing a value of counting the number of times of repetition decoding by a counter with a maximum number of times of repetition decoding previously set in the counter; (e) generating a repeat decoding stop signal when the count value of the down counter is not 0 or the counter exceeds the maximum number of repeated decoding; And (f) hard determining and outputting the soft decoded second decoded and deinterleaved data.

본 발명에 있어서, 상기 다운 카운터가 부호가 같은 경우를 카운트하거나, 상기 카운터가 반복복호 횟수가 설정된 최대 반복복호 횟수 미만을 카운트한 경우, 상기 터보 복호기의 반복복호가 계속 수행되는 것을 특징으로 한다.In the present invention, when the down counter counts the same code or when the counter counts less than the maximum number of repeated decoding for which the number of repeated decoding is set, it is characterized in that the repeated decoding of the turbo decoder is continuously performed.

본 발명에서는 터보복호기에서 반복복호가 충분히 수행되었을 때 우수한 성능을 얻지만 실제적으로 채널 환경에 따라 더 이상의 반복복호 후에도 부호이득이 계속 증가하지 않음을 동기로 삼아 시스템에서 요구하는 성능을 얻었을 경우 적응적으로 반복복호를 제어하는 정지기준(Stop Criterion)을 고려하였다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다. In the present invention, when iterative decoding is sufficiently performed in a turbo decoder, an excellent performance is obtained. However, in practice, the system obtains the performance required by the system by motivating that the code gain does not continue to increase even after further iterative decoding depending on the channel environment. In general, we considered Stop Criterion that controls repetitive decoding. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 3는 본 발명에 따른 터보복호기의 반복복호 제어장치의 구성을 보이는 블록도로서, 제1 복호기(304), 인터리버(306), 제2 복호기(308), 제1 디인터리버(311), 제2 디인터리버(313), 반복복호 제어기(317), 스위칭부(320), 경판정기(321)를 포함한다.3 is a block diagram showing a configuration of an iterative decoding control apparatus of a turbo decoder according to the present invention, wherein a first decoder 304, an interleaver 306, a second decoder 308, a first deinterleaver 311, and a first decoder are shown. 2 includes the deinterleaver 313, the iteration decoding controller 317, the switching unit 320, the hard determiner 321.

도 1의 터보 부호기에서 출력된 신호 즉, 정보비트 Xk(300)와 패리티비트 (301)를 채널을 통해서 수신한 후, 수신된 패리티비트 Yk(301)를 디펑쳐링(Depuncturing)하여 제1 부호기(101)에서 출력된 패리티비트 y1k(302)는 제1 복호기(304)로, 제2 부호기(105)에서 출력된 패리티비트 y2k(303)는 제2 복호기(308)로 보낸다. 그 후에, 상기 제1 복호기(304)에서는 Xk(300)와 y1k(302)를 이용하여 복호한 다음, 제1 복호기(304)의 출력(305)을 인터리버(306)에서 인터리빙(Interleaving)한 신호(307)와 y2k(303)를 이용하여 상기 제2 복호기(308)에서 복호한다.After receiving the signal output from the turbo encoder of FIG. 1, that is, the information bit X k 300 and the parity bit 301 through the channel, the first parity bit Y k 301 is depunctulated. The parity bit y 1k 302 output from the encoder 101 is sent to the first decoder 304 and the parity bit y 2k 303 output from the second encoder 105 is sent to the second decoder 308. Thereafter, the first decoder 304 decodes using X k 300 and y 1k 302, and then interleaves the output 305 of the first decoder 304 in the interleaver 306. The second decoder 308 decodes one signal 307 and y 2k (303).

이 때, 반복복호를 원하지 않을 경우에는 상기 제2 복호기(308)의 출력신호(309)를 제2 디인터리버(313)에서 디인터리빙(Deinterleaving)한 다음, 경판정기(321)를 통해 경판정한 신호(322)을 복호 신호로 내보낸다. 그러나, 반복복호를 하기 위해서는 상기 제2 복호기(308)의 출력신호(310)를 제1 디인터리버(311)에서 디인터리빙한 신호(312)와 수신신호 Xk(300)와 y1k(302)를 이용하여 상기 제1 복호기(304)로 다시 복호한다. 이러한 반복복호는 원하는 성능을 얻을 수 있을 때까지 할 수 있다.At this time, if iterative decoding is not desired, deinterleaving the output signal 309 of the second decoder 308 by the second deinterleaver 313 and then hardly determining the signal through the hard decision unit 321. 322 is sent as a decode signal. However, in order to perform repeated decoding, the signal 312 obtained by deinterleaving the output signal 310 of the second decoder 308 by the first deinterleaver 311, the received signals X k 300 and y 1k 302 Decode again to the first decoder 304 by using. This iterative decoding can be done until the desired performance is achieved.

그러나 반복복호는 반복복호 횟수가 증가함에 따라서 추가적인 계산량과 복호지연 등의 문제를 일으키므로 이를 해결하기 위해서 소정의 반복복호 후에 복호를 중단하기위한 반복복호 제어기(317)을 추가적으로 구성하였다.However, since repeated decoding causes problems such as additional calculation amount and decoding delay as the number of repeated decoding increases, an additional decoding controller 317 is additionally configured to stop decoding after a predetermined repeated decoding to solve this problem.

도 4는 도 3 중 반복복호 제어기 및 주변 장치의 상세도로서, 제1 연판정기(401), 제2 연판정기(403), 카운터(405), 제1 부호저장부(317-1), 제2 부호저장부(317-2), 비교기(317-3), 다운카운터(317-4), 반복복호 중단신호 발생기(317-5)를 포함하는 반복복호 제어기(317) 및 경판정기(321)를 포함한다.FIG. 4 is a detailed view of the iterative decoding controller and the peripheral device of FIG. 3, wherein the first soft decision unit 401, the second soft decision unit 403, the counter 405, the first code storage unit 317-1, 2 Repeating decoding controller 317 and hard decision unit 321 including a code storage unit 317-2, a comparator 317-3, a down counter 317-4, and a repeat decoding stop signal generator 317-5. It includes.

제1 연판정기(401)는 제1 복호기(304)의 출력(318)을 연판정하여 연판정값인 LLR(Log Likelihood Ratio)의 부호비트를 출력하고, 제2 연판정기(403)는 제2 디인터리버(313)의 출력(315)을 연판정하여 연판정값인 LLR의 부호비트를 출력한다.The first soft determiner 401 soft-determines the output 318 of the first decoder 304 to output a sign bit of the LLR (Log Likelihood Ratio), which is a soft decision value, and the second soft determiner 403 performs a second decision. A soft decision on the output 315 of the interleaver 313 outputs the sign bit of the LLR, which is a soft decision value.

LLR이란 입력 정보비트 가 1(one)일 사후확률(APP : a posteriori probability)값과 입력 정보비트 가 0(zero)일 사후확률 값의 비율에 대한 로그(logarithm)값을 의미하며 터보 복호기에서 출력되는 LLR에 대한 정의식은 수학식 1과 같다.LLR means the logarithm of the ratio of the posterior probability (APP) when the input information bit is 1 (one) and the posterior probability value when the input information bit is 0 (zero), and is output from the turbo decoder. The definition for LLR is equal to Equation 1.

수학식 1에 의해서, L(dk)값이 (+)이면 정보비트 dk는 1(one)로, L(dk)값이 (-)이면 정보비트 dk는 0(zero)으로 추정할 수 있으며, LLR 값이 클수록 이러한 추정의 신뢰성은 더욱 높아진다고 할 수 있다.Estimated is the information bit d k is 0 (zero) -, L ( d k) value is (+) if the information bit d k is 1 (one) with, L (d k) value by the equation (1) () The larger the LLR value, the higher the reliability of this estimation.

따라서 수학식 1에서 정의된 LLR은 정보비트 dk에 대한 신뢰도를 나타내며 반복복호시 성능향상에 중요한 역할을 하게 된다. 반복복호는 각 정보비트이 LLR 값을 향상 시킨다. 그리고 각 정보비트는 LLR 값의 부호를 판정하여 결정된다. 반복복호가 거듭될수록 첫 번째 복호기와 두 번째 복호기의 LLR의 부호가 수학식 2와 같이 됨을 가정하였다.Therefore, the LLR defined in Equation 1 represents the reliability of the information bit d k and plays an important role in improving performance during iterative decoding. Iterative decoding improves the LLR value of each information bit. Each information bit is determined by determining the sign of the LLR value. It is assumed that as the repeated decoding is repeated, the codes of the LLRs of the first decoder and the second decoder become as in Equation 2.

수학식 2에서, i는 반복복호 횟수를 의미하며 k는 한 프레임 내에서 k번째 입력 정보를 의미한다. 또한 는 제1 복호기(304)의 LLR 출력이며, 는 제2 복호기(306)의 LLR 출력을 의미한다. 반복복호가 거듭 될수록 제1 복호기(304)와 제2 복호기(305)의 LLR의 부호비트가 같은 값으로 수렴하게 되며 정보비트를 올바르게 복호할 수 있게 된다는 것이다.In Equation 2, i denotes the number of repeated decoding and k denotes the k-th input information in one frame. Also Is the LLR output of the first decoder 304, Denotes the LLR output of the second decoder 306. As the repeated decoding is repeated, the code bits of the LLRs of the first decoder 304 and the second decoder 305 converge to the same value, and the information bits can be decoded correctly.

제1 부호저장부(317-1)는 제1 연판정기(401)로부터 출력되는 제1 복호기(304)의 출력(318)에 대한 연판정값인 LLR의 부호비트를 저장하고, 제2 부호저장부(317-2)는 제2 연판정기(403)로부터 출력되는 제2 디인터리버(313)의 출력(315)에 대한 연판정값인 LLR의 부호비트를 저장한다.The first code storage unit 317-1 stores the code bits of the LLR which are soft decision values for the output 318 of the first decoder 304 output from the first soft determiner 401, and stores the second code. The unit 317-2 stores the sign bit of the LLR, which is a soft decision value for the output 315 of the second deinterleaver 313 output from the second soft determiner 403.

그러나 제1 복호기(304)의 LLR 시퀀스는 제2 복호기(308) 사이의 인터리버(306)가 있어 서로 다른 출력 시퀀스를 갖기 때문에 제1 부호저장부(317-1)는 연판정된 제1 복호기(304)의 출력(318)을 저장하고 제2 부호저장부(317-2)는 연판정된 제2 디인터리버(313)의 출력(315)을 저장한다. However, since the LLR sequence of the first decoder 304 has an interleaver 306 between the second decoders 308 and thus has different output sequences, the first code storage unit 317-1 has a soft determined first decoder ( The output 318 of the 304 is stored and the second code storage unit 317-2 stores the output 315 of the second deinterleaver 313 that is softly determined.

비교부(317-3)는 제1 부호저장부(317-1) 및 제2 부호저장부(317-2)에 저장된 정보 비트의 LLR 부호를 비교한다. 비교부(317-3)의 비교 결과, 제1 부호저장부(317-1) 및 제2 부호저장부(317-2)에 저장된 정보 비트의 LLR 부호가 같으면 0(zero)을 출력한다. 그러나, 비교부(317-3)의 비교 결과, 제1 부호저장부(317-1) 및 제2 부호저장부(317-2)에 저장된 정보 비트의 LLR 부호가 다르면 1(one)을 출력한다.The comparison unit 317-3 compares the LLR codes of the information bits stored in the first code storage unit 317-1 and the second code storage unit 317-2. As a result of the comparison by the comparison unit 317-3, if the LLR codes of the information bits stored in the first code storage unit 317-1 and the second code storage unit 317-2 are the same, 0 (zero) is output. However, as a result of the comparison of the comparison unit 317-3, if the LLR codes of the information bits stored in the first code storage unit 317-1 and the second code storage unit 317-2 are different, one (one) is output. .

다운카운터(317-4)는 비교부(317-3)에서 출력되는 값을 내림차수 카운트한다. 여기서, 시스템에서 요구하는 BER에 따라서 다운카운터(317-4)의 초기값을 초기화한다. The down counter 317-4 counts the value output from the comparator 317-3 in descending order. Here, the initial value of the down counter 317-4 is initialized according to the BER required by the system.

예를 들어, 다운카운터(317-4)에 초기값이 "5"로 설정되어 있는 경우, 비교부(317-3)의 출력이 1(one)이면 다운카운터(317-4)는 내림차수 카운트를 수행하여 이후 카운트값이 "4"가 되지만, 비교부(317-3)의 출력이 0(zero)이면 다운카운터(317-4)는 내림차수 카운트를 수행하지 않는다. For example, when the initial value is set to "5" in the down counter 317-4, when the output of the comparator 317-3 is 1 (one), the down counter 317-4 counts the descending order. Since the count value becomes "4" afterwards, if the output of the comparator 317-3 is zero, the down counter 317-4 does not perform the descending order count.

그리고 내림차수 계수하여 다운 카운터(317-4)의 값이 0(zero)가 될 경우는 더 이상 내림차수 카운트를 수행하지 않는다. When the value of the down counter 317-4 becomes 0 (zero) due to the descending order counting, the descending order count is not performed any more.

반복복호 중단신호 발생부(317-5)는 다운카운터(317-4) 및 카운터(405)의 값에 따라 반복복호 중단신호를 출력한다. 반복복호 중단신호 발생부(317-5)는 다운 카운터(317-4)의 값이 0 (zero)이 아닌 값을 갖거나 카운터(405)의 값이 최대 반복복호 횟수를 수행 했다면, 경판정기(321)에 반복복호 중단신호를 출력한다. The repeat decoding stop signal generator 317-5 outputs a repeat decoding stop signal according to the values of the down counter 317-4 and the counter 405. If the value of the down counter 317-4 has a value other than 0 (zero) or the value of the counter 405 has performed the maximum number of times of repeated decoding, the iterative decoding stop signal generator 317-5 A repeat decoding stop signal is output to 321).

그러나, 반복복호 중단신호 발생부(317-5)는 다운 카운터(317-4)의 값이 0 (zero)인 값을 갖거나 카운터(405)의 값이 최대 반복복호 횟수를 수행하지 않은 경우에 계속하여 반복복호를 수행하도록 제어한다.However, if the value of the down counter 317-4 has a value of 0 (zero) or if the value of the counter 405 does not perform the maximum number of times of repeated decoding, Control to perform repeated decoding continuously.

반복복호 중단신호 발생부(317-5)는 다운카운터(317-4)의 출력과 카운터(405)의 출력을 논리합(OR)하고 그 결과를 경판정기(321)에 출력한다. The iterative decoding stop signal generator 317-5 logically ORs the output of the down counter 317-4 and the output of the counter 405, and outputs the result to the hard determiner 321.

반복복호 중단신호 발생부(317-5)에서 출력되는 반복복호 중단신호(319)는 도 3에서 스위칭부(320)의 스위칭 제어신호로도 사용되어, 반복복호 중단신호에 의해 제2 디인터리버(313)의 출력(314)이 경판정기(321)로 스위칭되도록 한다.The repeated decoding stop signal 319 output from the repeated decoding stop signal generator 317-5 is also used as a switching control signal of the switching unit 320 in FIG. The output 314 of 313 is switched to the hard determiner 321.

카운터(405)에는 최대 반복복호 횟수(max_N_iter)가 설정되어 있으며, 카운터(405)는 최대 반복복호 횟수동안 터보 복호기의 반복복호 횟수를 카운트하여 반복복호 중단신호 발생기(317-5)로 출력한다.The maximum number of repeated decoding max_N_iter is set in the counter 405, and the counter 405 counts the number of repeated decoding of the turbo decoder during the maximum number of repeated decoding and outputs it to the repeated decoding stop signal generator 317-5.

경판정기(321)가 반복복호 중단신호 발생부(317-5)에서 출력되는 반복복호 중단신호에 의해서 턴-온(turn-on)되면, 소정의 반복복호 횟수동안 반복복호 수행 여부에 따라서 제2 디인터리버(313)의 출력을 경판정하여 복호된 결과를 출력한다. 경판정기(321)는 제2 디인터리버(313)에서 출력된 값이 양수일때는 1(one)로, 음수일때는 0(zero)으로 경판정값을 출력한다.When the hard determiner 321 is turned on by the repetition decoding stop signal output from the repetition decoding stop signal generator 317-5, the second decision unit 321 may perform a second decoding operation for a predetermined number of repetition decoding times. The output of the deinterleaver 313 is hard-determined to output the decoded result. The hard determiner 321 outputs the hard decision value as 1 (one) when the value output from the second deinterleaver 313 is positive and 0 (zero) when the value is negative.

본 발명에서는 터보복호기의 제1 복호기와 제2 복호기의 LLR 부호비트의 수렴여부에 따라 반복복호의 중단여부를 결정한다. 수렴여부의 판단을 위해서 두 복호기 LLR의 부호비트의 차이(Lsd)와 프레임내의 오류갯수(Nerr)를 통하여 다음과 같은 4가지의 경우를 나타낼 수 있다.In the present invention, it is determined whether to repeat the decoding according to whether the LLR code bits of the first decoder and the second decoder of the turbo decoder converge. To determine convergence, the following four cases can be represented by the difference (L sd ) of the code bits of the two decoders LLR and the number of errors in the frame (N err ).

경우1. 반복복호가 진행하더라도 Lsd와 Ner이 큰 값을 가지는 경우Case 1. L sd and N er have large values even if iterative decoding proceeds.

경우2. 반복복호가 진행함에 따라 Lsd와 Nerr이 0이되는 경우Case 2. L sd and N err become 0 as repeat decoding proceeds.

경우3. 반복복호가 진행함에 따라 Lsd는 0이지만 Nerr이 0이되지 않는 경우Case 3. L sd is 0 as iterative decoding proceeds but N err is not 0

경우4. 반복복호가 진행함에 따라 Lsd가 0이 되지 않지만 Nerr은 0이되는 경우Case 4. L sd does not become 0 as iterative decoding proceeds, but N err becomes 0.

먼저 경우1은 반복복호를 진행하더라도 프레임내에 오류가 여전히 남아있어서 정보비트를 복호할 수 없는 경우로, 이 경우 수렴하지 않았다고 판단하고 반복복호를 수행한다. First, case 1 is a case in which an error remains in the frame and the information bit cannot be decoded even though repetitive decoding is performed.

경우2는 반복복호가 진행됨에 따라 프레임 내의 오류가 없기 때문에 정보비트를 정확히 복호하는 경우로, 이 경우 수렴할 것이라고 판단하고 반복복호를 중단한다.Case 2 is a case in which the information bits are correctly decoded because there are no errors in the frame as the repetition decoding proceeds. In this case, it is determined that the information bits will converge, and the repetitive decoding is stopped.

경우3은 복호기가 수신된 정보열에 오류가 없다고 판단하였지만 프레임 내에 오류가 남아있는 경우로, 이 경우 수렴할 것이라고 판단하고 반복복호를 중단한다. In case 3, the decoder judges that there is no error in the received information string, but an error remains in the frame. In this case, it is determined that the decoder will converge and stops repeated decoding.

경우4는 두 복호기의 LLR 부호가 같지는 않지만 프레임 내의 오류가 존재하지 않은 경우로, 이 경우 수렴할 것이라고 판단하고 반복복호를 중단한다. 이 경우는 반복복호가 진행됨에 따라 첫 번째 복호기에서 나타난 오류를 두 번째 복호기에서 정정하기 때문에 나타나는 현상으로 볼 수 있다. 따라서 이러한 경우에 반복을 중단한다면 수학식 2이 되기 직전에 반복을 중단하는 경우로 볼 수 있다. 이에 근거하여 반복복호를 중단시키기 위한 중단조건을 제시하면 수학식 3과 같다. Case 4 is a case where the LLR codes of the two decoders are not the same but there is no error in the frame. In this case, it can be regarded as a phenomenon that occurs because the second decoder corrects the error shown in the first decoder as the iterative decoding proceeds. Thus, in this case, if the repetition is stopped, it may be considered that the repetition is stopped just before Equation 2. On the basis of this, an interruption condition for stopping repeat decoding is given by Equation 3.

여기서 Sd는 첫 번째 복호기와 두 번째 복호기의 LLR 값의 부호가 다른 개수이며, 은 프레임 크기이다. 본 논문에서 제안된 반복복호 중단 알고리즘은 각 반복복호 과정에서 터보복호기의 LLR 출력값에 대한 신뢰도를 측정하는 척도로써 두 복호기간의 LLR 부호의 서로 다른 개수를 이용한다.Where S d is the number of signs of different LLR values of the first decoder and the second decoder, and is the frame size. The iterative decoding stop algorithm proposed in this paper uses different numbers of LLR codes of two decoding periods as a measure of the reliability of the LLR output of the turbo decoder during each iteration.

도 5는 본 발명에 따른 터보복호기의 반복복호 제어방법의 동작을 보이는 흐름도이다. 도 5에 도시된 바와 같이, 먼저 터보부호는 반복복호를 제어하기 위하여 카운터(405)의 최대반복복호 횟수(max_N_iter)를 설정하고, 카운터(405)의 현재 반복복호 횟수(N_iter=0)를 초기화 하고, 다운카운터(317-4)의 초기값을 설정한다(501단계).5 is a flowchart showing the operation of the iterative decoding control method of the turbo decoder according to the present invention. As shown in FIG. 5, the turbo code first sets the maximum number of repeated decoding (max_N_iter) of the counter 405 to control the repeated decoding, and initializes the current number of repeated decoding (N_iter = 0) of the counter 405. The initial value of the down counter 317-4 is set (step 501).

이후, 터보부호기에서 출력되는 신호를 제1 복호기(304)에서 제1 복호화 하고(503단계), 제1 복호기(304)의 출력(318)에 대한 연판정값인 LLR의 부호비트를 제1 부호저장부(317-1)에 저장한다(505단계).Subsequently, the first decoder 304 decodes the signal output from the turbo encoder (step 503), and the code bit of the LLR, which is a soft decision value for the output 318 of the first decoder 304, is first encoded. The data is stored in the storage unit 317-1 (step 505).

터보부호기에서 출력되는 신호를 제2 복호기(308)에서 복호화 하고(507단계), 제2 디인터리버(313)에서 디인터리빙한 후 제2 디인터리버(313)의 출력(315)에 대한 연판정값인 LLR의 부호비트를 제2 부호저장부(317-2)에 저장한다(509단계).A soft decision value for the output 315 of the second deinterleaver 313 after decoding the signal output from the turbo encoder by the second decoder 308 (step 507), deinterleaving the second deinterleaver 313. The code bit of the LLR is stored in the second code storage unit 317-2 (step 509).

이후, 그리고 성능개선을 위한 반복복호를 수행하면 반복복호 횟수를 카운트하는 카운터(405)의 반복복호 횟수(N_iter)를 1(one) 증가시킨다(511단계). Thereafter, when iterative decoding is performed for performance improvement, the number of repeated decodings N_iter of the counter 405 that counts the number of repeated decodings is increased by one (one) (step 511).

비교부(317-3)는 제1 부호저장부(317-1) 및 제2 부호저장부(317-2)에 저장된 정보 비트의 LLR 부호를 비교한다(513단계). The comparison unit 317-3 compares the LLR codes of the information bits stored in the first code storage unit 317-1 and the second code storage unit 317-2 (step 513).

그러나, 비교부(317-3)의 비교 결과(515단계), 제1 부호저장부(317-1) 및 제2 부호저장부(317-2)에 저장된 정보 비트의 LLR 부호가 다르면 1(one)을 출력한다(517단계).However, if the comparison result of the comparison unit 317-3 (step 515) and the LLR code of the information bits stored in the first code storage unit 317-1 and the second code storage unit 317-2 are different, 1 (one ) Is output (step 517).

이후, 다운카운터(317-4)는 설정된 초기값을 1(one) 감소한다(519단계).Thereafter, the down counter 317-4 decreases the set initial value by one (one) (step 519).

비교부(317-3)의 비교 결과(515단계), 제1 부호저장부(317-1) 및 제2 부호저장부(317-2)에 저장된 정보 비트의 LLR 부호가 같으면 0(zero)을 출력한다(521단계).If the comparison result of the comparison unit 317-3 (step 515) and the LLR code of the information bits stored in the first code storage unit 317-1 and the second code storage unit 317-2 are the same, 0 (zero) is returned. Output (step 521).

다운카운터(317-4)의 다운카운트 수행결과가 0(zero)인가를 판단하여(523단계), 다운카운터(317-4)의 다운카운트 수행결과가 0(zero)인 경우 카운터(405)가 최대 반복복호 횟수를 수행하였는지 판단한다(525단계).In operation 523, the counter 405 determines that the down count execution result of the down counter 317-4 is zero (zero). It is determined whether the maximum number of iterations has been performed (step 525).

다운카운터(317-4)의 다운카운트 수행결과가 0(zero)이 아니거나, 카운터(405)가 최대 반복복호를 수행한 경우, 반복복호 중단신호를 발생하고(527단계), 제2 인터리버(313)의 출력을 경판정하여 출력한다(529단계).When the down count execution result of the down counter 317-4 is not zero (0) or the counter 405 performs the maximum repetitive decoding, a repeat decoding stop signal is generated (step 527), and the second interleaver ( Hard output is determined in step 313 and output (step 529).

그러나, 카운터(405)가 최대 반복복호를 수행하지 않은 경우 503단계로 점프하여 반복복호를 수행한다.However, if the counter 405 does not perform the maximum iterative decoding, it jumps to step 503 to perform the iterative decoding.

도 6은 본 발명의 정지기준과 교차 엔트로피(Cross Entropy)에 의한 정지기준의 평균 반복복호 횟수를 비교하여 나타낸 테이블 이다. FIG. 6 is a table comparing average number of times of repeated decoding of a stop criterion by cross entropy according to the stop criterion of the present invention.

BER=10-6 영역에서 부호율이 1/3이고 8-상태(State)를 가지는 터보부호에 대하여 모의실험한 결과로서 본 발명의 정지기준이 기존의 교차 엔트피 방식과 비교하여 약 0.5회∼1.1회 정도의 평균 반복복호 횟수의 감소와 약 11%∼19% 정도의 계산량의 감소 효과가 있음을 확인하였다.As a result of simulation of turbo code having 1/3 code rate and 8-state in the BER = 10 -6 region, the stopping criterion of the present invention is about 0.5 times to that of the conventional cross-entry method. It was confirmed that there was an effect of reducing the average number of repeated decoding about 1.1 times and reducing the amount of calculation about 11% to 19%.

이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

이상에서 상술한 바와같이 본 발명은, 터보부호의 문제점 중의 하나인 반복복호로 인한 계산량과 복호 지연시간을 단축시킬 수 있고, 반복복호 중단기준을 결정하는데 이용할 수 있는 효과가 있는데 이를 더욱 구체적으로 설명하면 다음과 같다. As described above, the present invention can reduce the calculation amount and the decoding delay time due to repetitive decoding, which is one of the problems of turbo code, and can be used to determine the repetition decoding interruption criteria. Is as follows.

첫째, 본 발명에 따르면, 터보 복호 과정에서 제1복호기와 제2복호기의 연판정 출력값에 대한 LLR의 부호를 판별하여 소정 조건을 만족하면 반복복호를 중단시키고, 복호 결과가 수렴하지 않을 경우에도 지정된 반복복호 횟수동안 진행한 후에 중단시킴으로써 데이터의 복호지연을 줄일 수 있는 효과가 있다.First, according to the present invention, in the turbo decoding process, the LLR code for the soft decision output value of the first decoder and the second decoder is determined, and if the predetermined condition is satisfied, the iterative decoding is stopped, and even if the decoding result does not converge, There is an effect that the decoding delay of the data can be reduced by stopping after proceeding for the number of times of repeated decoding.

둘째, 본 발명에 따르면, 복호 지연시간 단축으로 인하여 전력소모를 줄일 수 있고 시스템 전체의 용량증가를 도모하며 양질의 고속 멀티미디어 서비스를 제공할 수 있는 효과가 있다.Second, according to the present invention, the power consumption can be reduced due to the shortening of the decoding delay time, the capacity of the entire system can be increased, and the high quality multimedia service can be provided.

셋째, 본 발명에 따르면, 본 발명의 정지기준을 사용하여 터보 복호화 장치의 반복복호 횟수를 제어하므로써 종래의 반복복호 기법인 하겐워(Hagenauer)의 교차엔트로피 방식에서 필요로 하는 지수(Exponential)의 계산이 불필요하여 비교적 간단한 계산을 수행하므로 계산량을 줄일 수 있는 효과가 있다.Third, according to the present invention, by controlling the number of iterative decoding of the turbo decoding apparatus using the stop criterion of the present invention, the exponential required in the cross-entropy scheme of Hagenauer, which is a conventional iterative decoding technique, is calculated. Since this unnecessary and relatively simple calculation is performed, the amount of calculation can be reduced.

도 1은 일반적인 터보부호기의 구성을 보이는 블록도이다. 1 is a block diagram showing the configuration of a general turbo encoder.

도 2는 종래의 터보복호기의 구성을 보이는 블록도이다. 2 is a block diagram showing the configuration of a conventional turbo decoder.

도 3는 본 발명에 따른 터보복호기의 반복복호 제어장치의 구성을 보이는 블록도이다. 3 is a block diagram showing the configuration of an iterative decoding control apparatus of a turbo decoder according to the present invention.

도 4는 도 3 중 반복복호 제어기 및 주변 장치의 상세도이다. 4 is a detailed view of the iterative decoding controller and peripheral devices of FIG. 3.

도 5는 본 발명에 따른 터보복호기의 반복복호 제어방법의 동작을 보이는 흐름도이다.5 is a flowchart showing the operation of the iterative decoding control method of the turbo decoder according to the present invention.

도 6은 본 발명의 정지기준과 교차 엔트로피에 의한 정지기준의 평균 반복복호 횟수를 비교하여 나타낸 테이블 이다. FIG. 6 is a table comparing average repeat decoding times of a stop criterion according to the present invention and a stop criterion by cross-entropy.

Claims (7)

터보 복호기로서,As a turbo decoder, 터보 부호화된 데이터를 반복복호하여 연판정값을 출력하는 연판정값 출력수단; Soft decision value output means for iteratively decoding the turbo encoded data and outputting a soft decision value; 상기 연판정값 출력수단에서 출력된 연판정값들의 부호를 비교하여 부호가 다른 경우를 카운트하거나, 반복복호 횟수가 설정된 최대 반복복호 횟수를 초과한 경우, 상기 터보 복호기의 반복복호를 중단하는 반복중단 제어수단; 및Repetitive interruption of repeating the decoding of the turbo decoder by counting the case where the sign is different by comparing the codes of the soft decision values output from the soft decision value output means or when the number of repeated decoding exceeds the set maximum number of repeated decoding. Control means; And 상기 반복중단 제어수단의 반복복호 수행여부에 따라 상기 연판정값 출력수단의 출력값을 경판정하여 복호화된 결과를 출력하는 경판정값 출력수단을 포함하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치.Repetitive decoding control apparatus of turbo decoder using LLR code comparison comprising hard decision value output means for hardly determining the output value of the soft decision value output means and outputting the decoded result according to whether repeat decoding of the repeat control means is performed. . 제 1항에 있어서, 최대 반복복호 횟수가 설정되어 있고, 상기 연판정값 출력수단의 연판정값으로부터 반복복호 횟수를 카운트하여 그 결과를 반복중단 제어수단으로 출력하는 카운터를 더 포함하는 것을 특징으로 하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치.2. The counter according to claim 1, further comprising a counter for setting a maximum number of repeated decoding and counting the number of repeated decoding from the soft decision value of said soft decision value output means and outputting the result to said repeat stop control means. Iterative decoding control apparatus of a turbo decoder using the sign comparison of the LLR. 제 2항에 있어서. 상기 연판정값 출력수단은The method of claim 2. The soft decision value output means 제1 복호화된 데이터를 연판정하는 제1 연판정기; 및A first soft decision unit for soft decision of the first decoded data; And 제2 복호화 및 인터리빙된 데이터를 연판정하는 제2 연판정기를 포함하는 것을 특징으로 하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치.And a second soft decision unit for soft decision of second decoded and interleaved data. 제 1항에 있어서, 상기 반복중단 제어수단은The method of claim 1, wherein the repeat stop control means 상기 연판정값 출력수단에서 출력된 연판정값들의 부호를 비교하여 부호가 같은 경우를 카운트하거나, 반복복호 횟수가 설정된 최대 반복복호 횟수 미만인 경우, 상기 터보 복호기의 반복복호가 계속 수행되도록 제어하는 것을 특징으로 하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치.Comparing the codes of the soft decision values output from the soft decision value output means to count the case where the signs are the same, or if the number of repetition decoding times is less than the set maximum number of repetition decoding times, controlling to perform the repeated decoding of the turbo decoder. Iterative decoding control apparatus of turbo decoder using code comparison of LLR characterized in that. 제 3항에 있어서, 상기 반복중단 제어수단은The method of claim 3, wherein the repeat stop control means 상기 제1 연판정기로부터 출력되는 비트열의 부호를 저장하는 제1 부호 저장부;A first code storage unit which stores a code of a bit string output from the first soft determiner; 상기 제2 연판정기로부터 출력되는 비트열의 부호를 저장하는 제2 부호 저장부;A second code storage unit which stores a code of a bit string output from the second soft determiner; 상기 제1 부호 저장부 및 제2 부호 저장부의 부호를 비교하는 비교기;A comparator for comparing codes of the first code storage unit and the second code storage unit; 상기 비교 결과, 제1 부호 저장부 및 제2 부호 저장부의 부호가 다른 경우 설정된 다운카운트 값을 내림차순 카운트하는 다운 카운터;A down counter for counting down count values set in descending order when the codes of the first code storage unit and the second code storage unit are different as a result of the comparison; 반복복호 횟수를 카운트하는 카운터; 및A counter for counting the number of times of repeated decoding; And 상기 다운 카운터가 0이 아닌 값을 카운트 하거나, 상기 카운터가 설정된 최대 반복횟수를 수행한 경우, 반복복호 중단신호를 상기 경판정 출력수단으로 출력하는 반복복호 중단신호 발생기를 포함하는 것을 특징으로 하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어장치.LLR characterized in that it comprises a repeat decoding stop signal generator for outputting a repeat decoding stop signal to the hard decision output means when the down counter counts a non-zero value or the counter performs a set maximum number of repetitions Iterative decoding controller of turbo decoder using code comparison 터보 복호기에 적용되는 반복중단 제어방법으로서, An iterative stop control method applied to a turbo decoder, (a) 연판정된 제1 복호화된 데이터의 부호를 저장하는 단계;(a) storing the sign of the soft-determined first decoded data; (b) 연판정된 제2 복호화 및 디인터리빙된 데이터의 부호를 저장하는 단계;(b) storing the sign of the soft-determined second decoded and deinterleaved data; (c) 상기 부호를 비교하여 서로 다른 부호인 경우를 내림차순 카운트하는 다운카운터의 다운카운트를 수행하는 단계;(c) performing down counting of the down counters by comparing the codes and counting the cases of different codes in descending order; (d) 카운터에 의해 반복복호 횟수를 카운트한 값과 상기 카운터에 기 설정된 최대 반복복호 횟수를 비교하는 단계;(d) comparing a value of counting the number of times of repetition decoding by a counter with a maximum number of times of repetition decoding previously set in the counter; (e) 상기 다운 카운터의 카운트 값이 0이 아니거나, 상기 카운터가 최대 반복복호 횟수를 초과하는 경우 반복복호 중단신호를 발생하는 단계; 및(e) generating a repeat decoding stop signal when the count value of the down counter is not 0 or the counter exceeds the maximum number of repeated decoding; And (f) 상기 연판정된 제2 복호화 및 디인터리빙된 데이터를 경판정하여 출력하는 단계를 포함하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어방법.and (f) hard-determining and outputting the soft-determined second decoded and deinterleaved data. 제 6항에 있어서, The method of claim 6, 상기 다운 카운터가 부호가 같은 경우를 카운트하거나, 상기 카운터가 반복복호 횟수가 설정된 최대 반복복호 횟수 미만을 카운트한 경우, 상기 터보 복호기의 반복복호가 계속 수행되는 것을 특징으로 하는 LLR의 부호 비교를 이용한 터보 복호기의 반복복호 제어방법.When the down counter counts the case where the signs are the same or when the counter counts less than the maximum number of repeated decoding times, the repeated decoding of the turbo decoder is continuously performed. Iterative decoding control method of turbo decoder.
KR1020050056264A 2005-06-28 2005-06-28 Apparatus and method for controlling iterative decoding for turbo decoder using compare of LLR's sign bit KR100738250B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050056264A KR100738250B1 (en) 2005-06-28 2005-06-28 Apparatus and method for controlling iterative decoding for turbo decoder using compare of LLR's sign bit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050056264A KR100738250B1 (en) 2005-06-28 2005-06-28 Apparatus and method for controlling iterative decoding for turbo decoder using compare of LLR's sign bit

Publications (2)

Publication Number Publication Date
KR20050079986A true KR20050079986A (en) 2005-08-11
KR100738250B1 KR100738250B1 (en) 2007-07-12

Family

ID=37266823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050056264A KR100738250B1 (en) 2005-06-28 2005-06-28 Apparatus and method for controlling iterative decoding for turbo decoder using compare of LLR's sign bit

Country Status (1)

Country Link
KR (1) KR100738250B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100849085B1 (en) * 2006-02-03 2008-07-30 한국전자통신연구원 Low complexity and power-consumption Turbo-decoder using variable scaling factor
US7861135B2 (en) 2006-02-03 2010-12-28 Electronics And Telecommunications Research Institute Of Daejeon Low-complexity and low-power-consumption turbo decoder with variable scaling factor
WO2011013949A2 (en) * 2009-07-28 2011-02-03 (주)네스랩 Early stopping system and method for a low power consumption turbo decoder
US8458578B2 (en) 2007-05-17 2013-06-04 Samsung Electronics Co., Ltd. Apparatus for generating soft decision values using an analog-to-digital converter and method thereof

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100362912B1 (en) * 2000-03-27 2002-11-29 학교법인 포항공과대학교 Apparatus for stopping recursive decoding and turbo decoder comprising it
JP2002100995A (en) * 2000-09-22 2002-04-05 Sony Corp Decoding device and method and data receiver and receiving method
KR100443174B1 (en) * 2001-12-27 2004-08-04 한국전자통신연구원 Apparatus of iteration decoding limitation using saturation bit and Turbo Decoding System using the same
KR100517977B1 (en) * 2002-10-28 2005-10-04 엘지전자 주식회사 Decoding iteration stopping criterion method for turbo decoder
KR20040086872A (en) * 2003-03-22 2004-10-13 김환용 Its methods and control apparatus of iterative decoding number for turbo decoder
KR100530339B1 (en) * 2003-05-09 2005-11-22 김환용 Apparatus and method for reducing decoding delay time of turbo decoder

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100849085B1 (en) * 2006-02-03 2008-07-30 한국전자통신연구원 Low complexity and power-consumption Turbo-decoder using variable scaling factor
US7861135B2 (en) 2006-02-03 2010-12-28 Electronics And Telecommunications Research Institute Of Daejeon Low-complexity and low-power-consumption turbo decoder with variable scaling factor
US8458578B2 (en) 2007-05-17 2013-06-04 Samsung Electronics Co., Ltd. Apparatus for generating soft decision values using an analog-to-digital converter and method thereof
WO2011013949A2 (en) * 2009-07-28 2011-02-03 (주)네스랩 Early stopping system and method for a low power consumption turbo decoder
WO2011013949A3 (en) * 2009-07-28 2011-04-21 (주)네스랩 Early stopping system and method for a low power consumption turbo decoder

Also Published As

Publication number Publication date
KR100738250B1 (en) 2007-07-12

Similar Documents

Publication Publication Date Title
US8443265B2 (en) Method and apparatus for map decoding and turbo decoder using the same
KR100321978B1 (en) Apparatus and method for eterative decoding in telecommunication system
KR100860733B1 (en) Decoding device, decoding method, and receiving apparatus
KR100876735B1 (en) Iterative decoding stop device and method in mobile communication system
WO1999007076A2 (en) Adaptive channel encoding method and device
US7886209B2 (en) Decoding device, decoding method, and receiving apparatus
KR20080010609A (en) Method and apparatus for error correction in multiple-input multiple-output communication system
JP2001257601A (en) Method for digital signal transmission of error correction coding type
KR100738250B1 (en) Apparatus and method for controlling iterative decoding for turbo decoder using compare of LLR's sign bit
KR19990081470A (en) Method of terminating iterative decoding of turbo decoder and its decoder
US20180248563A1 (en) Device and Method of Controlling an Iterative Decoder
KR100530339B1 (en) Apparatus and method for reducing decoding delay time of turbo decoder
US6801588B1 (en) Combined channel and entropy decoding
AlMahamdy et al. Early termination of turbo decoding by identification of undecodable blocks
CN108476027B (en) Window interleaved TURBO (WI-TURBO) code
KR100823727B1 (en) Apparatus and method for iterative decoding stop control using variance values of noise in turbo decoder
KR100662076B1 (en) Apparatus and method for iterative decoding stop control using average value to difference value of LLR output
KR20040086872A (en) Its methods and control apparatus of iterative decoding number for turbo decoder
JP2002353821A (en) Error correction decoding method and decoder
US7565594B2 (en) Method and apparatus for detecting a packet error in a wireless communications system with minimum overhead using embedded error detection capability of turbo code
JP2005167513A (en) Decoding device and decoding method
KR100776910B1 (en) Apparatus for non-binary codes iterative decoding with scr or sdr and method for operating the same
Janvars et al. Hard decision decoding of single parity turbo product code with N-level quantization
KR100370780B1 (en) Coding/decoding method and apparatus of turbo code concatenated by Hamming code
KR100564016B1 (en) Turbo decoder

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20120628

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130702

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee