KR101317039B1 - 디코딩 장치 및 방법 - Google Patents
디코딩 장치 및 방법 Download PDFInfo
- Publication number
- KR101317039B1 KR101317039B1 KR1020070031473A KR20070031473A KR101317039B1 KR 101317039 B1 KR101317039 B1 KR 101317039B1 KR 1020070031473 A KR1020070031473 A KR 1020070031473A KR 20070031473 A KR20070031473 A KR 20070031473A KR 101317039 B1 KR101317039 B1 KR 101317039B1
- Authority
- KR
- South Korea
- Prior art keywords
- decoding
- error
- bit
- error detection
- sum
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- 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/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/43—Majority logic or threshold decoding
-
- 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/618—Shortening and extension of codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
본 발명은 널 데이터 비트(null data bit)가 포함된 부호어 비트들을 수신하고, 상기 수신된 부호어 비트들을 구성하는 다수개의 BUD(Bit Under Decoding)들 중 제1BUD를 복호하고, 상기 제1BUD에 대해 오류 검출 및 정정을 수행하고, 상기 제1BUD가 널 복호 비트인 경우 정정 불가능한 오류를 검출하고, 상기 제1BUD의 오류 검출을 위해 사용된 임계값을 미리 설정된 값만큼 감소시키면서 상기 제1BUD의 다음 BUD들 각각에 대하여 소정의 횟수만큼 반복 복호를 수행하고, 상기 반복 복호의 결과를 출력한다.
PDSC, 디코딩
Description
도 1은 종래 기술에 따른 디코더의 내부 구성도,
도 2는 종래 기술에 따른 디코더의 동작을 설명하기 위한 신호 흐름도,
도 3은 본 발명의 실시 예에 따른 디코더의 내부 구성도,
도 4는 본 발명의 실시 예에 따른 디코더의 동작을 설명하기 위한 신호 흐름도,
도 5는 본 발명의 실시 예에 따른 시뮬레이션 결과를 도시한 도면,
도 6은 본 발명의 실시 예에 따른 시뮬레이션 결과를 도시한 도면.
본 발명은 디코딩 방법 및 장치에 관한 것으로, PDSC(Perfect Difference-Set Cyclic)코드를 이용한 디코딩 장치 및 방법에 관한 것이다.
본 발명은 통신 및 데이터 저장 시스템에 사용되는 PDSC(Perfect Difference-Set Cyclic)코드, 또는 DSC(Difference-Set Cyclic)의 디코딩 방법에 관한 것이다. 상기 코드들 중의 하나인 PDSC(184,102 version)코드는 PDSC(273,191 version)코드의 단축화 버전으로, ISDB(Integrated Service Digital Broadcasting)-T 및 ISDB-Tsb 시스템, 일본 디지털 지상파 텔레비전 및 라디오 방송 등에 사용된다.
PDSC 코드는 (n, k, s)로 표현될 수 있는데, (7,3,1), (21,11,2), (73,45,3), (273,191,4), (1057,813,5), (4161,3431,6)은 잘 알려진 PDSC 코드 (n, k, s)이다. 여기서, n은 코드 워드 비트의 수, k는 정보 비트의 수, s는 음이 아닌 정수를 의미하는 것으로 각각은 하기의 <수학식 1>과 같이 정의된다.
PDSC(184,102 version)코드와 같은 단축화 코드 뿐만 아니라, 상기의 <수학식 1>에 의해 표현되는 코드들은 도 1에 도시된 바와 같은 디코더를 이용하여 디코딩될 수 있다.
도 1을 참조하면, 키 블록들(110, 120, 160)은 외부로부터 입력되는 인에이블/디스에이블 신호에 의해 입력되는 신호를 패스 또는 차단시킨다. 배타적 논리합 유닛(130, 150)은 두 개의 신호를 입력받아, 두 신호가 동일할 경우 '0'을 출력하고, 두 신호가 동일하지 않을 경우 '1'을 출력한다. 디코더 레지스터(140)는 n 마더 코드 셀들로 구성되는 쉬프트 레지스터로써, 상기 n 마더 코드는 상기의 <수학 식 1>에 의해 정의되는코드 워드 n의 길이를 의미한다.
접속 유닛(170)은 (2t+1)개의 배타적 논리합 유닛들로 구성되는데, t는 하기의 <수학식 2>에 의해 정의되며, PDSC코드의 에러 정정 능력을 의미한다.
상기 접속 유닛(170)을 구성하는 배타적 논리합 유닛들 각각은 싱글 디코더 체크 방정식에 상응하고, (2t +1) 비트의 데이터를 입력받아 1 비트의 결과값을 출력시킨다. 예를 들어, PDSC(273, 191)코드에서 "basic polynomial"로 명명되는 제 1 체크 방정식은 하기의 <수학식 3>과 같이 정의된다.
^b146^b144^b113^b106^b105^b86^b76^b71
상기 <수학식 3>에서 b0~b272는 디코더 레지스터에 저장된 비트수이다.
PDS(Perfect Difference-Set)는 다음의 <수학식 4>와 같이 정의된다.
또 다른 2t 체크 방정식은 하기의 <수학식 5>와 같이 정의될 수 있다.
예를 들어, PDSC(273, 191)코드 및 그 단축화 코드의 접속 유닛은 하기의 <수학식 6>과 같이 17개의 체크 방정식으로 구성된 디코더 매트릭스를 수행한다.
w(1)=XOR{272,266,244,240,223,187,178,175,164,162,131,124,123,104,94,89,17};
w(2)=XOR{272,250,246,229,193,184,181,170,168,137,130,129,110,100,95,23,5};
w(3)=XOR{272,268,251,215,206,203,192,190,159,152,151,132,122,117,45,27,21};
w(4)=XOR{272,255,219,210,207,196,194,163,156,155,136,126,121,49,31,25,3};
w(5)=XOR{272,236,227,224,213,211,180,173,172,153,143,138,66,48,42,20,16};
w(6)=XOR{272,263,260,249,247,216,209,208,189,179,174,102,84,78,56,52,35};
w(7)=XOR{272,269,258,256,225,218,217,198,188,183,111,93,87,65,61,44,8};
w(8)= XOR{272,261,259,228,221,220,201,191,186,114,96,90,68,64,47,11,2};
w(9)=XOR{272,270,239,232,231,212,202,197,125,107,101,79,75,58,22,13,10 };
w(10)=XOR{272,241,234,233,214,204,199,127,109,103,81,77,60,24,15,12,1};
w(11)=XOR{272,265,264,245,235,230,158,140,134,112,108,91,55,46,43,32,30};
w(12)=XOR{272,271,252,242,237,165,147,141,119,115,98,62,53,50,39,37,6};
w(13) = XOR{272,253,243,238,166,148,142,120,116,99,63,54,51,40,38,7,0};
w(14)=XOR{272,262,257,185,167,161,139,135,118,82,73,70,59,57,26,19,18};
w(15)= XOR {272,267,195,177,171,149,145,128,92,83,80,69,67,36,29,28,9}.
w(16) = XOR{272,200,182,176,154,150,133,97,88,85,74,72,41,34,33,14,4}.
다수 논리 유닛(180)은 (2t+1)비트의 데이터를 입력받아 1비트를 출력한다. 기본적으로 접속 유닛(170)으로부터의 출력된 입력값의 합이 특정 임계값 이상일 경우, 상기 다수 논리 유닛(180)은 BUD(Bit Under Decoding)상의 에러 검출을 의미하는 '1'을 출력한다. 그러나, 입력값의 합이 특정 임계값 미만일 경우, 다수 논리 유닛(180)은 BUD상의 에러가 검출되지 않음을 의미하는 '0'을 출력한다.
그러면, 도 1에 도시된 바와 같은 디코더에서의 동작을 도 2를 참조하여 설명하기로 한다.
도 2를 참조하면, 200 단계에서 모든 레지스터를 제로 상태로 리셋시켜 초기화한 후, 디코딩을 시작한다. 205 단계에서 디코더 레지스터에 n비트의 데이터를 입력시킨다. 이 때, 'write enable' 액티브 신호 입력에 따라, 상기 키 입력부(120)는 입력되는 n 바이트의 데이터 신호를 통과시키고, 'decode enable' 액티브 신호 입력에 따라 상기 키 입력부(110)는 궤환되는 신호를 통과시키고, 'read enable' 패시브 신호에 따라 키 입력부(160)는 입력되는 신호를 차단시킨다. 210 단계에서 BUD(bit under decoding)넘버를 제로로 셋팅한 후, 디코딩을 시작한다. 215 단계에서 정보 비트수인 k 비트가 모두 디코딩되었는지를 판단한다. 즉, 현재 디코딩된 비트수(BUD number)가 k 비트보다 작은지를 판단하게 된다. 상기 215 단계의 판단 결과, BUD 넘버가 k 비트보다 작을 경우, 220 단계에서 접속 유닛(170)이 방정식 2t + 1을 체크하여, 체크 결과가 산출되도록 한다. 그리고, 225 단계에서 체크 결과의 합을 산출하고, 230 단계에서 에러 검출 방법으로 다수 논리 유닛(180)이 상기 산출된 체크 결과의 합이 결정(Decision)임계값 이상인지를 판단한다. 상기 230 단계의 판단 결과, 산출된 체크 결과의 합이 결정 임계값 이상이면, 에러가 검출된 것으로 판단하여 235 단계에서 BUD에서의 비트 에러 정정을 수행한 후, 240 단계로 진행한다. 그러나, 상기 230 단계의 판단 결과, 산출된 체크 결과의 합이 결정 임계값 이상이 아니면, 에러가 검출되지 않은 것으로 판단하여 240 단계로 진행한다. 240 단계에서는 'read enable'값이 액티브 상태로 되어 키3(160)에서은 입력되는 디코딩된 결과를 출력한다. 그리고, 245 단계에서 디코더 레지스터를 하나의 비트씩 쉬프트하고, BUD 넘버를 1 증가시킨다. 그리고, 다시 215 단계로 진행한다.
한편, 상기 215 단계의 판단 결과, k 비트 모두 디코딩되었다면, 250 단계로 진행하여 현재 수신된 코드 워드의 디코딩 작업을 종료한다.
상기에서 살펴본 바와 같은 종래의 PDSC 코드를 이용한 디코딩 방식은 주로 하이(High), 로우(Low)와 같은 하드 입력 데이터(bi-level)와 0.787, 0.335 등과 같은 소프트 입력 데이터(multi-level)에 따라 두 가지로 분류될 수 있다.
신뢰 전파(Belief Propagation : BP)디코딩 알고리즘과 같은 소프트 입력 접근법을 적용시킬 경우, 비트 에러율(Bit Error Rate : BER)이 개선되지만 하드웨어가 복잡해지므로 비용은 상승하게 된다. 반면, 일반적인 하드 입력 기술이 적용될 경우 하드웨어가 비교적 단순하므로 비용은 적게 들지만, 비트 에러율이 나빠진다는 문제점이 있다. 또한, 어떤 경우의 디코딩 방식에서는 소프트 입력이 아닌 하드 입력만이 적용되므로 이러한 비트 에러율을 개선할 방법이 없는 경우도 있는 문제점이 있다.
따라서 본 발명의 목적은 하드 디시젼 하드 입력 가변 임계 가능한 적은 전력을 소모하면서 반복 하드 디시젼 디코딩을 이용하여 PDSC 코드의 BER을 개선하는 방법 및 장치에 관한 것이다.
본 발명의 실시 예에 따른 방법은; 디코딩 방법에 있어서, 널 데이터 비트(null data bit)가 포함된 부호어 비트들을 수신하는 과정과, 상기 수신된 부호어 비트들을 구성하는 다수개의 BUD(Bit Under Decoding)들 중 제1BUD를 복호하는 과정과, 상기 제1BUD에 대해 오류 검출 및 정정을 수행하는 과정과, 상기 제1BUD가 널 복호 비트인 경우 정정 불가능한 오류를 검출하는 과정과, 상기 제1BUD의 오류 검출을 위해 사용된 임계값을 미리 설정된 값만큼 감소시키면서 상기 제1BUD의 다음 BUD들 각각에 대하여 소정의 횟수만큼 반복 복호를 수행하는 과정과, 상기 반복 복호의 결과를 출력하는 과정을 포함한다.
본 발명의 실시 예에 따른 장치는; 널 데이터 비트(null data bit)가 포함된 부호어 비트들을 수신하고, 상기 수신된 부호어 비트들을 구성하는 다수개의 BUD(Bit Under Decoding)들 중 제1BUD를 복호하는 디코더 레지스터와, 상기 제1BUD에 대해 오류 검출 및 정정을 수행하는 다수 논리 유닛과, 상기 제1BUD에 오류가 존재하는지 여부와, 상기 제1BUD가 널 복호 비트인 경우 정정 불가능한 오류를 검출하는 오류 정보 유닛을 포함하며, 상기 디코더 레지스터는 상기 제1BUD의 오류 검출을 위해 사용된 임계값을 미리 설정된 값만큼 감소시키면서 상기 제1BUD의 다음 BUD들 각각에 대하여 소정의 횟수만큼 반복 복호를 수행함을 특징으로 한다.
하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
어떤 경우에 사용되는 PDSC의 코드는 PDSC (184,102)가 PDSC(273, 191)의 단축화 버전인 것과 같이 상기 <수학식 1>을 사용하여 산출된 파라미터들을 가진 PDSC 마더 코드의 축약 버전일 수 있다. 이러한 상황에서 디코더에 최상위 비트 데 이터 앞에 89 비트로 된 널 데이터를 부가할 필요가 있는데, 종래의 디코더에서는 디코딩된 널 데이터를 생략하고, 디코딩된 정보 데이터만을 출력했다. 그런데, 상기 디코딩된 널 데이터는 시퀀스 상의 에러 발생을 체크하는데 사용되어, 디코딩된 데이터에 신뢰성을 줄 수 있다. 즉, 디코딩된 널 데이터를 사용하여 상술한 바와 같은 종래의 디코딩 방법에서 정정되지 않은 또 다른 에러가 발견될 수 있다.
PDSC 마더 코드의 최적 임계값은 하기의 <수학식 7>과 같이 정의되는 코드 거리 d를 2로 나눈 값이 될 수 있다.
PDSC(273, 191)의 경우에는, s의 값이 4이므로 d의 값은 18이 되고, 따라서 최적 임계값은 18/2=9RK이 된다, 따라서, 상기 접속 유닛(170)에 의한 체크 결과의 합이 9 이상일 경우, BUD를 인버팅시켜야만 에러 정정을 할 수 있다. 그러나, 마더 코드로부터 단축화 코드에 이르기까지 천이를 위한 최선의 에러 정정 성능을 얻기 위해서 다수의 논리 게이트 임계값은 최적화될 수 있다. 게다가, 반복 디코딩으로 알려진 디코딩 기술을 사용하여 BER 수행을 향상시키는 것은 가능하다. 반복 디코딩 방식은 디코더의 출력 성분을 다시 다음 디코딩을 위한 입력으로 사용하는 디코딩 방식이다. 이러한 반복 디코딩 방식을 사용하기 위해서는 결정 임계값을 최대값 (2t + 1)로 세팅하는 것이 요구된다. 그리고, n 마더 코드 비트 상에서 각 반복에 대해 d/2를 최소화하기 위해 상기 결정 임계값을 1 비트 감소시킨다.
본 발명에서는 PDSC 코드를 디코딩하기 위한 디코더를 제안하는데, 도 3은 본 발명에 의해 제안된 디코더의 구성 블록도이다.
도 3을 참조하면, 입력 데이터 레지스터(310)는 쉬프트 레지스터로써, 수신된 n비트의 코드 워드를 저장한다. 키 1(320)은 외부로부터의 'copy enable' 신호에 따라 입력 데이터 레지스터로부터 디코더 레지스터(340)로 데이터를 병렬 전송한다. 데이터가 입력 데이터 레지스터(310)로부터 디코더 레지스터(340)로 병렬 전송될 때, 디코더 레지스터(340)는 병렬 기록 모드로 동작한다. 그리고, 디코딩하기 위해 디코더 레지스터(340)는 시리얼 디코딩 모드로 전환되어야 한다. 접속 유닛(380)은 배타적 논리합 동작을 수행한다. 접속 유닛(380)을 구성하는 각각의 배타적 논리합 유닛들은 싱글 디코더 체크 수학식에 상응하고, (2t + 1)비트의 데이터를 입력받아 1 비트의 데이터를 출력한다. 다수 논리 유닛(390)은 2t + 1비트의 데이터를 입력받아 1 비트의 데이터를 출력하는데, 기본적으로 입력의 합이 특정 임계값 이상인지를 판단한다. 여기서, 입력의 합이 특정 임계값 이상이면, 출력은 '1'로 세팅되고, BUD에서 에러 검출된 것으로 판단한다. 그러나, 입력의 합이 특정 임계값 이상이 아니면, 출력은 "0"으로 세팅되고, BUD 상에서 에러는 검출되지 않은 것으로 판단한다. 에러 정보 유닛(370)은 수신된 데이터에 에러 존재 여부 및 디코딩된 데이터의 정정되지 않은 에러가 있는지의 여부를 판단한다.
종래 기술과 본원 발명의 차이점은 본 발명이 각각의 새로운 반복 디코딩에 대해 결정 임계값을 제어하고 변경하는 것이 가능하다는 것이다. 따라서, 하드 입력일 경우의 BER 수행 개선이 있을 수 있다. 본 발명의 목적은 BER 성능 개선과 함 께 전력 소모를 줄이기 위해 반복 횟수를 줄이는 것이다. 반복 횟수는 디코더의 동작 중 고정 또는 변경될 수 있다.
그러면, 도 4a 내지 도 4b를 참조하여 상술한 디코더에서의 동작을 상세히 살펴보기로 한다.
도 4a를 참조하면, 400 단계에서 모든 레지스터를 제로 상태로 리셋시켜 초기화한 후, 디코딩을 시작한다. 여기서, 본 발명에서 추가되는 'Uncorrectable Error Detected' 플래그를 "0"으로 리셋시킨다. 405 단계에서 "Enable" 액티브 신호에 따라, 입력 데이터 레지스터(310)에 n 비트 데이터가 입력된다. 410 단계에서 상기 n 비트의 데이터를 입력 데이터 레지스터(310)로부터 디코더 레지스터(340)로 복사한다. 415 단계에서 반복 횟수를 제로로 셋팅하고, 결정 임계값이 초기화 상태가 되도록 세팅한다.
도 4b를 참조하면, 420 단계에서 BUD넘버를 제로로 셋팅하고 디코딩을 시작한다. 425 단계에서 k 비트가 모두 디코딩되었는지를 판단한다. 상기 425 단계의 판단 결과, k 비트 모두 디코딩되지 않았다면, 430 단계에서 접속 유닛(380)이 방정식 2t + 1을 체크하여, 체크 결과가 산출되도록 한다. 그리고, 430 단계에서 접속 유닛(380)이 체크 결과의 합을 산출하고, 440 단계에서 다수 논리 유닛(390)이 상기 산출된 체크 결과의 합이 결정 임계값 이상인지를 판단한다. 상기 440 단계의 판단 결과, 산출된 체크 결과의 합이 결정 임계값 이상이면, 445 단계에서 에러 정보 유닛(370)은 BUD에서의 비트 에러 정정을 수행하고, 'Error Detected' 플래그를 셋 업한 후, 450 단계로 진행한다. 그러나, 상기 440 단계의 판단 결과, 산출된 체크 결과의 합이 결정 임계값 이상이 아니면 바로 450단계로 진행한다. 450 단계에서 에러 정보 유닛(370)은 BUD 넘버가 n 마더 코드 미만인지를 판단한다. 상기 450 단계의 판단 결과, BUD 넘버가 n 마더 코드 미만일 경우,455단계에서 에러 정정 유닛(370)은 정정되지 않은 에러가 검출되는지 판단하고, BUD 넘버가 n 마더 코드 이상일 경우, 465 단계로 진행한다. 그런데, 상기 455 단계의 판단 결과, 정정되지 않은 에러가 검출될 경우, 460 단계에서 'Uncorrectable error detected' 플래그를 셋업한 후, 465단계로 진행한다. 상기 455 단계의 판단 결과, 정정되지 않은 에러가 검출되지 않을 경우, 465 단계로 진행한다. 상기 465 단계에서 디코더 레지스터를 하나의 비트씩 쉬프트하고, BUD 넘버를 1 증가시킨 후, 425 단계로 진행한다.
한편, 상기 425 단계의 판단 결과, BUD 넘버가 n 마더 코드 이상일 경우, 470 단계에서 반복 횟수가 최대 반복 횟수 미만인지를 판단한다. 상기 470 단계의 판단 결과, 반복 횟수가 최대 반복 횟수 미만이면, 475 단계에서 반복 횟수를 1 증가시키고, 결정 임계값을 변경한 후, 상기 420 단계로 진행한다, 그러나, 상기 470 단계의 판단 결과, 반복 횟수가 최대 반복 횟수 이상이면, 480 단계에서 디코딩된 k 비트를 출력하고, 485 단계에서 디코더 레지스터를 리셋한 후, 490 단계에서 디코딩 작업을 종료할 것인지를 판단하여, 그 결과에 따라 디코딩 작업을 종료하거나, 410 단계로 궤환된다.
상기 제안된 방법의 검증을 위해 채널 코덱이 C/C++ 프로그램으로 수행되었다. 여기서, AWGN 채널 모델이 적용되고, 적용된 모듈레이션 방법은 BPSK(Binary Phase Shift Keying)이다.
도 5는 'uncorrectable error detected' 가 사용되지 않을 경우에, BER 수행결과를 도시한 도면이다.
도 5의 시뮬레이션 결과는 본 발명이 4.45E-04(SNR =6 dB) 대신에 BER 1.54E-05를 획득하거나, 3.92E-06(SNR = 7dB) 대신에 3.45E-08을 획득하여 더 높은 SNR에 대한 성능 개선이 있다.
도 6은 'uncorrectable error detected' 가 사용되지 않을 경우에, BER 수행결과를 도시한 도면이다.
이러한 동작 모드는 디지털 텔레비전이나 사운드 방송의 제어 채널에 적합하고, 비정정 에러 패턴이 검출된다면 디코딩된 패킷은 생략되고, 디코딩 동작은 다음 패킷에 대해 반복되는 방식으로 종래의 방법과는 상이하다. 이는 제안된 방법을 사용하는 것이 2 dB보다 큰 SNR에 대한 BER 수행을 개선하는 것이 가능하다는 것을 보여준다. 총 9번 반복되는 디코더가 큰 SNR에 대한 최선의 결과를 보여주는 반면, 9번의 반복 디코딩으로 인해 고전력이 소모된다. 이러한 경우, 상기 케이스 2에서 보는 바와 같이 3번 반복 디코딩이 더 바람직하다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명은 PDSC 코드의 디코딩에 있어서 비트 에러 레이트 성능을 개선하는 효과가 있다.
Claims (8)
- 디코딩 방법에 있어서,널 데이터 비트(null data bit)가 포함된 부호어 비트들을 수신하는 과정과,상기 수신된 부호어 비트들을 구성하는 다수개의 BUD(Bit Under Decoding)들 중 제1BUD를 복호하는 과정과,상기 제1BUD에 대해 오류 검출 및 정정을 수행하는 과정과,상기 제1BUD가 널 복호 비트인 경우 정정 불가능한 오류를 검출하는 과정과,상기 제1BUD의 오류 검출을 위해 사용된 임계값을 미리 설정된 값만큼 감소시키면서 상기 제1BUD의 다음 BUD들 각각에 대하여 소정의 횟수만큼 반복 복호를 수행하는 과정과,상기 반복 복호의 결과를 출력하는 과정을 포함하는 디코딩 방법.
- 제1항에 있어서,상기 오류 검출 및 정정을 수행하는 과정은,상기 제1BUD에 대해 미리 설정된 체크 방정식을 이용하여 체크 결과를 계산하는 과정과,상기 체크 결과의 합을 계산하는 과정과,상기 체크 결과의 합이 상기 임계값 이상인지를 판단하는 과정과,상기 체크 결과의 합이 상기 임계값 이상인 경우, 오류가 검출되었음을 판단하여, 오류 검출 플래그(flag)를 설정하고, 상기 검출된 오류를 정정하는 과정을 포함하는 디코딩 방법.
- 제1항에 있어서,상기 정정 불가능한 오류가 검출되면, 정정 불가능한 오류 검출 플래그(flag)를 설정하는 과정을 더 포함하는 디코딩 방법.
- 제1항에 있어서,상기 제1BUD가 상기 널 복호 비트가 아닌 경우, 상기 반복 복호를 위해 상기 제1BUD는 1비트 시프트됨을 특징으로 하는 디코딩 방법.
- 디코딩 장치에 있어서,널 데이터 비트(null data bit)가 포함된 부호어 비트들을 수신하고, 상기 수신된 부호어 비트들을 구성하는 다수개의 BUD(Bit Under Decoding)들 중 제1BUD를 복호하는 디코더 레지스터와,상기 제1BUD에 대해 오류 검출 및 정정을 수행하는 다수 논리 유닛과,상기 제1BUD에 오류가 존재하는지 여부와, 상기 제1BUD가 널 복호 비트인 경우 정정 불가능한 오류를 검출하는 오류 정보 유닛을 포함하며,상기 디코더 레지스터는 상기 제1BUD의 오류 검출을 위해 사용된 임계값을 미리 설정된 값만큼 감소시키면서 상기 제1BUD의 다음 BUD들 각각에 대하여 소정의 횟수만큼 반복 복호를 수행함을 특징으로 하는 디코딩 장치.
- 제5항에 있어서,상기 제1BUD에 대해 미리 설정된 체크 방정식을 이용하여 체크 결과를 계산하고, 상기 체크 결과의 합을 출력하는 접속 유닛을 더 포함하며,상기 다수 논리 유닛은 상기 체크 결과의 합이 상기 임계값 이상인지를 판단하고, 상기 체크 결과의 합이 상기 임계값 이상일 경우, 오류가 검출되었음을 판단하여 오류 검출 플래그(flag)를 설정하고, 상기 검출된 오류를 정정함을 특징으로 하는 디코딩 장치.
- 제5항에 있어서,상기 오류 정보 유닛은 상기 정정 불가능한 오류가 검출되면, 정정 불가능한 오류 검출 플래그(flag)를 설정함을 특징으로 하는 디코딩 장치.
- 제5항에 있어서,상기 제1BUD가 상기 널 복호 비트가 아닌 경우, 상기 반복 복호를 위해 상기 제1BUD는 1비트 시프트됨을 특징으로 하는 디코딩 장치.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070031473A KR101317039B1 (ko) | 2007-03-30 | 2007-03-30 | 디코딩 장치 및 방법 |
US12/059,338 US8122318B2 (en) | 2007-03-30 | 2008-03-31 | Decoding apparatus and method for a perfect difference-set cyclic code and a difference-set cyclic code |
JP2009544813A JP5324470B2 (ja) | 2007-03-30 | 2008-03-31 | 完全差集合巡回符号及び差集合巡回符号の復号装置及び方法 |
PCT/KR2008/001789 WO2008120934A1 (en) | 2007-03-30 | 2008-03-31 | Decoding apparatus and method for a perfect difference-set cyclic code and a difference-set cyclic code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070031473A KR101317039B1 (ko) | 2007-03-30 | 2007-03-30 | 디코딩 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080088766A KR20080088766A (ko) | 2008-10-06 |
KR101317039B1 true KR101317039B1 (ko) | 2013-10-11 |
Family
ID=39796410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070031473A KR101317039B1 (ko) | 2007-03-30 | 2007-03-30 | 디코딩 장치 및 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8122318B2 (ko) |
JP (1) | JP5324470B2 (ko) |
KR (1) | KR101317039B1 (ko) |
WO (1) | WO2008120934A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110258513A1 (en) * | 2008-05-08 | 2011-10-20 | Jing Qian | SNR-Based Variable-Threshold Majority-Logic Decoder |
KR101269851B1 (ko) * | 2012-01-30 | 2013-06-07 | (주)에프씨아이 | 아이에스디비-티 차집합 코드의 복호장치 |
CN107086898A (zh) * | 2017-04-19 | 2017-08-22 | 江苏卓胜微电子有限公司 | 联合纠错方法和装置 |
CN112688694B (zh) * | 2019-10-18 | 2024-07-26 | 王晋良 | 用于列表型连续消去的解码器及其解码方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0630172A (ja) * | 1992-07-08 | 1994-02-04 | Toshiba Corp | ファクシミリ放送送信装置及びその受信装置 |
JP2003264534A (ja) | 2002-03-07 | 2003-09-19 | Sanyo Electric Co Ltd | 誤り訂正回路 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3475724A (en) * | 1965-10-08 | 1969-10-28 | Bell Telephone Labor Inc | Error control system |
US3639901A (en) * | 1969-06-10 | 1972-02-01 | Gen Electric | Error correcting decoder utilizing estimator functions and decision circuit for bit-by-bit decoding |
JPS6090430A (ja) * | 1983-10-25 | 1985-05-21 | Nippon Hoso Kyokai <Nhk> | 誤り検出回路 |
US4630271A (en) * | 1983-01-20 | 1986-12-16 | Nippon Hoso Kyokai | Error correction method and apparatus for data broadcasting system |
CA1223076A (en) * | 1984-03-30 | 1987-06-16 | Hirohisa Shishikura | Error correction system in a teletext system |
CA1225746A (en) * | 1984-03-30 | 1987-08-18 | Hirohisa Shishikura | Error correction system for difference set cyclic code in a teletext system |
US5157671A (en) * | 1990-05-29 | 1992-10-20 | Space Systems/Loral, Inc. | Semi-systolic architecture for decoding error-correcting codes |
JP3253381B2 (ja) * | 1992-12-14 | 2002-02-04 | 日本放送協会 | 誤り訂正回路 |
JP3170123B2 (ja) | 1993-11-29 | 2001-05-28 | 日本放送協会 | 誤り訂正回路 |
JPH07162319A (ja) * | 1993-12-02 | 1995-06-23 | Nippon Hoso Kyokai <Nhk> | 誤り訂正回路 |
JPH09116450A (ja) * | 1995-10-16 | 1997-05-02 | Sony Corp | 受信機 |
JP2001274697A (ja) * | 2000-03-27 | 2001-10-05 | Matsushita Electric Ind Co Ltd | データ誤り訂正装置 |
EP1511178A1 (en) * | 2003-09-01 | 2005-03-02 | Alcatel | A method of decoding a data word |
-
2007
- 2007-03-30 KR KR1020070031473A patent/KR101317039B1/ko not_active IP Right Cessation
-
2008
- 2008-03-31 WO PCT/KR2008/001789 patent/WO2008120934A1/en active Application Filing
- 2008-03-31 US US12/059,338 patent/US8122318B2/en not_active Expired - Fee Related
- 2008-03-31 JP JP2009544813A patent/JP5324470B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0630172A (ja) * | 1992-07-08 | 1994-02-04 | Toshiba Corp | ファクシミリ放送送信装置及びその受信装置 |
JP2003264534A (ja) | 2002-03-07 | 2003-09-19 | Sanyo Electric Co Ltd | 誤り訂正回路 |
Also Published As
Publication number | Publication date |
---|---|
WO2008120934A1 (en) | 2008-10-09 |
US8122318B2 (en) | 2012-02-21 |
JP2010515401A (ja) | 2010-05-06 |
US20080244365A1 (en) | 2008-10-02 |
KR20080088766A (ko) | 2008-10-06 |
JP5324470B2 (ja) | 2013-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7853854B2 (en) | Iterative decoding of a frame of data encoded using a block coding algorithm | |
US7577891B2 (en) | Method and apparatus for extending decoding time in an iterative decoder using input codeword pipelining | |
US7712008B2 (en) | Systems and methods for error reduction associated with information transfer | |
CN101194451B (zh) | 用于迭代解码器中的功率减小的方法及装置 | |
JP5237119B2 (ja) | ラプターコードをデコードする方法及び装置 | |
JP6451955B2 (ja) | 多段ソフト入力デコードのためのシステムおよび方法 | |
TWI411912B (zh) | 使用寫入驗證之代碼之錯誤底限減緩 | |
WO2015139160A1 (zh) | 一种动态阈值比特翻转的ldpc码硬判决译码方法 | |
US20140229792A1 (en) | Systems and methods for bit flipping decoding with reliability inputs | |
US20060085726A1 (en) | Apparatus and method for decoding Reed-Solomon code | |
US20030188253A1 (en) | Method for iterative hard-decision forward error correction decoding | |
US20080052596A1 (en) | Method and device for decoding blocks encoded with an ldpc code | |
EP2573943A1 (en) | Power-optimized decoding of linear codes | |
WO2019019550A1 (zh) | 应用于快闪存储器中的自适应ldpc码纠错码系统和方法 | |
CN110032331B (zh) | 用于通过绕过编码和解码来提高备份效率的方法和系统 | |
KR101317039B1 (ko) | 디코딩 장치 및 방법 | |
US7231575B2 (en) | Apparatus for iterative hard-decision forward error correction decoding | |
US8365054B2 (en) | Soft reed-solomon decoder based on error-and-erasure reed-solomon decoder | |
US7810015B2 (en) | Decoding with a concatenated error correcting code | |
US7478313B2 (en) | Encoding apparatus and method, and decoding apparatus and method for error correction | |
US7577893B2 (en) | Forward error correction decoding method and apparatus for satellite digital audio radio broadcasting | |
US11323138B1 (en) | Reed-Solomon code soft-decision decoding method and device | |
JP3512176B2 (ja) | ターボ復号装置およびターボ復号における復号の繰返し回数の制御方法 | |
US11750219B2 (en) | Decoding method, decoder, and decoding apparatus | |
US8745465B1 (en) | Detecting a burst error in the frames of a block of data bits |
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 | ||
LAPS | Lapse due to unpaid annual fee |