KR102092476B1 - 블록 터보 부호의 신드롬 기반 복호 방법 및 장치 - Google Patents

블록 터보 부호의 신드롬 기반 복호 방법 및 장치 Download PDF

Info

Publication number
KR102092476B1
KR102092476B1 KR1020180128883A KR20180128883A KR102092476B1 KR 102092476 B1 KR102092476 B1 KR 102092476B1 KR 1020180128883 A KR1020180128883 A KR 1020180128883A KR 20180128883 A KR20180128883 A KR 20180128883A KR 102092476 B1 KR102092476 B1 KR 102092476B1
Authority
KR
South Korea
Prior art keywords
decoding
syndrome
turbo code
block turbo
bit
Prior art date
Application number
KR1020180128883A
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 KR1020180128883A priority Critical patent/KR102092476B1/ko
Priority to US16/655,528 priority patent/US11165439B2/en
Application granted granted Critical
Publication of KR102092476B1 publication Critical patent/KR102092476B1/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
    • 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
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized 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/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/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
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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/1575Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
    • 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/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/258Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with turbo codes, e.g. Turbo Trellis Coded Modulation [TTCM]
    • 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/2948Iterative 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/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/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/6502Reduction of hardware complexity or efficient processing
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/618Shortening and extension of codes

Abstract

본 발명은 블록 터보 부호의 신드롬 기반 복호 방법 및 장치를 개시한다. 본 발명에 따르면, 확장 해밍 부호를 구성 부호로 하는 블록 터보 부호의 신드롬 기반 복호 방법으로서, (a) 채널 통과 정보, 직전 절반 반복 복호의 외부 정보(extrinsic information)과 신뢰도 인자를 이용하여 다음 절반 반복 복호의 입력 정보값을 생성하는 단계; (b) 상기 입력 정보값의 경판정을 통해 경판정 워드를 생성하는 단계; (c) 상기 경판정 워드를 이용하여 상기 블록 터보 부호의 열 또는 행의 개수에 상응하는 n개의 1비트 신드롬을 계산하는 단계; 및 (d) 상기 계산된 n개의 1비트 신드롬을 이용하여 다음 절반 복호의 진행 여부를 판단하는 단계를 포함하는 신드롬 기반 블록 터보 부호의 복호 방법이 제공된다.

Description

블록 터보 부호의 신드롬 기반 복호 방법 및 장치{A syndrome-based decoding method and apparatus of a block turbo code}
본 발명은 블록 터보 부호의 신드롬 기반 복호 방법 및 장치에 관한 것으로서, 보다 상세하게는 저 복잡도 조기 정지 기법과 혼합 복호 기법을 적용한 블록 터보 부호의 신드롬 기반 복호 방법 및 장치에 관한 것이다.
Berrou 등에 의해 제안된 블록 터보 부호는 2개의 recursive systematic convolutional code로 연결된 parallel concatenated convolutional codes에 대해 반복 복호를 수행하여 Shannon’s limit에 근접한 성능을 보인다.
반복 복호는 블록 터보 부호의 가장 중요한 특징으로, 각 복호기가 생성하는 연출력(soft output)을 다른 복호기에 넘겨주어 반복 복호를 수행한다.
반복 복호가 진행됨에 따라 비트오율(BER) 성능은 개선되지만, BER 성능의 개선 정도는 점차 줄어들어 점차 포화(saturation_되고, 반면에 복호 연산과 복호 지연은 선형적으로 증가하게 된다.
이는 채널 특정에 따라 올바르게 복호되기 위한 반복 복호의 요구 회수가 프레임마다 다르기 때문에, 반복 복호 횟수를 고정하는 것은 비효율적이다. 따라서, 불필요한 연산량과 복호 지연을 줄이기 위해 블록 터보 부호의 반복 복호를 효율적으로 조기에 정지시키는 것이 필요하다.
종래의 조기 정지 기법은, 매번 입력 정보 열과 행의 절반의 복호 과정을 수행한 결과 열과 행의 신드롬 연산을 수행하여 모든 열과 행의 신드롬이 모두 0(zero 벡터)이면 오류가 없는 것으로 판정한다.
그러나, 이는 매번 반복 복호마다 신드롬 연산 과정을 수행해야 하기 때문에 연산량이 증가하는 문제점이 있다.
또한, 블록 터보 부호의 복호를 위해 복잡도를 낮추기 위한 다양한 방법이 제시되고 있다.
R, Pyndiah,“Near-optimum decoding of product codes: block turbo codes,”IEEE Trans. Commun., vol 46, No. 8, pp. 1003-1010, Aug. 1998.(선행문헌 1)는 부호의 hard input hard output 복호 알고리즘을 연입력연출력(soft input soft output)으로 확장하는 방법인 Chase-Pyndiah 복호 알고리즘을 제시한다.
기존 기법에서는 경입력 복호 기법의 적용 비율을 증가시키기 위해 단일 오류에서 경입력과 연입력 기반의 복호 기법을 구분하는데, 복잡도를 크게 낮추기 못하였다.
Pen-Yao Lu, Erl-Huei Lu, Tso-Cho Chen, “An Efficient Hybrid decoder forBlock Turbo Codes,” IEEE Commun. Letters, vol. 18, no. 12, pp. 2077?2080, Oct. 2014.(선행문헌 2)는 입력 연출력 복호 기법과 경입력 경출력 복호 기법을 복호기의 입력 값이 포함하고 있는 오류의 개수에 따라 선택적으로 사용하여 복호 복잡도를 낮추는 방법을 제시한다.
E.H. Lu and P.Y. Lu, “A syndrome-based hybrid decoder for turbo product codes,” in Proc. IEEE 3CA Tainan, Taiwan , May 2010, pp. 280?282.(선행문헌 3)는 복호기 입력 벡터의 신드롬을 계산하여 그 값이 error free를 의미하는 0이면, 저 복잡도의 경입력 연출력 복호 기법을 적용하고 그 외의 신드롬 값을 가질 경우에는 연입력 연출력 복호 기법을 적용하여 복잡도를 크게 낮출 수 있는 알고리즘을 제시한다.
Guo Tai Chen, Lei Cao, Lun Yu, Chang Wen Chen, “An Efficient Stopping Criterion for Turbo Product Codes,” IEEE Commun. Letters, vol. 11, no. 6, pp. 525 - 527, July 2007.(선행문헌 4)는 Block Turbo code의 반복 복호 과정에서 불필요한 반복 복호를 방지하기 위한 방법을 제시한다. 이를 위해 매 반복 복호 과정이 종료된 후 모든 복호 출력 벡터에 신드롬 연산을 수행하여 모든 출력 벡터가 열과 행 방향 모두 0을 가지면 더 이상 오류가 존재하지 않는다는 것을 보장할 수 있으므로 이 경우 복호 과정을 종료하는 방법을 제시하였다.
Byungkyu Ahn, Sungsik Yoon, Jun Heo, “Low Complexity Syndrome-Based Decoding Algorithm Applied to Block Turbo Codes,” IEEE Access., vol. 6, pp. 2169-3536, April 2018.(선행문헌 5)는 신드롬 기반 Block Turbo code의 복호 복잡도를 줄일 수 있는 hybrid 복호 기법을 제안한다. 이를 통하여 블록 터보 부호의 구성부호로 사용되는 선형 블록부호의 오류정정 능력까지는 최대한 복잡도가 낮은 경입력 연출력 복호 기법을 적용하고 적용할 수 없는 부분에만 높은 복잡도의 연입력 연출력 복호 기법을 적용하는 방법을 제시하였다.
상기한 종래기술의 문제점을 해결하기 위해, 성능 열화 없이 연산량과 복잡도를 낮출 수 있는 저 복잡도 조기 정지 기법과 혼합 복호 기법을 적용한 블록 터보 부호의 신드롬 기반 복호 방법 및 장치를 제안하고자 한다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 일 실시예에 따르면, 확장 해밍 부호를 구성 부호로 하는 블록 터보 부호의 신드롬 기반 복호 방법으로서, (a) 채널 통과 정보, 직전 절반 반복 복호의 외부 정보(extrinsic information)과 신뢰도 인자를 이용하여 다음 절반 반복 복호의 입력 정보값을 생성하는 단계; (b) 상기 입력 정보값의 경판정을 통해 경판정 워드를 생성하는 단계; (c) 상기 경판정 워드를 이용하여 상기 블록 터보 부호의 열 또는 행의 개수에 상응하는 n개의 1비트 신드롬을 계산하는 단계; 및 (d) 상기 계산된 n개의 1비트 신드롬을 이용하여 다음 절반 복호의 진행 여부를 판단하는 단계를 포함하는 신드롬 기반 블록 터보 부호의 복호 방법이 제공된다.
상기 경판정 워드는 1 by n 행렬이며, 상기 1비트 신드롬은 상기 경판정 워드에 모두 1의 값을 갖는 n by 1 행렬을 곱하여 계산될 수 있다.
상기 (d) 단계는, 상기 n개의 1비트 신드롬이 모두 0이면 상기 입력 정보값과 패리티 체크 행렬을 곱하여 상기 블록 터보 부호의 행 또는 열의 n-k-1 비트의 신드롬을 계산하는 단계; 및 상기 계산된 n-k-1 비트의 신드롬이 모두 0인지 여부를 판단하는 단계를 포함하되, 상기 n-k-1 비트의 신드롬 중 하나라도 0이 아니면 다음 절반 복호가 진행될 수 있다.
상기 (c) 단계 내지 (d) 단계는 상기 행 또는 열 모두에 대해 순차적으로 수행될 수 있다.
(e) 경입력 기반 복호의 적용 여부를 판단하는 단계를 더 포함하되, 상기 (c) 단계에서 계산된 상기 n개의 1비트 신드롬이 모두 1인 경우, 상기 (e) 단계는 상기 직전 절반 반복 복호 과정에서 2개의 오류가 있는지 여부를 통해 다음 절반 반복 복호 과정에서 경입력 기반의 복호 기법을 적용할지 여부를 판단할 수 있다.
상기 (e) 단계는, 상기 직전 절반 반복 복호 과정에서 2개의 오류가 포함된 경우, 가장 신뢰도가 낮은 3개의 비트와 경입력 기반의 복호를 통해 정정되는 비트의 위치를 파악한 후, 상기 가장 신뢰도가 낮은 3개의 비트의 신뢰도 합과 상기 경입력 기반의 복호를 통해 정정되는 비트의 신뢰도의 대소를 비교하여 경입력 기반의 복호를 수행할 것인지 여부를 결정할 수 있다.
상기 (e) 단계는 상기 입력 정보값의 신드롬 계산 결과가 2개의 오류를 포함하는 경우, 가장 신뢰도가 낮은 2개의 비트와 경입력 기반의 복호를 통해 정정되는 비트의 신뢰도 값이 일치하는지 여부를 통해 경입력 기반의 복호를 수행할 것인지 여부를 결정할 수 있다.
본 발명의 다른 측면에 따르면, 해밍 부호를 구성 부호로 하는 블록 터보 부호의 신드롬 기반 복호 장치로서, 프로세서; 및 상기 프로세서에 연결된 메모리를 포함하되, 상기 메모리는, 채널 통과 정보, 직전 절반 반복 복호의 외부 정보(extrinsic information)과 신뢰도 인자를 이용하여 다음 절반 반복 복호의 입력 정보값을 생성하고, 상기 입력 정보값의 경판정을 통해 경판정 워드를 생성하고, 상기 경판정 워드를 이용하여 상기 블록 터보 부호의 열 또는 행의 개수에 상응하는 n개의 1비트 신드롬을 계산하고, 상기 계산된 n개의 1비트 신드롬을 이용하여 다음 절반 복호의 진행 여부를 판단하도록, 상기 프로세서에 의해 실행 가능한 프로그램 명령어들을 저장하는 신드롬 기반 블록 터보 부호의 복호 장치가 제공된다.
본 발명에 따르면, 낮은 복잡도로 다음 절반 복호의 진행 여부를 빠르게 판단하고, 경입력 기반의 복호 기법의 적용 비율을 높여 복호 효율을 높일 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 블록 터보 부호의 복호 과정을 도시한 도면이다.
도 2는 종래기술에 따른 조기 복호 정지 기법을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 조기 복호 정지 기법을 설명하기 위한 도면이다.
도 4는 연입력 기반의 복호 기법인 Chase-Pyndiah 복호 기법을 나타낸 도면이다.
도 5는 연입력 기반의 Chase II 기법에서의 부호어 생성 과정을 도시한 도면이다.
도 6은 본 발명의 바람직한 일 실시예에 따른 블록 터보 부호의 복호 장치의 구성을 도시한 도면이다.
도 7은 본 실시예에 따른 블록 터보 부호의 신드롬 기반 복호 과정의 복잡도 감소 효과를 나타낸 것이다.
도 8은 본 실시예에 따른 블록 터보 부호의 신드롬 기반 복호 과정의 BER 성능을 나타낸 것이다.
도 9는 (32,26,4)/(64,57,4)/ (128,120,4)/(256,247,4) 부호를 구성 부호로 사용하는 블록 터보 부호에 적용했을 때의 BER 성능을 나타낸 것이다.
도 10은 단일 오류로 판정되는 것 중 저 복잡도의 경입력 기반 복호로 처리되는 비율의 변화를 비교한 것이다.
도 11은 2개의 오류를 가진 것으로 판정되는 것 중 저복잡도의 경입력 복호 기법으로 처리되는 비율 측정 결과를 나타낸 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명은 블록 터보 부호의 복호 복잡도를 성능 열화 없이 낮추기 위해 다음의 기법을 적용한다.
(1) 저 복잡도 조기 반복 복호 정지 기법
기존의 블록 터보 부호에서 사용되는 조기 반복 복호 정지 기법은 모든 열(또는 행)의 절반의 반복 복호 과정이 완료된 이후에 모든 열(또는 행 벡터)와 패리티 체크 행렬의 곱을 통해 얻어지는 신드롬이 모두 0인지 아닌지를 계산한다.
모든 열과 행의 신드롬이 0이면 반복 복호를 멈추지만 매번 반복 복호 과정마다 신드롬 판정을 수행하면 연산량이 증가하게 된다.
이를 해결하기 위해, 본 발명은 블록 터보 부호에서 확장 해밍 부호가 가지는 신드롬 중 특정한 한 비트의 값을 알면 단일 오류를 가지는 것과 그 외의 오류를 가지는 것을 구분할 수 있다는 특성을 이용한다.
본 실시예에 따르면, 1차적으로 한 비트만을 이용하여 오류가 있는지 여부를 판정하여 모든 열과 행 중 단 한곳이라도 단일 오류를 가지는 것으로 판정되면 다음 절반의 반복 복호를 수행하게 함으로써 오류 추정에 소모되는 연산량을 크게 줄일 수 있다.
(2) 단일 오류로 판정된 경우의 경입력 기반 복호 기법의 적용 비율 증가
확장 해밍 부호를 구성 부호로 가지는 블록 터보 부호에서는 신드롬 기반의 복호 과정에서 입력 정보값의 신드롬 연산을 통해 입력 정보값이 가지는 오류의 형태를 오류가 없는 것, 단일 오류를 가지는 것, 그 외의 오류를 가지는 것으로 나눌 수 있다.
기존 연구에서는 오류가 없는 경우와 단일 오류가 발생한 경우 중 일부의 경우에 복잡한 연입력 기반의 복호 기법 대신 낮은 복잡도의 경입력 복호 기법을 적용해도 성능 열화 없이 저 복잡도 복호가 가능함을 보였다.
기존 연입력 기반의 복호 기법으로 사용되는 Chase-Pyndiah 복호 기법에서 ML 복호 기법으로 부호어를 찾는 과정을 수행하는데 이 부호어와 본 발명에서 제시한 단일 오류로 판정된 경우의 경입력 기반의 복호를 통해 정정된 비트 위치와 신뢰도가 가장 신뢰도가 낮은 3비트의 신뢰도의 합보다 작을 경우 동일함을 증명하고 이를 통해 기존보다 단일 오류로 판정된 경우 중 저 복잡도의 경입력 기반 복호 기법을 적용할 수 있는 비율을 증가시킬 수 있고 이를 통해 복호 복잡도를 크게 낮춘다.
(3) 멀티 오류가 판정된 경우의 경입력 기반 복호 기법의 적용 비율 증가
확장 해밍 부호를 구성 부호로 가지는 블록 터보 부호에서 입력 정보값의 신드롬 연산을 통해 2개의 오류를 가진 것으로 판정된 경우 중 확장 해밍 부호를 확장하면서 추가된 패리티 비트에 오류가 발생하고 나머지 비트 중 한 비트에 오류가 발생한 경우에는 2개의 비트 오류를 정정한다.
입력 정보값이 2개의 오류를 가진 것으로 판정될 경우 2비트의 오류 정정이 일어난다. 이러한 오류 패턴들을 경입력 기반 복호 기법으로 정정하기 위해, 본 발명에서는 2비트의 신뢰도 합이 가장 신뢰도가 낮은 비트와 2번째로 신뢰도가 낮은 비트의 신뢰도 합보다 낮은 경우에는 기존의 연입력 기반 복호 기법의 ML 부호어와 같은 부호어를 경입력 정보를 바탕으로 한 복호 방법을 통해 얻을 수 있음을 증명하고 이를 적용한 비율만큼 복호 복잡도를 낮출 수 있다.
이하, 도면을 참조하여 블록 터보 부호의 복호 방법을 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 블록 터보 부호의 복호 과정을 도시한 도면이다.
도 1을 참조하면, 채널을 통과한 정보 R과 m-1번째 절반 반복(half iteration)의 extrinsic 정보 W와 신뢰도 인자 α(m-1)의 곱의 합을 통하여 다음 절반 반복의 입력 정보값 R(m)을 생성한다.
입력 정보값 R(m)의 경판정을 통해 경판정 워드(Hard decision word) RH를 생성한다.
도 2는 종래기술에 따른 조기 복호 정지 기법을 설명하기 위한 도면이다.
도 2에 도시된 바와 같이, RH와 패리티 체크 행렬을 곱하여 일반적으로는 신드롬을 계산한다.
그러나, 본 발명에서는 도 3에 도시된 바와 같이, 복잡도를 낮추기 위하여 패리티 체크 행렬 대신 모두 1의 값을 가지는 n by 1 행렬을 1 by n의 길이를 가지는 RH와 곱하여 1비트의 신드롬 판정 결과를 얻는다.
이 때 판정 결과가 1이면 단일 오류를 포함하는 것이고 0이면 오류가 없거나 2개의 오류를 포함하는 것을 의미한다.
일반적으로 반복 복호 과정에서 모든 n개의 열이나 행 중에 오류가 포함되면 2개의 오류 보다는 단일 오류로 판정될 확률이 훨씬 높다.
본 실시예에 따르면, 블록 터보 부호의 열 또는 행의 개수에 상응하는 n개의 1비트 신드롬을 계산하고, 계산된 n개의 1비트 신드롬을 이용하여 다음 절반 복호의 진행 여부를 판단한다.
본 발명에서는 신드롬 판정을 단일 비트로 하되 모든 n개의 열 또는 행이 0으로 판정된다면 단일 오류를 포함하지 않고 있으므로 거의 대부분의 경우 2개의 오류는 포함되지 않을 것이라는 확률적 추정을 근거로 제시되었다.
따라서 n개의 1비트 신드롬 판정의 결과가 모두 0이 아니면 다음 절반 복호 과정을 진행하고 그 외의 경우에는 아주 낮은 확률로 2개의 오류가 존재할 가능성도 있기 때문에 모든 n개의 열(또는 행)의 1비트 신드롬이 모두 0일 때만 나머지 n-k-1비트의 신드롬을 패리티 체크 행렬로부터 구해서 나머지 신드롬 비트의 값들도 모두 0임을 확인한다. 여기서, k는 정보 비트의 개수이다.
이때 하나의 열(또는 행)의 신드롬이 0아닌 값을 가지면 조기 복호 정지 기법은 중단된다.
그러나 n개의 1비트 신드롬이 0라면 이번에는 패리티 비트를 제외한 정보 비트들을 포함하고 있는 행(또는 열)의 1비트 신드롬을 구하고 그 값이 모두 0이면 나머지 n-k-1비트의 신드롬을 모두 확인하여 모두 0이면 조기 복호 정지 기법을 적용하여 더 이상의 반복 복호 과정을 멈춘다. 만약 그렇지 않으면 다음 절반 반복 복호를 계속 수행한다.
오류가 하나라도 존재하는 경우에는 각 열 또는 행 벡터의 신드롬을 개별적으로 구한 후 도 1과 같이 오류가 없다고 판정된 열 또는 행 벡터는 R^H의 값을 부호어로 사용하고 그 값에 적절한 가중치를 곱하여 j번째 비트 위치의 extrinsic information을 다음식을 이용하여 구한다.
Figure 112018106025232-pat00001
여기서,
Figure 112018106025232-pat00002
은 선행문헌1에서 사용되는
Figure 112018106025232-pat00003
의 2배의 값을 사용함
또한,
Figure 112018106025232-pat00004
는 j번째 비트의 외부 정보,
Figure 112018106025232-pat00005
는 입력 정보의 경판정 벡터
Figure 112018106025232-pat00006
의 j번째 비트 값,
Figure 112018106025232-pat00007
은 보정 인자 값을 의미한다.
단일 오류가 존재하는 경우에는 직전 절반 반복 복호 과정에서 2개의 오류가 하나도 없다고 판정된 경우 다음 절반 반복 복호 과정에서부터는 경입력 기반의 복호 기법을 적용하고, 2개의 오류가 하나라도 존재하면 가장 신뢰도가 낮은 3개의 비트와 경입력 기반의 복호를 통해 정정되는 비트의 위치를 파악한 후, 가장 신뢰도가 낮은 3개의 비트의 신뢰도 합과 경입력 기반의 복호를 통해 정정되는 비트의 신뢰도의 대소를 비교하여 경입력 기반의 복호를 할 것인지 기존의 연입력 기반 Chase-Pyndiah 복호를 할 것인지를 결정한다.
본 실시예에 따르면, 이때 경입력 기반의 복호를 하는 부분과 연입력 기반의 복호를 하는 부분의 구분은 다음과 같은 근거로 인해 제시되었다.
우선 기존 연입력 기반의 복호 기법인 Chase-Pyndiah 복호 기법은 도 4와 같은 순서로 복호 과정이 진행된다. 이때 2번 과정에서 생성되는 여러 개의 부호어 후보군 중에 가장 유클리드 거리가 짧은 것을 골라서 3번에서 부호어로 결정하게 된다. 하지만 이 과정은 도 5에 도시된 바와 같이, 여러 부호어를 생성한 후에 그 중에서 수신 정보와의 유클리드 거리가 가장 가까운 것을 선정하게 된다. 그런데 수신 정보와 가장 유클리드 거리가 가까운 벡터는 수신 정보를 경판정한 벡터이다. 따라서 경판정한 벡터와 2p개의 부호어 중 하나의 부호어를 비교했을 때 서로 다른 값을 나타내는 비트의 위치가 존재한다면 그 비트들의 신뢰도(reliability)값의 4배만큼 R과의 유클리드 거리가 경판정 벡터에 비해서 멀어진다.
또한 입력 정보값의 신드롬 계산 결과가 단일 오류로 판정된다면 경판정 벡터를 확장 해밍 부호로 복호하면 1비트의 값이 경판정 벡터에 비해서 유클리드 거리 증폭된다. 그런데 이렇게 경입력 복호 과정을 통해 구한 부호어가 최소 유클리드 거리를 구하기 위해서는 나머지 경쟁 부호어들보다 유클리드 거리가 짧다는 것이 보장 되어야 한다.
따라서 본 실시예에서는 경쟁 부호어 중에서 가장 유클리드 거리가 짧은 경우를 다음과 같이 설정할 수 있다.
경쟁 부호어는 경입력 기반 복호로 구한 부호어와 부호어 집합을 이루고 있으므로 최소 4비트의 값이 달라야 한다. 따라서 최소 4비트가 다른 부호어 중 입력 정보값으로부터 가장 유클리드 거리가 짧은 경우는 앞서 경입력 기반 복호에 의해 정정된 비트값이 경판정 비트와 동일하고 나머지 비트 중 3비트의 값이 플립된 경우이다.
이 경우 유클리드 거리가 가장 최소화 되기 위해서는 상기한 3비트가 가장 신뢰도 값이 작아야 한다. 따라서 3비트의 위치에 가장 신뢰도가 낮은 값이 존재할 경우를 가정하여 3비트의 신뢰도 값의 합과 기존 경입력 기반 복호 기법에서 오류 정정된 1비트의 신뢰도 값을 비교하여 경입력 기반 복호 기법의 신뢰도가 더 작을 경우 경입력 기반 복호 기법을 적용한다.
이때 j번째 비트의 외부 정보는 다음식을 통해 구한다.
Figure 112018106025232-pat00008
또한,
Figure 112018106025232-pat00009
는 j번째 비트의 외부 정보,
Figure 112018106025232-pat00010
는 입력 정보의 경판정 복호로 생성된 벡터의 j번째 비트 값,
Figure 112018106025232-pat00011
은 보정 인자 값을 의미한다.
여기서
Figure 112018106025232-pat00012
Figure 112018106025232-pat00013
의 3배로 했을 때가 가장 성능이 좋으므로 이값을 적용하였다.
만약 입력 정보값의 신드롬 계산 결과가 2개의 오류를 의미할 경우에는 기존에는 경입력 복호로는 오류 정정이 불가능하므로 항상 연입력 기반의 Chase-Pyndiah 복호 기법을 적용한다.
그러나 확장 해밍 부호의 경우 해밍 부호를 먼저 복호한 후에 나머지 확장 비트의 값을 해밍 부호의 각 비트값으로 mod 2 연산한 값이 0인지 1인지에 따라 0과 1로 판정하기 때문에 해밍 부호에 해당하는 비트 중 1비트에서 오류가 발생하고 해밍 부호의 확장 과정에서 추가되는 패리티 비트에서 오류가 1비트 발생할 경우에는 오류 정정이 가능하다.
이런 경우를 감안하여 본 실시예에서는 2개의 오류가 발생하더라도 일부 오류 패턴의 경우 경입력 기반의 저 복잡도 복호 기법을 적용한다.
경입력 기반의 복호를 수행할 경우와 연입력 기반의 복호를 수행할 경우를 구분하기 위하여 다음과 같은 분류 기준을 사용하였다.
2개의 오류로 판정될 경우 경입력 정보를 이용한 복호를 수행할 경우 오류 정정 과정에서 추가로 2비트의 플립이 발생한다. 반전이 일어난 2비트의 신뢰도 값의 4배만큼 경판정 벡터와 채널 정보의 유클리드 거리에서 멀어진다.
그런데 경입력 정보 기반 복호 후의 부호어가 부호어 후보군 중 최소 유클리드 거리를 가지기 위해서는 부호어와 최소 4비트 다른 부호어 중에서 더 유클리드 거리가 짧은 것이 없어야 한다.
경입력 기반의 복호를 통해 오류 정정된 비트의 신뢰도 값이 가장 신뢰도가 낮은 2개의 비트의 값과 일치한다면 이때는 어떤 경쟁 부호어도 이보다 거리가 짧은 경우는 생길 수가 없기 때문에 이를 만족하는 경우 경입력 복호로 구한 값을 부호어로 결정하고 j번째 비트의 외부 정보는 상기한 수학식을 통해 구한다.
그렇지 않은 경우 연입력 기반의 복호 기법을 적용하여 오류 정정 과정을 수행한다.
도 6은 본 발명의 바람직한 일 실시예에 따른 블록 터보 부호의 복호 장치의 구성을 도시한 도면이다.
도 6에 도시된 바와 같이, 본 실시예에 따른 장치는 프로세서(600) 및 메모리(602)를 포함할 수 있다.
프로세서(600)는 컴퓨터 프로그램을 실행할 수 있는 CPU(central processing unit)나 그밖에 가상 머신 등을 포함할 수 있다.
메모리(602)는 고정식 하드 드라이브나 착탈식 저장 장치와 같은 불휘발성 저장 장치를 포함할 수 있다. 착탈식 저장 장치는 컴팩트 플래시 유닛, USB 메모리 스틱 등을 포함할 수 있다. 메모리(202)는 각종 랜덤 액세스 메모리와 같은 휘발성 메모리도 포함할 수 있다.
이와 같은 메모리(602)에는 프로세서(600)에 의해 실행 가능한 프로그램 명령어들이 저장된다.
저 복잡도의 블록 터보 부호의 복호를 위해, 메모리(602)에는 채널 통과 정보, 직전 절반 반복 복호의 외부 정보(extrinsic information)과 신뢰도 인자를 이용하여 다음 절반 반복 복호의 입력 정보값을 생성하고, 입력 정보값의 경판정을 통해 경판정 워드를 생성하고, 경판정 워드를 이용하여 상기 블록 터보 부호의 열 또는 행의 개수에 상응하는 n개의 1비트 신드롬을 계산하며, 계산된 n개의 1비트 신드롬을 이용하여 다음 절반 복호의 진행 여부를 판단하도록 프로세서(600)에 의해 실행되는 프로그램 명령어들이 저장될 수 있다.
여기서, 경판정 워드는 1 by n 행렬이며, 상기한 1비트 신드롬은 경판정 워드에 모두 1의 값을 갖는 n by 1 행렬을 곱하여 계산된다.
또한, 다음 절반 복호의 진행 여부를 판단하기 위해, 메모리(602)에는 상기한 n개의 1비트 신드롬이 모두 0이면 상기 입력 정보값과 패리티 체크 행렬을 곱하여 블록 터보 부호의 행 또는 열의 n-k-1 비트(여기서, k는 정보 비트수)의 신드롬을 계산하고, 계산된 n-k-1 비트의 신드롬이 모두 0인지 여부를 판단하고 n-k-1 비트의 신드롬 중 하나라도 0이 아니면 다음 절반 복호가 진행되도록 결정하는 프로그램 명령어들이 저장된다.
또한, 메모리(600)에는 경입력 기반 복호의 적용 여부를 판단하되, 계산된 상기 n개의 1비트 신드롬이 모두 1인 경우, 직전 절반 반복 복호 과정에서 2개의 오류가 있는지 여부를 통해 다음 절반 반복 복호 과정에서 경입력 기반의 복호 기법을 적용할지 여부를 판단하는 프로그램 명령어들이 저장된다.
나아가, 상기한 프로그램 명령어들은 직전 절반 반복 복호 과정에서 2개의 오류가 포함된 경우, 가장 신뢰도가 낮은 3개의 비트와 경입력 기반의 복호를 통해 정정되는 비트의 위치를 파악한 후, 가장 신뢰도가 낮은 3개의 비트의 신뢰도 합과 경입력 기반의 복호를 통해 정정되는 비트의 신뢰도의 대소를 비교하여 경입력 기반의 복호를 수행할 것인지 여부를 결정한다.
그리고, 프로그램 명령어들은 입력 정보값의 신드롬 계산 결과가 2개의 오류를 포함하는 경우, 가장 신뢰도가 낮은 2개의 비트와 경입력 기반의 복호를 통해 정정되는 비트의 신뢰도 값이 일치하는지 여부를 통해 경입력 기반의 복호를 수행할 것인지 여부를 결정한다.
도 7은 본 실시예에 따른 블록 터보 부호의 신드롬 기반 복호 과정의 복잡도 감소 효과를 나타낸 것이다.
여기서, 종래기술(Conventional)은 상기한 선행문헌 4에 기재된 기법이다.
도 7을 참조하면, (32,26,4)와 (64,47,4) 확장 해밍 부호를 구성 부호로 갖는 블록 터보 부호를 복호하는 경우 선행문헌 4의 조기 복호 정지 기법과 본 발명에서 제안한 방법을 동일한 Chase-Pyndiah 복호 기법에 적용했을 때의 SNR별 반복 복호 감소 효과는 일치함을 알 수 있다.
도 8은 본 실시예에 따른 블록 터보 부호의 신드롬 기반 복호 과정의 BER 성능을 나타낸 것이다.
도 8에 도시된 바와 같이, (32,26,4)와 (64,47,4) 확장 해밍 부호를 구성 부호로 갖는 블록 터보 부호를 복호하는 경우 선행문헌 4의 조기 복호 정지 기법과 본 발명에 따른 방법을 동일한 Chase-Pyndiah 복호 기법에 적용했을 때 BER 성능을 비교해 보면 (32,26,4)와 (64,47,4) 확장 해밍 부호를 구성 부호로 가지는 경우 모두 기존과 제안 기법의 성능이 일치함을 알 수 있다.
도 9는 (32,26,4)/(64,57,4)/ (128,120,4)/(256,247,4) 부호를 구성 부호로 사용하는 블록 터보 부호에 적용했을 때의 BER 성능을 나타낸 것이다.
도 9를 참조하면, 전체적으로 본 발명에 따른 기법과 기존 2가지 기법인 선행 문헌 1과 5의 BER성능을 비교해보면 거의 유사함을 알 수 있으며 구성 부호의 길이가 길어질수록 점점 기존 기법에 비해 본 발명에 따른 기법의 성능이 조금 더 개선됨을 알 수 있다.
도 10은 선행문헌 5 대비 단일 오류로 판정되는 것 중 저 복잡도의 경입력 기반 복호로 처리되는 비율의 변화를 비교한 것이다. 이는 10000개의 샘플 비교 결과를 나타낸다.
도 10은 부호율 약 0.6~0.9사이의 4개의 서로 다른 부호를 구성 부호로 사용하는 블록 터보 부호에서 기존 논문 중 단일 오류 중 많은 부분을 경입력 기반 복호 기법으로 정정하는 기법[선행문헌 5]과 비교하였을 때 본 실시예에 따른 경입력 기반 복호 기법으로 정정하는 비율 변화를 나타낸다.
결과에서 알 수 있듯이 반복 복호 횟수에 따라 증가율이 다르며 평균적으로 최소 1.4배에서 5.6배 저 복잡도 복호 기법이 많이 사용되고 있음을 알 수 있다.
따라서 이 비율의 증가만큼 기존의 높은 복잡도를 가지는 Chase-Pyndiah 복호 기법대신 저 복잡도를 가지는 경입력 복호 기법을 사용함으로써 전체 복호 복잡도를 크게 낮출 수 있다.
도 11은 2개의 오류를 가진 것으로 판정되는 것 중 저복잡도의 경입력 복호 기법으로 처리되는 비율 측정 결과를 나타낸 것이다.
도 11은 10000개의 샘플 비교 결과를 나타낸 것이다. 도 11을 참조하면, 2개의 오류를 가진 것 중 제안 기법을 적용하면 일부의 오류는 경입력 정보를 기반으로 한 확장 해밍 부호의 복호 기법만으로도 오류 정정이 가능하며 그 비율만큼 기존 기법[선행문헌 5] 대비 복잡도를 크게 개선할 수 있다.
상기한 본 발명의 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대한 통상의 지식을 가지는 당업자라면 본 발명의 사상과 범위 안에서 다양한 정정, 변경, 부가가 가능할 것이며, 이러한 정정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.

Claims (8)

  1. 복호기에서 확장 해밍 부호를 구성 부호로 하는 블록 터보 부호의 신드롬 기반으로 복호하는 방법으로서,
    (a) m-1번째 절반 반복 복호 결과에 따른 입력 정보값을 입력 받는 단계;
    (b) 상기 입력 정보값의 경판정을 통해 경판정 워드를 생성하는 단계;
    (c) 상기 경판정 워드를 이용하여 상기 블록 터보 부호의 열 또는 행의 개수에 상응하는 n개의 1비트 신드롬을 계산하는 단계; 및
    (d) 상기 계산된 n개의 1비트 신드롬을 이용하여 m번째 절반 반복 복호의 진행 여부를 판단하는 단계를 포함하는 신드롬 기반 블록 터보 부호의 복호 방법.
  2. 제1항에 있어서,
    상기 경판정 워드는 1 by n 행렬이며, 상기 1비트 신드롬은 상기 경판정 워드에 모두 1의 값을 갖는 n by 1 행렬을 곱하여 계산되는 신드롬 기반 블록 터보 부호의 복호 방법.
  3. 제1항에 있어서,
    상기 (d) 단계는,
    상기 n개의 1비트 신드롬이 모두 0이면 패리티 체크 행렬과 상기 입력 정보값을 곱하여 n-k-1(k는 정보 비트의 개수임) 비트의 신드롬을 계산하는 단계; 및
    상기 계산된 n-k-1 비트의 신드롬이 모두 0인지 여부를 판단하는 단계를 포함하되,
    상기 n-k-1 비트의 신드롬 중 하나라도 0이 아니면 상기 m번째 절반 반복 복호가 진행되는 신드롬 기반 블록 터보 부호의 복호 방법.
  4. 제3항에 있어서,
    상기 (c) 단계 내지 (d) 단계는 상기 블록 터보 부호의 열 또는 행 모두에 대해 순차적으로 수행되는 신드롬 기반 블록 터보 부호의 복호 방법.
  5. 제1항에 있어서,
    (e) 상기 m번째 절반 반복 복호에서 상기 입력 정보값의 경판정을 통해 경판정 워드를 생성하는 경입력 기반 복호의 적용 여부를 판단하는 단계를 더 포함하되,
    상기 (c) 단계에서 계산된 상기 n개의 1비트 신드롬이 모두 1인 경우, 상기 (e) 단계는 상기 m-1번째 절반 반복 복호 과정에서 2개의 오류가 있는지 여부를 통해 상기 m번째 절반 반복 복호 과정에서 경입력 기반의 복호 기법을 적용할지 여부를 판단하는 신드롬 기반 블록 터보 부호의 복호 방법.
  6. 제5항에 있어서,
    상기 (e) 단계는, 상기 m-1 절반 반복 복호 과정에서 2개의 오류가 포함된 경우, 상기 블록 터보 부호의 열 또는 행의 정보 비트 중 가장 신뢰도가 낮은 3개의 비트와 경입력 기반의 복호를 통해 정정되는 비트의 위치를 파악한 후, 상기 가장 신뢰도가 낮은 3개의 비트의 신뢰도 합과 상기 경입력 기반의 복호를 통해 정정되는 비트의 신뢰도의 대소를 비교하여 경입력 기반의 복호를 수행할 것인지 여부를 결정하는 신드롬 기반 블록 터보 부호의 복호 방법.
  7. 제5항에 있어서,
    상기 (e) 단계는 상기 입력 정보값의 신드롬 계산 결과가 2개의 오류를 포함하는 경우, 상기 블록 터보 부호의 열 또는 행의 정보 비트 중 가장 신뢰도가 낮은 2개의 비트와 경입력 기반의 복호를 통해 정정되는 비트의 신뢰도 값이 일치하는지 여부를 통해 경입력 기반의 복호를 수행할 것인지 여부를 결정하는 신드롬 기반 블록 터보 부호의 복호 방법.
  8. 확장 해밍 부호를 구성 부호로 하는 블록 터보 부호의 신드롬 기반 복호 장치로서,
    프로세서; 및
    상기 프로세서에 연결된 메모리를 포함하되,
    상기 메모리는,
    m-1번째 절반 반복 복호 결과에 따른 입력 정보값을 입력 받고,
    상기 입력 정보값의 경판정을 통해 경판정 워드를 생성하고,
    상기 경판정 워드를 이용하여 상기 블록 터보 부호의 열 또는 행의 개수에 상응하는 n개의 1비트 신드롬을 계산하고,
    상기 계산된 n개의 1비트 신드롬을 이용하여 m번째 절반 반복 복호의 진행 여부를 판단하도록,
    상기 프로세서에 의해 실행 가능한 프로그램 명령어들을 저장하는 신드롬 기반 블록 터보 부호의 복호 장치.
KR1020180128883A 2018-10-26 2018-10-26 블록 터보 부호의 신드롬 기반 복호 방법 및 장치 KR102092476B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180128883A KR102092476B1 (ko) 2018-10-26 2018-10-26 블록 터보 부호의 신드롬 기반 복호 방법 및 장치
US16/655,528 US11165439B2 (en) 2018-10-26 2019-10-17 Syndrome-based decoding method and apparatus for block turbo code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180128883A KR102092476B1 (ko) 2018-10-26 2018-10-26 블록 터보 부호의 신드롬 기반 복호 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102092476B1 true KR102092476B1 (ko) 2020-03-23

Family

ID=69998535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180128883A KR102092476B1 (ko) 2018-10-26 2018-10-26 블록 터보 부호의 신드롬 기반 복호 방법 및 장치

Country Status (2)

Country Link
US (1) US11165439B2 (ko)
KR (1) KR102092476B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020162072A1 (en) * 2001-03-27 2002-10-31 Efficient Channel Coding, Inc. Concatenated turbo product codes for high performance satellite and terrestrial communications
US20110194641A1 (en) * 2007-09-14 2011-08-11 Wei Ming Lim Method for Encoding a Bit Sequence and Encoding Circuit
KR20150094365A (ko) * 2014-02-11 2015-08-19 한국기술교육대학교 산학협력단 채널상태를 이용하는 수정된 블록터보 복호화 장치 및 그 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2289779B (en) * 1994-05-24 1999-04-28 Intel Corp Method and apparatus for automatically scrubbing ECC errors in memory via hardware
US6009552A (en) * 1997-06-18 1999-12-28 Motorola, Inc. Soft-decision syndrome-based decoder for convolutional codes
US6182264B1 (en) * 1998-05-22 2001-01-30 Vlsi Technology, Inc. Smart dynamic selection of error correction methods for DECT based data services
US10707899B2 (en) * 2017-08-31 2020-07-07 SK Hynix Inc. Bit-flipping decoder for G-LDPC codes with syndrome-decoding for component codes
US10691540B2 (en) * 2017-11-21 2020-06-23 SK Hynix Inc. Soft chip-kill recovery for multiple wordlines failure
KR102045437B1 (ko) * 2018-09-07 2019-12-02 고려대학교 산학협력단 저복잡도 신드롬 기반 복호 장치 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020162072A1 (en) * 2001-03-27 2002-10-31 Efficient Channel Coding, Inc. Concatenated turbo product codes for high performance satellite and terrestrial communications
US20110194641A1 (en) * 2007-09-14 2011-08-11 Wei Ming Lim Method for Encoding a Bit Sequence and Encoding Circuit
KR20150094365A (ko) * 2014-02-11 2015-08-19 한국기술교육대학교 산학협력단 채널상태를 이용하는 수정된 블록터보 복호화 장치 및 그 방법

Also Published As

Publication number Publication date
US20200136649A1 (en) 2020-04-30
US11165439B2 (en) 2021-11-02

Similar Documents

Publication Publication Date Title
US20200177208A1 (en) Device, system and method of implementing product error correction codes for fast encoding and decoding
US8245117B1 (en) Low complexity chien search in chase-type decoding of reed-solomon codes
US9998148B2 (en) Techniques for low complexity turbo product code decoding
US9432053B1 (en) High speed LDPC decoder
US9088300B1 (en) Cyclic redundancy check for out-of-order codewords
US8850297B1 (en) System and method for multi-dimensional encoding and decoding
US8572465B2 (en) Nonvolatile semiconductor memory system having first and second error correction units
KR20100081551A (ko) 디코딩 방법 및 그 방법을 이용하는 메모리 시스템 장치
US10218388B2 (en) Techniques for low complexity soft decoder for turbo product codes
US9954558B1 (en) Fast decoding of data stored in a flash memory
US10484020B2 (en) System and method for parallel decoding of codewords sharing common data
US10090865B2 (en) Performance optimization in soft decoding of error correcting codes
US11082069B1 (en) Decoding scheme for error correction code structure in data storage devices
US11177834B2 (en) Communication method and apparatus using polar codes
US8074156B2 (en) Decoding method and decoding apparatus
KR101882620B1 (ko) 신드롬 기반 연판정 bch 복호 장치 및 그 방법
US10303364B2 (en) Techniques for low-latency chase decoding of turbo product codes with soft information
US11323138B1 (en) Reed-Solomon code soft-decision decoding method and device
US9590658B1 (en) High-speed low-power LDPC decoder design
JP2008502247A (ja) ブロック符号の反復復号方法及び復号デバイス
KR102092476B1 (ko) 블록 터보 부호의 신드롬 기반 복호 방법 및 장치
JP6567238B1 (ja) 誤り訂正復号装置および誤り訂正復号方法
KR102045437B1 (ko) 저복잡도 신드롬 기반 복호 장치 및 그 방법
US11750219B2 (en) Decoding method, decoder, and decoding apparatus
KR20010092900A (ko) 터보 복호기에서 반복 복호를 중지하는 장치 및 이를구비한 터보 복호기

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant