KR101192898B1 - 반복 디코더의 전력 감소를 위한 방법 및 장치 - Google Patents

반복 디코더의 전력 감소를 위한 방법 및 장치 Download PDF

Info

Publication number
KR101192898B1
KR101192898B1 KR1020077030317A KR20077030317A KR101192898B1 KR 101192898 B1 KR101192898 B1 KR 101192898B1 KR 1020077030317 A KR1020077030317 A KR 1020077030317A KR 20077030317 A KR20077030317 A KR 20077030317A KR 101192898 B1 KR101192898 B1 KR 101192898B1
Authority
KR
South Korea
Prior art keywords
bit
aberration
iteration
decoder
confidence value
Prior art date
Application number
KR1020077030317A
Other languages
English (en)
Other versions
KR20080028376A (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 톰슨 라이센싱
Publication of KR20080028376A publication Critical patent/KR20080028376A/ko
Application granted granted Critical
Publication of KR101192898B1 publication Critical patent/KR101192898B1/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/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/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming 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/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • 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/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • 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/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. 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
    • 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/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • H03M13/1165QC-LDPC codes as defined for the digital video broadcasting [DVB] specifications, e.g. DVB-Satellite [DVB-S2]
    • 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
    • H03M13/152Bose-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/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/2957Turbo codes and decoding
    • 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/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

반복 디코더의 전력 소비를 줄이기 위한 방법, 장치, 그리고 컴퓨터 프로그램 제품이 제공된다. 상기 장치는 메모리 디바이스와 반복 종료 디바이스를 포함한다. 상기 메모리 디바이스는 최대 반복횟수 이전까지 반복 디코더가 수행하는 각 반복에 대하여, 현재의 반복동안 디코딩된 코드워드와 이전의 반복동안 디코딩된 코드워드 사이의 상이한 비트의 수를 나타내는 비트 수차(number difference)를 저장한다. 상기 반복 종료 디바이스는 상기 비트 수차를 미리 특정된 비트 수차 임계값과 비교하고 상기 비트 수차가 상기 미리 특정된 비트 수차 임계값을 초과하면 신뢰값을 증가시키며 상기 신뢰값이 미리 특정된 신뢰 임계값을 초과하면 상기 반복 디코더의 추가적인 반복을 종료시킨다.
반복 디코더, 인코더, 코드워드, 전력 감소, 비트 수차

Description

반복 디코더의 전력 감소를 위한 방법 및 장치{METHOD AND APPARATUS FOR POWER REDUCTION IN ITERATIVE DECODERS}
본 발명은 전반적으로 비디오 디코더에 관한 것으로, 보다 상세하게는 반복 디코더의 전력 감소를 위한 방법 및 장치에 관한 것이다.
최근 몇 년간, 저밀도 패리티 체크(LDPC;Low Density Parity Check)와 터보 코드(turbo code)는 통신시스템에서 순방향 오류 정정 코드로 채택되어왔다. 예를 들어, LDPC 코드는 차세대 위성 통신 시스템용 디지털 비디오 방송 위성 버젼 2(DVB-S2; Digital Video Broadcasting Satellite version 2) 표준에서 사용되며, 터보 코드는 광대역 코드분할 다중접속(WCDMA;Wideband Code Division Mulitiplexing Access) 시스템에서 사용된다.
LDPC와 터보 코드를 위한 디코딩 알고리즘은 반복 알고리즘으로서, 디코더는 한 세트의 동작을 수회 반복하여 수신된 코드워드를 디코딩한다. 단순화를 위하여, 하나의 코드워드를 디코딩하기 위한 에너지의 양이 고정되어 있는 경우에는 고정된 횟수의 반복이 이용될 수 있다. 그러나 정상적인 동작 조건하에서, 동일한 디코딩 성능을 얻기 위하여는 실제로는 최대 반복 횟수의 작은 부분만이 요구된다.
따라서, 적절한 성능을 유지하면서 시스템의 전력 소비를 줄일 수 있도록 최 대 반복 횟수에 도달하기 전에 반복을 종료시키는 방법과 장치를 구비하는 것이 바람직하면서도 아주 이익이 되게 될 것이다.
<발명의 개요>
전술한 종래 기술의 단점 및 기타 단점은 반복 디코더(iterative decoder)에서 전력 감소를 위한 방법과 장치에 관한 본 발명에 의해서 해결된다.
본 발명의 일 측면에 따르면, 반복 디코더의 전력 소비를 감소시키는 장치가 제공된다. 이러한 장치는 메모리 디바이스 및 반복 종료 장치를 포함한다. 메모리 디바이스는 최대 반복횟수 이전의 반복 디코더의 각 반복에 대하여, 현재의 반복에 대하여 디코딩된 코드워드와 이전의 반복에 대한 디코딩된 코드워드 사이의 상이한 비트의 수를 나타내는 비트 수차(bit number difference)를 저장하기 위한 것이다. 반복 종료 장치는, 비트 수차를 미리 특정된 비트 수차 임계값과 비교하고, 비트 수차가 미리 특정된 비트 수차 임계값보다 작은 경우에는 신뢰값을 증가시키며, 신뢰값이 미리 특정된 신뢰 임계값을 초과하는 경우에는 반복 디코더의 추가적인 반복을 종료시키기 위한 것이다.
본 발명의 다른 측면에 따르면, 반복 디코더의 전력 소비를 감소시키기 위한 방법이 제공된다. 이러한 방법은, 최대 반복 횟수이전에 반복 디코더의 각각의 반복에 대하여, 현재의 반복동안 디코딩된 코드워드와 이전의 반복동안 디코딩된 코드워드 사이의 상이한 비트의 수를 나타내는 비트 수차(bit number difference)를 버퍼에 저장하는 단계를 포함한다. 상기 방법은 비트 수차를 미리 특정된 비트 수차 임계값과 비교하는 단계 또한 포함한다. 상기 방법은 비트 수차가 미리 특정된 비트 수차 임계값보다 작은 경우에는 신뢰값을 증가시키는 단계를 더 포함한다. 또한, 상기 방법은 신뢰값이 미리 특정된 신뢰 임계값을 초과하는 경우에는 반복 디코더의 추가적인 반복을 종료시키는 단계를 포함한다.
본 발명의 또 다른 측면에 따르면, 반복 디코더의 전력 소비를 감소시키기 위한 컴퓨터 사용가능 프로그램 코드를 포함하는 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품이 제공된다. 상기 컴퓨터 프로그램은 최대 반복 횟수 이전의 반복 디코더의 각각의 반복에 대하여 현재 반복에 대하여 디코딩된 코드워드와 이전의 반복에 대한 디코딩된 코드워드 사이의 차인 비트의 수를 나타내는 비트 수차의 버퍼에의 저장을 야기하는 컴퓨터 이용가능 프로그램 코드를 포함한다. 상기 컴퓨터 프로그램 제품은 비트 수차가 미리 특정된 비트 수차 임계값보다 작은 경우에는 신뢰값을 증가시키기 위한 컴퓨터 이용가능 프로그램 코드를 더 포함한다. 상기 컴퓨터 프로그램 제품은 신뢰값이 미리 특정된 신뢰 임계값을 초과하는 때에 반복 디코더의 추가적인 반복의 종료를 야기하는 컴퓨터 이용가능 프로그램 코드 또한 포함한다.
본 발명의 이들 및 다른 측면, 특징 및 장점은 첨부된 도면과 관련하여 기술되는 예시적인 실시예의 아래의 상세한 설명으로부터 명백해질 것이다.
본 발명은 아래의 예시적인 도면에 의해서 보다 잘 이해될 수 있을 것이다.
도 1은 본 발명의 원리에 따라 본 발명이 적용되는 통신 시스템의 블록도.
도 2는 종래의 기술에 따른 고정된 반복 횟수를 이용하는 LDPC 디코더의 블 록도.
도 3은 본 발명의 원리에 따른 적응적인 반복 종료를 가지는 LDPC 디코더의 블록도.
도 4는 본 발명의 원리에 따른 반복 디코더에 대한 적응적인 반복 종료에 대한 방법의 흐름도.
도 5는 본 발명의 원리에 따른 반복 디코더에 대한 적응적인 반복 종료의 다른 방법의 흐름도.
도 6은 본 발명의 원리에 따른 반복 디코더에 대한 적응적 반복 종료의 또 다른 방법의 흐름도.
본 발명은 반복 디코더의 전력 감소를 위한 방법 및 장치에 관한 것이다. 바람직하게, 본 발명은 디코딩 성능을 유지하면서 반복의 최대 허용가능 반복 횟수에 도달하기 이전에 반복 디코더에서 반복 프로세스를 종료함으로써 전력 소비를 제공한다.
본 상세한 설명은 본 발명의 원리를 설명한다. 따라서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 본 명세서에 명시적으로 서술되거나 도시되지 않았다 할지라도, 본 발명의 원리를 구현하는 다양한 변형을 고안할 수 있으며, 이것은 본 발명의 사상과 범위에 포함된다는 점이 이해될 수 있을 것이다.
본 명세서에서 서술된 모든 예와 조건문은 기술을 발전시키기 위하여 발명자가 기여한 본 발명의 원리와 개념들을 이해하는데 도움을 주기 위한 교육적 목적을 위한 것이며, 그렇게 명확하게 기술한 예와 조건에는 제한이 없음이 이해되어야 한다.
게다가, 본 명세서에서 기술하는 본 발명의 특정한 예뿐만 아니라, 원리, 양상, 그리고 실시예는 본 발명의 구조적 그리고 기능적 등가물을 동시에 포함한다. 추가적으로, 그러한 등가물에는 현재에 알려진 등가물뿐만 아니라, 향후에 개발될 등가물, 즉 구조에 상관없이 동일한 기능을 수행하도록 개발될 어떠한 요소라도 포함된다.
그러므로, 예를 들어, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 본 명세서에서 제시한 블록도가 본 발명의 원리를 구현하는 회로 설명에 대한 개념도를 나타낸다는 점을 이해할 수 있을 것이다. 비슷하게, 흐름도, 상태 천이도, 의사코드(pseudocode) 등은 컴퓨터가 판독할 수 있는 매체에서 실질적으로 표현될 수 있는 다양한 프로세스를 나타내며, 컴퓨터 혹은 프로세서가 명시적으로 나타나는지의 여부와 상관없이 컴퓨터 혹은 프로세서에서 실행된다는 점을 이해할 수 있을 것이다.
도면에 도시된 다양한 구성요소들의 기능은 적절한 소프트웨어와 함께 소프트웨어를 실행할 수 있는 하드웨어뿐만 아니라 전용 하드웨어를 사용하여 제공될 수 있을 것이다. 프로세서에 의하여 제공될 때, 그 기능들은 단일의 전용 프로세서, 단일의 공유 프로세서, 혹은 복수의 프로세서가 각자 일부를 공유함으로써 제공될 수 있을 것이다. 게다가 "프로세서" 혹은 "컨트롤러"라는 용어를 명시적으로 사용하였다 하여도 이것이 소프트웨어를 실행할 수 있는 하드웨어만을 배타적으로 언급하는 것으로 이해되지 않아야 하며, 암시적으로, 그리고 제한없이 디지털 신호 처리기(DSP) 하드웨어, 소프트웨어를 저장하기 위한 ROM(Read Only Memory), RAM(Random Access Momory), 그리고 비휘발성 저장장치를 포함할 수 있을 것이다.
다른 하드웨어, 종래 기술 및/또는 관습이 포함될 수도 있을 것이다. 비슷하게, 도면에 도시된 스위치들은 단지 개념적인 것이다. 이들의 기능은 프로그램 로직의 동작, 전용 로직, 프로그램 제어와 전용 로직의 상호 작용을 통하여, 또는 심지어 수동으로 수행될 수 있으며, 실시자가 선택할 수 있는 특정한 기술은 그 내용으로부터 보다 상세하게 이해될 수 있다.
청구의 범위에서, 특정한 기능을 수행하는 수단으로 표현된 구성요소는, 예를 들어 a) 그 기능을 수행하는 회로 소자의 조합 또는 b) 그 기능을 수행할 수 있는 소프트웨어를 실행할 수 있는 적절한 회로와 결합한 펌웨어(firmware), 마이크로코드 등 임의 형태의 소프트웨어를 포함하여 그 기능을 수행할 수 있는 어떠한 방식도 모두 포함하는 것으로 의도된다. 그러한 청구의 범위에 의하여 정의되는 발명은, 다양하게 기술된 수단에 의하여 제공된 기능들이 청구의 범위가 요구하는 방식으로 결합되고 이루어진다는 사실을 기초로 한다. 그러므로 그러한 기능성을 제공할 수 있는 수단은 그것이 어떠한 것이라도 본 명세서에 나타난 것과 등가물이라고 간주된다.
도 1을 참조하면, 본 발명이 적용될 수 있는 통신 시스템이 참조번호를 100으로 하여 전반적으로 도시되어 있다. 이 통신 시스템은 LDPC(low-density parity-check)를 사용한다. BCH(Bose-Chaudhuri-Hocquenghem) 코드, 또는 리드 솔로몬(RS;Reed-Solomon) 코드를 포함하며, 이에 한정되지 않는 기타 오류 정정 코드가 통신 시스템(100)에 부가되어 매우 낮은 비트 에러율을 얻을 수 있을 것이다. 예를 들어, 디지털 비디오 방송 위성 버전2(DVB-S2) 표준은 도 1에 관하여 도시되고 설명된 코딩 기법을 채택하고 있다.
상기 통신 시스템은 데이터 소스(105), BCH 인코더(110), LDPC 인코더(115), 변조기(120), 통신 채널(125), 복조기(130), LDPC 디코더(135), BCH 디코더(140) 그리고 데이터 싱크(Data Sink, 145)를 포함한다.
데이터 소스(105)의 출력은 BCH 인코더(110)의 입력에 신호 통신(signal communication)으로 연결된다. BCH 인코더의 출력은 LDPC 인코더(115)의 입력에 신호 통신으로 연결된다. LDPC 인코더(115)의 출력은 변조기(120)의 입력에 신호 통신으로 연결된다. 변조기의 출력은 통신 채널(125)의 입력에 신호 통신으로 연결된다. 통신 채널(125)의 출력은 복조기(130)의 입력에 신호 통신으로 연결된다. 복조기의 출력은 LDPC 디코더(135)의 입력에 신호 통신으로 연결된다. LDPC 디코더(135)의 출력은 BCH 디코더(140)의 입력에 신호 통신으로 연결된다. BCH 디코더(140)의 출력은 데이터 싱크(145)의 입력에 신호 통신으로 연결된다.
본 발명은 단지 도 1에 도시된 통신 시스템(100)과 함께 사용되는 것으로 한정되지 않으며, 따라서 본 명세서에서 개시하는 본 발명의 사상을 고려할 때 본 발명 그리고 본 발명과 관련된 기술분야에서 통상의 지식을 가진 자가 본 발명으 범위를 유지하면서 본 발명이 적용될 수 있는 다른 통신 시스템 및 통신 시스템 구성을 생각해낼 수 있을 것이라는 것은 예측할 수 있는 일이다.
또한, 본 발명이 본 명세서에서 개시하는 코드에 한정되지 않으며, 따라서 본 명세서에서 개시하는 본 발명의 사상을 고려할 때 본 발명 그리고 본 발명과 관련된 기술분야에서 통상의 지식을 가진 자가 본 발명의 범위를 유지하면서 본 발명이 적용될 수 있는 다른 코드를 생각해낼 수 있을 것이라는 것은 예측할 수 있는 일이다.
도 2를 참조하면, 고정된 반복 횟수를 사용하는 LDPC 디코더의 전체 구성이 참조번호 200으로 도시되어 있다.
LDPC 디코더(200)는 반복 제어기(205), 체크 노드 프로세서(210), 비트 노드 프로세서(215) 및 비트 결정 모듈(220)을 포함한다.
반복 제어기(205)의 출력은 체크 노드 프로세서(210)의 제1 입력, 비트 노드 프로세서(215)의 제1 입력, 그리고 비트 결정 모듈(220)의 제1 입력과 신호 통신으로 연결된다.
체크 노드 프로세서(210)의 출력은 비트 노드 프로세서(215)의 제2 입력과 신호 통신으로 연결된다. 비트 노드 프로세서(215)의 출력은 비트 결정 모듈(220)의 제2 입력과 신호 통신으로 연결된다. 비트 결정 모듈(220)의 출력은 LDPC 디코더(200)의 출력으로 이용할 수 있다. LDPC 디코더(200)의 출력은 디코딩된 코드 워드를 제공한다.
그러므로, 초기화 이후에, 각 디코딩 반복은 체크 노드 프로세싱, 비트 노드 프로세싱, 그리고 비트 결정을 포함한다. 반복 제어기(205)는 다른 구성 요소들을 위하여 필요한 모든 제어 신호를 생성하고 반복 횟수를 센다. 반복 횟수가 최대 숫자에 도달하면 반복 제어기(205)는 디코딩 프로세스를 종료시키며, 디코딩된 코드워드가 출력된다.
위와 같은 방법의 이점은 단순함이다. 즉, 디코더(200)는 수신된 모든 코드워드에 대하여 동일한 양의 전력을 소비한다. 그러나 통신 채널은 통상적으로 동적이고 최대 반복 횟수는 타이밍 제한, 최대 허용 전력, 그리고 최악의 채널 조건에 의하여 설정된다. 정상적인 채널 조건하에서, 디코더는 수신된 코드워드를 성공적으로 디코딩하기 위하여 통상적으로 최대치보다 적은 반복을 요구한다.
본 발명의 이점으로서, 본 발명은 디코딩 프로세스의 수렴(convergence)을 결정하고 그에 따라 반복 프로세스를 종료하는 장치 및 방법을 제공한다. 이를 이루기 위하여, 반복 종료 모듈과 디코딩된 코드워드 버퍼(decoded codeword buffer)가 도 3에 도시된 바와 같이 도 2의 디코더에 부가된다.
도 3을 참조하면, 적응적 반복 종료를 하는 LDPC 디코더가 참조 번호 300으로 전체 구성이 도시되어 있다.
LDPC 디코더(300)는 반복 제어기(305), 체크 노드 프로세서(310), 비트 노드 프로세서(315), 비트 결정 모듈(320), 반복 종료 모듈(325), 그리고 디코딩된 코드워드 버퍼(330)를 포함한다.
반복 제어기(305)의 출력은 체크 노드 프로세서(310)의 제1 입력, 비트 노드 프로세서(315)의 제1 입력, 그리고 비트 결정 모듈(320)의 제1 입력과 신호 통신으로 연결된다.
체크 노드 프로세서(310)의 출력은 비트 노드 프로세서(315)의 제2 입력과 신호 통신으로 연결된다. 비트 노드 프로세서(315)의 출력은 비트 결정 모듈(320)의 제2 입력과 신호 통신으로 연결된다. 비트 결정 모듈(320)의 출력은 LDPC 디코더(300)의 출력으로서 이용할 수 있다. LDPC 디코더(300)의 출력은 디코딩된 코드워드를 제공한다.
이제 본 발명의 일 실시예에 따라 반복 디코더에 대하여 적응적 반복 종료를 위한 방법을 상세하게 설명한다. 본 방법을 처음에는 일반적으로 서술하고, 이후에 도 4를 참조하면서 보다 상세하게 설명하도록 한다.
다음의 표기법이 도 4와 관련되어 사용된다. 즉, k는 반복 지수(iteration index), Kmin과 Kmax는 각각 최소 반복 횟수와 최대 반복 횟수, Stop_iteration은 반복 프로세스를 중단시키기 위하여 반복 제어기로 보내지는 제어 신호, 그리고 m은 현재의 디코딩된 코드워드가 이전의 m번 반복시 디코딩된 코드워드와 동일함을 나타내는 신뢰 카운터이다.
반복 종료 프로세스는 다음과 같다. 반복 횟수 k가 Kmin-1에 달하면, 디코딩된 코드워드는 코드워드 버퍼에 기록된다. k가 Kmax보다 작은 한(k<Kmax), k번째 반복의 디코딩된 코드워드 CW(k)는 직전에 디코딩된 코드워드로서 버퍼에 저장된 코드워드, 즉 CW(k-1)과 비교된다. 만약 두 코드워드가 동일하면, 신뢰 카운터 m은 증가되지만, 그렇지 아니하면 신뢰 카운터는 0으로 리셋된다. m이 사전에 설정된 값인 M에 도달하면, 제어 신호 Stop_iteration은 1로 설정되며, 이는 반복 제어기에게 반복 프로세스를 중단하라고 알려주는 것이다. m이 M보다 작은 한(m<M), 디코딩된 코드워드 CW(k)는 코드워드 버퍼에 기록된다. Kmin, Kmax, M은 조절이 가능한 파라미터인 점을 명심하여야 한다. 디코더의 전력 소비를 줄이기 위하여, 우리는 Kmin을 정상적인 채널 조건하에서 필요한 반복 횟수로 설정할 수 있다. 그러므로 우리는 불필요한 비교와 판독/기록 동작을 피할 수 있다. Kmax는 타이밍 제한, 최대(peak) 전력 소비, 그리고 최악 채널 조건들에 의하여 결정된다. 현재의 디코딩된 출력이 이전 반복에서의 디코딩된 출력과 같은 한, 디코딩 알고리즘은 일반적으로 수렴하고 올바른 코드워드를 얻을 수 있기 때문에 M은 통상적으로 1로 설정된다.
도 4를 참조하면, 반복 디코더에 대하여 적응적 반복 종료를 위한 방법이 참조번호를 400으로 전체 흐름이 도시되어 있다. 도 4에서, 전술한 바와 같이, k는 반복 지수, Kmin과 Kmax는 각각 최소 반복 횟수와 최대 반복 횟수, Stop_iteration은 반복 프로세스를 중단시키기 위하여 반복 제어기로 보내지는 제어 신호, 그리고 m은 현재의 디코딩된 코드워드가 이전의 m번 반복시 디코딩된 코드워드와 동일함을 나타내는 신뢰 카운터이다.
초기화 블록(405)은 변수 k, m, 그리고 Stop_iteration을 0으로 설정한 후 참조번호가 410인 기능 블록으로 제어를 넘긴다. 참조번호가 410인 기능 블록은 변수 k에 1을 더한 후 참조번호가 415인 판정 블록으로 제어를 넘긴다. 참조번호가 415인 판정 블록은 k가 Kmin-1과 같은지 여부를 판단한다. 만약 Kmin-1이 k와 같지 않다면, 제어는 참조번호가 410인 기능 블록으로 복귀한다. 그렇지 않은 경우, 즉 Kmin-1이 k와 같다면 제어는 참조번호가 420인 기능 블록으로 넘겨진다.
참조번호가 420인 기능 블록은 디코딩된 코드워드 CW(k)를 판독한 후 참조번호가 425인 기능 블록으로 제어를 넘긴다. 참조번호가 425인 기능 블록은 디코딩된 코드워드 CW(k)를 코드워드 버퍼에 기록한 후, 제어를 참조번호가 430인 기능 블록으로 넘긴다. 참조번호가 430인 기능 블록은 변수 k에 1을 더하고 제어를 참조번호가 435인 판정 블록으로 넘긴다. 참조번호가 435인 판정 블록은 k가 Kmax보다 작은지(k<Kmax) 여부를 판단한다. 만약 k가 Kmax보다 크거나 같다면(k≥Kmax), 제어는 참조번호가 440인 기능 블록으로 넘겨진다. 그렇지 않은 경우, 즉 k가 Kmax보다 작다면(k<Kmax), 제어는 참조번호가 445인 기능 블록으로 넘겨진다.
참조번호가 440인 기능 블록은 변수 Stop_iteration을 1로 설정하고 디코딩된 코드워드 CW(k)를 출력한다.
참조번호가 445인 기능 블록은 코드워드 CW(k)를 코드워드 버퍼에서 판독하고 제어를 참조번호가 450인 기능 블록으로 넘긴다. 참조번호가 450인 기능 블록은 코드워드 버퍼에서 코드워드 CW(k-1)을 판독하고, 제어를 참조번호가 455인 판정 블록으로 넘긴다. 참조번호가 455인 판정 블록은 CW(k-1)이 CW(k)와 같은지 판단한다. 만약 CW(k-1)이 CW(k)와 같지 않으면 제어는 참조번호가 460인 기능 블록으로 넘어간다. 그렇지 않은 경우, 즉 CW(k-1)이 CW(k)와 같으면, 제어는 참조번호가 465인 기능 블록으로 넘어간다. 참조번호가 465인 기능 블록은 변수 m에 1을 더하고 제어를 참조번호가 470인 판정 블록으로 넘긴다. 참조번호가 470인 판정 블록은 m이 M보다 작은지(m<M)의 여부를 판단한다. 만약 m이 M보다 크거나 같다면(m≥M), 제어는 참조번호가 440인 기능 블록으로 넘어간다. 그렇지 않은 경우, 즉 만약 m이 M보다 작다면(m<M), 제어는 참조번호가 425인 기능 블록으로 복귀한다.
LDPC 디코더와 도 1에 도시된 바와 같은 BCH 디코더 또는 RS 디코더와 같은 외부 디코더의 결합을 이용하는 시스템의 경우, 더 많은 전력 감소를 얻을 수 있다.
그러므로, 본 발명의 다른 실시예에 따라서 반복 디코더에 대하여 적응적 반복 종료를 위한 다른 방법을 상세하게 설명한다. 본 방법을 처음에는 일반적으로 서술하고, 이후에 도 5를 참조하면서 보다 상세하게 설명하도록 한다.
실제적으로, 반복 LDPC 디코딩 후의 잔류 오류(residual error)를 정정하기 위하여 외부 디코더가 사용된다. 그 외부 디코더는 종종 수십 개의 비트 오류를 정정할 수 있다. 게다가 외부 코드 디코딩 동작은 일반적으로 하나의 반복 디코딩 동작보다 전력을 덜 소비한다. LDPC 디코더로부터의 현재의 디코딩된 코드워드와 LDPC 디코더의 이전 반복시 디코딩된 코드워드간의 비트 차이는 코드워드에서 비트 오류의 수를 나타내는데 사용될 수 있다. 그러므로, 만약 비트 차이가 어떤 숫자보다 작으면 우리는 반복 프로세스를 중단할 수 있으며, 외부 디코더로 하여금 LDPC 디코딩된 코드워드 내의 잔존 비트 오류를 정정하도록 할 수 있다. 수정된 접근 방식이 도 5에 도시되어 있는데, 여기서 n=diff(CW(k),CW(k-1))은 CW(k)와 CW(k-1) 사이의 상이한 비트 수로서 계산되어 변수 n에 저장되며, N은 BCH 디코더 오류 정정 능력과 관련되어 사전에 설정되는 값이다. n=0은 디코딩 알고리즘이 수렴되었다는 것을 나타내는 것이기 때문에, 만약 LDPC 반복 프로세스가 종료되었을 때에 n=0이라면 추가적인 전력 감소를 얻을 수 있다는 점을 명심하여야 한다. 반복 디코딩 알고리즘의 특성 때문에, 디코딩 알고리즘이 수렴했을 경우 디코딩된 코드워드는 일반적으로 옳고, 그러므로 우리는 외부 디코더를 우회(bypass)할 수 있어서 시스템의 전력 소비를 더욱 감소시킬 수 있다.
반면에, n이 어떤 수 Nmax보다 크면, 이것은 비트 오류 숫자가 외부 디코더의 오류 정정 능력을 넘어섰다는 것을 의미한다. 다시 한번 우리는 시스템의 전력 소비를 감소시키기 위하여 외부 디코더를 우회할 수 있다. 숫자 N과 Nmax는 반복 디코딩 알고리즘의 수렴 성질과 외부 디코더의 오류 정정 능력을 사용하여 결정될 필요가 있다.
다시 도 5를 참조하면, 반복 디코더에 대하여 적응적 반복 종료를 위한 다른 방법이 참조번호를 500으로 하여 전체적으로 도시되어 있다.
초기화 블록(505)은 변수 k, m, 그리고 Stop_iteration을 0으로 설정한 후 참조번호가 510인 기능 블록으로 제어를 넘긴다. 참조번호가 510인 기능 블록은 변수 k에 1을 더한 후 참조번호가 515인 판정 블록으로 제어를 넘긴다. 참조번호가 515인 판정 블록은 k가 Kmin-1과 같은 지의 여부를 판단한다. 만약 Kmin-1이 k와 같지 않다면, 제어는 참조번호가 510인 기능 블록으로 복귀한다. 그렇지 않은 경우, 즉 k가 Kmin-1과 같다면 제어는 참조번호가 520인 기능 블록으로 넘어간다.
참조번호가 520인 기능 블록은 디코딩된 코드워드 CW(k)를 판독한 후 참조번호가 525인 기능 블록으로 제어를 넘긴다. 참조번호가 525인 기능 블록은 디코딩된 코드워드 CW(k)를 코드워드 버퍼에 쓴 후, 제어를 참조번호가 530인 기능 블록으로 넘긴다. 참조번호가 530인 기능 블록은 변수 k에 1을 더하고 제어를 참조번호가 535인 판정 블록으로 넘긴다. 참조번호가 535인 판정 블록은 k가 Kmax보다 작은 지(k<Kmax)의 여부를 판단한다. 만약 k가 Kmax보다 크거나 같다면(k≥Kmax), 제어는 참조번호가 540인 기능 블록으로 넘어간다. 그렇지 않은 경우, 즉 k가 Kmax보다 작다면(k<Kmax), 제어는 참조번호가 545인 기능 블록으로 넘어간다.
참조번호가 540인 기능 블록은 변수 Stop_iteration을 1로 설정하고 코드워드 CW(k)를 출력한다.
참조번호가 545인 기능 블록은 코드워드 CW(k)를 코드워드 버퍼에서 판독하고 제어를 참조번호가 550인 기능 블록으로 넘긴다. 참조번호가 550인 기능 블록은 코드워드 버퍼에서 코드워드 CW(k-1)을 판독하고, 제어를 참조번호가 552인 기능 블록으로 넘긴다. 참조번호가 552인 기능블록은 CW(k)와 CW(k-1)사이의 상이한 비트의 숫자를 계산한 후 그 숫자를 변수 n(즉,n=diff(CW(k),CW(k-1)))에 기록하고 제어를 참조번호가 555인 판정 블록으로 넘긴다. 참조번호가 555인 판정 블록은 n이 N보다 작은지(n<N)의 여부를 판단하는데, 여기서 N은 BCH 디코더의 오류 정정 능력과 관련되어 사전에 설정되는 값이다. 만약 n이 N보다 크거나 같다면(n≥N), 제어는 참조번호가 560인 기능블록으로 넘어간다. 그렇지 않은 경우, n이 N보다 작다면(n<N), 제어는 참조번호가 565인 기능 블록으로 넘어간다. 참조번호가 565인 기능 블록은 변수 m에 1을 더하고 제어를 참조번호가 570인 판정 블록으로 넘긴다. 참조번호가 570인 판정 블록은 m이 M보다 작은지(m<M)의 여부를 판단한다. 만약 m이 M보다 크거나 같다면(m≥M), 제어는 참조번호가 540인 기능 블록으로 넘어간다. 그렇지 않은 경우, 즉 만약 m이 M보다 작다면(m<M), 제어는 참조번호가 525인 기능 블록으로 복귀한다.
본 발명의 또 다른 실시예에 따라서 반복 디코더에 대하여 적응적 반복 종료를 위한 또 다른 방법을 상세하게 설명한다. 본 방법을 처음에는 일반적으로 서술하고, 이후에 도 6을 참조하면서 보다 상세하게 설명하도록 한다.
반복 디코딩 프로세스를 종료하는 또 다른 방법은 내부에서 디코딩된 코드워드에 비트 오류가 있는지 결정하기 위하여 외부 디코더를 사용하는 것이다. 예를 들어, RS 디코더 혹은 BCH 디코더와 같은 외부 디코더는 내부에서 디코딩된 코드워드의 신드롬을 계산할 수 있다. 만약 신드롬이 모두 0이면, 외부 디코더는 코드워드가 옳다고 선언하고 내부의 디코더에게 반복 프로세스를 종료하라고 지시할 수 있다. 그렇지 않은 경우, 내부의 디코더는 최대 반복 횟수에 도달할 때까지 반복 프로세스를 계속한다.
도 6을 다시 참조하면, 반복 디코더에 대하여 적응적 반복 종료를 위한 또 다른 방법이 참조번호를 600으로 하여 전체 흐름이 도시되어 있다. 도 4에서 언급하였듯이, k는 반복 지수, Kmin과 Kmax는 각각 최소 반복 횟수와 최대 반복 횟수, Stop_iteration은 반복 프로세스를 중단시키기 위하여 반복 제어기로 보내지는 제어신호, 그리고 m은 현재의 디코딩된 코드워드가 이전의 m번 반복시 디코딩된 코드워드가 동일함을 나타내는 신뢰 카운터이다.
초기화 블록(605)은 변수 k와 Stop_iteration을 0으로 설정한 후 참조번호가 610인 기능 블록으로 제어를 넘긴다. 참조번호가 610인 기능 블록은 변수 k에 1을 더한 후 참조번호가 635인 판정 블록으로 제어를 넘긴다. 참조번호가 635인 판정 블록은 k가 Kmax보다 작은지의 여부를 판단한다. 만약 k가 Kmax보다 크거나 같으면(k≥Kmax) 제어는 참조번호가 640인 기능 블록으로 넘어간다. 그렇지 않은 경우, 즉 k가 Kmax보다 작으면(k<Kmax) 제어는 참조번호가 645인 기능 블록으로 넘어간다.
참조번호가 640인 기능 블록은 변수 Stop_iteration을 1로 설정하고, 디코딩된 코드워드 CW(k)를 출력한다.
참조번호가 645인 기능 블록은 코드워드 CW(k)를 코드워드 버퍼에서 판독하고 제어를 참조번호가 675인 기능 블록으로 넘긴다. 외부 디코더와 관련된 참조번호 675인 기능 블록은 내부에서 디코딩된 코드워드의 신드롬을 계산하고 제어를 참조번호 680인 기능 블록으로 넘긴다. 만약 내부에서 디코딩된 코드워드의 신드롬이 0과 같지 않다면 제어는 참조번호가 610인 기능 블록으로 복귀한다. 그렇지 않은 경우, 즉 만약 내부에서 디코딩된 코드워드의 신드롬이 0과 같으면 제어는 참조번호가 640인 기능 블록으로 복귀한다.
신드롬 계산 단계는 외부 디코더의 일부이며 아주 작은 양의 전력만을 소비하면서 효율적으로 실행될 수 있음을 이해할 수 있을 것이다. 이 접근 방식의 장점은 아마도 약간의 단순한 논리 외에는 추가적인 모듈이 불필요하다는 점이다.
이러한 본 발명의 특징과 장점은 본 발명이 속하는 기술분야에서 통상의 지식을 가진자라면 본 명세서에 기재된 내용에 근거하여 용이하게 확인할 수 있을 것이다. 본 발명의 내용은 다양한 종류의 하드웨어, 소프트웨어, 특수 목적의 프로세서, 혹은 이 들의 조합으로 구현될 수 있다.
더 바람직하게는, 본 발명의 내용이 하드웨어와 소프트웨어의 결합으로 구현되는 것이다. 게다가 소프트웨어는 프로그램 저장 유니트에 실체적으로 구현되는 응용 프로그램으로 실현하는 것이 바람직하다. 그 응용 프로그램은 임의의 적당한 구조를 포함하는 장치에 의하여 업로드되고 실행될 수 있다. 상기 장치는 하나 이상의 중앙처리장치(CPU), RAM(Random Access Memory), 입출력 인터페이스와 같은 하드웨어를 가지는 컴퓨터 플랫폼에서 구현되는 것이 바람직하다. 상기 컴퓨터 플랫폼은 운용 시스템과 마이크로 인스트럭션 코드를 포함할 수도 있다. 본 명세서에서 기술한 다양한 프로세스들과 기능들은 마이크로 인스트럭션 코드의 일부 혹은 응용 프로그램의 일부 혹은 이들의 조합으로서 CPU에 의하여 실행될 수 있다. 게다가 추가적인 데이터 저장 장치 그리고 인쇄 장치와 같은 다양한 다른 주변 장치들이 상기 컴퓨터 플랫폼에 연결될 수 있다.
첨부한 도면에서 기술된 시스템 구성 컴포넌트들과 방법들이 소프트웨어로 구현되는 것이 바람직하기 때문에, 시스템 컴포넌트들간의 혹은 처리 기능 블록들간의 실제 연결은 본 발명이 프로그램되는 방식에 따라 상이해질 수도 있음을 이해하여야 한다. 본 발명의 기술적 사상을 고려하면, 본 발명과 관련된 기술 분야에서 통상의 지식을 가진 자라면 이러한 구현 그리고 이와 유사한 구현 혹은 본 발명의 구성들을 생각할 수 있을 것이다.
본 명세서에서 첨부 도면들을 참조하면서 실시예들이 서술되었으나, 본 발명이 이러한 실시예들에 한정되지 아니하며, 본 발명과 관련된 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 범위 혹은 사상을 벗어나지 않고 다양한 변화와 수정을 가할 수도 있음을 이해하여야한다. 그러한 모든 변화와 수정은 본 발명의 청구범위에서 밝히고 있는 본 발명의 범위 내에 포함된다.

