KR101216735B1 - 프로덕트 부호의 복호 방법 및 장치 - Google Patents
프로덕트 부호의 복호 방법 및 장치 Download PDFInfo
- Publication number
- KR101216735B1 KR101216735B1 KR1020100086494A KR20100086494A KR101216735B1 KR 101216735 B1 KR101216735 B1 KR 101216735B1 KR 1020100086494 A KR1020100086494 A KR 1020100086494A KR 20100086494 A KR20100086494 A KR 20100086494A KR 101216735 B1 KR101216735 B1 KR 101216735B1
- Authority
- KR
- South Korea
- Prior art keywords
- horizontal
- decoding
- codeword
- parity check
- check matrix
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2927—Decoding strategies
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
복호 장치가 프로덕트 부호의 부호어 행렬을 복호하는 방법이 제공된다. 프로덕트 부호의 부호어 행렬을 복호하는 방법은 수직 부호에 대한 제1 확장 패리티 체크 행렬을 생성하는 단계, 상기 부호어 행렬 내의 복수의 행의 수평 부호어를 각각 제1 복호하는 단계, 상기 제1 복호에 성공한 수평 부호어의 행에 해당하는 열을 상기 제1 확장 패리티 체크 행렬로부터 제거하여 제2 확장 패리티 체크 행렬을 생성하는 단계, 그리고 상기 제2 확장 패리티 체크 행렬을 이용하여 상기 제1 복호에 실패한 수평 부호어를 제2 복호하는 단계를 포함한다. 이에 따라, 간단하고 신뢰도 높은 프로덕트 부호의 복호 방법이 제공될 수 있다.
Description
본 발명은 프로덕트 부호의 복호 방법 및 장치에 관한 것이다.
최근, 피드백 채널(feedback channel)이 없는 무선 통신 또는 저장 장치 분야에서 정보 전송 또는 저장에 신뢰성을 부여하기 위하여 매우 낮은 수준의 비트 오류율(bit error rate, BER)이 요구되고 있다. 오류 정정을 위하여 일반적으로 터보(turbo) 부호 또는 저밀도 패리티 체크(low-density parity-check, LDPC) 부호가 이용되고 있으나, 이들 부호를 단독으로 이용하여 피드백 채널이 없는 무선 통신 또는 저장 장치 분야에서 요구되는 수준의 매우 낮은 비트 오류율을 달성하기 어려운 문제가 있다.
이에, 프로덕트 부호(product code)를 이용한 복호 방법이 제안되고 있다. 프로덕트 부호는 수평 부호와 수직 부호로 이루어진 것으로, 프로덕트 부호를 이용한 복호 방법은 프로덕트 부호의 수평 부호와 수직 부호를 순차적으로 복호하는 것이다.
한편, 복호 성능을 높이기 위하여 프로덕트 부호의 수평 부호 및 수직 부호에 대하여 연판정 (soft decision) 정보를 이용하는 최대 우도(maximum likelihood, ML) 복호 기법이 제안되고 있다. 다만, 프로덕트 부호를 ML 복호하는 것은 과정이 복잡하고, 프로덕트 부호의 수평 부호와 수직 부호가 서로 다른 경우 두 개의 독립적인 복호기를 구현해야 하는 문제가 있다.
본 발명이 이루고자 하는 기술적 과제는 연판정 정보를 이용한 프로덕트 부호의 복호 방법 및 장치를 제공하는 것이다.
본 발명의 일 양태에 따른 복호 장치가 프로덕트 부호의 부호어 행렬을 복호하는 방법은 수직 부호에 대한 제1 확장 패리티 체크 행렬(parity check matrix)을 생성하는 단계, 상기 부호어 행렬 내의 복수의 행의 수평 부호어들을 각각 제1 복호하는 단계, 상기 제1 확장 패리티 체크 행렬의 열들 중 상기 제1 복호에 성공한 수평 부호어의 행에 해당하는 열을 제거하여 제2 확장 패리티 체크 행렬을 생성하는 단계, 그리고 상기 제2 확장 패리티 체크 행렬을 이용하여 상기 제1 복호에 실패한 수평 부호어를 제2 복호하는 단계를 포함한다.
본 발명의 다른 양태에 따른 복호 장치가 프로덕트 부호의 부호어 행렬을 복호하는 방법은 상기 부호어 행렬 내의 복수의 행의 수평 부호어들을 복호하는 단계, 그리고 상기 부호어 행렬 내의 하나의 열에서 복호 실패한 수평 부호어가 적어도 두 개인 경우, 상기 적어도 두 개의 수평 부호어들을 두 개의 그룹으로 나누고 제1 그룹 내의 수평 부호어들의 이진합에 해당하는 가상의 제1 수평 부호어에 대하여 독립적으로 수신한 두 개의 연판정 정보를 결합하여 상기 제1 수평 부호어를 재복호하는 단계를 포함한다.
본 발명의 일 양태에 따른 프로덕트 부호의 부호어 행렬을 복호하는 장치는 상기 부호어 행렬 내의 복수의 행의 수평 부호어를 제1 복호하고, 상기 제1 복호 시에 복호 실패한 수평 부호어들을 두 개의 그룹으로 나누어 각 그룹으로부터 연판정 정보를 계산하고 이들 독립적으로 수신한 두 개의 연판정 정보를 결합한 결과를 이용하여 상기 복호 실패한 수평 부호어를 제2 복호하는 수평 부호어 복호부, 그리고 상기 복호 실패한 수평 부호어에 대하여 독립적으로 수신한 두 개의 연판정 정보를 연산 후 결합하고, 결합한 결과를 상기 수평 부호어 복호부에 제공하는 연판정 정보 결합부를 포함한다.
프로덕트 부호의 부호어 행렬을 복호하기 위하여 수평 부호어 복호기와 수직 부호어 복호기를 필요로 하는 기존 방법과 달리, 하나의 복호기로 프로덕트 부호를 복호할 수 있다. 따라서, 장치의 복잡도를 줄일 수 있다.
프로덕트 부호의 부호어 행렬을 복호하는 과정에서 계산의 복잡도를 줄일 수 있고, 매우 낮은 오류율의 복호 결과를 얻을 수 있다.
도 1은 본 발명의 한 실시예에 따른 프로덕트 부호의 부호어 행렬 구조를 나타내는 도면이다.
도 2a 및 도 2b는 본 발명의 한 실시예에 따른 복호 장치가 프로덕트 부호를 복호하는 방법을 나타내는 순서도이다.
도 3은 본 발명의 한 실시예에 따라 수직 부호의 제1 확장 패리티 체크 행렬 H'의 체크 방정식중 하나에 두 개의 복호 실패한 수평 부호어가 존재하는 경우 구체적인 복호 방법을 나타내는 순서도이다.
도 4는 본 발명의 한 실시예에 따라 수직 부호의 체크 방정식에 세 개 이상의 복호 실패한 수평 부호어가 존재하는 경우 복호 방법을 나타내는 순서도이다.
도 5는 본 발명의 한 실시예에 따른 복호 장치를 나타내는 블록도이다.
도 6 및 도 7은 본 발명의 한 실시예에 따른 복호 장치의 복호 방법에 따른 효과를 나타내는 그래프이다.
도 2a 및 도 2b는 본 발명의 한 실시예에 따른 복호 장치가 프로덕트 부호를 복호하는 방법을 나타내는 순서도이다.
도 3은 본 발명의 한 실시예에 따라 수직 부호의 제1 확장 패리티 체크 행렬 H'의 체크 방정식중 하나에 두 개의 복호 실패한 수평 부호어가 존재하는 경우 구체적인 복호 방법을 나타내는 순서도이다.
도 4는 본 발명의 한 실시예에 따라 수직 부호의 체크 방정식에 세 개 이상의 복호 실패한 수평 부호어가 존재하는 경우 복호 방법을 나타내는 순서도이다.
도 5는 본 발명의 한 실시예에 따른 복호 장치를 나타내는 블록도이다.
도 6 및 도 7은 본 발명의 한 실시예에 따른 복호 장치의 복호 방법에 따른 효과를 나타내는 그래프이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 한 실시예에 따른 프로덕트 부호의 부호어 행렬 구조를 나타내는 도면이다.
도 1을 참고하면, 프로덕트 부호는 하기 수학식 1과 같이 나타낼 수 있다.
여기서, C는 수직 부호(vertical code)이고, (n,k,dmin)의 파라미터를 가지며, C'은 수평 부호(horizontal code)이고, (n',k',d'min)의 파라미터를 가진다. n 및 n'은 부호 길이를 의미하고, k 및 k'은 정보 비트 길이를 의미하며, dmin 및 d'min은 최소 해밍 거리(minimum Hamming distance)를 의미한다. 수평 부호 C'은 복호 오류 검출이 가능한 선형 부호이고, 예를 들면 길쌈 부호(convolutional code), LDPC 부호 또는 터보 부호일 수 있다. 수직 부호 C는 예를 들면 싱글(single) 패리티 체크 부호, 해밍 부호(Hamming code), BCH 부호 등일 수 있다.
프로덕트 부호 P의 부호어 행렬은 k×k'의 k행과 k'열에 배열하고, 수평 부호 C'을 이용하여 k행들을 부호화하며, 수직 부호 C를 이용하여 n'열들을 부호화하여 생성된다. 프로덕트 부호 P의 부호어 행렬에서 (n'-k') 열들은 수직 부호 C의 부호어들이고, (n-k)행들은 수평 부호 C'의 부호어들이다. 따라서, 프로덕트 부호 P의 부호어 행렬의 모든 열들은 수직 부호 C의 부호어들이고, 모든 행들은 수평 부호 C'의 부호어들이다. 여기서 모든 수평 부호어를 c 1,c 2,...,c n이라 정의한다.
특히 수직 부호 C가 체계 부호인 경우 프로덕트 부호 P의 n개의 수평 부호어는 s1,s2,...,sk로 정의되는 k개의 체계 수평 부호어와 p1,p2,...,pn -k로 정의되는 (n-k)개의 패리티 수평 부호어로 구분될 수 있다. 수직 부호 C가 체계 부호인 경우에는 k개의 체계 수평 부호어가 성공적으로 복호되면, 해당 부호어 행렬 내의 모든 메시지 정보는 성공적으로 얻어지고, 수직 부호 C가 체계 부호가 아닌 경우에는 n개의 수평 부호어가 모두 성공적으로 복호되면, 해당 부호어 행렬 내의 모든 메시지 정보가 성공적으로 얻어진다.
이하, 본 발명의 한 실시예에 따른 프로덕트 부호의 부호어 행렬을 복호하는 방법을 설명한다.
먼저, 복호 장치는 프로덕트 부호의 복호를 위한 사전 절차를 수행한다. 즉, 수직 부호의 패리티 체크 행렬 H로부터 제1 확장 패리티 체크 행렬 H'을 생성한다. 제1 확장 패리티 체크 행렬 H'은 패리티 체크 행렬 H의 각 행들의 가능한 모든 선형 결합들을 행으로 가진다. 예를 들면, 패리티 체크 행렬 H는 m×n의 크기를 가지는 것을 가정한다. 이때, 패리티 체크 행렬 H의 수직 부호의 길이 n은 프로덕트 부호의 부호어 행렬 내의 수평 부호어의 개수와 동일하다. 제1 확장 패리티 체크 행렬 H'은 패리티 체크 행렬 H의 각 행들의 가능한 모든 선형 결합들을 행으로 가지므로, 제1 확장 패리티 체크 행렬 H'의 크기는 M×n이고, M=2m-1이 된다.
도 2a 및 도 2b는 본 발명의 한 실시예에 따른 복호 장치가 프로덕트 부호를 복호하는 방법을 나타내는 순서도이다. 수직 부호의 패리티 체크 행렬 H로부터 제1 확장 패리티 체크 행렬 H'을 생성하는 사전 절차가 미리 수행된 것을 가정한다.
도 2a 및 도 2b를 참고하면, 복호 장치는 부호어 행렬 내의 각 수평 부호어를 복호하고(S200), 복호에 성공한 모든 수평 부호어의 부호어 행렬에서의 행 인덱스(row index)를 구하고, 이들과 동일한 값을 열 인덱스(column index)로 갖는 열들을 제1 확장 패리티 체크 행렬 H'로부터 제외하여 제2 확장 패리티 체크 행렬 H"을 생성한다(S210). 제1 확장 패리티 체크 행렬 H'의 크기가 M×n이고,복호에 실패한 수평 부호어의 개수가 e인 경우, 제2 확장 패리티 체크 행렬 H"은 M×e크기를 가진다.
이후, 복호 장치는 제2 확장 패리티 체크 행렬 H"내에 복호 실패한 수평 부호어에 해당하는 열이 있는지, 즉 e>0인지를 판단한다(S220). 수직 부호가 체계 부호인 경우에 대해 부호어 행렬의 체계 수평 부호어에 해당하는 열은 없고, 패리티 수평 부호어에 해당하는 열만 남아 있는 경우, 부호어 행렬의 모든 체계 수평 부호어는 성공적으로 복호된 것을 의미한다. 수직 부호가 체계 부호가 아닌 경우에 대해서는 복호 실패한 수평 부호가 하나도 남지 않은 경우, 부호어 행렬의 모든 수평 부호어는 성공적으로 복호된 것을 의미한다. 따라서, 복호는 종료된다.
부호어 행렬의 수평 부호어에 해당하는 열이 남아 있는 경우, 복호 장치는 제2 확장 패리티 체크 행렬 H" 에 해밍 중(Hamming weight) 1의 행이 존재하는지 판단한다(S230). 특정 행의 해밍 중이라 함은 해당 행의 0이 아닌 원소의 개수를 의미하며 제2 확장 패리티 체크 행렬 H"의 해밍 중 1의 행은 해당 체크 방정식에 값이 밝혀지지 않은 미지수가 1개 존재함을 의미한다. 제2 확장 패리티 체크 행렬 H"내에 0이 아닌 최소의 해밍 중을 갖는 행의 해밍 중을 emin이라 정의하면 이 경우 emin=1인 행을 찾는 것을 의미한다.
제2 확장 패리티 체크 행렬 H"내에 해밍 중 1의 행이 존재하는 경우, 복호 장치는 복호 실패한 하나의 수평 부호어를 복호 성공한 나머지 수평 부호어들을 이진 XOR 연산()하여 결정한다(S240). 예를 들면, 제2 확장 패리티 체크 행렬 H"에서 해밍 중 1의 행의 인덱스를 j라 하고, 제1 확장 패리티 체크 행렬 H'의 j번째 행의 0이 아닌 원소들의 인덱스들의 집합을 H'(j)라 정의한다. 그리고 복호 실패한 수평 부호어의 인덱스를 k라 하면 k는 H'(j)의 원소가 된다. 이때, 복호 장치는 수학식 2와 같이 H'(j)에서 인덱스 k를 제외한 나머지 인덱스의 수평 부호어들의 경판정(hard decision) 값을 이진 XOR 연산하여 복호 실패한 수평 부호어 c k를 구할 수 있다.
이후, 복호 장치는 단계 S240에서 결정한 수평 부호어에 해당하는 열(예를 들면, k열)을 제2 확장 패리티 체크 행렬 H"에서 제거하고, 제2 확장 패리티 체크 행렬 H"에서 수평 부호어에 해당하는 열이 남아있지 않을 때까지(즉, e=0)) 단계 S210 내지 단계 S240을 반복한다.
한편, 복호 장치는 단계 S240에서 제2 확장 패리티 체크 행렬 H"에 해밍 중 1의 행이 더 이상 존재하지 않는 경우, 해밍 중 2의 행이 존재하는지 판단한다(S250). 제2 확장 패리티 체크 행렬 H"의 해밍 중 2의 행은 해당 체크 방정식에 값이 밝혀지지 않은 미지수가 2개 존재함을 의미한다. 즉, emin=2를 만족하는 행이 존재하는 지 판단한다.
해밍 중 2의 행이 존재하는 경우, 복호 장치는 독립적인 채널을 통하여 수신한 두 개의 연판정 정보를 결합하여 복호 실패한 수평 부호어 중 하나를 재복호한다(S260). 여기서, 두 개의 연판정 정보 중 하나는 복호 실패한 하나의 수평 부호어 자체의 연판정 정보를 의미하고, 나머지 하나는 복호 성공한 수평 부호어들의 경판정 정보와 복호 실패한 다른 수평 부호어의 연판정 정보를 결합하여 추출한 값을 의미한다. 연판정 정보는, 예를 들면 로그-우도비(log-likelihood ratio, LLR)이다. LLR의 값이 +∞에 가까울수록 수평 부호어는 0일 확률이 크고, -∞에 가까울수록 수평 부호어는 1일 확률이 크게 된다. 따라서, 하나의 수평 부호어에 대한 두 개의 연판정 정보를 더하여 복호하면 더욱 신뢰도 높은 복호 결과를 얻을 수 있다.
연판정 정보로 LLR을 사용하는 경우를 가정하면, 연판정 정보를 결합하기 위한 연산 를 다음과 같이 정의할 수 있다. 수평 부호어를 이라 정의하자. 각각의 이진 값인 cij의 LLR을 rij라 하면 ci에 대한 연판정 정보는 로 정의할 수 있다. 그러면 연산 에 대해 ri ri'의 j번째 원소는 수학식 3과 같이 정의된다.
또 ci의 이진 값으로부터 를 정의할 수 있는데, 이면 이고 이면 로 정의된다.그러면 연산 에 대해 의 j번째 원소 또는 의 j번째 원소는 수학식 4와 같이 확장되어 정의할 수 있다.
복호 실패한 수평 부호어 중 하나를 재복호하는 것에 성공하면(S270),재복호 성공한 수평 부호어에 해당하는 열을 제2 확장 패리티 체크 행렬 H"로부터 제거하고(S280), 단계 S240 이하의 절차를 반복한다.
반면, 복호 실패한 수평 부호어 중 하나를 재복호하는 것에 실패하면(S270), 단계 S250 이하의 절차를 반복한다.
한편, 제2 확장 패리티 체크 행렬 H"에 해밍 중 2의 행이 더 이상 없다면, 제2 확장 패리티 체크 행렬 H"에 해밍 중 3의 행이 있는지 찾고, 해밍 중 3의 행이 있다면 이에 대한 재복호를 시도한다(S290). 이에 대한 구체적인 과정은 도 4를 이용하여 후술한다.
도 3은 본 발명의 한 실시예에 따라 수직 부호의 제1 확장 패리티 체크 행렬 H'의 체크 방정식중 하나에 두 개의 복호 실패한 수평 부호어가 존재하는 경우, 즉 제2 확장 패리티 체크 행렬 H"에 해밍 중 2의 행이 존재하는 경우, 구체적인 복호 방법을 나타내는 순서도이다. 제2 확장 패리티 체크 행렬 H"에서 선택된 해밍 중 2의 행의 인덱스를 j라 하고 두 개의 복호 실패한 수평 부호어 중 하나는 ci1이고, 나머지 하나는 ci2인 것으로 가정한다. 여기서 이다.
도 3을 참고하면, 복호 장치는 복호 실패한 수평 부호어 ci1에 대한 하나의 연판정 정보로, 수평 부호어 ci1자체의 연판정 정보 ri1을 선택한다(S300). 연판정 정보 ri1은 채널 수신 정보로부터 이미 연산이 완료되어 얻어진 상태다.
복호 장치는 제1 확장 패리티 체크 행렬 H'의 j번 째 행에 포함된 수평 부호어들 중 복호 성공한 수평 부호어들의 경판정 정보와 복호 실패한 다른 수평 부호어 ci2의 연판정 정보 ri2를 이용하여 수평 부호어 ci1에 대한 또 다른 연판정 정보 r'i1을 수학식 5와 같이 추출한다(S310).
복호 장치는 수평 부호어 ci1에 대한 두 개의 연판정 정보 ri1 및 r'i1을 더하여 (ri1+r'i1)수평 부호어 ci1를 재복호한다(S320).
이후, 도시하지 않고 있으나, 복호 장치는 수평 부호어 ci1가 복호에 성공하는 경우 ci1에 해당하는 열을 제2 확장 패리티 체크 행렬 H"에서 제거하고, 복호 실패한 다른 수평 부호어 ci2를 도 2의 단계 S240에서와 같은 방법으로 복호한다. 반면, 수평 부호어 ci1의 복호에 실패하는 경우, 제2 확장 패리티 체크 행렬 H"에서 또 다른 해밍 중 2의 행을 찾아 단계 S300 이하의 과정을 반복한다.
도 4는 본 발명의 한 실시예에 따라 수직 부호의 체크 방정식에 세 개 이상의 복호 실패한 수평 부호어가 존재하는 경우, 즉 emin>3인 경우 복호 방법을 나타내는 순서도이다. 제2 확장 패리티 체크 행렬 H"에서 emin의 해밍 중을 갖는 열의 인덱스를 j라 하면, 제1 확장 패리티 체크 행렬 H'의 인덱스 j열에서 복호 실패한 수평 부호어는 것으로 표현할 수 있다. 여기서 이다.
도 4를 참고하면, 복호 장치는 복호 실패한 수평 부호어들을 두 개의 그룹(F1, F2)으로 분리하고(S400), 두 개의 그룹 중 한 그룹(F1)의 이진 XOR 합인 가상의 수평 부호어 c'을 정의한다(S410). 수평 부호는 선형 부호를 사용하기 때문에 가상의 수평 부호어 c'는 수학식 6처럼 c'나타낼 수 있다. 또한 제1 확장 패리티 체크 행렬 H'의 j번째 체크 방정식으로부터 c'에 대해 수학식 7의 관계가 성립한다.
가상의 수평 부호어 c'에 대하여 독립적으로 수신된 것으로 간주될 수 있는 두 개의 연판정 정보 r'1 및 r'2를 추출한다(S420). 이때, 하나의 연판정 정보 r'1는 수학식 6의 관계로부터 수학식 8을 이용하여 얻어질 수 있다.
그리고, c'의 또 하나의 연판정 정보 r'2는 수학식 7의 관계로부터 수학식 9를 이용하여 얻어질 수 있다.
다음으로, 복호 장치는 가상의 수평 부호어 c'에 대해 두 개의 독립적으로 수신된 것으로 간주할 수 있는 r'1과 r'2를 더한 값 (r'1+r'2)을 이용하여 재복호를 수행한다(S430).
가상의 수평 부호어 c'에 대한 복호가 성공하면(S440), 를 다시 두 그룹으로 분리하고(S480), 가상의 수평 부호어 c"을 수학식 10과 같이 정의한 후, 단계 S410 이하의 과정을 통하여 가상의 수평 부호어 c"을 복호한다.
반면, 가상의 수평 부호어 c'에 대한 복호가 실패하면(S440), 복호 실패한 수평 부호어들을 다시 두 그룹으로 나누고(S470), 가상의 수평 부호어 c'를 재정의한 후(S410), 단계 S420이하의 과정을 통하여 가상의 수평 부호어 c'를 복호한다.
이러한 방법을 이용하면, 수직 부호의 체크 방정식에 세 개 이상의 복호 실패한 수평 부호어가 존재하는 경우에도 결합 복호할 수 있다. 위의 재귀적인 복호 절차에 의해 성공적으로 복호된 수평 부호어가 발생하면(S450) 해당 수평 부호어의 인덱스에 해당하는 열을 H"에서 제거한다(S460). 이와 같이 복호 실패한 수평 부호어가 세 개 이상인 경우 하나 씩 해결하여 H"에서 제거하는 것도 가능하고, 가능한 모든 그룹핑 방법을 동원하여 복구할 수 있는 모든 수평 부호어들을 모두 복구한 후 H"에서 제거하는 방법 역시 가능하다.
이하, 수직 부호로 싱글 패리티 체크 부호를 사용하는 경우, 복호 장치가 프로덕트 부호를 복호하는 예를 설명한다. 수평 부호는 LDPC 부호뿐만 아니라 복호 오류 검출이 가능한 모든 선형 부호일 수 있다.
하기 수학식 11은 싱글 패리티 체크 부호의 패리티 체크 행렬 H와 제1 확장 패리티 체크 행렬 H'의 일 예를 나타낸다. 싱글 패리티 체크 부호의 패리티 체크 행렬 H와 제1 확장 패리티 체크 행렬 H', 제2 확장 패리티 체크 행렬 H"은 모두 1로만 구성된 한 개의 행만을 갖기 때문에 항상 e=emin이 된다.
복호 장치가 부호어 행렬 내의 n개의 수평 부호어를 복호한 경우, e=emin=1이고, 복호 실패한 수평 부호어가 패리티 수평 부호어 p1이라면, s1내지 sn -1의 체계 수평 부호어는 모두 복호 성공하였으므로, 복호가 종료된다.
e=emin=1이고, 복호 실패한 수평 부호어가 체계 수평 부호어 si라면, 수학식 13에 의하여 si는 복호 성공한 수평 부호어들의 합과 동일하므로, 복호를 성공적으로 종료할 수 있다.
한편, e=emin=2이고, 복호 실패한 수평 부호어가 체계 수평 부호어 si1 및 si2라면, 수학식 14와 같이 나타낼 수 있다.
수학식 14에 기초하여, 수평 부호어 si1에 대한 새로운 연판정 정보 r'i1은 복호 성공한 수평 부호어들의 경판정 정보와 수평 부호어 si2의 연판정 정보를 이용하여 구할 수 있다. 예를 들면, 수평 부호어 si1의 하나의 연판정 정보는 하기 수학식 15를 이용하여 구할 수 있다.
이를 통해 수평 부호어 si1의 원래 채널에서 수신한 연판정 정보인 ri1과 수학식 15를 통해 연산되어 독립적으로 수신된 것으로 간주할 수 있는 연판정 정보 r'i1을 더하여 (ri1+r'i1) 수평 부호어 si1 을 재복호할 수 있다.
수평 부호어 si1을 성공적으로 복호하면, 인덱스 i1의 열이 제2 확장 패리티 체크 행렬 H"에서 제거되어 e=emin=1이 되므로, 앞서 기술한 e=emin=1의 경우에 대한 복호 절차를 적용하여 si2를 복호할 수 있다.
복호 실패한 두 부호어 중 하나가 패리티 수평 부호어 p1인 경우에도 위와 동일한 방법으로 재복호 과정을 수행한다.
e=emin=3이고, 복호 실패한 수평 부호어가 체계 수평 부호어 si1, si2 및 si3이라면, 하기 수학식 16과 같이 나타낼 수 있다.
수학식 16에 기초하여, 수평 부호어 si1의 하나의 연판정 정보 r'i1은 수평 부호어 si2의 연판정 정보, 수평 부호어 si3의 연판정 정보 및 복호 성공한 수평 부호어들의 경판정 정보를 이용하여 수학식 17과 같이 구할 수 있다.
이를 수평 부호어 si1의 또 다른 연판정 정보인 수평 부호어 si1자체의 연판정 정보와 더하여 수평 부호어 si1을 복호하는 데 이용할 수 있다.
이후, si1의 복호가 성공한 경우 복호 성공한 수평 부호어들과 수평 부호어 si1을 이용하여 e=emin=2인 경우와 같은 방법으로 수평 부호어 si2 및 si3을 복호할 수 있다. si1의 복호가 실패한 경우, 수학식 16의 좌변을 si2로 놓고 si2의 연판정 정보 두 개를 추출하여 복호를 시도할 수 있고 이마저 실패하면 si3에 대해서도 동일한 복호 절차를 수행할 수 있다.
복호 실패한 세 부호어 중 하나가 패리티 수평 부호어 p1인 경우에도 위와 동일한 방법으로 재복호 과정을 수행한다.
e=emin≥4인 경우에도 상기에서 설명한 방법을 적용하여 복호할 수 있다. 단, 복호 실패한 수평 부호어들을 두 개의 그룹으로 나눈 후 각각의 이진 합에 해당하는 가상의 부호어에 대한 복호를 시도함으로써 emin을 감소시키는 방향으로 복호의 진행이 가능하다. 개별 그룹에 대한 가상의 부호어에 대한 복호가 성공하게 되면 해당 그룹들을 다시 두 개의 그룹으로 나누어 상기의 복호 절차를 재귀적으로 적용하는 것이 가능하다. 이 때 복호 실패한 모든 부호어가 복호에 성공할 때까지 모든 가능한 그룹핑 방법이 고려될 수 있다.
이하, 수직 부호로 (7,4) 해밍 부호를 사용하는 경우, 복호 장치가 프로덕트 부호를 복호하는 예를 설명한다. 수평 부호는 LDPC 부호뿐만 아니라 복호 오류 검출이 가능한 선형 부호일 수 있다.
하기 수학식 18은 (7,4) 해밍 부호의 패리티 체크 행렬 H와 제1 확장 패리티 체크 행렬 H'의 일 예를 나타낸다. 이와 같은 경우 일반적으로 e≥emin의 관계가 성립한다.
부호어 행렬 내의 체계 수평 부호어를 si(1≤i≤4)라 하고, 패리티 수평 부호어를 pi(1≤i≤3)이라 하면, 하기 수학식 19 내지 수학식 25가 성립한다.
복호 장치가 부호어 행렬 내의 7개의 수평 부호어에 대하여 복호를 시도하였을 때,
e=1인 경우 항상 emin=1인데, 예를 들어 복호 실패한 수평 부호어가 체계 수평 부호어 s2라면, 수학식 20 내지 수학식 23 중 하나를 이용하여 이진 XOR 연산만으로 s2를 복호할 수 있다.
e=2인 경우에도 항상 emin=1이므로, 상기의 방법과 동일하게 복호가 가능하다.
한편, e=3인 경우, 예를 들어 복호 실패한 수평 부호어가 체계 수평 부호어 s1, s2 및 s3이라면, emin=1인 경우에 해당하므로 수학식 22와 수학식 24, 그리고 수학식 25에 의해서 각각 재복호가 가능하다.
반면, 동일하게 e=3인 경우에도, 예를 들어 복호 실패한 수평 부호어가 체계 수평 부호어 s1, s2 및 s4라면, 제1 확장 패리티 체크 행렬 H'의 1열, 2열 및 4열로 구성된 제2 확장 패리티 체크 행렬 H"내에 해밍 중 1인 행이 없다. 이 경우 emin=2인 경우에 해당한다. 따라서, 복호 장치는 수학식 19에서 복호 성공한 수평 부호어 s3 및 p1의 경판정 정보와 복호 실패한 수평 부호어 s4의 연판정 정보를 이용하여 수평 부호어 s1에 대한 하나의 연판정 정보를 추출하고, 추출한 연판정 정보와 수평 부호어 s1자체의 연판정 정보를 더하여 수평 부호어 s1을 복호 시도한다. 수평 부호어 s1이 성공적으로 복호되면, 수학식 19를 이용하여 수평 부호어 s4가 복호될 수 있다. 그리고, 수평 부호어 s1 및 s4가 복호되면, 나머지 수학식을 이용하여 수평 부호어 s2가 복호될 수 있다.
더 큰 e에 대해서도 먼저 emin=1을 만족하는 행에 대해 복호를 시도하고, 그 다음으로 emin=2에 대한 복호를 수행한다. emin≥3인 경우에는 복호 실패한 수평 부호어들을 두 개의 그룹으로 나눈 후 각각의 이진 합에 해당하는 가상의 부호어에 대한 복호를 시도함으로써 emin을 감소시키는 방향으로 복호의 진행이 가능하다. 개별 그룹에 대한 가상의 부호어에 대한 복호가 성공하게 되면 해당 그룹들을 다시 두 개의 그룹으로 나누어 상기의 복호 절차를 재귀적으로 적용하는 것이 가능하며 emin이 1 또는 2인 경우가 생길 때마다 상기의 복호 절차를 적용할 수 있다. 이 때 복호 실패한 모든 부호어가 복호에 성공할 때까지 모든 가능한 그룹핑 방법이 고려될 수 있다.
도 5는 본 발명의 한 실시예에 따른 복호 장치를 나타내는 블록도이다.
도 5를 참고하면, 복호 장치(600)는 패리티 체크 행렬 처리부(610), 수평 부호어 복호부(620), 연판정 정보 결합부(630) 및 출력부(640)를 포함한다.
패리티 체크 행렬 처리부(610)는 수직 부호에 대하여 패리티 체크 행렬 H로부터 제1 확장 패리티 체크 행렬 H'을 생성하고, 생성된 제1 확장 패리티 체크 행렬 H'에서 복호에 성공한 수평 부호어의 행에 해당하는 열을 제거하여 제2 확장 패리티 체크 행렬 H"을 생성한다. 또한 재복호가 수행되는 과정에서 추가적으로 복호에 성공한 수평 부호어가 발생하는 경우 그 인덱스에 해당하는 열을 제2 확장 패리티 체크 행렬 H"에서 제거한다. 요청이 있는 경우 패리티 체크 행렬 H와 제1 및 제2 확장 패리티 체크 행렬 H', H"의 정보를 수평 부호어 복호부(620)와 연판정 정보 결합부(630)에 제공한다.
수평부호어 복호부(620)는 부호어 행렬 내의 복수의 행의 수평 부호어를 복호하고, 복호 시에 복호 실패한 수평 부호어 또는 복호 실패한 수평 부호어 다수를 이진합한 가상의 수평 부호어에 대하여 독립적으로 수신한 두 개의 연판정 정보를 결합한 결과를 연판정 정보 결합부(630)에서 제공받아 복호 실패한 수평 부호어를 재복호한다.
연판정 정보 결합부(630)는 복호 실패한 수평 부호어에 대하여 독립적으로 수신한 두 개의 연판정 정보를 결합하고, 결합한 결과를 수평 부호어 복호부(620)에 제공한다.
출력부(640)는 수평 부호어 복호부(620)에 의한 복호 결과를 출력한다.
도 6 및 도 7은 본 발명의 한 실시예에 따른 복호 장치의 복호 방법에 따른 효과를 나타내는 그래프이다.
도 6에서, 본 발명의 한 실시예에 따른 방법(즉, 제안 방법)은 수직 부호로 (24,23) 싱글 패리티 체크 부호를 사용하고 수평 부호로 IEEE 802.16e의 R=1/2 LDPC 부호를 천공한 R=12/23 부호를 사용하며, 종래 방법은 IEEE 802.16e의 R=1/2 LDPC 부호를 사용한다.
도 7에서, 본 발명의 한 실시예에 따른 방법은 수직 부호로 (24,23) 싱글 패리티 체크 부호를 사용하고 수평 부호로 IEEE 802.16e의 R=5/6 LDPC 부호를 천공한 R=20/23 부호를 사용하며, 종래 방법은 IEEE 802.16e의 R=5/6 LDPC 부호를 사용한다.
도 6 및 도 7을 참고하면, 단일 부호를 사용하는 종래 방법에 비하여 본 발명의 한 실시예에 따른 방법은 우수한 성능을 가질 수 있다. 특히, 본 발명의 한 실시예에 따른 방법은 신호대잡음비(signal to noise ratio, SNR)가 높은 경우 더욱 우수한 효과를 가질 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
Claims (13)
- 복호 장치가 프로덕트 부호의 부호어 행렬을 복호하는 방법에 있어서,
수직 부호의 패리티 체크 행렬로부터 제1 확장 패리티 체크 행렬을 생성하는 단계,
상기 부호어 행렬 내의 복수의 행의 수평 부호어를 각각 제1 복호하는 단계,
상기 제1 복호에 성공한 수평 부호어의 행 인덱스와 동일한 값을 열 인덱스로 갖는 열을 상기 제1 확장 패리티 체크 행렬로부터 제거하여 제2 확장 패리티 체크 행렬을 생성하는 단계, 그리고
상기 제2 확장 패리티 체크 행렬을 이용하여 상기 제1 복호에 실패한 수평 부호어를 제2 복호하는 단계
를 포함하는 방법. - 제1항에 있어서,
상기 제1 확장 패리티 체크 행렬은 상기 수직 부호의 패리티 체크 행렬의 각 행들에 대해 가능한 모든 선형 결합을 행으로 가지는 방법. - 제1항에 있어서,
상기 제2 복호하는 단계는,
상기 제2 확장 패리티 체크 행렬의 행들 중에서 0이 아닌 값을 하나만 포함하는 행이 존재하는 경우, 상기 제1 복호에 성공한 수평 부호어를 이진 연산하여 상기 제1 복호에 실패한 수평 부호어를 계산하는 단계
를 포함하는 방법. - 제1항에 있어서,
상기 제2 복호하는 단계는,
상기 제2 확장 패리티 체크 행렬의 행들 중에서 0이 아닌 값을 두 개 포함하는 행이 존재하는 경우, 상기 제1 복호에 실패한 두 개의 수평 부호어 중 하나인 제1 수평 부호어에 대하여 독립적으로 수신한 두 개의 연판정 정보를 추출하는 단계,
상기 두 개의 연판정 정보를 더한 값을 이용하여 상기 제1 수평 부호어를 복호하는 단계, 그리고
복호한 제1 수평 부호어와 상기 제1 복호에 성공한 수평 부호어들을 이진 연산하여 상기 제1 복호에 실패한 두 개의 수평 부호 중 나머지 하나인 제2 수평 부호어를 복호하는 단계
를 포함하고,
상기 두 개의 연판정 정보 중 하나는 상기 제1 수평 부호어의 연판정 정보이고, 나머지 하나는 상기 제1 복호에 성공한 수평 부호어들의 경판정 정보와 상기 제2 수평 부호어의 연판정 정보를 이용하여 추출한 값인 방법. - 삭제
- 제4항에 있어서,
상기 제1 수평 부호어의 연판정 정보 및 상기 제2 수평 부호어의 연판정 정보는 LLR을 이용하여 계산되는 방법. - 제1항에 있어서,
상기 제2 복호하는 단계는,
상기 제2 확장 패리티 체크 행렬의 행들 중에서 0이 아닌 값을 세 개 이상 포함하는 행이 존재하는 경우, 상기 제1 복호에 실패한 적어도 세 개의 수평 부호어를 제1 그룹 및 제2 그룹으로 나누는 단계,
상기 제1 그룹 내의 수평 부호어들의 이진 합에 해당하는 가상의 제1 수평 부호어에 대하여 독립적으로 수신한 두 개의 연판정 정보를 추출하는 단계,
상기 두 개의 연판정 정보를 더한 값을 이용하여 상기 제1 수평 부호어를 복호하는 단계, 그리고
복호한 제1 수평 부호어를 이용하여 상기 제2 그룹 내의 수평 부호어를 복호하는 단계를 포함하고,
상기 두 개의 연판정 정보 중 하나는 상기 제1 수평 부호어의 연판정 정보고,
나머지 하나는 상기 제1 복호하는 단계에서 복호 성공한 수평 부호어들의 경판정 정보와 상기 제1 그룹 내의 수평 부호어들을 제외한 수평 부호어의 연판정 정보를 이용하여 추출한 값인 방법. - 삭제
- 제7항에 있어서,
상기 제1 수평 부호어의 연판정 정보 및 상기 제2 그룹 내의 수평 부호어의 연판정 정보는 LLR을 이용하여 계산되는 방법. - 프로덕트 부호의 부호어 행렬을 복호하는 장치에 있어서,
수직 부호의 패리티 체크 행렬로부터 제1 확장 패리티 체크 행렬을 생성하고, 상기 제1 확장 패리티 체크 행렬을 이용하여 제2 확장 패리티 체크 행렬을 생성하는 패리티 체크 행렬 처리부, 그리고
상기 부호어 행렬 내의 복수의 행의 수평 부호어를 제1 복호하고, 상기 제2 확장 패리티 체크 행렬을 이용하여 상기 제1 복호에 실패한 수평 부호어를 제2 복호하는 수평 부호어 복호부를 포함하고,
상기 패리티 체크 행렬 처리부는 상기 제1 복호에 성공한 수평 부호어의 행 인덱스와 동일한 값을 열 인덱스로 갖는 열을 상기 제1 확장 패리티 체크 행렬로부터 제거하여 상기 제2 확장 패리티 체크 행렬을 생성하는 장치. - 제10항에 있어서,
상기 제2 확장 패리티 체크 행렬의 행들 중에서 0이 아닌 값을 두 개 이상 포함하는 행이 존재하는 경우, 상기 수평 부호어 복호부는 상기 제1 복호에 실패한 두 개 이상의 수평 부호어를 제1 그룹 및 제2 그룹으로 나누고, 상기 제1 그룹 내의 수평 부호어들의 이진 합에 해당하는 가상의 제1 수평 부호어에 대하여 독립적으로 수신한 두 개의 연판정 정보를 추출하며, 상기 두 개의 연판정 정보를 더한 값을 이용하여 상기 제1 수평 부호어를 복호하고, 복호한 제1 수평 부호어를 이용하여 상기 제2 그룹 내의 수평 부호어를 복호하며,
상기 두 개의 연판정 정보 중 하나는 상기 제1 수평 부호어의 연판정 정보이고, 나머지 하나는 상기 제1 복호에서 성공한 수평 부호어들의 경판정 정보와 상기 제1 그룹 내의 수평 부호어들을 제외한 수평 부호어의 연판정 정보를 이용하여 추출한 값인 장치. - 삭제
- 제10항에 있어서,
수직 부호가 싱글 패리티 체크 부호인 경우,
상기 수평 부호어 복호부는 상기 제1 복호 시 복호 성공한 수평 부호어들의 이진 XOR 누적 합을 계산하여 저장하고, 상기 저장한 이진 XOR 누적 합을 이용하여 상기 제1 복호 시 복호 실패한 수평 부호어를 제2 복호하는 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100086494A KR101216735B1 (ko) | 2010-09-03 | 2010-09-03 | 프로덕트 부호의 복호 방법 및 장치 |
US13/005,294 US8468430B2 (en) | 2010-09-03 | 2011-01-12 | Product code decoding method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100086494A KR101216735B1 (ko) | 2010-09-03 | 2010-09-03 | 프로덕트 부호의 복호 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120023403A KR20120023403A (ko) | 2012-03-13 |
KR101216735B1 true KR101216735B1 (ko) | 2012-12-28 |
Family
ID=45771541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100086494A KR101216735B1 (ko) | 2010-09-03 | 2010-09-03 | 프로덕트 부호의 복호 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8468430B2 (ko) |
KR (1) | KR101216735B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10108494B2 (en) | 2015-10-08 | 2018-10-23 | Samsung Electronics Co., Ltd. | RAID controller device and storage device configured to recover data having uncorrectable ECC error |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9252815B2 (en) | 2013-12-16 | 2016-02-02 | International Business Machines Corporation | Extension of product codes with applications to tape and parallel channels |
US9432052B2 (en) * | 2014-09-18 | 2016-08-30 | Broadcom Corporation | Puncture-aware low density parity check (LDPC) decoding |
US9654144B2 (en) | 2014-09-30 | 2017-05-16 | Micron Technology, Inc. | Progressive effort decoder architecture |
CN106169312B (zh) | 2015-05-18 | 2021-05-07 | 爱思开海力士有限公司 | 用于快闪存储的广义乘积码 |
US10484020B2 (en) | 2016-02-03 | 2019-11-19 | SK Hynix Inc. | System and method for parallel decoding of codewords sharing common data |
US10498366B2 (en) | 2016-06-23 | 2019-12-03 | SK Hynix Inc. | Data dependency mitigation in parallel decoders for flash storage |
US10439649B2 (en) | 2016-02-03 | 2019-10-08 | SK Hynix Inc. | Data dependency mitigation in decoder architecture for generalized product codes for flash storage |
US10523245B2 (en) | 2016-03-23 | 2019-12-31 | SK Hynix Inc. | Soft decoder for generalized product codes |
US10846174B2 (en) * | 2016-06-30 | 2020-11-24 | Samsung Electronics Co., Ltd. | Method of recovering data and memory system and raid storage system using the same |
KR102455652B1 (ko) * | 2020-03-17 | 2022-10-18 | 한국전자통신연구원 | 연판정을 이용한 복호 방법 및 장치 |
US20220021483A1 (en) * | 2020-07-17 | 2022-01-20 | Yu Cao | Methods and appratuses for broadcast multicast or groupcast transmission using vertical check blocks |
CN116488662B (zh) * | 2023-06-21 | 2023-10-03 | 电子科技大学 | 基于线性变换的f-ldpc码校验矩阵重量压缩方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3889286B2 (ja) * | 2002-01-31 | 2007-03-07 | 三菱電機株式会社 | 復号方法、復号装置及びディジタル伝送システム |
US7093188B2 (en) * | 2002-04-05 | 2006-08-15 | Alion Science And Technology Corp. | Decoding method and apparatus |
US7519898B2 (en) * | 2004-03-25 | 2009-04-14 | Krishna Rama Narayanan | Iterative decoding of linear block codes by adapting the parity check matrix |
KR100555958B1 (ko) | 2004-06-04 | 2006-03-03 | 주식회사 대우일렉트로닉스 | 2차원 리드-솔로몬 코드의 오류정정 부호화/복호화 방법 |
US7310767B2 (en) * | 2004-07-26 | 2007-12-18 | Motorola, Inc. | Decoding block codes |
US7446316B2 (en) * | 2005-10-31 | 2008-11-04 | Honeywell International Inc. | Skin detection sensor |
KR20080076613A (ko) | 2007-02-16 | 2008-08-20 | 삼성전자주식회사 | 연접코드를 이용한 인코더/디코더 및 그의 인코딩/디코딩방법 |
-
2010
- 2010-09-03 KR KR1020100086494A patent/KR101216735B1/ko active IP Right Grant
-
2011
- 2011-01-12 US US13/005,294 patent/US8468430B2/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10108494B2 (en) | 2015-10-08 | 2018-10-23 | Samsung Electronics Co., Ltd. | RAID controller device and storage device configured to recover data having uncorrectable ECC error |
Also Published As
Publication number | Publication date |
---|---|
US8468430B2 (en) | 2013-06-18 |
US20120060071A1 (en) | 2012-03-08 |
KR20120023403A (ko) | 2012-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101216735B1 (ko) | 프로덕트 부호의 복호 방법 및 장치 | |
US10886950B2 (en) | Method and apparatus for generating a code word | |
US10673468B2 (en) | Concatenated and sliding-window polar coding | |
TWI594583B (zh) | 硬決定輸入之一般化低密度同位檢查軟解碼 | |
KR102223968B1 (ko) | 극 부호의 병렬화된 연속 제거 디코딩 및 연속 제거 리스트 디코딩을 위한 장치 및 방법 | |
US10326478B2 (en) | Apparatus and method for encoding and decoding data in twisted polar code | |
US10411735B1 (en) | Systems and methods for an iterative decoding scheme | |
US8245116B2 (en) | Method for performing soft decision decoding of Euclidean space Reed-Muller codes | |
US20110131469A1 (en) | Method, device and apparatus for correcting bursts | |
US9831987B2 (en) | Staggered parity | |
US20170288698A1 (en) | Power saving for bit flipping decoding algorithm in ldpc decoder | |
JP5374156B2 (ja) | データを復号化及び符号化するための装置及び方法 | |
US8468438B2 (en) | Method and apparatus for elementary updating a check node during decoding of a block encoded with a non-binary LDPC code | |
CN109983705B (zh) | 用于生成极化码的装置和方法 | |
WO2018179246A1 (en) | Check bit concatenated polar codes | |
WO2018021926A1 (en) | Decoding of polar codes and polar subcodes | |
JP2005522139A (ja) | 繰り返し硬判定順方向誤り訂正復号化用の装置 | |
KR101874537B1 (ko) | 극 부호의 병렬 복호화 방법 및 장치 | |
JP6533039B2 (ja) | メッセージパッシングを用いた訂正符号の復号、特にldpc符号又はターボ符号の復号改良方法 | |
CN111164897A (zh) | 广义低密度奇偶校验码 | |
CN111130564A (zh) | 译码方法及装置 | |
US20140006895A1 (en) | Error correction encoding method, decoding method and associated devices | |
KR101630114B1 (ko) | 최소합 알고리즘을 이용한 ldpc 복호화 장치 및 방법 | |
CN113131947A (zh) | 译码方法、译码器和译码装置 | |
CN112187402A (zh) | 一种数据处理的方法、装置和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20151126 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160222 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20171124 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20181203 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20191203 Year of fee payment: 8 |