KR101811281B1 - 층 교차 기반 3차원 터보 곱 코드의 복호 방법 및 그 장치 - Google Patents

층 교차 기반 3차원 터보 곱 코드의 복호 방법 및 그 장치 Download PDF

Info

Publication number
KR101811281B1
KR101811281B1 KR1020170049205A KR20170049205A KR101811281B1 KR 101811281 B1 KR101811281 B1 KR 101811281B1 KR 1020170049205 A KR1020170049205 A KR 1020170049205A KR 20170049205 A KR20170049205 A KR 20170049205A KR 101811281 B1 KR101811281 B1 KR 101811281B1
Authority
KR
South Korea
Prior art keywords
decoding
axis
layer
upper half
half layer
Prior art date
Application number
KR1020170049205A
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 KR1020170049205A priority Critical patent/KR101811281B1/ko
Priority to US15/812,061 priority patent/US10382066B2/en
Application granted granted Critical
Publication of KR101811281B1 publication Critical patent/KR101811281B1/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
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • 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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent 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/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
    • H03M13/2918Coding, 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 with error correction codes in three or more dimensions, e.g. 3-dimensional product code where the bits are arranged in a cube
    • 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/2939Coding, 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 convolutional 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
    • 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
    • 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

Landscapes

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

Abstract

3차원 TPC 복호 장치가 개시된다.
본 발명의 일 실시예에 따른 3차원 TPC 복호 장치는 m-1번째 상위 절반 층의 Y축과 Z축의 복호 결과에 기초하여 m번째 상위 절반 층의 X축을 복호하는 X축 복호기; m-1번째 하위 절반 층의 X축과 Z축의 복호 결과에 기초하여 m번째 하위 절반 층의 Y축을 복호하는 Y축 복호기; 및 m번째 상위 절반 층의 Y축의 복호 결과와 m번째 하위 절반 층의 X축의 복호 결과에 기초하여 Z축을 복호하는 Z축 복호기를 포함할 수 있다.

Description

