KR101382865B1 - 가변 부호율 블록 터보 부호의 하이브리드 복호기를 포함하는 데이터 송수신 장치 및 방법 - Google Patents
가변 부호율 블록 터보 부호의 하이브리드 복호기를 포함하는 데이터 송수신 장치 및 방법 Download PDFInfo
- Publication number
- KR101382865B1 KR101382865B1 KR1020120131418A KR20120131418A KR101382865B1 KR 101382865 B1 KR101382865 B1 KR 101382865B1 KR 1020120131418 A KR1020120131418 A KR 1020120131418A KR 20120131418 A KR20120131418 A KR 20120131418A KR 101382865 B1 KR101382865 B1 KR 101382865B1
- Authority
- KR
- South Korea
- Prior art keywords
- code rate
- polynomial
- data
- transmission data
- decoding
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/114—Shuffled, staggered, layered or turbo decoding schedules
-
- 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1525—Determination and particular use of error location polynomials
- H03M13/153—Determination and particular use of error location polynomials using the Berlekamp-Massey algorithm
-
- 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/31—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 coding for error detection or correction and efficient use of the spectrum
-
- 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 가변 부호율 블록 터보 부호의 하이브리드 복호기를 포함하는 데이터 송수신 장치 및 방법에 관한 것으로서, 송신 데이터에 대한 부호율 및 길이를 결정하는 부호율 및 길이 결정부, 상기 결정된 부호율 및 길이에 부합하는 생성 다항식을 선택하는 생성 다항식 선택부, 및 상기 결정된 부호율 및 상기 선택된 생성 다항식을 기반으로, 상기 송신 데이터의 부호화를 수행하는 부호화부를 포함할 수 있다.
Description
본 발명은 기존의 블록 터보 부호에 새로운 부호화 및 복호화 방식을 제안함으로써 향상된 성능과 높은 부호율로 변경이 가능한 방식을 제안하는 기술적 사상에 관한 것이다.
기존의 블록 터보 부호는 각각의 행과 열에 사용되는 BCH(Bose, Chaudhuri, Hocquenghem) 부호를 단축(shortening) 기법을 적용하여 부호율을 조정하거나 더 높은 차수의 생성 다항식을 사용함으로써 부호율을 조정한다. 하지만 이럴 경우 부호율이 감소하는 가변 부호율을 갖기 때문에 높은 부호율에 대해서는 사용이 제한적이라는 단점이 있다.
블록 터보 부호(Block Turbo Code)를 제안하는 문헌들을 참조하면, 터보 코드의 등장이후, 1998년 Pyndiah는 컨볼루션 코드(convolution code)를 병렬형태로 만든 터보 코드의 방식을 이용하여 선형 블록 부호(Linear Block Code)를 병렬형태로 만든 블록 터보 부호를 제안하여 IEEE 802.16 과 802.22에서 표준으로 채택되어 여러 분야에서 사용되고 있다.
다른 오류 정정 부호에 비해 블록 터보 부호가 갖는 가장 큰 장점으로는 인코딩과 디코딩이 복잡도가 낮으며 복잡도 대비 높은 성능을 들 수 있다.
블록 터보 부호의 낮은 복잡도와 높은 성능은 수신 신호의 확률정보를 각각의 행과 열에 대해서 BCH(Bose, Chaudhuri, Hocquenghem) 경판정(hard decision)과 연판정(soft decision)을 모두 반복적으로 수행하면서 신뢰도를 높이는 방식에 의해 보장된다.
블록 터보 부호에서 사용하는 체이스(Chase) 복호 알고리즘을 설명하는 참조문헌들에서, 이 기술은 기존의 선형 블록 부호들 중에서 신드롬 복호 기법을 사용하는 경우를 경판정 복호가 아닌 연판정 복호가 가능하도록 하는 방법으로, 체이스 복호 알고리즘을 이용한 BCH(Bose, Chaudhuri, Hocquenghem) 부호의 연판정 복호가 대표적인 예이다.
일실시예에 따른 데이터 송수신 장치는, 송신 데이터에 대한 부호율 및 길이를 결정하는 부호율 및 길이 결정부, 상기 결정된 부호율 및 길이에 부합하는 생성 다항식을 선택하는 생성 다항식 선택부, 및 상기 결정된 부호율 및 상기 선택된 생성 다항식을 기반으로, 상기 송신 데이터의 부호화를 수행하는 부호화부를 포함할 수 있다.
일실시예에 따른 상기 부호화부는, 상기 결정된 부호율 및 상기 생성 다항식을 기반으로, 블록 터보 부호화(BTC, Block Turbo Code)를 수행할 수 있다.
일실시예에 따른 상기 부호화부는, 상기 생성 다항식에 대한 각각의 행 및 열에 추가되는 비트수가 반영된, 선정된 개수의 바이너리 메시지 비트를 선정된 정방행렬에 나열하고, 상기 각각의 행 및 열을 BCH(Bose, Chaudhuri, Hocquenghem) 부호화할 수 있다.
일실시예에 따른 상기 부호화부는, 상기 선택된 생성 다항식이 반영된 다항식 분할 회로(Polynomial Division Circuit)를 이용하여, 상기 송신 데이터에 대한 패리티 비트를 결정할 수 있다.
일실시예에 따른 상기 부호화부는, 상기 다항식 분할 회로(Polynomial Division Circuit)에 입력되는 상기 송신 데이터 중에서 마지막 레지스터에 남아있는 값들을 이용하여 상기 패리티 비트를 결정할 수 있다.
일실시예에 따른 데이터 송수신 장치는 상기 부호화된 송신 데이터를 복호화하여 수신 데이터를 생성하는 복호화부를 더 포함할 수 있다.
일실시예에 따른 상기 복호화부는, 상기 부호화된 송신 데이터에 대해 체이스(chase) 알고리즘을 사용하여 1차 복호화를 수행하고, 상기 1차 복호화된 송신 데이터에 이엘에프(ELF, Error Location Finding) 알고리즘을 사용하여 2차 복호화를 수행하여 상기 수신 데이터를 생성할 수 있다.
일실시예에 따른 상기 복호화부는, 상기 체이스 알고리즘을 사용한 1차 복호화 후, 다시 상기 1차 복호화된 송신 데이터에 대해, 상기 생성 다항식 및 벌캄프-메시(Berlekamp-Messy) 알고리즘을 이용하여, 신드롬 다항식을 산출하여 상기 1차 복호화된 송신 데이터에 이엘에프(ELF) 알고리즘을 사용할 수 있다.
일실시예에 따른 데이터 송수신 장치는 에러 추정부를 더 포함하고, 상기 에러 추정부는 상기 부호화된 송신 데이터에 대해, 생성된 테스트 시퀀스 중에서 수신된 벡터와 가장 짧은 유클리디안 거리를 갖는 벡터를 선정하고, 엠엘(ML, Maximum Likehood) 결정을 통해 외부 정보(extrinsic information)를 계산하며, 상기 복호화가 선정된 반복횟수만큼 진행되었는지 여부를 판단하고, 선정된 반복횟수만큼 진행된 경우에 에러를 추정할 수 있다.
일실시예에 따른 데이터 송수신 장치의 동작 방법은 부호율 및 길이 결정부에서, 송신 데이터에 대한 부호율 및 길이를 결정하는 단계, 생성 다항식 선택부에서, 상기 결정된 부호율 및 길이에 부합하는 생성 다항식을 선택하는 단계, 및 부호화부에서, 상기 결정된 부호율 및 상기 선택된 생성 다항식을 기반으로, 상기 송신 데이터의 부호화를 수행하는 단계를 포함할 수 있다.
일실시예에 따른 상기 부호화부에서, 상기 송신 데이터의 부호화를 수행하는 단계는, 상기 결정된 부호율 및 상기 생성 다항식을 기반으로, 블록 터보 부호화(BTC, Block Turbo Code)를 수행하는 단계를 포함할 수 있다.
일실시예에 따른 상기 부호화부에서, 상기 송신 데이터의 부호화를 수행하는 단계는, 상기 생성 다항식에 대한 각각의 행 및 열에 추가되는 비트수가 반영된, 선정된 개수의 바이너리 메시지 비트를 선정된 정방행렬에 나열하고, 상기 각각의 행 및 열을 BCH(Bose, Chaudhuri, Hocquenghem) 부호화하는 단계를 포함할 수 있다.
일실시예에 따른 상기 부호화부에서, 상기 송신 데이터의 부호화를 수행하는 단계는, 상기 선택된 생성 다항식이 반영된 다항식 분할 회로(Polynomial Division Circuit)를 이용하여, 상기 송신 데이터에 대한 패리티 비트를 결정하는 단계를 포함할 수 있다.
일실시예에 따른 상기 부호화부에서, 상기 송신 데이터의 부호화를 수행하는 단계는, 상기 다항식 분할 회로(Polynomial Division Circuit)에 입력되는 상기 송신 데이터 중에서 마지막 레지스터에 남아있는 값들을 이용하여 상기 패리티 비트를 결정하는 단계를 포함할 수 있다.
일실시예에 따른 데이터 송수신 장치의 동작 방법은 복호화부에서, 상기 부호화된 송신 데이터를 복호화하여 수신 데이터를 생성하는 단계를 더 포함할 수 있다.
일실시예에 따른 상기 복호화부에서, 복호화하여 수신 데이터를 생성하는 단계는, 상기 부호화된 송신 데이터에 대해 체이스(chase) 알고리즘을 사용하여 1차 복호화를 수행하는 단계, 및 상기 1차 복호화된 송신 데이터에 이엘에프(ELF) 알고리즘을 사용하여 2차 복호화를 수행하여 상기 수신 데이터를 생성하는 단계를 포함할 수 있다.
일실시예에 따른 상기 복호화부에서, 복호화하여 수신 데이터를 생성하는 단계는, 상기 체이스 알고리즘을 사용한 1차 복호화 후, 다시 상기 1차 복호화된 송신 데이터에 대해, 상기 생성 다항식 및 벌캄프-메시(Berlekamp-Messy) 알고리즘을 이용하여, 신드롬 다항식을 산출하여 상기 1차 복호화된 송신 데이터에 이엘에프(ELF) 알고리즘을 사용하는 단계를 포함할 수 있다.
일실시예에 따른 데이터 송수신 장치의 동작 방법은 에러 추정부에서, 에러를 추정하는 단계를 더 포함하고, 상기 에러를 추정하는 단계는, 상기 부호화된 송신 데이터에 대해, 생성된 테스트 시퀀스 중에서 수신된 벡터와 가장 짧은 유클리디안 거리를 갖는 벡터를 선정하고, 엠엘(ML, Maximum Likehood) 결정을 통해 외부 정보(extrinsic information)를 계산하며, 상기 복호화가 선정된 반복횟수만큼 진행되었는지 여부를 판단하고, 선정된 반복횟수만큼 진행된 경우에 에러를 추정하는 단계를 포함할 수 있다.
일실시예에 따르면, 블록 길이와 오류정정의 개수가 정해져 있어 규격화되어 있는 BCH(Bose, Chaudhuri, Hocquenghem) 부호의 생성 다항식을 적용한 블록 터보 부호화(BTC, Block Turbo Code)에 비해 더 낮은 차수의 생성다항식을 통해 부호화 과정을 거침으로써 전송용량을 증가 시킬 수 있다.
일실시예에 따르면, 채널 상태가 계속적으로 변하는 타임 베어링(time varying) 채널에서 유리하게 사용될 수 있다.
일실시예에 따르면, 기존의 방식보다 최대 10%가량의 전송용량 증가를 보장할 수 있다.
일실시예에 따르면, 동일한 크기의 부호에 대해서도 개선된 성능을 보여줄 수 있다.
일실시예에 따르면, 블록 터보 부호화의 전송용량을 늘리면서 부호의 성능을 향상시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 데이터 송수신 장치를 설명하는 도면이다.
도 2는 정보 증가(information augmenting) 기법에 적용된 블록 터보 부호의 블록 다이어그램으로 나타낸 그림이다.
도 3은 BCH(Bose, Chaudhuri, Hocquenghem) 부호의 생성 다항식에 따른 다항식 분할 회로(polynomial division circuit)의 그림과 각각의 생성다항식에 대한 다항식 분할 회로의 계수이다.
도 4는 체이스-이엘에프 하이브리드(Chase-ELF Hybrid) 복호기의 블록 다이어 그램을 나타낸 그림이다.
도 5는 세 가지 경우의 블록 터보 부호에 대하여 기존의 체이스 알고리즘과 제안된 체이스-이엘에프 하이브리드 알고리즘의 성능 이득을 나타내는 그래프이다.
도 6 내지 8은 도 5의 세 가지 경우의 블록 터보 부호를 제안된 알고리즘을 이용하여 가변 부호율을 적용시켰을 때의 성능 곡선이다.
도 9는 본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법을 설명하는 도면이다.
도 2는 정보 증가(information augmenting) 기법에 적용된 블록 터보 부호의 블록 다이어그램으로 나타낸 그림이다.
도 3은 BCH(Bose, Chaudhuri, Hocquenghem) 부호의 생성 다항식에 따른 다항식 분할 회로(polynomial division circuit)의 그림과 각각의 생성다항식에 대한 다항식 분할 회로의 계수이다.
도 4는 체이스-이엘에프 하이브리드(Chase-ELF Hybrid) 복호기의 블록 다이어 그램을 나타낸 그림이다.
도 5는 세 가지 경우의 블록 터보 부호에 대하여 기존의 체이스 알고리즘과 제안된 체이스-이엘에프 하이브리드 알고리즘의 성능 이득을 나타내는 그래프이다.
도 6 내지 8은 도 5의 세 가지 경우의 블록 터보 부호를 제안된 알고리즘을 이용하여 가변 부호율을 적용시켰을 때의 성능 곡선이다.
도 9는 본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법을 설명하는 도면이다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 본 명세서에서 사용되는 용어(terminology)들은 본 발명의 바람직한 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 본 발명이 속하는 분야의 관례 등에 따라 달라질 수 있다. 따라서, 본 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 데이터 송수신 장치(100)를 설명하는 도면이다.
본 발명의 일실시예에 따른 데이터 송수신 장치(100)를 이용하면, 기존의 블록 터보 부호에 새로운 부호화 및 복호화 방식을 제안함으로써 향상된 성능과 높은 부호율로 변경이 가능한 방식을 제공할 수 있다. 또한, 기존의 WiMAX 시스템이나 위성통신 등에서 사용하는 블록 터보 부호를 채널 환경에 따라 부호율을 증가 시킬 수 있다.
구체적으로, 본 발명의 일실시예에 따른 데이터 송수신 장치(100)는 부호율 및 길이 결정부(110), 생성 다항식 선택부(120), 부호화부(130), 및 복호화부(140)를 포함할 수 있다.
본 발명의 일실시예에 따른 부호율 및 길이 결정부(110)는 송신 데이터에 대한 부호율 및 길이를 결정할 수 있다.
본 발명의 일실시예에 따른 생성 다항식 선택부(120)는 상기 결정된 부호율 및 길이에 부합하는 생성 다항식을 선택할 수 있다.
본 발명의 일실시예에 따른 부호화부(130)는 상기 결정된 부호율 및 상기 선택된 생성 다항식을 기반으로, 상기 송신 데이터의 부호화를 수행할 수 있다.
예를 들어, 일실시예에 따른 부호화부(130)는 결정된 부호율 및 생성 다항식을 기반으로, 블록 터보 부호화(BTC, Block Turbo Code)를 수행할 수 있다.
본 발명의 일실시예에 따른 데이터 송수신 장치(100)는 부호율이 1에 근접하는 높은 부호율을 지니는 블록 터보 부호화(BTC, Block Turbo Code)의 부호화 과정과 이때 적용할 수 있는 체이스-이엘에프(Chase-ELF) 복호 알고리즘이 이용될 수 있다.
새롭게 정의되는 하이브리드 복호 알고리즘에서 사용하는 두 알고리즘 중, 체이스(Chase) 알고리즘은 기존의 블록 터보 부호화의 복호에 사용되는 알고리즘과 동일할 수 있다.
구체적으로, 송신측에서 먼저 일실시예에 따른 부호율 및 길이 결정부(110)를 통해서 보내고자 하는 데이터의 부호율(target rate) 및 길이를 정하게 되면, 일실시예에 따른 생성 다항식 선택부(120)는 부호율을 달성하기 위해 알맞은 생성다항식을 선택할 수 있다.
[수학식 1]
여기서, 는 블록 터보 부호화의 각각의 행과 열에 추가되는 비트의 수로 해석될 수 있고, 는 바이너리 메시지 비트들로 해석될 수 있으며, 이때 가 by 의 정방행렬에 일제히 나열할 수 있다. 또한, 는 생성된 패리티 비트의 길이로 해석될 수 있다.
이후, 각각의 행과 열에 대해서 BCH(Bose, Chaudhuri, Hocquenghem) 부호화 과정을 거친다.
이를 위해, 일실시예에 따른 부호화부(130)는 상기 생성 다항식에 대한 각각의 행 및 열에 추가되는 비트수가 반영된, 선정된 개수의 바이너리 메시지 비트를 선정된 정방행렬에 나열하고, 상기 각각의 행 및 열을 BCH(Bose, Chaudhuri, Hocquenghem) 부호화할 수 있다.
일실시예에 따른 다항식 선택부(120)는 BCH(Bose, Chaudhuri, Hocquenghem) 부호에서 일반적으로 사용되는 생성다항식을 선택하여 사용할 수 있다.
일실시예에 따른 부호화부(130)는 선택된 생성 다항식이 반영된 다항식 분할 회로(Polynomial Division Circuit)를 이용하여, 상기 송신 데이터에 대한 패리티 비트를 결정할 수 있다.
또한, 일실시예에 따른 부호화부(130)는 다항식 분할 회로(PDC, Polynomial Division Circuit)에 입력되는 송신 데이터 중에서 마지막 레지스터에 남아있는 값들을 이용하여 패리티 비트를 결정할 수 있다.
예를 들어, 일실시예에 따른 부호화부(130)는 선택된 생성다항식으로 다항식 분할 회로(PDC, Polynomial Division Circuit)를 구성하고 정보데이터를 다항식 분할 회로(PDC, Polynomial Division Circuit)에 차례로 입력시켜서 마지막에 레지스터에 남은 값들을 패리티 비트로 정의할 수 있다. 이때, 생성된 패리티 비트의 길이는 생성다항식에서 사용하는 의 값이 된다.
본 발명의 일실시예에 따른 데이터 송수신 장치(100)는 부호화된 송신 데이터를 복호화하여 수신 데이터를 생성하는 복호화부(140)를 더 포함할 수 있다.
본 발명의 일실시예에 따른 복호화부(140)는 수신된 정보를 바탕으로 복호를 시작할 수 있다.
본 발명의 일실시예에 따른 복호화부(140)는 부호화된 송신 데이터에 대해 체이스(Chase) 알고리즘을 사용하여 1차 복호화를 수행하고, 1차 복호화된 송신 데이터에 이엘에프(ELF) 알고리즘을 사용하여 2차 복호화를 수행하여 수신 데이터를 생성할 수 있다.
구체적으로, 본 발명의 일실시예에 따른 복호화부(140)는 체이스 알고리즘을 사용한 1차 복호화 후, 다시 1차 복호화된 송신 데이터에 대해, 생성 다항식 및 벌캄프-메시(Berlekamp-Messy) 알고리즘을 이용하여, 신드롬 다항식을 산출하여 상기 1차 복호화된 송신 데이터에 이엘에프(ELF) 알고리즘을 사용할 수 있다.
복호에 사용되는 체이스-이엘에프 하이브리드(Chase-ELF Hybrid) 알고리즘은 기존의 블록 터보 부호화(BTC, Block Turbo Code)에서 사용하는 체이스 알고리즘과 새로 제안된 이엘에프 알고리즘을 결합시킨 형태이다.
이엘에프 알고리즘의 복호화 과정은 체이스 알고리즘을 모두 수행한 후, 다시 수신 정보를 (n, k) 생성다항식을 통한 일반적인 벌캄프-메시(Berlekamp-Messy) 알고리즘을 통해 신드롬 다항식을 구할 수 있다.
정보 증가(information augmenting) 기법을 적용하였을 때, 벌캄프-메시(Berlekamp-Messy) 알고리즘을 통해 구한 신드롬 다항식은 발생한 단일 오류에 대해 일정한 패턴을 갖게 된다.
도 2는 정보 증가(information augmenting) 기법에 적용된 블록 터보 부호의 블록 다이어그램(200)으로 나타낸 그림이다.
(7,4) BCH(Bose, Chaudhuri, Hocquenghem) 부호의 생성다항식을 정보 증가(information augmenting) 기법에 적용시켰을 때, 오류 다항식에 따른 신드롬 다항식의 일정한 패턴은 [표 1]과 같다.
[표 1]
즉 신드롬 다항식 S(X)를 구하게 되면 오류 다항식 E(X)를 예측 할 수 있게 된다. 신드롬 다항식을 바탕으로 예측할 수 있는 오류 다항식을 기존 체이스 알고리즘에서 사용하는 테스트 패턴(test pattern)들로 정의 할 수 있다. 정의된 테스트 패턴들을 수신 정보와 모듈로(modulo) 2 연산을 하게 되면 테스트 시퀀스(test sequence)를 만들어 낸다.
본 발명의 일실시예에 따른 데이터 송수신 장치(100)는 에러 추정부(150)를 더 포함할 수 있다.
본 발명의 일실시예에 따른 에러 추정부(150)는 부호화된 송신 데이터에 대해, 생성된 테스트 시퀀스 중에서 수신된 벡터와 가장 짧은 유클리디안 거리를 갖는 벡터를 선정할 수 있다.
또한, 본 발명의 일실시예에 따른 데이터 송수신 장치(100)는 에러 추정부(150)를 이용하여 엠엘(ML, Maximum Likehood) 결정을 통해 외부 정보(extrinsic information)를 계산할 수 있다.
본 발명의 일실시예에 따른 데이터 송수신 장치(100)는 에러 추정부(150)는 복호화가 선정된 반복횟수만큼 진행되었는지 여부를 판단하고, 선정된 반복횟수만큼 진행된 경우에 에러를 추정할 수 있다.
다시 말해, 이엘에프 알고리즘을 통해 생성된 테스트 시퀀스(test sequence)와 기존의 체이스 알고리즘을 통해 생성된 테스트 시퀀스들 중에서 엠엘 결정(ML Decision)을 사용하여 가장 신뢰도가 높은 벡터를 결정할 수 있다.
다음 반복 복호를 위해서 정의되는 스케일링 팩터(scaling factor)인 와 신뢰성 팩터(reliablity factor)인 는 기존의 체이스 알고리즘과 달리 새롭게 정의하여 사용할 수 있다.
본 발명의 일실시예에 따른 데이터 송수신 장치(100)를 이용하면, 동일한 부호어의 길이에 대해서 정보데이터의 길이를 최대한으로 늘일 수 있다.
또한, 본 발명의 일실시예에 따른 데이터 송수신 장치(100)를 이용하면, 전송용량 측면에서 10%가량 증대시킬 수 있다.
또한, 본 발명의 일실시예에 따른 데이터 송수신 장치(100)를 이용하면, 동일한 채널상태에서 같은 길이의 부호를 사용하게 될 때, 제안된 알고리즘이 높은 성능을 가질 수 있다.
도 3은 BCH(Bose, Chaudhuri, Hocquenghem) 부호의 생성 다항식에 따른 다항식 분할 회로(310, Polynomial Division Circuit)와 각각의 생성다항식에 대한 다항식 분할 회로의 계수이다.
다항식 분할 회로(310, Polynomial Division Circuit)는 정보 증가(information augmenting) 스킴을 적용한 RC 블록 터보 부호의 인코더로 해석될 수 있다.
정보 증가 코드 워드는 n-k 패리티 비트를 갖는 기존 (n, k) BCH 생성 다항식에 의해 생성될 수 있습니다.
디코딩이 활성화된 후 정보 증가 스킴의 신드롬 다항식이 생성될 수 있다.
코드 워드의 길이가 n-비트 이상인 경우, 오류가 발생하는지 여부에 대해 신드롬 다항식을 통해 예상 할 수 있다.
높은 신호대 잡음비(SNR) 및 단일 오류 정정(N, K) BCH 코드를 가정하면, 어떤 장소에 하나의 오류가 예측 가능한 오류 위치 다항식 중 하나라고 예상할 수 있다.
오류 위치 다항식은 다음과 같다.
일실시예에 따른 부호화부는 선택된 생성 다항식이 반영된 다항식 분할 회로(310)를 이용하여, 상기 송신 데이터에 대한 패리티 비트를 결정할 수 있다.
또한, 일실시예에 따른 부호화부는 다항식 분할 회로(310)에 입력되는 송신 데이터 중에서 마지막 레지스터에 남아있는 값들을 이용하여 패리티 비트를 결정할 수 있다.
예를 들어, 일실시예에 따른 부호화부는 선택된 생성다항식으로 다항식 분할 회로(310)를 구성하고 정보데이터를 다항식 분할 회로(310)에 차례로 입력시켜서 마지막에 레지스터에 남은 값들을 표(320)와 같이 패리티 비트로 정의할 수 있다.
표(320)는 각 생성 다항식의 다항식 부 회로의 계수를 의미한다.
일반적으로, 종래의 선형 블록 코드, 즉 BCH는 rate-compatible을 사용할 수 있다.
정보 단축(information-shortening) 스킴을 통해 스키마 정보와 코드 워드 길이의 고정 값으로 인해 낮은 코드 속도를 구하는 순서를 유지할 수 있다.
본 발명에서는 속도와 호환 코드를 높은 속도와 긴 코드 워드 길이를 얻기 위해 정보 증가(information augmenting)를 이용할 수 있다.
(n,k) BCH 부호가 주어졌을 때, 중복 길이 n-k을 알 수 있고, 오류 수정의 수를 "t"를 알 수 있으며, 그 때의 생성 다항식을 알 수 있다.
정보 비트가 이러한 코드 워드 각각으로부터 추가되는 경우, (n+a, k+a)를 획득할 수 있다.
n+a와 k+a는 증강 코드 워드 및 정보 길이로 해석될 수 있다.
이때, k+a 정보 비트는 (n, k) BCH 생성 다항식에 의해서 부호화될 수 있고, 비로소 n+a 코드 워드가 생성될 수 있다.
도 4는 체이스-이엘에프 하이브리드(Chase-ELF Hybrid) 복호기(400)의 블록 다이어 그램을 나타낸 그림이다.
일실시예에 따른 체이스-이엘에프 하이브리드(Chase-ELF Hybrid) 복호기(400)는 BCH 디코더(410), 이엘에프 테스트 패턴(420), 체이스 테스트 패턴(430), 체이스 알고리즘(440), 및 코드워드 시퀀스들의 최소 유클리디안 거리(450)를 이용할 수 있다.
일실시예에 따른 체이스-이엘에프 하이브리드(Chase-ELF Hybrid) 복호기(400)는 체이스 테스트 패턴(430) 및 체이스 알고리즘(440)을 이용하여, 체이스 알고리즘을 사용한 1차 복호할 수 있다.
일실시예에 따른 체이스-이엘에프 하이브리드(Chase-ELF Hybrid) 복호기(400)는 1차 복호화된 송신 데이터에 대해, BCH 디코더(410), 이엘에프 테스트 패턴(420)을 이용하여, 생성 다항식 및 벌캄프-메시(Berlekamp-Messy) 알고리즘을 통해 신드롬 다항식을 산출하여 상기 1차 복호화된 송신 데이터에 이엘에프(ELF) 알고리즘을 사용할 수 있다.
일실시예에 따른 체이스-이엘에프 하이브리드(Chase-ELF Hybrid) 복호기(400)는 코드워드 시퀀스들의 최소 유클리디안 거리(450)에 기반하여, 부호화된 송신 데이터에 대해, 생성된 테스트 시퀀스 중에서 수신된 벡터와 가장 짧은 유클리디안 거리를 갖는 벡터를 선정하여 복호화할 수 있다.
도 5는, 제안된 시스템이 (31, 26)2 BTC, (63, 57)2 BTC, (255, 247)2 BTC일 때, 제안된 세가지 시스템들 각각의 경우의 블록 터보 부호에 대하여 기존의 체이스 알고리즘과 제안된 체이스-이엘에프 하이브리드 알고리즘의 성능 이득을 나타내는 그래프이다.
도 5에서는 10-5의 비트 에러율(BER, Bit Error Rate)의 영역에서 0.15dB의 대략적인 이득에 기반하고 있다.
이 코딩 이득에 대한 이유는 기존의 블록 터보 부호와 본 발명에 따른 블록 터보 블록의 테스트 패턴의 수는 각각 16, 17로 설정되어 있다.
각각의 결과는 정해진 반복회수가 6회일 수 있다.
이에, R=0.7034에서 종래 블록 터보 코드를 이용하는 성능 이득(501) 및 하이브리드 블록 터보 코드를 이용하는 성능 이득(502)을 확인할 수 있다.
또한, R=0.8186에서 종래 블록 터보 코드를 이용하는 성능 이득(503) 및 하이브리드 블록 터보 코드를 이용하는 성능 이득(504)을 확인할 수 있다.
또한, R=0.9382에서 종래 블록 터보 코드를 이용하는 성능 이득(505) 및 하이브리드 블록 터보 코드를 이용하는 성능 이득(506)을 비트 에러율(BER, Bit Error Rate)을 통해 확인할 수 있다.
도 6 내지 8은 도 5의 세 가지 경우의 블록 터보 부호를 제안된 알고리즘을 이용하여 가변 부호율을 적용시켰을 때의 성능 곡선이다.
도 6은 세가지 서로 다른 속도를 갖는 (31, 26)2 RC 하이브리드 블록 터보 코드에 대한 비트 에러율을 나타낸다.
이때, 세가지 서로 다른 속도는 R=0.7034, R=0.7511, 및 R=0.8038의 코드 속도에 해당하고, 모든 코드는 676 정보 비트가 있다.
구체적으로, 도 6의 성능 곡선(600)에서는 R=0.7034에서 종래 블록 터보 코드를 이용하는 성능 이득(601) 및 RC 하이브리드 블록 터보 코드를 이용하는 성능 이득(604)를 확인할 수 있다.
또한, 도 6의 성능 곡선(600)에서는 R=0.7511에서 RC 하이브리드 블록 터보 코드를 이용하는 성능 이득(602)를 확인할 수 있다.
또한, 도 6의 성능 곡선(600)에서는 R=0.8038에서 RC 하이브리드 블록 터보 코드를 이용하는 성능 이득(603)를 확인할 수 있다.
도 7은 세가지 서로 다른 속도를 갖는 (63, 57)2 RC 하이브리드 블록 터보 코드에 대한 비트 에러율을 나타낸다.
이때, 세가지 서로 다른 속도는 R=0.8186, R=0.8732, 및 R=0.8038의 코드 속도에 해당하고, 모든 코드는 3249 정보 비트가 있다.
도 7의 성능 곡선(700)에서는 R=0.8186에서 종래 블록 터보 코드를 이용하는 성능 이득(701) 및 RC 하이브리드 블록 터보 코드를 이용하는 성능 이득(705)를 확인할 수 있다.
또한, 도 7의 성능 곡선(700)에서는 R=0.8452에서 RC 하이브리드 블록 터보 코드를 이용하는 성능 이득(702)를 확인할 수 있다.
또한, 도 7의 성능 곡선(700)에서는 R=0.8732에서 RC 하이브리드 블록 터보 코드를 이용하는 성능 이득(703)를 확인할 수 있다.
또한, 도 7의 성능 곡선(700)에서는 R=0.9025에서 RC 하이브리드 블록 터보 코드를 이용하는 성능 이득(704)를 확인할 수 있다.
도 8은 세가지 서로 다른 속도를 갖는 (255, 247)2 RC 하이브리드 블록 터보 코드에 대한 비트 에러율을 나타낸다.
이때, 세가지 서로 다른 속도는 R=0.9382, R=0.9456, R=9531, 및 R=0.9761의 코드 속도에 해당하고, 모든 코드는 61009 정보 비트가 있다.
도 8의 성능 곡선(800)에서는 R=0.9382에서 종래 블록 터보 코드를 이용하는 성능 이득(801) 및 RC 하이브리드 블록 터보 코드를 이용하는 성능 이득(805)를 확인할 수 있다.
또한, 도 8의 성능 곡선(800)에서는 R=0.9456에서 RC 하이브리드 블록 터보 코드를 이용하는 성능 이득(802)를 확인할 수 있다.
또한, 도 8의 성능 곡선(800)에서는 R=0.9531에서 RC 하이브리드 블록 터보 코드를 이용하는 성능 이득(803)를 확인할 수 있다.
또한, 도 8의 성능 곡선(800)에서는 R=0.9761에서 RC 하이브리드 블록 터보 코드를 이용하는 성능 이득(804)를 확인할 수 있다.
도 9는 본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법을 설명하는 도면이다.
본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법은 송신 데이터에 대한 부호율 및 길이를 결정하고, 결정된 부호율 및 길이에 부합하는 생성 다항식의 종류를 결정할 수 있다(단계 901). 또한, 결정된 부호율 및 상기 선택된 생성 다항식을 기반으로, 상기 송신 데이터의 부호화를 수행할 수 있다.
구체적으로 설명하면, 본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법은 송신 데이터의 부호화를 수행하기 위해서, 결정된 부호율 및 상기 생성 다항식을 기반으로, 블록 터보 부호화(BTC, Block Turbo Code)를 수행할 수 있다.
또한, 본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법은 생성 다항식에 대한 각각의 행 및 열에 추가되는 비트수가 반영된, 선정된 개수의 바이너리 메시지 비트를 선정된 정방행렬에 나열하고, 각각의 행 및 열을 BCH(Bose, Chaudhuri, Hocquenghem) 부호화를 수행할 수도 있다.
본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법은 선택된 생성 다항식이 반영된 다항식 분할 회로(Polynomial Division Circuit)를 이용하여, 송신 데이터에 대한 패리티 비트를 결정함으로써, 부호화에 이용할 수 있다.
본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법은 다항식 분할 회로(Polynomial Division Circuit)에 입력되는 송신 데이터 중에서 마지막 레지스터에 남아있는 값들을 이용하여 패리티 비트를 결정하여 부호화에 이용할 수도 있다.
본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법은 부호화된 송신 데이터를 복호화하여 수신 데이터를 생성할 수 있다.
이를 위해, 본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법은 부호화된 송신 데이터에 대해 체이스(chase) 알고리즘을 사용하여 1차 복호화를 수행하고(단계 902), 1차 복호화된 송신 데이터에 이엘에프(ELF) 알고리즘을 사용하여 2차 복호화를 수행(단계 903)할 수 있다.
본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법은 송신 데이터에 대해, 생성된 테스트 시퀀스 중에서 수신된 벡터와 가장 짧은 유클리디안 거리를 갖는 벡터를 선정하고(단계 904), 엠엘(ML, Maximum Likehood) 결정을 통해 외부 정보(extrinsic information)를 계산하며(단계 905), 복호화가 선정된 반복횟수만큼 진행되었는지 여부를 판단할 수 있다(단계 906).
만약, 선정된 반복횟수만큼 진행된 경우에 본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법은 복호화를 성공하였다고 판단하여 에러를 추정할 수 있다(단계 907).
만약, 선정된 반복횟수만큼 진행되지 못한 경우에 본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법은 체이스 알고리즘을 사용하여 1차 복호화 과정을 다시 시작하여, 반복횟수를 증가시킬 수 있다.
본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법을 이용하면, 블록 길이와 오류정정의 개수가 정해져 있어 규격화되어 있는 BCH(Bose, Chaudhuri, Hocquenghem) 부호의 생성 다항식을 적용한 블록 터보 부호화(BTC, Block Turbo Code)에 비해 더 낮은 차수의 생성다항식을 통해 부호화 과정을 거침으로써 전송용량을 증가 시킬 수 있다.
본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법을 이용하면, 채널 상태가 계속적으로 변하는 타임 베어링(time varying) 채널에서 유리하게 사용될 수 있고, 기존의 방식보다 최대 10%가량의 전송용량 증가를 보장할 수 있다.
본 발명의 일실시예에 따른 데이터 송수신 장치의 동작 방법을 이용하면, 동일한 크기의 부호에 대해서도 개선된 성능을 보여줄 수 있고, 블록 터보 부호화의 전송용량을 늘리면서 부호의 성능을 향상시킬 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 데이터 송수신 장치 110: 부호율 및 길이 결정부
120: 생성 다항식 선택부 130: 부호화부
140: 복호화부 150: 에러 추정부
120: 생성 다항식 선택부 130: 부호화부
140: 복호화부 150: 에러 추정부
Claims (19)
- 송신 데이터에 대한 부호율 및 길이를 결정하는 부호율 및 길이 결정부;
상기 결정된 부호율 및 길이에 부합하는 생성 다항식을 선택하는 생성 다항식 선택부;
상기 결정된 부호율 및 상기 선택된 생성 다항식을 기반으로, 상기 송신 데이터의 부호화를 수행하는 부호화부
를 포함하고,
상기 부호화부는,
상기 결정된 부호율 및 상기 생성 다항식을 기반으로, 블록 터보 부호화(BTC, Block Turbo Code)를 수행하는 데이터 송수신 장치. - 삭제
- 송신 데이터에 대한 부호율 및 길이를 결정하는 부호율 및 길이 결정부;
상기 결정된 부호율 및 길이에 부합하는 생성 다항식을 선택하는 생성 다항식 선택부;
상기 결정된 부호율 및 상기 선택된 생성 다항식을 기반으로, 상기 송신 데이터의 부호화를 수행하는 부호화부
를 포함하고,
상기 부호화부는,
상기 생성 다항식에 대한 각각의 행 및 열에 추가되는 비트수가 반영된, 선정된 개수의 바이너리 메시지 비트를 선정된 정방행렬에 나열하고, 상기 각각의 행 및 열을 BCH(Bose, Chaudhuri, Hocquenghem) 부호화하는 데이터 송수신 장치. - 송신 데이터에 대한 부호율 및 길이를 결정하는 부호율 및 길이 결정부;
상기 결정된 부호율 및 길이에 부합하는 생성 다항식을 선택하는 생성 다항식 선택부;
상기 결정된 부호율 및 상기 선택된 생성 다항식을 기반으로, 상기 송신 데이터의 부호화를 수행하는 부호화부
를 포함하고,
상기 부호화부는,
상기 선택된 생성 다항식이 반영된 다항식 분할 회로(Polynomial Division Circuit)를 이용하여, 상기 송신 데이터에 대한 패리티 비트를 결정하는 데이터 송수신 장치. - 제4항에 있어서,
상기 부호화부는,
상기 다항식 분할 회로(Polynomial Division Circuit)에 입력되는 상기 송신 데이터 중에서 마지막 레지스터에 남아있는 값들을 이용하여 상기 패리티 비트를 결정하는 데이터 송수신 장치. - 제1항에 있어서,
상기 부호화된 송신 데이터를 복호화하여 수신 데이터를 생성하는 복호화부
를 더 포함하는 데이터 송수신 장치. - 제6항에 있어서,
상기 복호화부는,
상기 부호화된 송신 데이터에 대해 체이스(chase) 알고리즘을 사용하여 1차 복호화를 수행하고, 상기 1차 복호화된 송신 데이터에 이엘에프(ELF) 알고리즘을 사용하여 2차 복호화를 수행하여 상기 수신 데이터를 생성하는 데이터 송수신 장치. - 제7항에 있어서,
상기 복호화부는,
상기 체이스 알고리즘을 사용한 1차 복호화 후, 다시 상기 1차 복호화된 송신 데이터에 대해, 상기 생성 다항식 및 벌캄프-메시(Berlekamp-Messy) 알고리즘을 이용하여, 신드롬 다항식을 산출하여 상기 1차 복호화된 송신 데이터에 이엘에프(ELF) 알고리즘을 사용하는 데이터 송수신 장치. - 제6항에 있어서,
에러 추정부를 더 포함하고,
상기 에러 추정부는,
상기 부호화된 송신 데이터에 대해, 생성된 테스트 시퀀스 중에서 수신된 벡터와 가장 짧은 유클리디안 거리를 갖는 벡터를 선정하고, 엠엘(ML, Maximum Likehood) 결정을 통해 외부 정보(extrinsic information)를 계산하며, 상기 복호화가 선정된 반복횟수만큼 진행되었는지 여부를 판단하고, 선정된 반복횟수만큼 진행된 경우에 에러를 추정하는 데이터 송수신 장치. - 부호율 및 길이 결정부에서, 송신 데이터에 대한 부호율 및 길이를 결정하는 단계;
생성 다항식 선택부에서, 상기 결정된 부호율 및 길이에 부합하는 생성 다항식을 선택하는 단계; 및
부호화부에서, 상기 결정된 부호율 및 상기 선택된 생성 다항식을 기반으로, 상기 송신 데이터의 부호화를 수행하는 단계
를 포함하고,
상기 부호화부에서, 상기 송신 데이터의 부호화를 수행하는 단계는,
상기 결정된 부호율 및 상기 생성 다항식을 기반으로, 블록 터보 부호화(BTC, Block Turbo Code)를 수행하는 단계
를 포함하는 데이터 송수신 장치의 동작 방법. - 삭제
- 부호율 및 길이 결정부에서, 송신 데이터에 대한 부호율 및 길이를 결정하는 단계;
생성 다항식 선택부에서, 상기 결정된 부호율 및 길이에 부합하는 생성 다항식을 선택하는 단계; 및
부호화부에서, 상기 결정된 부호율 및 상기 선택된 생성 다항식을 기반으로, 상기 송신 데이터의 부호화를 수행하는 단계
를 포함하고,
상기 부호화부에서, 상기 송신 데이터의 부호화를 수행하는 단계는,
상기 생성 다항식에 대한 각각의 행 및 열에 추가되는 비트수가 반영된, 선정된 개수의 바이너리 메시지 비트를 선정된 정방행렬에 나열하고, 상기 각각의 행 및 열을 BCH(Bose, Chaudhuri, Hocquenghem) 부호화하는 단계
를 포함하는 데이터 송수신 방법. - 부호율 및 길이 결정부에서, 송신 데이터에 대한 부호율 및 길이를 결정하는 단계;
생성 다항식 선택부에서, 상기 결정된 부호율 및 길이에 부합하는 생성 다항식을 선택하는 단계; 및
부호화부에서, 상기 결정된 부호율 및 상기 선택된 생성 다항식을 기반으로, 상기 송신 데이터의 부호화를 수행하는 단계
를 포함하고,
상기 부호화부에서, 상기 송신 데이터의 부호화를 수행하는 단계는,
상기 선택된 생성 다항식이 반영된 다항식 분할 회로(Polynomial Division Circuit)를 이용하여, 상기 송신 데이터에 대한 패리티 비트를 결정하는 단계
를 포함하는 데이터 송수신 장치의 동작 방법. - 제13항에 있어서,
상기 부호화부에서, 상기 송신 데이터의 부호화를 수행하는 단계는,
상기 다항식 분할 회로(Polynomial Division Circuit)에 입력되는 상기 송신 데이터 중에서 마지막 레지스터에 남아있는 값들을 이용하여 상기 패리티 비트를 결정하는 단계
를 포함하는 데이터 송수신 장치의 동작 방법. - 제10항에 있어서,
복호화부에서, 상기 부호화된 송신 데이터를 복호화하여 수신 데이터를 생성하는 단계
를 더 포함하는 데이터 송수신 장치의 동작 방법. - 제15항에 있어서,
상기 복호화부에서, 복호화하여 수신 데이터를 생성하는 단계는,
상기 부호화된 송신 데이터에 대해 체이스(chase) 알고리즘을 사용하여 1차 복호화를 수행하는 단계; 및
상기 1차 복호화된 송신 데이터에 이엘에프(ELF) 알고리즘을 사용하여 2차 복호화를 수행하여 상기 수신 데이터를 생성하는 단계
를 포함하는 데이터 송수신 장치의 동작 방법. - 제16항에 있어서,
상기 복호화부에서, 복호화하여 수신 데이터를 생성하는 단계는,
상기 체이스 알고리즘을 사용한 1차 복호화 후, 다시 상기 1차 복호화된 송신 데이터에 대해, 상기 생성 다항식 및 벌캄프-메시(Berlekamp-Messy) 알고리즘을 이용하여, 신드롬 다항식을 산출하여 상기 1차 복호화된 송신 데이터에 이엘에프(ELF) 알고리즘을 사용하는 단계
를 포함하는 데이터 송수신 장치의 동작 방법. - 제15항에 있어서,
에러 추정부에서, 에러를 추정하는 단계
를 더 포함하고,
상기 에러를 추정하는 단계는,
상기 부호화된 송신 데이터에 대해, 생성된 테스트 시퀀스 중에서 수신된 벡터와 가장 짧은 유클리디안 거리를 갖는 벡터를 선정하고, 엠엘(ML, Maximum Likehood) 결정을 통해 외부 정보(extrinsic information)를 계산하며, 상기 복호화가 선정된 반복횟수만큼 진행되었는지 여부를 판단하고, 선정된 반복횟수만큼 진행된 경우에 에러를 추정하는 단계
를 포함하는 데이터 송수신 장치의 동작 방법. - 제10항 및 제12항 내지 제18항 중에서 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120131418A KR101382865B1 (ko) | 2012-11-20 | 2012-11-20 | 가변 부호율 블록 터보 부호의 하이브리드 복호기를 포함하는 데이터 송수신 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120131418A KR101382865B1 (ko) | 2012-11-20 | 2012-11-20 | 가변 부호율 블록 터보 부호의 하이브리드 복호기를 포함하는 데이터 송수신 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101382865B1 true KR101382865B1 (ko) | 2014-04-08 |
Family
ID=50656992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120131418A KR101382865B1 (ko) | 2012-11-20 | 2012-11-20 | 가변 부호율 블록 터보 부호의 하이브리드 복호기를 포함하는 데이터 송수신 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101382865B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010009030A1 (en) | 1999-12-20 | 2001-07-19 | Philippe Piret | Encoding method and device, decoding method and device, and systems using them |
KR20030049178A (ko) * | 2001-12-14 | 2003-06-25 | 한국전자통신연구원 | 터보 코드 인코더 및 그의 부호율 감소 방법 |
KR20060063012A (ko) * | 2004-12-06 | 2006-06-12 | 삼성전자주식회사 | 통신 시스템에서 성상도 조합을 통한 데이터 전송 장치 및방법 |
KR20100004470A (ko) * | 2008-07-04 | 2010-01-13 | 삼성전자주식회사 | 광대역 무선통신 시스템에서 순열 시퀀스 생성 장치 및방법 |
-
2012
- 2012-11-20 KR KR1020120131418A patent/KR101382865B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010009030A1 (en) | 1999-12-20 | 2001-07-19 | Philippe Piret | Encoding method and device, decoding method and device, and systems using them |
KR20030049178A (ko) * | 2001-12-14 | 2003-06-25 | 한국전자통신연구원 | 터보 코드 인코더 및 그의 부호율 감소 방법 |
KR20060063012A (ko) * | 2004-12-06 | 2006-06-12 | 삼성전자주식회사 | 통신 시스템에서 성상도 조합을 통한 데이터 전송 장치 및방법 |
KR20100004470A (ko) * | 2008-07-04 | 2010-01-13 | 삼성전자주식회사 | 광대역 무선통신 시스템에서 순열 시퀀스 생성 장치 및방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8347178B2 (en) | Method, device and apparatus for correcting bursts | |
KR101176433B1 (ko) | 복호 장치 및 방법, 및 프로그램 | |
WO2018157854A1 (zh) | Polar码编译码方法及装置 | |
JP5705106B2 (ja) | ユークリッド空間リード−マラー符号の軟判定復号を実行する方法 | |
EP3562071A1 (en) | Polar code encoding and decoding method and device | |
EP3602794B1 (en) | Check bit concatenated polar codes | |
KR20090083758A (ko) | 연접 부호 복호화 방법 및 장치 | |
JP4227481B2 (ja) | 復号装置および復号方法 | |
JP2006238127A (ja) | 復号装置および方法、並びにプログラム | |
US7706481B2 (en) | Method and system for improving reception in wired and wireless receivers through redundancy and iterative processing | |
CN115398809A (zh) | 极化调整卷积码的列表解码 | |
CN110233698B (zh) | 极化码的编码及译码方法、发送设备、接收设备、介质 | |
WO2018223943A1 (en) | Method and apparatus for distributing assistant bits in encoding | |
Ortega et al. | Optimizing the co‐design of message structure and channel coding to reduce the TTD for a Galileo 2nd generation signal | |
KR101503995B1 (ko) | 저밀도 패리티 검사 부호를 사용하는 통신 시스템에서 채널 부호화/복호화 방법 및 장치 | |
JP4244700B2 (ja) | ターボ復号器及びそれに用いるダイナミック復号方法 | |
JP6567238B1 (ja) | 誤り訂正復号装置および誤り訂正復号方法 | |
CN111527705B (zh) | 用于解码器重用的信道码构造 | |
KR101382865B1 (ko) | 가변 부호율 블록 터보 부호의 하이브리드 복호기를 포함하는 데이터 송수신 장치 및 방법 | |
US9189321B2 (en) | Error correction encoding method, decoding method and associated devices | |
JP2009225325A (ja) | 復号方法および復号装置、並びにプログラム | |
KR101630114B1 (ko) | 최소합 알고리즘을 이용한 ldpc 복호화 장치 및 방법 | |
KR20220157146A (ko) | 극 부호의 부호화 및 복호화를 위한 방법 및 장치 | |
JP2010068083A (ja) | 復号装置、および復号方法 | |
US20120166905A1 (en) | Method and apparatus for controlling decoding in receiver |
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 | ||
FPAY | Annual fee payment |
Payment date: 20170328 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180403 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190401 Year of fee payment: 6 |