KR101317039B1 - 디코딩 장치 및 방법 - Google Patents

디코딩 장치 및 방법 Download PDF

Info

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
Application number
KR1020070031473A
Other languages
English (en)
Other versions
KR20080088766A (ko
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 KR1020070031473A priority Critical patent/KR101317039B1/ko
Priority to US12/059,338 priority patent/US8122318B2/en
Priority to JP2009544813A priority patent/JP5324470B2/ja
Priority to PCT/KR2008/001789 priority patent/WO2008120934A1/en
Publication of KR20080088766A publication Critical patent/KR20080088766A/ko
Application granted granted Critical
Publication of KR101317039B1 publication Critical patent/KR101317039B1/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/43Majority logic or threshold 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

Abstract

본 발명은 널 데이터 비트(null data bit)가 포함된 부호어 비트들을 수신하고, 상기 수신된 부호어 비트들을 구성하는 다수개의 BUD(Bit Under Decoding)들 중 제1BUD를 복호하고, 상기 제1BUD에 대해 오류 검출 및 정정을 수행하고, 상기 제1BUD가 널 복호 비트인 경우 정정 불가능한 오류를 검출하고, 상기 제1BUD의 오류 검출을 위해 사용된 임계값을 미리 설정된 값만큼 감소시키면서 상기 제1BUD의 다음 BUD들 각각에 대하여 소정의 횟수만큼 반복 복호를 수행하고, 상기 반복 복호의 결과를 출력한다.
Figure R1020070031473
PDSC, 디코딩

Description

디코딩 장치 및 방법{APPARATUS AND METHOD FOR DECODING}
도 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>과 같이 정의된다.
Figure 112007025015936-pat00001
Figure 112007025015936-pat00002
PDSC(184,102 version)코드와 같은 단축화 코드 뿐만 아니라, 상기의 <수학식 1>에 의해 표현되는 코드들은 도 1에 도시된 바와 같은 디코더를 이용하여 디코딩될 수 있다.
도 1을 참조하면, 키 블록들(110, 120, 160)은 외부로부터 입력되는 인에이블/디스에이블 신호에 의해 입력되는 신호를 패스 또는 차단시킨다. 배타적 논리합 유닛(130, 150)은 두 개의 신호를 입력받아, 두 신호가 동일할 경우 '0'을 출력하고, 두 신호가 동일하지 않을 경우 '1'을 출력한다. 디코더 레지스터(140)는 n 마더 코드 셀들로 구성되는 쉬프트 레지스터로써, 상기 n 마더 코드는 상기의 <수학 식 1>에 의해 정의되는
Figure 112007025015936-pat00003
코드 워드 n의 길이를 의미한다.
접속 유닛(170)은 (2t+1)개의 배타적 논리합 유닛들로 구성되는데, t는 하기의 <수학식 2>에 의해 정의되며, PDSC코드의 에러 정정 능력을 의미한다.
Figure 112007025015936-pat00004
상기 접속 유닛(170)을 구성하는 배타적 논리합 유닛들 각각은 싱글 디코더 체크 방정식에 상응하고, (2t +1) 비트의 데이터를 입력받아 1 비트의 결과값을 출력시킨다. 예를 들어, PDSC(273, 191)코드에서 "basic polynomial"로 명명되는 제 1 체크 방정식은 하기의 <수학식 3>과 같이 정의된다.
w(0) = b272^b254^b248^b226^b222^b205^b169^b160^b157
^b146^b144^b113^b106^b105^b86^b76^b71
상기 <수학식 3>에서 b0~b272는 디코더 레지스터에 저장된 비트수이다.
PDS(Perfect Difference-Set)는 다음의 <수학식 4>와 같이 정의된다.
P={0,18,24,46,50,67,103,112,115,126,128,159,166,167,186,196,201}
또 다른 2t 체크 방정식은 하기의 <수학식 5>와 같이 정의될 수 있다.
w(i)=(w(0)*x^Pi) modulo n_mother_code
예를 들어, PDSC(273, 191)코드 및 그 단축화 코드의 접속 유닛은 하기의 <수학식 6>과 같이 17개의 체크 방정식으로 구성된 디코더 매트릭스를 수행한다.
w(0)=XOR{272,254,248,226,222,205,169,160,157,146,144,113,106,105,86,76,71};
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로 나눈 값이 될 수 있다.
Figure 112007025015936-pat00005
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)

  1. 디코딩 방법에 있어서,
    널 데이터 비트(null data bit)가 포함된 부호어 비트들을 수신하는 과정과,
    상기 수신된 부호어 비트들을 구성하는 다수개의 BUD(Bit Under Decoding)들 중 제1BUD를 복호하는 과정과,
    상기 제1BUD에 대해 오류 검출 및 정정을 수행하는 과정과,
    상기 제1BUD가 널 복호 비트인 경우 정정 불가능한 오류를 검출하는 과정과,
    상기 제1BUD의 오류 검출을 위해 사용된 임계값을 미리 설정된 값만큼 감소시키면서 상기 제1BUD의 다음 BUD들 각각에 대하여 소정의 횟수만큼 반복 복호를 수행하는 과정과,
    상기 반복 복호의 결과를 출력하는 과정을 포함하는 디코딩 방법.
  2. 제1항에 있어서,
    상기 오류 검출 및 정정을 수행하는 과정은,
    상기 제1BUD에 대해 미리 설정된 체크 방정식을 이용하여 체크 결과를 계산하는 과정과,
    상기 체크 결과의 합을 계산하는 과정과,
    상기 체크 결과의 합이 상기 임계값 이상인지를 판단하는 과정과,
    상기 체크 결과의 합이 상기 임계값 이상인 경우, 오류가 검출되었음을 판단하여, 오류 검출 플래그(flag)를 설정하고, 상기 검출된 오류를 정정하는 과정을 포함하는 디코딩 방법.
  3. 제1항에 있어서,
    상기 정정 불가능한 오류가 검출되면, 정정 불가능한 오류 검출 플래그(flag)를 설정하는 과정을 더 포함하는 디코딩 방법.
  4. 제1항에 있어서,
    상기 제1BUD가 상기 널 복호 비트가 아닌 경우, 상기 반복 복호를 위해 상기 제1BUD는 1비트 시프트됨을 특징으로 하는 디코딩 방법.
  5. 디코딩 장치에 있어서,
    널 데이터 비트(null data bit)가 포함된 부호어 비트들을 수신하고, 상기 수신된 부호어 비트들을 구성하는 다수개의 BUD(Bit Under Decoding)들 중 제1BUD를 복호하는 디코더 레지스터와,
    상기 제1BUD에 대해 오류 검출 및 정정을 수행하는 다수 논리 유닛과,
    상기 제1BUD에 오류가 존재하는지 여부와, 상기 제1BUD가 널 복호 비트인 경우 정정 불가능한 오류를 검출하는 오류 정보 유닛을 포함하며,
    상기 디코더 레지스터는 상기 제1BUD의 오류 검출을 위해 사용된 임계값을 미리 설정된 값만큼 감소시키면서 상기 제1BUD의 다음 BUD들 각각에 대하여 소정의 횟수만큼 반복 복호를 수행함을 특징으로 하는 디코딩 장치.
  6. 제5항에 있어서,
    상기 제1BUD에 대해 미리 설정된 체크 방정식을 이용하여 체크 결과를 계산하고, 상기 체크 결과의 합을 출력하는 접속 유닛을 더 포함하며,
    상기 다수 논리 유닛은 상기 체크 결과의 합이 상기 임계값 이상인지를 판단하고, 상기 체크 결과의 합이 상기 임계값 이상일 경우, 오류가 검출되었음을 판단하여 오류 검출 플래그(flag)를 설정하고, 상기 검출된 오류를 정정함을 특징으로 하는 디코딩 장치.
  7. 제5항에 있어서,
    상기 오류 정보 유닛은 상기 정정 불가능한 오류가 검출되면, 정정 불가능한 오류 검출 플래그(flag)를 설정함을 특징으로 하는 디코딩 장치.
  8. 제5항에 있어서,
    상기 제1BUD가 상기 널 복호 비트가 아닌 경우, 상기 반복 복호를 위해 상기 제1BUD는 1비트 시프트됨을 특징으로 하는 디코딩 장치.
KR1020070031473A 2007-03-30 2007-03-30 디코딩 장치 및 방법 KR101317039B1 (ko)

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)

* Cited by examiner, † Cited by third party
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 江苏卓胜微电子有限公司 联合纠错方法和装置
CN112688694A (zh) * 2019-10-18 2021-04-20 王晋良 用于列表型连续消去的解码器及其解码方法

Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US4675868A (en) * 1984-03-30 1987-06-23 Oki Electric Industry Co., Ltd. Error correction system for difference set cyclic code in a teletext system
CA1223076A (en) * 1984-03-30 1987-06-16 Hirohisa Shishikura Error correction system 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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
US20080244365A1 (en) 2008-10-02
JP5324470B2 (ja) 2013-10-23
JP2010515401A (ja) 2010-05-06
US8122318B2 (en) 2012-02-21
KR20080088766A (ko) 2008-10-06

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) 使用寫入驗證之代碼之錯誤底限減緩
US20140229792A1 (en) Systems and methods for bit flipping decoding with reliability inputs
US8046658B2 (en) Method and device for decoding blocks encoded with an LDPC code
US20060085726A1 (en) Apparatus and method for decoding Reed-Solomon code
EP2573943B1 (en) Power-optimized decoding of linear codes
WO2019019550A1 (zh) 应用于快闪存储器中的自适应ldpc码纠错码系统和方法
KR101317039B1 (ko) 디코딩 장치 및 방법
US7231575B2 (en) Apparatus for iterative hard-decision forward error correction decoding
US7810015B2 (en) Decoding with a concatenated error correcting code
US7478313B2 (en) Encoding apparatus and method, and decoding apparatus and method for error correction
US8365054B2 (en) Soft reed-solomon decoder based on error-and-erasure reed-solomon decoder
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
KR101856417B1 (ko) 극 부호­crc 연접 부호를 이용한 병렬 연속 제거 극 부호화-복호화 방법 및 장치
JP3512176B2 (ja) ターボ復号装置およびターボ復号における復号の繰返し回数の制御方法
CN110032331B (zh) 用于通过绕过编码和解码来提高备份效率的方法和系统
US11750219B2 (en) Decoding method, decoder, and decoding apparatus
US8745465B1 (en) Detecting a burst error in the frames of a block of data bits
US20040003334A1 (en) Efficient method and apparatus for low latency forward error correction

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