KR20080074858A - 데이터를 복호화 및 부호화하는 방법 및 장치 - Google Patents

데이터를 복호화 및 부호화하는 방법 및 장치 Download PDF

Info

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
Application number
KR1020087006580A
Other languages
English (en)
Other versions
KR101298745B1 (ko
Inventor
창롱 수
이잉 창 리앙
윙 셍 레온
Original Assignee
에이전시 포 사이언스, 테크놀로지 앤드 리서치
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에이전시 포 사이언스, 테크놀로지 앤드 리서치 filed Critical 에이전시 포 사이언스, 테크놀로지 앤드 리서치
Publication of KR20080074858A publication Critical patent/KR20080074858A/ko
Application granted granted Critical
Publication of KR101298745B1 publication Critical patent/KR101298745B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2963Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • H03M13/453Soft 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

데이터를 복호화 및 부호화하는 방법 및 장치{Methods and devices for decoding and encoding data}
본 출원은 미국 임시 출원 제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는 최초의 체이스 알고리즘 및 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘 간의
Figure 112008019579227-PCT00001
개의 열들 및
Figure 112008019579227-PCT00002
개의 행들을 갖는 스퀘어 터보 곱 부호(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) 부호기는 다음과 같이 설명될 수 있다.
이하의 설명에서는, 다음과 같은 규칙이 사용된다.
Figure 112008019579227-PCT00003
는 매트릭스 또는 벡터 집합을 언급하며,
Figure 112008019579227-PCT00004
는 상기 매트릭스(
Figure 112008019579227-PCT00005
)의
Figure 112008019579227-PCT00006
번째 행을 언급한다. 이와 관련하여,
Figure 112008019579227-PCT00007
Figure 112008019579227-PCT00008
Figure 112008019579227-PCT00009
번째 요소를 언급한다. 그러나,
Figure 112008019579227-PCT00010
가 단지 하나의 행을 갖는 경우에,
Figure 112008019579227-PCT00011
Figure 112008019579227-PCT00012
Figure 112008019579227-PCT00013
번째 요소를 언급한다.
Figure 112008019579227-PCT00014
Figure 112008019579227-PCT00015
이 정수 값일 때, 부호 길이(
Figure 112008019579227-PCT00016
)가
Figure 112008019579227-PCT00017
이고, 정보 비트들의 개수(
Figure 112008019579227-PCT00018
)가
Figure 112008019579227-PCT00019
이며, 최소 해밍 길이(
Figure 112008019579227-PCT00020
)가
Figure 112008019579227-PCT00021
인 경우에 생성기 매트릭스(
Figure 112008019579227-PCT00022
) 및 패리티 검사 매트릭스(
Figure 112008019579227-PCT00023
)로 해밍 부호에 의해 부호화된 데이터 벡터(
Figure 112008019579227-PCT00024
,
Figure 112008019579227-PCT00025
,
Figure 112008019579227-PCT00026
)를 나타낸다. 그 외에도, 상기 부호 길이(
Figure 112008019579227-PCT00027
) 및 상기 정보 비트들의 개수(
Figure 112008019579227-PCT00028
)는 또한 정수 값들이다.
Figure 112008019579227-PCT00029
Figure 112008019579227-PCT00030
인 조건일 경우에 설정가능한 값이다.
Figure 112008019579227-PCT00031
Figure 112008019579227-PCT00032
Figure 112008019579227-PCT00033
패리티 서브-매트릭스일 경우
Figure 112008019579227-PCT00034
로서 조직 형태로 표현될 수 있다. 따라서, 대응 패리티 검사 매트릭스(
Figure 112008019579227-PCT00035
)는
Figure 112008019579227-PCT00036
로 표현될 수 있다.
Figure 112008019579227-PCT00037
= 3일 경우 매트릭스들(
Figure 112008019579227-PCT00038
,
Figure 112008019579227-PCT00039
,
Figure 112008019579227-PCT00040
) 각각의 예는 수학식 1, 2 및 3으로 각각 표기될 수 있다.
Figure 112008019579227-PCT00041
= 3이고,
Figure 112008019579227-PCT00042
= 7이며
Figure 112008019579227-PCT00043
= 4일 경우에 수학식 1, 2 및 3이 다음과 같이 표기될 수 있다.
Figure 112008019579227-PCT00044
Figure 112008019579227-PCT00045
Figure 112008019579227-PCT00046
해밍 부호들에 대한 부호화 프로세스는 생성기 매트릭스(
Figure 112008019579227-PCT00047
)를 사용하여
Figure 112008019579227-PCT00048
로 표기되는 것이 전형적이다. 정보 비트들은 또한 패리티 검사 매트릭스(
Figure 112008019579227-PCT00049
)를 사용하여 부호화될 수 있다.
Figure 112008019579227-PCT00050
일 경우에, 패 리티 검사 매트릭스(
Figure 112008019579227-PCT00051
)를 사용하는 부호화 프로세스는 더 적은 계산 횟수를 필요로 한다. 이와 같은 경우들에서는, 패리티 검사 매트릭스(
Figure 112008019579227-PCT00052
)를 사용하는 부호화 프로세스가
Figure 112008019579227-PCT00053
임을 기초로 하여 구현됨으로써,
Figure 112008019579227-PCT00054
개의 패리티 검사 비트들(
Figure 112008019579227-PCT00055
)이 이하의 수학식 4와 같이 구해진다.
Figure 112008019579227-PCT00056
Figure 112008019579227-PCT00057
일 경우,
해밍 부호들은 이러한 해밍 부호들의 패리티 검사 매트릭스(
Figure 112008019579227-PCT00058
)가 그의 모든 열들에 대해 다른 값들을 지니게끔 하는 특성을 지닌다. 예를 들면, 수학식 3에서는, 패리티 검사 매트릭스(
Figure 112008019579227-PCT00059
)가 그의 모든 열들에 대해 (3, 5, 6, 7, 1, 2, 4)의 값들을 지니는데, 이 경우 최상위에 있는 행의 비트들은 최하위 비트(LSB) 값들이다.
예를 들면
Figure 112008019579227-PCT00060
위치에서 단일의 오류가 생긴 경우에, 수신 벡터(
Figure 112008019579227-PCT00061
)의 신드롬(
Figure 112008019579227-PCT00062
)은 그 오류가 생긴 위치에서
Figure 112008019579227-PCT00063
의 열을 나타낸다.
Figure 112008019579227-PCT00064
가 오류 벡터를 나타낸다고 하자. 그의 모든 성분들이
Figure 112008019579227-PCT00065
번째 성분, 다시 말하면
Figure 112008019579227-PCT00066
을 제외하고는 제로(0)와 같다고 가정하기로 하면, 수신된 벡터의 신드롬(
Figure 112008019579227-PCT00067
)은 다음과 같은 수학식 5로 표현된다.
Figure 112008019579227-PCT00068
상기 수학식 5 중,
Figure 112008019579227-PCT00069
Figure 112008019579227-PCT00070
Figure 112008019579227-PCT00071
번째 열을 나타낸다. 예를 들면, 상기 수학식 3으로 표기된 패리티 검사 매트릭스(
Figure 112008019579227-PCT00072
)를 사용하여 생성된 해밍 부호에 의해 부호화된 데이터 벡터에서의 단일 비트 오류에 대한 가능한 신드롬 리스트가 도 2의 좌측 섹션에 표기되어 있다.
상기 수학식 5에서,
Figure 112008019579227-PCT00073
의 열들이 오류 위치의 이진 표현으로서 표기될 경우에, 상기 신드롬(
Figure 112008019579227-PCT00074
)의 값은 상기 오류의 비트 위치를 결정하는데 직접 사용될 수 있다. 이를 이루기 위하여, 패리티 검사 매트릭스(
Figure 112008019579227-PCT00075
)의 열들은 이러한 열들의 값들이 오름차순으로 이루어지게끔 재구성될 수 있다.
예를 들면, 앞서 나타낸 바와 같은 수학식 3에서, 패리티 검사 매트릭스(
Figure 112008019579227-PCT00076
)는 그의 모든 열들에 대해 (3, 5, 6, 7, 1, 2, 4)의 값들을 지니는데, 이 경우 최상위에 있는 행의 비트는 최하위 비트(LSB)이다. 그의 모든 열들에 대한 값들을 (1, 2, 3, 4, 5, 6, 7)로서 재구성함으로써, 이하의 수학식 6과 같은 결과적인 매트릭스(
Figure 112008019579227-PCT00077
)가 구해진다.
Figure 112008019579227-PCT00078
변형적으로는, 패리티 검사 매트릭스(
Figure 112008019579227-PCT00079
)로부터의 상기 매트릭스(
Figure 112008019579227-PCT00080
)의 생성은 이하의 수학식 7과 같이 표기될 수 있다.
Figure 112008019579227-PCT00081
상기 매트릭스(
Figure 112008019579227-PCT00082
)를 사용하여 생성되는 해밍 부호에 의해 부호화된 데이터 벡터는 패리티 검사 매트릭스(
Figure 112008019579227-PCT00083
)를 통해 최초로 해밍 부호에 의해 부호화된 데이터 벡터의 재구성된 버전이다. 일반적으로는,
Figure 112008019579227-PCT00084
이고
Figure 112008019579227-PCT00085
일 때
Figure 112008019579227-PCT00086
해밍 부호의 경우에, 패리티 검사 비트들은
Figure 112008019579227-PCT00087
Figure 112008019579227-PCT00088
로 번호지정된 열들에 있다. 나머지 부호화된 비트들은 상기 패리티 검사 매트릭스(
Figure 112008019579227-PCT00089
)가 사용되는 경우와 동일한 순서로 열 번호(3)에서 시작하도록 구성된다. 이는 도 2의 예시를 통해 이하에서 심도있게 설명될 것이다.
상기 복호기 측에서는, 패리티 검사 매트릭스(
Figure 112008019579227-PCT00090
)를 사용하여 생성되는 해밍 부호에 의해 부호화된 데이터 벡터의 경우에, 신드롬(
Figure 112008019579227-PCT00091
)은 먼저 수신 벡터로부터 상기 수학식 5를 사용하여 계산된다. 그리고나서, 상기 계산된 신드롬은 조사표(look up table)로부터 대응하는 오류 패턴을 구하는데 사용된다. 그리고나서, 상기 수신 벡터 및 오류 패턴에 대한 배타적-OR(XOR) 연산에 의해 정정된 수신 벡터가 구해진다. 다음에는, 패리터 검사 비트들을 제거한 후에 상기 정정된 수신 벡터로부터 정보 비트들이 복구될 수 있다.
그러나, 상기 매트릭스(
Figure 112008019579227-PCT00092
)를 사용하여 생성되는 해밍 부호에 의해 부호화 된 데이터 벡터의 경우에, 경판정(hard decision) 복호화를 구현하는 것이 용이한데, 그 이유는 수학식 5에 의해 계산된 신드롬(
Figure 112008019579227-PCT00093
)이 상기 오류의 비트 위치를 직접 제공하기 때문이다. 그리고나서, 정정된 수신 벡터를 구하기 위해 상기 수신 벡터에서 오류가 있는 비트는 반전된다. 그러므로, 상기 계산된 신드롬에 대응하는 오류 패턴을 구하기 위해 조사표를 참조하는 단계가 전혀 필요하지 않다. 따라서, 상기 매트릭스(
Figure 112008019579227-PCT00094
)를 사용하여 생성되는 해밍 부호들의 이와 같은 특성은 차후에 설명될 터보 곱 부호(TPC) 복호화 프로세스의 복잡성을 감소시키는데 사용될 수 있다.
부가 예로서, 도 2에 도시된 바와 같이, 상기 패리티 검사 매트릭스(
Figure 112008019579227-PCT00095
) 및 상기 매트릭스(
Figure 112008019579227-PCT00096
)를 사용하여 생성되는 부호화된 데이터 벡터들에 대한 부호화 및 복호화 프로세스들이 예시되어 있다. 이러한 예시에서는, 정보 비트들이
Figure 112008019579227-PCT00097
(201)로서 취해진다.
패리티 검사 비트들을 구하기 위해 수학식 4를 사용하는 패리티 검사 매트릭스(
Figure 112008019579227-PCT00098
)의 경우에, 상기 생성된 해밍 부호에 의해 부호화된 데이터 벡터는
Figure 112008019579227-PCT00099
(203)로 제공된다. 송신시, 이를테면, 비트 위치(2)에서 오류가 생긴다. 따라서, 수신 벡터(
Figure 112008019579227-PCT00100
)는
Figure 112008019579227-PCT00101
(205)로 제공된다.
수신 벡터의 신드롬(
Figure 112008019579227-PCT00102
)은 이하의 수학식 8과 같이 계산된다.
Figure 112008019579227-PCT00103
상기 조사표로부터
Figure 112008019579227-PCT00104
(207)로서 획득된 신드롬(
Figure 112008019579227-PCT00105
)을 사용하면,
Figure 112008019579227-PCT00106
(207)의 신드롬 값에 대응하는 행(209)은 대응하는 오류 패턴이
Figure 112008019579227-PCT00107
(211)임을 나타낸다. 상기 수신 벡터 및 상기 오류 패턴에 대한 배타적 OR(XOR) 연산에 의해 구해진 정정된 수신 벡터는
Figure 112008019579227-PCT00108
인데, 이는 상기 부호화된 데이터 벡터(203)와 동일하다.
상기 패리티 검사 매트릭스(
Figure 112008019579227-PCT00109
)의 경우에, 수학식 6으로부터 알 수 있는 점은 패리티 검사 비트 위치들이
Figure 112008019579227-PCT00110
의 1, 2, 4로 번호지정된 열들에 있다는 것이다. 따라서, 패리티 검사 서브-매트릭스(
Figure 112008019579227-PCT00111
)의 전치(轉置; transpose)가 1, 2 및 4로 번호지정된 열들을 삭제함으로써 구해질 수 있다.
이러한 매트릭스 및 수학식 4로부터, 3개의 패리티 검사 비트는
Figure 112008019579227-PCT00112
로서 구해진다. 따라서, 상기 패리티 비트들을 1, 2 및 4로 번호지정된 열들에 삽입한 다음에 정보 비트
Figure 112008019579227-PCT00113
(201)를 열(3)에서 시작하는 나머지 열들 내에 삽입한 다음에 획득되는 부호화된 벡터 또는 해밍 부호는
Figure 112008019579227-PCT00114
(215)가 된다.
비트 위치(2)에서 오류가 생긴 것으로 가정하면, 수신 벡터(
Figure 112008019579227-PCT00115
)는 결과적으 로
Figure 112008019579227-PCT00116
(217)이 된다. 이러한 수신 벡터에 대해 획득된 신드롬(
Figure 112008019579227-PCT00117
)은 이하의 수학식 9와 같이 표기된다.
Figure 112008019579227-PCT00118
이러한 신드롬
Figure 112008019579227-PCT00119
(219)이 오류 비트의 비트 위치를 직접 제공함에 따라, 비트 위치(2)에 있는 비트를 반전시킴으로써 획득되는 정정된 수신 워드는
Figure 112008019579227-PCT00120
(221)가 된다. 여기서 알 수 있는 점은 상기 정정된 수신 워드가 상기 부호화된 데이터 벡터와 동일하다는 것이다. 따라서, 이러한 예시로부터 알 수 있는 점은 상기 매트릭스(
Figure 112008019579227-PCT00121
)를 사용하여 생성되는 해밍 부호에 의해 부호화된 데이터 벡터에 대한 복호화 프로세스는 단순해지는데, 그 이유는 계산된 신드롬이 오류 비트의 비트 위치를 직접 제공하기 때문이다.
앞서 설명된 바와 같이, 상기 매트릭스(
Figure 112008019579227-PCT00122
)는 상기 열들의 값들이 오름차순으로 이루어지게끔 패리티 검사 매트릭스(
Figure 112008019579227-PCT00123
)의 열들을 재구성함으로써 상기 패리티 검사 매트릭스(
Figure 112008019579227-PCT00124
)로부터 생성된다. 변형적인 매트릭스(
Figure 112008019579227-PCT00125
)가 또한 상기 매트릭스(
Figure 112008019579227-PCT00126
)와 유사한 방식으로 생성될 수 있으며, 상기 매트릭스(
Figure 112008019579227-PCT00127
)를 사용하여 생성된 해밍 부호들은 또한 상기 매트릭스(
Figure 112008019579227-PCT00128
)를 사용하여 생성된 해밍 부호와 동일한 고유 특성들을 갖는다. 상기 매트릭스(
Figure 112008019579227-PCT00129
)를 사용하여 생성되는 해밍 부호들 과 구별하기 위해, 상기 매트릭스(
Figure 112008019579227-PCT00130
)를 사용하여 생성된 해밍 부호들이 이후에는 확장 해밍 부호들이라고 언급된다.
상기 매트릭스(
Figure 112008019579227-PCT00131
)는 다음과 같이 생성될 수 있다. 먼저, 모두 제로(0)인 열이 패리티 검사 매트릭스(
Figure 112008019579227-PCT00132
) 중 맨 우측에 있는 열에 부가된다. 그 다음으로는, 모두 제로(0)인 열이 상기 패리티 검사 매트릭스(
Figure 112008019579227-PCT00133
) 중 맨 우측에 있는 열에 부가된다. 중간 결과로서 생성된 매트릭스(
Figure 112008019579227-PCT00134
)가 이하의 수학식 10과 같이 표기된다.
Figure 112008019579227-PCT00135
그리고나서, 상기 매트릭스(
Figure 112008019579227-PCT00136
)는 패리티 검사 매트릭스(
Figure 112008019579227-PCT00137
)의 열들의 값들이 이하의 수학식 11에서 표기된 바와 같이 오름차순으로 이루어지게끔 상기 패리티 검사 매트릭스(
Figure 112008019579227-PCT00138
)의 열들을 재구성함으로써 패리티 검사 매트릭스(
Figure 112008019579227-PCT00139
)로부터 생성된다.
Figure 112008019579227-PCT00140
다음에는, 본 발명의 한 실시예에 따른 터보 곱 부호(TPC)를 생성하는 절차가 설명된다. 예를 들면, 터보 곱 부호(TPC)는,
1)
Figure 112008019579227-PCT00141
행들 및
Figure 112008019579227-PCT00142
열들의 어레이로
Figure 112008019579227-PCT00143
정보 비트들을 구성하고,
2) 부호(
Figure 112008019579227-PCT00144
)를 사용하여
Figure 112008019579227-PCT00145
행들을 부호화하며,
3) 부호(
Figure 112008019579227-PCT00146
)를 사용하여
Figure 112008019579227-PCT00147
열들을 부호화하고, 그리고
4) 상기 패리티 검사 비트들을 계산한 다음에 결과적으로는 대응하는 행들 및 열들에 대하여 상기 패리티 검사 비트들을 삽입함과 같이,
앞서 설명된 매트릭스(
Figure 112008019579227-PCT00148
)를 사용함으로써 생성되는 2개의 해밍 부호들(
Figure 112008019579227-PCT00149
,
Figure 112008019579227-PCT00150
)을 기초로 생성될 수 있다.
앞서 설명된 절차에 따라 생성되는 터보 곱 부호(TPC)의 최소 해밍 길이, 정보 비트들의 개수 및 부호워드 길이는 각각
Figure 112008019579227-PCT00151
,
Figure 112008019579227-PCT00152
Figure 112008019579227-PCT00153
이다. 이것은 큰 최소 해밍 길이를 갖는 긴 블록 부호를 의미하는 것이며, 작은 최소 해밍 길이들을 갖는 2개의 짧은 블록 부호들로부터 획득될 수 있다.
도 3은 상기 패리티 검사 매트릭스(
Figure 112008019579227-PCT00154
)를 사용하여 생성되는 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록(300)을 보여주는 도면이고, 도 4는 본 발명의 한 실시예에 따른 패리티 검사 매트릭스(
Figure 112008019579227-PCT00155
)를 사용하여 생성되는 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록(400)을 보여주는 도면이다.
도 3에서,
Figure 112008019579227-PCT00156
인 경우
Figure 112008019579227-PCT00157
행에 있는 비트들
Figure 112008019579227-PCT00158
은 정보 비트들(301)이다. 그와 동일한
Figure 112008019579227-PCT00159
행에서는, 비트들
Figure 112008019579227-PCT00160
Figure 112008019579227-PCT00161
행(303)에 대한 패리티 검사 비트들이고, 비트(
Figure 112008019579227-PCT00162
)는 전체
Figure 112008019579227-PCT00163
행(305)에 대한 단일의 패리티 검사 비트일 수 있다.
마찬가지로,
Figure 112008019579227-PCT00164
인 경우
Figure 112008019579227-PCT00165
열에 있는 비트들
Figure 112008019579227-PCT00166
은 정보 비트들(301)이다. 그와 동일한
Figure 112008019579227-PCT00167
열에서는, 비트들
Figure 112008019579227-PCT00168
Figure 112008019579227-PCT00169
열(307)에 있는 패리티 검사 비트들이며, 비트(
Figure 112008019579227-PCT00170
)는
Figure 112008019579227-PCT00171
열(305)에 대한 단일의 패리티 검사 비트일 수 있다.
마지막으로,
Figure 112008019579227-PCT00172
일 경우에
Figure 112008019579227-PCT00173
행에 있는 비트들
Figure 112008019579227-PCT00174
은 패리티 검사 비트들(309)에 있는 패리티 검사 비트들이다. 이는
Figure 112008019579227-PCT00175
일 경우에
Figure 112008019579227-PCT00176
행에 있는 비트들
Figure 112008019579227-PCT00177
이 모두 (열들에 있는) 패리티 검사 비트들(307)이기 때문이다. 따라서, 부호화 프로세스가 패리티 검사 비트들의 행에서 수행될 경우에, 상기 부호화 프로세스의 결과로서 획득되는 패리티 검사 비트들은 패리티 검사 비트들에 있는 패리티 검사 비트들이다.
반면에, 도 4에서 알 수 있는 점은 패리티 검사 비트들이
Figure 112008019579227-PCT00178
로 번호지정된 열들뿐만 아니라 행들에 있다는 것이다. 그 외에도, 행 및 열이 모두
Figure 112008019579227-PCT00179
중 하나로서 번호지정되는 비트들은 패리티 검사 비트 들(401)에 있는 패리티 검사 비트들이다. 따라서, 앞서 설명된 매트릭스(
Figure 112008019579227-PCT00180
) 및 상기 매트릭스(
Figure 112008019579227-PCT00181
)를 사용하여 생성되는 부호화된 벡터의 특성들은 또한 도 4에 도시된 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록에서도 이루어진다.
도 2의 예시로부터 알 수 있는 점은 상기 매트릭스(
Figure 112008019579227-PCT00182
)를 사용하여 생성되는 해밍 부호에 의해 부호화된 데이터 벡터의 복호화가 수신 벡터로부터 계산된 신드롬에 대응하는 오류 패턴을 획득하는데 조사표를 필요로 하지 않음으로써, 복호화 복잡성을 감소시킨다는 것이다. 따라서, 도 4에 도시된 TPC에 의해 부호화된 데이터 블록에 대한 복호화 복잡성은 도 3에 도시된 TPC에 의해 부호화된 데이터 블록에 비하여 훨씬 더 감소된다. 이는 도 3에 도시된 TPC에 의해 부호화된 데이터 블록에 대한 복호화 프로세스가 상기 복호화 프로세스에서의 모든 반복에 대한 행 인덱스 및 열 인덱스의 곱에 대한 배수들을 포함하기 때문이다.
다음에는, 상기 터보 곱 부호(TPC)의 부호화율이 어떻게 변형되는지에 대한 설명이 제공될 것이다. 전형적으로는 모든 부호기가 (자신의 입력 측의) 정보 비트들의 개수 및 (자신의 출력 측의) 부호화된 데이터 비트들의 개수 간의 비율로서 제공되는 것이 일반적인 부호화율을 지닌다. 부호기가 원하는 부호화율을 지니지 않는 경우에, (부호화) 비율 매칭이라 불리는 프로세스가 원하는 부호화율을 획득하기 위해 부호화 프로세스 다음에 구현될 수 있다.
앞서 설명된 터보 곱 부호(TPC)의 경우에, 상기 비율 매칭은,
a) 상기 부호화된 데이터 블록으로부터 미리 결정된 개수의 행들을 제거하는 단계,
b) 상기 부호화된 데이터 블록으로부터 미리 결정된 개수의 열들을 제거하는 단계,
c) 상기 부호화된 데이터 블록에 있는 행으로부터 미리 결정된 개수의 비트들을 제거하는 단계,
d) 상기 부호화된 데이터 블록에 있는 행으로부터 미리 결정된 개수의 비트들을 미리 결정된 값들의 집합으로 대체하는 단계의 조합을 통해 수행될 수 있다.
전형적으로는, 단계 d)의 경우에, 상기 부호화된 데이터 블록에 있는 행으로부터 미리 결정된 개수의 비트들을 대체하기 위해 사용되는 미리 결정된 값들의 집합은 모두 제로(0)인 값들의 집합이다. 상기 부호화된 데이터 블록에 있는 행으로부터 미리 결정된 개수의 비트들을 대체하기 위해 사용되는 미리 결정된 값들의 집합은 또한 상기 정보 비트들로부터 생성된 순환 중복 검사(CRC) 비트들일 수 있다.
여기에서의 순환 중복 검사(CRC)의 사용을 통해 수신기 측에서 정보 비트들에 오류들이 있는지를 결정하기 위한 신속한 검사가 수행될 수 있다. 상기 정보 비트들에 어떠한 오류도 없는 것으로 결정되는 경우에, 상기 정보 비트들은 터보 곱 부호(TPC) 복호화 프로세스를 수행할 필요 없이 단순히 상기 부호화된 데이터 블록으로부터 추출될 수 있다.
다음으로는, 상기 터보 곱 부호(TPC) 복호기는 다음과 같이 설명될 수 있다.
앞서 언급된 바와 같이, 터보 곱 부호들을 복호화하는 복잡성을 부가적으로 감소시키기 위해, 상기 체이스 알고리즘[4]이 반복 복호화를 위해 각각의 비트 위 치에 대한 외부 정보를 획득하는데 사용되었다. 그러나, 여기서 알 수 있었던 점은 상기 체이스 알고리즘의 복잡성이 그래도 비교적 높다는 것이었다.
여기서 알 수 있었던 점은 상기 체이스 알고리즘에서의 단계들의 개수가 전형적으로는 루프 구조를 통해 구현된다는 것이었다. 따라서, 복잡성의 감소는 루프 구조 내에서 상기 단계들을 최적화함으로써 이루어질 수 있다. 본 발명의 한 실시예에 의하면, 복호화 복잡성의 감소는 부호화 측면과 아울러 복호화 측면 모두에서 고려된다. 상기 부호화 측면에서 고려된 복호화 복잡성의 감소는 앞서 설명되었으며, 지금부터는 복호화 복잡성의 감소가 복호화 측면에서 고려될 것이다.
상기 복호화 측면에서 고려된 복호화 복잡성의 감소는 다음과 같이 설명될 수 있다. 앞서 설명된 터보 곱 부호들(TPC)을 생성하는 절차를 사용함으로써, 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘은 다음과 같은 단계들을 따라 구현될 수 있다.
1) 수신 신호, 예를 들면
Figure 112008019579227-PCT00183
로 표기되는 위상 정정을 통한 이진 위상 편이 키잉(Binary Phase Shift Keying; BPSK) 변조 신호로부터,
a) 신뢰성 시퀀스(
Figure 112008019579227-PCT00184
)를 생성하는 단계,
b)
Figure 112008019579227-PCT00185
일때
Figure 112008019579227-PCT00186
가 1과 동일하고
Figure 112008019579227-PCT00187
일때
Figure 112008019579227-PCT00188
가 0과 동일한 경우에 이진 시퀀스(
Figure 112008019579227-PCT00189
)를 생성하는 단계, 및
c)
Figure 112008019579227-PCT00190
를 사용하여 시퀀스
Figure 112008019579227-PCT00191
Figure 112008019579227-PCT00192
개의 최소로 신뢰성이 있는 비트 위치를 결정하는 단계.
2) a)
Figure 112008019579227-PCT00193
일때
Figure 112008019579227-PCT00194
Figure 112008019579227-PCT00195
비-제로 비트의
Figure 112008019579227-PCT00196
인덱스인 경우에,
Figure 112008019579227-PCT00197
이고,
Figure 112008019579227-PCT00198
이며,
Figure 112008019579227-PCT00199
이고,
Figure 112008019579227-PCT00200
인 것으로 정의되는 테스트 패턴, 연속(analog) 가중치, 신드롬, 및 확장 비트를 초기화하는 단계,
b) 테스트 패턴이 단지 1 비트만큼 상기 테스트 패턴에 인접한 테스트 패턴들과는 다르게끔 테스트 패턴들을 재순서화하는 단계.
3)
Figure 112008019579227-PCT00201
루프 내에서 수행하는 단계로서,
a)
Figure 112008019579227-PCT00202
Figure 112008019579227-PCT00203
Figure 112008019579227-PCT00204
번째 요소이고
Figure 112008019579227-PCT00205
가 신드롬(
Figure 112008019579227-PCT00206
)의 정수 값일 경우에,
Figure 112008019579227-PCT00207
이고,
Figure 112008019579227-PCT00208
이며,
Figure 112008019579227-PCT00209
일 경우에,
Figure 112008019579227-PCT00210
이며,
Figure 112008019579227-PCT00211
이고,
Figure 112008019579227-PCT00212
이며,
Figure 112008019579227-PCT00213
인 것으로, 상기 확장 비트를 결정하고, (오류가 생길 경우에) 상기 테스트 패턴들을 섭동하며, 연속 가중치를 계산하는 단계,
b) (비트(
Figure 112008019579227-PCT00214
)가 반전될때)
Figure 112008019579227-PCT00215
이고,
Figure 112008019579227-PCT00216
이며,
Figure 112008019579227-PCT00217
이고,
Figure 112008019579227-PCT00218
인 것으로 다음 테스트 시퀀스를 생성하며, 신드롬을 계산하고, 확장 비트를 계산하며 연속 가중치를 계산하는 단계.
4)
Figure 112008019579227-PCT00219
일 경우에 유효 부호워드 집합으로부터 최대 우도 부호워드(
Figure 112008019579227-PCT00220
)를 추정(
Figure 112008019579227-PCT00221
)하는 단계.
5) a)
Figure 112008019579227-PCT00222
Figure 112008019579227-PCT00223
가 각각 최대 우도 복호화 시퀀스(
Figure 112008019579227-PCT00224
) 및 경합하는 복호화 시퀀스(
Figure 112008019579227-PCT00225
)의 연속 가중치들일 경우,
Figure 112008019579227-PCT00226
개의 최소로 신뢰성이 있는 비트 위치들 및 오류 정정된 위치들에 대하여 이하의 수학식 12와 같이 수신 신호에 대한 외부 정보를 계산하는 단계,
Figure 112008019579227-PCT00227
b)
Figure 112008019579227-PCT00228
가 최대 연속 가중치일 경우에,
다른 모든 위치들에 대하여 이하의 수학식 13과 같이 수신 신호에 대한 외부 정보를 계산하는 단계.
Figure 112008019579227-PCT00229
최초의 체이스 알고리즘과 유사한 단계 5a)에 대하여, 최대 우도 복호화 시퀀스(
Figure 112008019579227-PCT00230
)의 비트가 2 이상의 경합하는 복호화 시퀀스를 지니는 경우에,
Figure 112008019579227-PCT00231
는 상기 경합하는 복호화 시퀀스들 중 연속 가중치에서 가장 낮은 값이다. 여기서, 상기 경합하는 복호화 시퀀스는 최초의 체이스 알고리즘에서 수행된 바와 같은 후보 복호화 시퀀스 집합 대신에 모든 테스트 시퀀스로부터 탐색된다. 이렇게 수행함으로써, 복호화 시퀀스 탐색 프로세스에서의 복잡성 감소가 이루어진다.
Figure 112008019579227-PCT00232
개의 최소로 신뢰성이 있는 비트 위치들 및 가장 낮은 연속 가중치를 갖는 테스트 시퀀스의 오류 정정 위치의 경우에, 복호화 계산 복잡성은 각각의 비트 위치에 대하여
Figure 112008019579227-PCT00233
번의 비교기 연산들을 필요로 하는 최초의 체이스 알고리즘과 동일하다. 그러나, 나머지 오류 정정 위치들의 경우에, 계산 복잡성이 대단히 감소되는데, 그 이유는 오류 정정 연산들이 대응하는 위치에서 생기는 테스트 시퀀스들의 가중치들과 경합하는 복호화 시퀀스의 가중치들이 동일하고, 그럼으로써 어떠한 추 가적인 계산도 필요하지 않기 때문이다.
단계 5b)에 대하여, 최초의 체이스 알고리즘에서 사용된 매개변수(
Figure 112008019579227-PCT00234
)가 외부 정보의 정규화(normalization)를 필요로 하고, 이는 또한 대량의 계산을 필요로 한다. 수학식 13이 최초의 체이스 알고리즘에서 사용된 바와 같은 매개변수(
Figure 112008019579227-PCT00235
)를 지니고 있지 않기 때문에, 외부 정보의 정규화를 수행할 필요가 없다. 따라서, 복호화 복잡성이 상당히 감소된다.
도 5는 최초의 체이스 알고리즘 및 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘 간의
Figure 112008019579227-PCT00236
개의 열들 및
Figure 112008019579227-PCT00237
개의 행들을 갖는 스퀘어 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록의 복호화 복잡성에 대한 비교를 보여주는 도면이다. 그러한 비교는 단지 한 성분 부호워드(스퀘어 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록의 한 열 또는 한 행)의 계산 복잡성만을 고려한 것이다.
상기 스퀘어 터보 곱 부호(TPC)에 의해 부호화된 데이터 블록의 부호화 프로세스에 의하면, 수평 및 수직 방향들에서의 블록 성분 부호가 동일하다. 따라서, (행 방향 및 열 방향을 따른) 양 방향들에서의 한 반복의 복잡성은 단지
Figure 112008019579227-PCT00238
으로 곱해진 한 성분 벡터의 복호화 복잡성일 수 있다.
최초의 체이스 알고리즘 및 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘에 대한 연산 횟수의 비교가 도 5의 표들 각각에 나타나 있다. 도 5에 도시된 표들에서는 다음과 같은 표기법들이 사용된다.
a) 실수 가산들의 횟수는
Figure 112008019579227-PCT00239
로 표기되며,
b) 실수 곱셈들의 횟수는
Figure 112008019579227-PCT00240
으로 표기되고,
c) 비교기 연산들의 횟수는
Figure 112008019579227-PCT00241
로 표기되며,
d) GF(2) 가산들의 횟수는
Figure 112008019579227-PCT00242
로 표기된다.
최초의 체이스 알고리즘 및 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘의 복잡성에 대한 비교를 용이하게 하기 위해, 해밍 부호(64, 57, 3)를 사용하여 생성되는 터보 곱 부호(TPC)에 대한 양자의 알고리즘에서 필요한 다른 연산들의 횟수에 대한 수치 값들은 도 6에서 비율 형태로 제공된다. 예를 들면, GF(2) 가산들의 횟수(
Figure 112008019579227-PCT00243
)에 대하여,
Figure 112008019579227-PCT00244
일 때, 본 발명의 한 실시예에 따른 변형된 체이스 알고리즘은 최초의 체이스 알고리즘에 비하여 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)

  1. 입력 데이터 시퀀스를 복호화하는 방법에 있어서,
    복수 개의 테스트 시퀀스들을 생성하는 단계;
    각각의 테스트 시퀀스가 대응하는 미리 정해진 비트들의 개수만큼 상기 각각의 테스트 시퀀스에 인접한 테스트 시퀀스들과는 다르게끔 상기 복수 개의 테스트 시퀀스들에 대한 순서를 결정하는 단계; 및
    상기 순서화된 테스트 시퀀스들 및 상기 입력 데이터 시퀀스로 최대 우도(maximum likelihood) 프로세스를 수행하여 최대 우도 시퀀스를 생성하는 단계를 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
  2. 제1항에 있어서,
    상기 생성된 최대 우도 시퀀스에 대한 신뢰성 지표(reliability indicator)를 결정하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
  3. 제2항에 있어서, 상기 생성된 최대 우도 시퀀스에 대한 신뢰성 지표에 대한 계수는 최대 가중치 및 상기 생성된 최대 우도 시퀀스의 가중치 간의 차를 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
  4. 제3항에 있어서, 상기 획득된 최대 우도 시퀀스에 대한 신뢰성 지표의 계수는 상기 생성된 최대 우도 시퀀스에서 최소로 신뢰성이 있는 비트 위치들의 개수를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
  5. 제1항에 있어서,
    오류에 직면하게 될 때 상기 테스트 시퀀스들을 섭동(perturbation)하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
  6. 제5항에 있어서, 상기 테스트 시퀀스들을 섭동하는 단계는 상기 테스트 시퀀스들의 미리 결정된 비트들을 반전시키는 단계를 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
  7. 제1항에 있어서, 상기 대응하는 미리 정해진 비트들의 개수는 1 비트인 것을 특징으로 하는 입력 데이터 시퀀스의 복호화 방법.
  8. 복호화 장치에 있어서,
    복수 개의 테스트 시퀀스들을 생성하는 생성기;
    각각의 테스트 시퀀스가 대응하는 미리 정해진 비트들의 개수만큼 상기 각각의 테스트 시퀀스에 인접한 테스트 시퀀스들과는 다르게끔 상기 복수 개의 테스트 시퀀스들에 대한 순서를 결정하는 제1 유닛; 및
    상기 순서화된 테스트 시퀀스들 및 상기 입력 데이터 시퀀스로 최대 우도 프로세스를 수행하여 최대 우도 시퀀스를 생성하는 제2 유닛을 포함하는 것을 특징으로 하는 복호화 장치.
  9. 제8항에 있어서,
    상기 생성된 최대 우도 시퀀스에 대한 신뢰성 지표를 결정하는 제3 유닛을 더 포함하는 것을 특징으로 하는 복호화 장치.
  10. 컴퓨터에 의해 실행될 경우에 컴퓨터로 하여금 입력 데이터 시퀀스를 복호화하는 방법을 수행하게 하는 컴퓨터 프로그램 생성물에 있어서,
    상기 입력 데이터 시퀀스의 복호화 방법은,
    복수 개의 테스트 시퀀스들을 생성하는 단계;
    각각의 테스트 시퀀스가 대응하는 미리 정해진 비트들의 개수만큼 상기 각각의 테스트 시퀀스에 인접한 테스트 시퀀스들과는 다르게끔 상기 복수 개의 테스트 시퀀스들에 대한 순서를 결정하는 단계; 및
    상기 순서화된 테스트 시퀀스들 및 상기 입력 데이터 시퀀스로 최대 우도 프로세스를 수행하여 최대 우도 프로세스를 생성하는 단계를 포함하는 것을 특징으로 하는, 컴퓨터에 의해 실행될 경우에 컴퓨터로 하여금 입력 데이터 시퀀스의 복호화 방법을 수행하게 하는 컴퓨터 프로그램 생성물.
  11. 제10항에 있어서,
    상기 입력 데이터 시퀀스의 복호화 방법은,
    상기 생성된 최대 우도 시퀀스에 대한 신뢰성 지표를 결정하는 단계를 더 포함하는 것을 특징으로 하는, 컴퓨터에 의해 실행될 경우에 컴퓨터로 하여금 입력 데이터 시퀀스의 복호화 방법을 수행하게 하는 컴퓨터 프로그램 생성물.
  12. 입력 데이터 시퀀스를 부호화하는 방법에 있어서,
    적어도 하나의 부호화 매트릭스를 결정하는 단계;
    상기 결정된 적어도 하나의 부호화 매트릭스를 순서화하는 단계;
    상기 입력 데이터 시퀀스를 입력 데이터 매트릭스로 구성하는 단계; 및
    상기 구성된 적어도 하나의 부호화 매트릭스를 사용하여 상기 입력 데이터 매트릭스에 대한 연산들을 수행하여 부호화된 데이터 블록을 생성하는 단계를 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
  13. 제12항에 있어서, 상기 결정된 적어도 하나의 부호화 매트릭스를 순서화하는 단계는 각각의 열에 있는 비트 값들로 표현되는 정수 값들이 오름차순으로 이루어지게끔 상기 적어도 하나의 부호화 매트릭스의 열들을 구성하는 단계를 포함하며, 최상위에 있는 행의 비트가 각각의 열의 최하위 비트에 대응하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
  14. 제12항에 있어서,
    상기 결정된 적어도 하나의 부호화 매트릭스를 순서화하는 단계 이전에,
    상기 결정된 적어도 하나의 부호화 매트릭스의 맨 우측에 있는 열 다음에 미리 결정된 값들의 열을 부가하는 단계; 및
    상기 결정된 적어도 하나의 부호화 매트릭스의 맨 아래에 있는 행 아래에 미리 결정된 값들의 행을 부가하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
  15. 제12항에 있어서, 상기 미리 결정된 값들의 열은 모두 제로(0)인 열인 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
  16. 제12항에 있어서, 상기 미리 결정된 값들의 행은 모두 1인 행인 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
  17. 제12항에 있어서,
    상기 부호화된 데이터 블록의 미리 결정된 행들을 제거하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
  18. 제17항에 있어서,
    상기 부호화된 데이터 블록의 미리 결정된 열들을 제거하는 단계를 더 포함 하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
  19. 제18항에 있어서,
    상기 부호화된 데이터 블록의 연속적인 비트들의 미리 결정된 집합을 제거하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
  20. 제18항에 있어서,
    상기 부호화된 데이터 블록의 연속적인 비트들의 미리 결정된 집합을 미리 결정된 데이터로 대체하는 단계를 더 포함하는 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
  21. 제20항에 있어서, 상기 미리 결정된 데이터는 모두 제로(0)인 값들의 집합인 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
  22. 제20항에 있어서, 상기 미리 결정된 데이터는 순환 중복 검사(Cyclic Redundancy Check; CRC) 데이터인 것을 특징으로 하는 입력 데이터 시퀀스의 부호화 방법.
  23. 부호화 장치에 있어서,
    적어도 하나의 부호화 매트릭스를 결정하는 제1 유닛;
    상기 결정된 적어도 하나의 부호화 매트릭스를 순서화하는 제2 유닛;
    상기 입력 데이터 시퀀스를 입력 데이터 매트릭스로 구성하는 제3 유닛;
    상기 구성된 적어도 하나의 부호화 매트릭스를 사용하여 상기 입력 데이터 매트릭스에 대한 연산들을 수행하여 부호화된 데이터 블록을 생성하는 제4 유닛을 포함하는 것을 특징으로 하는 부호화 장치.
  24. 컴퓨터에 의해 실행될 경우에 컴퓨터로 하여금 입력 데이터 시퀀스를 부호화하는 방법을 수행하게 하는 컴퓨터 프로그램 생성물에 있어서,
    상기 입력 데이터 시퀀스의 부호화 방법은,
    적어도 하나의 부호화 매트릭스를 결정하는 단계;
    상기 결정된 적어도 하나의 부호화 매트릭스를 순서화하는 단계;
    상기 입력 데이터 시퀀스를 입력 데이터 매트릭스로 구성하는 단계; 및
    상기 구성된 적어도 하나의 부호화 매트릭스를 사용하여 상기 입력 데이터 매트릭스에 대한 연산들을 수행하여 부호화된 데이터 블록을 생성하는 단계를 포함하는 것을 특징으로 하는, 컴퓨터에 의해 실행될 경우에 컴퓨터로 하여금 입력 데이터 시퀀스의 부호화 방법을 수행하게 하는 컴퓨터 프로그램 생성물.
KR1020087006580A 2005-11-07 2006-11-07 데이터를 복호화 및 부호화하는 방법 및 장치 KR101298745B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 华中科技大学 一种增强型帧内预测模式编码方法

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