Claims (15)

  1. 반복 디코더(iterative decoder)에서 전력 소비를 감소시키기 위한 장치로서,
    최대 반복 횟수 이전의 상기 반복 디코더의 각 반복에 대하여, 현재의 반복동안 디코딩된 코드워드와 이전의 반복동안 디코딩된 코드워드 사이의 상이한 비트들의 수를 나타내는 비트 수차(bit number difference)를 저장하는 메모리 디바이스와,
    상기 비트 수차를 미리 특정된 비트 수차 임계값에 비교하고, 상기 비트 수차가 상기 미리 특정된 비트 수차 임계값보다 작은 경우에는 신뢰값(confidence value)을 증분시키며, 상기 신뢰값이 미리 특정된 신뢰 임계값을 초과하는 경우에는 상기 반복 디코더의 추가적인 반복들을 종료시키는 반복 종료 디바이스
    를 포함하는 전력 소비 감소 장치.
  2. 제1항에 있어서,
    상기 미리 특정된 비트 수차 임계값은 상기 반복 디코더의 오류 정정 능력에 대응하는 전력 소비 감소 장치.
  3. 제1항에 있어서,
    Kmin은 정상적인 채널 조건들하에서 상기 코드워드를 디코딩하는데 필요한 최소 반복 횟수와 같고, 상기 메모리 디바이스는 현재의 반복 횟수가 Kmin과 같을 때 현재의 반복동안 디코딩된 코드워드를 저장하는 전력 소비 감소 장치.
  4. 제1항에 있어서,
    상기 반복 종료 디바이스는 상기 신뢰값이 상기 미리 특정된 신뢰 임계값을 초과하지 않는 경우에 상기 신뢰값을 0으로 리셋하는 전력 소비 감소 장치.
  5. 제1항에 있어서,
    상기 메모리 디바이스는 상기 신뢰값을 또한 저장하는 전력 소비 감소 장치.
  6. 제1항에 있어서,
    상기 반복 디코더는 반복 제어기를 포함하며, 상기 반복 종료 디바이스는 반복 중지 제어 신호를 생성하고 또한 상기 반복 중지 제어 신호를 상기 반복 제어기로 전달함으로써 상기 반복 디코더의 추가적인 반복들을 종료시키는 전력 소비 감소 장치.
  7. 반복 디코더에서 전력 소비를 감소시키기 위한 방법으로서,
    최대 반복 횟수 이전의 상기 반복 디코더의 각 반복에 대하여, 현재의 반복동안 디코딩된 코드워드와 이전의 반복동안 디코딩된 코드워드 사이의 상이한 비트들의 수를 나타내는 비트 수차를 버퍼에 저장하는 단계와,
    상기 비트 수차를 미리 특정된 비트 수차 임계값에 비교하는 단계와,
    상기 비트 수차가 상기 미리 특정된 비트 수차 임계값보다 작은 경우에는 신뢰값을 증분시키는 단계와,
    상기 신뢰값이 미리 특정된 신뢰 임계값을 초과하는 경우에는 상기 반복 디코더의 추가적인 반복들을 종료시키는 단계
    를 포함하는 전력 소비 감소 방법.
  8. 제7항에 있어서,
    상기 미리 특정된 비트 수차 임계값은 상기 반복 디코더의 오류 정정 능력에 대응하는 전력 소비 감소 방법.
  9. 제7항에 있어서,
    Kmin은 정상적인 채널 조건들하에서 상기 코드워드를 디코딩하는데 필요한 최소의 반복 횟수와 같고, 상기 저장 단계는 현재의 반복 횟수가 Kmin과 같을 때 개시되는 전력 소비 감소 방법.
  10. 제7항에 있어서,
    상기 신뢰값이 상기 미리 특정된 신뢰 임계값을 초과하지 않는 경우에 상기 신뢰값을 0으로 리셋하는 단계를 더 포함하는 전력 소비 감소 방법.
  11. 제7항에 있어서,
    상기 신뢰값을 상기 버퍼에 저장하는 단계를 더 포함하는 전력 소비 감소 방법.
  12. 컴퓨터 프로그램 제품 - 상기 컴퓨터 프로그램 제품은 반복 디코더에서 전력 소비를 감소시키기 위한 컴퓨터 이용가능 프로그램 코드를 포함하는 컴퓨터 이용가능 매체를 포함함 - 이 저장되어 있는 컴퓨터 판독가능 기록 매체로서,
    상기 컴퓨터 프로그램 제품은,
    최대 반복 횟수 이전의 상기 반복 디코더의 각 반복에 대하여, 현재의 반복동안 디코딩된 코드워드와 이전의 반복동안 디코딩된 코드워드 사이의 상이한 비트들의 수를 나타내는 비트 수차를 버퍼에 저장하도록 야기하기 위한 컴퓨터 이용가능 프로그램 코드와,
    상기 비트 수차가 미리 특정된 비트 수차 임계값보다 작은 경우에는 신뢰값을 증분시키도록 하기 위한 컴퓨터 이용가능 프로그램 코드와,
    상기 신뢰값이 미리 특정된 신뢰 임계값을 초과하는 경우에는 상기 반복 디코더의 추가적인 반복들을 종료시키도록 야기하기 위한 컴퓨터 이용가능 프로그램 코드
    를 포함하는 컴퓨터 판독가능 기록 매체.
  13. 제12항에 있어서,
    상기 미리 특정된 비트 수차 임계값은 상기 반복 디코더의 오류 정정 능력에 대응하는 컴퓨터 판독가능 기록 매체.
  14. 제12항에 있어서,
    상기 컴퓨터 프로그램 제품은, 상기 신뢰값이 상기 미리 특정된 신뢰 임계값을 초과하지 않는 경우에 상기 신뢰값을 0으로 리셋하기 위한 컴퓨터 이용가능 프로그램 코드를 더 포함하는 컴퓨터 판독가능 기록 매체.
  15. 제12항에 있어서,
    상기 컴퓨터 프로그램 제품은, 상기 신뢰값을 상기 버퍼에 저장하도록 야기하기 위한 컴퓨터 이용가능 프로그램 코드를 더 포함하는 컴퓨터 판독가능 기록 매체.
KR1020077030317A 2005-06-27 2005-06-27 반복 디코더의 전력 감소를 위한 방법 및 장치 KR101192898B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2005/023005 WO2007001304A1 (en) 2005-06-27 2005-06-27 Method and apparatus for power reduction in iterative decoders

Publications (2)

Publication Number Publication Date
KR20080028376A KR20080028376A (ko) 2008-03-31
KR101192898B1 true KR101192898B1 (ko) 2012-10-18

Family

ID=35355596

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077030317A KR101192898B1 (ko) 2005-06-27 2005-06-27 반복 디코더의 전력 감소를 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US7966505B2 (ko)
EP (1) EP1897257A1 (ko)
JP (1) JP5004249B2 (ko)
KR (1) KR101192898B1 (ko)
CN (2) CN101194451B (ko)
WO (1) WO2007001304A1 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007001304A1 (en) 2005-06-27 2007-01-04 Thomson Licensing Method and apparatus for power reduction in iterative decoders
JP4831068B2 (ja) * 2005-07-19 2011-12-07 日本電気株式会社 ターボ復号システム、送信電力制御方法及びcdma移動通信端末
JP4092352B2 (ja) * 2005-11-16 2008-05-28 Necエレクトロニクス株式会社 復号装置、復号方法、及び受信装置
US8332718B2 (en) * 2007-03-29 2012-12-11 Sirius Xm Radio Inc. Efficient implementation to perform iterative decoding with large iteration counts
KR101021526B1 (ko) 2007-10-30 2011-03-16 삼성전자주식회사 이동통신 시스템의 반복 복호 장치 및 방법
CN101471674A (zh) * 2007-12-28 2009-07-01 三星电子株式会社 低密度奇偶校验码译码方法及装置
US8255758B2 (en) * 2008-01-21 2012-08-28 Apple Inc. Decoding of error correction code using partial bit inversion
JP5142285B2 (ja) 2008-03-27 2013-02-13 現代自動車株式会社 自動変速機付き車両の変速レバーロック装置
US8327242B1 (en) 2008-04-10 2012-12-04 Apple Inc. High-performance ECC decoder
US8392786B2 (en) * 2008-05-07 2013-03-05 Broadcom Corporation LDPC coding systems for 60 GHz millimeter wave based physical layer extension
CN101841338B (zh) * 2009-03-18 2012-10-31 中国科学院微电子研究所 一种低密度奇偶校验码提前结束迭代译码的方法
US8429498B1 (en) 2009-03-25 2013-04-23 Apple Inc. Dual ECC decoder
JP5445829B2 (ja) * 2009-05-29 2014-03-19 ソニー株式会社 受信装置、受信方法、およびプログラム、並びに受信システム
JP5445828B2 (ja) * 2009-05-29 2014-03-19 ソニー株式会社 受信装置、受信方法、およびプログラム、並びに受信システム
US8453038B2 (en) * 2009-06-30 2013-05-28 Apple Inc. Chien search using multiple basis representation
US8601352B1 (en) 2009-07-30 2013-12-03 Apple Inc. Efficient LDPC codes
CN101997639B (zh) * 2009-08-10 2014-10-22 中兴通讯股份有限公司 低密度奇偶校验-多输入多输出通信系统的迭代接收方法
US8301987B2 (en) * 2009-10-29 2012-10-30 Sandisk Il Ltd. System and method of decoding data with reduced power consumption
US8341486B2 (en) * 2010-03-31 2012-12-25 Silicon Laboratories Inc. Reducing power consumption in an iterative decoder
US8237869B2 (en) 2010-03-31 2012-08-07 Silicon Laboratories Inc. Multi-standard digital demodulator for TV signals broadcast over cable, satellite and terrestrial networks
US8555131B2 (en) 2010-03-31 2013-10-08 Silicon Laboratories Inc. Techniques to control power consumption in an iterative decoder by control of node configurations
US8433970B2 (en) 2010-03-31 2013-04-30 Silicon Laboratories Inc. Techniques to control power consumption in an iterative decoder by control of node configurations
US8837611B2 (en) 2011-02-09 2014-09-16 Silicon Laboratories Inc. Memory-aided synchronization in a receiver
US8644370B2 (en) 2012-01-25 2014-02-04 Silicon Laboratories Providing slope values for a demapper
US8959274B2 (en) 2012-09-06 2015-02-17 Silicon Laboratories Inc. Providing a serial download path to devices
TWI477104B (zh) * 2012-09-13 2015-03-11 Mstar Semiconductor Inc 錯誤校正裝置與錯誤校正方法
US9116822B2 (en) * 2012-12-07 2015-08-25 Micron Technology, Inc. Stopping criteria for layered iterative error correction
CN103354101B (zh) * 2013-05-31 2015-10-21 上海华力创通半导体有限公司 一种用于快闪存储器纠错的ldpc码解码装置
KR102190816B1 (ko) * 2014-04-08 2020-12-14 삼성전자주식회사 이른 디코딩을 통한 전력소모 감소 방법 및 장치
CN104298569A (zh) * 2014-09-30 2015-01-21 北京金山安全软件有限公司 应用程序运行异常的检测方法、装置和移动终端
US10084481B2 (en) 2014-12-18 2018-09-25 Apple Inc. GLDPC soft decoding with hard decision inputs
US10419024B2 (en) * 2017-05-26 2019-09-17 SK Hynix Inc. Early termination of low-density parity-check (LDPC) decoding
KR20170076350A (ko) * 2015-12-24 2017-07-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9584162B1 (en) * 2016-01-05 2017-02-28 International Business Machines Corporation Microcode data recovery strategies for use of iterative decode
US10326479B2 (en) * 2016-07-11 2019-06-18 Micron Technology, Inc. Apparatuses and methods for layer-by-layer error correction
JP6454397B1 (ja) 2017-12-20 2019-01-16 Nttエレクトロニクス株式会社 誤り訂正装置、誤り訂正方法及び光通信システム
US10848182B2 (en) 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part
CN113424454A (zh) 2019-02-22 2021-09-21 三菱电机株式会社 纠错解码装置和纠错解码方法
CN111698056B (zh) * 2019-03-13 2023-05-05 瑞昱半导体股份有限公司 解码方法及相关电路
CN116192166B (zh) * 2023-04-28 2023-08-01 南京创芯慧联技术有限公司 迭代译码方法、装置、存储介质和电子设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526531B1 (en) * 2000-03-22 2003-02-25 Agere Systems Inc. Threshold detection for early termination of iterative decoding
KR100424460B1 (ko) * 2000-10-05 2004-03-26 삼성전자주식회사 터보 복호기의 전송률 검출 장치 및 방법
US6518892B2 (en) * 2000-11-06 2003-02-11 Broadcom Corporation Stopping criteria for iterative decoding
KR100369561B1 (ko) * 2000-11-08 2003-01-29 학교법인 한국정보통신학원 터보 코드용 인코더 및 디코더
JP3683497B2 (ja) * 2000-11-30 2005-08-17 松下電器産業株式会社 復号装置および復号方法
KR100713331B1 (ko) * 2000-12-23 2007-05-04 삼성전자주식회사 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법
US6738948B2 (en) 2001-04-09 2004-05-18 Motorola, Inc. Iteration terminating using quality index criteria of turbo codes
EP1516432B1 (en) 2002-06-14 2007-02-28 Dspace Pty Ltd Method and receiver for processing a multi-user signal
US7246295B2 (en) * 2003-04-14 2007-07-17 Agere Systems Inc. Turbo decoder employing simplified log-map decoding
TWI350066B (en) 2003-04-17 2011-10-01 Icera Inc Apparatus and method for turbo decoder termination
GB2403106B (en) 2003-06-18 2007-08-15 Motorola Inc Arrangement and method for iterative decoding
US7418051B2 (en) * 2003-11-26 2008-08-26 Lucent Technologies Inc. Nonsystematic repeat-accumulate codes for encoding and decoding information in a communication system
WO2006128164A2 (en) * 2005-05-27 2006-11-30 Aquantia Corporation Method and apparatus for extending decoding time in an iterative decoder using input codeword pipelining
WO2007001304A1 (en) 2005-06-27 2007-01-04 Thomson Licensing Method and apparatus for power reduction in iterative decoders
JP2008544721A (ja) * 2005-06-27 2008-12-04 トムソン ライセンシング 反復デコーダの電力削減のための方法及び装置
US7853854B2 (en) * 2005-11-15 2010-12-14 Stmicroelectronics Sa Iterative decoding of a frame of data encoded using a block coding algorithm
US7818649B1 (en) * 2005-11-30 2010-10-19 Aquantia Corporation Efficient message passing scheme of iterative error correcting decoders
US7861135B2 (en) * 2006-02-03 2010-12-28 Electronics And Telecommunications Research Institute Of Daejeon Low-complexity and low-power-consumption turbo decoder with variable scaling factor
US7805642B1 (en) * 2006-02-17 2010-09-28 Aquantia Corporation Low power iterative decoder using input data pipelining and voltage scaling
US7765453B2 (en) * 2006-12-13 2010-07-27 Nortel Networks Limited Early termination controller for iterative FEC decoders and method therefor

Also Published As

Publication number Publication date
US20090094470A1 (en) 2009-04-09
KR20080028376A (ko) 2008-03-31
WO2007001304A1 (en) 2007-01-04
CN101194451B (zh) 2012-11-21
CN101194451A (zh) 2008-06-04
EP1897257A1 (en) 2008-03-12
JP5004249B2 (ja) 2012-08-22
JP2008544692A (ja) 2008-12-04
CN101194428A (zh) 2008-06-04
US7966505B2 (en) 2011-06-21

Similar Documents

Publication Publication Date Title
KR101192898B1 (ko) 반복 디코더의 전력 감소를 위한 방법 및 장치
US8171367B2 (en) Stopping criteria in iterative decoders
US8347194B2 (en) Hierarchical decoding apparatus
US10707899B2 (en) Bit-flipping decoder for G-LDPC codes with syndrome-decoding for component codes
JP5237119B2 (ja) ラプターコードをデコードする方法及び装置
US8448050B2 (en) Memory system and control method for the same
US7853854B2 (en) Iterative decoding of a frame of data encoded using a block coding algorithm
US8700977B2 (en) High-performance ECC decoder
US20120233521A1 (en) Apparatus, system, and method for decoding linear block codes in a memory controller
KR20140078610A (ko) 치환 소행렬의 합을 사용하는 체크섬
KR20090126829A (ko) 반복 복호 방법과 반복 복호 장치
WO2018179246A1 (en) Check bit concatenated polar codes
US9843414B2 (en) Low complexity error correction
US10200066B2 (en) Code reconstruction scheme for multiple code rate TPC decoder
KR20080026559A (ko) 반복 복호기에서의 중단 기준
US8930790B1 (en) Method and apparatus for identifying selected values from among a set of values
KR20140088423A (ko) 리드-솔로몬 저밀도 패리티 검사 디코더를 포함하는 반도체 메모리 시스템 및 그것의 읽기 방법
ES2225647T3 (es) Turbo descodificador con comparacion de codigo de firma para redundancia circular.
US8972829B2 (en) Method and apparatus for umbrella coding
US20170222659A1 (en) Power improvement for ldpc
WO2022204900A1 (zh) 一种ldpc码的译码方法及ldpc码的译码器
KR102197751B1 (ko) 블록 터보 부호의 저 복잡도 오류정정을 위한 신드롬 기반의 혼합 복호 장치 및 그 방법
CN111030709A (zh) 基于bch译码器的译码方法、bch译码器及应用其的电路
TW201935860A (zh) 使用代數碼與ldpc碼的部分聯結編碼系統
US11438013B2 (en) Low-power error correction code computation in GF (2R)

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee