KR101331053B1 - Apparatus and Method for Encoding using Turbo Code, and Unit and Method of Permutation - Google Patents
Apparatus and Method for Encoding using Turbo Code, and Unit and Method of Permutation Download PDFInfo
- Publication number
- KR101331053B1 KR101331053B1 KR1020100043177A KR20100043177A KR101331053B1 KR 101331053 B1 KR101331053 B1 KR 101331053B1 KR 1020100043177 A KR1020100043177 A KR 1020100043177A KR 20100043177 A KR20100043177 A KR 20100043177A KR 101331053 B1 KR101331053 B1 KR 101331053B1
- Authority
- KR
- South Korea
- Prior art keywords
- bits
- bit
- permutation
- order
- surplus
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2939—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using convolutional codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2942—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes wherein a block of parity bits is computed only from combined information bits or only from parity bits, e.g. a second block of parity bits is computed from a first block of parity bits obtained by systematic encoding of a block of information bits, or a block of parity bits is obtained by an XOR combination of sub-blocks of information bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
- H03M13/6368—Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
- H03M13/6381—Rate compatible punctured turbo [RCPT] codes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 터보부호를 이용하는 부호화 장치와 방법 및 순열치환기와 순열치환기법에 대하여 개시한다. 본 발명의 일면에 따른 터보부호를 이용하는 부호화 장치는, 각각 N개의 비트로 구성된 제1 내지 제3 블록으로부터 각각 입력받은 3비트를 순환 조직형 길쌈 부호(Recursive Systematic Convolutional Codes)화하여 제1 잉여비트(parity bit)를 출력하는 제1 부호기; 상기 3비트를 순열치환(Permutation)하는 순열치환기; 순열치환된 상기 3비트를 순환 조직형 길쌈 부호화하여 제2 잉여비트를 출력하는 제2 부호기; 및 기설정된 터보부호의 부호율을 고려하여 상기 제1 잉여비트와 제2 잉여비트를 선택적으로 제거하여 상기 부호율을 조절하는 펑처링기를 포함하는 것을 특징으로 한다.The present invention discloses a coding apparatus and method using a turbo code, and a permutation substituent and permutation substitution technique. According to an embodiment of the present invention, an encoding apparatus using a turbo code may include recursive systematic convolutional codes (3 bits) input from first to third blocks each consisting of N bits to form a first surplus bit. a first encoder for outputting parity bits); A permutation substituent for permutating the three bits; A second encoder for outputting a second surplus bit by performing circular convolutional convolutional encoding on the three bits that have been sequentially substituted; And a puncturer for adjusting the code rate by selectively removing the first and second excess bits in consideration of a code rate of a preset turbo code.
Description
본 발명은 터보부호를 이용하는 부호화 장치 및 방법에 관한 것으로서, 구체적으로는 오류정정의 성능을 향상시킬 수 있는 터보부호를 이용하는 부호화 장치와 방법 및 순열치환기와 순열치환기법에 관한 것이다.BACKGROUND OF THE
본 발명은 방송통신위원회의 고효율 위성 리턴링크 접속 핵심기술 개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2009-F-039-01, 과제명: 고효율 위성 리턴링크 접속 핵심기술 개발].The present invention is derived from the research carried out as part of the high-performance satellite return link connection core technology development project of the Korea Communications Commission [Task Management No .: 2009-F-039-01, Title: Development of core technology for high efficiency satellite return link connection ].
일반적으로, 디지털 데이터는 유무선 링크/채널 노이즈나, 다른 데이터 송신으로 인해 송신중 에러가 발생할 수 있다. 때문에, 각 통신 시스템들은 송신중 발생한 에러를 정정하기 위해 에러정정기술을 채용하고 있다.In general, digital data may cause errors during transmission due to wired / wireless link / channel noise or other data transmission. Therefore, each communication system employs an error correction technique to correct an error occurring during transmission.
대표적인 에러정정기술 중 하나인 터보부호(Turbo Code)는 순방향에러정정(FEC; Forward Error Correction) 기술로서, 터보부호를 이용해 입력블록을 인코딩하여 전송함으로써, 송신중에 발생한 에러발생률을 낮춤은 물론, 에러정정도 가능하도록 한다.Turbo Code, one of the typical error correction techniques, is a Forward Error Correction (FEC) technique that encodes and transmits an input block using turbo codes, thereby lowering the error occurrence rate during transmission. Make corrections possible too.
이러한 터보부호는 최소해밍거리(Minimum Hamming Distance: MHD)가 클수록 좋은 성능을 보이는데, 이는 인터리빙 즉, 순열치환(Permutation)에 의해 크게 영향을 받는다. 이하, 각 터보보호의 순열치환의 방식에 대하여 잠시 살펴보겠다.The turbo code shows better performance as the minimum Hamming Distance (MHD) is larger, which is greatly affected by interleaving, or permutation. Hereinafter, the method of permutation replacement of each turbo protection will be briefly described.
먼저, 균일(Uniform) 또는 정규(Regular) 인터리빙 방식은 직각형(Rectangular) 행렬방식을 이용하므로, 에러패턴 가중치(Weight)가 2나 3일 때도 인터리빙이 잘 수행되긴 하나, 복호기의 디코딩 가중치를 변화시키지 못하므로, 인터리빙에 의해 에러정정의 성능이 향상되지 않으며, 사각형 또는 직각형의 에러패턴에 크게 영향을 받는 문제점이 있다.First, since uniform or regular interleaving uses a rectangular matrix method, interleaving is performed well even when the error pattern weight is 2 or 3, but the decoding weight of the decoder is changed. Since this does not improve the performance of error correction by interleaving, there is a problem that is greatly affected by the error pattern of a square or a rectangular shape.
그리고, 비균일(Non-uniformity) 인터리빙 방식은 에러패턴 가중치가 2나 3일 때에도 에러패턴이 잘 흩어져, 각 부호의 코드워드를 잘 분산시키고, 디코딩 가중치 또한 증가시킬 수 있으며, 치환 이득(Gain)과 성능을 지수함수적으로 향상시킬 수 있는 장점이 있다.In addition, in the non-uniformity interleaving method, even when the error pattern weight is 2 or 3, the error pattern is well scattered, so that the codewords of each code can be dispersed well, the decoding weight can be increased, and the gain of substitution And it has the advantage of exponentially improving performance.
때문에, 터보부호에는 비균일 인터리빙 방식이 많이 적용되고 있다. 그 중, RCS 규격의 이중-이진 터보부호(Duo-binary Turbo Code)는 샤논의 한계에 매우 근접한 강력한 순방향 에러 정정 기술로 평가받고 있는데, 낮은 부호율에서 오류 마루(Error Floor) 현상이 발생하는 문제점이 지적되고 있어, 그에 대한 개선이 필요하다.Therefore, many non-uniform interleaving schemes are applied to turbo codes. Among them, the double-binary turbo code of the RCS standard is evaluated as a powerful forward error correction technique very close to the limit of Shannon, but the error floor phenomenon occurs at a low code rate. This has been pointed out and there is a need for improvement.
전술한 문제점을 해결하기 위하여, 본 발명의 목적은 병렬 3비트로 입력되는 입력데이터의 해밍거리를 증가시켜 터보보호의 에러정정능력을 향상시킬 수 있는 터보부호를 이용하는 부호화 장치와 방법 및 순열치환기와 순열치환기법을 제공함에 있다.SUMMARY OF THE INVENTION In order to solve the above problems, an object of the present invention is to provide an encoding apparatus and method using a turbo code that can improve error correction capability of turbo protection by increasing the hamming distance of input data input in parallel 3 bits, and permutation substituents and permutations. In providing a substituent technique.
본 발명의 또 다른 목적은 병렬 3비트로 입력되는 입력데이터의 해밍거리를 증가시킬 수 있는 순열치환기법을 제공할 수 있는 터보부호를 이용하는 부호화 장치와 방법 및 순열치환기와 순열치환기법을 제공함에 있다.It is still another object of the present invention to provide an encoding apparatus and method using a turbo code and a permutation substituent and permutation substitution technique that can provide a permutation substitution technique that can increase a hamming distance of input data input in parallel three bits.
본 발명의 일면에 따른 터보부호를 이용하는 부호화 장치는, 각각 N개의 비트로 구성된 제1 내지 제3 블록으로부터 각각 입력받은 3비트를 순환 조직형 길쌈 부호(Recursive Systematic Convolutional Codes)화하여 제1 잉여비트(parity bit)를 출력하는 제1 부호기; 상기 3비트를 순열치환(Permutation)하는 순열치환기; 순열치환된 상기 3비트를 순환 조직형 길쌈 부호화하여 제2 잉여비트를 출력하는 제2 부호기; 및 기설정된 터보부호의 부호율을 고려하여 상기 제1 잉여비트와 제2 잉여비트를 선택적으로 제거하여 상기 부호율을 조절하는 펑처링기를 포함하는 것을 특징으로 한다.According to an embodiment of the present invention, an encoding apparatus using a turbo code may include recursive systematic convolutional codes (3 bits) input from first to third blocks each consisting of N bits to form a first surplus bit. a first encoder for outputting parity bits); A permutation substituent for permutating the three bits; A second encoder for outputting a second surplus bit by performing circular convolutional convolutional encoding on the three bits that have been sequentially substituted; And a puncturer for adjusting the code rate by selectively removing the first and second excess bits in consideration of a code rate of a preset turbo code.
본 발명의 다른 면에 따른 순열치환기는, 각각 N개의 비트로 구성된 3개 블록으로부터 입력받은 3비트의 순번이 2의 배수일 때, 상기 3개 블록 중에서 적어도 2개 블록의 비트를 상호 교환하는 제1 치환부; 상호 교환된 상기 3비트의 순번을 4로 나눈 나머지값을 확인하고, 상기 나머지값에 따라 각기 다른 방식으로 상기 각 블록 내에서 상기 3비트의 순번을 변화시키는 제2 치환부; 및 변화된 상기 순번대로 상기 3개 블록의 비트들의 순서를 치환하여 나열하는 나열부를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, a permutation convertor may include: a first exchange of bits of at least two blocks among the three blocks when a sequence of three bits received from three blocks each consisting of N bits is a multiple of two; Substituents; A second substituting unit for checking a residual value obtained by dividing the sequence numbers of the three bits interchanged by 4 and changing the sequence numbers of the three bits in the respective blocks in different ways according to the remaining values; And an ordering unit for replacing and arranging the order of the bits of the three blocks in the changed order.
본 발명의 또 다른 면에 따른 터보부호를 이용하는 부호화 방법은, 각각 N개의 비트로 구성된 제1 내지 제3 블록으로부터 각각 입력받은 3비트를 순환 조직형 길쌈 부호(Recursive Systematic Convolutional Codes)화하여 제1 잉여비트(parity bit)를 출력하는 단계; 상기 3비트를 기설정된 방식으로 순열치환(Permutation)하는 단계; 순열치환된 상기 3비트를 순환 조직형 길쌈 부호화하여 제2 잉여비트를 출력하는 단계; 및 상기 3비트, 상기 제1 잉여비트 및 상기 제2 잉여비트의 조합에 따른 모부호율이 기설정된 부호율과 다르면, 상기 제1 잉여비트와 제2 잉여비트를 선택적으로 제거하여 상기 부호율을 조절하는 단계를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, an encoding method using a turbo code includes a first surplus by converting three bits respectively received from first to third blocks each consisting of N bits into recursive systematic convolutional codes. Outputting a parity bit; Permutating the 3 bits in a predetermined manner; Outputting a second surplus bit by performing circular convolutional convolutional encoding on the 3 bits which have been sequentially substituted; And when the mother code rate according to the combination of the 3 bits, the first surplus bit, and the second surplus bit is different from a predetermined code rate, selectively remove the first and second surplus bits to reduce the code rate. It characterized in that it comprises a step of adjusting.
본 발명의 또 다른 면에 따른 순열치환기법은, 각각 N 개의 비트로 구성되는 제1 블록, 제2 블록 및 제3 블록의 각 비트를 병렬로 입력받으면, 상기 각 비트의 순번 k(0≤k≤N인 상수)을 확인하는 단계; 상기 각 비트의 순번이 2의 배수일 때, 상기 3개 블록 중에서 적어도 2개 블록의 비트를 상호 교환하는 단계; 상기 각 비트의 순번을 4로 나눈 나머지값을 확인하고, 상기 나머지값에 따라 각기 다른 방식으로 상기 각 블록 내에서 상호 교환된 상기 3비트의 순번을 변화시키는 단계; 및 변화된 상기 순번대로 상기 3개 블록의 비트들의 순서를 치환하여 나열하는 단계를 포함하는 것을 특징으로 한다.According to another aspect of the present invention, a permutation method may include sequentially receiving each bit of the first block, the second block, and the third block, each of which is composed of N bits, and the order k of each bit (0 ≦ k ≦). A constant of N); Exchanging bits of at least two blocks of the three blocks when the order of each bit is a multiple of two; Identifying a remainder value obtained by dividing the sequence number of each bit by four, and changing the sequence number of the three bits interchanged in each block in different ways according to the remainder value; And arranging by replacing the order of the bits of the three blocks in the changed order.
본 발명에 따르면, 병렬 3비트로 입력되는 입력데이터에 펑처링 기법과 순열치환기법을 적용함으로써, 종래의 2입력 터보부호에 비해 50%이상 최소해밍거리를 증가시킬 수 있는 효과가 있다. 따라서, 본 발명은 종래의 터보부호보다 송수신 데이터의 에러정정성능을 크게 향상시킬 수 있다.According to the present invention, by applying a puncturing technique and a permutation substitution technique to the input data input in parallel 3 bits, there is an effect that can increase the minimum hamming distance by more than 50% compared to the conventional two-input turbo code. Therefore, the present invention can greatly improve the error correction performance of the transmission and reception data compared to the conventional turbo code.
도 1은 본 발명에 따른 터보부호를 이용하는 부호화 장치를 도시한 구성도.
도 2는 본 발명에 따른 순열치환기를 도시한 구성도.
도 3은 본 발명에 따른 순열치환에 따른 BER 성능을 도시한 시뮬레이션 그래프.
도 4는 본 발명에 따른 펑처링에 따른 BER 성능을 도시한 시뮬레이션 그래프.
도 5는 본 발명에 따른 터보부호화 방법을 도시한 흐름도.1 is a block diagram showing an encoding device using a turbo code according to the present invention.
Figure 2 is a block diagram showing a permutation substituent in accordance with the present invention.
Figure 3 is a simulation graph showing the BER performance according to permutation substitution according to the present invention.
4 is a simulation graph showing the BER performance according to the puncturing according to the present invention.
5 is a flowchart illustrating a turbo encoding method according to the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. As used herein, the terms " comprises, " and / or "comprising" refer to the presence or absence of one or more other components, steps, operations, and / Or additions.
이하, 도 1을 참조하여 본 발명의 실시예에 따른 터보부호를 이용하는 부호화 장치에 대하여 설명한다. 도 1은 본 발명의 실시예에 따른 터보부호를 이용하는 부호화 장치를 도시한 구성도이다.Hereinafter, an encoding apparatus using a turbo code according to an embodiment of the present invention will be described with reference to FIG. 1. 1 is a block diagram showing an encoding device using a turbo code according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 터보부호를 이용하는 부호화 장치(10)는 제1 부호기(101), 순열치환기(200), 제2 부호기(102), 펑처링기(300) 및 부호어생성기(400)를 포함한다.As shown in FIG. 1, the
제1 부호기(101)는 제1 블록, 제2 블록 및 제3 블록으로부터 각각 입력받은 3비트의 입력데이터(A 비트, B 비트 및 C 비트)를 8상태(8-State) 또는 16상태(16-State) 순환 조직형 길쌈 부호(Recursive Systematic Convolutional Codes)화하여 제1 잉여비트(Parity Bit)를 출력한다. The
이때, 제1 블록, 제2 블록 및 제3 블록은 전체 3N개의 정보비트에서 N개의 정보비트를 각각 포함한다. 즉, 부호화될 정보비트가 3N개인 경우, 제1 블록은 1번째에서 N번째 정보비트를 포함하고, 제2 블록은 N+1번째에서 2N번째 정보비트를 포함하고, 제3 블록이 2N+1번째 내지 3N번째 정보비트를 포함할 수 있다.In this case, the first block, the second block, and the third block include N information bits in total of 3N information bits. That is, when the information bits to be encoded are 3N, the first block includes the first through Nth information bits, the second block includes the N + 1 through 2Nth information bits, and the third block contains 2N + 1. It may include the first to 3N th information bits.
순열치환기(200)는 입력데이터(A 비트, B 비트 및 C 비트)를 각 블록 간과 각 블록 내에서 각각의 방식으로 인터리빙 즉, 순열치환(Permutation)한다. 순열치환기(200)의 세부 구성에 대해서는 도 2를 참조하여 후술한다.The permutation converter 200 interleaves, i.e., permutates, the input data (A bits, B bits, and C bits) in each manner between and within each block. The detailed configuration of the
제2 부호기(102)는 순열치환된 입력데이터(A 비트, B 비트 및 C 비트)를 8상태(8-State) 또는 16상태(16-State) 순환 조직형 길쌈 부호화하여 제2 잉여비트를 출력한다.The
펑처링기(300)는 제1 잉여비트와 제2 잉여비트를 선택적으로 제거하여 제1 블록, 제2 블록 및 제3 블록의 부호율(Coding rate)을 조절한다.The
예컨대, 펑처링기(300)는 각 비트의 순번이 홀수인 경우와 짝수인 경우에 각각 제1 잉여비트와 제2 잉여비트를 선택적으로 제거하여 부호율을 조절할 수 있다. 이후, 도 3을 참조하여 펑처링기(300)에 대해서 좀 더 세부적으로 설명한다.For example, the
한편, 부호어생성기(400)는 3비트와, 펑처링기(300)로부터 제1 잉여비트와 제2 잉여비트를 선택적으로 전달받아 부호화된 부호어를 생성한다.Meanwhile, the
한편, 본 발명의 실시예에 따른 터보부호를 이용하는 부호화 장치(10)는 연산부(600) 및 결정부(500)를 더 포함하고, 연산부(600)와 결정부(500)를 이용하여 순열치환기(200)의 순열치환에 사용되는 변수들을 결정할 수 있다.Meanwhile, the
연산부(500)는 기설정된 부호율과 순회상태(state)에 따른 순열치환 파라미터의 후보들을 이용하여 최소해밍거리를 연산하며, 결정부(600)는 연산된 최소해밍거리가 가장 큰 상기 순열치환 파라미터의 후보를 순열치환기(200)의 순열치환 파라미터로 결정한다.The
이하, 도 2를 참조하여 본 발명의 실시예에 따른 순열치환기에 대하여 설명한다. 도 2는 본 발명의 실시예에 따른 순열치환기를 도시한 구성도이다.Hereinafter, a permutation substituent according to an embodiment of the present invention will be described with reference to FIG. 2. 2 is a block diagram showing a permutation substituent according to an embodiment of the present invention.
도 2에 도시된 바와 같이, 본 발명의 실시예에 따른 순열치환기(200)는 제1 치환부(210), 제2 치환부(220) 및 나열부(230)를 포함한다.As shown in FIG. 2, the
제1 치환부(210)는 입력데이터(A 비트, B 비트 및 C 비트)의 순번이 2의 배수일 때, 제1 내지 제3 블록 중에서 2개 이상의 블록의 비트(즉, A 비트, B 비트 및 C 비트 중 2개 이상의 비트)를 상호 교환한다.When the order of the input data (A bits, B bits, and C bits) is a multiple of 2, the
예컨대, 제1 치환부(210)는 첫 번째 블록인 제1 블록과 마지막 번째 블록인 제3 블록의 비트를 상호 교환할 수 있다.For example, the
제2 치환부(220)는 제1 치환부(210)에 의하여 치환된 A 비트, B 비트 및 C 비트의 순번을 4로 나눈 나머지값에 따라 각기 다른 방식으로 제1 내지 제3 블록 내에서 A 비트, B 비트 및 C 비트의 순번을 변화시킨다.The
제2 치환부(220)는 하기의 수학식 1에 따라 A, B, C 비트의 순번을 변화시킬 수 있다. 여기서, j는 A 비트, B 비트 및 C 비트의 변화된 순번이며, k는 A 비트, B 비트 및 C 비트의 원래 순번이며, P는 하기의 표 1에 표시된 순열치환 파라미터(Permutation Parameter)이고, Q는 나머지값이 각각 0, 1, 2, 3일 때 하기의 수학식 2에 하기의 표 1에 표시된 순열치환 파라미터를 각각 대입하여 연산된 결과값이다.The
여기서, 순열치환 파라미터들은 기설정된 부호율과 순열치환의 순회상태(State)에 따라 다양하게 설정될 수 있는데, 제2 치환부(220)는 하기의 표 1에 도시된 바와 같이, 다양하게 설정된 순열치환 파라미터 중에서 최소해밍거리(MHD; Minimum Hamming Distance)가 상대적으로 큰 순열치환 파라미터를 사용한다.Here, the permutation substitution parameters may be variously set according to a predetermined code rate and a state of permutation substitution, and the
나열부(230)는 제2 치환부(220)에 의하여 변화된 순번대로 나열된 A' 비트, B' 비트 및 C' 비트를 출력한다.The
한편, 순열치환기(200)는 외부로부터 순열치환 파라미터를 제공받을 수 있으며 또는, 기설정된 부호율과 순회상태(state)에 따른 순열치환 파라미터의 후보들을 이용하여 각각 최소해밍거리를 연산하는 연산부(240)와, 연산된 최소해밍거리가 가장 큰 상기 순열치환 파라미터의 후보를 제2 치환부(220)의 순열치환 파라미터로 결정하는 결정부(250)를 더 포함할 수 있다.On the other hand, the
이하, 도 3을 참조하여 본 발명의 실시예에 따른 제1 치환부(210)의 순열치환 패턴에 대하여 살펴본다. 도 3은 본 발명의 실시예에 따른 제1 치환부가 하기의 표 2와 같은 순열치환 패턴들(패턴 1 ~ 패턴 5)을 이용할 때의 BER 성능을 도시한 시뮬레이션 그래프이다.Hereinafter, the permutation substitution pattern of the
도 3의 그래프를 통해서, 제1 치환부(210)가 상기의 표 2과 같은 순열치환 패턴들 중에서, A 비트와 C 비트를 상호 교환하는 패턴 1을 이용하였을 때 성능이 우수함을 알 수 있다. 따라서, 본 명세서에서는 제1 치환부(210)가 패턴 1을 이용하는 경우를 예로 들었다.From the graph of FIG. 3, it can be seen that the
이하, 도 4를 참조하여 본 발명의 실시예에 따른 펑처링기(300)의 펑처링 패턴에 대하여 살펴본다. 도 4는 본 발명의 실시예에 따른 펑처링기(300)가 하기의 표 3과 같은 펑처링 패턴들(경우 1, 경우 2 및 경우 3)을 이용할 때 BER 성능을 도시한 시뮬레이션 그래프이다.Hereinafter, a puncturing pattern of the puncturing
도 4에서는 제1 내지 제3 블록이 총 4개(즉, N = 4)의 비트로 구성되고, 각 블록의 비트의 값이 모두 '1'인 경우를 예로 들었다. 또는, RCS 규격의 이중-이진 터보부호를 사용하며, 모부호율인 3/5인 16상태 터보부호에서 3/4 부호율로 펑처링하는 경우를 예로 들어 설명한다.In FIG. 4, the first to third blocks are composed of a total of four bits (ie, N = 4), and the bit values of each block are all '1'. Or, a case of using a double-binary turbo code of the RCS standard and puncturing at a 3/4 code rate in a 16-state turbo code having a parent code rate of 3/5 will be described as an example.
도 4의 그래프에서, 경우 1의 펑처링 패턴과 경우 3의 펑처링 패턴을 적용하였을 때보다, 경우 2의 펑처링 패턴을 적용하였을 때에 BER 성능이 가장 우수함을 해석할 수 있다. 따라서, 본 명세서에서는 펑처링기(300)가 경우 2의 펑처링 패턴을 적용한 경우를 예로 들어 설명하였다.In the graph of FIG. 4, it can be understood that BER performance is best when the puncturing pattern of
물론, 본 발명의 순열치환을 수행함에 따라, 펑처링을 수행하지 않은 경우 0(모부호율 3/5인 경우)의 BER 성능이 펑처링을 수행한 경우 1, 2 및 3보다 우수하기는 하나, 전송효율을 고려하면, 펑처링을 수행하여야 할 경우가 대부분이다. 따라서, 본 발명에서는 부호율을 조정하여도 모부호율에 비하여 성능이 크게 떨어지지 않는 패턴의 펑처링을 적용하였다.Of course, according to the permutation of the present invention, when the puncture is not performed, the BER performance of 0 (when the mother code rate is 3/5) is better than 1, 2, and 3 when puncturing is performed. However, considering the transmission efficiency, puncturing is often required. Therefore, in the present invention, even if the code rate is adjusted, the puncturing of the pattern does not significantly decrease compared to the parent code rate.
이하, 도 5를 참조하여 본 발명의 실시예에 따른 터보부호화 방법에 대하여 설명한다. 도 5는 본 발명의 실시예에 따른 터보부호화 방법을 도시한 흐름도이다.Hereinafter, a turbo encoding method according to an exemplary embodiment of the present invention will be described with reference to FIG. 5. 5 is a flowchart illustrating a turbo encoding method according to an embodiment of the present invention.
도 5를 참조하면, 터보부호를 이용하는 부호화 장치(10)는 A 비트, B 비트 및 C 비트를 순환 조직형 길쌈 부호화하여 제1 잉여비트를 출력한다(S510).Referring to FIG. 5, the
이어서, 터보부호를 이용하는 부호화 장치(10)는 기설정된 방식으로 3비트를 순열치환(Permutation)한다(S520). 즉, 터보부호를 이용하는 부호화 장치(10)는 3비트의 순번이 2의 배수이면, 제1 내지 제3 블록 내의 일 블록과 다른 블록의 비트를 상호 교체하며, 3비트의 순번을 4로 나눈 나머지 값에 따라 상호 교체된 각 비트가 포함된 블록 내에서 상호 교체된 각 비트의 순서를 전술한 방식으로 치환한다.Subsequently, the
그 다음으로, 터보부호를 이용하는 부호화 장치(10)는 순열치환된 3비트를 순환 조직형 길쌈 부호화하여 제2 잉여비트를 출력한다(S530).Subsequently, the
이후, 터보부호를 이용하는 부호화 장치(10)는 3비트, 제1 잉여비트 및 제2 잉여비트의 조합에 따른 모부호율이 기설정된 부호율과 동일한지를 확인한다(S540).Thereafter, the
터보부호를 이용하는 부호화 장치(10)는 잉여비트의 조합에 따른 모부호율이 기설정된 부호율과 동일하면, 3비트, 제1 잉여비트 및 제2 잉여비트를 터보부호화한다(S560).If the mother code rate according to the combination of the surplus bits is equal to the preset code rate, the
반면, 터보부호를 이용하는 부호화 장치(10)는 모부호율이 기설정된 부호율과 다르면, 펑처링을 통해 제1 잉여비트와 제2 잉여비트를 선택적으로 제거하여 부호율을 조절한다(S550).On the other hand, if the mother code rate is different from the preset code rate, the
이와 같이, 본 발명은 병렬 3비트로 입력되는 입력데이터에 펑처링기법과 순열치환기법을 적용함으로써, 터보부호를 이용한 부호화결과 종래의 2입력 터보부호에 비해 50%이상 최소해밍거리를 증가시킬 수 있다. 따라서, 본 발명은 종래의 터보부호를 이용할 때보다 송수신 데이터의 에러정정성능을 크게 향상시킬 수 있다.As described above, according to the present invention, the puncturing technique and the permutation substitution technique are applied to input data input in parallel 3 bits, and the minimum Hamming distance can be increased by 50% or more compared to the conventional two-input turbo code by using the turbo code. have. Therefore, the present invention can greatly improve the error correction performance of the transmission / reception data compared with the conventional turbo code.
이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술분야에 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.While the present invention has been described in detail with reference to the accompanying drawings, it is to be understood that the invention is not limited to the above-described embodiments. Those skilled in the art will appreciate that various modifications, Of course, this is possible. Accordingly, the scope of protection of the present invention should not be limited to the above-described embodiments, but should be determined by the description of the following claims.
Claims (20)
상기 3비트를 순열치환(Permutation)하는 순열치환기;
순열치환된 상기 3비트를 순환 조직형 길쌈 부호화하여 제2 잉여비트를 출력하는 제2 부호기; 및
기설정된 터보부호의 부호율을 고려하여 상기 제1 잉여비트와 제2 잉여비트를 선택적으로 제거하여 상기 부호율을 조절하는 펑처링기
를 포함하며,
상기 순열치환기는,
상기 3비트의 순번이 2의 배수이면, 상기 제1 내지 제3 블록 중에서, 첫 번째 블록과 마지막 번째 블록의 비트를 상호 교체하며, 상기 3비트의 순번을 4로 나눈 나머지 값에 따라, 상기 상호 교체된 각 비트의 순서를 상기 각 비트가 포함된 블록 내에서 치환하는 것이며,
상기 펑처링기는,
상기 3비트의 순번이 홀수인 경우와 짝수인 경우에 상기 제1 잉여비트와 상기 제2 잉여비트를 선택적으로 제거하여 상기 부호율을 조절하는 것인 터보부호를 이용하는 부호화 장치.A first encoder for outputting a first parity bit by converting three bits respectively received from the first to third blocks each having N bits into recursive systematic convolutional codes;
A permutation substituent for permutating the three bits;
A second encoder for outputting a second surplus bit by performing circular convolutional convolutional encoding on the three bits that have been sequentially substituted; And
A puncturing device for adjusting the code rate by selectively removing the first and second surplus bits in consideration of a code rate of a preset turbo code
Including;
The permutation substituent,
If the order of the three bits is a multiple of two, among the first to third blocks, the bits of the first block and the last block are interchanged with each other, and according to the remaining value obtained by dividing the order of the three bits by four, To replace the order of each bit replaced in the block containing the respective bit,
The puncturing machine,
And encoding the code rate by selectively removing the first and second redundant bits when the order of the three bits is odd and even.
기설정된 부호율과 순회상태(state)에 따른 순열치환 파라미터의 후보들을 이용하여 최소해밍거리를 연산하는 연산부; 및
연산된 상기 최소해밍거리가 가장 큰 상기 순열치환 파라미터의 후보를 상기 순열치환기의 순열치환 파라미터로 결정하는 결정부
를 더 포함하는 터보부호를 이용하는 부호화 장치.The method of claim 1,
An arithmetic unit configured to calculate a minimum hamming distance using candidates of permutation substitution parameters according to a predetermined code rate and a state; And
A determination unit for determining a candidate of the permutation substitution parameter having the largest calculated minimum hamming distance as a permutation substitution parameter of the permutation substituent
Encoder using a turbo code further comprising.
상기 나머지값에 따라 각기 다른 결과값을 제공하는 수학식 j = (P * k + Q + 3) mod N을 이용하여 상기 상호 교체된 각 비트의 순서를 치환하는 것인 터보부호를 이용하는 부호화 장치(여기서, 상기 k는 상기 3비트의 순번, 상기 P는 상기 순열치환 파라미터이며, Q는 상기 순열치환 파라미터와 상기 나머지값에 의하여 결정된 상수임)The method of claim 3, wherein the permutation substituent,
Coding apparatus using a turbo code that replaces the order of each of the interchanged bits by using the equation j = (P * k + Q + 3) mod N for providing a different result value according to the remaining value ( K is a sequence of the 3 bits, P is the permutation substitution parameter, and Q is a constant determined by the permutation substitution parameter and the remainder value.
상기 순번이 홀수이면 상기 제1 잉여비트를 제거하며, 상기 순번이 짝수이면 상기 제2 잉여비트를 제거하는 것인 터보부호를 이용하는 부호화 장치.The method of claim 1, wherein the puncturer,
And if the sequence number is odd, removes the first excess bit, and if the sequence number is even, removes the second excess bit.
상기 3비트와, 상기 펑처링기로부터 상기 제1 잉여비트와 상기 제2 잉여비트를 선택적으로 전달받아 부호화된 부호어를 생성하는 부호어생성기
를 더 포함하는 터보부호를 이용하는 부호화 장치.The method of claim 1,
A codeword generator for generating an encoded codeword by selectively receiving the 3 bits and the first surplus bit and the second surplus bit from the puncturing unit.
Encoder using a turbo code further comprising.
상기 3비트를 기설정된 방식으로 순열치환(Permutation)하는 단계;
순열치환된 상기 3비트를 순환 조직형 길쌈 부호화하여 제2 잉여비트를 출력하는 단계; 및
상기 3비트, 상기 제1 잉여비트 및 상기 제2 잉여비트의 조합에 따른 모부호율이 기설정된 부호율과 다르면, 상기 제1 잉여비트와 제2 잉여비트를 선택적으로 제거하여 상기 부호율을 조절하는 단계
를 포함하며,
상기 순열치환하는 단계는,
상기 3비트의 순번이 2의 배수이면, 상기 제1 내지 제3 블록 중에서 첫 번째 블록과 마지막 번째 블록의 비트를 상호 교체하는 단계; 및
상기 3비트의 순번을 4로 나눈 나머지 값에 따라 상호 교체된 각 비트가 포함된 블록 내에서 상기 각 비트의 순서를 치환하는 단계
를 포함하며,
상기 조절하는 단계는,
상기 3비트의 순번이 홀수인 경우와 짝수인 경우에 상기 제1 잉여비트와 상기 제2 잉여비트를 선택적으로 제거하는 단계
를 포함하는 터보부호를 이용하는 부호화 방법.Outputting a first parity bit by converting three bits respectively received from the first to third blocks each consisting of N bits into recursive systematic convolutional codes;
Permutating the 3 bits in a predetermined manner;
Outputting a second surplus bit by performing circular convolutional convolutional encoding on the 3 bits which have been sequentially substituted; And
If the mother code rate according to the combination of the 3 bits, the first surplus bit and the second surplus bit is different from a predetermined code rate, the code rate is adjusted by selectively removing the first surplus bit and the second surplus bit. Steps to
Including;
The permutation step is,
If the order of the three bits is a multiple of two, swapping bits of a first block and a last block among the first to third blocks; And
Substituting the order of each bit in a block containing each bit that is interchanged according to the remaining value of the 3-bit order divided by 4.
Including;
Wherein the adjusting comprises:
Selectively removing the first redundant bit and the second redundant bit when the order of the three bits is odd and even
Encoding method using a turbo code comprising a.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/942,321 US8527856B2 (en) | 2009-11-09 | 2010-11-09 | Encoding apparatus and method using turbo code, and permutation unit and method |
FR1059242A FR2952489B1 (en) | 2009-11-09 | 2010-11-09 | CODING APPARATUS AND METHOD USING A TURBO-CODE, AND PERMUTATION UNIT AND METHOD |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090107675 | 2009-11-09 | ||
KR20090107675 | 2009-11-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110051125A KR20110051125A (en) | 2011-05-17 |
KR101331053B1 true KR101331053B1 (en) | 2013-11-19 |
Family
ID=44361548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100043177A KR101331053B1 (en) | 2009-11-09 | 2010-05-07 | Apparatus and Method for Encoding using Turbo Code, and Unit and Method of Permutation |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101331053B1 (en) |
-
2010
- 2010-05-07 KR KR1020100043177A patent/KR101331053B1/en not_active IP Right Cessation
Non-Patent Citations (4)
Title |
---|
Catherine Douillard, et al., "Turbo Codes with Rate-m/(m+1) Constituent Convolutional Codes", IEEE Transactions on Communications, Vol. 53, No. 10, October 2005, pp. 1630-1638. * |
Catherine Douillard, et al., "Turbo Codes with Rate-m/(m+1) Constituent Convolutional Codes", IEEE Transactions on Communications, Vol. 53, No. 10, October 2005, pp. 1630-1638.* |
Yingzi Gao, et al., "Triple-binary circular recursive systematic convolutional turbo codes", The 5th Int. Symp. Wireless Personal Multimedia Communications, Vol. 3, 2002, pp.951-955. * |
Yingzi Gao, et al., "Triple-binary circular recursive systematic convolutional turbo codes", The 5th Int. Symp. Wireless Personal Multimedia Communications, Vol. 3, 2002, pp.951-955.* |
Also Published As
Publication number | Publication date |
---|---|
KR20110051125A (en) | 2011-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107026709B (en) | Data packet coding processing method and device, base station and user equipment | |
KR100641052B1 (en) | LDPC encoder and decoder, and method for LDPC encoding and decoding | |
EP1835625B1 (en) | Encoding and decoding of accumulate convolutional codes | |
KR101366284B1 (en) | Method for generating block codes from Golay code and coding data, and Apparatus thereof | |
US8726137B2 (en) | Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes | |
KR20060052488A (en) | Concatenated iterative and algebraic coding | |
CN101636914A (en) | Method and apparatus for encoding and decoding data | |
KR20090057415A (en) | Method and apparatus for encoding and decoding data | |
EP1589663A1 (en) | System, apparatus and method for transmitting and receiving data coded by low density parity check code having variable coding rate | |
CN101047391A (en) | Low density parity check coding method, device and parity check matrix generating method | |
CN107592959A (en) | Transmitter and its reduction method | |
JP2009515420A (en) | Apparatus and method for decoding and encoding data | |
JP2004511161A (en) | Apparatus and method for generating (n, 3) code and (n, 4) code using simplex code | |
KR100369561B1 (en) | Encoder and decoder for turbo code | |
KR20090091768A (en) | Encoding device, encoding method, encoding/decoding device, and communication device | |
KR20080041488A (en) | Parallel interleaving method | |
KR101331053B1 (en) | Apparatus and Method for Encoding using Turbo Code, and Unit and Method of Permutation | |
CN108667556B (en) | Bit interleaving coding modulation method | |
CA2827347C (en) | Error correction encoding method, decoding method and associated devices | |
CN108476027B (en) | Window interleaved TURBO (WI-TURBO) code | |
CN101667839B (en) | Interleaving method | |
CN108011691A (en) | The transmission method and device of a kind of low density parity check code | |
TWI765204B (en) | Generation method of interleaved polar codes and interleaved polar coder used therein | |
US8527856B2 (en) | Encoding apparatus and method using turbo code, and permutation unit and method | |
KR100672347B1 (en) | Flexible data rate Matching Method in 3GPP2 |
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 | ||
LAPS | Lapse due to unpaid annual fee |