KR101728218B1 - Apparatus and method for removing error of the turbo decoder - Google Patents

Apparatus and method for removing error of the turbo decoder Download PDF

Info

Publication number
KR101728218B1
KR101728218B1 KR1020150016586A KR20150016586A KR101728218B1 KR 101728218 B1 KR101728218 B1 KR 101728218B1 KR 1020150016586 A KR1020150016586 A KR 1020150016586A KR 20150016586 A KR20150016586 A KR 20150016586A KR 101728218 B1 KR101728218 B1 KR 101728218B1
Authority
KR
South Korea
Prior art keywords
bit
bit string
error
turbo decoder
input
Prior art date
Application number
KR1020150016586A
Other languages
Korean (ko)
Other versions
KR20160095384A (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 KR1020150016586A priority Critical patent/KR101728218B1/en
Publication of KR20160095384A publication Critical patent/KR20160095384A/en
Application granted granted Critical
Publication of KR101728218B1 publication Critical patent/KR101728218B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/258Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with turbo codes, e.g. Turbo Trellis Coded Modulation [TTCM]

Abstract

터보 복호기(decorder)의 오류 마루(error floor) 현상을 제거하고 오류를 정정하는 장치 및 방법이 제시된다. 터보 복호기는 입력 비트에 대해 순환 중복 검사(CRC: Cyclic Redundancy Checking)를 수행하고 오류를 검출하는 검출부 및 상기 검출부가 상기 오류를 검출한 경우에, 상기 입력 비트를 기저장된 후보 비트열 중 어느 하나 비트열로 변경하여 출력하는 변환부를 포함한다.An apparatus and method for eliminating the error floor phenomenon of a turbo decoder and correcting errors are presented. The turbo decoder includes a detector for performing a cyclic redundancy check (CRC) on an input bit and detecting an error, and a detector for detecting an error when the detector detects the error, And outputs the converted data.

Description

터보 복호기의 오류 제거 장치 및 방법{APPARATUS AND METHOD FOR REMOVING ERROR OF THE TURBO DECODER}[0001] APPARATUS AND METHOD FOR REMOVING ERROR OF THE TURBO DECODER [0002]

위성 통신 시스템에 연관되며, 보다 상세하게는 터보 복호기(decoder)의 오류 마루(error floor) 현상을 제거하고 오류를 정정하는 장치 및 방법에 연관된다.
And more particularly to an apparatus and method for eliminating an error floor phenomenon of a turbo decoder and correcting errors.

무선 통신을 기초로 하는 위성 통신 시스템은 페이딩(fading), 비선형성 등과 같은 원인으로 인해 불안정한 채널 환경을 갖는다. 따라서, 보다 개선된 품질의 서비스를 제공하기 위해 오류 정정 및 오류 제어 기술에 대한 연구의 필요성이 존재한다. 오류 정정 기술에 있어서, 터보 부호(turbo code)는 우수한 오류 정정 능력 및 쉬운 부호율 확장을 이유로 널리 사용되고 있다.A satellite communication system based on wireless communication has an unstable channel environment due to causes such as fading, non-linearity, and the like. Therefore, there is a need for research on error correction and error control techniques to provide improved quality of service. In error correction techniques, turbo codes are widely used because of their excellent error correction capability and easy code rate extension.

터보 부호는 다른 부호와 비교할 때 최소 거리(minimum distance)가 작은 코드열이 존재하지만 그런 코드열이 발생할 확률을 감소시켜서 오류 정정 능력을 향상시키는 부호이다. 따라서 터보 부호에 의해 생성된 코드열들은 다른 부호에 의해 생성된 코드열보다 큰 해밍 거리(hamming distance)를 가지는 것이 일반적이다. 그러나 터보 부호에 의해 생성된 특정 코드열들은 다른 부호에 의해 생성된 코드열보다 작은 해밍 거리를 갖는 현상이 발생된다. 이런 특정 코드열들에 의해서 입력 비트의 신호 대 잡음 비(SNR: Signal to Noise Ratio)가 증가함에도 불구하고 비트 에러율(BER: Bit Error Rate)이 감소하지 않는 오류 마루(error floor) 현상이 발생하게 된다.A turbo code is a code that improves the error correction capability by reducing the probability of occurrence of such a code string when a code string having a minimum distance is small compared to other codes. Therefore, the code sequences generated by the turbo code generally have a larger hamming distance than the code sequences generated by the other codes. However, certain code sequences generated by turbo codes have a hamming distance smaller than that generated by other codes. These specific code sequences cause an error floor phenomenon in which the bit error rate (BER) is not reduced even though the signal to noise ratio (SNR) of the input bit increases. do.

위성 무선 통신 시스템의 역방향 통신 규격인 DVB-RCS2(Digital Video Broadcasting-Return Channel via Satellite Second generation)에서는 터보 부호의 RSC(recursive systematic code)의 상태를 16상태로 확장하여 오류 정정 능력을 개선하고 오류 마루 현상을 감소시켰다. 다만, RCS2의 터보 부호 역시 RCS1(Return Channel via Satellite First generation)와 비교하여 최소 거리가 증가한 것이고 여전히 algebra 기반의 부호에 비해 작은 최소 거리를 가지고 이로 인해 오류 마루 현상이 발생한다.
In DVB-RCS2 (Digital Video Broadcasting-Return Channel via Satellite Second Generation), which is a reverse communication standard of the satellite wireless communication system, the state of the RSC (recursive systematic code) of the turbo code is extended to 16 states to improve the error correction capability, The phenomenon was reduced. However, the turbo code of RCS2 is also a minimum distance increase compared with RCS1 (Return Channel via Satellite First Generation) and still has a small minimum distance compared with the algebra-based code, resulting in an error floor phenomenon.

일측에 따르면 터보 복호기가 제공된다. 터보 복호기는 입력 비트에 대해 순환 중복 검사(CRC: Cyclic Redundancy Checking)를 수행하고 오류를 검출하는 검출부 및 상기 검출부가 상기 오류를 검출한 경우에, 상기 입력 비트를 기저장된 후보 비트열 중 어느 하나 비트열로 변경하여 출력하는 변환부를 포함한다. 상기 변환부는 터보 부호에 의해 생성된 비트열 사이의 해밍 거리가 기설정된 값 이하인 상기 비트열을 상기 후보 비트열로서 저장할 수 있다. 상기 변환부는 상기 저장된 후보 비트열 중 상기 입력 비트와 가장 작은 해밍 거리를 가지는 상기 어느 하나 비트열을 우선적으로 변경할 수 있다.According to one side, a turbo decoder is provided. The turbo decoder includes a detector for performing a cyclic redundancy check (CRC) on an input bit and detecting an error, and a detector for detecting an error when the detector detects the error, And outputs the converted data. The transform unit may store the bit stream having the hamming distance between the bit streams generated by the turbo code less than a preset value as the candidate bit stream. The converting unit may preferentially change the bit string having the smallest hamming distance from the input bit among the stored candidate bit strings.

일실시예에 따르면 터보 복호기는 상기 입력 비트에 대응하는 신호 대 잡음 비와 임계값의 크기를 비교하는 판단부를 더 포함할 수 있다. 상기 판단부는 상기 입력 비트에 대응하는 상기 신호 대 잡음 비가 상기 임계값보다 큰 경우에 상기 변환부를 턴 온 시킬 수 있다. 상기 판단부는 상기 터보 복호기의 출력 비트에서 오류 마루 현상이 검출되는 상기 신호 대 잡음 비를 상기 임계값으로 설정할 수 있다.According to an exemplary embodiment, the turbo decoder may further include a determination unit for comparing a magnitude of the threshold with a signal-to-noise ratio corresponding to the input bit. The determination unit may turn on the conversion unit when the signal-to-noise ratio corresponding to the input bit is greater than the threshold value. The determination unit may set the signal-to-noise ratio at which the error floor phenomenon is detected in the output bits of the turbo decoder to the threshold value.

다른 일실시예에 따르면 상기 검출부는 상기 어느 하나 비트열에 대해서 상기 순환 중복 검사를 수행하고 오류를 검출하고, 상기 변환부는 상기 검출부가 상기 오류를 검출한 경우에, 상기 입력 비트를 상기 기저장된 후보 중 다른 하나 비트열로 다시 변경하여 출력할 수 있다.
According to another embodiment of the present invention, the detector performs the cyclic redundancy check on any one of the bit strings and detects an error, and when the detecting unit detects the error, the converter converts the input bit into the pre- It can be changed to another bit string and output.

다른 일측에 따르면 입력 비트에 대해 순환 중복 검사를 수행하고 오류의 존재 여부를 검출하는 단계 및 상기 입력 비트에 상기 오류가 존재하는 경우, 상기 입력 비트를 상기 입력 비트에 대응하는 기저장된 비트열 후보 중 어느 하나의 비트열로 변환하고 출력하는 단계를 포함하는 터보 부호를 이용한 오류 정정 방법이 제공된다. 상기 어느 하나의 비트열로 변환하고 출력하는 단계는 상기 기저장된 비트열 후보 중 상기 입력 비트와 갖는 해밍 거리가 작은 비트열부터 우선적으로 상기 어느 하나의 비트열로 변환하고 출력한다.According to another aspect of the present invention, there is provided a method for performing a cyclic redundancy check on an input bit and detecting the presence or absence of an error, and, when the error exists in the input bit, And converting the bit string into a bit string and outputting the bit string. The converting and outputting to any one of the bit strings preferably converts the bit string having a small hamming distance with the input bit among the pre-stored bit string candidates to one of the bit strings.

일실시예에 따르면 상기 터보 부호를 이용한 오류 정정 방법은 변환된 상기 어느 하나의 비트열에 대해 상기 순환 중복 검사를 수행하고 오류의 존재 여부를 검출하고 상기 오류가 존재하는 경우에 상기 입력 비트에 대응하는 상기 기저장된 비트열 후보 중 다른 하나의 비트열로 재변환 하는 단계를 더 포함할 수 있다. 상기 재변환 하는 단계는 반복적으로 수행되고 재변환된 상기 다른 하나의 비트열에 대해 상기 순환 중복 검사를 수행하여 오류가 검출되지 않는 경우에 중단될 수 있다.According to an embodiment of the present invention, the error correcting method using the turbo code is configured to perform the cyclic redundancy check on any one of the converted bit strings, detect the presence or absence of an error, and, when the error exists, And re-converting the pre-stored bit string candidates to another one of the bit string candidates. The re-conversion step may be repeatedly performed and the cyclic redundancy check is performed on the other bit string that has been retransformed, so that the error can be discontinued when no error is detected.

다른 일실시예에 따르면 상기 터보 부호를 이용한 오류 정정 방법은 상기 입력 비트와 해밍 거리가 기설정된 값 이하인 비트열을 상기 입력 비트에 대응하는 기저장된 비트열 후보로서 저장하는 단계를 더 포함한다.According to another embodiment of the present invention, the error correction method using the turbo code further includes the step of storing the input bit and the bit stream having the hamming distance less than a preset value as a pre-stored bit stream candidate corresponding to the input bit.

한편, 상기 터보 부호를 이용한 오류 정정 방법은 상기 입력 비트에 대응하는 신호 대 잡음 비와 기설정된 임계치를 비교하는 단계를 더 포함할 수 있다. 일실시예에 따르면 상기 어느 하나의 비트열로 변환하고 출력하는 단계는 상기 기설정된 임계치를 비교하는 단계 내에서 상기 입력 비트에 대응하는 신호 대 잡음 비가 상기 기설정된 임계치 보다 큰 경우에 수행될 수 있다. 상기 임계치는 출력 비트에 대해 오류 마루 현상이 발생하도록 하는 신호 대 잡음 비일 수 있다.
Meanwhile, the error correction method using the turbo code may further include a step of comparing a signal-to-noise ratio corresponding to the input bit and a predetermined threshold value. According to an embodiment, the step of converting and outputting to any one of the bit strings may be performed when the signal-to-noise ratio corresponding to the input bit is greater than the predetermined threshold value in the step of comparing the preset threshold values . The threshold may be a signal-to-noise ratio that causes an error floor effect on the output bits.

다른 일측에 따르면 터보 복호기를 위한 비트열 치환기가 제공된다. 상기 터보 복호기를 위한 비트열 치환기는 터보 부호에 기초하여 생성된 비트열 사이의 해밍 거리를 계산하는 계산부, 임계치 이하의 상기 해밍 거리를 갖는 상기 비트열의 집합을 각각 비트열 후보로서 저장하는 저장부 및 상기 비트열을 상기 비트열에 대응하는 상기 비트열 후보의 다른 비트열로 치환하는 치환부를 포함한다. According to another aspect, a bit string substitution for a turbo decoder is provided. A bit string substitution unit for the turbo decoder includes a calculation unit for calculating a hamming distance between bit strings generated based on the turbo code, a storage unit for storing a set of the bit strings having the hamming distance below the threshold as bit string candidates, And a replacing unit replacing the bit string with another bit string of the bit string candidate corresponding to the bit string.

일실시예에 따르면 상기 치환부는 상기 터보 복호기가 상기 비트열에 대해 오류를 검출한 경우에, 상기 비트열에 대응하는 상기 비트열 후보의 상기 다른 비트열로 치환할 수 있다. 상기 치환부는 상기 비트열의 신호 대 잡음 비가 오류 마루 현상이 발견되는 신호 대 잡음 비 이상인 경우에, 상기 비트열에 대응하는 상기 비트열 후보의 상기 다른 비트열로 치환할 수 있다. 상기 저장부는 롬 테이블(ROM table)을 포함하고 상기 롬 테이블 내에 상기 비트열 후보를 저장할 수 있다.According to an embodiment, when the turbo decoder detects an error in the bit stream, the replacing unit may replace the bit stream candidate with the other bit stream corresponding to the bit stream. The replacing unit may replace the different bit sequence of the bit string candidate corresponding to the bit string when the signal-to-noise ratio of the bit string is equal to or greater than a signal-to-noise ratio at which an error floor phenomenon is found. The storage unit may include a ROM table and may store the bit string candidates in the ROM table.

일실시예에 따르면 상기 계산부는 상기 비트열의 신호 대 잡음 비에 대응하는 비트 에러율이 기설정된 변화율 이하로 변하는 경우에 상기 신호 대 잡음 비를 오류 마루 현상으로 계산할 수 있다.
According to an embodiment, the calculation unit may calculate the signal-to-noise ratio as an error floor phenomenon when the bit error rate corresponding to the signal-to-noise ratio of the bit string changes below a predetermined rate of change.

도 1은 일실시예에 따른 터보 복호기를 도시하는 블록도이다.
도 2는 일실시예에 따른 터보 복호기의 비트 에러율 그래프를 도시한다.
도 3은 일실시예에 따른 본 발명의 터보 복호기의 구조를 도시한다.
도 4는 일실시예에 따른 터보 부호를 이용한 오류 정정 방법을 도시하는 블록도이다.
도 5는 일실시예에 따른 비트열 치환기를 도시하는 블록도이다.
1 is a block diagram illustrating a turbo decoder according to an embodiment of the present invention.
FIG. 2 shows a bit error rate graph of a turbo decoder according to an embodiment.
FIG. 3 illustrates a structure of a turbo decoder according to an embodiment of the present invention.
4 is a block diagram illustrating an error correction method using a turbo code according to an embodiment.
5 is a block diagram illustrating a bit string substitution unit according to one embodiment.

이하에서, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 이러한 실시예들에 의해 권리범위가 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the rights is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.

아래 설명에서 사용되는 용어는, 연관되는 기술 분야에서 일반적이고 보편적인 것으로 선택되었으나, 기술의 발달 및/또는 변화, 관례, 기술자의 선호 등에 따라 다른 용어가 있을 수 있다. 따라서, 아래 설명에서 사용되는 용어는 기술적 사상을 한정하는 것으로 이해되어서는 안 되며, 실시예들을 설명하기 위한 예시적 용어로 이해되어야 한다.The terms used in the following description are chosen to be generic and universal in the art to which they are related, but other terms may exist depending on the development and / or change in technology, customs, preferences of the technician, and the like. Accordingly, the terminology used in the following description should not be construed as limiting the technical thought, but should be understood in the exemplary language used to describe the embodiments.

또한 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세한 그 의미를 기재할 것이다. 따라서 아래 설명에서 사용되는 용어는 단순한 용어의 명칭이 아닌 그 용어가 가지는 의미와 명세서 전반에 걸친 내용을 토대로 이해되어야 한다.
Also, in certain cases, there may be a term chosen arbitrarily by the applicant, in which case the meaning of the detailed description in the corresponding description section. Therefore, the term used in the following description should be understood based on the meaning of the term, not the name of a simple term, and the contents throughout the specification.

도 1은 일실시예에 따른 터보 복호기를 도시하는 블록도이다.1 is a block diagram illustrating a turbo decoder according to an embodiment of the present invention.

도 1을 참조하면 터보 복호기(100)는 검출부(110), 판단부(120) 및 변환부(130)를 포함한다. 일실시예에 따른 터보 복호기(100)는 입력 비트에 대한 오류 정정 능력을 개선하고 터보 부호가 갖는 오류 마루 현상을 제거할 수 있다. 검출부(110)는 터보 복호기(100)의 입력 비트에 존재하는 오류를 검출한다. 일실시예로서 검출부(110)는 터보 복호기(100)의 입력 비트에 대해 순환 중복 검사(CRC: Cyclic Redundancy Checking)를 수행할 수 있다. 예를 들어 검출부(110)는 상기 입력 비트를 기설정된 다항식으로 나누어 나머지 값이 0이 되는지 확인하여 송수신된 입력 비트에 오류가 있는지 확인할 수 있다.Referring to FIG. 1, a turbo decoder 100 includes a detector 110, a determiner 120, and a transformer 130. The turbo decoder 100 according to an embodiment improves the error correction capability for the input bits and can eliminate the error flooring phenomenon of the turbo code. The detection unit 110 detects an error existing in the input bit of the turbo decoder 100. In one embodiment, the detector 110 may perform cyclic redundancy checking (CRC) on the input bits of the turbo decoder 100. For example, the detection unit 110 may divide the input bit by a predetermined polynomial and check whether the remaining value is 0, to check whether there is an error in the transmitted and / or received input bits.

그리고 판단부(120)는 터보 복호기(100)의 입력 비트에 대응하는 신호 대 잡음 비와 임계값의 크기를 비교한다. 판단부(120)는 터보 복호기(100)의 입력 비트에 대응하는 상기 신호 대 잡음 비가 상기 임계값보다 큰 경우에 상기 변환부가 동작하도록 한다. 예시적으로, 그러나 한정되지 않게, 판단부(120)는 터보 복호기의 출력 비트에서 오류 마루 현상이 검출되는 신호 대 잡음 비를 임계값으로 설정할 수 있다. 터보 부호에 의해 생성된 코드열 중 일부 코드열은 오류 마루 현상이 발생한다. 오류 마루 현상은 입력 비트의 신호 대 잡음 비가 증가함에도 불구하고 비트 에러율이 감소하지 않는 현상이다. 다시 말하면, 터보 부호에 의해 생성된 일부 코드열의 최소 거리가 너무 작아 신호 대 잡음 비의 증가에도 오류 정정 및 개선 효과가 크지 않고 비트 에러율이 개선되지 않는 것이다.The determination unit 120 compares the signal-to-noise ratio corresponding to the input bit of the turbo decoder 100 with the threshold value. The determination unit 120 causes the conversion unit to operate when the signal-to-noise ratio corresponding to the input bit of the turbo decoder 100 is greater than the threshold value. Illustratively, but not limited to, the determination unit 120 may set the signal-to-noise ratio at which the error floor phenomenon is detected in the output bits of the turbo decoder to a threshold value. Some of the code lines generated by the turbo code have an error floor effect. The error floor phenomenon is a phenomenon in which the bit error rate does not decrease even though the signal to noise ratio of the input bit increases. In other words, even if the minimum distance of some code sequences generated by the turbo code is too small, the error correction and improvement effect is not large and the bit error rate is not improved even when the signal-to-noise ratio is increased.

다른 일실시예에 따르면 판단부(120)는 비트 에러율 및 신호 대 잡음 비에 대응하는 비트 에러율의 변화율을 측정한다. 판단부(120)는 비트 에러율의 변화율 크기의 문턱 값을 설정할 수 있다. 판단부(120)는 상기 문턱 값 보다 측정된 비트 에러율의 변화율이 더 작아지게 되는 경우에 대응하는 신호 대 잡음 비를 임계값으로 설정할 수 있다. 판단부(120)는 입력 비트에 대응하는 신호 대 잡음 비가 임계값보다 큰 경우에 변환부(130)를 턴 온(turn on) 시킬 수 있다.According to another embodiment, the determination unit 120 measures the rate of change of the bit error rate corresponding to the bit error rate and the signal-to-noise ratio. The determination unit 120 may set the threshold value of the rate of change of the bit error rate. The determination unit 120 may set the signal-to-noise ratio corresponding to the threshold value to the threshold value when the rate of change of the measured bit error rate is smaller than the threshold value. The determination unit 120 may turn on the conversion unit 130 when the signal-to-noise ratio corresponding to the input bit is greater than the threshold value.

변환부(130)는 터보 복호기(100)의 입력 비트를 기저장된 후보 비트열 중 어느 하나 비트열로 변경하여 출력할 수 있다. 변환부(130)는 검출부(110)가 터보 복호기의 입력 비트에 대해서 오류를 검출한 경우에, 상기 입력 비트를 기저장된 후보 비트열 중 어느 하나 비트열로 변경하여 출력할 수 있다.The converting unit 130 may convert the input bit of the turbo decoder 100 into one of the previously stored candidate bit streams and output the modified bit stream. When the detecting unit 110 detects an error with respect to the input bit of the turbo decoder, the converting unit 130 may convert the input bit into a bit string of one of the previously stored candidate bit strings and output the bit string.

다른 일실시예에 따르면 변환부(130)는 터보 부호에 의해 생성된 비트열 사이의 해밍 거리가 기설정된 값 이하인 상기 비트열을 상기 후보 비트열로서 저장할 수 있다. 해밍 거리는 채널부호화에 연관되고 오류의 검출 및 정정과 연관된다. 해밍 거리는 두 개의 비트열 또는 코드열에 존재하는 서로 다른 문자 쌍의 개수를 의미한다. 예시적으로 비트 010 및 000의 해밍 거리는 1이 되고, 010 및 111의 해밍 거리는 2가 된다. 따라서 서로 다른 코드열 간에 가능한 큰 값의 해밍 거리 거리를 가질수록 더 높은 확률의 오류 정정 능력을 가지게 된다.According to another embodiment, the transforming unit 130 may store the bit stream having the hamming distance between the bit streams generated by the turbo code less than a predetermined value as the candidate bit stream. The Hamming distance is associated with channel coding and is associated with the detection and correction of errors. The Hamming distance means the number of different character pairs present in two bit strings or code strings. Illustratively, the hamming distance of bits 010 and 000 is 1, and the hamming distance of 010 and 111 is 2. Therefore, as the Hamming distance is as large as possible between different code sequences, the error correction capability becomes higher.

일실시예로서, 변환부(130)는 상기 저장된 후보 비트열 중 상기 입력 비트와 가장 작은 해밍 거리를 가지는 상기 어느 하나 비트열을 우선적으로 변경할 수 있다. 앞서 기재한 바와 같이, 보다 짧은 해밍 거리를 갖는 비트열들이 더 높은 확률로 오류가 발생할 수 있기 때문에, 본 발명의 변환부(130)는 예시적으로 더 높은 오류 발생 확률이 존재하는 후보 비트열에 대해서 우선적으로 출력할 수 있다.
In one embodiment, the converting unit 130 may preferentially change any one of the stored bitstreams having the smallest hamming distance from the input bitstream. As described above, since the bit streams having shorter Hamming distances may cause errors with a higher probability, the transformer 130 of the present invention may be configured such that, for example, It is possible to output it first.

도 2는 일실시예에 따른 터보 복호기의 비트 에러율 그래프를 도시한다.FIG. 2 shows a bit error rate graph of a turbo decoder according to an embodiment.

도 2에서 그래프의 x축은 터보 복호기의 입력 비트의 신호 대 잡음 비(ES/N0)이고, y축은 비트 에러율을 나타낸다. 일실시예로서 변조 방식은 QPSK(Quadrature Phase Shift Keying)이고, 부호율은 1/3이고 반복횟수가 8회인 경우에 비트 에러율을 도시한 그래프이다. 도 2 그래프에서 알 수 있듯이 x축의 신호 대 잡음 비가 증가되는 동안에 y축의 비트 에러율은 감소하는 경향을 나타낸다. 판단부(120)는 비트 에러율 및 신호 대 잡음 비에 대응하는 비트 에러율의 변화율을 계산할 수 있다.In FIG. 2, the x-axis of the graph represents the signal-to-noise ratio (E S / N 0 ) of the input bit of the turbo decoder and the y-axis represents the bit error rate. In one embodiment, the modulation scheme is Quadrature Phase Shift Keying (QPSK), and the bit error rate is shown when the coding rate is 1/3 and the number of repetitions is eight. As can be seen from the graph of FIG. 2, the bit error rate of the y-axis tends to decrease while the signal-to-noise ratio of the x-axis increases. The determination unit 120 may calculate the rate of change of the bit error rate corresponding to the bit error rate and the signal-to-noise ratio.

도 2를 참조하면, 일실시예로서 신호 대 잡음 비가 0.2만큼 변하는 경우에 비트 에러율의 변화율을 계산할 수 있다. 신호 대 잡음 비가 0.0에서 0.2 사이인 경우에 비트 에러율의 변화율(210), 0.2에서 0.4 사이인 경우에 비트 에러율의 변화율(220) 및 0.4에서 0.6 사이인 경우에 비트 에러율의 변화율(230)이 도시된다.Referring to FIG. 2, in one embodiment, the rate of change of the bit error rate can be calculated when the signal-to-noise ratio varies by 0.2. The rate of change of the bit error rate 210 when the signal-to-noise ratio is between 0.0 and 0.2, the rate of change of the bit error rate 220 when between 0.2 and 0.4 and the rate of change of the bit error rate 230 when between 0.4 and 0.6, do.

다른 일실시예에 따르면, 판단부(120)는 오류 마루 현상이 발생하게 되는 신호 대 잡음 비를 임계값으로 설정할 수 있다. 일실시예로서 판단부(120)는 0.2만큼의 신호 대 잡음 비 증가에 대응하여 비트 에러율이 10배 이상 감소하지 않으면 오류 마루 현상이라고 검출할 수 있다.According to another embodiment, the determination unit 120 may set the signal-to-noise ratio at which the error floor phenomenon occurs to a threshold value. In one embodiment, the determination unit 120 may detect an error floor phenomenon if the bit error rate does not decrease by 10 times or more in response to the signal-to-noise ratio increase of 0.2.

도 2를 참조하면, 0.0에서 0.2 사이의 비트 에러율의 변화율(210) 및 0.2에서 0.4 사이의 비트 에러율의 변화율(220)은 로그 스케일의 y축에서 1 이상, 즉 10배 이상의 감소율을 나타낸다. 다만, 0.4에서 0.6 사이의 비트 에러율의 변화율(230)은 로그 스케일의 y축에서 1 이하, 즉 10배 이하의 감소율을 나타낸다. 따라서 판단부(120)는 비트 에러율의 변화율(230)에 대응하여 오류 마루 현상을 검출하고 이 때의 신호 대 잡음 비 0.4를 임계값으로 설정할 수 있다.
Referring to FIG. 2, the rate of change 210 of the bit error rate between 0.0 and 0.2 and the rate of change 220 of the bit error rate between 0.2 and 0.4 indicate a rate of reduction of 1 or more, i.e., 10 times or more, in the y axis of the logarithmic scale. However, the rate of change of the bit error rate 230 between 0.4 and 0.6 indicates a reduction rate of 1 or less, i.e., 10 times or less, in the y-axis of the logarithmic scale. Accordingly, the determination unit 120 may detect an error floor phenomenon corresponding to the rate of change of the bit error rate 230 and set the signal-to-noise ratio 0.4 at this time as a threshold value.

도 3은 일실시예에 따른 본 발명의 터보 복호기의 구조를 도시한다.FIG. 3 illustrates a structure of a turbo decoder according to an embodiment of the present invention.

터보 복호기(300)는 제1 MAP(Maximum A Posteriori) 복호기(310), 제2 MAP 복호기(320), 인터리버(330), 디인터리버(340), 검출부(350), 판단부(360) 및 변환부(370)를 포함한다. 제1 MAP 복호기(310) 및 제2 MAP 복호기(320)는 사후확률을 최대화하는 결정 규칙에 따라 입력 비트를 부호화할 수 있다. 또한, 제1 MAP 복호기(310) 및 제2 MAP 복호기(320)는 오류 확률을 최소화하기 위해 수신된 입력 비트를 판정할 수 있다. 일실시예로서 제1 MAP 복호기(310) 및 제2 MAP 복호기(320)는 수학식 1의 Log-Map 복호 알고리즘을 사용하여 입력 비트를 판정할 수 있다. 수학식 1은 아래와 같다.
The turbo decoder 300 includes a first MAP (Maximum A Posteriori) decoder 310, a second MAP decoder 320, an interleaver 330, a deinterleaver 340, a detector 350, a determiner 360, (370). The first MAP decoder 310 and the second MAP decoder 320 may encode input bits according to a decision rule that maximizes the posterior probability. Also, the first MAP decoder 310 and the second MAP decoder 320 may determine the received input bit to minimize the error probability. In one embodiment, the first MAP decoder 310 and the second MAP decoder 320 can determine an input bit using the Log-Map decoding algorithm of Equation (1). Equation 1 is as follows.

Figure 112015011450607-pat00001
Figure 112015011450607-pat00001

L(dk)는 제1 MAP 복호기(310) 및 제2 MAP 복호기(320)에 대응하는 각각의 출력 확률을 나타낸다. L(dk)는 아래 수학식 2와 같이 전개할 수 있다.
L (d k ) represents the output probability of each of the first MAP decoder 310 and the second MAP decoder 320. L (d k ) can be expanded as shown in Equation (2) below.

Figure 112015011450607-pat00002
Figure 112015011450607-pat00002

L(dk)는

Figure 112015011450607-pat00003
,
Figure 112015011450607-pat00004
Figure 112015011450607-pat00005
을 이용하여 전개할 수 있다.
Figure 112015011450607-pat00006
는 순방향 상태 매트릭(Forward State Metric),
Figure 112015011450607-pat00007
는 역방향 상태 매트릭(Backward State Metric),
Figure 112015011450607-pat00008
는 가지 매트릭(Branch Metric) 함수를 나타낸다. 각각의 함수는 아래의 수학식 3, 4, 5와 같이 전개될 수 있다.
L (d k )
Figure 112015011450607-pat00003
,
Figure 112015011450607-pat00004
And
Figure 112015011450607-pat00005
Can be developed.
Figure 112015011450607-pat00006
A forward state metric,
Figure 112015011450607-pat00007
A backward state metric,
Figure 112015011450607-pat00008
Represents a branch metric function. Each function can be expanded as shown in Equations (3), (4) and (5) below.

Figure 112015011450607-pat00009
Figure 112015011450607-pat00009

Figure 112015011450607-pat00010
Figure 112015011450607-pat00010

Figure 112015011450607-pat00011
Figure 112015011450607-pat00011

제1 MAP 복호기(310) 및 제2 MAP 복호기(320)는 수학식 3, 4, 5를 이용하여 출력 LLR(Log Likelihood Ratio) 값을 계산할 수 있다.The first MAP decoder 310 and the second MAP decoder 320 may calculate the output likelihood ratio (LLR) using Equations (3), (4) and (5).

인터리버(330)는 터보 복호기(300)의 입력 비트 또는 입력 데이터 열의 순서를 일정한 단위로 재 배열한다. 일실시예로서 인터리버(330)는 터보 복호기(300)의 데이터 열을 블록의 열과 행 각각에 대응하도록 분산할 수 있다. 디인터리버(340)는 인터리버(330)에 의해서 재 배열 된 입력 비트 또는 입력 데이터를 본래의 위치로 배열한다. 인터리버(330) 및 디인터리버(340)는 입력 데이터의 송수신 과정에서 발생할 수 있는 오류가 집중적이 아닌 산발적으로 존재하도록 배열한다.The interleaver 330 rearranges the order of the input bits or the input data string of the turbo decoder 300 in a predetermined unit. As an example, the interleaver 330 may distribute the data stream of the turbo decoder 300 to correspond to each of the columns and rows of the block. The deinterleaver 340 arranges input bits or input data rearranged by the interleaver 330 in their original positions. The interleaver 330 and the deinterleaver 340 arrange such that errors that may occur in transmission and reception of input data are scattered rather than concentrated.

일실시예로서 검출부(350), 판단부(360) 및 변환부(370)의 동작은 위의 도 1에서 설명한 바와 같다.
In one embodiment, the operations of the detector 350, the determiner 360, and the converter 370 are the same as those described above with reference to FIG.

도 4는 일실시예에 따른 터보 부호를 이용한 오류 정정 방법을 도시하는 블록도이다.4 is a block diagram illustrating an error correction method using a turbo code according to an embodiment.

터보 부호를 이용한 오류 정정 방법(400)은 터보 복호기의 입력 비트의 신호 대 잡음 비와 임계치의 크기를 비교하는 단계(410), CRC(순환 중복 검사: Cyclic Redundancy Checking) 오류 검출을 수행하는 단계(420), 비트열을 변환하는 단계(430) 및 CRC 오류 검출 및 오류 정정을 수행하는 단계(440)을 포함한다.The method 400 for error correction using turbo codes comprises comparing 410 the magnitude of the signal-to-noise ratio and the threshold of the input bit of the turbo decoder, performing CRC (Cyclic Redundancy Checking) error detection 420, transforming the bit stream 430, and performing CRC error detection and error correction 440.

단계(410)는 입력 비트의 신호 대 잡음 비와 기설정된 임계치의 크기를 비교한다. 일실시예로서 임계치는 출력 비트에 대해 오류 마루 현상이 발생되는 입력 비트의 신호 대 잡음 비로 설정할 수 있다. 입력 비트의 신호 대 잡음 비가 기설정된 임계치의 크기보다 큰 경우에, 터보 부호를 이용한 오류 정정 방법(400)은 비트열을 변환하는 단계(430)를 포함한다.Step 410 compares the signal-to-noise ratio of the input bit with a predetermined threshold magnitude. As an example, the threshold may be set to the signal-to-noise ratio of the input bit where an error floor effect occurs for the output bits. If the signal-to-noise ratio of the input bit is greater than the predetermined threshold size, the error correction method 400 using the turbo code includes a step 430 of transforming the bit stream.

단계(420)는 CRC 기반의 오류 검출을 수행하는 단계이다. 단계(420)는 전달된 입력 비트를 CRC 기반의 다항식으로 나누고 나머지가 0이 되는지 여부를 판단하여 입력 비트에 오류가 존재하는지 검출한다.Step 420 is a step of performing CRC-based error detection. Step 420 divides the transmitted input bit by a CRC-based polynomial and determines whether the remainder is 0 or not to see if there is an error in the input bit.

단계(430)는 오류가 검출된 입력 비트를 상기 입력 비트에 대응하는 기저장된 비트열 후보 중 어느 하나의 비트열로 변환하는 출력하는 단계이다. 일실시예로서 단계(430)는 상기 입력 비트와 해밍 거리가 기설정된 값 이하인 비트열을 상기 입력 비트에 대응하는 비트열 후보로서 저장하는 단계를 포함할 수 있다.Step 430 is a step of outputting an input bit for which an error is detected to a bit string of any one of the previously stored bit string candidates corresponding to the input bit. In one embodiment, step 430 may include storing the input bit and the bit stream having the Hamming distance less than or equal to a preset value as a bit stream candidate corresponding to the input bit.

다른 일실시예로서 단계(430)는 상기 기저장된 비트열 후보 중 상기 입력 비트와 갖는 해밍 거리가 작은 비트열부터 우선적으로 상기 어느 하나의 비트열로 변환하고 출력할 수 있다. 앞서 기재한 바와 같이, 두 개의 비트열 상호 간에 해밍 거리가 짧아 질수록 오류 발생 확률은 더욱 증가하게 된다. 따라서 해밍 거리가 작은 비트열을 우선적으로 치환하여 더 높은 오류 발생 확률이 존재하는 비트열에 대해서 오류 정정을 시도할 수 있다. 더하여, 단계(430)는 단계(420)와 함께 반복적으로 수행될 수 있다.In another embodiment, step 430 may convert the bit string having a small Hamming distance with the input bit among the pre-stored bit string candidates to one of the bit strings. As described above, as the hamming distance between the two bit streams is shortened, the error occurrence probability is further increased. Therefore, error correction can be attempted for a bit stream having a higher error occurrence probability by preferentially replacing a bit stream having a small Hamming distance. In addition, step 430 may be repeatedly performed with step 420.

예시적으로, 변환된 어느 하나의 비트열에 대해 또 다시 단계(420)가 수행될 수 있다. 단계(420)룰 통해 새롭게 변환된 비트열에 대해 CRC 오류 검출을 수행하고, 오류가 존재하는 경우에는 다시 단계(430)가 수행된다. 단계(430)는 상기 어느 하나의 비트열을 상기 입력 비트에 대응하는 상기 기저장된 비트열 후보 중 다른 하나의 비트열로 재변환 하게 된다. 일실시예에 따르면 단계(420) 및 단계(430)는 반복적으로 수행되고, 재변환된 상기 다른 하나의 비트열에 대해 더 이상 오류가 검출되지 않는 경우까지 실행될 수 있다.Illustratively, step 420 may be performed again for any one transformed bit stream. CRC error detection is performed on the newly transformed bitstream through the rule 420, and if there is an error, step 430 is performed again. The step 430 re-converts any one of the bit strings into another one of the previously stored bit string candidates corresponding to the input bit. According to one embodiment, steps 420 and 430 are repeatedly performed and may be performed until no further error is detected for the other bit stream that has been re-transformed.

단계(440)은 CRC 기반의 오류 검출을 수행하고 오류 정정을 수행한다. 일실시예로서 단계(440)은 ARQ(Automatic Repeat request)를 기초로 하여 입력 비트에 대해 오류 프레임을 재전송 요청 하여 오류 정정을 수행할 수 있다. 다른 일실시예로서 단계(440)은 전진 오류 수정(FEC: Forward Error Correction)을 통해 오류를 정정할 수 있다. 오류 정정 부호를 통해 오류를 찾아내고 원래 값으로 복원하도록 시도할 수 있다.
Step 440 performs CRC-based error detection and error correction. In one embodiment, step 440 may perform error correction by requesting retransmission of an error frame for an input bit based on an Automatic Repeat request (ARQ). In another embodiment, step 440 may correct the error through Forward Error Correction (FEC). Error correction codes can be used to detect errors and attempt to restore them to their original values.

도 5는 일실시예에 따른 비트열 치환기를 도시하는 블록도이다.5 is a block diagram illustrating a bit string substitution unit according to one embodiment.

비트열 치환기(500)는 계산부(510), 저장부(520) 및 치환부(530)를 포함한다. 비트열 치환기(500)는 상호 간에 해밍 거리가 임계치보다 작아 오류 발생 확률이 높다고 판단되는 비트열들을 반복적으로 치환하여 오류 정정을 수행하는 장치이다. 계산부(510)는 터보 부호에 기초하여 생성된 비트열 사이의 해밍 거리를 계산한다. 더하여, 계산부(510)는 상기 비트열의 신호 대 잡음 비에 대응하는 비트 에러율이 기설정된 변화율 이하로 변하는 경우에 신호 대 잡음 비를 계산한다. 계산부(510)는 상기 신호 대 잡음 비를 오류 마루 현상이 시작되는 신호 대 잡음 비로서 판단한다.The bit string substitution unit 500 includes a calculation unit 510, a storage unit 520, and a replacement unit 530. The bit string substitution unit 500 is an apparatus that performs error correction by repeatedly replacing bit strings determined to have a high error occurrence probability because the Hamming distance is smaller than the threshold value. The calculation unit 510 calculates the hamming distance between the bit strings generated based on the turbo code. In addition, the calculation unit 510 calculates the signal-to-noise ratio when the bit error rate corresponding to the signal-to-noise ratio of the bit string changes below a predetermined rate of change. The calculation unit 510 determines the signal-to-noise ratio as a signal-to-noise ratio at which the error floor phenomenon starts.

저장부(520)는 임계치 이하의 상기 해밍 거리를 갖는 비트열의 집합을 각각 비트열 후보로서 저장할 수 있다. 더하여, 저장부(520)는 계산부(510)가 계산한 오류 마루 현상이 시작되는 신호 대 잡음 비의 값을 저장할 수 있다. 일실시예로서 저장부(520)는 롬 테이블(ROM table)을 포함하고 상기 롬 테이블 내에 비트열 후보 또는 신호 대 잡음 비의 값을 저장할 수 있다.The storage unit 520 may store a set of bit strings having the hamming distance below the threshold as bit string candidates. In addition, the storage unit 520 may store the value of the signal-to-noise ratio at which the error flooring computed by the calculation unit 510 starts. As an example, the storage unit 520 may include a ROM table and may store values of bit string candidates or signal-to-noise ratios in the ROM table.

치환부(530)는 비트열을 상기 비트열에 대응하는 상기 비트열 후보의 다른 비트열 후보로 치환할 수 있다. 일실시예로서, 치환부(530)는 터보 복호기가 상기 비트열에 대해 오류를 검출한 경우에 상기 비트열에 대응하는 상기 비트열 후보의 상기 다른 비트열로 치환할 수 있다. 더하여, 치환부(530)는 상기 비트열의 신호 대 잡음 비가 오류 마루 현상이 발견되는 신호 대 잡음 비 이상인 경우에 상기 비트열에 대응하는 상기 비트열 후보의 상기 다른 비트열로 치환할 수 있다.The replacing unit 530 may replace the bit string with another bit string candidate of the bit string candidate corresponding to the bit string. In one embodiment, the replacing unit 530 may replace the other bit string of the bit string candidate corresponding to the bit string when the turbo decoder detects an error with respect to the bit string. In addition, the replacing unit 530 may replace the different bit string of the bit string candidate corresponding to the bit string when the signal-to-noise ratio of the bit string is equal to or greater than the signal-to-noise ratio at which the error floor phenomenon is found.

다른 일실시예로서, 치환부(530)는 상기 해밍 거리가 작은 순서에 따라 상기 비트열을 상기 비트열에 대응하는 상기 비트열 후보의 상기 다른 비트열로 치환한다. 일실시예로서, 치환부(530)는 상기 비트열에 대해 오류가 검출되지 않는 경우까지 상기 비트열 후보 내의 비트열로 치환할 수 있다.
In another embodiment, the replacing unit 530 replaces the bit string with the different bit string of the bit string candidate corresponding to the bit string in order of decreasing Hamming distance. In one embodiment, the replacing unit 530 may replace the bit string in the bit string candidate until no error is detected in the bit string.

따라서, 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Accordingly, although the embodiments have been described with reference to specific embodiments and drawings, various modifications and variations are possible in light of the above teachings. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (20)

터보 복호기(decoder)의 입력 비트열에 대해 순환 중복 검사(CRC: Cyclic Redundancy Checking)를 수행하고 오류를 검출하는 검출부; 및
상기 검출부가 상기 오류를 검출한 경우에, 상기 입력 비트열을 기저장된 후보 비트열 중 어느 하나의 비트열로 변경하여 출력하는 변환부
를 포함하고,
상기 변환부는 상기 기저장된 후보 비트열 중 상기 입력 비트열과 가장 작은 해밍 거리를 가지는 어느 하나의 비트열을 우선적으로 변경하고, 변경된 비트열에 대해 상기 순환 중복 검사를 수행하여 오류가 검출되지 않는 경우에 상기 변경을 중단하는 터보 복호기.
A detector for performing a cyclic redundancy check (CRC) on an input bit string of a turbo decoder and detecting an error; And
And a conversion unit for converting the input bit string into a bit string of a previously stored candidate bit string and outputting the bit string when the detection unit detects the error,
Lt; / RTI >
Wherein the conversion unit preferentially changes any one bit string having the smallest hamming distance from the input bit string among the previously stored candidate bit strings and performs the cyclic redundancy check on the changed bit string, Turbo decoder to stop changing.
제1항에 있어서,
상기 입력 비트열의 신호 대 잡음 비(SNR: Signal to Noise Ratio)와 임계값의 크기를 비교하는 판단부;
를 더 포함하고
상기 판단부는 상기 입력 비트열의 상기 신호 대 잡음 비가 상기 임계값보다 큰 경우에 상기 변환부를 턴 온 시키는
터보 복호기.
The method according to claim 1,
A determination unit for comparing a magnitude of a signal to noise ratio (SNR) of the input bit stream with a threshold value;
Lt; / RTI >
Wherein the determination unit turns on the conversion unit when the signal-to-noise ratio of the input bit stream is larger than the threshold value
Turbo decoder.
제2항에 있어서,
상기 판단부는 상기 터보 복호기의 출력 비트에서 오류 마루(error floor) 현상이 검출되는 상기 신호 대 잡음 비를 상기 임계값으로 설정하는
터보 복호기.
3. The method of claim 2,
Wherein the determination unit sets the signal-to-noise ratio at which an error floor phenomenon is detected in the output bits of the turbo decoder to the threshold value
Turbo decoder.
제1항에 있어서,
상기 변환부는 터보 부호에 의해 생성된 비트열 사이의 해밍 거리(hamming distance)가 기설정된 값 이하인 상기 비트열을 상기 후보 비트열로서 저장하는
터보 복호기.
The method according to claim 1,
Wherein the converting unit stores the bit string having the Hamming distance between the bit strings generated by the turbo code less than a preset value as the candidate bit string
Turbo decoder.
제1항에 있어서,
상기 검출부는 변환된 상기 어느 하나의 비트열에 대해서 상기 순환 중복 검사를 수행하여 오류를 검출하고,
상기 변환부는 상기 검출부가 상기 오류를 검출한 경우에, 상기 입력 비트열을 상기 기저장된 후보 중 다른 하나 비트열로 다시 변경하여 출력하는
터보 복호기.
The method according to claim 1,
Wherein the detecting unit detects the error by performing the cyclic redundancy check on any one of the converted bit strings,
Wherein the converting unit changes the input bit string to another bit string of the previously stored candidate and outputs it when the detecting unit detects the error
Turbo decoder.
삭제delete 입력 비트열에 대해 순환 중복 검사를 수행하고 오류의 존재 여부를 검출하는 단계; 및
상기 입력 비트열에 상기 오류가 존재하는 경우, 상기 입력 비트열을 상기 입력 비트열에 대응하는 기저장된 비트열 후보 중 어느 하나의 비트열로 변환하고 출력하는 단계
를 포함하고,
상기 어느 하나의 비트열로 변환하고 출력하는 단계는,
상기 기저장된 비트열 후보 중 상기 입력 비트열과 갖는 해밍 거리가 작은 비트열부터 우선적으로 상기 어느 하나의 비트열로 변환하여 출력하고, 변환된 비트열에 대해 상기 순환 중복 검사를 수행하여 오류가 검출되지 않는 경우에 중단되는 터보 부호를 이용한 오류 정정 방법.
Performing a cyclic redundancy check on an input bit string and detecting the presence or absence of an error; And
Converting the input bit stream into any one of the bit stream candidates stored in advance corresponding to the input bit stream and outputting the input bit stream if the error exists in the input bit stream
Lt; / RTI >
The step of converting and outputting any one of the bit strings may include:
A bit string having a small hamming distance with the input bit string among the pre-stored bit string candidates is preferentially converted into any one of the bit strings, and the cyclic redundancy check is performed on the converted bit string to detect no error Error Correction Method Using Turbo Codes Interrupted in Case.
제7항에 있어서,
변환된 상기 어느 하나의 비트열에 대해 상기 순환 중복 검사를 수행하고 오류의 존재 여부를 검출하고 상기 오류가 존재하는 경우에 상기 입력 비트열에 대응하는 상기 기저장된 비트열 후보 중 다른 하나의 비트열로 재변환 하는 단계
를 더 포함하는 터보 부호를 이용한 오류 정정 방법.
8. The method of claim 7,
And performing a cyclic redundancy check on any one of the converted bit strings and detecting the presence or absence of an error, and when there is an error, extracting a bit string of another one of the previously stored bit string candidates corresponding to the input bit string Conversion step
The error correction method using the turbo code.
제8항에 있어서,
상기 재변환 하는 단계는 반복적으로 수행되고 재변환된 상기 다른 하나의 비트열에 대해 상기 순환 중복 검사를 수행하여 오류가 검출되지 않는 경우에 중단되는 터보 부호를 이용한 오류 정정 방법.
9. The method of claim 8,
And the re-conversion step is repeatedly performed, and is interrupted when the error is not detected by performing the cyclic redundancy check on the other bit string re-transformed.
제7항에 있어서,
상기 입력 비트열과 해밍 거리가 기설정된 값 이하인 비트열을 상기 입력 비트열에 대응하는 기저장된 비트열 후보로서 저장하는 단계
를 더 포함하는 터보 부호를 이용한 오류 정정 방법.
8. The method of claim 7,
Storing the input bit stream and the bit stream whose hamming distance is less than or equal to a preset value as a pre-stored bit stream candidate corresponding to the input bit stream
The error correction method using the turbo code.
삭제delete 제7항에 있어서,
상기 입력 비트열의 신호 대 잡음 비와 기설정된 임계치를 비교하는 단계
를 더 포함하고,
상기 어느 하나의 비트열로 변환하고 출력하는 단계는 상기 기설정된 임계치를 비교하는 단계 내에서 상기 입력 비트열의 상기 신호 대 잡음 비가 상기 기설정된 임계치보다 큰 경우에 수행되는
터보 부호를 이용한 오류 정정 방법.
8. The method of claim 7,
Comparing the signal-to-noise ratio of the input bit stream with a predetermined threshold value
Further comprising:
The converting and outputting to any one of the bit strings is performed when the signal-to-noise ratio of the input bit string is larger than the predetermined threshold value in the step of comparing the predetermined threshold values
An Error Correction Method Using Turbo Codes.
제12항에 있어서,
상기 임계치는 터보 복호기의 출력 비트에 대해 오류 마루 현상이 발생하도록 하는 신호 대 잡음 비인
터보 부호를 이용한 오류 정정 방법.
13. The method of claim 12,
The threshold value is a signal-to-noise ratio that causes an error floor phenomenon to occur with respect to an output bit of the turbo decoder
An Error Correction Method Using Turbo Codes.
터보 부호에 기초하여 생성된 비트열 사이의 해밍 거리를 계산하는 계산부;
임계치 이하의 상기 해밍 거리를 갖는 상기 비트열의 집합을 각각 비트열 후보로서 저장하는 저장부; 및
상기 비트열을 상기 비트열에 대응하는 상기 비트열 후보의 다른 비트열로 치환하는 치환부
를 포함하고,
상기 치환부는 상기 해밍 거리가 작은 순서에 따라 상기 비트열을 상기 비트열에 대응하는 상기 비트열 후보의 상기 다른 비트열로 치환하고, 비트열에 대해 오류가 검출되지 않는 경우까지 상기 비트열 후보 내의 또 다른 비트열로 치환하는 터보 복호기를 위한 비트열 치환기.
A calculation unit for calculating a hamming distance between bit strings generated based on the turbo code;
A storage unit for storing a set of the bit strings having the hamming distances equal to or less than a threshold value as bit string candidates, respectively; And
And replacing the bit string with another bit string of the bit string candidate corresponding to the bit string,
Lt; / RTI >
Wherein the replacing unit replaces the bit string with the different bit string of the bit string candidate corresponding to the bit string in the ascending order of the Hamming distance, Bit string substitution for turbo decoder.
제14항에 있어서,
상기 치환부는 상기 터보 복호기가 상기 비트열에 대해 오류를 검출한 경우에, 상기 비트열에 대응하는 상기 비트열 후보의 상기 다른 비트열로 치환하는
터보 복호기를 위한 비트열 치환기.
15. The method of claim 14,
When the turbo decoder detects an error with respect to the bit stream, the replacing unit replaces the bit stream with the different bit stream of the bit stream candidate corresponding to the bit stream
Bit - column substitution for turbo decoder.
제15항에 있어서,
상기 치환부는 상기 비트열의 신호 대 잡음 비가 오류 마루 현상이 발견되는 신호 대 잡음 비 이상인 경우에, 상기 비트열에 대응하는 상기 비트열 후보의 상기 다른 비트열로 치환하는
터보 복호기를 위한 비트열 치환기.
16. The method of claim 15,
Wherein the replacing unit replaces the bit string with the different bit string of the bit string candidate corresponding to the bit string when the signal-to-noise ratio of the bit string is equal to or larger than a signal-to-
Bit - column substitution for turbo decoder.
제14항에 있어서,
상기 계산부는 상기 비트열의 신호 대 잡음 비에 대응하는 비트 에러율이 기설정된 변화율 이하로 변하는 경우에 상기 신호 대 잡음 비를 오류 마루 현상으로 계산하는
터보 복호기를 위한 비트열 치환기.
15. The method of claim 14,
Wherein the calculation unit calculates the signal-to-noise ratio as an error floor phenomenon when the bit error rate corresponding to the signal-to-noise ratio of the bit string changes below a predetermined rate of change
Bit - column substitution for turbo decoder.
삭제delete 삭제delete 제14항에 있어서,
상기 저장부는 롬 테이블(ROM table)을 포함하고 상기 롬 테이블 내에 상기 비트열 후보를 저장하는
터보 복호기를 위한 비트열 치환기.
15. The method of claim 14,
Wherein the storage unit includes a ROM table and stores the bit string candidate in the ROM table
Bit - column substitution for turbo decoder.
KR1020150016586A 2015-02-03 2015-02-03 Apparatus and method for removing error of the turbo decoder KR101728218B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150016586A KR101728218B1 (en) 2015-02-03 2015-02-03 Apparatus and method for removing error of the turbo decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150016586A KR101728218B1 (en) 2015-02-03 2015-02-03 Apparatus and method for removing error of the turbo decoder

Publications (2)

Publication Number Publication Date
KR20160095384A KR20160095384A (en) 2016-08-11
KR101728218B1 true KR101728218B1 (en) 2017-05-02

Family

ID=56714078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150016586A KR101728218B1 (en) 2015-02-03 2015-02-03 Apparatus and method for removing error of the turbo decoder

Country Status (1)

Country Link
KR (1) KR101728218B1 (en)

Also Published As

Publication number Publication date
KR20160095384A (en) 2016-08-11

Similar Documents

Publication Publication Date Title
US11463111B2 (en) Encoding/decoding method, device, and system
JP3556943B2 (en) Apparatus and method for stopping iterative decoding in code division multiple access mobile communication system
CN111628785B (en) Method for generating soft information by decoder in hard selection hard decoding mode
KR100321978B1 (en) Apparatus and method for eterative decoding in telecommunication system
US8726137B2 (en) Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes
JP6451955B2 (en) System and method for multi-stage soft input decoding
TW201815077A (en) Apparatus and method for parallelized successive cancellation decoding and successive cancellation list decoding of polar codes, manufacturing method and constructing method
US9081677B2 (en) Method and device for estimating input bit error ratio
JP4777876B2 (en) Early termination of turbo decoder iterations
JP5374156B2 (en) Apparatus and method for decoding and encoding data
WO2018179246A1 (en) Check bit concatenated polar codes
WO2014139123A1 (en) Method and apparatus of ldpc decoder with lower error floor
US10396826B2 (en) Software defined network with selectable low latency or high throughput mode
KR101609884B1 (en) Apparatus and method for diciding a reliability of decoded data in a communication system
US9231620B2 (en) Iterative decoding device and related decoding method for irregular low-density parity-check code capable of improving error correction performance
KR101728218B1 (en) Apparatus and method for removing error of the turbo decoder
KR101630114B1 (en) LDPC Decoding Device and Method Using Min-Sum Algorithm
KR102197751B1 (en) Syndrome-based hybrid decoding apparatus for low-complexity error correction of block turbo codes and method thereof
JP2011082759A (en) Method for decoding erroneous correction code and device for the same
CN109417432A (en) Data encoding and decoding
JP2002353821A (en) Error correction decoding method and decoder
JP6552776B1 (en) Error correction decoding apparatus and error correction decoding method
JP2008141668A (en) Optical receiving device
KR20060025350A (en) Method and equipment for interactive decoding stop criterion of decoder
CN113839680B (en) Decoding circuit and decoding method based on Viterbi algorithm

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