KR20080074858A - 데이터를 복호화 및 부호화하는 방법 및 장치 - Google Patents
데이터를 복호화 및 부호화하는 방법 및 장치 Download PDFInfo
- Publication number
- KR20080074858A KR20080074858A KR1020087006580A KR20087006580A KR20080074858A KR 20080074858 A KR20080074858 A KR 20080074858A KR 1020087006580 A KR1020087006580 A KR 1020087006580A KR 20087006580 A KR20087006580 A KR 20087006580A KR 20080074858 A KR20080074858 A KR 20080074858A
- Authority
- KR
- South Korea
- Prior art keywords
- sequence
- input data
- matrix
- decoding
- maximum likelihood
- 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
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- 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/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming 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/2957—Turbo codes and decoding
- H03M13/296—Particular turbo code structure
- H03M13/2963—Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
- H03M13/453—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein the candidate code words are obtained by an algebraic decoder, e.g. Chase decoding
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
입력 데이터 시퀀스를 복호화하는 방법이 제공되어 있다. 상기 방법은 복수 개의 테스트 시퀀스들을 생성하는 단계, 각각의 테스트 시퀀스가 대응하는 미리 정해진 비트들의 개수만큼 상기 각각의 테스트 시퀀스에 인접한 테스트 시퀀스들과는 다르게끔 상기 복수 개의 테스트 시퀀스들에 대한 순서를 결정하는 단계, 및 상기 순서화된 테스트 시퀀스들 및 상기 입력 데이터 시퀀스로 최대 우도(maximum likelihood) 프로세스를 수행하여 최대 우도 시퀀스를 생성하는 단계를 포함한다.
Description
본 출원은 미국 임시 출원 제60/734,054호(2005년 11월 7일자 출원됨) 및 제60/734,080호(2005년 11월 7일자 출원됨)를 기초로 우선권을 주장한 것이며, 상기 미국 임시 출원들의 모든 내용들은 여러 목적에 적합하도록 본 출원에 참조로 포함되어 있다.
본 발명은 데이터를 복호화 및 부호화하는 방법과 아울러, 그에 대응하는 장치에 관한 것이다.
순방향 오류 정정(Forward Error Correction; FEC) 부호화는 통신 기술에서데이터 송신시 생긴 한정된 개수의 오류들이 수신 단에서 정정될 수 있게 하는데 사용되고 있다. 최근에는, 베루에(Berrou)에 의해 터보 부호들(Tubo Codes; TC)[1]이라고 불리는 새로운 FEC 부호화 방식이 제안되었는데, 이는 SISO(Soft Input Soft Output) 반복 복호기를 사용하여 샤논의 정리(Shannon's Theorem)에 의해 예측된 가산 백색 가우스 잡음(Additive White Gaussian Noise; AWGN) 채널 상에서 이론적 한계치에 근접한 성능 레벨들을 획득할 수 있다. 이러한 새로운 부호화 방식은 병렬 연결된 2개의 재귀적 조직 길쌈 부호(Recursive Systematic Convolution Codes)로 이루어지기 때문에, 길쌈 터보 부호(Convolutional Tubo Codes; CTC)로 알려져 있는 것이 일반적이다.
그 뒤를 이어, 핀디아(Pyndiah)에 의해 터보 곱 부호(Tubo Product Codes; TPC)[2][3]와 아울러, 상기 터보 곱 부호에 대한 효율적인 복호화 알고리즘이 제안되었다. 상기 터보 곱 부호는 상기 길쌈 터보 부호에 필적할 만한 성능을 보이고 더 높은 부호화율을 지원할 수 있다. 이러한 이점들 때문에, 터보 곱 부호는 IEEE 802.16 네트워크의 물리 계층과 아울러, 위성 통신 및 디지털 저장 시스템에서 사용되어 왔다.
이러한 2가지 최근의 개발을 통해 더 높은 성능 레벨들을 갖는 부호화 기법을 획득하기 위한 지속적인 엄청난 연구 노력이 이루어지고 있다. 이러한 새로운 부호화 기법들에 대한 복호화의 복잡성을 감소시키려는 추가적인 연구 노력이 또한 이루어지고 있다. 예를 들면, 터보 곱 부호의 복호화에 대한 복잡성을 부가적으로 감소시키기 위해, 체이스(Chase) 알고리즘[4]이 반복 복호화를 위해 각각의 비트 위치에 대한 외부 정보(extrinsic information)를 획득하는데 사용된다.
본 출원의 대응하는 독립 청구항에서 정의되는 바와 같은 방법 및 장치는 더 높은 성능 레벨들을 갖는 부호화 기법들을 획득하기 위한 이러한 노력에 부가적으로 기여한다.
본 발명의 제1 실시태양에서는, 입력 데이터 시퀀스를 복호화하는 방법이 제공되며, 상기 방법은 복수 개의 테스트 시퀀스들을 생성하는 단계, 각각의 테스트 시퀀스가 대응하는 미리 정해진 비트들의 개수만큼 상기 각각의 테스트 시퀀스에 인접한 테스트 시퀀스들과는 다르게끔 상기 복수 개의 테스트 시퀀스들에 대한 순서를 결정하는 단계, 및 상기 순서화된 테스트 시퀀스들 및 상기 입력 테스트 시퀀스로 최대 우도(maximum likelihood) 프로세스를 수행하여 최대 우도 시퀀스를 생성하는 단계를 포함한다.
본 발명의 제2 실시태양에서는, 복호화 장치가 제공되고, 상기 복호화 장치는 복수 개의 테스트 시퀀스들을 생성하는 생성기, 각각의 테스트 시퀀스가 대응하는 미리 정해진 비트들의 개수만큼 상기 각각의 테스트 시퀀스에 인접한 테스트 시퀀스들과는 다르게끔 상기 복수 개의 테스트 시퀀스들에 대한 순서를 결정하는 제1 유닛, 및 상기 순서화된 테스트 시퀀스들 및 상기 상기 입력 데이터 시퀀스로 최대 우도 프로세스를 수행하여 최대 우도 시퀀스를 생성하는 제2 유닛을 포함한다.
본 발명의 제3 실시태양에서는, 컴퓨터에 의해 실행될 경우에 컴퓨터로 하여금 입력 데이터 시퀀스를 복호화하는 방법을 수행하게 하는 컴퓨터 프로그램 생성물이 제공되며, 상기 방법은 복수 개의 테스트 시퀀스들을 생성하는 단계, 각각의 테스트 시퀀스가 대응하는 미리 정해진 비트들의 개수만큼 상기 각각의 테스트 시퀀스에 인접한 테스트 시퀀스들과는 다르게끔 상기 복수 개의 테스트 시퀀스들에 대한 순서를 결정하는 단계, 및 상기 순서화된 테스트 시퀀스들 및 상기 입력 데이터 시퀀스로 최대 우도 프로세스를 수행하여 최대 우도 시퀀스를 생성하는 단계를 포함한다.
이하에 기재된 한 실시예는 상기 체이스 알고리즘의 변형예로서 보일 수 있다. 복호화 프로세스에서 최초의 체이스 알고리즘에 대한 복잡성을 감소시키려는 목적이 달성될 수 있다. 그러한 변형예들은 각각의 테스트 시퀀스가 미리 결정된 비트들의 개수만큼 상기 각각의 테스트 시퀀스에 인접한 테스트 시퀀스들과는 다르게끔 상기 테스트 시퀀스들을 구성하는 단계, 및 최대 가중치 및 최대 우도 시퀀스의 가중치 간의 차를 갖는 계수를 포함하는 최대 우도 시퀀스에 대한 신뢰성 지표(reliability indicator)를 계산하는 신규한 수학식을 획득하는 단계를 포함할 수 있다. 변형된 체이스 알고리즘을 통해 복호화 프로세스에 대한 복잡성이 상당히 감소된다.
본 발명의 실시예들은 종속 청구항들에 기재되어 있다.
한 실시예에서는, 생성된 최대 우도 시퀀스에 대한 신뢰성 지표가 결정될 수 있다. 다른 한 실시예에서는, 획득된 최대 우도 시퀀스에 대한 신뢰성 지표의 계수가 최대 가중치 및 최대 우도 시퀀스의 가중치 간의 차를 포함한다. 또 다른 한 실시예에서는, 획득된 최대 우도 시퀀스에 대한 신뢰성 지표의 계수가 생성된 최대 우도 시퀀스에서 최소로 신뢰성이 있는 비트 위치들의 개수를 더 포함한다.
본 명세서에서 사용되는 생성된 최대 우도 시퀀스에 대한 신뢰성 지표는 획득된 최대 우도 시퀀스의 상대적인 신뢰성을 측정하도록 계산된 값을 말한다. 예를 들면, 생성된 최대 우도 시퀀스에 대한 신뢰성 지표는 최대 우도 시퀀스의 외부 정보일 수 있지만, 이것에 국한되지 않는다.
한 실시예에서는, 오류에 직면하게 되는 경우에, 상기 테스트 시퀀스들이 섭동(perturbation)될 수 있다. 다른 한 실시예에서는, 상기 테스트 시퀀스들이 상기 테스트 시퀀스들의 미리 결정된 비트들을 반전시킴으로써 섭동될 수 있다.
한 실시예에서는, 상기 대응하는 미리 정해진 비트들의 개수가 1이다. 이것이 의미하는 것은 2개의 인접한 테스트 시퀀스들이 단지 1 비트에서만 다르다는 것을 의미한다.
본 발명의 제4 실시태양에서는, 입력 데이터 시퀀스를 부호화하는 방법이 제공되며, 상기 방법은 최소한 하나의 부호화 매트릭스를 결정하는 단계, 상기 결정된 최소한 하나의 부호화 매트릭스를 순서화하는 단계, 상기 입력 데이터 시퀀스를 입력 데이터 매트릭스로 구성하는 단계, 및 상기 구성된 적어도 하나의 부호화 매트릭스를 사용하여 상기 입력 데이터 매트릭스에 대한 연산들을 수행하여 부호화된 데이터 블록을 생성하는 단계를 포함한다.
본 발명의 제5 실시태양에서는, 부호화 장치가 제공되고, 상기 부호화 장치는 적어도 하나의 부호화 매트릭스를 결정하는 제1 유닛, 상기 결정된 적어도 하나의 부호화 매트릭스를 순서화하는 제2 유닛, 상기 입력 데이터 시퀀스를 입력 데이터 매트릭스로 구성하는 제3 유닛, 및 상기 구성된 적어도 하나의 부호화 매트릭스를 사용하여 상기 입력 데이터 매트릭스에 대한 연산들을 수행하여 부호화된 데이터 블록을 생성하는 제4 유닛을 포함한다.
본 발명의 제6 실시태양에서는, 컴퓨터에 의해 실행될 경우에 컴퓨터로 하여금 입력 데이터 시퀀스를 부호화하는 방법을 수행하게 하는 컴퓨터 프로그램 생성물이 제공되며, 상기 방법은 적어도 하나의 부호화 매트릭스를 결정하는 단계, 상기 결정된 적어도 하나의 부호화 매트릭스를 순서화하는 단계, 상기 입력 데이터 시퀀스를 입력 데이터 매트릭스로 구성하는 단계, 및 상기 구성된 적어도 하나의 부호화 매트릭스를 사용하여 상기 입력 데이터 매트릭스에 대한 연산들을 수행하여 부호화된 데이터 블록을 생성하는 단계를 포함한다.
예를 들어, 최초의 부호화 매트릭스의 각각의 열(column)의 값이 오름차순으로 이루어지게끔 상기 부호화 매트릭스를 재구성함으로써 새로운 부호화 매트릭스가 획득된다. 이러한 새로운 부호화 매트릭스로 생성되는 부호화된 데이터 백터의 경우에, 오류가 생기면, 복호기 측에서는, 이러한 오류가 단순히 오류의 신드롬으로 표시된 위치에 있는 비트 값을 반전시킴으로써 생성된 오류의 신드롬을 사용하여 직접 정정될 수 있다. 그러나, 최초의 부호화 매트릭스로 생성되는 부호화된 데이터 벡터의 경우에, 오류 비트의 위치를 결정할 수 있게끔 생성된 오류의 신드롬에 대한 부가적인 처리가 여전히 필요하다. 따라서, 이러한 새로운 부호화 매트릭스로 생성되는 부호화된 데이터 벡터의 복호화가 단순해진다.
한 실시예에서는, 각각의 열에 있는 비트 값들로 표현되는 정수 값들이 오름차순으로 이루어지게끔 적어도 하나의 부호화 매트릭스의 열들을 구성함으로써 상기 결정된 적어도 하나의 부호화 매트릭스가 순서화될 수 있고, 최상위에 있는 행(row)의 비트가 각각의 열의 최하위 비트에 대응한다.
한 실시예에서는, 상기 결정된 적어도 하나의 부호화 매트릭스가 순서화되기 전에, 상기 결정된 적어도 하나의 부호화 매트릭스의 맨 우측에 있는 열 다음에 미리 결정된 값들의 열이 부가될 수 있고 상기 결정된 적어도 하나의 부호화 매트릭스의 최하위에 있는 행 아래에 미리 결정된 값들의 행이 부가될 수 있다. 다른 한 실시예에서는, 상기 미리 결정된 값들의 열이 모두 제로(0)인 열일 수 있고, 상기 미리 결정된 값들의 행이 모두 1인 행일 수 있다.
한 실시예에서는, 미리 결정된 부호화된 데이터 블록의 행들 또는 미리 결정된 부호화된 데이터 블록의 열들이 제거될 수 있다. 다른 한 실시예에서는, 미리 결정된 부호화된 데이터 블록의 연속 비트들의 집합이 제거될 수도 있고 미리 결정된 데이터로 대체될 수도 있다. 또 다른 한 실시예에서는, 상기 미리 결정된 데이터가 모두 제로(0)인 값들의 집합일 수 있다. 또 다른 한 실시예에서는, 상기 미리 결정된 데이터가 순환 중복 검사(cyclic redundancy check; CRC) 데이터일 수 있다.
여기서 알 수 있는 점은 본 발명에 의해 제공되는 입력 데이터 시퀀스를 복호화하는 방법이 다음과 같은 이점을 제공한다는 것, 다시 말하면 본 발명에 의해 제공되는 입력 데이터 시퀀스를 복호화하는 방법을 사용하는 복호화 프로세스가 최초의 체이스 알고리즘을 사용하는 복호화 프로세서에 비하여 적은 복잡성을 갖는다는 것이다.
그 외에도, 여기서 또한 알 수 있는 점은 본 발명에 의해 제공되는 입력 데이터 시퀀스를 부호화하는 방법이 다음과 같은 이점을 제공한다는 것이다. 본 발명에 의해 제공되는 입력 데이터 시퀀스를 부호화하는 방법을 사용하여 생성되는 부호화된 데이터 벡터 또는 블록의 경우에, 오류가 생기면, 그 오류의 비트 위치가 계산된 신드롬으로부터 직접 획득될 수 있다.
따라서, 본 발명에 의해 제공되는 입력 데이터 시퀀스를 부호화하는 방법을 사용하여 생성되는 부호화된 데이터 벡터 또는 블록의 복호화는 단순해진다.
상기 제공된 입력 데이터 시퀀스를 복호화하는 방법 및 입력 데이터 시퀀스를 부호화하는 방법이라는 문맥으로 기재된 실시예들은 장치들 및 컴퓨터 프로그램 생성물들에도 마찬가지로 적용된다.
도 1은 본 발명의 한 실시예에 따른 통신 시스템을 보여주는 도면이다.
도 2는 본 발명의 한 실시예에 따른 부호화 및 복호화 프로세스들에 의해 수행되는 동안 신드롬 및 중간 단계들을 보여주는 도면이다.
도 3은 터보 곱 부호(TPC)의 일례를 보여주는 도면이다.
도 4는 본 발명의 한 실시예에 따른 터보 곱 부호(TPC)의 일례를 보여주는 도면이다.
도 5는 최초의 체이스 알고리즘 및 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘 간의 개의 열들 및 개의 행들을 갖는 스퀘어 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록의 복호화 복잡성에 대한 비교를 보여주는 도면이다.
도 6은 최초의 체이스 알고리즘 및 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘 간의 (64, 57, 3) 해밍 부호 블록의 복호화 복잡성에 대한 비교를 보여주는 도면이다.
도 7은 본 발명의 한 실시예에 따른 복호기의 성능 결과들을 보여주는 도면이다.
도 1은 본 발명의 한 실시예에 따른 통신 시스템(100)을 보여주는 도면이다.
송신 경로 측에서는, 상기 통신 시스템(100)이 정보 소스 및 입력 트랜스듀서(101), 소스 부호기(103), 채널 부호기(105) 및 디지털 변조기(107)를 포함한다. 상기 정보 소스 및 입력 트랜스듀서(101)에 의해 생성되는 신호는 송신되기 전에 상기 소스 부호기(103), 상기 채널 부호기(105) 및 상기 디지털 변조기(107)에 의해 처리된다. 상기 송신된 신호는 수신 신호로서 수신 단에 도달하기 전에 채널(109)을 통과한다.
수신 경로 측에서는, 상기 통신 시스템(100)이 디지털 복조기(111), 채널 복호기(113), 소스 복호기(115) 및 출력 트랜스듀서(117)를 포함한다. 그리고나서, 상기 수신 신호는 이상적인 시나리오에서 상기 정보 소스 및 입력 트랜스듀서(101)에 의해 생성된 신호와 동일한 신호를 검색하기 위해 상기 수신 경로 측의 컴포넌트들을 통해 처리된다.
상기 송신 경로 측의 각각의 컴포넌트는 상기 수신 경로 측의 대응하는 컴포넌트를 지닌다. 예를 들면, 상기 송신 경로 측에는 채널 복호기(105)가 있으며, 상기 수신 경로 측에서 그에 대응하는 컴포넌트는 상기 채널 복호기(113)이다.
상기 통신 시스템(100)에서의 전형적인 신호 송신시, 상기 신호에는 오류들이 생길 수 있는 가능성이 있다. 오류들은 상기 채널(109)을 통한 상기 신호의 송신시에 생기는 것이 일반적이다. 따라서, 채널 부호기(105) 및 그에 대응하는 채널 복호기(113)는 상기 채널(109)을 통한 신호 송신시 생기는 오류들을 감소시키고, 가능하다면 그 오류들을 제거하기 위해 전형적인 통신 시스템(100)에 제공된다.
이러한 경우에, 상기 채널 부호기(105)는 터보 곱 부호(Tubo Product Code; TPC) 부호기일 수 있으며, 이는 본 발명에 의해 제공되는 데이터를 부호화하는 방법에 의해 구현될 수 있다. 이에 대응하여, 상기 채널 복호기(113)는 터보 곱 부호(TPC) 복호기일 수 있으며, 이는 본 발명에 의해 제공되는 데이터를 복호화하는 방법을 사용하여 구현될 수 있다.
상기 터보 곱 부호(TPC) 부호기는 다음과 같이 설명될 수 있다.
이하의 설명에서는, 다음과 같은 규칙이 사용된다. 는 매트릭스 또는 벡터 집합을 언급하며, 는 상기 매트릭스()의 번째 행을 언급한다. 이와 관련하여, 는 의 번째 요소를 언급한다. 그러나, 가 단지 하나의 행을 갖는 경우에, 는 의 번째 요소를 언급한다.
는 이 정수 값일 때, 부호 길이()가 이고, 정보 비트들의 개수()가 이며, 최소 해밍 길이()가 인 경우에 생성기 매트릭스() 및 패리티 검사 매트릭스()로 해밍 부호에 의해 부호화된 데이터 벡터(,,)를 나타낸다. 그 외에도, 상기 부호 길이() 및 상기 정보 비트들의 개수()는 또한 정수 값들이다. 은 인 조건일 경우에 설정가능한 값이다.
는 가 패리티 서브-매트릭스일 경우 로서 조직 형태로 표현될 수 있다. 따라서, 대응 패리티 검사 매트릭스()는 로 표현될 수 있다. = 3일 경우 매트릭스들(,,) 각각의 예는 수학식 1, 2 및 3으로 각각 표기될 수 있다. = 3이고, = 7이며 = 4일 경우에 수학식 1, 2 및 3이 다음과 같이 표기될 수 있다.
해밍 부호들에 대한 부호화 프로세스는 생성기 매트릭스()를 사용하여 로 표기되는 것이 전형적이다. 정보 비트들은 또한 패리티 검사 매트릭스()를 사용하여 부호화될 수 있다. 일 경우에, 패 리티 검사 매트릭스()를 사용하는 부호화 프로세스는 더 적은 계산 횟수를 필요로 한다. 이와 같은 경우들에서는, 패리티 검사 매트릭스()를 사용하는 부호화 프로세스가 임을 기초로 하여 구현됨으로써, 개의 패리티 검사 비트들()이 이하의 수학식 4와 같이 구해진다.
해밍 부호들은 이러한 해밍 부호들의 패리티 검사 매트릭스()가 그의 모든 열들에 대해 다른 값들을 지니게끔 하는 특성을 지닌다. 예를 들면, 수학식 3에서는, 패리티 검사 매트릭스()가 그의 모든 열들에 대해 (3, 5, 6, 7, 1, 2, 4)의 값들을 지니는데, 이 경우 최상위에 있는 행의 비트들은 최하위 비트(LSB) 값들이다.
예를 들면 위치에서 단일의 오류가 생긴 경우에, 수신 벡터()의 신드롬()은 그 오류가 생긴 위치에서 의 열을 나타낸다. 가 오류 벡터를 나타낸다고 하자. 그의 모든 성분들이 번째 성분, 다시 말하면 을 제외하고는 제로(0)와 같다고 가정하기로 하면, 수신된 벡터의 신드롬()은 다음과 같은 수학식 5로 표현된다.
상기 수학식 5 중, 은 의 번째 열을 나타낸다. 예를 들면, 상기 수학식 3으로 표기된 패리티 검사 매트릭스()를 사용하여 생성된 해밍 부호에 의해 부호화된 데이터 벡터에서의 단일 비트 오류에 대한 가능한 신드롬 리스트가 도 2의 좌측 섹션에 표기되어 있다.
상기 수학식 5에서, 의 열들이 오류 위치의 이진 표현으로서 표기될 경우에, 상기 신드롬()의 값은 상기 오류의 비트 위치를 결정하는데 직접 사용될 수 있다. 이를 이루기 위하여, 패리티 검사 매트릭스()의 열들은 이러한 열들의 값들이 오름차순으로 이루어지게끔 재구성될 수 있다.
예를 들면, 앞서 나타낸 바와 같은 수학식 3에서, 패리티 검사 매트릭스()는 그의 모든 열들에 대해 (3, 5, 6, 7, 1, 2, 4)의 값들을 지니는데, 이 경우 최상위에 있는 행의 비트는 최하위 비트(LSB)이다. 그의 모든 열들에 대한 값들을 (1, 2, 3, 4, 5, 6, 7)로서 재구성함으로써, 이하의 수학식 6과 같은 결과적인 매트릭스()가 구해진다.
상기 매트릭스()를 사용하여 생성되는 해밍 부호에 의해 부호화된 데이터 벡터는 패리티 검사 매트릭스()를 통해 최초로 해밍 부호에 의해 부호화된 데이터 벡터의 재구성된 버전이다. 일반적으로는, 이고 일 때 해밍 부호의 경우에, 패리티 검사 비트들은 의 로 번호지정된 열들에 있다. 나머지 부호화된 비트들은 상기 패리티 검사 매트릭스()가 사용되는 경우와 동일한 순서로 열 번호(3)에서 시작하도록 구성된다. 이는 도 2의 예시를 통해 이하에서 심도있게 설명될 것이다.
상기 복호기 측에서는, 패리티 검사 매트릭스()를 사용하여 생성되는 해밍 부호에 의해 부호화된 데이터 벡터의 경우에, 신드롬()은 먼저 수신 벡터로부터 상기 수학식 5를 사용하여 계산된다. 그리고나서, 상기 계산된 신드롬은 조사표(look up table)로부터 대응하는 오류 패턴을 구하는데 사용된다. 그리고나서, 상기 수신 벡터 및 오류 패턴에 대한 배타적-OR(XOR) 연산에 의해 정정된 수신 벡터가 구해진다. 다음에는, 패리터 검사 비트들을 제거한 후에 상기 정정된 수신 벡터로부터 정보 비트들이 복구될 수 있다.
그러나, 상기 매트릭스()를 사용하여 생성되는 해밍 부호에 의해 부호화 된 데이터 벡터의 경우에, 경판정(hard decision) 복호화를 구현하는 것이 용이한데, 그 이유는 수학식 5에 의해 계산된 신드롬()이 상기 오류의 비트 위치를 직접 제공하기 때문이다. 그리고나서, 정정된 수신 벡터를 구하기 위해 상기 수신 벡터에서 오류가 있는 비트는 반전된다. 그러므로, 상기 계산된 신드롬에 대응하는 오류 패턴을 구하기 위해 조사표를 참조하는 단계가 전혀 필요하지 않다. 따라서, 상기 매트릭스()를 사용하여 생성되는 해밍 부호들의 이와 같은 특성은 차후에 설명될 터보 곱 부호(TPC) 복호화 프로세스의 복잡성을 감소시키는데 사용될 수 있다.
부가 예로서, 도 2에 도시된 바와 같이, 상기 패리티 검사 매트릭스() 및 상기 매트릭스()를 사용하여 생성되는 부호화된 데이터 벡터들에 대한 부호화 및 복호화 프로세스들이 예시되어 있다. 이러한 예시에서는, 정보 비트들이 (201)로서 취해진다.
패리티 검사 비트들을 구하기 위해 수학식 4를 사용하는 패리티 검사 매트릭스()의 경우에, 상기 생성된 해밍 부호에 의해 부호화된 데이터 벡터는 (203)로 제공된다. 송신시, 이를테면, 비트 위치(2)에서 오류가 생긴다. 따라서, 수신 벡터()는 (205)로 제공된다.
상기 조사표로부터 (207)로서 획득된 신드롬()을 사용하면, (207)의 신드롬 값에 대응하는 행(209)은 대응하는 오류 패턴이 (211)임을 나타낸다. 상기 수신 벡터 및 상기 오류 패턴에 대한 배타적 OR(XOR) 연산에 의해 구해진 정정된 수신 벡터는 인데, 이는 상기 부호화된 데이터 벡터(203)와 동일하다.
상기 패리티 검사 매트릭스()의 경우에, 수학식 6으로부터 알 수 있는 점은 패리티 검사 비트 위치들이 의 1, 2, 4로 번호지정된 열들에 있다는 것이다. 따라서, 패리티 검사 서브-매트릭스()의 전치(轉置; transpose)가 1, 2 및 4로 번호지정된 열들을 삭제함으로써 구해질 수 있다.
이러한 매트릭스 및 수학식 4로부터, 3개의 패리티 검사 비트는 로서 구해진다. 따라서, 상기 패리티 비트들을 1, 2 및 4로 번호지정된 열들에 삽입한 다음에 정보 비트(201)를 열(3)에서 시작하는 나머지 열들 내에 삽입한 다음에 획득되는 부호화된 벡터 또는 해밍 부호는 (215)가 된다.
이러한 신드롬 (219)이 오류 비트의 비트 위치를 직접 제공함에 따라, 비트 위치(2)에 있는 비트를 반전시킴으로써 획득되는 정정된 수신 워드는 (221)가 된다. 여기서 알 수 있는 점은 상기 정정된 수신 워드가 상기 부호화된 데이터 벡터와 동일하다는 것이다. 따라서, 이러한 예시로부터 알 수 있는 점은 상기 매트릭스()를 사용하여 생성되는 해밍 부호에 의해 부호화된 데이터 벡터에 대한 복호화 프로세스는 단순해지는데, 그 이유는 계산된 신드롬이 오류 비트의 비트 위치를 직접 제공하기 때문이다.
앞서 설명된 바와 같이, 상기 매트릭스()는 상기 열들의 값들이 오름차순으로 이루어지게끔 패리티 검사 매트릭스()의 열들을 재구성함으로써 상기 패리티 검사 매트릭스()로부터 생성된다. 변형적인 매트릭스()가 또한 상기 매트릭스()와 유사한 방식으로 생성될 수 있으며, 상기 매트릭스()를 사용하여 생성된 해밍 부호들은 또한 상기 매트릭스()를 사용하여 생성된 해밍 부호와 동일한 고유 특성들을 갖는다. 상기 매트릭스()를 사용하여 생성되는 해밍 부호들 과 구별하기 위해, 상기 매트릭스()를 사용하여 생성된 해밍 부호들이 이후에는 확장 해밍 부호들이라고 언급된다.
상기 매트릭스()는 다음과 같이 생성될 수 있다. 먼저, 모두 제로(0)인 열이 패리티 검사 매트릭스() 중 맨 우측에 있는 열에 부가된다. 그 다음으로는, 모두 제로(0)인 열이 상기 패리티 검사 매트릭스() 중 맨 우측에 있는 열에 부가된다. 중간 결과로서 생성된 매트릭스()가 이하의 수학식 10과 같이 표기된다.
그리고나서, 상기 매트릭스()는 패리티 검사 매트릭스()의 열들의 값들이 이하의 수학식 11에서 표기된 바와 같이 오름차순으로 이루어지게끔 상기 패리티 검사 매트릭스()의 열들을 재구성함으로써 패리티 검사 매트릭스()로부터 생성된다.
다음에는, 본 발명의 한 실시예에 따른 터보 곱 부호(TPC)를 생성하는 절차가 설명된다. 예를 들면, 터보 곱 부호(TPC)는,
4) 상기 패리티 검사 비트들을 계산한 다음에 결과적으로는 대응하는 행들 및 열들에 대하여 상기 패리티 검사 비트들을 삽입함과 같이,
앞서 설명된 절차에 따라 생성되는 터보 곱 부호(TPC)의 최소 해밍 길이, 정보 비트들의 개수 및 부호워드 길이는 각각 , 및 이다. 이것은 큰 최소 해밍 길이를 갖는 긴 블록 부호를 의미하는 것이며, 작은 최소 해밍 길이들을 갖는 2개의 짧은 블록 부호들로부터 획득될 수 있다.
도 3은 상기 패리티 검사 매트릭스()를 사용하여 생성되는 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록(300)을 보여주는 도면이고, 도 4는 본 발명의 한 실시예에 따른 패리티 검사 매트릭스()를 사용하여 생성되는 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록(400)을 보여주는 도면이다.
도 3에서, 인 경우 행에 있는 비트들은 정보 비트들(301)이다. 그와 동일한 행에서는, 비트들이 행(303)에 대한 패리티 검사 비트들이고, 비트()는 전체 행(305)에 대한 단일의 패리티 검사 비트일 수 있다.
마찬가지로, 인 경우 열에 있는 비트들은 정보 비트들(301)이다. 그와 동일한 열에서는, 비트들이 열(307)에 있는 패리티 검사 비트들이며, 비트()는 열(305)에 대한 단일의 패리티 검사 비트일 수 있다.
마지막으로, 일 경우에 행에 있는 비트들은 패리티 검사 비트들(309)에 있는 패리티 검사 비트들이다. 이는 일 경우에 행에 있는 비트들이 모두 (열들에 있는) 패리티 검사 비트들(307)이기 때문이다. 따라서, 부호화 프로세스가 패리티 검사 비트들의 행에서 수행될 경우에, 상기 부호화 프로세스의 결과로서 획득되는 패리티 검사 비트들은 패리티 검사 비트들에 있는 패리티 검사 비트들이다.
반면에, 도 4에서 알 수 있는 점은 패리티 검사 비트들이 로 번호지정된 열들뿐만 아니라 행들에 있다는 것이다. 그 외에도, 행 및 열이 모두 중 하나로서 번호지정되는 비트들은 패리티 검사 비트 들(401)에 있는 패리티 검사 비트들이다. 따라서, 앞서 설명된 매트릭스() 및 상기 매트릭스()를 사용하여 생성되는 부호화된 벡터의 특성들은 또한 도 4에 도시된 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록에서도 이루어진다.
도 2의 예시로부터 알 수 있는 점은 상기 매트릭스()를 사용하여 생성되는 해밍 부호에 의해 부호화된 데이터 벡터의 복호화가 수신 벡터로부터 계산된 신드롬에 대응하는 오류 패턴을 획득하는데 조사표를 필요로 하지 않음으로써, 복호화 복잡성을 감소시킨다는 것이다. 따라서, 도 4에 도시된 TPC에 의해 부호화된 데이터 블록에 대한 복호화 복잡성은 도 3에 도시된 TPC에 의해 부호화된 데이터 블록에 비하여 훨씬 더 감소된다. 이는 도 3에 도시된 TPC에 의해 부호화된 데이터 블록에 대한 복호화 프로세스가 상기 복호화 프로세스에서의 모든 반복에 대한 행 인덱스 및 열 인덱스의 곱에 대한 배수들을 포함하기 때문이다.
다음에는, 상기 터보 곱 부호(TPC)의 부호화율이 어떻게 변형되는지에 대한 설명이 제공될 것이다. 전형적으로는 모든 부호기가 (자신의 입력 측의) 정보 비트들의 개수 및 (자신의 출력 측의) 부호화된 데이터 비트들의 개수 간의 비율로서 제공되는 것이 일반적인 부호화율을 지닌다. 부호기가 원하는 부호화율을 지니지 않는 경우에, (부호화) 비율 매칭이라 불리는 프로세스가 원하는 부호화율을 획득하기 위해 부호화 프로세스 다음에 구현될 수 있다.
앞서 설명된 터보 곱 부호(TPC)의 경우에, 상기 비율 매칭은,
a) 상기 부호화된 데이터 블록으로부터 미리 결정된 개수의 행들을 제거하는 단계,
b) 상기 부호화된 데이터 블록으로부터 미리 결정된 개수의 열들을 제거하는 단계,
c) 상기 부호화된 데이터 블록에 있는 행으로부터 미리 결정된 개수의 비트들을 제거하는 단계,
d) 상기 부호화된 데이터 블록에 있는 행으로부터 미리 결정된 개수의 비트들을 미리 결정된 값들의 집합으로 대체하는 단계의 조합을 통해 수행될 수 있다.
전형적으로는, 단계 d)의 경우에, 상기 부호화된 데이터 블록에 있는 행으로부터 미리 결정된 개수의 비트들을 대체하기 위해 사용되는 미리 결정된 값들의 집합은 모두 제로(0)인 값들의 집합이다. 상기 부호화된 데이터 블록에 있는 행으로부터 미리 결정된 개수의 비트들을 대체하기 위해 사용되는 미리 결정된 값들의 집합은 또한 상기 정보 비트들로부터 생성된 순환 중복 검사(CRC) 비트들일 수 있다.
여기에서의 순환 중복 검사(CRC)의 사용을 통해 수신기 측에서 정보 비트들에 오류들이 있는지를 결정하기 위한 신속한 검사가 수행될 수 있다. 상기 정보 비트들에 어떠한 오류도 없는 것으로 결정되는 경우에, 상기 정보 비트들은 터보 곱 부호(TPC) 복호화 프로세스를 수행할 필요 없이 단순히 상기 부호화된 데이터 블록으로부터 추출될 수 있다.
다음으로는, 상기 터보 곱 부호(TPC) 복호기는 다음과 같이 설명될 수 있다.
앞서 언급된 바와 같이, 터보 곱 부호들을 복호화하는 복잡성을 부가적으로 감소시키기 위해, 상기 체이스 알고리즘[4]이 반복 복호화를 위해 각각의 비트 위 치에 대한 외부 정보를 획득하는데 사용되었다. 그러나, 여기서 알 수 있었던 점은 상기 체이스 알고리즘의 복잡성이 그래도 비교적 높다는 것이었다.
여기서 알 수 있었던 점은 상기 체이스 알고리즘에서의 단계들의 개수가 전형적으로는 루프 구조를 통해 구현된다는 것이었다. 따라서, 복잡성의 감소는 루프 구조 내에서 상기 단계들을 최적화함으로써 이루어질 수 있다. 본 발명의 한 실시예에 의하면, 복호화 복잡성의 감소는 부호화 측면과 아울러 복호화 측면 모두에서 고려된다. 상기 부호화 측면에서 고려된 복호화 복잡성의 감소는 앞서 설명되었으며, 지금부터는 복호화 복잡성의 감소가 복호화 측면에서 고려될 것이다.
상기 복호화 측면에서 고려된 복호화 복잡성의 감소는 다음과 같이 설명될 수 있다. 앞서 설명된 터보 곱 부호들(TPC)을 생성하는 절차를 사용함으로써, 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘은 다음과 같은 단계들을 따라 구현될 수 있다.
b) 테스트 패턴이 단지 1 비트만큼 상기 테스트 패턴에 인접한 테스트 패턴들과는 다르게끔 테스트 패턴들을 재순서화하는 단계.
다른 모든 위치들에 대하여 이하의 수학식 13과 같이 수신 신호에 대한 외부 정보를 계산하는 단계.
최초의 체이스 알고리즘과 유사한 단계 5a)에 대하여, 최대 우도 복호화 시퀀스()의 비트가 2 이상의 경합하는 복호화 시퀀스를 지니는 경우에, 는 상기 경합하는 복호화 시퀀스들 중 연속 가중치에서 가장 낮은 값이다. 여기서, 상기 경합하는 복호화 시퀀스는 최초의 체이스 알고리즘에서 수행된 바와 같은 후보 복호화 시퀀스 집합 대신에 모든 테스트 시퀀스로부터 탐색된다. 이렇게 수행함으로써, 복호화 시퀀스 탐색 프로세스에서의 복잡성 감소가 이루어진다.
개의 최소로 신뢰성이 있는 비트 위치들 및 가장 낮은 연속 가중치를 갖는 테스트 시퀀스의 오류 정정 위치의 경우에, 복호화 계산 복잡성은 각각의 비트 위치에 대하여 번의 비교기 연산들을 필요로 하는 최초의 체이스 알고리즘과 동일하다. 그러나, 나머지 오류 정정 위치들의 경우에, 계산 복잡성이 대단히 감소되는데, 그 이유는 오류 정정 연산들이 대응하는 위치에서 생기는 테스트 시퀀스들의 가중치들과 경합하는 복호화 시퀀스의 가중치들이 동일하고, 그럼으로써 어떠한 추 가적인 계산도 필요하지 않기 때문이다.
단계 5b)에 대하여, 최초의 체이스 알고리즘에서 사용된 매개변수()가 외부 정보의 정규화(normalization)를 필요로 하고, 이는 또한 대량의 계산을 필요로 한다. 수학식 13이 최초의 체이스 알고리즘에서 사용된 바와 같은 매개변수()를 지니고 있지 않기 때문에, 외부 정보의 정규화를 수행할 필요가 없다. 따라서, 복호화 복잡성이 상당히 감소된다.
도 5는 최초의 체이스 알고리즘 및 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘 간의 개의 열들 및 개의 행들을 갖는 스퀘어 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록의 복호화 복잡성에 대한 비교를 보여주는 도면이다. 그러한 비교는 단지 한 성분 부호워드(스퀘어 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록의 한 열 또는 한 행)의 계산 복잡성만을 고려한 것이다.
상기 스퀘어 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록의 부호화 프로세스에 의하면, 수평 및 수직 방향들에서의 블록 성분 부호가 동일하다. 따라서, (행 방향 및 열 방향을 따른) 양 방향들에서의 한 반복의 복잡성은 단지 으로 곱해진 한 성분 벡터의 복호화 복잡성일 수 있다.
최초의 체이스 알고리즘 및 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘에 대한 연산 횟수의 비교가 도 5의 표들 각각에 나타나 있다. 도 5에 도시된 표들에서는 다음과 같은 표기법들이 사용된다.
최초의 체이스 알고리즘 및 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘의 복잡성에 대한 비교를 용이하게 하기 위해, 해밍 부호(64, 57, 3)를 사용하여 생성되는 터보 곱 부호(TPC)에 대한 양자의 알고리즘에서 필요한 다른 연산들의 횟수에 대한 수치 값들은 도 6에서 비율 형태로 제공된다. 예를 들면, GF(2) 가산들의 횟수()에 대하여, 일 때, 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘은 최초의 체이스 알고리즘에 비하여 19.7 배 적은 GF(2) 가산들을 사용한다.
도 6에 도시된 비율들의 모든 수치 값이 1보다 크기 때문에, 이것이 의미하는 것은 실수 가산들, 실수 곱셈들, 비교기 연산들 또는 GF(2) 가산들을 포함하는 모든 유형의 연산들에 대해, 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘이 최초의 체이스 알고리즘에 비하여 적은 연산들을 사용한다는 것을 의미한다. 그러므로, 상기 복호화 복잡성은 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘을 사용하여 상당히 감소된다.
도 7은 본 발명의 한 실시예에 따른 복호기의 성능 결과들을 보여주는 도면이다. 도 7에 도시된 결과들은, 공개된 최초의 체이스 알고리즘의 성능 결과들과 비교하면, 상기 최초의 체이스 알고리즘 및 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘 간의 성능 차이는 무시할 수 있을 정도임을 나타낸다. 이것이 의미하는 것은 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘을 사용하는 복호화 복잡성의 감소가 어떠한 성능의 손실 없이 이루어진다는 것을 의미한다.
본 출원에는 다음과 같은 공개 문헌들이 인용되어 있다.
[1] 베루에 씨.(Berrou, C.)와 그의 동료, "최적 근접 오류 정정 부호화 및 복호화: 터보 부호들(Near optimum error correcting coding and decoding: Tubo codes)", IEEE Trans. Commun., vol. 44, no. 10, pp. 1261-1271, Oct. 1996.
[2] 핀디아, 알.(Pyndiah, R.), "곱 부호들의 최적 근접 복호화: 블록 터보 부호들(Near-optimum decoding of product codes: block turbo codes)", IEEE Trans. Commun. vol. 46, no. 8, pp. 1003-1010, Aug. 1998.
[3] 핀디아, 알.(Pyndiah, R.)과 그의 동료, "곱 부호들의 최적 근접 복호화(Near-optimum decoding of product codes)", Proc. IEEE GLOBECOM'94, vol. 1/3, pp. 339-343, Nov. 1994.
[4] 체이스, 디.(Chase, D.), "채널 측정 정보로 블록 부호들을 복호화하는 한 부류의 알고리즘들(A class of algorithms for decoding block codes with channel measurement information)", IEEE Trans. Inform. Theory, vol. IT-18, pp. 170-182, Jan. 1972.
Claims (24)
- 입력 데이터 시퀀스를 복호화하는 방법에 있어서,복수 개의 테스트 시퀀스들을 생성하는 단계;각각의 테스트 시퀀스가 대응하는 미리 정해진 비트들의 개수만큼 상기 각각의 테스트 시퀀스에 인접한 테스트 시퀀스들과는 다르게끔 상기 복수 개의 테스트 시퀀스들에 대한 순서를 결정하는 단계; 및상기 순서화된 테스트 시퀀스들 및 상기 입력 데이터 시퀀스로 최대 우도(maximum likelihood) 프로세스를 수행하여 최대 우도 시퀀스를 생성하는 단계를 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
- 제1항에 있어서,상기 생성된 최대 우도 시퀀스에 대한 신뢰성 지표(reliability indicator)를 결정하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
- 제2항에 있어서, 상기 생성된 최대 우도 시퀀스에 대한 신뢰성 지표에 대한 계수는 최대 가중치 및 상기 생성된 최대 우도 시퀀스의 가중치 간의 차를 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
- 제3항에 있어서, 상기 획득된 최대 우도 시퀀스에 대한 신뢰성 지표의 계수는 상기 생성된 최대 우도 시퀀스에서 최소로 신뢰성이 있는 비트 위치들의 개수를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
- 제1항에 있어서,오류에 직면하게 될 때 상기 테스트 시퀀스들을 섭동(perturbation)하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
- 제5항에 있어서, 상기 테스트 시퀀스들을 섭동하는 단계는 상기 테스트 시퀀스들의 미리 결정된 비트들을 반전시키는 단계를 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
- 제1항에 있어서, 상기 대응하는 미리 정해진 비트들의 개수는 1 비트인 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
- 복호화 장치에 있어서,복수 개의 테스트 시퀀스들을 생성하는 생성기;각각의 테스트 시퀀스가 대응하는 미리 정해진 비트들의 개수만큼 상기 각각의 테스트 시퀀스에 인접한 테스트 시퀀스들과는 다르게끔 상기 복수 개의 테스트 시퀀스들에 대한 순서를 결정하는 제1 유닛; 및상기 순서화된 테스트 시퀀스들 및 상기 입력 데이터 시퀀스로 최대 우도 프로세스를 수행하여 최대 우도 시퀀스를 생성하는 제2 유닛을 포함하는 것을 특징으로 하는 복호화 장치.
- 제8항에 있어서,상기 생성된 최대 우도 시퀀스에 대한 신뢰성 지표를 결정하는 제3 유닛을 더 포함하는 것을 특징으로 하는 복호화 장치.
- 컴퓨터에 의해 실행될 경우에 컴퓨터로 하여금 입력 데이터 시퀀스를 복호화하는 방법을 수행하게 하는 컴퓨터 프로그램 생성물에 있어서,상기 입력 데이터 시퀀스의 복호화 방법은,복수 개의 테스트 시퀀스들을 생성하는 단계;각각의 테스트 시퀀스가 대응하는 미리 정해진 비트들의 개수만큼 상기 각각의 테스트 시퀀스에 인접한 테스트 시퀀스들과는 다르게끔 상기 복수 개의 테스트 시퀀스들에 대한 순서를 결정하는 단계; 및상기 순서화된 테스트 시퀀스들 및 상기 입력 데이터 시퀀스로 최대 우도 프로세스를 수행하여 최대 우도 프로세스를 생성하는 단계를 포함하는 것을 특징으로 하는, 컴퓨터에 의해 실행될 경우에 컴퓨터로 하여금 입력 데이터 시퀀스의 복호화 방법을 수행하게 하는 컴퓨터 프로그램 생성물.
- 제10항에 있어서,상기 입력 데이터 시퀀스의 복호화 방법은,상기 생성된 최대 우도 시퀀스에 대한 신뢰성 지표를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터에 의해 실행될 경우에 컴퓨터로 하여금 입력 데이터 시퀀스의 복호화 방법을 수행하게 하는 컴퓨터 프로그램 생성물.
- 입력 데이터 시퀀스를 부호화하는 방법에 있어서,적어도 하나의 부호화 매트릭스를 결정하는 단계;상기 결정된 적어도 하나의 부호화 매트릭스를 순서화하는 단계;상기 입력 데이터 시퀀스를 입력 데이터 매트릭스로 구성하는 단계; 및상기 구성된 적어도 하나의 부호화 매트릭스를 사용하여 상기 입력 데이터 매트릭스에 대한 연산들을 수행하여 부호화된 데이터 블록을 생성하는 단계를 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
- 제12항에 있어서, 상기 결정된 적어도 하나의 부호화 매트릭스를 순서화하는 단계는 각각의 열에 있는 비트 값들로 표현되는 정수 값들이 오름차순으로 이루어지게끔 상기 적어도 하나의 부호화 매트릭스의 열들을 구성하는 단계를 포함하며, 최상위에 있는 행의 비트가 각각의 열의 최하위 비트에 대응하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
- 제12항에 있어서,상기 결정된 적어도 하나의 부호화 매트릭스를 순서화하는 단계 이전에,상기 결정된 적어도 하나의 부호화 매트릭스의 맨 우측에 있는 열 다음에 미리 결정된 값들의 열을 부가하는 단계; 및상기 결정된 적어도 하나의 부호화 매트릭스의 맨 아래에 있는 행 아래에 미리 결정된 값들의 행을 부가하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
- 제12항에 있어서, 상기 미리 결정된 값들의 열은 모두 제로(0)인 열인 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
- 제12항에 있어서, 상기 미리 결정된 값들의 행은 모두 1인 행인 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
- 제12항에 있어서,상기 부호화된 데이터 블록의 미리 결정된 행들을 제거하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
- 제17항에 있어서,상기 부호화된 데이터 블록의 미리 결정된 열들을 제거하는 단계를 더 포함 하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
- 제18항에 있어서,상기 부호화된 데이터 블록의 연속적인 비트들의 미리 결정된 집합을 제거하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
- 제18항에 있어서,상기 부호화된 데이터 블록의 연속적인 비트들의 미리 결정된 집합을 미리 결정된 데이터로 대체하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
- 제20항에 있어서, 상기 미리 결정된 데이터는 모두 제로(0)인 값들의 집합인 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
- 제20항에 있어서, 상기 미리 결정된 데이터는 순환 중복 검사(Cyclic Redundancy Check; CRC) 데이터인 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
- 부호화 장치에 있어서,적어도 하나의 부호화 매트릭스를 결정하는 제1 유닛;상기 결정된 적어도 하나의 부호화 매트릭스를 순서화하는 제2 유닛;상기 입력 데이터 시퀀스를 입력 데이터 매트릭스로 구성하는 제3 유닛;상기 구성된 적어도 하나의 부호화 매트릭스를 사용하여 상기 입력 데이터 매트릭스에 대한 연산들을 수행하여 부호화된 데이터 블록을 생성하는 제4 유닛을 포함하는 것을 특징으로 하는 부호화 장치.
- 컴퓨터에 의해 실행될 경우에 컴퓨터로 하여금 입력 데이터 시퀀스를 부호화하는 방법을 수행하게 하는 컴퓨터 프로그램 생성물에 있어서,상기 입력 데이터 시퀀스의 부호화 방법은,적어도 하나의 부호화 매트릭스를 결정하는 단계;상기 결정된 적어도 하나의 부호화 매트릭스를 순서화하는 단계;상기 입력 데이터 시퀀스를 입력 데이터 매트릭스로 구성하는 단계; 및상기 구성된 적어도 하나의 부호화 매트릭스를 사용하여 상기 입력 데이터 매트릭스에 대한 연산들을 수행하여 부호화된 데이터 블록을 생성하는 단계를 포함하는 것을 특징으로 하는, 컴퓨터에 의해 실행될 경우에 컴퓨터로 하여금 입력 데이터 시퀀스의 부호화 방법을 수행하게 하는 컴퓨터 프로그램 생성물.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US73405405P | 2005-11-07 | 2005-11-07 | |
US73408005P | 2005-11-07 | 2005-11-07 | |
US60/734,054 | 2005-11-07 | ||
US60/734,080 | 2005-11-07 | ||
PCT/SG2006/000337 WO2007053126A1 (en) | 2005-11-07 | 2006-11-07 | Methods and devices for decoding and encoding data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080074858A true KR20080074858A (ko) | 2008-08-13 |
KR101298745B1 KR101298745B1 (ko) | 2013-08-21 |
Family
ID=38006160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087006580A KR101298745B1 (ko) | 2005-11-07 | 2006-11-07 | 데이터를 복호화 및 부호화하는 방법 및 장치 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20090086839A1 (ko) |
JP (1) | JP5374156B2 (ko) |
KR (1) | KR101298745B1 (ko) |
CN (1) | CN101288232B (ko) |
SG (1) | SG166825A1 (ko) |
WO (1) | WO2007053126A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080070366A (ko) * | 2007-01-26 | 2008-07-30 | 엘지전자 주식회사 | 데이터 인코딩/디코딩 방법 및 장치와, 데이터 기록/재생방법 및 장치 |
FR2964277A1 (fr) * | 2010-08-27 | 2012-03-02 | France Telecom | Procede et dispositif d'emission, procede et dispositif de reception, programme d'ordinateur correspondants. |
US8595604B2 (en) * | 2011-09-28 | 2013-11-26 | Lsi Corporation | Methods and apparatus for search sphere linear block decoding |
US9391641B2 (en) * | 2013-04-26 | 2016-07-12 | SK Hynix Inc. | Syndrome tables for decoding turbo-product codes |
CN107370560B (zh) * | 2016-05-12 | 2020-04-21 | 华为技术有限公司 | 一种极化码的编码和速率匹配方法、装置及设备 |
CN109478897B (zh) * | 2016-07-25 | 2023-05-12 | 高通股份有限公司 | 用于构造极化码的方法和装置 |
CN107666370B (zh) | 2016-07-29 | 2023-09-22 | 华为技术有限公司 | 编码方法和设备 |
US10998922B2 (en) * | 2017-07-28 | 2021-05-04 | Mitsubishi Electric Research Laboratories, Inc. | Turbo product polar coding with hard decision cleaning |
US10374752B2 (en) | 2017-08-31 | 2019-08-06 | Inphi Corporation | Methods and systems for data transmission |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2708400A1 (fr) * | 1993-06-30 | 1995-02-03 | Philips Electronics Nv | Encodeur binaire, tolérant aux erreurs. |
JPH09238125A (ja) * | 1996-02-29 | 1997-09-09 | N T T Ido Tsushinmo Kk | 誤り制御方法および装置 |
FR2753026B1 (fr) * | 1996-08-28 | 1998-11-13 | Pyndiah Ramesh | Procede de transmission de bits d'information avec codage correcteur d'erreurs, codeur et decodeur pour la mise en oeuvre de ce procede |
KR100243218B1 (ko) * | 1997-07-10 | 2000-02-01 | 윤종용 | 데이터 복호장치와 그 방법 |
FR2778289B1 (fr) * | 1998-05-04 | 2000-06-09 | Alsthom Cge Alcatel | Decodage iteratif de codes produits |
US6347125B1 (en) * | 1999-01-11 | 2002-02-12 | Ericsson Inc. | Reduced complexity demodulator for multi-bit symbols |
US6418172B1 (en) | 1999-04-21 | 2002-07-09 | National Semiconductor Corporation | Look-ahead maximum likelihood sequence estimation decoder |
US6460160B1 (en) * | 2000-02-14 | 2002-10-01 | Motorola, Inc. | Chase iteration processing for decoding input data |
US7107505B2 (en) * | 2001-03-27 | 2006-09-12 | Comtech Aha Corporation | Concatenated turbo product codes for high performance satellite and terrestrial communications |
KR20050007428A (ko) * | 2002-05-31 | 2005-01-17 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 선형 블록 코드들의 연성 디코딩 |
US20040019842A1 (en) * | 2002-07-24 | 2004-01-29 | Cenk Argon | Efficient decoding of product codes |
US7100101B1 (en) * | 2002-11-08 | 2006-08-29 | Xilinx, Inc. | Method and apparatus for concatenated and interleaved turbo product code encoding and decoding |
US7310767B2 (en) * | 2004-07-26 | 2007-12-18 | Motorola, Inc. | Decoding block codes |
US7281190B2 (en) * | 2004-11-01 | 2007-10-09 | Seagate Technology Llc | Running digital sum coding system |
CN100348051C (zh) * | 2005-03-31 | 2007-11-07 | 华中科技大学 | 一种增强型帧内预测模式编码方法 |
-
2006
- 2006-11-07 CN CN2006800342553A patent/CN101288232B/zh active Active
- 2006-11-07 WO PCT/SG2006/000337 patent/WO2007053126A1/en active Application Filing
- 2006-11-07 KR KR1020087006580A patent/KR101298745B1/ko active IP Right Grant
- 2006-11-07 JP JP2008538850A patent/JP5374156B2/ja active Active
- 2006-11-07 SG SG201008111-5A patent/SG166825A1/en unknown
- 2006-11-07 US US12/092,936 patent/US20090086839A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN101288232A (zh) | 2008-10-15 |
WO2007053126A1 (en) | 2007-05-10 |
KR101298745B1 (ko) | 2013-08-21 |
US20090086839A1 (en) | 2009-04-02 |
SG166825A1 (en) | 2010-12-29 |
JP5374156B2 (ja) | 2013-12-25 |
CN101288232B (zh) | 2011-11-16 |
JP2009515420A (ja) | 2009-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101298745B1 (ko) | 데이터를 복호화 및 부호화하는 방법 및 장치 | |
US10326478B2 (en) | Apparatus and method for encoding and decoding data in twisted polar code | |
US8726137B2 (en) | Encoding and decoding methods for expurgated convolutional codes and convolutional turbo codes | |
KR100641052B1 (ko) | Ldpc 부호기 및 복호기, 및 ldpc 부호화 방법 및복호화 방법 | |
KR101208546B1 (ko) | 저밀도 패리티 체크 행렬을 이용한 부호화 및 복호화 방법 | |
CN108540141B (zh) | Polar码编译码方法及装置 | |
US20030188253A1 (en) | Method for iterative hard-decision forward error correction decoding | |
KR20060052488A (ko) | 연결된 반복 및 대수 코딩 | |
CN101405944B (zh) | 一种ldpc码的纠删译码方法及系统 | |
KR20060135018A (ko) | 서브 블록 인터리버 및 디-인터리버를 가진 다차원 블록인코더 | |
US11843459B2 (en) | Spatially coupled forward error correction encoding method and device using generalized error locating codes as component codes | |
CN109644006B (zh) | 编码数据和解码数据的装置及方法 | |
US20030188248A1 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
US8250446B2 (en) | Decoder device and decoding method | |
CN111527705B (zh) | 用于解码器重用的信道码构造 | |
CN111277830B (zh) | 一种编码方法、解码方法及装置 | |
JP4202161B2 (ja) | 符号化装置および復号装置 | |
EP1511178A1 (en) | A method of decoding a data word | |
JP5523064B2 (ja) | 復号装置及び方法 | |
EP4205284A1 (en) | Staircase polar encoding and decoding | |
KR101279283B1 (ko) | 블록 부호를 사용하는 통신 시스템에서 신호 송수신 장치및 방법 | |
KR100997668B1 (ko) | 채널 코딩 복호방법 및 복호기 | |
RU2541844C1 (ru) | Способ декодирования кода-произведения с использованием упорядоченного по весу смежного класса векторов ошибок и устройство его реализующее | |
JP2014039227A (ja) | 送受信システム | |
KR101257776B1 (ko) | 상태-체크 코드를 이용한 부호화 방법 및 부호화 장치 |
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: 20160912 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170908 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180802 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190805 Year of fee payment: 7 |