KR950010768B1 - 에러 정정 코드 복호 장치 및 그 방법 - Google Patents

에러 정정 코드 복호 장치 및 그 방법 Download PDF

Info

Publication number
KR950010768B1
KR950010768B1 KR1019930021853A KR930021853A KR950010768B1 KR 950010768 B1 KR950010768 B1 KR 950010768B1 KR 1019930021853 A KR1019930021853 A KR 1019930021853A KR 930021853 A KR930021853 A KR 930021853A KR 950010768 B1 KR950010768 B1 KR 950010768B1
Authority
KR
South Korea
Prior art keywords
error
data
flag
output
calculator
Prior art date
Application number
KR1019930021853A
Other languages
English (en)
Other versions
KR950013057A (ko
Inventor
임진혁
Original Assignee
주식회사 Lg전자
이헌조
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 주식회사 Lg전자, 이헌조 filed Critical 주식회사 Lg전자
Priority to KR1019930021853A priority Critical patent/KR950010768B1/ko
Priority to DE69424249T priority patent/DE69424249T2/de
Priority to EP94402333A priority patent/EP0650266B1/en
Priority to US08/325,021 priority patent/US5541939A/en
Publication of KR950013057A publication Critical patent/KR950013057A/ko
Application granted granted Critical
Publication of KR950010768B1 publication Critical patent/KR950010768B1/ko

Links

Classifications

    • 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/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • 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/47Error detection, forward error correction or error protection, not provided for in groups H03M13/01 - H03M13/37
    • H03M13/51Constant weight codes; n-out-of-m codes; Berger codes

Abstract

내용 없음.

Description

에러 정정 코드 복호 장치 및 그 방법
제 1 도는 프로덕트 코드의 예시도.
제 2 도는 종래 복호 장치의 블럭도.
제 3 도는 종래에 따른 데이타 복호시 신호 흐름도.
제 4 도는 종래 데이타 복호에 따른 예시도.
제 5 도는 본 발명 복호장치의 블럭도.
제 6 도는 본 발명 실시예에 따른 데이타 복호시 신호 흐름도.
제 7 도는 본 발명 다른 실시예에 따른 데이타 복호시 신호 흐름도.
제 8 도는 본 발명 또 다른 실시예에 따른 데이타 복호시 신호 흐름도.
제 9 도는 본 발명 데이타 복호에 따른 예시도.
* 도면의 주요부분에 대한 부호의 설명
1, 11, 17 : 선입선출메모리 2, 12 : 신드롬 계산기
3, 13, 14 : 소거 계산기 4, 16 : 에러 위치/크기 계산기
5, 18 : 결과 출력부 15 : 선택기
본 발명은 디지탈 신고의 송수신 및 저장기 에러 정정 코드의 복호에 관한 것으로 특히, 에러 정정 코드의 복호중 프로덕트 코드(product code)의 특성을 최대한 이용하기 위한 2종류의 소거(erasure)를 사용함으로써 작은 크기의 인코더/디코더로 효율적인 에러 정정을 수행하는 에러 정정코드 복호 장치 및 그 방법에 관한 것이다.
일반적으로 디지탈 신호의 송수신 및 저장에 있어서 에러 프리(error free)한 회로를 설계하는 것은 대단히 많은 비용을 발생시키기 마련임으로 많은 경우 어느 정도의 에러를 허용하고 그 대신 에러 검출 혹은 에러 정정을 할 수 있도록 원 데이타를 임의의 알고리즘에 의해 인코딩/디코딩을 수행하게 된다.
이때, 원 데이타를 인코딩하여 얻은 코드를 보통 에러 정정 코드라 하여 이 에러 코드는 그 코드를 이루는 각 심볼들사이에 어떤 규칙이 있음으로 데이터 송수신 또는 저장 복원시에 발생할 수 있는 에러를 디코딩시 검출 혹은 정정할 수 있다.
그리고, 디코딩시 더 많은 에러를 검출/정정하기 위해서는 일반적으로 에러 정정 코드의 코드 길이가 더 길어지며 이에 따라, 사용해야 하는 인코더/디코더가 더 커지게 됐으로 보통 적절한 에러 검출/정정 능력을 얻기 위하여 보통 다른 방법으로 2회이상 원 데이타를 인코딩하는 연쇄(concatenated)코드들이 제안되고 있는데, 그중 하나가 원 데이타를 2차원으로 배열하고 가로와 세로 방향으로 각각 1회씩 인코딩/디코딩을 행하는 프로덕트 코드(product code)이다.
일반적으로 어떤 에러 정정 코드를 사용하던 간에 디코딩시 에러를 정정하는 것은 수신된(혹은 복원된)데이타 안에 존재할지도 모르는 에러의 위치(어떤 심볼이 잘못된 것인가)와 그 크기(원래의 값이 과연 무엇인가)를 산출한다는 의미로서, 각 에로마다 알아야 할 항목이 위치와 크기의 두가지가 있음으로 각각 두개씩의 방정식을 필요로 한다.
그런데, 어떤 상황에서는 코드의 어떤 특정한 심볼이 그것의 원래 값이 얼마인지는 모르지만 적어도 옳지는 않다는 것을 알수 있는 경우와 있다.
즉, 수신된(혹은 복원된) 데이타의 값이 도저히 기대할 수 없는 값인거나 수신(혹은 복원)시 심한 노이즈를 탔다면 해당 데이타의 값을 믿을 수 없게 될 것이다. 이러한 것도 물론 에러의 일종이지만 그 위치는 알고 있음으로 그 크기를 계산하기 위해선 단 하나의 방정식만을 필요로 한다. 이것을 소거(erasure)라 부른다.
따라서, 에러 정정 코드의 에러 정정 능력은 결국 몇개의 방정식을 세울 수 있느냐하는 것임으로 동일한 에러 정정 코드를 사용하는데 있어서 소거의 정보를 디코더에 줄수 있다면 디코더가 정정할 수 있는 총 에러의 갯수는 증가할 것이다.
그리고, 데이타의 송수신 혹은 저장할 때 발생할 수 있는 에러는 어떤 확률로 일어나는 산발 에러와 연속으로 수개 내지 수십개의 심볼이 연속적으로 잘못되는 연집 에러의 2가지 분류되는데, 일반적으로 에러 정정 코드 복호기는 산발 에러에는 강하나 연집 에러는 잘 고치지 못하는 경향이 있으며 그 연집 에러를 정정하기 위해서는 디코더의 크기가 너무 커지게 된다.
일반적인 프로덕트 코드는 제 1 도에 도시된 바와 같이, 원 데이타(Smn)에 대해 가로 방향으로 패리티(Pmk)를 부가하고 세로 방향으로 패리티(Qln)를 부가하며 상기 패리티(Pmk)(Qln)에 패리티(Rlk)를 공통 부가하여 연집 에러에 강하도록 고안된 것으로, 여기서 가로 방향의 코드를 C1 코드, 세로 방향의 코드를 C2 코드라 가정한다.
여기서, C1, C2 코드인 프로덕트 코드는 한쪽 방향의 연집 에러가 반대쪽 방향의 산발 에러가 되도록 설계되어 있음으로 작은 디코더로 효과적인 디코딩을 할 수 있다.
종래 복호 장치는 제 2 도에 도시된 바와 같이, 수신(또는 복원)된 데이타를 일시 저장하는 선입선출메모리(1)와, 수신(또는 복원)된 데이타를 연산하여 에러 특유의 결과 값인 신드롬(syndrom)을 계산하는 신드롬 계산기(2)와, 1비트의 프래그를 연산하여 소거 갯수를 추출함에 따라 소거 위치 방정식을 산출하는 소거 계산기(3)와, 상기 신드롬 계산기(2)의 출력을 연산하여 에러 위치 방정식을 산출하여 그 에러 위치 방정식 에 상기 소거 계산기(3)의 소거 위치 방정식을 포함시킨 후 에러 크기 방정식을 산출하며 상기 에러 위치 방정식과 에러 크기 방정식을 연산하여 에러의 위치 및 크기를 산출하는 에러 위치/크기 계산기(4)와, 이 히터 위치/크기 계산기(4)의 출력을 연산함에 따라 상기 선입선출메모리(1)의 출력에 혼입된 에러를 정정하고 그 결과를 출력하는 결과 출력부(5)로 구성된 것으로, 이와같은 종래 복호기의 동작 과정을 제 3 도 부호에 따른 신호 흐름도 및 제 4 도 복호 동작의 예시도를 참조하여 설명하면 다음과 같다.
먼저, 수신(또는 복원)된 1비트인 프래그가 입력되면 소거 계산기(3)는 그 입력 프래그를 검사하여 소거가 발생했는지 검사하는데 소거가 발생했다면 그 총 갯수를 추출하여 복호기의 정정 능력안이며 소거 위치 방정식을 산출하며 수신(또는 복호)된 데이타는 선입선출메모리(1)에 일시 저장됨과 아울러 신드롬 계산기(2)에 입력되어진다.
이때, 신드롬 계산기(2)는 수신(또는 복원)된 데이타를 검사하여 에러가 혼입된 경우 에러 특유의 결과값인 신드롬(syndrom)을 산출하고 이 신드롬 계산기(2)의 출력을 연산한 에러 위치/크기 계산기(4)는 에러위치방정식을 산출하여 그 에러 위치 방정식에 소거 계산기(3)에서 산출된 소거 위치 방정식을 포함시키게 된다.
이에 따라, 에러 위치/크기 계산기(4)는 에러 위치 방정식을 연산하여 에러 크기 방정식을 산출하고 상기 에러 위치 방정식과 에러 크기 방정식을 검사하여 디코더의 정정 능력안이면 상기 에러 위치 방정식과 에러 크기 방정식을 계산하여 에러의 위치 및 크기를 산출하게 된다.
따라서, 에러 위치/크기 계산기(4)에서 에러의 위치 및 크기를 산출하면 결과 출력부(5)는 선입선출메모리(1)의 출력중 에러를 수정하는데, 에러정정이 모두 수행되었으면 각 데이타에 1비트의 프래그를 부가하여 현재의 데이타가 믿을 수 있다는 정보를 출력하게 된다.
또한, 소거 계산기(3)에서 소거 갯수의 감사에의해 디코더의 정정 능력 밖이라는 판단이나 에러 위치/크기 계산기(4)에서 에러 위치 방정식과 에러 크기 방정식을 검사하여 디코더의 정정 능력 밖이라는 판단이 있는 경우 결과 출력부(5)는 선입선출메모리(1)의 출력데이타를 수정함이 없이 각 데이타에 1비트의 프래그를 부가하여 현재의 데이타가 믿을 수 없다는 정보를 출력하게 된다.
즉, 데이타가 믿을 수 있으나 없으나하는 것은 각 데이타에 1비트의 프래그를 부가하여 나타내는데 소거 계산기(3)에서 특정 데이타를 믿을 수 없다고 판단하는 기준은 해당 데이타의 프래그 비트가 "1"로 세팅되었느냐 하는 것이며, 에러 위치/크기 계산기(4)에서 현 데이타를 믿을 수 없다고 판단하면 현 데이타 각각의 플래그 비트를 모드 "1"로 세팅한다.
여기서, 세팅된 플래그가 "1"이면 소거,"0"이면 정상이며, 현 데이타를 디코딩한 결과 발생하는 소거는 프로덕트 코드에 있어서는 두번째 디코딩시 사용하게 된다.
이러한 디코딩 과정이 반복적으로 수행됨에 따라 데이타의 에러를 정정하게 되는데 제 1 도에 도시된 예시도와 같이 C1 코드, C2 코드를 각각 1번씩 위의 방법으로 디코딩한다.
즉, 제 4(a) 도와 같은 데이타가 수신(또는 복원)되면 가로 방향으로 C1코드를 디코딩하여 제 4(b) 도와 같이 복호되었을때 4번째 줄은 복호기의 정정 능력 밖임으로 모두 소거 처리하고 세로 방향으로 C2 코드를 디코딩하였을때 4번째 줄은 소거가 하나의 소거들로 인식됨으로 충분히 디코딩을 수행함을 따라 에러를 정정하게 된다.
여기서, 데이타 수신(복원)시 발생하는 소거는 실제의 에러이며 올바른 데이타가 아니라는 뜻이나, C1코드 복호시 처리하던 코드의 데이타 각각을 제 4(b) 도와 같이 소거로 처리하는 것을 해당 코드의 모든 데이타가 모두 올바른 것은 아니라는 뜻으로, 모든 데이타가 모두 올바르지 않다는 의미를 가지는 것은 아니다.
그러나, 종래에는 데이타 수신(복원)⇒C1 디코딩⇒C2 디코딩의 순으로 프로덕트 코드의 복호 동작이 수행될 경우 데이타 수신(복원)시 발생하는 소거와 C1 코드의 복호시 발생하는 소거사이에 차이가 발생하게 되는데, 데이타 수신(복원)시 발생하는 소거의 수가 만일 C1 코드 복호기의 능력 밖이라면 제 4(b) 도와 같이 소거의 수가 증가하게 되며 이 증가된 소거의 갯수가 C2 코드 복호기의 능력 안이라면 별 문제가 없으나 그렇지 않다면 오히려 C1 코드의 복호시 증가된 소거로 인해 C2 코드 복호시가 데이타의 에러 정정을 포기하게 되는 수가 있다.
즉, 종래에는 프로덕트 코드의 특성에 의하여 어떤 한계이상으로 발생하는 에러(혹은 소거)의 갯수가 증가하면 사실은 복호할 수 있을 지도 모르는 데이타임에도 포기하여 에러 정정을 수행하지 않는 문제점이 있었다.
본 발명은 이러한 종래의 문제점을 해결하기 위하여 처리해야 할 데이타가 정상적인 데이타인지, 에러인지, 아니면 에러일 가능성이 있는지를 판별함에 따라 에러인 데이타의 갯수와 에러일 가능성이 있는 데이타의 갯수의 합이 해당 장치의 능력안이며 모두 소거로 간주하고 아니면 에러인 데이타만 소거로 간주함으로써 효율적으로 복호를 수행하는 에러 정정 코드복호 장치 및 그 방법을 창안한 것으로, 이를 첨부한 도면을참조하여 상세히 설명하면 다음과 같다.
제 5 도는 본 발명 에러 정정 코드 복호 장치의 블럭도로서 이에 도시한 바와 같이, 수신(또는 복원)된 데이타를 일시 저장하는 선입선출메모리(11)와, 수신(또는 복원)된 데이타를 연산하여 에러 특유의 결과 값인 신드롬(syndrom)을 계산하는 신드롬 계산기(12)와, 2비트의 프래그를 연산하여 "11"인 프래그의 갯수를 계산하여 소거 위치 방정식을 산출하는 제 1 소거 계산기(13)와, 2비트의 프래그를 연산하여 "01" 및 "11"인프래그의 총 갯수를 계산하여 소거 위치 방정식을 산출하는 제 2 소거 계산기(14)와, 상기 제1, 제 2 소거 계산기(13)(14)의 출력을 점검하여 제 2 소거 계산기(14)의 출력이 능력안이면 그 제 2 소거 계산기(14)의 출력을 선택하고 상기 제 2 소거 계산기(14)의 출력이 능력밖이면 상기 제 1 소거 계산기(13)의 출력을 선택하는 선택기(15)와, 상기 신드롬 계산기(12)의 출력을 연산하여 에러위치 방정식을 산출하여 그 에러 위치 방정식에 상기 선택기(15)의 출력인 소거 위치 방정식을 포함시킨 후 에러 크기 방정식을 산출하며 상기 에러위치 방정식과 에러 크기 방정식을 연산하여 에러의 위치 및 크기를 산출하는 에러/크기 계산기(16)와, 2비트의 프래그를 일시 저장하는 선입선출메모리(17)와, 상기 에러 위치/크기 계산기(16)의 출력을 연산함에 따라 상기 선입선출메모리(11)(17)의 출력에 혼입된 에러를 정정하여 에러가 모두 정정되었으면 정정된 데이타와"00"으로 세팅된 프래그를 출력하고 에러 정정이 실패한 경우 원데이타의 신뢰성 정도에 따라 그 데이타와 "0" 또는 "11"로 세팅된 프래그를 출력하는 결과 출력부(18)로 구성한 것으로, 이와같이 구성한 본 발명의 동작 및 작용 효과를 제 6 도 내지 제 9 도를 참조하여 상세히 설명하면 다음과 같다.
본 발명 복호 장치의 동작은 수신(또는 복원)된 데이타의 에러 발생률를 커지면 플래그 비트가 "11"인 데이타는 언제나 에러로 보지만 "01"인 데이타는 경우에 따라 에러로 보기도 하고 정상적으로 간주하기도 한다.
그 이유는 "01"인 데이타는 에러일 가능성이 있다는 의미로 볼뿐 반드시 에러인 것은 아니기 때문이며, 어느쪽으로 볼 것인가 하는 판단은 두가지 모두를 에러로 보았을 경우 계산되는 소거 관련 방정식이 디코더의 능력 안에 들어오는가에 따르게 되는데 만일, 능력 안에 들어 온다면 "0"과 "11"모두를 에러로 간주하게 된다.
그리고, 소거 갯수의 추출에 따라 복호 동작을 수행하여 에러를 정정한 후 출력시에 디코딩이 성공했다면 물론 프래그 비트를 "00"으로 세팅하지만 실패했을 경우 원 데이타의 신뢰성 정도에 따라 "01" 또는 "11"로 세팅하게 되는데 데이타의 신뢰성 판별에 따른 프래그 세팅 방식은 3가지로 분류될 수 있다.
하나는 제 6(a) 도에 도시한 바와 같이, 소거 계산시 "1"로 간주된 '01"은 "11"과 마찬가지로 출력시에는 "ll"로 세팅하며, 만일 "01"이 "0"으로 간주되었다면 출력시 "01"로 세팅된다.
즉, 데이타 수신(복원) 장치는 플래그 비트를 "00", "11"로 출력하는데 C1 더코더가 보았을때 "01"이 없음으로 소거 블럭은 종래와 마찬가지로 단순히 "0", "1"로 보는 것과 차이가 없다.
그리고, C1 디코더는 출력시 디코팅 성공이면 모두 플래그 비트로 "00"을 출력하나 실패했을 경우 원 데이타의 신뢰성 정도에 따라 "01" 또는 "11"을 출력하며, C2 디코더는 "01"과 "11"모두를 소거로 보았을때 자신의 능력안이면 그대로 디코팅을 하고(즉,'01"을 "1"로 간주) 아니면 "11"만을 소거로 보고(즉,"01"을 "0"으로 간주) 디코딩을 한다.
이에따라, 디코딩 성공이면 출력되는 플래그 비트는 "00"이며 실패이면 원 데이타가 "0"으로 간주되었느냐에 따라 "01"아니면 "11"이다.
두번째는 제 7 도에 도시한 바와 같이, 소거계산시 "01"이 무엇으로 간주되었건 상관없이 출력은 "01"로 세팅하며, 이는 "01"이 꼭 에러인 것은 아님으로 출력시에는 "01"를 "00"과 동일하게 간주한다는 의미로서, 첫번째의 경우와 비교할때 디코더의 출력부만이 변경되어진다.
세번째는 제 8 도에 도시한 바와 같이, 소거 계산시 "01"을 에러로 간주하겠다는 것으로 "01"이 무엇인지 간주되었건 상관없이 출력을 "11"로 세팅하는 것이다. 이것은 상기 두번째 방법의 다른 변형으로 볼 수 있으며 상기 첫번째 경우화 비교할 때 역시 디코더의 추력부만이 변경되어 진다.
이러한 두가지 방식의 차이는 그렇게 크지 않고 디코팅하려는 데이타의 특성과 적용된 에러 정정 코드 자체의 특성에 의존하는 것으로 이러한 동작을 설명하면 아래와 같다.
수신(또는 복원)된 데이타가 선입선출메모리(11)에 일시 저장됨과 아울러 상기 데이타를 신드롬 계산기(12)에서 혼입된 에러 특유의 결과값인 신드롬(syndrom)을 산출할 때 2비트의 프래그를 입력받은 제1, 제 2 소거 계산기(13)(14)는 소거의 갯수(N1)(N2)를 각기 계산하여 각각 소거 위치 방정식을 산출하게 되며 상기 프래그는 선입선출메모리(17)에 일시 저장되어 진다.
이때, 제 1 소거 계산기(13)는 'll"인 프래그만을 소거로 간주하여 그 갯수를 추출함에 따라 그 갯수가 능력안이며 소거 위치 방정식을 산출하고 제 2 소거 계산기(14)는 "00"과 "11"인 프래그를 모두 추출하여 그 합계가 능력안이며 소거 위치 방정식을 산출하게 한다.
이에 따라, 제1, 제 2 소거 계산기(13)(14)의 출력을 점검한 선택기(15)는 상기 제 2 소거 계산기(14)의 출력을 점검하여 상기 제 2 소거 계산기(14)의 출력이 능력안이면 그 제 2 소거 계산기(14)의 출력을 선택하여 에러 위치/크기 계산기(16)에 출력하고, 상기 제 2 소거 계산기(14)의 출력이 능력밖이면 공기 제 1소거 계산기(13)의 출력을 선택하여 상기 에러 위치/크기 계산기(16)에 출력하게 된다.
이때, 신드롬 계산기(12)의 출력을 연산한 에러 위치/크기 계산기(16)는 에러 위치 방정식을 산출하여 그 에러 위치 방정식에 선택기(15)의 출력인 소거 위치 방정식을 포함시킨 후 에러 크기 방정식을 산출하고 상기 에러 위치 방정식과 에러 크기 방정식을 연산하여 에러의 위치 및 크기를 산출하여 결과 출력부(18)에 입력시키게 된다.
따라서, 결과 출력부(18)는 에러 위치/크기 계산기(16)의 출력을 연산함에 따라 선입선출메모리(11)의 출력인 데이타에 혼입된 에러를 정정하고 에러가 모두 정정되었으면 정정된 데이타와 선입선출메모리(17)의 출력인 "00"으로 세팅된 프래그를 출력하고 에러 정정이 실패한 경우 원데이타의 신뢰성 정도에 따라 그 데이타와 상기 선입선출메모리(17)의 출력인 "01' 또는 "11"로 세팅된 프래그를 출력하게 된다.
상기와 같은 동작이 데이타 수신(복원)⇒C1 디코딩⇒C2 디코딩이 일어날 경우 제 6 도에서 설명하면, "11"인 프래그의 갯수(N1)를 추출함과 동시에 "01" 및 "11"인 프래그의 합산 갯수(N2)를 추출하여 상기 소거 갯수(N2)가 복호기의 능력안이면 프래그 "01" 및 "11"을 모두 소거로 하는 소거 위치 방정식을 산출하고 상기 소거 갯수가 능력 밖이면 프래그 "11"만을 소거로 간주하는 소거 위치 방정식을 산출하여 에러를 정정안 후 에러가 모두 정정되었는지 판별하게 된다.
이때, 에러가 모두 정정되었으면 모든 데이타의 프래그를 "00"으로 세팅하여 데이타가 정상이라는 정보를 출력하고 에러가 모두 정정되지 않았으면 각 데이타를 정검하여 데이타가 소거로 간주되었는지 판별하게 된다.
이에 따라, 데이타가 소거로 간주된 경우 프래그를 "11"로 세팅하여 데이타가 에러임을 나타내고 데이타가 소거로 간주되지 않은 경우 프래그를 "01"로 세팅하여 데이타가 에러일 가능성이 있음을 나타내게 되며 이러한 경우 데이타는 정정함이 없이 출력하게 된다.
그리고, 상기의 동작을 다른 실시예인 제 7 도에서 설명하면, "11"인 프래그의 갯수(N1)를 추출함과 동시에 "01" 및 "11"인 프래그의 합산 갯수(N2)를 추출하여 상기 소거 갯수(N2)가 복호기의 능력 안이면 프래그 "01" 및 "11"을 모두 소거로 하는 소거 위치 방정식을 산출하고 상기 소거 갯수가 능력 밖이면 프래그 "11"안을 소거로 간주하는 소거 위치 방정식을 산출하여 에러를 정정한 후 에러가 모두 정전되었는지 판별하게 된다.
이때, 에러가 모두 정정되었으면 모든 데이타가 프래그를 "00"으로 세팅하여 데이타가 정상이라는 정보를 출력하고 에러가 모두 정정되지 않았으면 각 데이타를 점검하여 프래그가 "11"로 세팅되어 있었는지 판별하게 된다.
이에 따라, 프래그가 "11"이었으면 프래그를 "11"로 세팅하여 데이타가 에러임을 나타내고 프래그가 "11" 이 아니었으면 프래그를 "01"로 세팅하여 데이타가 에러일 가능성이 있음을 나타내게 되며 이러한 경우 데이타는 정정함이 없이 출력하게 된다.
또한, 상기의 동작을 또 다른 실시예인 제 8 도에서 설명하면, "11"인 프래그의 갯수(N1)를 추출함과 동시에 "01" 및 "11"인 프래그의 합산 갯수(N2)를 추출하여 상기 소거 갯수(N2)가 복호기의 능력 안이면 프래그 "01" 및 "11"을 모두 소거로 하는 소거 위치 방정식을 산출하고 상기 소거 갯수가 능력밖이면 프래그 "11"만을 소거로 간주하는 소거 위치 방정식을 산출하여 에러를 정정한 후 에러가 모두 정정되었는지 판별하게 된다.
이때, 에러가 모두 정정되었으면 모든 데이타의 프래그를 "00'으로 세팅하여 데이타가 정상이라는 정보를 출력하고 에러가 모두 정정되지 않았으면 각 데이타를 점검하여 원래의 프래그가 "00'로 세팅되어 있었는지 판별하게 된다.
이에 따라, 프래그가 "00"이었으면 프래그를 "01"로 세팅하여 데이타가 에러일 가능성이 있음을 나타내고 프래그가 "00'이 아니었으면 프래그를 "11"로 세팅하여 데이타가 에러임을 나타내게 되며 이러한 경우 데이타는 정정함이 없이 출력하게 된다.
상기와 같을 본 발명의 프로덕트 코드 복호 동작을 제 9 도의 예시도로 설명하면, C1 코드, C2 코드 모두 2개의 소거 또는 하나의 에러만 정정할 수 있다고 가정할때 제 9(a) 도와 같이 수신(또는 복원)된 데이타의 에러율이 증가하면 제 9(b) 도와 같이 몇개의 줄이 에러가 될 수 있는데 "01"로 세팅된 세팅된 프래그를 정상을 간주하여 다시 복호를 수행하게 된다.
그리고, 제 9(c) 도에서와 같이 5번째, 8번째 열에 "01"프래그들 안에 에러가 혼입된 경우를 가정한 것으로 이 경우엔 복호를 수햄함이 없이 데이타를 출력하게 된다.
상기에서 상세히 설명한 바와 같이 본 발명은 소거를 이용하여 에러 정정 모드 복호기에 있어서 소거를 두가지 종류로 세분화 함으로써 디코더의 능력 밖인 높은 에러율로 인하여 발생되는 소거를 믿을 수 없는 원래의 소거와 구분하여 에러 정정을 수행함으로 프로덕트 코들르 보다 효율적 디코딩을 할 수 있는 효과가 있다.

Claims (4)

  1. 수신(또는 복원)된 데이타를 일시 저장하는 선입선출메모리(11)와, 수신(또는 복원)된 데이타를 연산하여 에러 특유의 결과 값인 신드롬(syndrom)을 계산하는 신드롬 계산기(12)와, 2비트의 프래그를 연산하여 "11"인 프래그의 갯수를 계산하여 소거 위치 방정식을 산출하는 제 1 소거 계산기(13)와, 2비트의 프래그를 연산하여 "01" 및 "11"인 프래그의 총 갯수를 계산하여 소거 위치 방정식을 산출하는 제 2 소거 계산기(14)와, 상기 제1, 제 2 소거 계산기(13)(14)의 출력을 점검하여 제 2 소거 계산기(14)의 출력이 능력안이면 그 제 2 소거 계산기(14)의 출력을 선택하고 상기 제 2 소거 계산기(14)의 출력이 능력밖이면 상기 제 1 소거 계산기(13)의 출력을 선택하는 선택기(15)와, 상기 신드롬 계산기(12)의 출력을 연산하여 에러 위치 방정식을 산출하여 그 에러 위치 방정식에 상기 선택기(15)의 출력인 소거위치 방정식을 포함시킨 후 에러 크기방정식을 산출하며 상기 에러 위치 방정식과 에러 크기 방정식을 연산하여 에러의 위치 및 크기를 산출하는 에러 위치/크기 계산기(16)와, 2비트의 프래그를 일시 저장하는 선입선출메모리(17)와, 상기 에러 위치/크기 계산기(16)의 출력을 연산함에 따라 상기 선입선출메모리(11)(17)의 출력에 혼합된 에러를 정정하여 에러가 모두 정정되었으면 정정된 데이타와 "00"으로 세팅된 프래그를 출력하고 에러 정정이 실패한 경우 원 데이타의 신뢰성 정도에 따라 그 원래의 데이터와 "01" 또는 "11"로 세팅된 프래그를 출력하는 결과 출력부(18)로 구성한 것을 특징으로 하는 에러 정정 코드 복호 장치.
  2. "11"인 프래그의 갯수(N1)와 "01" 및 "11"인 프래그의 총 갯수(N2)를 산출하여 상기 프래그의 갯수(N2)가 복호기의 능력 안에 있는지 판별하는 제 1 단계와, 제 1 단계에서 복호기의 능력 안에 있어서 "01"과 "11"의 프래그를 모두 소거로 간주하고 복호기의 능력 밖이면 "11"의 프래그만을 소거로 간주함에 따라 에러 정정을 수행하고 에러가 모두 정정되었는지 판별하는 제 2 단계와, 제 2 단계에서 에러가 모두 정정되었으며 모드 데이타의 프래그를 "00"으로 세팅하여 출력하고 에러가 정정되지 않았으면 코드를 이루는 각 데이타가 소거로 간주되었는지 판별하는 제 3 단계와, 제 3 단계에서 데이타가 소거로 간주되었으면 프래그를 "11"로 세팅함과 아울러 원래의 데이타를 출력하고 각 데이타가 소거로 간주되지 않았으면 프래그를 "01"로 세팅함과 아울러 원래의 데이타를 출력하는 제 4 단계로 이루어짐을 특징으로 하는 에러 정정 코드 복호 방법.
  3. 제 2 항에 있어서, 제3, 제 4 단계를 제 2 단계에서 에러가 정정되지 않았으면 코드를 이루는 각 데이타의 원래의 프래그가 "11"이었는지 판별하는 제 3 단계와, 제 3 단계에서 데이타의 원래 프래그가 "11"이었으면 프래그를 "11"로 세팅함과 아울러 원래의 데이타를 출력하고 각 데이타의 원래 프래그가 "11"이 아니었으면 프래그를 "01"로 세팅함과 아울러 원래의 데이타를 출력하는 제 4 단계로 대치함을 특징으로 하는 에러 정정 코드 복호 방법.
  4. 제 2 항에 있어서, 제3, 제 4 단계를 제 2 단계에서 에러가 정정되지 않았으면 코드를 이루는 각 데이타의 원래의 프래그가 "00"이었는지 판별하는 제 3 단계와, 제 3 단계에서 데이타의 원래 프래그가 "00"이었으면 프래그를 "01"로 세팅함과 아울러 원래의 데이타를 출력하고 각 데이타의 원래 프래그가 "00"이 아니었으면 프래그를 "11"로 세팅함과 아울러 원래의 데이타를 출력하는 제 4 단계로 대치함을 특징으로 하는 에러 정정 코드 복호 방법.
KR1019930021853A 1993-10-20 1993-10-20 에러 정정 코드 복호 장치 및 그 방법 KR950010768B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1019930021853A KR950010768B1 (ko) 1993-10-20 1993-10-20 에러 정정 코드 복호 장치 및 그 방법
DE69424249T DE69424249T2 (de) 1993-10-20 1994-10-18 Gerät und Verfahren zur Dekodierung eines Fehlerkorrekturcodes
EP94402333A EP0650266B1 (en) 1993-10-20 1994-10-18 An error correction code decoder and a method thereof
US08/325,021 US5541939A (en) 1993-10-20 1994-10-18 Error correction code decoder and a method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930021853A KR950010768B1 (ko) 1993-10-20 1993-10-20 에러 정정 코드 복호 장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR950013057A KR950013057A (ko) 1995-05-17
KR950010768B1 true KR950010768B1 (ko) 1995-09-22

Family

ID=19366256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930021853A KR950010768B1 (ko) 1993-10-20 1993-10-20 에러 정정 코드 복호 장치 및 그 방법

Country Status (4)

Country Link
US (1) US5541939A (ko)
EP (1) EP0650266B1 (ko)
KR (1) KR950010768B1 (ko)
DE (1) DE69424249T2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009076370A2 (en) * 2007-12-11 2009-06-18 Nextwave Broadband, Inc. Outer coding framework

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3305966B2 (ja) * 1995-12-25 2002-07-24 ソニー株式会社 データ復号装置及びその方法並びにデータ再生装置
JPH1093447A (ja) * 1996-09-17 1998-04-10 Uniden Corp 復号装置及び復号方法
FR2838580B1 (fr) * 2002-04-12 2005-04-01 Canon Kk Procedes et dispositifs de faible cout pour le decodage de codes produits
US7587657B2 (en) * 2005-04-29 2009-09-08 Agere Systems Inc. Method and apparatus for iterative error-erasure decoding
JP4583294B2 (ja) * 2005-11-25 2010-11-17 東芝ストレージデバイス株式会社 誤り訂正装置、誤り訂正プログラム、及び誤り訂正方法
TWI393146B (zh) * 2008-10-15 2013-04-11 Genesys Logic Inc 具有錯誤修正碼容量設定單元之快閃記憶體控制器及其方法
US8161354B2 (en) * 2008-10-16 2012-04-17 Genesys Logic, Inc. Flash memory controller having configuring unit for error correction code (ECC) capability and method thereof

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3483375D1 (de) * 1983-06-22 1990-11-15 Hitachi Ltd Verfahren und system zur fehlerkorrektur.
JPH0812612B2 (ja) * 1983-10-31 1996-02-07 株式会社日立製作所 誤り訂正方法及び装置
EP0426657B1 (en) * 1983-12-20 1999-03-10 Sony Corporation Method and apparatus for decoding error correction code
US4555784A (en) * 1984-03-05 1985-11-26 Ampex Corporation Parity and syndrome generation for error detection and correction in digital communication systems
JPS63193723A (ja) * 1987-02-06 1988-08-11 Sony Corp リ−ドソロモン符号の復号方法
US4845713A (en) * 1987-06-08 1989-07-04 Exabyte Corporation Method and apparatus for determining the coefficients of a locator polynomial
US5020060A (en) * 1987-06-30 1991-05-28 Matsushita Electric Industrial Co., Ltd. Error code correction device having a galois arithmetic unit
JPH01122081A (ja) * 1987-11-06 1989-05-15 Mitsubishi Electric Corp ディジタル記録再生装置
JP2768723B2 (ja) * 1989-03-14 1998-06-25 三菱電機株式会社 復号化装置
US5206864A (en) * 1990-12-04 1993-04-27 Motorola Inc. Concatenated coding method and apparatus with errors and erasures decoding
US5373511A (en) * 1992-05-04 1994-12-13 Motorola, Inc. Method for decoding a reed solomon encoded signal with inner code and apparatus for doing same
US5379305A (en) * 1992-07-20 1995-01-03 Digital Equipment Corporation Error correction system with selectable error correction capabilities
JP3864501B2 (ja) * 1997-06-30 2007-01-10 住友金属鉱山株式会社 コーナーパネルの取付け方法および装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009076370A2 (en) * 2007-12-11 2009-06-18 Nextwave Broadband, Inc. Outer coding framework
WO2009076370A3 (en) * 2007-12-11 2009-08-13 Nextwave Broadband Inc Outer coding framework
US8195998B2 (en) 2007-12-11 2012-06-05 Wi-Lan, Inc. Outer coding framework

Also Published As

Publication number Publication date
EP0650266A3 (en) 1995-11-15
DE69424249T2 (de) 2001-01-04
EP0650266A2 (en) 1995-04-26
KR950013057A (ko) 1995-05-17
EP0650266B1 (en) 2000-05-03
US5541939A (en) 1996-07-30
DE69424249D1 (de) 2000-06-08

Similar Documents

Publication Publication Date Title
KR100549894B1 (ko) 부호화 장치, 부호화 방법, 이동국 장치 및 기지국 장치
US4271520A (en) Synchronizing technique for an error correcting digital transmission system
JPH0812612B2 (ja) 誤り訂正方法及び装置
EP1160987A2 (en) Method and apparatus for verifying error correcting codes
US3646518A (en) Feedback error control system
JPH07235880A (ja) デジタルデータ符号化方式
US3831143A (en) Concatenated burst-trapping codes
KR950010768B1 (ko) 에러 정정 코드 복호 장치 및 그 방법
CN111628780A (zh) 数据编码、解码方法及数据处理系统
EP2869471A1 (en) Coding and decoding of runlength limited error correcting codes based on Hamming codes
KR100526222B1 (ko) 복호장치 및 복호방법
EP0477377A1 (en) Error detecting system
US20170207799A1 (en) Method and apparatus for identification and compensation for inversion of input bit stream in ldpc decoding
RU2379841C1 (ru) Декодер с исправлением стираний
US5809042A (en) Interleave type error correction method and apparatus
US20160285475A1 (en) Method and apparatus for identification and compensation for inversion of input bit stream in ldpc decoding
EP0291961A2 (en) Method of and device for decoding block-coded messages affected by symbol substitutions, insertions and deletions
JP6552776B1 (ja) 誤り訂正復号装置および誤り訂正復号方法
JP3256006B2 (ja) 誤り訂正符復号化方式および誤り訂正符復号化装置
JPH1022839A (ja) 軟判定誤り訂正復号方法
KR100259296B1 (ko) 오류정정 방법
Labtau et al. Approximating the protection offered by a channel code in terms of bit error rate
JPH05175940A (ja) 誤り訂正方式
JPH06303150A (ja) 誤り訂正処理方法
KR970006022B1 (ko) 이레이져를 이용한 행망 부호회로

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090827

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee