KR20090083758A - 연접 부호 복호화 방법 및 장치 - Google Patents

연접 부호 복호화 방법 및 장치 Download PDF

Info

Publication number
KR20090083758A
KR20090083758A KR1020080009752A KR20080009752A KR20090083758A KR 20090083758 A KR20090083758 A KR 20090083758A KR 1020080009752 A KR1020080009752 A KR 1020080009752A KR 20080009752 A KR20080009752 A KR 20080009752A KR 20090083758 A KR20090083758 A KR 20090083758A
Authority
KR
South Korea
Prior art keywords
decoding
data
decoded data
probability ratio
approximation probability
Prior art date
Application number
KR1020080009752A
Other languages
English (en)
Inventor
김용준
김재홍
공준진
이영환
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020080009752A priority Critical patent/KR20090083758A/ko
Priority to US12/149,999 priority patent/US20090193313A1/en
Publication of KR20090083758A publication Critical patent/KR20090083758A/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/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
    • 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/11Error 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
    • 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/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/2975Judging correct decoding, e.g. iteration stopping criteria
    • 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/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] 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/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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] 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/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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1515Reed-Solomon 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/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/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/152Bose-Chaudhuri-Hocquenghem [BCH] 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/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 연접 부호의 복호에 관한 것으로, 더욱 상세하게는 복수의 복호기 출력에 대한 대수 근사화 확률비를 이용하여 연접 부호의 복호 속도를 향상시키는 방법 및 장치에 관한 것이다.
본 발명은 연접 부호화된 수신 데이터에 대한 대수 근사화 확률비(Log Likelihood Ratio)를 산출하는 단계, 상기 산출된 대수 근사화 확률비에 기반하여 상기 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성하는 단계, 상기 제1 복호 데이터에 대한 제2 디코딩을 수행하여 제2 복호 데이터를 생성하는 단계 및 상기 제2 복호 데이터에 기반하여 반복 복호 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 연접 부호(concatenated code)의 디코딩 방법을 제공한다.
본 발명에 따르면 연접 복호화된 복호 데이터의 품질을 직접적으로 반영하여 연접 부호화된 데이터의 반복 복호 여부를 정확히 판단할 수 있다. 또한, 본 발명에 따르면 연접 부호화된 수신 데이터를 신속히 복호할 수 있다.
Figure P1020080009752
터보 코드, 연접부호, 최대 근사화 확률비

Description