층 교차 기반 3차원 터보 곱 코드의 복호 방법 및 그 장치 {Method and apparatus for decoding 3 dimensional turbo product code based on crossing layers}
본 발명은 층 교차 기반 3차원 터보 곱 코드(Turbo Product Code)의 복호 방법 및 그 장치에 관한 것이다. 보다 자세하게는 3차원 터보 곱 코드의 성능 및 처리율(Throughput)을 개선하기 위한 층 교차 기반 복호 방법 및 그 방법을 수행하는 장치에 관한 것이다.
일반적으로, 통신 채널을 통과하면서 생기는 오류를 탐색하여 복구하기 위해 많은 채널 부호 방식이 제안되어 왔다. 길쌈 부호나 리드-솔로몬 부호 등 많은 방식들이 제안되었으나, 샤논의 한계(Shannon's Limit)에 비해 열악한 성능을 나타내거나 복호기의 복잡도가 매운 큰 단점을 가지고 있다.
1954년 Elias에 의해서 곱 코드(Product Code)가 제시되었고, 1993년 Berrou등에 의해 연판정 복호 알고리즘과 반복 복호를 사용하여 샤논의 한계에 접근하는 복호 성능을 보이는 터보 코드가 제안되었다. 그 후, 대부분의 연구들은 Berrou가 제시한 컨벌루셔널 터보 코드(Convolutional Turbo Code; CTC)에 집중하였다.
그러한 상황에서 Pyndiah는 1998년 터보 코드, 곱 코드, 블록 코드의 개념을 합한 터보 곱 코드(Turbo Product Code or Block Turbo Code; TPC)를 제안하였다. 터보 곱 코드는 다양한 코드율(Code Rate), 패킷 크기(Packet Size)의 특징을 가지면서 컨벌루셔널 터보 코드(CTC)에 비교할 만한 성능을 보인다.
터보 곱 코드는 비교적 길이가 짧은 부호를 다차원 형태로 결합하여 최소 거리가 각 부호의 최소 거리의 곱 형태가 되는 강력한 부호이다. 터보 곱 코드를 구성할 때 차원의 증가는 정확도의 개선을 목적으로 하지만 처리율(Throughput)의 감소를 피할 수 없다. 즉 정확도와 처리율(Throughput)은 트레이드 오프(Trade-off) 관계이다.
따라서 차원을 확장할 때에 발생하는 처리율의 감소를 최소화하면서 동시에 부호율(Code Rate)를 증가시키기 위해 많이 사용되는 것이 단일 패리티 부호(Single Parity Check Code)를 적용하는 것이다. 단일 패리티 부호를 이용하여 터보 곱 코드의 복호 구조를 구성하는 방법으로 복호 성능이 우수한 직렬 복호 방식과 처리율이 좋은 병렬 복호 방식 등이 있다.
직렬 복호 방식은 각 축의 복호를 순차적으로 수행하여 해당 반복 복호에서 이전 축들의 복호를 통한 결과를 반영하여 다음 축의 입력을 생성하는 구조이다. 이에 비해 병렬 복호 방식은 각 축의 복호를 동시에 수행하여 각 축의 복호를 통한 결과가 다음 반복 복호 과정에서의 복호에서 사용될 입력값을 갱신하는데 사용되는 방식이다. 병렬 복호 방식은 해당 반복 복호를 수행하는 동안에는 각 축의 결과 값이 다른 축의 결과에 영향을 미치지 않는다.
하지만 직렬 복호 방식이나 병렬 복호 방식 모두 복호 성능과 시간 중 어느 한 측에서만 장점이 있는 복호 방법이다. 즉 직렬 복호 방식은 처리율은 떨어지지만 오류정정 능력이 좋은 장점을 가진다. 그에 비해 병렬 복호 방식은 복호 시간의 감소로 인한 처리율 측면의 이점이 있으나 오류정정 능력은 떨어진다.
이에 직렬 복호 방식과 병렬 복호 방식의 장점만을 흡수한 하이브리드 복호 방법이 요구된다.
KR 2003-0023991 A " 3차원 이상의 블럭터보 부호에 대한 반복 복호 방법" (2003.03.26) KR 10-0651473 B1" 파이프 라인을 이용한 고속 터보 부호 복호기" (2006.11.22)
R, Pyndiah, "Near-optimum decoding of product codes: block turbo codes," IEEE Trans. Commun., vol 46, No. 8, pp. 1003-1010, Aug. 1998. Yu, N. Y., Kim, Y., and Lee, P. J. "Iterative decoding of product codes composed of extended hamming codes," IEEE Symposium ,France, pp. 732-737, July. 2000. X. Wu, Y. He, and G. Zhu, "Performance of improved three-dimensional turbo code decoder," IEEE Int. Conf. Integration Technol., Shenzhen, China, pp. 564-567, Mar. 2007.
본 발명이 해결하고자 하는 기술적 과제는 층 교차 기반 3차원 터보 곱 코드(Turbo Product Code)의 복호 방법 및 그 방법을 수행하는 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 실시예에 따른 3차원 TPC 복호 장치는 m-1번째 상위 절반 층의 Y축과 Z축의 복호 결과에 기초하여 m번째 상위 절반 층의 X축을 복호하는 X축 복호기; m-1번째 하위 절반 층의 X축과 Z축의 복호 결과에 기초하여 m번째 하위 절반 층의 Y축을 복호하는 Y축 복호기; 및 m번째 상위 절반 층의 Y축의 복호 결과와 m번째 하위 절반 층의 X축의 복호 결과에 기초하여 Z축을 복호하는 Z축 복호기를 포함할 수 있다.
바람직하게는, 상기 X축 복호기는, m번째 하위 절반 층의 Y축의 복호 결과에 기초하여 m번째 하위 절반 층의 X축을 복호하는 것이다.
바람직하게는, 상기 Y축 복호기는, m번째 상위 절반 층의 X축의 복호 결과에 기초하여 m번째 상위 절반 층의 Y축을 복호하는 것이다.
바람직하게는, 상기 X축 복호기는, 상기 Y축 복호기가 m번째 하위 절반 층의 Y축을 복호하는 동안 병렬로 m번째 상위 절반 층의 X축을 복호하는 것이다.
바람직하게는, 상기 X축 복호기는, 상기 Y축 복호기가 m번째 상위 절반 층의 Y축을 복호하는 동안 병렬로 m번째 하위 절반 층의 X축을 복호하는 것이다.
바람직하게는, 상기 X축 복호기와 상기 Y축 복호기는, Chase-Pyndiah의 알고리즘(Chase-Pyndiah Algorithm)을 사용하는 것이다.
바람직하게는, 상기 Z축 복호기는, 정규화 최소합 알고리즘(Normalized Min-Sum Algorithm)을 사용하는 것이다.
본 발명의 일 실시예에 따른 3차원 TPC 복호 방법은 3차원 TPC 복호 장치가, Z축을 기준으로 상위 절반 층과 하위 절반 층을 구분하는 단계; 상기 3차원 TPC 복호 장치가, 상기 상위 절반 층의 X축을 복호하는 것과 병렬로 상기 하위 절반 층의 Y축을 복호하는 1차 복호 단계; 상기 3차원 TPC 복호 장치가, 상기 상위 절반 층의 X축의 복호 결과에 기초하여 상기 상위 절반 층의 Y축을 복호하는 것과 병렬로 상기 하위 절반 층의 Y축의 복호 결과에 기초하여 상기 하위 절반 층의 X축을 복호하는 2차 복호 단계; 및 상기 3차원 TPC 복호 장치가, 상기 상위 절반 층의 Y축 복호 결과와 상기 하위 절반 층의 X축 복호 결과에 기초하여 Z축을 복호하는 단계를 포함할 수 있다.
바람직하게는, 상기 3차원 TPC 복호 장치가, 기 설정된 반복 복호 횟수와 현재 수행 중인 복호 횟수를 비교하는 단계; 및 상기 기 설정된 반복 복호 횟수가 현재 수행 중인 복호 횟수보다 큰 경우, 상기 구분하는 단계와 상기 1차 복호 단계와 상기 2차 복호 단계 및 상기 Z축을 복호하는 단계를 반복 수행하는 단계를 더 포함할 수 있다.
바람직하게는, 상기 3차원 TPC 복호 장치가, 기 설정된 반복 복호 횟수와 현재 수행 중인 복호 횟수를 비교하는 단계; 및 상기 기 설정된 반복 복호 횟수가 현재 수행 중인 복호 횟수와 같은 경우, 경판정을 수행하고 오류를 탐색한 정보값을 출력하는 단계를 더 포함할 수 있다.
본 발명에 의하면 3차원 터보 곱 코드의 복호 성능을 직렬 복호 방식과 동일하게 유지하면서도, 복호 시간을 병렬 복호 방식과 동일하게 감소시킬 수 있다. 이를 통해 정확도와 처리율 두 가지를 모두 확보할 수 있다.
즉 본 발명에서 제안하는 3차원 터보 곱 코드의 복호 방식을 이용하면, 반복 복호 과정에서 X, Y축 복호 부분은 병렬적으로 구성하여 기존 직렬 구조에 비해서는 처리율을 향상시킬 수 있다. 또한 X축과 Y축의 부분적인 병렬화에 의한 성능 열화를 없앨 수 있는 방법을 제시할 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 종래의 직렬 복호 방식에 의한 3차원 터보 곱 코드의 복호 과정을 설명하기 위한 도면이다.
도 2는 종래의 병렬 복호 방식에 의한 3차원 터보 곱 코드의 복호 과정을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 3차원 터보 곱 코드의 복호 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에서 사용될 수 있는 층 교차의 개념을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 3차원 터보 곱 코드의 복호 방법을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 3차원 터보 곱 코드의 복호 방법의 성능을 측정한 결과이다.
도 7은 본 발명의 일 실시예에 따른 3차원 터보 곱 코드의 복호 장치의 하드웨어 구성도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 종래의 직렬 복호 방식에 의한 3차원 터보 곱 코드의 복호 과정을 설명하기 위한 도면이다.
직렬 복호 방식은 가장 간단한 복호 방법으로 모든 축을 직렬로 연결하여 이전에 복호가 진행된 축의 결과들을 반영하여 다음 축의 복호기에 들어갈 입력을 갱신하는 방법이다.
직렬 복호 방식에서 사용되는 [R]은 채널을 통과한 수신 정보, RX(m), RY(m), RZ(m)는 각 축의 m번째 복호에 사용되는 연 입력, WX(m), WY(m), WZ(m)은 각 축의 m번째 복호 결과 나오는 외부 정보, αX(m), αY(m)는 각 축의 외부 정보에 곱해지는 무게 인수(weight)를 뜻하며, X, Y, Z축을 모두 복호 완료하였을 때 반복 복호 횟수 m은 1씩 증가한다.
도 1을 참고하면, 직렬 복호 방식은 X축 복호기는 첫번째 복호기이기 때문에 이전 반복 복호 과정의 Y축, Z축 복호 결과를 바탕으로 입력값을 갱신하고, Y축 복호기는 같은 반복 복호 내에서 이전에 X축의 복호가 이루어졌기 때문에 X축의 복호 결과로 입력을 갱신한다. 마지막 복호기인 Z축 복호기는 같은 반복 복호에서의 X축, Y축 모두의 결과를 바탕으로 입력을 갱신한다.
이때, Z축 복호기는 단일 패리티 부호로 구성된 축이다. Z축은 LDPC의 복호에서 주로 사용되는 합-곱 알고리즘(Sum-Product Algorithm; SPA)을 사용하여 성능의 개선을 얻을 수 있다. 또는 합-곱 알고리즘 대신 정규화 최소합(Normalized Min-Sum) 방식을 적용하여 구현 복잡도를 줄일 수 있다.
다시 도 1로 돌아가서, m번째 복호에 들어갈 각 축의 연 입력 갱신의 연산은 다음의 수학식으로 표시할 수 있다.
Figure 112017037395706-pat00001
수학식 1을 참고하면, m번째 X축의 연 입력은 m-1번째 Y축과 Z축의 복호 결과를 바탕으로 하고, m번째 Y축의 연 입력은 m번째 X축의 복호 결과를 바탕으로 하고, m번째 Z축의 복호 결과는 m번째 X축과 Y축의 복호 결과를 바탕으로 한다.
직렬 복호 방식은 한번의 반복 복호 내에서도 다른 축의 복호 결과가 반영되기 때문에 오류정정 능력이 좋다는 장점을 가지지만, 각 축의 복호를 순차적으로 수행하기 때문에 처리율(Throughput)은 떨어지는 단점을 가진다. 이처럼 직렬 복호 방식은 복호 시간이 매우 크기 때문에 각 축의 복호 과정을 병렬화 함으로써 전체 복호 시간을 단축시킬 수 있다.
도 2는 종래의 병렬 복호 방식에 의한 3차원 터보 곱 코드의 복호 과정을 설명하기 위한 도면이다.
병렬 복호 방식을 수행할 때, X, Y, Z축을 모두 병렬화하면 직렬 방식과 동일한 반복 복호 횟수에서 성능이 크게 떨어지기 때문에 X축과 Y축 복호만을 병렬화 하고 Z축은 X, Y축의 결과를 반영한 직렬 방식으로 구성하여 성능 저하를 최소화하는 부분 병렬 복호 방식을 사용할 수 있다.
도 2를 참고하면 X축, Y축은 병렬로 Z축은 직렬로 연결되어 있다. 이와 같은 부분 병렬 복호 방식에서 X축 복호기는 이전 반복 복호 과정의 Y축, Z축 복호 결과를 바탕으로 입력값을 갱신하고, Y축 복호기도 마찬가지로 이전 반복 복호 과정의 X축, Z축 복호 결과를 바탕으로 입력값을 갱신한다. 마지막 복호기인 Z축 복호기는 같은 반복 복호에서의 X축, Y축 모두의 결과를 바탕으로 입력을 갱신한다.
도 2의 부분 병렬 복호 방식에서 m번째 복호에 들어갈 각 축의 연 입력 갱신의 연산은 다음의 수학식으로 표시할 수 있다.
Figure 112017037395706-pat00002
수학식 2를 참고하면, m번째 X축의 연 입력은 m-1번째 Y축과 Z축의 복호 결과를 바탕으로 하고, m번째 Y축의 연 입력은 m-1번째 X축과 Z축의 복호 결과를 바탕으로 하고, m번째 Z축의 복호 결과는 m번째 X축과 Y축의 복호 결과를 바탕으로 한다.
도 2의 부분 병렬 복호 방식은 도 1의 직렬 복호 방식보다 Y축 복호에 소요되는 시간만큼 시간이 절약되어서 처리율이 증가한다는 장점을 가지지만 직렬 복호 방식과는 다르게 Y축의 복호기도 X축의 복호기와 마찬가지로 이전 반복 복호의 결과만을 가지고 입력을 갱신하여 수행하기 때문에 직렬 복호 방식에 비하여 성능이 떨어지는 단점이 있다.
이처럼 종래의 직렬 복호 방식이나 부분 병렬 복호 방식 모두 성능과 처리율(Throughput)중 한 가지 장점을 얻기 위한 나머지 한 부분의 희생을 요구한다. 이에 성능과 처리율 두 가지 모두 어느 정도 확보할 수 있는 새로운 복호 방식이 필요하다.
도 3은 본 발명의 일 실시예에 따른 3차원 터보 곱 코드의 복호 방법을 설명하기 위한 도면이다.
도 3을 참고하면 본 발명에서 제안하는 3차원 터보 곱 코드의 복호 방법은 3차원 터보 곱 코드의 X축과 Y축의 복호 과정을 하나의 층을 기준으로 교차하여 복호하는 방식이다. 이와 같은 층 교차 복호 방식은 X, Y축을 직렬 복호 방식으로 복호하면서도 다른 한편으로 병렬 복호 방식으로 동시에 복호를 진행한다.
즉 하나의 층을 기준으로는 X축과 Y축이 직렬로 복호를 수행하지만, 2개의 층이 동시에 복호를 수행하기 때문에 2개의 층을 기준으로는 병렬로 복호가 수행된다. 이를 통하여 기존의 병렬 반복 복호 방식과 동일한 복호 시간만으로도 직렬 반복 복호 방식과 동일한 성능을 가질 수 있다.
도 3을 참고하면, 우선 X축, Y축의 복호기를 동시에 동작시키되 기존에 X, Y축 전체 복호에 사용되는 시간의 절반의 시간동안 서로 다른 절반의 정보에 대해 복호를 수행한다. 즉 Z축을 기준으로 2개의 층으로 나누고 X축은 상위 절반 층(전체 정보의 절반)을 Y축은 하위 절반층(나머지 정보 절반)에 대해 복호를 1차적으로 수행한다.
절반 층씩에 대한 복호가 각각 끝나면 상위 절반 층은 X축 복호 결과를 반영하여 Y축 복호기에 들어갈 입력값을 갱신하고, 하위 절반 층은 Y축 복호 결과를 바탕으로 X축 복호기의 입력값을 갱신한다. 즉 2차적인 복호가 수행된다.
X, Y축의 복호가 끝나면 그 값들을 토대로 Z축의 복호기에 들어갈 입력값을 갱신한 후 Z축 복호 과정을 진행한다. 이와 같이 한 번의 반복 복호 과정이 완료되며 필요한 반복 횟수만큼 전체 복호 과정을 반복 수행하게 된다.
도 3의 층 교차 복호 방식에서, 상위 절반 층의 m번째 복호에 들어갈 각 축의 연 입력 갱신의 연산은 다음의 수학식으로 표시할 수 있다.
이때, 상위 절반 층과 하위 절반 층에서 무게 인수 αX(m), αY(m)은 동일하게 사용하고 RUP,X(m), RUP,Y(m)은 각각 m번째 반복 복호에서 사용되는 상위 절반 층의 X축, Y축 복호기의 연 입력을 의미하며 WUP,X(m), WUP,Y(m)은 각각 m번째 반복 복호에서 상위 절반 층의 X축, Y축 복호 결과 나온 외부 정보를 의미한다. Z축 복호는 모든 층이 결합된 후 수행되므로 Z축 복호의 m번째 반복 복호의 외부 정보는 WZ(m)로 표현한다.
Figure 112017037395706-pat00003
수학식 3을 참고하면, m번째 상위 절반 층의 X축의 연 입력은 m-1번째 상위 절반 층의 Y축과 Z축의 복호 결과를 바탕으로 하고, m번째 상위 절반 층의 Y축의 연 입력은 m번째 상위 절반 층의 X축의 복호 결과를 바탕으로 한다.
다른 한변으로 하위 절반 층의 m번째 복호에 들어갈 각 축의 연 입력 갱신의 연산은 다음의 수학식으로 표시할 수 있다.
Figure 112017037395706-pat00004
수학식 4를 참고하면, m번째 하위 절반 층의 X축의 연 입력은 m번째 하위 절반 층의 Y 축의 복호 결과를 바탕으로 하고, m번째 하위 절반 층의 Y축의 연 입력은 m-1번째 하위 절반 층의 X축과 Z축의 복호 결과를 바탕으로 한다.
X축과 Y축의 복호가 모두 끝난 후 나온 외부 정보를 연산하여 Z축 복호의 연 입력을 생성한다. Z축 복호의 연 입력의 상위 절반 층의 값은 상위 절반 층의 X, Y축 복호 수행으로 나온 외부 정보를 사용하여 생성되고, 하위 절반 층의 값 연산에는 하위 절반 층의 X, Y축 복호 수행으로 나온 외부 정보가 사용된다. Z축의 연 입력 갱신의 연산은 다음의 수학식으로 표시할 수 있다.
Figure 112017037395706-pat00005
수학식 5를 참고하면, m번째 상위 절반 층의 Z축의 연 입력은 m번째 상위 절반 층의 X축과 Y축의 복호 결과를 바탕으로 하고, m번째 하위 절반 층의 Z축의 연 입력은 m번째 하위 절반 층의 X축과 Y축의 복호 결과를 바탕으로 한다.
이처럼 층 교차 복호 방식을 사용하면 X축, Y축 복호가 동시에 이루어지므로 기존의 병렬 복호 방식과 같이 짧은 복호 시간에 복호를 수행할 수 있으며, 이와 동시에 성능면에서 직렬 복호 방식과 유사하게 Z축의 복호에 들어갈 연 입력 연산 값이 X축과 Y축 두 축의 복호를 수행한 정보가 하나씩 들어감으로 인해 오류정정 능력을 개선할 수 있다.
도 4는 본 발명의 일 실시예에서 사용될 수 있는 층 교차의 개념을 설명하기 위한 도면이다.
도 4를 참고하면, (n1, k1)×(n2, k2)×(n3, k3)로 구성된 3차원 TPC를 Z축을 기준으로 상위 절반 층과 하위 절반 층으로 나누는 것을 볼 수 있다. 이때 상위 절반 층의 Z축의 크기와 하위 절반 층의 Z축의 크기는 같다. 그래야 상위 절반 층의 복호와 하위 절반 층의 복호가 동일한 시간 동안 수행될 수 있기 때문이다.
도 4와 같이 2개의 층으로 나눈 후에는 X축과 Y축 복호기를 동시에 동작시키되 X축 복호기는 상위 절반 층부터 복호를 수행하고 Y축 복호기는 동일한 시간동안 하위 절반 층에 대한 복호를 수행한다.
다음으로 각각 절반층의 복호가 끝나면 상위 절반 층은 Y축 복호 결과를 반영하여 X축 복호기 입력으로 들어갈 연 입력을 갱신하고, 하위 절반 층은 X축 복호 결과를 반영하여 Y축 복호기의 입력으로 들어갈 연 입력을 갱신한다. 다음으로 X축 복호기는 하위 절반 층을 Y축 복호기는 상위 절반 층에 대해 복호를 수행한다.
하위 절반 층의 X축의 복호와 상위 절반 층의 Y축의 복호가 모두 끝나면 이 결과를 반영하여 Z축 복호를 수행한다. 이렇게 층 교차 직병렬 혼합 복호 방식을 반복 복호 횟수만큼 반복해서 수행할 수 있다. 반복 복호가 끝나면 최초의 채널 정보 값과 4회 반복 복호 과정 종료 후의 X, Y, Z 축의 복호 결과 값을 더한 후, 경판정을 수행하여 정보 값을 출력한다.
이처럼 본 발명에서 제안하는 층 교차 하이브리드 복호 방식은 X축은 상위 절반의 정보를 통해 Y축은 하위 절반의 정보를 가지고 동시에 복호를 시작하여 X, Y축의 복호가 절반의 정보의 위치를 교차하는 지점부터는 이전 축의 복호 결과를 반영한 값을 연 입력으로 사용하여 복호를 진행하는 방법으로 성능과 복호 시간을 동시에 개선할 수 있다.
도 5는 본 발명의 일 실시예에 따른 3차원 터보 곱 코드의 복호 방법을 설명하기 위한 순서도이다.
도 5를 참고하면 우선 m번째 복호를 수행하기 위하여 X축과 Y축 복호기의 입력을 갱신한다(S1100). 즉 m번째 상위 절반 층의 X축은 m-1번째 상위 절반 층의 Y축과 Z축의 결과를 반영하여 입력을 갱신하고, m번째 하위 절반 층의 Y축은 m-1번째 하위 절반 층의 X축과 Z축의 결과를 반영하여 입력을 갱신한다.
다음으로 m번째의 반복 복호에서 1차 복호를 수행한다(S1200). 즉 상위 절반 층은 X축을 기준으로 복호를 수행하고, 하위 절반 층은 Y축을 기준으로 복호를 수행한다. 상위 절반 층과 하위 절반 층을 각각 동시에 복호를 수행하므로 병렬 복호 방식의 이점을 얻을 수 있다.
다음으로 X축과 Y축 복호기의 입력을 갱신한다(S1300). 즉 m번째 상위 절반 층의 Y축은 S1200 단계에서 수행한 m번째 상위 절반 층의 X의 결과를 반영하여 입력을 갱신하고, m번째 하위 절반 층의 X축은 S1200 단계에서 수행한 m번째 하위 절반 층의 Y축의 결과를 반영하여 입력을 갱신한다.
다음으로 m번째의 반복 복호에서 2차 복호를 수행한다(S1400). 즉 상위 절반 층은 Y축을 기준으로 복호를 수행하고, 하위 절반 층은 X축을 기준으로 복호를 수행한다. 상위 절반 층과 하위 절반 층을 각각을 놓고 보면 X축의 결과를 이용하여 Y축의 복호를 또는 Y축의 결과를 이용하여 X축의 복호를 수행하므로 직렬 복호 방식의 이점을 얻을 수 있다.
2차 복호가 모두 끝난 후에는 Z축의 복호를 수행하기 위하여 Z축 복호기의 입력을 갱신한다(S1500). 즉 상위 절반 층의 Z축은 상위 절반 층의 X축과 Y축의 복호 결과를 바탕으로 입력을 갱신하고, 하위 절반 층의 Z축은 하위 절반 층의 X축과 Y축의 복호 결과를 바탕으로 입력을 갱신한다.
다음으로 3차원 터보 곱 코드의 복호 과정의 반복 횟수를 확인하고(S1700), 현재 m번째의 횟수가 기 설정된 반복 횟수와 같지 않다면 아직 수행해야할 반복 횟수가 남아있다는 의미이므로 다시 S1100 단계로 이동하고, 현재 m번째의 횟수가 기 설정된 반복 횟수와 같다면 반복 복호를 모두 마친 것이므로 경판정을 수행하고(S1800), 복호 과정을 최종적으로 마무리할 수 있다.
도 6은 본 발명의 일 실시예에 따른 3차원 터보 곱 코드의 복호 방법의 성능을 측정한 결과이다.
도 6은, 3차원 (64,57)×(32,26)×(8,7) TPC의 2가지 기존 복호 방식인 직렬 복호 방식과 부분 병렬 복호 방식 및 본 발명에서 제안하는 층 교차 기반 하이브리드 방식의 성능을 비교한 BER 성능 곡선이다. 이때, 사용된 신뢰도 낮은 비트의 수와 반복 복호의 횟수는 각 4회이며, X, Y축은 확장 해밍 부호 기반의 Chase-Pyndiah 복호 알고리즘을 사용하였으며, Z축은 단일 패리티 부호의 복호를 위해 Sum-Product 알고리즘을 사용하였다.
도 6을 참고하면, 부분 병렬 복호 방식을 사용하면, 직렬 복호 방식보다 0.12dB가량 성능의 열화가 생긴다. 이에 비해 본 발명에서 제안하는 층 교차 하이브리드 복호 방식(=혼합 복호 방식)을 사용하면 직렬 복호 구조와 유사한 성능을 유지하는 것을 확인할 수 있다.
도 6의 시뮬레이션 결과에서 처리량을 표로 정리하면 다음과 같다.
반복 복호 구조 전체 복호 시간(CLK) 처리율
직렬 복호 방식 418,976 3.75Mbps
부분 병렬 복호 방식 213,136 7.38Mbps
층교차 혼합 복호 방식 254,104 6.2Mbps
표 1을 참고하면, 본 발명에서 제안하는 층 교차 혼합 복호 방식은 부분 병렬 복호 방식의 복호 시간 213,136 CLK 만큼 빠르지는 못하나, 직렬 복호 방식의 복호 시간 418,976 CLK에 비해서는 40% 정도 빠른 254,104 CLK의 복호 시간이 소모되는 것을 볼 수 있다. 이를 처리율로 환산하면 6.2Mbps로 부분 병렬 복호 방식 7.38Mbps와 유사한 처리량을 나타내는 것을 볼 수 있다.
도 7은 본 발명의 일 실시예에 따른 3차원 터보 곱 코드의 복호 장치의 하드웨어 구성도이다.
도 7을 참고하면 본 발명에서 제안하는 3차원 터보 곱 코드 복호 장치는 2 종류의 복호기(decoder)를 포함한다. 우선 X축과 Y축의 복호기는 Chase-Pyndiah의 복호 알고리즘을 사용하는 복호기이고, Z축의 복호기는 정규화 최소합 알고리즘을 사용하는 복호기이다.
도 7에 예시된 복호 장치를 이용하면, 3차원 TPC의 복호 성능을 직렬 복호 방식과 동일하게 유지하면서 복호 시간을 부분 병렬 복호 방식과 동일하게 감소시킬 수 있다. 즉 본 발명에서 제안하는 복호 장치는, 복호 성능에 초점을 맞춘 직렬 복호 방식과 유사한 성능을 보였으며 이와 동시에 X, Y축 복호기의 동시 사용으로 부분 병렬 복호 방식과 유사한 복호 시간을 보인다.
이상 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.

Claims (10)

  1. m-1번째 상위 절반 층의 Y축과 Z축의 복호 결과에 기초하여 m번째 상위 절반 층의 X축을 복호하는 X축 복호기;
    m-1번째 하위 절반 층의 X축과 Z축의 복호 결과에 기초하여 m번째 하위 절반 층의 Y축을 복호하는 Y축 복호기; 및
    m번째 상위 절반 층의 Y축의 복호 결과와 m번째 하위 절반 층의 X축의 복호 결과에 기초하여 Z축을 복호하는 Z축 복호기를 포함하는,
    3차원 TPC 복호 장치.
  2. 제1항에 있어서,
    상기 X축 복호기는,
    m번째 하위 절반 층의 Y축의 복호 결과에 기초하여 m번째 하위 절반 층의 X축을 복호하는 것인,
    3차원 TPC 복호 장치.
  3. 제2항에 있어서,
    상기 Y축 복호기는,
    m번째 상위 절반 층의 X축의 복호 결과에 기초하여 m번째 상위 절반 층의 Y축을 복호하는 것인,
    3차원 TPC 복호 장치.
  4. 제1항에 있어서,
    상기 X축 복호기는,
    상기 Y축 복호기가 m번째 하위 절반 층의 Y축을 복호하는 동안 병렬로 m번째 상위 절반 층의 X축을 복호하는 것인,
    3차원 TPC 복호 장치.
  5. 제1항에 있어서,
    상기 X축 복호기는,
    상기 Y축 복호기가 m번째 상위 절반 층의 Y축을 복호하는 동안 병렬로 m번째 하위 절반 층의 X축을 복호하는 것인,
    3차원 TPC 복호 장치.
  6. 제1항에 있어서,
    상기 X축 복호기와 상기 Y축 복호기는,
    Chase-Pyndiah의 알고리즘(Chase-Pyndiah Algorithm)을 사용하는 것인,
    3차원 TPC 복호 장치.
  7. 제1항에 있어서,
    상기 Z축 복호기는,
    정규화 최소합 알고리즘(Normalized Min-Sum Algorithm)을 사용하는 것인,
    3차원 TPC 복호 장치.
  8. 3차원 TPC 복호 장치가, Z축을 기준으로 상위 절반 층과 하위 절반 층을 구분하는 단계;
    상기 3차원 TPC 복호 장치가, 상기 상위 절반 층의 X축을 복호하는 것과 병렬로 상기 하위 절반 층의 Y축을 복호하는 1차 복호 단계;
    상기 3차원 TPC 복호 장치가, 상기 상위 절반 층의 X축의 복호 결과에 기초하여 상기 상위 절반 층의 Y축을 복호하는 것과 병렬로 상기 하위 절반 층의 Y축의 복호 결과에 기초하여 상기 하위 절반 층의 X축을 복호하는 2차 복호 단계; 및
    상기 3차원 TPC 복호 장치가, 상기 상위 절반 층의 Y축 복호 결과와 상기 하위 절반 층의 X축 복호 결과에 기초하여 Z축을 복호하는 단계를 포함하는,
    3차원 TPC 복호 방법.
  9. 제8항에 있어서,
    상기 3차원 TPC 복호 장치가, 기 설정된 반복 복호 횟수와 현재 수행 중인 복호 횟수를 비교하는 단계; 및
    상기 기 설정된 반복 복호 횟수가 현재 수행 중인 복호 횟수보다 큰 경우, 상기 구분하는 단계와 상기 1차 복호 단계와 상기 2차 복호 단계 및 상기 Z축을 복호하는 단계를 반복 수행하는 단계를 더 포함하는,
    3차원 TPC 복호 방법.
  10. 제8항에 있어서,
    상기 3차원 TPC 복호 장치가, 기 설정된 반복 복호 횟수와 현재 수행 중인 복호 횟수를 비교하는 단계; 및
    상기 기 설정된 반복 복호 횟수가 현재 수행 중인 복호 횟수와 같은 경우, 경판정을 수행하고 오류를 탐색한 정보값을 출력하는 단계를 더 포함하는,
    3차원 TPC 복호 방법.
KR1020170049205A 2017-04-17 2017-04-17 층 교차 기반 3차원 터보 곱 코드의 복호 방법 및 그 장치 KR101811281B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170049205A KR101811281B1 (ko) 2017-04-17 2017-04-17 층 교차 기반 3차원 터보 곱 코드의 복호 방법 및 그 장치
US15/812,061 US10382066B2 (en) 2017-04-17 2017-11-14 Method and apparatus for decoding three-dimensional turbo product code based on crossing layers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170049205A KR101811281B1 (ko) 2017-04-17 2017-04-17 층 교차 기반 3차원 터보 곱 코드의 복호 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR101811281B1 true KR101811281B1 (ko) 2017-12-22

Family

ID=60936401

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170049205A KR101811281B1 (ko) 2017-04-17 2017-04-17 층 교차 기반 3차원 터보 곱 코드의 복호 방법 및 그 장치

Country Status (2)

Country Link
US (1) US10382066B2 (ko)
KR (1) KR101811281B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10886947B2 (en) * 2018-12-20 2021-01-05 Toshiba Memory Corporation Efficient decoding of n-dimensional error correction codes

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356752B2 (en) * 2000-03-14 2008-04-08 Comtech Telecommunications Corp. Enhanced turbo product codes
JP2003534680A (ja) * 2000-04-04 2003-11-18 コムテック テレコミュニケーションズ コーポレイション 強化型ターボプロダクト符号復号器システム
CN1791943B (zh) * 2003-05-22 2011-08-17 Nxp股份有限公司 用于电阻开路缺陷的ram地址译码器的测试
US6906940B1 (en) * 2004-02-12 2005-06-14 Macronix International Co., Ltd. Plane decoding method and device for three dimensional memories
JP4595977B2 (ja) * 2007-09-20 2010-12-08 カシオ計算機株式会社 文字板および電子機器
US9047203B1 (en) * 2011-12-21 2015-06-02 Altera Corporation Systems and methods for encoding and decoding data
US9998148B2 (en) * 2015-12-01 2018-06-12 SK Hynix Inc. Techniques for low complexity turbo product code decoding
US10090865B2 (en) * 2016-03-23 2018-10-02 SK Hynix Inc. Performance optimization in soft decoding of error correcting codes
KR101858123B1 (ko) * 2017-04-25 2018-05-17 고려대학교 산학협력단 혼합형 반복 복호 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
3차원 블록 터보 부호의 층 교차 복호 기법 (석사학위논문, 2016년 12월)

Also Published As

Publication number Publication date
US10382066B2 (en) 2019-08-13
US20180302109A1 (en) 2018-10-18

Similar Documents

Publication Publication Date Title
Mitchell et al. Spatially coupled LDPC codes constructed from protographs
Liva et al. Quasi-cyclic generalized LDPC codes with low error floors
US20070260772A1 (en) Apparatus and method for transmitting/receiving data in a communication system
EP3533145B1 (en) Generation of spatially-coupled quasi-cyclic ldpc codes
KR20090072972A (ko) 저밀도 패리티 체크 코드를 복호화하는 방법 및 장치
US20070245211A1 (en) Method for encoding/decoding concatenated LDGM code
Elkelesh et al. Mitigating clipping effects on error floors under belief propagation decoding of polar codes
Elkelesh et al. Flexible length polar codes through graph based augmentation
Hashemipour-Nazari et al. Hardware implementation of iterative projection-aggregation decoding of Reed-Muller codes
Bocharova et al. LDPC convolutional codes versus QC LDPC block codes in communication standard scenarios
KR101811281B1 (ko) 층 교차 기반 3차원 터보 곱 코드의 복호 방법 및 그 장치
KR101657912B1 (ko) 비이진 저밀도 패리티 검사 코드의 복호화 방법
Gentile et al. Low-complexity architectures of a decoder for IEEE 802.16 e LDPC codes
Qi et al. Punctured turbo-polar codes
US10560124B2 (en) Interleaver for turbo codes as a function of the puncturing pattern
Tan et al. CRC aided short-cycle free BP decoding for polar codes
Rosnes On the minimum distance of array-based spatially-coupled low-density parity-check codes
Ullah et al. Performance improvement of multi-stage threshold decoding with difference register
Yang et al. Design of turbo-like codes for short frames
Chen et al. Enhancing iterative decoding of cyclic LDPC codes using their automorphism groups
Alfandary et al. Two-dimensional tail-biting convolutional codes
Zhu et al. Polar codes with local-global decoding
Urman et al. Efficient belief propagation list ordered statistics decoding of polar codes
Deng et al. A two-stage decoding algorithm for short nonbinary LDPC codes with near-ML performance
Hung et al. A New High-Performance and Low-Complexity Turbo-LDPC Code

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant