KR20090041224A - 연접 디코더 및 연접 디코딩 방법 - Google Patents

연접 디코더 및 연접 디코딩 방법 Download PDF

Info

Publication number
KR20090041224A
KR20090041224A KR1020070106816A KR20070106816A KR20090041224A KR 20090041224 A KR20090041224 A KR 20090041224A KR 1020070106816 A KR1020070106816 A KR 1020070106816A KR 20070106816 A KR20070106816 A KR 20070106816A KR 20090041224 A KR20090041224 A KR 20090041224A
Authority
KR
South Korea
Prior art keywords
bit string
decoding
decoder
error
internal
Prior art date
Application number
KR1020070106816A
Other languages
English (en)
Inventor
김재홍
공준진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020070106816A priority Critical patent/KR20090041224A/ko
Priority to US12/073,883 priority patent/US8583982B2/en
Publication of KR20090041224A publication Critical patent/KR20090041224A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • H03M13/2951Iterative decoding using iteration stopping criteria
    • 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
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • H04L1/0051Stopping criteria
    • 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/0064Concatenated codes
    • H04L1/0065Serial concatenated codes

Abstract

연접 디코더 및 연접 디코딩 방법이 제공된다. 본 발명의 연접 디코더는 입력 비트열을 수신하고, 상기 수신된 입력 비트열을 내부 디코딩하여 제1 비트열을 생성하는 내부 디코더, 및 수신된 상기 제1 비트열에 대한 오류 정보를 생성하고, 상기 생성된 오류 정보에 따라 상기 내부 디코더로 반복복호계속 (continuation of iterative decoding) 요청을 전송하거나, 상기 제1 비트열을 외부 디코딩하여 제2 비트열을 생성하는 외부 디코더를 포함하는 것을 특징으로 하며, 이를 통해 연접 디코더의 전력 소모를 줄이고, 오류 정정 성능을 향상시킬 수 있다.
연접 디코더, 피드백, 에러 정보, 오류 정보

Description

연접 디코더 및 연접 디코딩 방법 {CONCATENATED DECODER AND METHOD OF CONCATENATED DECODING}
본 발명은 오류 제어 코드(error control codes)에 관한 것으로서, 특히 복수의 오류 제어 코드 디코더가 연접(concatenate)된 연접 디코더 및 연접 디코딩 방법에 관한 것이다.
일반적으로 정보를 전송하는 경로를 채널(channel)이라 부를 수 있다. 정보가 유선 통신을 이용하여 전송되면, 채널은 정보가 전송되는 전송선(transmission line)이고, 정보가 무선 통신을 이용하여 전송되면, 채널은 정보를 포함하는 전자기파가 통과하는 대기(air)이다.
반도체 메모리 장치가 정보를 저장하고, 저장된 정보를 반도체 메모리 장치로부터 읽어 내는 과정도 채널이 될 수 있다. 채널은 반도체 메모리 장치가 정보를 저장한 순간부터 저장된 정보를 반도체 메모리 장치로부터 읽어 낼 때까지의 시간적 경과일 수도 있고, 반도체 메모리 장치가 정보를 저장하고 저장된 정보를 반도체 메모리 장치로부터 읽어 내는 물리적 경로일 수도 있다.
채널을 경유하여 정보가 전송되는 동안 정보가 오염될 수 있다. 오염된 정보는 오류를 포함하며, 오염된 정보로부터 오류를 검출하고, 검출된 오류를 제거하여 최초의 정보를 복원하기 위한 장치 및 방법에 관한 연구는 꾸준히 진행되고 있다.
정보를 전송하기 전에 최초의 정보에 오류 제어 코드를 부가하여 전송 정보를 생성하는 과정을 오류 제어 코드 인코딩이라 하고, 전송 정보를 수신한 뒤 수신된 전송 정보로부터 오류 제어 코드를 분리하여 최초의 정보를 복원하는 과정을 오류 제어 코드 디코딩이라 한다.
채널의 특성에 따라서는, 채널에서 발생하는 오류의 비율이 매우 클 수 있다. 일반적으로 오류의 비율이 크면 클수록 이러한 오류를 극복하여 원하는 성능을 달성하기 위한 오류 제어 코드 인코딩 및 디코딩을 구현하기 위한 하드웨어 복잡도는 증가한다.
오류의 비율이 큰 채널의 경우, 복수의 오류 제어 코드 인코더를 연접한 연접 인코더가 이용되기도 한다. 연접 인코더에 의해 생성된 정보로부터 최초의 정보를 복원하는 과정은 일반적으로 연접 디코더를 이용하여 구현된다.
연접 디코더는 연접 인코더의 역순으로 구성되는 것이 일반적이다. 예를 들어, 연접 인코더가 인코더 A 및 인코더 B로 구성되어 있다면, 연접 디코더는 디코더 B 및 디코더 A로 구성된다.
본 명세서에서는, 오류 정정(error correction) 성능을 향상시킨 연접 디코더 및 연접 디코딩 방법이 제안된다.
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 반복 수행(iteration)을 통해 최초 정보를 복원하는 연접 디코더의 반복 수행 횟수(number of iteration)를 감소시킨다.
또한, 본 발명은 연접 디코더의 계산 횟수를 감소시킴으로써 결과적으로 전력 소모(power consumption)를 줄인다.
또한, 본 발명은 연접 디코더의 오류 정정(error correction) 성능을 향상시킨다.
또한, 본 발명은 외부 디코더로부터 내부 디코더로 오류 정보를 피드백하는 연접 디코더 및 연접 디코딩 방법을 제공한다.
상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명의 연접 디코더는 입력 비트열을 수신하고, 상기 수신된 입력 비트열을 내부 디코딩하여 제1 비트열을 생성하는 내부 디코더, 및 수신된 상기 제1 비트열에 대한 오류 정보를 생성하고, 상기 생성된 오류 정보에 따라 상기 내부 디코더로 반복복호계속 요청을 전송하거나, 상기 제1 비트열을 외부 디코딩하여 제2 비트열을 생성하는 외부 디코더를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 측면에 따른 연접 디코딩 방법은 수신된 입력 비트열을 내부 디코딩하여 제1 비트열을 생성하는 단계, 생성된 상기 제1 비트열에 대한 오류 정보를 생성하는 단계, 상기 생성된 오류 정보가 외부 디코더의 최대 오류 정정 능력(maximum error correcting capability)보다 크면 상기 내부 디코더로 반 복복호계속 요청을 전송하는 단계, 및 상기 생성된 오류 정보가 상기 최대 오류 정정 능력보다 크지 않으면 상기 제1 비트열을 외부 디코딩하여 제2 비트열을 생성하는 단계를 포함하는 것을 특징으로 한다.
이하에서, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 연접 디코더(100)를 나타낸 도면이다.
도 1을 참조하면, 연접 디코더(100)는 내부 디코더(110) 및 외부 디코더(120)를 포함한다.
내부 디코더(110)는 입력 비트열을 수신하고, 수신된 입력 비트열을 내부 디코딩하여 제1 비트열을 생성한다.
외부 디코더(120)는 수신된 제1 비트열에 대한 오류 정보를 생성하고, 생성된 오류 정보에 따라 내부 디코더(110)로 반복복호계속 요청을 전송하거나, 제1 비트열을 외부 디코딩하여 제2 비트열을 생성한다. 외부 디코더(120)는 오류 정보가 제1 조건을 만족하면 내부 디코더(110)로 반복복호계속 요청을 전송하고, 오류 정보가 제2 조건을 만족하면 제1 비트열을 외부 디코딩하여 제2 비트열을 생성한다.
내부 디코더(110)는 반복복호계속 요청을 수신하면, 생성된 제1 비트열을 계속 내부 디코딩하여 업데이트된 제1 비트열을 생성한다.
내부 디코더(110)는 제1 비트열에 대하여 반복복호계속 요청이 수신되면 레지스터에 저장된 값을 1 증가시킨다. 레지스터에 저장된 값은 제1 비트열에 대한 반복복호계속 요청이 수신된 횟수를 나타낸다.
내부 디코더(110)는 반복복호계속 요청이 수신된 횟수 및 최대 반복 수행 횟수(maximum number of iteration)를 비교하여, 비교한 결과에 따라 제1 비트열을 계속 내부 디코딩하여 업데이트된 제1 비트열을 생성할지 여부를 결정한다.
내부 디코더(110)는 반복복호계속 요청이 수신된 횟수가 최대 반복 수행 횟수보다 크지 않으면 제1 비트열을 계속 내부 디코딩하여 업데이트된 제1 비트열을 생성한다.
최대 반복 수행 횟수는 내부 디코더(110)의 오류 정정(error correction) 성능 또는 외부 디코더(120)의 오류 정정 성능에 기초하여 결정된다.
내부 디코더(110)가 업데이트된 제1 비트열을 생성하고 업데이트되어 생성된 제1 비트열이 외부 디코더(120)로 전송되면, 외부 디코더(120)는 업데이트되어 수신된 제1 비트열에 대한 오류 정보를 생성한다.
외부 디코더(120)는 업데이트된 제1 비트열에 대한 오류 정보가 제1 조건을 만족하면 내부 디코더(110)로 반복복호계속 요청을 전송하고, 오류 정보가 제2 조건을 만족하면 제1 비트열을 외부 디코딩하여 제2 비트열을 생성한다.
외부 디코더(120)가 제1 비트열 또는 업데이트된 제1 비트열 내에서 최대로 정정할 수 있는 오류의 개수를 최대 오류 정정 능력(maximum error correcting capability)이라 한다. 제1 조건은 오류 정보로부터 파악되는 제1 비트열 또는 업 데이트된 제1 비트열 내의 오류의 개수가 최대 오류 정정 능력보다 큰 조건이고, 제2 조건은 오류의 개수가 최대 오류 정정 능력보다 크지 않은 조건이다.
최대 오류 정정 능력은 외부 디코더(120)의 오류 정정 성능에 기초하여 결정된다.
외부 디코더(120)는, 내부 디코더(110)가 생성한 제1 비트열 내의 오류의 개수가 외부 디코더의 최대 오류 정정 능력보다 크지 않을 때까지, 내부 디코더(110)로 반복복호계속 요청을 전송한다.
내부 디코더(110)는 제1 비트열 내의 오류의 개수가 최대 오류 정정 능력보다 크지 않을 때까지 제1 비트열을 계속 내부 디코딩하여 업데이트한다.
내부 디코더(110)가 제1 비트열 내의 오류의 개수를 최대 오류 정정 능력보다 크지 않도록 줄이면, 외부 디코더(120)는 제1 비트열을 외부 디코딩하여 오류 없는 제2 비트열을 생성할 수 있다.
만일 내부 디코더(110)가 내부 디코딩 반복 수행 횟수의 제한 없이 제1 비트열을 업데이트할 수 있다면, 제1 비트열의 오류 개수를 외부 디코더(120)의 최대 오류 정정 능력 이하로 줄일 가능성이 높을 것이다. 그러나 실제로는, 시간적인 제약 때문에 내부 디코더(110)가 반복 수행할 수 있는 최대 반복 수행 횟수를 미리 설정하고, 내부 디코더(110)의 반복 수행 횟수를 제한한다.
실시예에 따라서는, 내부 디코더(110)는 최대 반복 수행 횟수만큼 외부 디코더(120)로부터 반복복호계속 요청이 수신될 때까지는 제1 비트열을 내부 디코딩하여 업데이트한다.
내부 디코더(110)는, 외부 디코더(120)로부터 반복복호계속 요청이 수신된 횟수가 최대 반복 수행 횟수보다 크면, 제1 비트열을 업데이트하지 않고 디코딩 거절 메시지를 외부 디코더(120)로 전송한다.
외부 디코더(120)는 디코딩 거절 메시지를 내부 디코더(110)로부터 수신하면 오류 정정 실패 메시지를 출력한다.
오류 정정 실패 메시지는 제2 비트열과 같은 크기를 가지는, 미리 약속된 비트열일 수 있다.
외부 디코더(120)는, 제2 비트열을 생성하여 출력한 뒤, 디코딩 완료 메시지를 내부 디코더(110)로 전송한다.
내부 디코더(110)는, 디코딩 완료 메시지가 수신되면, 다음 입력 비트열을 수신하고, 수신된 다음 입력 비트열을 내부 디코딩한다.
이 때, 내부 디코더(110)는 반복복호계속 요청이 수신된 횟수가 저장된 레지스터를 리셋한다. 새로운 입력 비트열에 대하여는, 반복 수행 횟수가 새롭게 0부터 카운트된다.
실시예에 따라서는, 외부 디코더(120)는 제1 비트열에 대한 오류 정보 및 반복복호계속 요청을 전송한 횟수에 기초하여 내부 디코더(110)로 반복복호계속 요청을 전송하거나, 제1 비트열을 외부 디코딩하여 제2 비트열을 생성할 수 있다.
외부 디코더(120)는 제1 비트열에 대한 오류 정보로부터 파악되는 오류의 개수가 최대 오류 정정 능력보다 크지 않으면 제1 비트열을 외부 디코딩하여 제2 비트열을 생성한다.
외부 디코더(120)는 오류의 개수가 최대 오류 정정 능력보다 크고, 반복복호계속 요청을 전송한 횟수가 최대 반복 수행 횟수보다 크지 않으면, 내부 디코더(110)로 반복복호계속 요청을 전송한다.
외부 디코더(120)는 오류의 개수가 최대 오류 정정 능력보다 크고, 반복복호계속 요청을 전송한 횟수가 최대 반복 수행 횟수보다 크면, 오류 정정 실패 메시지를 출력한다.
실시예에 따라서는, 오류 정보는 제1 비트열 내의 오류의 개수, 제1 비트열 내의 오류의 위치, 오류값 또는 제1 비트열 내의 오류의 정정 가능 여부 중 적어도 하나를 포함한다.
실시예에 따라서는, 내부 디코더(110)는 블록 코드 디코딩 기법(block codes decoding scheme)에 의하여 입력 비트열을 내부 디코딩할 수 있다.
실시예에 따라서는, 내부 디코더(110)는 비터비 디코딩(Viterbi decoding)과 같은 컨벌루셔널 코드 디코딩 기법(convolutional codes decoding scheme)에 의하여 입력 비트열을 내부 디코딩할 수 있다.
외부 디코더(120)는, 최대 오류 정정 능력이 명시적으로 드러나는 디코딩 기법에 의하여 제1 비트열을 외부 디코딩한다.
최대 오류 정정 능력이 명시적으로 드러나는 코드로는 순환 코드(cyclic codes) 등이 있다. 순환 코드의 예로는, BCH(Bose, Ray-Chaudhuri, Hocquenghem) 코드 또는 리드 솔로몬 (Reed-Solomon) 코드 등이 있으며, 이에 대한 디코딩 기법으로 메짓(Meggitt) 디코딩 기법, 벌레캠프메시(Berlekamp-Massey) 디코딩 기법, 유클리드(Euclid) 디코딩 기법 등이 있다.
연접 디코더(100)의 성능을 다음의 예를 통하여 보다 분명히 설명한다.
내부 디코더(110)가 외부 디코더(120)의 피드백 없이 내부 디코딩을 반복 수행(iterate)하는 경우, 제1 비트열에 포함된 오류의 개수가 다음과 같이 변화한다고 가정한다.
채널로부터 발생한 오류의 개수 -40개
첫번째 내부 디코딩 후 오류의 개수 - 30개
두번째 내부 디코딩 후 오류의 개수 - 8개
세번째 내부 디코딩 후 오류의 개수 - 12개
네번째 내부 디코딩 후 오류의 개수 - 20개
다섯번째 내부 디코딩 후 오류의 개수 - 10개
외부 디코더(120)는 제1 비트열에 포함된 오류의 개수가 10보다 크지 않으면 제1 비트열을 외부 디코딩하여 오류 없는 제2 비트열을 생성할 수 있다고 가정한다. 즉, 외부 디코더의 최대 오류 정정 능력을 10이라고 가정한다.
내부 디코더(110)가 외부 디코더(120)의 피드백 없이 내부 디코딩을 반복 수행하는 경우, 미리 정해진 반복 수행 횟수(예를 들어, 5)만큼 내부 디코딩을 반복 수행한다.
본 실시예에서는, 내부 디코더(110)가 두번째 내부 디코딩을 수행한 후 제1 비트열에 포함된 오류의 개수가 8개이므로 외부 디코더(120)는 반복복호계속 요청을 하지 않고 제1 비트열을 외부 디코딩하여 오류 없는 제2 비트열을 생성한다.
본 실시예에 따른 연접 디코더(100)는 외부 디코더(120)의 피드백에 의하여 내부 디코더(110)의 반복 수행 횟수를 줄일 수 있다.
연접 디코더(100)는 외부 디코더(120)로부터 내부 디코더(110)로 제1 비트열의 오류 정보를 피드백함으로써 내부 디코더(110)의 계산량을 줄일 수 있다. 일반적으로 내부 디코더(110)는 회로를 이용하여 구현되고, 회로의 곱셈 및 덧셈 등 계산이 반복되는 횟수 등은 회로의 전력 소모에 큰 영향을 끼친다.
연접 디코더(110)는, 내부 디코더(110)의 계산량을 줄임으로써 연접 디코더(110)의 전력 소모를 줄일 수 있다.
실시예에 따라서는, 제1 비트열에 포함된 오류의 개수가 8개보다 크지 않을 때 외부 디코더(120)는 제1 비트열을 외부 디코딩하여 오류 없는 제2 비트열을 생성할 수 있다고 가정한다. 즉, 외부 디코더의 최대 오류 정정 능력을 8이라고 가정한다.
만일 내부 디코더(110)가 외부 디코더(120)의 피드백 없이 내부 디코딩을 5번 반복 수행(iterate)하도록 설정되어 있다면, 5번의 반복 수행 후 제1 비트열은 10개의 오류를 포함하고, 따라서 외부 디코더(120)는 제1 비트열을 외부 디코딩하더라도 오류 없는 제2 비트열을 생성할 수 없다.
반면에, 본 발명의 연접 디코더(100)에서는, 두번째 내부 디코딩 후 제1 비트열이 포함하는 오류의 개수가 8개이므로 내부 디코더(110)는 더 이상 내부 디코딩을 반복 수행하지 않고, 외부 디코더(120)는 제1 비트열을 외부 디코딩하여 오류 없는 제2 비트열을 생성할 수 있다.
따라서, 본 발명의 연접 디코더(100)는 오류 없는 제2 비트열을 생성할 가능성을 높일 수 있다.
도 2는 본 발명의 일 실시예에 따른 연접 디코더(200)를 포함하는 연접 인코딩 및 디코딩 시스템에서 수행되는 인코딩 및 디코딩 과정을 도시한다.
도 2를 참조하면, 연접 디코더(200)는 내부 디코더(210) 및 외부 디코더(220)를 포함한다.
외부 인코더(240)는 입력 비트열을 수신하고, 수신된 입력 비트열을 외부 인코딩하여 제1 비트열을 생성한다. 내부 인코더(250)는 제1 비트열을 내부 인코딩하여 제2 비트열을 생성한다.
제2 비트열은 채널(230)에 입력된다. 제2 비트열은 채널(230)을 경유하면서 오류를 포함하는 제3 비트열로 변형된다. 제3 비트열은 내부 디코더(210)로 전송된다.
내부 디코더(210)는 제3 비트열을 수신하고, 수신된 제3 비트열을 내부 디코딩하여 제4 비트열을 생성한다.
외부 디코더(220)는 제4 비트열에 대한 오류 정보를 생성한다. 외부 디코더(220)는 오류 정보로부터 제4 비트열 내의 오류의 개수를 판단한다. 외부 디코더(220)는 오류의 개수가 최대 오류 정정 능력보다 크지 않으면, 제4 비트열을 외부 디코딩하여 제5 비트열을 생성한다.
외부 디코더(220)는 오류의 개수가 최대 오류 정정 능력보다 크면, 내부 디코더(210)로 반복복호계속 요청을 전송한다.
채널(230)은 전송선(transmission line) 또는 대기(air)일 수도 있고, 데이터 저장 장치(data storage device)의 데이터 쓰기 경로 및 데이터 읽기 경로일 수도 있다. 채널(230)은 데이터 저장 장치에 데이터를 저장한 순간부터 저장된 데이터를 읽어 내는 순간까지의 시간적 경과일 수도 있다.
채널(230)이 전송선인 경우 연접 인코딩 및 디코딩 시스템은 유선 통신 시스템(wired communication system)이다. 채널(230)이 대기인 경우 연접 인코딩 및 디코딩 시스템은 무선 통신 시스템(wireless communication system)이다.
채널(230)이 광 케이블(optical cable)인 경우 연접 인코딩 및 디코딩 시스템은 광 통신 시스템(optical communication system)이다.
채널(230)이 데이터 저장 장치의 데이터 쓰기 경로 및 데이터 읽기 경로인 경우 데이터 저장 장치는 광 저장 장치(optical storage device)일 수 있다.
또한, 데이터 저장 장치는 자기 기록 장치(magnetic recording device)일 수도 있고, 반도체 메모리일 수도 있다.
반도체 메모리의 예로는 DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), 플래시 메모리, PRAM(Phase-change Random Access Memory), MRAM(Magnetic Random Access Memory), FeRAM(Ferroelectric Random Access Memory) 등을 들 수 있다.
채널(230)의 특성에 따라서는, 제3 비트열은 제2 비트열과 상이할 수 있다. 이 때, 제3 비트열 및 제2 비트열의 차이가 제3 비트열의 오류이다.
연접 디코더(200)의 목적은, 입력 비트열과 동일한 제5 비트열을 생성하는 것이다. 외부 디코더(220)가 생성하는 제5 비트열과 입력 비트열의 차이가 제5 비트열의 오류이다.
시뮬레이션 결과에 따르면, 채널(230)의 특성 상 제3 비트열의 오류가 많지 않은 경우일수록, 본 발명의 연접 디코더(200)를 이용함으로써 얻어지는 디코딩 성능은 향상되는 경향을 보인다.
본 발명의 연접 디코더(200)는 외부 디코더(220)의 피드백을 이용하여 오류 없는 제5 비트열이 생성될 확률을 높인다.
도 3은 외부 인코더(240)가 수행하는 외부 인코딩 과정을 도시하는 도면이다.
도 3을 참조하면, 외부 인코더(240)는 입력 비트열에 포함된 정보(310) 및 외부 패리티(320)로부터 제1 비트열(330)을 생성한다. 외부 패리티(320)는 외부 인코딩 기법에 따라 정해질 수 있다. 외부 인코더(240)는 입력 비트열에 포함된 정보(310) 및 외부 패리티(320)를 외부 인코딩하여 제1 비트열(330)을 생성한다.
외부 디코더(220)는 외부 인코더(240)의 외부 인코딩 과정을 역으로 수행한다. 외부 디코더(220)는 제4 비트열을 외부 디코딩하여 제5 비트열을 생성한다.
외부 디코더(220)는 제4 비트열로부터 정보 및 외부 패리티(320)를 분리한다. 외부 디코더(220)에 의해 분리된 정보가 정보(310)와 동일하면, 제5 비트열은 오류를 포함하지 않게 된다.
도 4는 내부 인코더(250)가 수행하는 내부 인코딩 과정을 도시하는 도면이다.
도 4를 참조하면, 내부 인코더(250)는 제1 비트열(410) 및 내부 패리티(420)로부터 제2 비트열(430)을 생성한다. 내부 패리티(420)는 내부 인코딩 기법에 따라 정해질 수 있다. 내부 인코더(250)는 제1 비트열(410) 및 내부 패리티(420)를 내부 인코딩하여 제2 비트열(430)을 생성한다.
내부 디코더(210)는 내부 인코더(250)의 내부 인코딩 과정을 역으로 수행한다. 내부 디코더(210)는 제3 비트열을 내부 디코딩하여 제4 비트열을 생성한다.
내부 디코더(210)는 제3 비트열로부터 제4 비트열 및 내부 패리티(420)를 분리한다.
실시예에 따라서는, 내부 디코더(210) 및 내부 인코더(250)는 저밀도 패리티 체크(low-density parity-check, LDPC) 코드 인코딩 및 디코딩 기법을 이용하여 내부 디코딩 및 내부 인코딩을 수행할 수 있다.
실시예에 따라서는, 내부 디코더(210) 및 내부 인코더(250)는 컨벌루셔널 (convolutional) 코드 인코딩 및 디코딩 기법을 이용하여 내부 디코딩 및 내부 인코딩을 수행할 수 있다.
실시예에 따라서는, 내부 디코더(210) 및 내부 인코더(250)는 터보(turbo) 코드 인코딩 및 디코딩 기법을 이용하여 내부 디코딩 및 내부 인코딩을 수행할 수 있다.
도 5는 본 발명의 일 실시예에 따른 연접 디코딩 방법을 도시하는 동작 흐름도이다.
도 5를 참조하면, 연접 디코딩 방법은 수신된 입력 비트열을 내부 디코딩 하여 제1 비트열을 생성한다(S510).
연접 디코딩 방법은 생성된 제1 비트열에 대한 오류 정보를 외부 디코더에서 생성한다(S520).
연접 디코딩 방법은 생성된 오류 정보가 외부 디코더의 최대 오류 정정 능력보다 큰지 여부를 판단한다(S530).
연접 디코딩 방법은 생성된 오류 정보가 외부 디코더의 최대 오류 정정 능력보다 크면 내부 디코더로 반복복호계속 요청을 전송한다(S540).
연접 디코딩 방법은 단계(S540)를 수행한 뒤 단계(S510)를 다시 수행한다.
연접 디코딩 방법은 생성된 오류 정보가 외부 디코더의 최대 오류 정정 능력보다 크지 않으면 제1 비트열을 외부 디코딩하여 제2 비트열을 생성한다(S550).
실시예에 따라서는, 단계(S510)는 반복복호계속 요청이 수신되면, 생성된 제1 비트열을 계속 내부 디코딩하여 업데이트된 제1 비트열을 생성할 수 있다.
실시예에 따라서는, 단계(S510)는 반복복호계속 요청이 수신된 횟수에 기초하여 생성된 제1 비트열을 계속 내부 디코딩할지 여부를 결정할 수 있다.
실시예에 따라서는, 단계(S540)는 외부 디코더가 반복복호계속 요청을 전송한 횟수가 최대 반복 횟수보다 크지 않으면 내부 디코더로 반복복호계속 요청을 전송할 수 있다.
실시예에 따라서는, 오류 정보는 제1 비트열 내의 오류의 개수, 제1 비트열 내의 오류의 위치 또는 제1 비트열 내의 오류의 정정 가능 여부 중 적어도 하나를 포함할 수 있다.
실시예에 따라서는, 단계(S550)는 순환 코드(cyclic code)의 디코딩 기법에 의하여 제1 비트열을 외부 디코딩할 수 있다.
도 6은 도 5의 연접 디코딩 방법의 다른 예를 상세히 나타낸 동작 흐름도이다.
도 6을 참조하면, 연접 디코딩 방법은 단계(S540)를 수행한 후, 반복복호계속 요청이 전송된 횟수가 최대 반복 횟수보다 큰지 여부를 판단한다(S610).
연접 디코딩 방법은 반복복호계속 요청이 전송된 횟수가 최대 반복 횟수보다 크면 연접 디코딩을 종료한다.
연접 디코딩 방법은 반복복호계속 요청이 전송된 횟수가 최대 반복 횟수보다 크지 않으면 단계(S510)를 다시 수행한다.
본 발명에 따른 연접 디코딩 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일 실시예에 따른 연접 디코더(100)를 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 연접 디코더(200)를 포함하는 연접 인코딩 및 디코딩 시스템에서 수행되는 인코딩 및 디코딩 과정을 도시하는 도면이다.
도 3은 외부 인코더(240)가 수행하는 외부 인코딩 과정을 도시하는 도면이다.
도 4는 내부 인코더(250)가 수행하는 내부 인코딩 과정을 도시하는 도면이다.
도 5는 본 발명의 일 실시예에 따른 연접 디코딩 방법을 도시하는 동작 흐름도이다.
도 6은 도 5의 연접 디코딩 방법의 다른 예를 상세히 나타낸 동작 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 내부 디코더
120: 외부 디코더

Claims (14)

  1. 입력 비트열을 수신하고, 상기 수신된 입력 비트열을 내부 디코딩하여 제1 비트열을 생성하는 내부 디코더; 및
    수신된 상기 제1 비트열에 대한 오류 정보를 생성하고, 상기 생성된 오류 정보에 따라 상기 내부 디코더로 반복복호계속 요청을 전송하거나, 상기 제1 비트열을 외부 디코딩하여 제2 비트열을 생성하는 외부 디코더
    를 포함하는 것을 특징으로 하는 연접 디코더.
  2. 제1항에 있어서,
    상기 내부 디코더는
    상기 반복복호계속 요청을 수신하면, 상기 생성된 제1 비트열을 계속 내부 디코딩하여 업데이트된 제1 비트열을 생성하는 것을 특징으로 하는 연접 디코더.
  3. 제2항에 있어서,
    상기 내부 디코더는
    상기 반복복호계속 요청이 수신된 횟수에 기초하여 상기 생성된 제1 비트열을 계속 내부 디코딩할지 여부를 결정하는 것을 특징으로 하는 연접 디코더.
  4. 제1항에 있어서,
    상기 외부 디코더는
    상기 반복복호계속 요청을 전송한 횟수에 더 기초하여 상기 내부 디코더로 반복복호계속 요청을 전송할지 또는 상기 제1 비트열을 외부 디코딩할지를 결정하는 것을 특징으로 하는 연접 디코더.
  5. 제1항에 있어서,
    상기 외부 디코더는
    상기 생성된 오류 정보가 최대 오류 정정 능력보다 크지 않으면 상기 반복복호계속 요청을 하지 않고, 상기 제1 비트열을 외부 디코딩하여 오류가 없는 상기 제2 비트열을 생성하는 것을 특징으로 하는 연접 디코더.
  6. 제1항에 있어서,
    상기 오류 정보는 상기 제1 비트열 내의 오류의 개수, 상기 제1 비트열 내의 오류의 위치 또는 상기 제1 비트열 내의 오류의 정정 가능 여부 중 적어도 하나를 포함하는 것을 특징으로 하는 연접 디코더.
  7. 제1항에 있어서,
    상기 외부 디코더는
    순환 코드의 디코딩 기법에 의해 상기 제1 비트열을 상기 외부 디코딩하는 것을 특징으로 하는 연접 디코더.
  8. 수신된 입력 비트열을 내부 디코딩하여 제1 비트열을 생성하는 단계;
    생성된 상기 제1 비트열에 대한 오류 정보를 생성하는 단계;
    상기 생성된 오류 정보가 외부 디코더의 최대 오류 정정 능력보다 크면 상기 내부 디코더로 반복복호계속 요청을 전송하는 단계; 및
    상기 생성된 오류 정보가 상기 최대 오류 정정 능력보다 크지 않으면 상기 제1 비트열을 외부 디코딩하여 제2 비트열을 생성하는 단계
    를 포함하는 것을 특징으로 하는 연접 디코딩 방법.
  9. 제8항에 있어서,
    상기 수신된 입력 비트열을 내부 디코딩하는 단계는
    상기 반복복호계속 요청을 수신하면, 상기 생성된 제1 비트열을 계속 내부 디코딩하여 업데이트된 제1 비트열을 생성하는 것을 특징으로 하는 연접 디코딩 방법.
  10. 제9항에 있어서,
    상기 수신된 입력 비트열을 내부 디코딩하는 단계는
    상기 반복복호계속 요청이 수신된 횟수에 기초하여 상기 생성된 제1 비트열을 계속 내부 디코딩할지 여부를 결정하는 것을 특징으로 하는 연접 디코딩 방법.
  11. 제8항에 있어서,
    상기 내부 디코더로 반복복호계속 요청을 전송하는 단계는
    상기 반복복호계속 요청을 전송한 횟수가 최대 반복 횟수보다 크지 않고, 상기 생성된 오류 정보가 최대 오류 정정 능력보다 크면 상기 내부 디코더로 반복복호계속 요청을 전송하는 것을 특징으로 하는 연접 디코딩 방법.
  12. 제8항에 있어서,
    상기 오류 정보는 상기 제1 비트열 내의 오류의 개수, 상기 제1 비트열 내의 오류의 위치 또는 상기 제1 비트열 내의 오류의 정정 가능 여부 중 적어도 하나를 포함하는 것을 특징으로 하는 연접 디코딩 방법.
  13. 제8항에 있어서,
    상기 제1 비트열을 외부 디코딩하는 단계는
    순환 코드의 디코딩 기법에 의해 상기 제1 비트열을 상기 외부 디코딩하는 것을 특징으로 하는 연접 디코딩 방법.
  14. 제8항 내지 제13항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.
KR1020070106816A 2007-10-23 2007-10-23 연접 디코더 및 연접 디코딩 방법 KR20090041224A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070106816A KR20090041224A (ko) 2007-10-23 2007-10-23 연접 디코더 및 연접 디코딩 방법
US12/073,883 US8583982B2 (en) 2007-10-23 2008-03-11 Concatenated decoder and concatenated decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070106816A KR20090041224A (ko) 2007-10-23 2007-10-23 연접 디코더 및 연접 디코딩 방법

Publications (1)

Publication Number Publication Date
KR20090041224A true KR20090041224A (ko) 2009-04-28

Family

ID=40564725

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070106816A KR20090041224A (ko) 2007-10-23 2007-10-23 연접 디코더 및 연접 디코딩 방법

Country Status (2)

Country Link
US (1) US8583982B2 (ko)
KR (1) KR20090041224A (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2460417B (en) * 2008-05-28 2011-04-06 Mirics Semiconductor Ltd Broadcast receiver system
GB2460416B (en) * 2008-05-28 2010-07-07 Mirics Semiconductor Ltd Broadcast receiver system
US8312346B2 (en) * 2009-05-01 2012-11-13 Mirics Semiconductor Limited Systems and methods for communications
EP2436120B1 (en) 2009-05-27 2017-09-27 Novelsat Ltd Adaptive scheduling of iterative demodulation and ldpc decoding
US8929488B2 (en) 2010-05-06 2015-01-06 Telefonaktiebolaget L M Ericsson (Publ) Technique for processing encoded information in a wireless communication network
US9362955B2 (en) * 2010-09-10 2016-06-07 Trellis Phase Communications, Lp Encoding and decoding using constrained interleaving
US9264182B2 (en) 2012-09-13 2016-02-16 Novelsat Ltd. Iterative receiver loop
EP3098991B1 (en) 2014-02-11 2019-10-23 Huawei Technologies Co., Ltd. Channel decoding method and apparatus
JP2019057752A (ja) 2017-09-19 2019-04-11 東芝メモリ株式会社 メモリシステム
TWI739074B (zh) * 2019-03-15 2021-09-11 瑞昱半導體股份有限公司 迭代式檢測與解碼電路、迭代式檢測與解碼方法及多輸入多輸出接收機

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6292918B1 (en) * 1998-11-05 2001-09-18 Qualcomm Incorporated Efficient iterative decoding
US6473878B1 (en) * 1999-05-28 2002-10-29 Lucent Technologies Inc. Serial-concatenated turbo codes
FR2800942A1 (fr) * 1999-11-09 2001-05-11 France Telecom Procede de decodage de donnees codees a l'aide d'un code entropique, dispositif de decodage et systeme de transmission correspondants
US7243294B1 (en) * 2000-01-13 2007-07-10 California Institute Of Technology Serial turbo trellis coded modulation using a serially concatenated coder
US7032154B2 (en) * 2000-06-05 2006-04-18 Tyco Telecommunications (Us) Inc. Concatenated forward error correction decoder
JP4198904B2 (ja) 2001-06-11 2008-12-17 富士通株式会社 記録再生装置、信号復号回路、エラー訂正方法、及び反復型復号器
KR100444571B1 (ko) 2002-01-11 2004-08-16 삼성전자주식회사 터보디코더와 알에스디코더가 연접된 디코딩장치 및 그의디코딩방법
EP1359672A1 (en) * 2002-05-03 2003-11-05 Siemens Aktiengesellschaft Method for improving the performance of concatenated codes
KR20050114162A (ko) 2004-05-31 2005-12-05 삼성전자주식회사 리드-솔로몬 부호를 사용하는 이동통신 시스템에서 내부및 외부 부호 복호 방법 및 그 장치
US7870458B2 (en) * 2007-03-14 2011-01-11 Harris Corporation Parallel arrangement of serial concatenated convolutional code decoders with optimized organization of data for efficient use of memory resources

Also Published As

Publication number Publication date
US8583982B2 (en) 2013-11-12
US20090106637A1 (en) 2009-04-23

Similar Documents

Publication Publication Date Title
KR20090041224A (ko) 연접 디코더 및 연접 디코딩 방법
US10547332B2 (en) Device, system and method of implementing product error correction codes for fast encoding and decoding
US9998148B2 (en) Techniques for low complexity turbo product code decoding
US10511326B2 (en) Systems and methods for decoding error correcting codes
US10243589B2 (en) Multi-bit error correction method and apparatus based on a BCH code and memory system
US8347178B2 (en) Method, device and apparatus for correcting bursts
US11115051B2 (en) Systems and methods for decoding error correcting codes
US8806295B2 (en) Mis-correction and no-correction rates for error control
US9054742B2 (en) Error and erasure decoding apparatus and method
US9391641B2 (en) Syndrome tables for decoding turbo-product codes
US10574274B2 (en) Systems and methods for decoding error correcting codes
WO2004107585A1 (ja) 復号方法および復号装置、プログラム、記録再生装置および方法、並びに、再生装置および方法
US10389383B2 (en) Low-complexity LDPC encoder
US10606697B2 (en) Method and apparatus for improved data recovery in data storage systems
US10200066B2 (en) Code reconstruction scheme for multiple code rate TPC decoder
WO2019096184A1 (zh) 阶梯码的解码方法、装置及存储介质
US8196004B1 (en) Fast erasure decoding for product code columns
US10387254B2 (en) Bose-chaudhuri-hocquenchem (BCH) encoding and decoding tailored for redundant array of inexpensive disks (RAID)
Ovchinnikov et al. About burst decoding for block-permutation LDPC codes
KR100594002B1 (ko) 가변 처리가 가능한 파이프라인 구조의 리드 솔로몬 복호기
WO2011144161A1 (zh) 前向纠错方法、装置及系统
WO2021120729A1 (zh) 译码方法、设备、可读存储介质、芯片及计算机程序产品
Huang The comparison of BCH decoding methods and the parameters affecting the BCH code performance
US8296632B1 (en) Encoding and decoding of generalized Reed-Solomon codes using parallel processing techniques
Tithi Error-floors of the 802.3 an ldpc code for noise assisted decoding

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application