연접 부호 복호화 방법 및 장치{METHOD AND APPARATUS FOR DECODING CONCATENATED CODE}
본 발명은 연접 부호의 복호에 관한 것으로, 더욱 상세하게는 복수의 복호기 출력에 대한 대수 근사화 확률비를 이용하여 연접 부호의 복호 속도를 향상시키는 방법 및 장치에 관한 것이다.
종래에 이동통신 등의 무선통신 분야에서 전파지연 및 다중 전파경로 수신에 의한 페이딩 등으로 인한 채널잡음 때문에 많은 전송 오류가 발생한다. 이러한 문제점을 개선하고 데이터의 신뢰도를 높이기 위하여 사용되는 오류 정정 부호는 디지털 이동통신 시스템에서 중요한 요소로 자리잡고 있다.
일반적으로 이동통신 등의 무선통신 분야에서는 무선채널 상에서 발생되는 잡음, 간섭과 같은 복잡한 현상으로 유선통신에 비하여 많은 오류가 발생한다. 오류정정 부호로써 사용되는 연접 부호(concatenated code)는 서로 다른 두 개의 오류 정정 코드를 사용하여 강력한 오류 정정 성능을 보인다. 연접 부호화된 데이터를 충분히 반복 복호하면 BER(Bit Error Ratio)관점에서 새논 리미트(Shannon's Limit)에 근접하는 우수한 성능을 얻을 수 있다.
그러나, 종래의 방법은 많은 연산량에 따른 복잡도의 증가, 인터리버와 반복복호에 따른 복호 지연 및 실시간 처리에 대한 여러가지 문제점이 있다. 이러한 경우에 반복복호 횟수가 증가할수록 BER은 점점 좋아지나 데이터 전송의 지연시간이 제한되어 있고 연접 부호의 복호기에서는 반복복호 횟수가 증가하더라도 부호이득(Coding Gain)이 더 이상 좋아지지 않는 현상이 발생하게 된다.
또한 BER 성능의 향상을 위한 반복복호 횟수의 증가는 복호화 시간의 증가를 초래하므로 실제 시스템에서 원하는 BER 성능을 얻기위해 반복복호 횟수를 계속해서 증가시킬 수가 없다는 문제점이 발생한다. 따라서, 이러한 반복복호 기술은 일정이상의 성능을 얻은 연접 복호기에서는 비효율적이며 데이터 복호를 지연시키는 문제점을 가지고 있다.
상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명은 연접 부호화된 수신 데이터에 대한 대수 근사화 확률비(Log Likelihood Ratio)를 산출하는 단계, 상기 산출된 대수 근사화 확률비에 기반하여 상기 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성하는 단계, 상기 제1 복호 데이터에 대한 제2 디코딩을 수행하여 제2 복호 데이터를 생성하는 단계 및 상기 제2 복호 데이터에 기반하여 반복 복호 여부를 결정하는 단계를 포함하는 것을 특징으로 하는 연접 부호(concatenated code)의 디코딩 방법을 제공한다.
본 발명의 일측에 따르면 연접 부호화된 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성하는 단계, 상기 제1 복호 데이터를 복수의 서브 데이터 블록으로 분할하는 단계, 및 상기 분할된 각각의 서브 데이터 블록에 대한 제2 디코딩을 수행하여 복수의 제2 복호 데이터를 생성하는 단계를 포함하는 것을 특징으로 하는 연접 부호의 디코딩 방법이 제공된다.
본 발명의 또 다른 일측에 따르면 연접 부호화된 수신 데이터에 대한 대수 근사화 확률비를 산출하는 최대 근사화 확률비 산출부, 상기 산출된 대수 근사화 확률비에 기반하여 상기 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성하는 제1 복호부, 상기 제1 복호 데이터에 대한 제2 디코딩을 수행하여 제2 복호 데이터를 생성하는 제2 복호부, 상기 제2 복호 데이터에 기반하여 반복 복호 여부를 결정하는 복호 결정부를 포함하는 것을 특징으로 하는 연접 부호 디코딩 장치가 제공된다.
본 발명의 또 다른 일측에 따르면 연접 부호화된 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성하는 제1 복호부, 상기 제1 복호 데이터를 복수의 서브 데이터 블록으로 데이터 분할부, 상기 분할된 각각의 서브 데이터 블록에 대한 제2 디코딩을 수행하여 복수의 제2 복호 데이터를 생성하는 제2 복호부를 포함하는 것을 특징으로 하는 연접 부호 디코딩 장치가 제공된다.
본 발명에 따르면 연접 복호화된 복호 데이터의 품질을 직접적으로 반영하여 연접 부호화된 데이터의 반복 복호 여부를 정확히 판단할 수 있다. 또한, 본 발명에 따르면 연접 부호화된 수신 데이터를 신속히 복호할 수 있다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 연접 부호 디코딩 방법을 단계별로 도시한 순서도이다. 이하 도 1을 참조하여 본 발명에 따른 연접 부호 디코딩 방법을 상세히 설명하기로 한다.
단계(S110)에서는 연접 부호화된 수신 데이터에 대하여 대수 근사화 확률비(Log likelihood Ratio)를 산출한다. 본 발명의 일 실시예에 따르면 단계(S110)의 수신 데이터는 채널을 통과하여 수신되고, 채널을 통과하는 과정에서 데이터에 오류가 발생한다. 대수 근사화 확률비는 수신된 데이터에 발생한 오류와 연관성이 있다.
본 발명의 일 실시예에 따르면 단계(S110)에서의 채널은 데이터를 전송하는 통신 시스템에서, 전송 장치로부터 수신 장치간의 채널일 수 있다. 전송 장치로부 터 수신 장치간의 채널은 유/무선 채널을 모두 포함한다. 특히 무선 채널인 경우에는 채널을 통과하여 수신된 데이터에는 간섭신호 및 잡음의 영향으로 인한 오류가 발생한다. 전송 장치는 연접 부호화 기법에 따라서 데이터를 부호화하고, 수신 장치는 연접 복호화 기법에 따라 데이터를 복호화하여 수신 데이터에 발생한 오류를 제거할 수 있다.
본 발명의 다른 실시예에 따르면 단계(S110)에서의 채널은 데이터가 저장된 메모리와 데이터 처리 장치간의 채널일 수 있다. 데이터 처리 장치는 메모리에 저장된 데이터를 수신하고, 본 발명에 따라서 연접 부호 디코딩을 수행하여 수신된 데이터에 대한 오류를 제거할 수 있다.
단계(S120)에서는 단계(S110)에서 산출된 대수 근사화 확률비에 기반하여 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성한다. 본 발명의 일 실시예에 따르면 수신 데이터는 길쌈(Convolutional) 부호화 기법에 따라서 부호화 되어 있고, 비터비(Viterbi) 복호 기법 등의 길쌈 부호의 복호화 기법에 따라서 제1 디코딩을 수행하여 제1 복호 데이터를 생성할 수 있다. 본 발명의 다른 실시예에 따르면 수신 데이터는 터보 부호화 기법에 따라서 부호화 되어 있고, 터보 복호화 기법에 따라서 제1 디코딩을 수행하여 제1 복호 데이터를 생성할 수 있다. 본 발명의 다른 실시예에 따르면 수신 데이터는 LDPC(Low-Density Parity-Check codes) 부호화 기법에 따라서 부호화 되어 있고, LDPC 복호화 기법에 따라서 제1 디코딩을 수행하여 제1 복호 데이터를 생성할 수 있다. 터보 복호화, LDPC 복호화 기법은 계산을 반복하여 복호할수록 복호 성능이 향상되어 복호 데이터의 오 류가 감소하므로 반복 복호화 기법으로 분류된다. 본 발명의 다른 실시예에 따르면 수신 데이터는 TCM(Trellis-Coded Modulation) 또는 BCM(Block-Coded Modulation) 부호화 기법에 따라서 부호화 되어 있고, TCM 또는 BCM의 복호화 기법에 따라서 제1 디코딩을 수행하여 제1 복호 데이터를 생성할 수 있다.
단계(S130)에서는 단계(S120)에서 생성된 제1 복호 데이터에 대한 제2 디코딩을 수행하여 제2 복호 데이터를 생성한다. 본 발명의 일 실시예에 따르면 제1 복호 데이터는 길쌈 부호화 기법, TCM 부호화 기법, BCM 부호화 기법, 리드 솔로몬(Reed-Solomon) 부호화 기법, 또는 BCH(Bose-Chadhuri-Hocquenghem) 부호화 기법에 따라서 부호화 되어 있고, 부호화 기법에 대응하는 복호화 기법에 따라서 제2 디코딩을 수행하여 제2 복호 데이터를 생성할 수 있다.
단계(S140)에서는 단계(S130)에서 생성된 제2 복호 데이터에 기반하여 수신 데이터에 대한 반복 복호 여부를 결정한다.
본 발명의 일 실시예에 따르면 단계(S140)에서는 제2 복호 데이터의 오류 발생 비율, 반복 복호 횟수 및 제2 복호 데이터에 대한 대수 근사화 확률비에 기반하여 수신 데이터에 대한 반복 복호 여부를 결정할 수 있다.
본 발명의 일 실시예에 따르면 단계(S140)에서는 단계(S120), 단계(S130)에서 복호화된 제2 복호 데이터에 기반하여 제2 복호 데이터에 대한 대수 근사화 확률비를 산출할 수 있다. 단계(S140)에서는 산출된 제2 복호 데이터에 대한 대수 근사화 확률비를 소정의 임계 대수 근사화 확률비와 비교할 수 있다. 본 발명의 일 실시예에 따르면 산출된 대수 근사화 확률비가 소정의 임계 대수 근사화 확률비보 다 작은 경우에 수신 데이터를 반복 복호하는 것으로 결정할 수 있다. 본 발명의 다른 실시예에 따르면 산출된 대수 근사화 확률비를 이용하여 반복 복호기의 정지 판단식 (stopping criteria)을 계산하여 반복 복호의 지속 여부를 결정할 수 있다.
만약 단계(S140)에서 수신 데이터를 반복 복호하지 않는 것으로 결정한 경우에는 본 발명에 따른 연접 부호의 디코딩 절차를 종료한다.
만약 단계(S140)에서 수신 데이터를 반복 복호하는 것으로 결정한 경우에, 단계(S150)에서는 제2 복호 데이터에 기반하여 대수 근사화 확률비를 업데이트한다. 또, 단계(S140)에서 수신 데이터를 반복 복호하는 것으로 결정한 경우에, 단계(S110)에서는 업데이트 된 대수 근사화 확률비에 기반하여 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 재생성한다.
도 2는 본 발명의 일 실시예에 따라서 제2 복호 데이터에 기반하여 반복 복호 여부를 결정하는 연접 부호 디코딩 방법을 단계별로 도시한 순서도이다. 이하 도 2를 참조하여 본 발명에 따른 연접 부호 디코딩 방법을 상세히 설명하기로 한다.
본 발명의 일 실시예에 따르면 단계(S210)에서는 제2 복호 데이터에 기반하여 제2 복호 데이터의 오류 발생 비율을 산출할 수 있다.
단계(S220)에서는 단계(S210)에서 산출된 오류 발생 비율과 소정의 오류 발생 비율을 서로 비교할 수 있다.
단계(S140)에서는 단계(S220)에서의 비교 결과에 따라서 수신 데이터에 대한 반복 복호 여부를 결정 할 수 있다. 본 발명의 일 실시예에 따르면 단계(S140) 에서는 산출된 오류 발생 비율이 소정의 오류 발생 비율 보다 작은 경우에 반복 복호를 하지 않는 것으로 결정할 수 있다. 또는 산출된 오류 발생 비율이 소정의 오류 발생 비율 보다 크거나 같은 경우에는 반복 복호를 하는 것으로 결정할 수 있다.
본 발명의 다른 실시예에 따르면 단계(S150)에서 대수 근사화 확률비를 업데이트 함에 따라서 단계(S160)에서는 대수 근사화 확률비 업데이트 횟수를 업데이트 할 수 있다. 단계(S230)에서는 대수 근사화 확률비 업데이트 횟수와 소정의 임계 횟수와 비교할 수 있다.
본 발명의 일 실시예에 따르면 단계(S140)에서는 대수 근사화 확률비 업데이트 횟수가 소정의 임계 횟수 보다 작거나 같은 경우에 수신 신호를 반복하여 복호하는 것으로 결정할 수 있다. 또는 대수 근사화 확률비 업데이트 횟수가 소정의 임계 횟수 보다 큰 경우에 수신 신호를 반복 하여 복호하지 않는 것으로 결정할 수 있다.
본 발명의 일 실시예에 따르면 단계(S150)에서 대수 근사화 확률비를 업데이트 함에 따라서 대수 근사화 확률비 업데이트 횟수를 업데이트하는 단계 및 업데이트된 대수 근사화 확률비 업데이트 횟수를 소정의 임계 횟수와 비교하는 단계를 더 포함할 수 있다. 본 발명의 일 실시예에 따르면 단계(S140)에서는 대수 근사화 확률비 업데이트 횟수가 소정의 임계 횟수 보다 작은 경우에 수신 데이터를 반복 복호하는 것으로 결정할 수 있다.
본 발명에 따르면 연접 부호의 디코딩 방법에 따른 최종 출력물인 제2 복호 데이터에 기반하여 연접 부호의 반복 복호 여부를 결정한다. 따라서 복호 데이터의 품질을 좀더 직접적으로 반영하여 반복 복호 여부를 정확히 판단할 수 있다.
도 3은 본 발명의 일 실시예에 따라서, 제1 복호 데이터를 복수의 서브 데이터 블록으로 분할하는 연접 부호 디코딩 방법을 단계별로 도시한 순서도이다. 이하 도 3을 참조하여 본 발명에 따른 연접 부호 디코딩 방법을 상세히 설명하기로 한다.
단계(S310)에서는 연접 부호화된 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성한다. 본 발명의 일 실시예에 따르면 수신 데이터는 길쌈 부호화, 터보 부호화, TCM 부호화, BCM 부호화, 또는 LDPC 부호화 되어 있고, 단계(S310)에서는 각각의 부호화 기법에 대응하는 비터비 복호화, 터보 복호화, TCM 복호화, BCM 복호화, 또는 LDPC 복호화 기법에 따라서 수신 데이터를 복호화 할 수 있다.
단계(S320)에서는 단계(S310)에서 생성된 제1 복호 데이터를 복수의 서브 데이터 블록으로 분할한다. 본 발명의 일 실시예에 따르면 각각의 서브 데이터 블록의 길이는 모두 같을 수 있으나, 본 발명의 다른 실시예에 따르면 각각의 서브 데이터 블록의 길이는 서로 다를 수도 있다.
단계(S330)에서는 단계(S320)에서 분할된 각각의 서브 데이터 블록에 대한 제2 디코딩을 수행하여 복수의 제2 복호 데이터를 생성한다. 본 발명의 일 실시예에 따르면 단계(S330)에서는 비터비 복호화 기법, 터보 복호화 기법, TCM 복호화 기법, BCM 복호화 기법, LDPC복호화 기법, 해밍(Hamming) 복호화 기법, 리드-솔로 몬(Reed-Solomon) 복호화 기법, 및 BCH 복호화 기법 중에서 적어도 하나 이상에 따라서 상기 제2 디코딩을 수행하여 각각의 서브 데이터 블록에 대한 제2 복호 데이터를 생성할 수 있다.
본 발명의 일 실시예에 따르면 분할된 각각의 서브 데이터 블록은 모두 같은 부호화 기법에 따라서 부호화 될 수 있다. 이 경우에 단계(S330)에서는 서브 데이터 블록의 부호화 기법에 대응하는 복호화 기법에 따라서 각각의 서브 데이터 블록을 복호화 할 수 있다.
본 발명의 다른 실시예에 따르면 분할된 각각의 서브 데이터 블록은 서로 다른 부호화 기법에 따라서 부호화되고, 단계(S330)에서는 서브 데이터 블록 각각의 부호화 기법에 대응하는 복호화 기법에 따라서 각각의 서브 데이터 블록을 복호화 할 수 있다.
본 발명에 따르면 제1 복호화 데이터를 복수의 서브 데이터 블록으로 분할하고, 분할된 서브 데이터 블록 각각에 대하여 제2 디코딩을 수행하여 제2 복호 데이터를 생성한다. 본 발명의 일 실시예에 따르면 길이가 긴 제1 복호 데이터에 대한 제2 디코딩을 수행하지 않고, 분할되어 길이가 짧은 복수의 서브 데이터 블록에 대한 제2 디코딩을 수행한다. 제2 디코딩은 병렬적으로 수행될 수 있으므로, 제2 디코딩에 필요한 시간이 감소된다. 본 발명에 따르면 연접 부호화된 수신 데이터를 신속히 복호할 수 있다.
도 4는 본 발명의 일 실시예에 따른 연접 부호 디코딩 장치의 구조를 도시한 블록도이다. 이하 도 4를 참조하여 본 발명에 따른 연접 부호 디코딩 장치의 동 작을 상세히 설명하기로 한다. 본 발명에 따른 연접 부호 디코딩 장치는 대수 근사화 확률비 산출부(410), 제1 복호부(420), 제2 복호부(430), 오류 검출부(440) 및 복호 결정부(450)를 포함한다.
대수 근사화 확률비 산출부(410)는 연접 부호화된 수신 데이터에 대한 대수 근사화 확률비를 산출한다. 본 발명의 일 실시예에 따르면 수신 데이터는 채널을 통과하여 수신된다. 본 발명의 일 실시예에 따르면 채널은 통신 시스템의 전송 장치로부터 수신 장치간의 채널일 수도 있고, 데이터가 저장된 메모리와 데이터 처리 장치간의 채널일 수 있다. 수신 데이터는 채널을 통과하는 과정에서 오류가 발생한다. 본 발명에 따른 연접 부호의 복호화 장치는 채널을 통과하는 과정에서 발생한 오류를 제거할 수 있다.
제1 복호부(420)는 대수 근사화 확률비 산출부(410)가 산출한 대수 근사화 확률비에 기반하여 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성한다. 본 발명의 일 실시예에 따르면 수신 데이터는 길쌈 부호화, 터보 부호화, TCM 부호화, BCM 부호화, 또는 LDPC 부호화 되어있고, 제1 복호부(420)는 수신 데이터의 부호화 기법에 대응하는 비터비 복호화 기법, 터보 복호화 기법, TCM 복호화 기법, BCM 복호화 기법, 또는 LDPC 복호화 기법에 따라서 수신데이터를 복호할 수 있다.
터보 복호화, LDPC 복호화 기법은 계산을 반복하여 복호할수록 복호 성능이 향상되어 복호 데이터의 오류가 감소하므로 반복 복호화 기법으로 분류된다,
제2 복호부(430)는 제1 복호 데이터에 대한 제2 디코딩을 수행하여 제2 복 호 데이터를 생성한다. 본 발명의 일 실시예에 따르면 제1 복호 데이터는 길쌈 부호화, 터보 부호화, TCM 부호화, BCM 부호화, LDPC 부호화, 해밍 부호화, 리드-솔로몬 부호화, BCH 부호화 기법 중에서 어느 하나의 기법에 따라서 부호화 되고, 제2 복호부(430)는 제1 복호 데이터의 부호화 기법에 대응하는 복호화 기법에 따라서 복호화 될 수 있다.
오류 검출부(440)는 제2 복호 데이터에 대한 오류 발생 여부 또는 오류 발생 비율을 산출한다. 오류 발생 비율은 제2 복호 데이터에 포함된 전체 데이터의 길이에 대한 오류가 발생한 데이터의 길이로 정의될 수 있다.
복호 결정부(450)는 제2 복호 데이터의 오류 발생 여부 또는 오류 발생 비율에 기반하여 수신 데이터의 반복 복호 여부를 결정할 수 있다. 본 발명의 일 실시예에 따르면 복호 결정부(450)는 제2 복호 데이터에 대한 대수 근사화 확률비를 산출하고, 산출된 대수 근사화 확률비에 기반하여 반복 복호 여부를 결정할 수 있다. 본 발명의 일 실시예에 따르면 복호 결정부(450)는 제2 복호 데이터에 대한 대수 근사화 확률비와 소정의 임계치를 비교하고, 산출된 대수 근사화 확률비가 소정의 임계치보다 큰 경우에는 반복 복호를 하지 않는 것으로 결정할 수 있다. 또, 산출된 대수 근사화 확률비가 소정의 임계치보다 작은 경우에는 수신 데이터를 반복 복호하는 것으로 결정할 수 있다. 본 발명의 다른 실시예에 따르면 산출된 대수 근사화 확률비를 이용하여 반복 복호기의 정지 판단식 (stopping criteria)을 계산하여 반복 복호의 지속 여부를 결정할 수 있다.
본 발명의 일 실시예에 따르면 복호 결정부(450)가 반복 복호하기로 결정한 경우에, 대수 근사화 확률비 산출부(410)는 제2 복호 데이터에 대한 대수 근사화 확률비를 산출하여 수신 데이터에 대한 대수 근사화 확률비를 업데이트 할 수 있다. 또한, 제1 복호부(420)는 업데이트된 대수 근사화 확률비에 기반하여 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 재생성 할 수 있다.
본 발명의 일 실시예에 따르면 대수 근사화 확률비 산출부(410)는 대수 근사화 확률비를 업데이트함에 따라서 대수 근사화 확률비 업데이트 횟수를 업데이트 할 수 있다. 또한, 복호 결정부(450)는 업데이트 횟수 비교 결과에 기반하여 수신 데이터에 대한 반복 복호 여부를 결정할 수 있다. 본 발명의 일 실시예에 따르면 복호 결정부(450)는 대수 근사화 확률비 업데이트 횟수를 소정의 임계 횟수와 비교하고, 대수 근사화 확률비 업데이트 횟수가 임계 횟수보다 작은 경우에는 수신 데이터를 반복 복호하는 것으로 결정할 수 있다. 또한 대수 근사화 확률비 업데이트 횟수가 임계 횟수보다 큰 경우에는 수신 데이터를 반복 복호하지 않는 것으로 결정할 수 있다.
본 발명의 일 실시예에 따르면 오류 검출부(440)는 제2 복호 데이터에 대한 오류 발생 비율을 산출하고, 복호 결정부(450)는 산출된 오류 발생 비율을 소정의 임계치와 비교하고, 비교 결과에 기반하여 수신 데이터에 대한 반복 복호 여부를 결정할 수 있다. 본 발명의 일 실시예에 따르면 산출된 오류 발생 비율이 소정의 임계치보다 작은 경우에는 수신 데이터를 반복 복호하지 않고, 산출된 오류 발생 비율이 소정의 임계치보다 큰 경우에는 수신 데이터를 반복 복호하는 것으로 결정할 수 있다.
도 5는 본 발명의 일 실시예에 따라서 복수의 복호기를 이용한 연접 부호 디코딩 장치의 구조를 도시한 블록도이다. 이하 도 5를 참조하여 본 발명에 따른 연접 부호 디코딩 장치의 동작을 상세히 설명하기로 한다. 본 발명에 따른 연접 부호 디코딩 장치는 제1 복호부(510), 데이터 분할부(530), 제2 복호부(530) 및 데이터 결합부(540)를 포함한다.
제1 복호부(510)는 연접 부호화된 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성한다. 본 발명의 일 실시예에 따르면 수신 데이터는 길쌈 부호화, 터보 부호화, TCM 부호화, BCM 부호화, 또는 LDPC 부호화되고, 제1 복호부(510)는 수신 데이터의 부호화 기법에 대응하는 복호화 기법에 기반하여 비터비 복호화, 터보 복호화, TCM 복호화, BCM 복호화, 또는 LDPC 복호화 기법에 따라서 제1 디코딩을 수행할 수 있다.
데이터 분할부(520)는 제1 복호 데이터를 복수의 서브 데이터 블록으로 분할한다. 본 발명의 일 실시예에 따르면 데이터 분할부(520)는 제1 복호 데이터를 모두 같은 길이의 서브 데이터 블록으로 분할할 수도 있으나, 각각 다른 길이의 서브 데이터 블록으로 분할할 수도 있다.
제2 복호부(530)는 데이터 분할부(520)가 분할한 각각의 서브 데이터 블록에 대한 제2 디코딩을 수행하여 복수의 제2 복호 데이터를 생성한다. 본 발명의 일 실시예에 따르면 제2 복호부(530)는 분할된 각각의 서브 데이터 블록에 대한 제2 디코딩을 수행하는 복수의 복호기(531, 532, 533, 534, 535)를 포함할 수 있다.
제2 복호부(530)는 길이가 긴 제1 복호 데이터를 복호하지 않고, 길이가 짧 은 서브 데이터 블록을 복호한다. 도 5에 도시된 실시예처럼 복수의 복호기(531, 532, 533, 534, 535)를 이용하여 각각의 서브 데이터 블록을 병렬적으로 복호하는 경우에, 복호에 소요되는 시간이 감소한다.
본 발명의 일 실시예에 따르면 각각의 서브 데이터 블록은 길쌈 부호화 기법, 터보 부호화 기법, TCM 부호화 기법, BCM 부호화 기법, LDPC 부호화 기법, 해밍 부호화 기법, 리드-솔로몬 부호화 기법, BCH 부호화 기법 중에서 적어도 하나 이상의 기법에 따라서 부호화될 수 있다. 제2 복호부(530)는 각각의 서브 데이터 블록의 부호화 기법에 대응하는 복호화 기법에 따라서 비터비 복호화 기법, 터보 복호화 기법, TCM 복호화 기법, BCM 복호화 기법, LDPC 복호화 기법, 해밍(Hamming) 복호화 기법, 리드-솔로몬(Reed Solomon) 복호화 기법, BCH 복호화 기법 중에서 적어도 하나 이상에 기반하여 상기 제2 디코딩을 수행할 수 있다.
도 6은 본 발명의 일 실시예에 따라서 제1 복호 데이터를 분할하여 복수의 서브 데이터 블록으로 분할하는 것을 도시한 도면이다. 이하 도 6을 참조하여 본 발명에 따라서 제1 복호 데이터를 분할하는 것을 상세히 설명하기로 한다.
본 발명에 따른 연접 부호 디코딩 장치의 제1 복호부(510)는 수신 데이터(610)를 복호하여 제1 복호 데이터(620)를 생성한다. 본 발명의 일 실시예에 따르면 수신 데이터(610)는 전송 정보(611) 및 오류 정정 정보(612)를 포함할 수 있다. 전송 정보(611)는 채널을 통과하는 과정에서 발생한 오류를 포함한다.
제1 복호부(510)는 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터(620)를 생성한다. 본 발명의 일 실시예에 따르면 제1 복호부(510)는 오류 정 정 정보(612)를 참조하여 전송 정보(611)에 포함된 오류를 정정하여 제1 복호 데이터(620)를 생성할 수 있다.
데이터 분할부(520)는 제1 복호 데이터를 분할하여 복수의 서브 데이터 블록(631, 632, 633)을 생성한다. 도 6의 실시예에서는 각각의 서브 데이터 블록(631, 632, 633)의 길이가 동일한 실시예가 도시되었으나, 본 발명의 다른 실시예에 따르면 각각의 서브 데이터 블록(631, 632, 633)은 서로 다른 길이를 가질 수 있다.
제2 복호부(530)는 각각의 서브 데이터 블록(631, 632, 633)을 복호하여 복수의 제2 복호 데이터(641, 642, 643)를 생성한다. 본 발명의 일 실시예에 따르면 각각의 서브 데이터 블록(631, 632, 633)은 전송 데이터 및 오류 정정 정보를 포함할 수 있다. 제2 복호부(530)는 서브 데이터 블록(631, 632, 633)에 각각 포함된 오류 정정 정보에 기반하여 각각의 전송 데이터로부터 제2 복호 데이터(641, 642, 643)를 생성할 수 있다.
도 7은 본 발명의 일 실시예에 따라서 복수의 복호기의 출력에 기반하여 반복 복호 여부를 결정하는 연접 부호 디코딩 장치의 구조를 도시한 블록도이다. 이하 도 7을 참조하여 본 발명에 따른 연접 부호 디코딩 장치의 동작을 상세히 설명하기로 한다. 본 발명에 따른 연접 무호 디코딩 장치는 대수 근사화 확률비 산출부(710), 제1 복호부(720), 데이터 분할부(730), 제2 복호부(740), 오류 검출부(750) 및 복호 결정부(760)를 포함한다.
대수 근사화 확률비 산출부(710)는 연접 후보화된 수신 데이터에 대한 대수 근사화 확률비를 산출한다. 본 발명의 일 실시예에 따르면 수신 장치는 채널을 경유하여 수신 데이터를 전송 장치로부터 수신할 수 있다. 수신 데이터는 채널을 통과하는 과정에서 잡음등의 영향으로 인하여 오류가 발생할 수 있다.
제1 복호부(720)는 대수 근사화 확률비 산출부(710)가 산출한 대수 근사화 확률비에 기반하여 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성한다. 제1 복호 데이터는 수신 데이터에 발생한 오류 중에서 일부가 정정된 데이터이다. 그러나, 제1 복호 데이터에는 제1 디코딩 과정에서 정정되지 않은 오류가 아직 남아 있을 수 있다.
데이터 분할부(730)는 제1 복호 데이터를 복수의 서브 데이터 블록으로 분할 한다.
제2 복호부(740)는 복수의 서브 데이터 블록에 대한 제2 디코딩을 수행하여 복수의 제2 복호 데이터를 생성한다. 본 발명의 일실시예에 따르면 제2 복호부(740)는 각각의 서브 데이터 블록에 대한 제2 디코딩을 수행하는 복수의 복호기(741, 742, 743)을 포함할 수 있다.
제2 복호부(740)는 복수의 서브 데이터 블록에 대한 제2 디코딩을 수행하여, 제1 디코딩 과정에서 정정되지 않은 오류를 정정한다. 그러나, 각각의 서브 데이터 블록에는 여전히 오류가 남아 있을 수 있다.
복호 결정부(760)는 제2 복호 데이터에 기반하여 수신 데이터에 대한 반복 복호 여부를 결정한다.
본 발명의 일 실시예에 따르면 오류 검출부(750)는 제2 복호 데이터에 대한 오류 발생 여부 또는 제2 복호 데이터에 대한 오류 발생비를 산출하고, 복호 결정부(760)는 제2 복호 데이터의 오류 발생비를 소정의 임계치와 비교할 수 있다. 복호 결정부(760)는 제2 복호 데이터의 오류 발생비가 소정의 임계치보다 작은 경우에 수신 데이터에 대한 반복 복호를 수행하지 않는 것으로 결정할 수 있다. 또는 복호 결정부(760)는 제2 복호 데이터의 오류 발생비가 소정의 임계치보다 큰 경우에 수신 데이터에 대한 반복 복호를 수행하는 것으로 결정할 수 있다. 본 발명의 다른 실시예에 따르면 산출된 대수 근사화 확률비를 이용하여 반복 복호기의 정지 판단식 (stopping criteria)을 계산하여 반복 복호의 지속 여부를 결정할 수 있다.
복호 결정부(760)가 수신 데이터에 대한 반복 복호를 수행하는 것으로 결정한 경우에, 대수 근사화 확률비 산출부(720)는 제2 복호 데이터에 기반하여 수신 데이터에 대한 대수 근사화 확률비를 산출할 수 있다. 본 발명의 일 실시예에 따르면 대수 근사화 확률비 산출부(720)는 분할된 각각의 제2 복호 데이터에 대한 각각의 대수 근사화 확률비를 산출하고, 각각의 대수 근사화 확률비를 조합하여 수신 데이터에 대한 대수 근사화 확률비를 산출할 수 있다. 본 발명의 일 실시예에 따르면 대수 근사화 확률비 산출부(720)는 제2 복호 데이터의 오류 발생 여부에 기반하여 각각의 제2 복호 데이터의 대수 근사화 확률비를 조합할 수 있다. 대수 근사화 확률비 산출부(720)는 오류가 발생하지 않은 제2 복호 데이터의 대수 근사화 확률비에는 높은 가중치를 부여하고, 오류가 발생한 제2 복호 데이터의 대수 근사화 확률비에는 낮은 가중치를 부여하여 각각의 대수 근사화 확률비를 조합할 수 있다.
제2 복호 데이터의 오류 발생 여부에 기반하여 조합된 대수 근사화 확률비 는 수신 데이터에 대한 대수 근사화 확률비보다 오류가 발생하지 않은 제2 복호 데이터의 비중이 크고, 수신 데이터를 디코딩하기 위한 좀더 정확한 대수 근사화 확률비라고 할 수 있다. 따라서 제2 복호 데이터의 오류 발생 여부에 기반하여 조합된 대수 근사화 확률비에 기반하여 수신 데이터를 다시 디코딩 한다면, 최초 디코딩시 정정하지 못했던 수신 데이터의 오류도 정정할 수 있다.
본 발명의 일 실시예에 따르면 대수 근사화 확률비 산출부(720)는 제2 복호 데이터의 오류 발생 여부에 기반하여 조합된 대수 근사화 확률비를 이용하여 수신 데이터에 대한 대수 근사화 확률비를 업데이트 한다, 제1 복호부(720)는 업데이트된 대수 근사화 확률비에 기반하여 수신 데이터에 대한 제1 디코딩을 수행할 수 있다.
도 8은 수신 데이터를 반복 복호함에 따라서 복수의 제2 복호 데이터에 발생한 오류가 감소하는 것을 도시한 도면이다. 이하 도 8을 참조하여 본 발명의 일 실시예에 따라서 수신 데이터를 반복 복호함에 따라서 수신데이터에 발생한 오류를 정정하는 것을 상세히 설명하기로 한다.
최초 복호 단계(S810)에서 본 발명에 따른 연접 부호 디코딩 장치는 제1 복호 데이터를 복수의 제2 복호 데이터(811, 812, 813, 814, 815)로 분할한다.
첫 번째 복호 단계(S810)에서는 제2 복호 데이터에 대한 오류발생 여부가 판단 되고, 오류가 발생한 제2 복호 데이터에 대한 오류가 일부 정정된다.
첫 번째 복호 단계(S810)에서는 오류 정정된 제2 복호 데이터에 기반하여 수신 데이터에 대한 반복 복호 여부를 결정한다. 수신 데이터를 반복 복호하기로 결정한 경우에, 두 번째 복호 단계(S820)에는 첫 번째 복호 단계(S810)에서 산출된 제2 복호 데이터에 기반하여 대수 근사화 확률비를 업데이트 하고, 업데이트된 대수 근사화 확률비에 기반하여 수신 데이터를 다시 복호한다.
두 번째 복호 단계(S820)에서는 제2 복호 데이터(821, 822, 823, 824, 825)의 오류 발생 여부가 이미 알려진 수신 데이터에 대한 연접 부호 디코딩을 수행한다.
세 번째 복호 단계(S830)에서는 두 번째 복호 단계(S820)에서 오류가 발생 했던 제2 복호 데이터(821, 823, 824)중에서 2개의 제2 복호 데이터(821, 823)에 발생한 오류가 정정되었다.
또한, 네 번째 복호 단계(S840)에서는 오류가 발생했던 제2 복호 데이터(834)의 오류가 정정되어, 모든 제2 복호 데이터(841, 842, 843, 844, 855)에 발생한 오류가 정정되었다.
본 발명의 다양한 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체에 기록될 수 있다.
상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 본 발명에서 설명된 연접 부호 디코딩 장치의 전부 또는 일부가 컴퓨터 프로그램으로 구현된 경우, 상기 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체도 본 발명에 포함된다.
도 1은 본 발명의 일 실시예에 따른 연접 부호 디코딩 방법을 단계별로 도시한 순서도이다.
도 2는 본 발명의 일 실시예에 따라서 제2 복호 데이터에 기반하여 반복 복호 여부를 결정하는 연접 부호 디코딩 방법을 단계별로 도시한 순서도이다.
도 3은 본 발명의 일 실시예에 따라서, 제1 복호 데이터를 복수의 서브 데이터 블록으로 분할하는 연접 부호 디코딩 방법을 단계별로 도시한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 연접 부호 디코딩 장치의 구조를 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 따라서 복수의 복호기를 이용한 연접 부호 디코딩 장치의 구조를 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따라서 제1 복호 데이터를 분할하여 복수의 서브 데이터 블록으로 분할하는 것을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따라서 복수의 복호기의 출력에 기반하여 반복 복호 여부를 결정하는 연접 부호 디코딩 장치의 구조를 도시한 블록도이다.
도 8은 본 발명의 일 실시예에 따라서 수신 데이터를 반복 복호하여 복수의 제2 복호 데이터의 오류가 감소하는 것을 도시한 도면이다.

Claims (17)

  1. 연접 부호화된 수신 데이터에 대한 대수 근사화 확률비(Log Likelihood Ratio)를 산출하는 단계;
    상기 산출된 대수 근사화 확률비에 기반하여 상기 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성하는 단계;
    상기 제1 복호 데이터에 대한 제2 디코딩을 수행하여 제2 복호 데이터를 생성하는 단계; 및
    상기 제2 복호 데이터에 기반하여 반복 복호 여부를 결정하는 단계
    를 포함하는 것을 특징으로 하는 연접 부호의 디코딩 방법.
  2. 제1항에 있어서,
    상기 제2 복호 데이터에 기반하여 상기 대수 근사화 확률비를 업데이트 하는 단계
    를 더 포함하고,
    상기 제1 복호 데이터를 생성하는 단계는,
    상기 업데이트 된 대수 근사화 확률비에 기반하여 상기 수신 데이터에 대한 제1 디코딩을 수행하여 상기 제1 복호 데이터를 재생성하는 것을 특징으로 하는 연접 부호의 디코딩 방법.
  3. 제2항에 있어서,
    상기 제2 복호 데이터에 대한 오류 발생 비율을 산출하는 단계
    를 더 포함하고,
    상기 대수 근사화 확률비를 업데이트 하는 단계는,
    상기 오류 발생 비율에 따라서 상기 대수 근사화 확률비를 업데이트 하는 것을 특징으로 하는 연접 부호의 디코딩 방법.
  4. 제2항에 있어서,
    대수 근사화 확률비 업데이트 횟수를 업데이트 하는 단계; 및
    상기 업데이트된 대수 근사화 확률비 업데이트 횟수를 소정의 임계 횟수와 비교하는 단계
    를 더 포함하고,
    상기 반복 복호 여부를 결정하는 단계는,
    상기 업데이트 횟수 비교 결과에 기반하여 반복 복호 여부를 결정하는 것을 특징으로 하는 연접 부호의 디코딩 방법.
  5. 제1항에 있어서,
    상기 제2 복호 데이터에 대한 오류 발생 비율을 산출하는 단계; 및
    상기 오류 발생 비율을 소정의 임계치와 비교하는 단계
    를 더 포함하고,
    상기 반복 복호 여부를 결정하는 단계는,
    상기 비교 결과에 기반하여 상기 반복 복호 여부를 결정하는 것을 특징으로 하는 연접 부호의 디코딩 방법.
  6. 연접 부호화된 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성하는 단계;
    상기 제1 복호 데이터를 복수의 서브 데이터 블록으로 분할하는 단계; 및
    상기 분할된 각각의 서브 데이터 블록에 대한 제2 디코딩을 수행하여 복수의 제2 복호 데이터를 생성하는 단계
    를 포함하는 것을 특징으로 하는 연접 부호의 디코딩 방법.
  7. 제6항에 있어서, 상기 제1 복호 데이터를 생성하는 단계는,
    반복 복호화 기법에 따라서 상기 제1 디코딩을 수행하는 것을 특징으로 하는 연접 부호의 디코딩 방법.
  8. 제6항에 있어서, 상기 제2 디코딩 신호를 생성하는 단계는,
    비터비 복호화 기법, 터버 복호화 기법, TCM 복호화 기법, BCM 복호화 기법, LDPC 복호화 기법, 해밍 복호화 기법, 리드-솔로몬 복호화 기법, 및 BCH 복호화 기법 중에서 적어도 하나 이상에 따라서 상기 제2 디코딩을 수행하는 것을 특징으로 하는 연접 부호의 디코딩 방법.
  9. 제1항 내지 제8항 중 어느 하나의 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
  10. 연접 부호화된 수신 데이터에 대한 대수 근사화 확률비를 산출하는 최대 근사화 확률비 산출부;
    상기 산출된 대수 근사화 확률비에 기반하여 상기 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성하는 제1 복호부;
    상기 제1 복호 데이터에 대한 제2 디코딩을 수행하여 제2 복호 데이터를 생성하는 제2 복호부;
    상기 제2 복호 데이터에 기반하여 반복 복호 여부를 결정하는 복호 결정부
    를 포함하는 것을 특징으로 하는 연접 부호(concatenated code) 디코딩 장치.
  11. 제10항에 있어서,
    상기 최대 근사화 확률비 산출부는 상기 반복 복호 여부에 따라서 상기 제2 복호 데이터에 기반하여 상기 최대 근사화 확률비를 업데이트 하고,
    상기 제1 복호부는 상기 업데이트 된 최대 근사화 확율비에 기반하여 상기 수신 데이터에 대한 제1 디코딩을 수행하여 상기 제1 복호 데이터를 재생성하는 것을 특징으로 하는 연접 부호 디코딩 장치.
  12. 제11항에 있어서,
    상기 제2 복호 데이터에 대한 오류 발생 비율을 산출하는 오류 검출부
    를 더 포함하고,
    상기 최대 근사화 확률비 산출부는,
    상기 오류 발생 비율에 기반하여 상기 최대 근사화 확율비를 업데이트 하는 것을 특징으로 하는 연접 부호 디코딩 장치.
  13. 제11항에 있어서,
    상기 최대 근사화 확률비 산출부는 최대 근사화 확률비 업데이트 횟수를 업데이트 하고,
    상기 복호 결정부는 상기 업데이트된 최대 근사화 확률비 업데이트 횟수를 소정의 임계 횟수와 비교하고, 상기 업데이트 횟수 비교 결과에 기반하여 반복 복호 여부를 결정하는 것을 특징으로 하는 연접 부호의 디코딩 장치.
  14. 제10항에 있어서,
    상기 제2 복호 데이터에 대한 오류 발생 비율을 산출하는 오류 검출부
    를 더 포함하고,
    상기 복호 결정부는,
    상기 오류 발생 비율을 소정의 임계치와 비교하고, 상기 비교 결과에 기반 하여 상기 반복 복호 여부를 결정하는 것을 특징으로 하는 연접 부호 디코딩 장치.
  15. 연접 부호화된 수신 데이터에 대한 제1 디코딩을 수행하여 제1 복호 데이터를 생성하는 제1 복호부;
    상기 제1 복호 데이터를 복수의 서브 데이터 블록으로 분할하는 데이터 분할부; 및
    상기 분할된 각각의 서브 데이터 블록에 대한 제2 디코딩을 수행하여 복수의 제2 복호 데이터를 생성하는 제2 복호부;
    를 포함하는 것을 특징으로 하는 연접 부호 디코딩 장치.
  16. 제15항에 있어서,
    상기 제1 복호부는,
    반복 복호화 기법에 따라서 상기 제1 디코딩을 수행하는 것을 특징으로 하는 연접 부호 디코딩 장치.
  17. 제15항에 있어서, 상기 제2 복호부는,
    비터비 복호화 기법, 터보 복호화 기법, TCM 복호화 기법, BCM 복호화 기법, LDPC 복호화 기법, 해밍 복호화 기법, 리드-솔로몬 복호화 기법, BCH 복호화 기법 중에서 적어도 하나 이상에 기반하여 상기 제2 디코딩을 수행하는 것을 특징으로 하는 연접 부호 복호화 장치.
KR1020080009752A 2008-01-30 2008-01-30 연접 부호 복호화 방법 및 장치 KR20090083758A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080009752A KR20090083758A (ko) 2008-01-30 2008-01-30 연접 부호 복호화 방법 및 장치
US12/149,999 US20090193313A1 (en) 2008-01-30 2008-05-12 Method and apparatus for decoding concatenated code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080009752A KR20090083758A (ko) 2008-01-30 2008-01-30 연접 부호 복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20090083758A true KR20090083758A (ko) 2009-08-04

Family

ID=40900457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080009752A KR20090083758A (ko) 2008-01-30 2008-01-30 연접 부호 복호화 방법 및 장치

Country Status (2)

Country Link
US (1) US20090193313A1 (ko)
KR (1) KR20090083758A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101296773B1 (ko) * 2011-10-07 2013-08-14 한국전기연구원 Ldpc 부호 복호화 장치 및 방법
KR102205630B1 (ko) * 2019-10-07 2021-01-21 고려대학교 산학협력단 부호 복호기의 효율 증대를 위한 조기 종료 장치 및 그 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958427B1 (en) * 2007-03-30 2011-06-07 Link—A—Media Devices Corporation ECC with out of order completion
US8281212B1 (en) 2007-03-30 2012-10-02 Link—A—Media Devices Corporation Iterative ECC decoder with out of order completion
US8370711B2 (en) * 2008-06-23 2013-02-05 Ramot At Tel Aviv University Ltd. Interruption criteria for block decoding
US8321772B1 (en) * 2008-10-20 2012-11-27 Link—A—Media Devices Corporation SOVA sharing during LDPC global iteration
US8265020B2 (en) * 2008-11-12 2012-09-11 Microsoft Corporation Cognitive error control coding for channels with memory
US9008308B2 (en) * 2012-02-08 2015-04-14 Vixs Systems, Inc Container agnostic decryption device and methods for use therewith
JP5835108B2 (ja) * 2012-05-31 2015-12-24 ソニー株式会社 受信装置および受信方法
US8856615B1 (en) * 2012-06-11 2014-10-07 Western Digital Technologies, Inc. Data storage device tracking log-likelihood ratio for a decoder based on past performance
US9116822B2 (en) 2012-12-07 2015-08-25 Micron Technology, Inc. Stopping criteria for layered iterative error correction
US9337868B2 (en) * 2013-07-22 2016-05-10 Nec Corporation Iterative decoding for cascaded LDPC and TCM coding
JP2019053415A (ja) * 2017-09-13 2019-04-04 東芝メモリ株式会社 メモリシステム、その制御方法及びプログラム
JP2019057752A (ja) 2017-09-19 2019-04-11 東芝メモリ株式会社 メモリシステム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742619A (en) * 1996-07-11 1998-04-21 Ericsson Inc. Method and apparatus for concatenated coding of mobile radio signals
EP1919086B1 (en) * 1999-03-01 2013-02-27 Fujitsu Limited Turbo decoder
JP3590310B2 (ja) * 1999-12-07 2004-11-17 シャープ株式会社 連接畳込み符号復号器
US7243294B1 (en) * 2000-01-13 2007-07-10 California Institute Of Technology Serial turbo trellis coded modulation using a serially concatenated coder
US6810502B2 (en) * 2000-01-28 2004-10-26 Conexant Systems, Inc. Iteractive decoder employing multiple external code error checks to lower the error floor
GB2366159B (en) * 2000-08-10 2003-10-08 Mitel Corp Combination reed-solomon and turbo coding
KR100713331B1 (ko) * 2000-12-23 2007-05-04 삼성전자주식회사 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법
JP3512176B2 (ja) * 2001-05-15 2004-03-29 松下電器産業株式会社 ターボ復号装置およびターボ復号における復号の繰返し回数の制御方法
JP3876662B2 (ja) * 2001-08-03 2007-02-07 三菱電機株式会社 積符号の復号方法および積符号の復号装置
KR100444571B1 (ko) * 2002-01-11 2004-08-16 삼성전자주식회사 터보디코더와 알에스디코더가 연접된 디코딩장치 및 그의디코딩방법
EP1359672A1 (en) * 2002-05-03 2003-11-05 Siemens Aktiengesellschaft Method for improving the performance of concatenated codes
US7613985B2 (en) * 2003-10-24 2009-11-03 Ikanos Communications, Inc. Hierarchical trellis coded modulation
GB2414638A (en) * 2004-05-26 2005-11-30 Tandberg Television Asa Decoding a concatenated convolutional-encoded and block encoded signal
US7516389B2 (en) * 2004-11-04 2009-04-07 Agere Systems Inc. Concatenated iterative and algebraic coding
KR100651847B1 (ko) * 2005-09-05 2006-12-01 엘지전자 주식회사 다중 순환 부호화를 이용한 터보 부호의 부호화/복호 장치및 방법
US20070113143A1 (en) * 2005-10-25 2007-05-17 Yu Liao Iterative decoder with stopping criterion generated from error location polynomial
JP4092352B2 (ja) * 2005-11-16 2008-05-28 Necエレクトロニクス株式会社 復号装置、復号方法、及び受信装置
JP4229948B2 (ja) * 2006-01-17 2009-02-25 Necエレクトロニクス株式会社 復号装置、復号方法、及び受信装置
US8024636B2 (en) * 2007-05-04 2011-09-20 Harris Corporation Serially concatenated convolutional code decoder with a constrained permutation table
US8099645B2 (en) * 2008-04-11 2012-01-17 Nec Laboratories America, Inc. LDPC codes and stochastic decoding for optical transmission

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101296773B1 (ko) * 2011-10-07 2013-08-14 한국전기연구원 Ldpc 부호 복호화 장치 및 방법
KR102205630B1 (ko) * 2019-10-07 2021-01-21 고려대학교 산학협력단 부호 복호기의 효율 증대를 위한 조기 종료 장치 및 그 방법

Also Published As

Publication number Publication date
US20090193313A1 (en) 2009-07-30

Similar Documents

Publication Publication Date Title
KR20090083758A (ko) 연접 부호 복호화 방법 및 장치
US7949927B2 (en) Error correction method and apparatus for predetermined error patterns
US9214958B2 (en) Method and decoder for processing decoding
EP1628405B1 (en) List output Viterbi decoding using CRC constraint tests and physical constraint tests
US7657819B2 (en) Method and apparatus for termination of iterative turbo decoding
US20070011586A1 (en) Multi-threshold reliability decoding of low-density parity check codes
US8081719B2 (en) Method and system for improving reception in wired and wireless receivers through redundancy and iterative processing
US8332717B2 (en) Method of improving the iterative decoding of codes
US8640010B2 (en) Decoding apparatus and decoding method
JP4227481B2 (ja) 復号装置および復号方法
US7480852B2 (en) Method and system for improving decoding efficiency in wireless receivers
JP2000216689A (ja) 反復式ターボ符号復号装置及び該装置の性能を最適化する方法
US11177834B2 (en) Communication method and apparatus using polar codes
US8650468B2 (en) Initializing decoding metrics
US10084486B1 (en) High speed turbo decoder
KR101609884B1 (ko) 통신 시스템에서 복호된 데이터의 신뢰성을 판단하는 장치 및 방법
US20180248563A1 (en) Device and Method of Controlling an Iterative Decoder
KR20150004489A (ko) Ldpc 부호화, 복호화 방법 및 그 방법을 이용하는 장치
CN112165336A (zh) 一种具有重新同步机制的滑窗译码方法和***
CN114448448B (zh) 一种基于ca-scl的极化码编译码方法
RU2461964C1 (ru) Способ помехоустойчивого декодирования сигналов, полученных с использованием параллельного каскадного кода проверки на четность с низкой плотностью
KR101382865B1 (ko) 가변 부호율 블록 터보 부호의 하이브리드 복호기를 포함하는 데이터 송수신 장치 및 방법
CN118353478A (zh) 一种Turbo码的译码方法、装置、设备及存储介质
CN116722879A (zh) 一种极化码置信传播列表比特翻转译码方法
JPH03253122A (ja) 二重復号方式

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid