KR100860733B1 - 디코딩 디바이스, 디코딩 방법, 및 수신 장치 - Google Patents

디코딩 디바이스, 디코딩 방법, 및 수신 장치 Download PDF

Info

Publication number
KR100860733B1
KR100860733B1 KR1020060113442A KR20060113442A KR100860733B1 KR 100860733 B1 KR100860733 B1 KR 100860733B1 KR 1020060113442 A KR1020060113442 A KR 1020060113442A KR 20060113442 A KR20060113442 A KR 20060113442A KR 100860733 B1 KR100860733 B1 KR 100860733B1
Authority
KR
South Korea
Prior art keywords
decoding
decoder
decision
result
iterative
Prior art date
Application number
KR1020060113442A
Other languages
English (en)
Other versions
KR20070052228A (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 KR20070052228A publication Critical patent/KR20070052228A/ko
Application granted granted Critical
Publication of KR100860733B1 publication Critical patent/KR100860733B1/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
    • H03M13/2957Turbo codes and decoding
    • H03M13/2975Judging correct decoding, e.g. iteration stopping 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/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/27Coding, 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 using interleaving techniques
    • 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
    • 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
    • H03M13/3753Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding using iteration stopping 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • 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

Abstract

디코딩 장치는 전송 블록에 포함된 각각 디코딩 단위로서 각각의 복수의 코드 블록에 대해 반복 디코딩을 수행하는 첫번째 디코더 및 두번째 디코더, 두번째 디코더로부터의 출력 결과에 기초하여 반복 디코딩을 중단할지 여부를 결정하는 중단/종료 결정부를 구비한다. 중단/종료 결정부는 각각의 코드 블록에서 반복 디코딩의 에러 정정이 변환되었는지 여부에 대한 결정 결과에 기초하여 각각의 코드 블록에 대한 반복 디코딩을 중단할지 여부를 결정하고 각각의 코드 블록에서의 결정 결과에 기초하여 전송 블록의 반복 디코딩을 중단할지 여부를 결정한다. 반복 디코딩의 에러 정정이 하나의 코드 블록에서 변환되지 않았다고 결정된 경우, 관련 코들 블록을 포함한 전송 블록의 디코딩 프로세스는 중단된다.
Figure R1020060113442
코드 블록, 디코더, 디코딩 프로세스.

Description

디코딩 디바이스, 디코딩 방법, 및 수신 장치{DECODING DEVICE, DECODING METHOD, AND RECEIVING APPARATUS}
도 1 은 본 발명의 제 1 실시형태에 따른 디코딩 디바이스를 도시하는 도면.
도 2a 는 본 발명의 제 1 실시형태에서 수신 데이터로서 전송 블록을 도시하는 개략도.
도 2b 는 수신 데이터로부터 넌컨버젼스가 검출된 케이스를 도시하는 개략도.
도 2c 는 최대 반복 디코딩 넘버까지 디코딩하는 동안 수신 데이터로부터 컨버젼스가 검출되지 않는 케이스를 도시하는 개략도.
도 3 은 본 발명의 제 1 실시형태에 따른 코드 블록 CdBK 를 디코딩하는 방법을 도시하는 흐름도.
도 4 는 본 발명의 제 1 실시형태에 따른 수신 데이터를 디코딩하는 방법을 도시하는 흐름도.
도 5 는 본 발명의 제 1 실시형태에 따른 디코딩 디바이스의 이점을 도시하는 도면.
도 6 은 본 발명의 제 2 실시형태에 따른 디코딩 디바이스를 도시하는 도면.
도 7 은 본 발명의 제 2 실시형태에 따른 디코딩 방법을 도시하는 흐름도.
도 8 은 본 발명의 제 2 실시형태의 또 다른 실시형태에 따른 디코딩 디바이스를 도시하는 블록도.
도 9 는 신호대 잡음 전력 강도 비 (Eb/No; signal-to-noise power density ratio) 에 관하여 비트 에러 레이트 (BER), 블록 에러 레이트 (BLER), 및 프레임 에러 레이트 (FER) 를 나타내는 그래프인, 본 발명의 제 2 실시형태의 이점을 나타내는 도면.
도 10 은 신호대 잡음 전력 강도 비 (Eb/No) 에 관하여 평균 반복 넘버를 나타내는 그래프인, 본 발명의 제 2 실시형태의 이점을 나타내는 도면.
도 11 은 본 발명의 제 3 실시형태에 따른 수신 장치를 도시하는 도면.
도 12 는 터보 코드를 생성하는 통상적인 인코딩 디바이스의 구조를 도시하는 도면.
도 13 은 관련 기술에 따른 디코딩 디바이스를 도시하는 블록도.
도 14 는 관련 기술에 따른 디코딩 디바이스에 대한 디코딩 방법을 도시하는 흐름도.
도 15 는 블록 에러 레이트 (BLER) 와 비트 에러 레이트 (BER) 를 나타내는 세로축 및 에러 레이트를 나타내는 가로축으로 관련 기술에 따른 디코딩 디바이스에서의 노이즈와 에러 레이트간의 관계를 도시하는 그래프.
도 16 은 관련 기술에 따른 디코딩 디바이스에서 잡음과 반복 넘버간의 관계를 도시하는 그래프.
도 17 은 관련 기술에 따른 반복 제어 방법 및 반복 넘버를 나타내는 도면.
도 18 은 관련 기술 D 에 따른 HSDPA 에서의 디코딩 방법을 도시하는 개략도.
도 19 는 관련 기술 D 에 따른 디코딩 방법을 도시하는 흐름도.
도 20a 는 넌컨버젼스가 검출된 케이스에서 관련 기술 D 의 단점을 나타내는 도면.
도 20b 는 컨버젼스 또는 넌컨버젼스 중 어느것도 어떠한 코드 블록 CdBK 에서 검출되지 않은 케이스에서의 관련 기술 D 의 단점을 나타내는 도면.
※ 도면의 주요 부분에 대한 부호의 설명 ※
1 : 디코딩 디바이스 2, 12, 102, 202 : 첫번째 디코더
3, 103, 203 : 두번째 디코더 8, 36, 208 : 하드 판정부
4, 5, 27, 28, 104, 204, 205 : 인터리버 21 : 디코딩 디바이스
6, 7, 29, 30, 206, 207 : 디인터리버 9, 37 : 중단/종료 결정부
22 : 디코더 23 : YS 메모리
24 : Y1P 메모리 25 : Y2P 메모리
26 : Le 메모리 31, 32, 33, 34, 35 : 선택기
38 : 디코더 제어기 40 : 수신 장치
41 : 안테나 42 : 증폭기
43 : RF 부 44 : 복조기
45 : 디펑츄어링 (DE-PUNCTURING) 부 46 : 제어기
208 : 하드 판정부 209 : HDA 판정부
1. 발명의 분야
본 발명은 가능도 정보 (likelihood information) 에 기초하여 수신 데이터를 디코딩하는 디코딩 디바이스, 디코딩 방법, 및 수신 장치에 관한 것이고 특히, 개선된 효율성으로 디코딩 프로세스를 수행하는 디코딩 디바이스, 디코딩 방법, 수신 장치에 관한 것이다.
디지털 통신 시스템에서, 전송 라인에서 발생하는 에러를 정정하는 에러 정정 코드가 이용된다. 특히, 페이딩과 에러가 발생하기 쉽기 때문에 무선 필드 강도가 강렬하게 변동하는 이동 통신 시스템에서, 높은 정정 능력이 에러 정정 코드에 요구된다. 에러 정정 코드의 일 예인 터보 코드는 샤논의 한계 (shannon limit) 에 가깝고 예를 들어, W-CDMA (광대역 코드 분할 다중 접속; Wideband Code Division Multiple Access) 또는 제 3 세대 이동 통신으로서 CDMA-2000 에 사용된 에러 정정 능력을 가진 코드로서 주목된다.
도 12 는 터보 코드를 생성하는 통상적인 인코딩 디바이스의 구조를 도시하는 블록도이다. 인코딩 디바이스 (101) 는 미리 결정된 데이터로서의 정보 비트 (infomation bit) (시스테메틱 비트 (systematic bit): 시스테메틱부) U 를 병렬 연접된 콘볼루션 코드 (PCCC: parallel concatenated convolutional code) 로 인코딩하여 전송 라인과 같은 외부에 터보 코드를 출력하기 위해 통신 시스템의 송신측상에 위치할 수도 있다. 터보 코드는 병렬 연접된 콘볼루션 코드에 한정되지 않고 직렬 연견된 콘볼루션 코드와 같이, 터보 코드가 될 수 있는 임의의 코드일 수도 있다.
도 12 에 도시된 바와 같이 인코딩 디바이스 (101) 는 정보 콘볼루션 코더로서 작용하는 첫번째 인코더 (102), 두번째 인코더 (103), 및 데이터를 인터리빙하는 (즉 재배열함) 인터리버 (104) 를 포함한다.
첫번째 인코더 (102) 는 입력 정보 U 를 인코딩하여 잉여 비트 (redundancy bit) (이하 "패리티 비트 (parity bit)" 라 칭함) 1P 를 생성하고 패리티 비트 1P 를 외부로 출력한다. 인터리버 (104) 는 입력 시스테메틱부 U 의 각각의 비트를 소정의 인터리빙 패턴으로 재배열하여 시스테메틱부 Uint 를 생성하고 생성된 시스테메틱부 Uint 를 두번째 인코더 (103) 로 출력한다. 두번째 인코더 (103) 는 시스테메틱 부 Uint 를 인코딩하여 패리티 비트 2P 를 생성하여 패리티 비트 2P 를 외부로 출력한다.
요약하면, 인코딩 디바이스 (101) 는 시스테메틱부 U, 패리티 비트 1P, 시스테메틱부 Uint, 및 패리티 비트 2P 를 생성한다. 한 쌍의 시스테메틱부 U 및 패리티 비트 1P (U, P) 는 제 1 구성요소 코드 E 로 칭하고, 한 쌍의 시스테메틱부 Uint 및 패리티 비트 2P (Uint, 2P) 는 제 2 구성요소 코드 Eint 로 칭한다.
이렇게 인코딩된 터보 코드를 디코딩하는 것을 터보 디코딩이라 칭한다. 터보 디코딩 프로세스에서, 디코딩은 제 1 구성요소 E 를 디코딩하는 첫번째 디코더와 제 2 구성요소 Eint 를 디코딩하는 두번째 디코더가 외부 정보를 교환하며 반복적으로 수행된다. 디코더의 개수는 2 개로 한정되지 않으며, 터보 코드의 구성요소 코드의 개수에 따라 2 개 이상의 디코더 단계가 이용될 수도 있다.
특히, 터보 디코딩 프로세스에서, 패리티 비트 1P, 시스테메틱부 U 의 채널값 Y1P 와 YS , 및 소정의 값 (외부 정보) Le2 가 제 1 단계 디코더로서 첫번째 디코더 (202) 에 입력되어 외부 정보 Le1 을 획득한다. 외부 정보 Le2 의 초기값은 0 이다. 데이터 시퀀스를 정렬하기 위해, 외부 정보 Le1 이 제 2 단계 디코더로서 두번째 디코더 (203) 에 입력될 외부 정보 Lint e1 으로 인터리버에 의해 재배열된다.
또한, 채널값 YS 는 인터리버에 의해 Yint S 로 재배열된다. 패리티 비트 2P 의 채널값 Y2P 및 인터리빙된 Yint s 가 두번째 디코더에 입력되어 외부 정보 Lint e2 를 획득한다. 이들 값은 데이터 시퀀스가 첫번째 디코더로부터의 데이터와 동일하도록 디인터리버에 의해 재배열되어, 그에 의해 첫번째 디코더용 외부 정보 Le2 를 획득한다. 이것은 복수회 반복된다.
이러한 방법으로, 프로세스는 첫번째와 두번째 디코더의 신뢰성 정보를 서로 반복하여 교환함으로써, 즉, 첫번째 디코더의 신뢰성 정보 (외부 정보 Le1) 를 이용하여 두번째 디코더의 신뢰성 정보를 향상시키고, 두번째 디코더의 신뢰성 정보 (외부 정보 Le2) 를 이용하여 첫번째 디코더의 신뢰성 정보를 향상시킴으로써 정보를 디코딩한다. 이러한 반복 동작은 자동차의 터보 엔진과 닮았기 때문에 "터보 디코딩" 이라 칭한다.
이러한 반복 디코딩에서, 디코더의 소비 전력 및 디코딩 시간을 감소시키기 위해 높은 디코딩 능력을 유지하면서 반복 디코딩을 중단하는 것이 중요하다. 다양한 중단 조건을 이용하여 반복 디코딩을 중단하는 기술은 일본 공개 특허 공보 제 2004-194326, 2002-344330, 및 2002-100995 에 개시된다.
반복 디코딩을 중단하는 일 예로서, HDA (하드 판정 도움: Hard-Decision Aided) 를 이용하여 터보 디코딩을 중단하는 방법이 이하 설명된다. HDA 는 터보 디코딩에서 각각의 반복 프로세스에서의 HD (하드 판정) 에 대한 이전의 반복으로부터 변환된 "0"/"1" 인 비트 레이트를 이용하는 반복 프로세스에 대한 중단 방법이다. 변환된 비트의 더 작은 레이트는 디코딩 프로세스가 컨버젼스 (convergence) 되거나 종료될 것이라는 것을 나타낸다. 본질적으로, 에러가 발생하지 않았다는 것을 검출함으로써 터보 코드의 반복 디코딩을 종료하기 위해 HDA 가 이용된다. 예를 들어, 터보 디코딩 프로세스는 HDA 값이 소정의 임계값 아래로 내려가는 경우 종료될 수 있다.
디코딩 프로세스에서 컨버젼스의 검출뿐만 아니라 넌컨버젼스 (non- convergence) 의 검출을 위해 HDA 를 이용하여 그에 의해 터보 디코딩의 반복 횟수를 최적화하는 디코딩 디바이스는 A. Taffin 저 "반복 디코더에 대한 일반화된 중단 기준 (Generalized stopping criterion for iterative decoders)", IEEE 일렉트로닉 레터 (Electronics Letters), 2003년 6월 26일, Vol. 39, No. 13 에 개시된다. 도 13 은 Taffin 에 의해 교시된 디코딩 디바이스를 나타내는 블록도이다. 디코딩 디바이스 (201) 는 첫번째 디코더 (202), 두번째 디코더 (203), 인터리버 (204 및 205), 디인터리버 (206 및 207), 하드 판정부 (208), 및 HDA 결정부 (209) 를 구비한다.
디코딩 디바이스 (201) 는 수신 데이터로서 송신 라인을 통해 송신된 터보 코드를 수신한다. 수신 데이터는 제 1 구성요소 코드 E 및 제 2 구성요소 코드 Eint 를 포함한다. 구성요소 코드 E 및 Eint 는 상술한 바와 같이 패리티 비트 1P 및 2P 시스테메틱 U 및 Uint 로 구성된다. 제 2 구성요소 코드 Eint 의 시스테메틱 Uint 는 제 1 구성요소 코드 E 의 시스테메틱 비트 U 를 인터리빙함으로써 획득될 수 있다. 그 결과, 실질적으로 송신된 데이터는 제 1 구성요소 코드 E 의 시스테메틱 비트 U 와 패리티 비트 1P 및 제 2 구성요소 코드 Eint 의 패리티 비트 2P 를 포함한다.
첫번째 디코더 (202) 및 두번째 디코더 (203) 는 소프트 입력 소프트 출력 디코딩에 의해 수신 데이터의 반복 디코딩을 수행한다. SOVA (소프트 출력 수 직 알고리즘) 및 MAP (Maximum A Posteriori) 는 소프트 입력 소프트 출력 디코딩으로 공지되었다.
첫번째 디코더 (202) 는 제 1 구요소 코드 E (제 1 패리티 Y1P, 시스테메틱 비트 YS) 및 외부 정보 Le2 를 수신하고, 디코딩성을 수행하여, 제 1 외부 정보 Le1 를 출력한다. 인터리버 (int) (204) 는 제 1 외부 정보 Le1 를 인터리빙하여 제 1 외부 정보 Lint e1 를 생성한다. 동시에, 인터리버 (205) 는 시스테메틱 비트 YS 를 인터리빙하여 그 후에 두번째 디코더 (203) 에 공급되는 인터리빙된 시스테메틱 비트 Yint S 를 생성한다.
두번째 디코더 (203) 는 인터리빙된 제 1 외부 정보 Lint e1, 수신된 제 2 패리티 Y2P, 및 인터리빙된 시스테메틱 비트 Yint S 를 수신하고, 디코딩을 수행하여, 제 2 외부 정보 Lint e2 를 출력한다. 그 후, 제 2 외부 정보 Lint e2 는 디인터리버 (206) 에 의해 디인터리빙되어 첫번째 디코더 (202) 에 공급된다. 첫번째 디코더 (202) 는 제 2 외부 정보 Le2 를 디코딩한다. 상기 프로세스는 연속하여 반복된다. 원타임 (one-time) 인터리브 디코딩은 첫번째 디코더 (202) 및 두번째 디코더 (203) 에서 디코딩 프로세스의 완료시 종료한다.
두번째 디코더 (203) 는 로그 가능도 비 (logarithmic likelihood ratio) Lint 2 를 계산하고 그것을 디인터리버 (207) 로 출력한다. 디인터리버 (207) 는 로그 가능도 비 Lint 2 를 로그 가능도 비 L2 로 디인터리빙하고, 그 후, 하드 판정부 (208) 는 하드 판정 결과를 결정한다. 디코딩 디바이스 (201) 에서, 하드 판정 결과는 터보 디코딩의 반복 프로세스를 중단할지 여부를 결정하는 HDA 결정부 (209) 에 공급된다.
HDA 결정부 (209) 는 HDA 및 정보 길이 레이트에 의해 계산된 BER 과 임계값을 비교하여 터보 코드의 컨버젼스/넌컨버젼스를 결정하여, 그에 의해 터보 디코딩의 반복 횟수를 최적화한다.
도 14 는 디코딩 디바이스 (201) 의 디코딩 방법을 도시하는 흐름도이다. 도 14 에 도시된 바와 같이, 이하 반복 넘버로 칭하는 첫번째 디코더 (202) 및 두번째 디코더 (203) 에서 수행되는 반복 디코딩의 넘버는 1 로 설정되고, 반복 넘버의 상한은 8 로 설정된다 (단계 S101). 그 후, 첫번째 디코더 (202) 는 디코딩을 수행하여 제 1 외부 정보 Le1 을 생성한다 (단계 S102). 인터리버 (204) 는 제 1 외부 정보 Le1 을 인터리빙하여 두번째 디코더 (203) 에 그 결과를 공급한다. 동시에, 인터리버 (205) 는 시스테메틱 비트 YS 를 인터리빙하여 두번째 디코더 (203) 에 결과를 공급한다. 첫번째 디코더 (202) 가 또한 로그 가능도 비 (LLR) L1 을 생성하지만, 여기서는 이용되지 않는다. 첫번째 디코더 (202) 로의 입력 Le2 의 초기값은 0 이다.
두번째 디코더 (203) 는 인터리빙된 제 2 외부 정보 Lint e2 및 인터리빙된 로그 가능도 비 Lint 2 를 출력한다. 인터리빙된 제 2 외부 정보 Lint e2 는 첫번째 디코더 (202) 에 입력될 제 2 외부 정보 Le2 로 디인터리버 (206) 에 의해 디인터리빙된다. 인터리빙된 로그 가능도 비 Lint 2 는 디인터리버 (207) 에 의해 로그 가능도 비 L2 로 디인터리빙되고 그 후, 하드 판정 결과가 생성되는 하드 판정부 (208) 에 입력된다.
그 후, 반복 넘버가 1 을 초과 하는지 여부가 결정되고 (단계 S104), 반복 넘버가 2 이상인 경우, 결정값 △0 이 다음 식에 의해 계산된다.
Figure 112006084004488-pat00001
여기서 k 는 블록에서의 비트 식별자를 나타내고, i 는 반복 넘버를 나타내며, N 은 블록 길이를 나타내고,
Figure 112006084004488-pat00002
() 는 하드 판정 결과를 나타내고, L2 는 두번째 디코더의 로그 가능도 비 LLR 을 나타내고, △0 는 하드 판정 결과에서의 차이 비를 나타낸다.
그 결과, 결정값 △0 는 각각의 비트에 대해 현재 로그 가능도 비 L2 의 하드 판정 결과와 이전 로그 가능도 비 L2 의 하드 판정 결과 사이의 차이 비를 나타낸다. 결정값 △0 이 대략 0 인 경우, 현재와 이전 디코딩 결과는 동일하다. 결정값 △0 이 대략 1 인 경우, 현재와 이전 디코딩 결과는 대단히 상이하다.
결정값 △0 이 컨버젼스 결정 임계값 ηconv 보다 크거나 넌컨버젼스 임계값 ηnon- conv 보다 작은 경우 (단계 S106 에서 아니오), 반복 디코딩은 반복 넘버가 최대 8 에 도달할때까지 수행된다. 그 결과, 프로세스는 반복 넘버가 최대 8 인지 여부를 결정하고 (단계 S107), 8 보다 작은 경우, 반복 넘버를 증가시키고 (단계 S108) 단계 S102 로부터 과정을 반복한다.
단계 S106 에서 결정값 △0 의 결정에 대해, 반복 넘버가 2 이상인 경우, 결정값 △0 은 하드 판정값
Figure 112006084004488-pat00003
를 이용하여 수학식 (1) 에 의해 계산된다. 그 후, 중단 기준은 컨버젼스 결정 임계값 ηconv 및 넌컨버젼스 결정 임계값 ηnon - conv 으로부터 결정된다. 컨버젼스/넌컨버젼스 조건중 하나에서 결정값이 만족되면, 반복 디코딩은 중단된다.
컨버젼스 결정에 더하여 넌컨버젼스 결정을 이용하여 반복 디코딩의 중단을 제어하는 이러한 종래 디코딩 디바이스의 이점이 이하 설명된다. 도 15 는 잡 음과 에러 레이트 사이의 관계를 도시하는 그래프이다. 세로축은 블록 에러 레이트 (BLER) 및 비트 에러 레이트 (BER) 를 나타낸다. 가로축은 신호대 잡음 전력 강도 비 Eb/No (dB) 를 나타낸다. 도 16 은 신호대 잡음 전력 강도 비에 관하여 반복 넘버의 관계를 도시한다.
도 15 및 도 16 에서, 가로축에서의 신호대 잡음 전력 강도 비 Eb/No (dB) 는 큰 값이 작은 노이즈를 나타낸다. 세로축에서의 BLER 은 에러로서 하나 이상의 비트 에러를 포함하는 블록을 카운팅함으로써 계산되고, BER 은 에러 비트 수를 954 개의 비트 (인코딩 블록 사이즈) 로 분할한 결과 값 (%) 을 나타낸다.
도 16 에서, (OFF, OFF) 는 컨버젼스 또는 넌컨버젼스가 수행되지 않는 케이스를 나타내고, (2%, OFF) 는 반복 중단 제어가 컨버젼스 결정 임계값 ηconv = 2% 으로 컨버젼스 결정으로만 수행되는 케이스를 나타낸다. (OFF, 2%) 는 반복 중단 제어가 넌컨버젼스 결정 임계값 ηnon - conv = 20% 으로 넌컨버젼스 결정으로만 수행되는 케이스를 나타내고, (2%, 20%) 는 반복 중단 제어가 컨버젼스 결정 임계값 ηc o nv = 2% 및 넌컨버젼스 결정 임계값 ηnon - conv = 20% 으로 컨버젼스/넌컨버젼스 결만으로만 수행되는 케이스를 나타낸다.
시뮬레이션 조건은 다음과 같다. 송신측 조건은 레이트 1/3 (15, 13)8 PCCC 터보 인코더, 2 단계 레이트 매칭, 및 병렬 비트 레벨 채널 인터리버를 포함한다. 변조 방법은 16QAM 성상도 (constellation) 및 종래의 그레이 맵핑 (gray mapping) 이다. 코드 블록 사이즈는 954 개의 비트 (938 개의 시스테메 틱 비트 및 16 개의 CRC 비트) 로 고정된다.
패리티 비트는 1/2 펑츄어링된다 (punctured). 그 결과, 1920 개의 비트는 2 ms 간격으로 송신된다. 페이딩 조건은 단일 경로상에서 50 km/h 이다. 수신측 조건은 단일 경로, Max-Log-MAP 의 소프트 출력, 및 8 회의 최대 반복 넘버, 및 무효인 Hybrid-ARQ 로 인해 어떠한 레이크 합성 (RAKE synthesis) 도 가지지 않는다.
상기 조건 하에서, 도 15 에 도시된 바와 같이 잡음이 낮아짐에 따라 BLER 및 BER 이 작아진다. 또한 도 16 에 도시된 바와 같이, 잡음이 낮아짐에 따라 반복 넘버는 작아진다. BLER=10% (Eb/No=16dB) 인 경우, 평균 반복 넘버는 약 2.25 이다. 이것은 반복 넘버가 8 로 고정된 케이스에 비해 프로세싱의 70% 이상을 감소시킨다. 2% 의 임계값에서의 컨버젼스 결정으로, 평균 반복 넘버는 약 2.8 이다. 따라서, 컨버젼스/넌컨버젼스 결정으로의 중단 제어는 컨버젼스만으로의 중단 제어에 비해 약 20% 의 프로세싱의 감축을 유발한다.
종래의 디코딩 디바이스가 예시적인 방법으로 상술되었지만, 상술한 특허 문서 및 Taffin 에서 설명된 바와 같이 다양한 반복 제어 방법이 제안된다. 도 17 은 이들 기술들의 요약을 도시한다. 도 17 은 반복 제어 방법 및 몇몇 관련 기술에 따른 반복 넘버를 나타내는 도이다. Taffin 에 의해 교습된 디코딩 디바이스에서 사용된 반복 제어 방법은 관련 기술 D 에 대응한다. 이 반복 제어 방법은 이하의 관련 기술 C 에 대응하는 반복 제어 방법의 개선된 버젼이다. 도 17 에 대응하는 것은 다음과 같다.
관련 기술 A: 반복 넘버가 고정된 경우 (예를 들어, 8 회)
- A1: 8 회 반복 완료 이후에 에러가 정정될 수 없는 경우, 디코딩은 8 회 반복된다.
- A2: 8 회 반복 완료 이전에 에러가 정정되는 경우에도, 디코딩은 고정된 상한 (8 회) 에 도달할때까지 반복된다.
관련 기술 B: 에러가 존재하는지 여부의 결정이 최대 반복 넘버 (예를 들어, 8 회) 에 도달할때까지 에러 검출 코드를 이용하여 수행되고, 에러가 없는 경우 반복 프로세스는 중단되는 경우.
- B1: 에러 검출 코드가 없는 경우에, 8 회 반복 완료 이후에 에러가 정정되지 않는 경우, 디코딩은 8 회 반복된다. (=A1).
- B2: 에러 검출 코드가 없는 경우에, 8 회 반복 완료 이전에 에러가 정정되는 경우에도, 디코딩은 8 회 반복된다.
- B3: 에러 검출 코드가 있는 경우에, 8 회 반복 완료 이후에 에러가 정정될 수 없는 경우, 디코딩은 8 회 반복된다.
- B4: 에러 검출 코드가 있는 경우에, 8 회 반복 완료 이전에 에러가 검출되는 경우, 반복 프로세스는 중단된다.
관련 기술 C: 에러 정정의 컨버젼스에 대한 결정이 최대 반복 넘버 (예를 들어, 8 회) 에 도달할때까지 수행되고, 에러 정정이 컨버젼스된 것으로 결정되는 경우, 반복 디코딩은 중단된다.
- C1: 8 회 반복 이후에 에러 정정의 컨버젼스가 검출되지 않는 경우, 디코 딩은 8 회 반복된다.
- C2: 8 회 반복 완료 이전에 에러 정정의 컨버젼스가 검출되는 경우, 반복 프로세스는 중단된다.
관련 기술 D: 에러 정정의 넌컨버젼스에 대한 결정이 상기 케이스 C 에 부가되고, 최대 반복 넘버 이후에도 에러 정정이 컨버젼스되지 않았음이 결정되는 경우, 반복 디코딩은 중단된다.
- D1: 8 회 반복 완료 이후에 에러 전정의 컨버젼스/넌컨버젼스가 검출되지 않는 경우에, 디코딩은 8 회 반복된다.
- D2: 8 회 반복 완료 이전에 에러 정정의 넌컨버젼스가 검출되는 경우, 반복 프로세스는 중단된다.
- D3: 8 회 반복 완료 이전에 에러 정정의 컨버젼스가 검출되는 경우, 반복 프로세스는 중단된다.
상술한 바와 같이, Taffin 에 의해 교습된 디코딩 디바이스에 대응하는 관련 기술 D 는 관련 기술 C 의 단점, 즉, 8 회 반복 이후에도 (C1 의 경우) 에러 정정이 컨버젼스되지 않은 경우에 디코딩이 바람직하지 않게 반복되는 단점을 극복한다. 컨버젼스에 대한 결정에 더하여 넌컨버젼스에 대한 결정을 수행함으로써, 관련 기술 D 의 D2 에서 보인 바와 같이 8 회의 최대 반복 넘버에 도달하기 이전에 넌컨버젼스가 결정되는 경우, 반복 프로세스가 중단될 수 있다. 이것은 불필요한 반복 프로세스를 방지한다. 컨버젼스/넌컨버젼스의 이용은 터보 코드의 반복 제어를 할 수 있게 하여 그에 의해 반복 횟수를 최적화한다.
W-CDMA 등은 3GPP (제 3 세대 파트너십 프로젝트; 3rd Generation Partnership Project) 에 의해 표준화된 전송 방법이다. 3GPP 는 제 3 세대 이동 통신 시스템의 표준화상에서 동작한다.
고속 패킷 전송 기술 중 하나인, HSDPA (고속 다운링크 패킷 접속: High Speed Downlink Packet Access) 는 3GPP 에 의해 규정된다. HSDPA 는 전파 지연 경로의 변동 조건 또는 공중에서의 전파 지연 속도의 변화를 광범위하게 체크하는 적합한 변조를 사용하고 최적의 변조 순서를 자동으로 선택한다. 구체적으로, 낮은 레이트 QPSK (직교 위상 편이 변조: Quadrature Phase Shift Keying) 는 전파의 수신 조건이 양호하지 않은 경우 이용되고, 높은 레이트 16QAM (16 직교 진폭 변조: 16 Quadrature Amplitude Modulation) 은 전파의 수신 조건이 양호한 경우 이용된다. 각각은 레이트에 반대인 잡음에 대한 강도를 가지고, QPSK 는 큰 오버헤드로 인해 낮은 레이트이고 16QAM 은 고속 전송을 하게 한다.
HSDPA 에 따르면, 전송 블록 개수 (TrBK) 는 하나로 조정된다. 전송 블록 TrBK 의 종단에서 24-비트 CRC 가 에러 검출 코드로서 부가된다. 또한, 코드 블록 (CdBK) 의 블록 사이즈는 최대 5114 개의 비트까지 조정된다. 코드 블록 CdBK 는 터보 코딩에 대한 단위 블록이다.
따라서, TrBK-CRC>5114 인 경우, TrBK+CRC 는 복수의 CdBK 로 분할된다. HSDPA 에 따르면, 전송 레이트에 따라 몇몇의 카테고리가 있고, 최대 TrBK 사이즈는 카테고리에 따라 미리 결정된다. 예를 들어, 카테고리 5 와 6 에서는 TrBK 는 2 개의 코드 블록 CdBK 까지를, 카테고리 7 과 8 에서는 3 개의 코드 블록 CrBK 까지를, 카테고리 10 에서는 6 개의 코드 블록 CrBK 까지를 포함할 수 있다. 결과적으로, 에러 정정 코드로서의 CRC 는 마지막 CdBK 의 종단에 부가되고, 코드 블록 CdBK 의 중간에 어떠한 에러 정정 코드도 부가되지 않는다.
이러한 전송 블록 TrBK 에 대한 터보 디코딩을 수행하는 케이스에 대한 상기의 관련 기술 A 내지 D 의 애플리케이션은 다음과 같다. 반복 넘버 최적화의 관점에서, 최대 반복 넘버에 도달할때까지 언제나 반복 디코딩을 수행하는 관련 기술 A 는 적합하지 않다. 에러 정정 코드가 마지막 코드 블록 CrBK 에만 부가되기 때문에, 관련 기술 B 는 적용될 수 없다. 또한, 관련 기술 C 에서는 넌컨버젼스에 대한 결정이 수행되지 않기 때문에, 넌컨버젼스인 경우에도 최대 반복 넘버에 도달할때까지 반복 디코딩이 바람직하지 않게 수행된다. 그 결과, 컨버젼스에 대한 결정에 더하여 넌컨버젼스에 대한 결정을 수행하는 관련 기술 D 의 애플리케이션이 이하 실시된다.
도 18 은 관련 기술 D (Taffin) 에 적용되는 HSDPA 에 따른 디코딩 방법을 설명하는 개략도이다. 도 19 는 관련 기술 D 에 따른 디코딩 방법을 도시하는 흐름도이다. 설명의 간략화를 위해, 도 19 에 도시된 바와 같이 코드 블록 CdBK 의 개수는 3 개이다. 구체적으로, 전송 블록 TrBK 는 3 개의 코드 블록, 첫번째 코드 블록 CrBK, 두번째 코드 블록 CrBK, 및 마지막 코드 블록 CrBK 으로 구성된다. 마지막 코드 블록 CdBK 에 존재하는 에러 정정 코드 CRC 는 전송 블록 TrBK 의 종단에 부가된다.
또한, 예를 들어, 터보 디코더의 개수는 하나이고, 에러 정정의 넌컨버젼스 는 각각의 코드 블록 CdBK 의 네번째 반복 단계에서 검출된다. 마지막 코드 블록 CdBK 에 부가되는 CRC 를 이용하여 에러 검출을 수행하는 것이 전송 블록 TrBK 에서 필요하기 때문에, 코드 블록 CdBK 는 수신 순서로 프로세싱되어야 한다. 상기 조건하에서 넌컨버젼스를 결정하기 위해서, 관련 기술 D 에 따른 방법은 각각의 코드 블록 CdBK 의 네번째 단계에서 에러 정정의 넌컨버젼스를 검출하여, 그에 의해 반복 프로세스를 중단한다.
동일한 조건하에서, 관련 기술 C 에 따른 방법은 모든 코드 블록 CdBK 각각에 대해 8 회 (즉, 최대 반복 넘버), 총 24 회 반복 디코딩을 요구한다. 반면에, 관련 기술 D 에 따른 방법은 상기의 조건하에서 넌컨버젼스에 대한 검출을 사용함으로써 단지 총 12 회의 반복 디코딩을 요구한다.
그러나, 도 18 에 도시된 예에서, 넌컨버젼스가 첫번째 코드 블록 CdBK 에서 검출되는 시점에, 이 전송 블록 TrBK 에서의 CRC 결정이 에러를 검출한다는 것이 명백하다. 이러한 케이스에서, 다음 코드 블록 CdBK 에서 어떠한 디코딩 프로세스도 수행할 필요가 없다. 따라서, 두번째 코드 블록 CdBK 및 마지막 코드 블록 CdBK 에서 총 8 회의 반복 디코딩은 불필요한 프로세스이다.
구체적으로, 도 19 에 도시된 바와 같이, 관련 기술 D 에 따른 전송 블록을 프로세싱하는 방법은 단계 S201 에서 코드 블록 넘버를 1 로, 코드 블록들의 개수를 3 으로 초기화하고, 첫번째 코드 블록 CdBK 에 대한 터보 디코딩을 수행한다 (단계 S202). 터보 디코딩은 도 14 에 도시된 프로세스이다. 더욱 구체적 으로, 프로세스는 코드 블록 CdBK 에서 결정값 △0 을 계산하고, 컨버젼스 또는 넌컨버젼스 검출시, 최대 반복 횟수 (=8) 에 도달할때까지 디코딩 수행을 계속한다. 상기 예에서, 프로세스가 네번째 반복 단계에서 넌컨버젼스를 검출하고 코드 블록 CdBK 의 반복 디코딩을 종료한다. 그 후, 단계 S202 에서 넌컨버젼스가 검출되는 경우에도, 최종 코드 블록인 마지막 CdBK 를 완료할때까지 프로세스는 단계 S203 으로 진행하고 바람직하지 않게 단계 S202 및 S203 을 반복한다.
도 20a 및 20b 는 관련 기술 D 의 단점을 설명하는 도이다. 도 20a 에 도시된 바와 같이, 디코딩된 블록 CdBK 의 개수가 최대 개수 3 에 도달할때까지 관련 기술 D 의 디코딩 방법은 코드 블록 CdBK 의 프로세싱을 중단하지 않는다. 따라서, 프로세스는 바람직하지 않게 다음 두번째 코드 블록 CdBK 및 마지막 코드 블록 CdBK 에서 반복 디코딩을 수행한다. 또한, 도 20b 에 도시된 바와 같이, 컨버젼스 또는 넌컨버젼스 중 어느 것도 임의의 코드 블록 CdBK 에서 검출되지 않는 경우, 모든 코드 블록 CdBK 에서 최대 반복 넘버에 도달할때까지 프로세스는 프로세싱을 수행할 수 있으며, 이는 불필요한 반복 디코딩을 유발한다.
본 발명의 일 양태에 따르면, 가능도 정보에 기초하여 수신 데이터를 디코딩하는 디코딩 디바이스가 제공되고, 디코딩 디바이스는 수신 데이터로부터 분할된 각각의 복수의 블록들에 대해 반복 디코딩을 수행하는 디코딩 프로세서 및 디코딩 프로세서로부터의 출력 결과에 기초하여 반복 디코딩을 중단할지 여부를 결정하는 중단/종료 결정부를 구비한다. 중단/종료 결정부는 각각의 분할된 블록에서 반복된 디코딩을 중단할지 여부를 결정하는 중단 결정을 수행하고, 중단 결정 결과에 기초하여 수신 데이터의 디코딩 프로세스를 종료할지 여부를 결정하는 종료 결정을 수행한다.
본 발명의 또 다른 양태에 따르면, 가능도 정보에 기초하여 수신 데이터를 디코딩하는 디코딩 방법이 제공되고, 디코딩 방법은 수신 데이터로부터 분할된 복수의 블록들 중 하나의 분할된 블록에서 디코딩을 수행한 이후 디코딩 결과를 출력하는 단계, 디코딩 결과에 기초하여 하나의 분할된 블록에서 디코딩의 반복을 중단할지 여부를 결정하는 중단 결정을 수행하는 단계, 및 하나의 분할된 블록에서 디코딩을 중단하지 않은 경우 디코딩을 반복하는 단계, 하나의 분할된 블록에서 디코딩을 중단하는 경우, 중단 결정의 결과에 기초하여 수신 데이터의 디코딩 프로세스를 종료할지 여부를 결정하는 종료 결정을 수행하는 단계를 포함한다.
본 발명은 수신 데이터로부터 분할된 각각의 분할된 복수의 데이터에 대한 반복 디코딩을 중단할지 여부를 결정하는 중단 결정을 수행하고, 또한 중단 결정 결과에 기초하여 수신 데이터의 디코딩 프로세스를 종료할지 여부를 결정하는 종료 결정를 수행하기 때문에, 수신 데이터를 프로세싱하는 동안 수신 데이터의 디코딩 프로세스의 종료 결정은 그에 의해, 불필요한 프로세싱을 제거한다.
본 발명은 불필요한 반복 디코딩을 제거하는 디코딩 디바이스, 디코딩 방법, 및 수신 장치를 제공하여 효율적인 디코딩 프로세스를 하게 한다.
본 발명의 상기 및 다른 목적, 이점들 및 특징들이 첨부된 도면과 관련하여 다음 설명으로부터 더욱 명백할 것이다.
본 발명을 예시적인 실시형태를 참조하여 설명할 것이다. 당업자는 본 발명의 교습을 이용하여 다수의 또 다른 실시형태가 달성될 수 있고, 본 발명은 예시적인 목적을 위해 설명된 실시형태에 한정되지 않는다는 것을 인식할 것이다.
본 발명의 예시적인 실시형태는 첨부된 도면을 참조하여 이하 설명된다. 다음의 실시형태에서, 본 발명은 HSDPA 표준에 맞는 패킷을 수신하고 터보 디코딩을 수행하는 디코딩 디바이스, 및 디코딩 디바이스를 구비하는 수신 장치에 적용된다. 전송 블록이 반복 디코딩의 결과로서 에러 정정이 컨버젼스되지 않는 코드 블록을 포함하는 경우, 본 실시형태의 디코딩 디바이스는 전송 블록의 디코딩을 종료하고, 그에 의해, 불필요한 반복 디코딩을 방지한다. HSDPA 표준에 맞는 패킷을 수신하고 그에 의해 터보 디코딩을 수행하는 디코딩 디바이스가 예시적인 방법으로 다음의 실시형태에서 설명되지만, 본 발명은 후술하는 바와 같이 수신된 데이터가 복수의 블록들로 분할되고 반복 디코딩이 수행되는 임의의 디코딩 디바이스에 동일한 효과로 적용된다.
제 1 실시형태
도 1 은 본 발명의 제 1 실시형태에 따른 디코딩 디바이스 (1) 를 도시한다. 디코딩 디바이스 (1) 는 첫번째 디코더 (2), 두번째 디코더 (3), 인터리버 (4 및 5), 디인터리버 (6 및 7), 하드 판정부 (8), 및 중단/종료 결정부 (9) 를 구비한다.
디코딩 디바이스 (1) 는 송신 라인을 통해 송신된 수신 데이터로서 터보 코드를 수신한다. 수신 데이터는 도 12 에 도시된 바와 같이, 인코딩 디바이스에 의해 생성될 수도 있는 제 1 구성요소 코드 E 및 제 2 구성요소 코드 Eint 를 포함한다. 구성요소 코드 E 및 Eint 는 상술한 바와 같이 패리티 비트 1P, 2P 및 시스테메틱 비트 U, Uint 로 구성된다. 제 2 구성요소 코드 Eint 의 시스테메틱 비트 Uint 가 제 1 구성요소 E 의 시스테메틱 비트 U 를 인터리빙함으로써 획득될 수 있기 때문에, 실질적으로 송신된 데이터는 시스테메틱 비트 U 및 제 1 구성요소 코드 E 의 패리티 비트 1P 및 제 2 구성요소 코드 Eint 의 패리티 비트 2P 이다. 터보 코드는 상술한 바와 같이 병렬 연접된 콘볼루션 코드에 한정되지 않고 직렬 연접된 콘볼루션 코드와 같이 디코딩 디바이스 (1) 에 의해 터보 디코딩될 수 있는 임의의 코드일 수도 있다.
첫번째 디코더 (2) 및 두번째 디코더 (3) 는 소프트 입력 소프트 출력 디코딩에 의해 수신 데이터의 반복 디코딩을 수행하는 소프트 출력 디코딩부이다. SOVA 및 MAP 는 소프트 입력 소프트 출력 디코딩으로 공지되었다.
MAP 는 이하 예시적인 방법으로 설명된다. 첫번째 디코더 (2) 는 제 1 구성요소 코드 E (제 1 패리티 비트 Y1P, 시스테메틱 비트 YS) 및 외부 정보 Le2 를 수신한다. 이들 입력값에 기초하여, 첫번째 디코더 (2) 는 격자 (trellis) 에서 순방향 프로세싱과 역방향 프로세싱에 의해 계산된 값을 이용하여 소프트 출력 을 생성하는 공지된 소프트 입력 소프트 출력 디코딩에 의해 디코딩을 수행하여 제 1 외부 정보 Le1 을 출력한다. 인터리버 (4) 는 제 1 외부 정보 Le1 을 인터리빙하여 인터리빙된 제 1 외부 정보 Lint e1 를 생성한다. 동시에, 인터리버 (5) 는 정보 비트 시스테메틱 비트 YS 를 인터리빙하여 그 후 두번째 디코더 (3) 에 공급되는 인터리빙된 시스테메틱 비트 Yint S 를 생성한다.
두번째 디코더 (3) 는 인터리빙된 제 1 외부 정보 Lint e1, 수신된 제 2 패리티 비트 Y2P, 및 인터리빙된 시스테메틱 비트 Yint S 를 수신한다. 두번째 디코더 (3) 는 공지된 소프트 입력 소프트 출력 디코딩에 의해 디코딩을 수행하여 제 2 외부 정보 Lint e2 를 출력한다. 그 후, 제 2 외부 정보 Lint e2 는 디인터리버 (6) 에 의해 디인터리빙되어 첫번째 디코더 (2) 로 공급된다. 다음으로, 첫번째 디코더 (2) 가 디인터리버 (6) 로부터 공급된 제 2 외부 정보 Le2 및 채널값 (제 1 패리티 Y1P, 시스테메틱 비트 YS) 을 이용하여 디코딩을 수행하고, 두번째 디코더 (3) 가 인터리빙된 제 1 외부 정보 Lint e1 및 채널값 (제 2 패리티 Y2P) 을 이용하여 디코딩을 수행하는 것이 반복된다. 첫번째 디코더 (2) 및 두번째 디코더 (3) 에서 디코딩 프로세스의 완료시, 원타임 반복 디코딩은 종료한다.
두번째 디코더 (3) 는 디인터리버 (7) 에 디코딩 프로세스에서 생성된 로그 가능도 비 Lint 2 를 출력한다. 디인터리버 (7) 는 로그 가능도 비 Lint 2 를 로그 가능도 비 L2 로 디인터리빙하고, 그 후, 하드 판정부 (8) 는 하드 판정 결과
Figure 112006084004488-pat00004
를 결정한다. 또한, 이러한 실시형태의 디코딩 디바이스 (1) 에서, 하드 판정 결과
Figure 112006084004488-pat00005
는 터보 디코딩의 반복 프로세스를 중단할지 여부를 결정하는 중단/종료 결정부 (9) 에 공급된다.
중단/종료 결정부 (9) 는 HDA 및 정보 길이 레이트에 의해 계산된 BER 과 임계값을 비교하고 터보 코드의 에러 검출이 컨버젼스되었는지 여부를 결정하여, 그에 의해, 터보 디코딩의 반복 넘버를 최적화한다.
이러한 실시형태에서 디코딩 디바이스 (1) 는 수신 데이터로서 전송 블록을 수신한다. 도 2a 는 전송 블록을 설명하는 개략도이다. HSDPA 에 따르면, 전송 블록 TrBK 는 상술한 바와 같이 채널 전송 레이트에 따라 카테고리에 의존하는 하나 또는 복수의 코드 블록 CdBK 을 포함한다. 다음의 설명에서, 전송 블록 TrBK 는 예로서 3 개의 코드 블록 CdBK 를 포함한다. 도 2a 도시된 바와 같이, 에러 정정 코드 CRC 는 전송 블록 TrBK 에 부가된다.
디코딩 디바이스 (1) 에서, 전송 블록 TrBK 는 디코딩되기 이전에 3 개의 코드 블록 CdBK 로 분할된다. 원타임 디코딩 단계에서 프로세싱될 수 있는 코드 길이가 HSDPA 표준에서 한정되기 때문에, 단위 코드 블록으로 분할될 수 있는 전송 블록 TrBK 가 생성되고 송신측에 의해 송신된다. 코드 블록 CdBK 는 디코딩 단 위 블록이다. 디코딩 디바이스 (1) 는 코드 블록 CdBK 에 대해 순차적으로 디코딩을 수행한다. 제 2 또는 다음의 반복 디코딩 프로세스 이후에, 하드 판정부 (8) 는 하드 판정 결과
Figure 112006084004488-pat00006
를 출력한다. 하드 판정 결과에 기초하여, 중단/종료 결정부 (9) 는 후술하는 바와 같이, 컨버젼스가 발생할지 여부를 결정하는 중단 결정을 수행한다.
이러한 실시형태의 중단/종료 결정부 (9) 는 결정 결과에 기초하여 각각의 코드 블록 CdBK 에 대해 중단 결정을 수행하고, 또한 반복 디코딩이 각각의 코드 블록 CdBK 에서 종료하는 때마다 전송 블록 TrBK 의 디코딩 프로세스를 계속할지 여부를 결정하는 종료 결정을 수행한다. 전송 블록 TrBK 에 대한 종료 결정에서, 도 2b 에 도시된 바와 같이 하나의 코드 블록 CdBK 에서 넌컨버젼스가 검출되는 경우 또는 도 2c 에 도시된 바와 같이 최대 반복 디코딩 넘버까지 하나의 코드 블록 CdBK 에 대한 디코딩 동안 컨버젼스가 검출되지 않는 경우, 현재 프로세싱되는 전송 블록 TrBK 의 디코딩 프로세스가 전체적으로 종료되도록 다음 코드 블록에 대한 디코딩이 중단된다.
이러한 실시형태에서, 중단/종료 결정부 (9) 는 각각의 코드 블록 CdBK 에 대한 중단 결정 및 전송 블록 TrBK 에 대한 종료 결정을 위해 상술한 HDA 를 이용한다 중단 결정 프로세스는 컨버젼스/넌컨버젼스를 검출하고 반복 디코딩을 중단한다. 코드 블록 CdBK 가 컨버젼스되는 경우를 제외하고, 종료 결정 프로세스는 전송 블록 TrBK 에 대해 프로세싱을 종료하여 반복 디코딩이 종료된다. 예를 들어, 첫번째 코드 블록 CdBK 로부터 순차로 연속적인 방법으로 코드 블록 CdBK 에 대한 터보 디코딩을 수행할 때, 네번째 반복 디코딩 단계에서 넌컨버젼스가 결정되는 경우 (도 2b) 또는 첫번째 코드 블록 CdBK 에서의 최대 반복 넘버에서 터보 디코딩의 완료시 (도 2c) CRC 의 높은 에러 레이트가 기대되는 경우, 나머지 코드 블록 CdBK 에 대한 터보 디코딩을 수행하지 않고 관련 패킷 데이터 (전송 블록) 가 폐기된다.
특히, CRC 는 HSDPA 표준에 따라 마지막 코드 블록 CdBK 에만 부가되기 때문에, CRC 가 에러인 것을 검출하는 종래 방법과 그에 의해 프로세스를 종료하는 것은 언제나 마지막 코드 블록 CdBK 를 완료할때까지 수행되는 디코딩 프로세스를 요구한다. 반면에, 이 실시형태는 코드 블록 CdBK 에 대한 반복 디코딩이 변환되었는지 여부에 기초하여 전송 블록 TrBK 에 대한 디코딩 프로세스에 대해 종료 결정을 수행한다. 그에 의해, 마지막 코드 블록 CdBK 를 완료하기 이전에 디코딩 프로세스의 종료를 결정하는 것이 가능하고, 이는 불필요한 반복 디코딩 프로세스를 방지하여 그 결과 전력 소모를 감소시킨다.
HSDPA 표준에 따른 전송 블록은 예시적인 방법으로 이 실시형태에서 설명되었지만, 디코딩 단계에서 중단 결정을 위해 터보 디코딩될 수 있는 복수의 단위들로 수신 데이터를 분할할 수 있는 한, 본 발명은 이러한 실시형태에 한정되지 않는다. 분할된 단위 코드에 대한 중단 결정을 수행함으로써, 전체 디코딩 프로세스를 완료하기 이전에 반복 디코딩을 종료하고, 패킷 재송신에 대한 요구와 같은 에러 취급 단계로 진행하는 것이 가능하다.
또한, CRC 가 전송 블록 TrBK 의 종단에 부가되는 HSDPA 가 이 발명에서 예 시적인 방법으로 설명되었지만, 본 발명은 또한 에러 검출 코드가 부가되지 않는 케이스에 적용될 수도 있다. 구체적으로, 이러한 실시형태에서, 중단/종료 결정부 (9) 가 모든 코드 블록 CdBK 에서 컨버젼스를 결정한 이후에, 최종 확인을 위해 CRC 를 이용하여 에러 검출이 수행되고, 어떠한 에러 검출 코드도 부가되지 않는 경우, 각각의 코드 블록에서 중단/종료 결정부 (9) 의 결정 결과가 에러가 없다는, 컨버젼스를 나타낸다면 전체적으로 에러가 없다는 결론을 내릴 수 있다.
또한, 이 실시형태에서 HDA 가 중단 결정을 위해 이용되었지만, Taffin 에 의해 교시되는 결정 방법과 같은 다른 결정 방법이 대신 이용될 수도 있다. 다른 방법들은 SISO 디코더 출력의 가능한 최접근 (probabilistic closeness) 이 상당히 높은 경우, 디코딩을 중단하는 유사 교차 엔트로피 중단 기준 (Approximated Cross Entropy Stopping Criterion), 임의의 SISO 디코더의 출력 LLR 정보의 최소 절대값을 측정값으로 설정하고 이전의 반복 디코딩 프로세스에 의해 설정된 측정값을 현재 임계값으로 이용하는 최소 절대값 LLR 중단 기준 (Minimum Absolute LLR Stopping Criterion), 모든 입력 사전 정보를 현재 프레임과 비교하여 하나의 SISO 디코더의 추가 정보 (신호) 를 출력하고 차이 코드의 넘버에 따라 디코딩 프로세스를 중단하는 신호 차이 비 중단 기준 (Sign Difference Ratio Stopping Criterion) 등을 포함한다.
이러한 실시형태에 따른 디코딩 방법은 이하 상세히 설명된다. 도 3 은 디코딩 디바이스 (1) 의 코드 블록 CdBK 를 디코딩하는 방법을 도시하는 흐름도이다. 이러한 예에서, 반복 디코딩 넘버의 최대값은 8 이다. 도 3 에 도시된 코드 블록 CdBK 를 디코딩하는 방법은 상술한 종래 디코딩 방법과 동일하다.
구체적으로, 도 3 에 도시된 바와 같이, 첫번째 디코더 (2) 및 두번째 디코더 (3) 에서 수행될 반복 디코딩 횟수 (반복 넘버) 는 1 로 설정되고, 반복 넘버의 상한은 8 로 설정된다 (단계 S1). 그 후, 첫번째 디코더 (2) 는 디코딩을 수행하여 제 1 외부 정보 Le1 을 생성한다 (단계 S2). 인터리버 (4) 는 제 1 외부 정보 Le1 을 인터리빙하여 두번째 디코더 (3) 에 결과를 공급한다. 동시에, 인터리버 (5) 는 시스테메틱 비트 YS 를 인터리빙하여 두번째 디코더 (3) 에 결과를 공급한다. 또한, 첫번째 디코더 (2) 는 로그 가능도 비 (LLR) L1 을 생성하지만, 여기서 이용되지는 않는다. 첫번째 디코더 (2) 에 대한 입력 Le2 의 초기값은 0 이다.
두번째 디코더 (3) 는 인터리빙된 제 2 외부 정보 Lint e2 및 인터리빙된 로그 가능도 비 Lint 2 를 출력한다. 인터리빙된 제 2 외부 정보 Lint e2 는 디인터리버 (6) 에 의해 제 2 외부 정보 Le2 로 디인터리빙된다. 인터리빙된 로그 가능도 비 Lint 2 는 디인터리버 (7) 에 의해 로그 가능도 비 L2 로 디인터리빙되어 하드 판정 결과가 생성되는 하드 판정부에 입력된다.
그 이후에, 반복 넘버가 1 을 초과하는지 여부가 결정되고 (단계 S4), 반복 넘버가 2 이상인 경우, 결정값 △0 이 다음 수학식 (1) 으로 계산된다 (단계 S5).
Figure 112006084004488-pat00007
여기서 k 는 블록에서의 비트 식별자를 나타내고, i 는 반복 넘버를 나타내며, N 은 블록 길이를 나타내고,
Figure 112006084004488-pat00008
() 는 하드 판정 결과를 나타내고, L2 는 두번째 디코더의 로그 가능도 비 LLR 을 나타내고, △0 는 하드 판정 결과에서의 차이 비를 나타낸다.
그 결과, 수학식 (1) 에 의해 나타난 결정값 △0 는 각각의 비트에 대해 현재 로그 가능도 비 L2 와 이전 로그 가능도 비 L2 사이의 차이의 평균을 나타낸다. 결정값 △0 이 대략 0 인 경우, 현재와 이전 디코딩 결과는 동일하다. 결정값 △0 이 대략 1 인 경우, 현재와 이전 디코딩 결과는 대단히 상이하다.
결정값 △0 이 컨버젼스 결정 임계값 ηconv 보다 크거나 넌컨버젼스 임계값 ηnon- conv 보다 작은 경우 (단계 S6 에서 아니오), 반복 디코딩은 반복 넘버가 최대 8 에 도달할때까지 수행된다. 그 결과, 프로세스는 반복 넘버가 최대 8 인지 여부를 결정하고 (단계 S7), 8 보다 작은 경우, 반복 넘버를 증가시키고 (단계 S8) 단계 S2 로부터 과정을 반복한다.
단계 S6 에서 결정값 △0 의 결정에 대해, 반복 넘버가 2 이상인 경우, 결정 값 △0 은 하드 판정 값
Figure 112006084004488-pat00009
를 이용하여 수학식 (1) 에 의해 계산된다. 그 후, 중단 결정은 컨버젼스 결정 임계값 ηconv 및 넌컨버젼스 결정 임계값 ηnon - conv 으로부터 결정된다. 결정이 컨버젼스/넌컨버젼스 조건중 하나가 만족되는 것으로 결과되어지는 경우, 코드 블록 CdBK 에 대한 반복 디코딩은 중단된다.
이 실시형태에서, 수신 데이터로서의 전송 블록 TrBK 는 상술한 바와 같이 복수의 코드 블록들을 포함한다. 도 4 는 이 실시형태에 따라 전송 블록을 디코딩하는 방법을 도시하는 흐름도이다. 이 예에서, 하나의 전송 블록 TrBK 에 포함된 코드 블록 CdBK 의 개수는 상술한 바와 같이 3 개이다. 3 개의 코드 블록 CdBK 각각에 대한 반복 디코딩을 완료한 이후에, 결정값 △O 을 이용하여 전송 블록 TrBK 에 대한 디코딩 프로세스를 계속할지 여부를 결정하기 위해 코드 블록 CdBK 에 대한 반복 디코딩이 컨버젼스되었는지 여부를 결정하는 종료 결정이 수행된다.
구체적으로, 프로세스는 우선 전송 블록 개수를 1 로, 전송 블록들의 개수를 3 으로 설정하고 (단계 S11), 그 후, 상술한 도 3 에 도시된 바와 같이 터보 디코딩을 수행한다 (단계 S13). 하나의 코드 블록 CdBK 에 대한 디코딩을 완료한 이후에, 결정값 △O 이 컨버젼스 결정 임계값 ηconv 보다 큰지 여부를 결정한다 (단계 S13). 즉, 단계 S12 에 의해 디코딩된 코드 블록 CdBK 이 결국 컨버젼스되었는지 여부를 결정하고 반복 디코딩은 중단된다 (최대 8 회를 포함함).
결정값 △O 이 컨버젼스 결정 임계값 ηconv 보다 큰 것으로 결정되어 컨버젼스가 없음을 나타내는 경우, 전송 블록 TrBK 에 대한 프로세싱은 종료된다. 이러한 케이스에서, 디코딩 디바이스 (1) 는 예를 들어 관련 전송 블록 TrBK 에 대한 패킷의 재송신을 요구할 수도 있다.
반면에, 에러 정정 (컨버젼스) 이 이루어지고 반복 디코딩이 중단되도록 코드 블록 CdBK 가 결정되는 경우, 코드 블록 개수는 최대값 즉, 3 에 도달할때까지 증가되고 (단계 S14 및 S15), 프로세스는 단계 S12 로부터 반복된다. 그 후, 마지막 코드 블록 CdBK 에 이르기까지 모든 코드 블록들에서 컨버젼스가 결정된 경우, 즉, 상기 종료 결정이 "종료" 로 결과되어지지 않은 경우, 코드 블록 CdBK 는 전송 블록 TrBK 로 재설정되고, 전송 블록에 대한 CRC 결정은 하드 판정부 (8) 의 다음 단계 또는 하드 판정부 (8) 에 위치한 CRC 결정부에 의해 수행된다. 모든 코드 블록에서 컨버젼스가 결정되는 경우, CRC 결정이 에러를 유발하는 가능도는 보통 대단히 작다. 임계값 ηconv 및 ηcon - coonv 은 송신 라인 및 송신 레이트, 요청 BER, 반복 디코딩 횟수, 디코더 구성 등과 같은 통신 환경에 따라 시뮬레이션등에 의해 적당히 미리 결정될 수도 있다.
본 발명의 이점이 이하 설명된다. 도 5 는 이러한 실시형태에 따른 디코딩 디바이스의 이점을 설명하는 도이다. 도 5 의 위 아래의 예는 관련 기술 D 및 현재의 실시형태, 각각 HSDPA 표준에 따라 디코딩 디바이스를 적용하는 경우 디코딩 반복 횟수를 개략적으로 나타낸다. 도 5 는 관련 기술 D 와 현재 실시형 태 각각에 관해 네번째 반복 디코딩 단계에서 넌컨버젼스가 검출되는 케이스 및 첫 번째 CdBK 내지 마지막 CdBK 까지의 코드 블록에서 최대 반복 넘버 (=8 회) 까지 반복 디코딩 프로세스 동안 컨버젼스/넌컨버젼스가 검출될 수 없는 케이스를 도시한다.
관련 기술 D 의 방법에 따르면, 첫번''째 코드 블록 CdBK 에서의 네번째 반복 디코딩 단계에서 넌컨버젼스가 검출되어 다음 코드 블록인 두번째 CdBK 에 대한 디코딩으로 프로세스가 진행한다. 그 이후에, 네번째 디코딩 단계에서 넌컨버젼스가 다시 검출되고 프로세스는 최종 코드 블록인 마지막 CdBK 의 디코딩으로 진행한다. 그 후, 네번째 반복 디코딩 단계에서 넌컨버젼스가 다시 검출되고, 결국, 최종 코드 블록인 마지막 CdBK 에 부가된 CRC 를 이용하여 에러가 체크된다. 넌컨버젼스의 검출의 이용이 각각의 코드 블록의 반복 디코딩이 4 회에 도달시 중단되도록 하지만, 이 기술은 CRC 에 의해 에러를 검출하고 전송 블록을 폐기할때까지 총 12 회의 디코딩 프로세스를 여전히 요구한다.
또한, 컨버젼스 또는 넌컨버젼스가 검출될 수 없는 케이스에서, 디코딩 프로세스의 최대 반복 디코딩 넘버 (=8) 는 각각의 코드 블록 CdBK 에서 수행되어야 한다. 따라서, CRC 체킹이 에러를 유발하기 쉽지만, 총 24 회의 디코딩 프로세스가 요구된다.
반면에, 본 실시형태에 따르면, 결정값 △O 를 이용하여 전송 블록 TrBK 에 대한 종료 결정은 단계 S13 에서 도시된 바와 같이 터보 디코딩이 각각의 코드 블록 CdBK 에서 종료하는 경우마다 수행된다. 이 실시형태는 최초 코드 블록인 첫번째 CdBk 에서 터보 디코딩을 완료한 이후에 결정값 △O 으로 결정을 수행한다. 이 결정은 관련 전송 블록 TrBK 가 정정되기 쉽지 않거나 CRC 에러 가능성이 높다는 것을 검출하게 하여, 다음 프로세스가 중단된다.
도 5 에 도시된 예에서, 최초 코드 블록인 첫번째 CdBK 에서의 네번째 반복 디코딩 단계에서 넌컨버젼스가 검출된 경우, 디코딩 프로세스는 관련 기술 D 에 비해 디코딩 프로세스를 8 회 감소시킬 수 있다. 최초 코드 블록인 첫번째 CdBK 에서 컨버젼스가 검출될 수 없고 반복 디코딩이 8 회까지 수행되는 경우, 관련 기술 D 비해 디코딩 프로세스를 16 회 감소시킬 수 있다.
상술한 바와 같이, 본 발명은 수신 데이터를 프로세싱 이전에 터보 디코딩될 수 있는 복수의 단위들 (코드 블록) 로 분할하여 하드 판정 결과에서의 차이 비를 나타내는 결정값 △O 을 이용하여 각각의 코드 블록의 반복 디코딩에 대한 중단 결정을 수행한다. 또한 코드 블록의 터보 디코딩 이후에 결정값 △O 을 이용하여 종료 결정을 수행하고, 그에 의해 관련 코드 블록을 포함하는 전송 블록의 디코딩 프로세스를 종료할지 여부를 결정한다. 에러 정정이 정정 가능하기 쉽지 않은 수신 데이터는 그에 의해 이른 시점에 폐기되고, 이는 프로세싱 시간 및 전력 소모를 감소시키고 재전송 요청과 같은 다음 과정으로 즉시 이동시킨다.
제 2 실시형태
본 발명의 제 2 실시형태가 이하 설명된다. 이 실시형태는 제 1 실시형 태에서 설명된 바와 같은 코드 블록에서의 중단 결정 프로세스의 효율성을 증가시키고 그에 의해 반복 디코딩의 횟수를 감소시킨다. 도 6 은 이 실시형태에 따른 디코딩 디바이스를 도시한다. 도 6 에 도시된 제 2 실시형태 및 후술할 도 8 에 도시된 제 2 실시형태의 또 다른 실시형태에서, 도 1 에 도시된 제 1 실시형태의 동일한 구성요소는 동일한 참조 번호로 표시되고 상세히 도시되지 않는다.
도 6 에 도시된 바와 같이, 첫번째 디코더 (12) 의 출력이 하드 판정부 (8) 에 공급된다는 점에서, 제 2 실시형태는 제 1 실시형태와 상이하다. 구체적으로, 이 실시형태에서, 첫번째 디코더 (12) 는 하드 판정부 (8) 에 디코딩 프로세서에서 생성된 로그 가능도 비 L1 을 공급한다. 두번째 디코더 (3) 는 디인터리버 (7) 에 디코딩 프로세스에서 또한 생성된 인터리빙된 로그 가능도 비 Lint 2 를 공급한다. 디인터리버 (7) 는 로그 가능도 비 Lint 2 를 로그 가능도 비 L2 로 디인터리빙하여 그것을 하드 판정부 (8) 에 공급한다. 하드 판정부 (8) 는 첫번째 디코더 (12) 로부터 공급된 로그 가능도 비 L1 을 이용한 하드 판정 결과 (이하
Figure 112006084004488-pat00010
(L1) 으로 칭함) 및 두번째 디코더 (3) 로부터 공급된 로그 가능도 비 Lint 2 로부터 디인터리빙된 로그 가능도 비 L2 를 이용한 하드 판정 결과 (이하
Figure 112006084004488-pat00011
(L2) 으로 칭함) 를 계산한다. 하드 판정 결과
Figure 112006084004488-pat00012
(L1) 및
Figure 112006084004488-pat00013
(L2) 는 중단/종료 결정부 (9) 에 공급되고, 그 후 이는 코드 블록 CdBK 에 대한 반복 디코딩을 중단할지 여부를 결정하는 중단 결정 및 전송 블록 TrBK 의 디코딩 프로세스를 종료할지 여부를 결정하는 종료 결정을 수행한다.
이 실시형태의 중단/종료 결정부 (9) 는 HDA 및 정보 길이 레이트에 의해 계산된 BER 과 임계값을 비교하고 터보 코드의 에러 검출이 컨버젼스되었는지 여부를 결정하여 그에 의해 터보 디코딩의 반복 횟수를 최적화한다. 이 프로세싱의 타이밍은 제 1 실시형태의 타이밍과 상이하다.
구체적으로, 이 실시형태의 중단/종료 결정부 (9) 는 중단 결정을 위해 이용되는 결정값을 결정하고, 그 값을 컨버젼스 결정 임계값 ηconv 및 넌컨버젼스 결정 임계값 ηnon - conv 과 비교하여, 그에 의해 제 1 실시형태와 같이 반복 디코딩을 중단할지 여부를 결정한다. 그러나, 이 실시형태는 결정값을 계산하는 타이밍이 각각의 디코더에서 디코딩이 완료되는 순간이라는 점에서 제 1 실시형태와 상이하다. 현 실시형태가 로그 가능도 비 L1 및 L2 를 이용하여 반복 디코딩의 컨버젼스/넌컨버젼스를 검출하기 때문에, 이것은 이하의 수학식 (2 및 3) 으로 나타낸 바와 같이 2 개의 결정값 △0.5 및 △1 을 이용한다.
Figure 112006084004488-pat00014
Figure 112006084004488-pat00015
여기서 k 는 블록에서의 비트 식별자를 나타내고, i 는 반복 넘버를 나타내며, N 은 블록 길이를 나타내고,
Figure 112006084004488-pat00016
() 는 하드 판정 결과를 나타내고, L1 은 첫번째 디코더의 로그 가능도 비 LLR 을 나타내고, L2 는 두번째 디코더의 로그 가능도 비 LLR 을 나타내며, △0.5 , △1 은 하드 판정 결과에서의 차이 비를 나타낸다.
수학식 (2) 의 결정값 △0.5 는 각각의 비트에 대해 첫번째 디코더 (12) 에 의해 획득된 현재 로그 가능도 비 L1 과 두번째 디코더 (3) 에 의해 획득된 이전의 로그 가능도 비 L2 사이의 차이의 평균을 나타낸다. 수학식 (3) 의 결정값 △1 은 각각의 비트에 대해 첫번째 디코더 (12) 에 의해 획득된 현재 로그 가능도 비 L1 과 두번째 디코더 (3) 에 의해 획득된 현재 로그 가능도 비 L2 사이의 차이의 평균을 나타낸다. 결정값 △0.5 및 △1 이 0 에 가까울 경우, 첫번째 디코더 (12) 의 디코딩 결과와 두번째 디코더 (3) 의 디코딩 결과는 동일하다. 결정값 △0.5 및 △1 이 1 에 가까운 경우, 디코더 (12 및 3) 의 디코딩 결과는 크게 상이하고, 디코딩이 아직 컨버젼스 되지 않았음을 나타낸다. 이것은 제 1 실시형태에서와 동일하다.
디코딩 프로세스가 첫번째 디코더 (12) 및 두번째 디코더 (3) 에서 수행된 이후에, 첫번째 반복 디코딩 단계는 종료한다. 수학식 (2) 에 도시된 바와 같이, 결정값 △0.5 을 계산하는 타이밍은 보통 반복 디코딩의 완료 순간이 아니라 첫번째 디코더 (12) 에서의 디코딩의 완료순간이다. 그 결과, 결정값 △0.5 는 이 실시형태에서 반복 디코딩 프로세스 도중에 계산된다. 수학식 (3) 에 도시된 바와 같이, 결정값 △1 은 두번째 디코더 (3) 에서의 디코딩의 완료시에 계산된다. 이러한 방법에서, 본 실시형태는 각각의 반복 디코딩에 대한 중단 결정을 위한 결정값을 계산하지 않고 디코더 (12 및 3) 에서의 디코딩 프로세스가 종료되는 각각의 타이밍에 결정값 △0.5 및 △1 을 계산한다. 따라서, 2 개의 디코더를 이용하는 이 실시형태에서, 더블 레이트로 중단 결정을 수행하는 것이 가능하다. 따라서, 2 개 이상의 디코더 단계가 있는 경우, 중단 결정은 더욱 정확한 타이밍에 수행될 수 있다.
제 2 실시형태에 따른 디코딩 방법을 이하 설명한다. 제 2 실시형태에 따른 수신 데이터를 디코딩하는 방법은 도 4 에서의 단계 12 에 대응하는 각각의 코드 블록 CdBK 의 디코딩에서의 제 1 실시형태에 따른 수신 데이터를 디코딩하는 방법과 상이하다. 구체적으로, 각각의 코드 블록애 대한 반복 디코딩에서의 중단 결정 타이밍이 상이하다. 다른 점들은 제 1 실시형태와 동일하다.
도 7 은 제 2 실시형태에 따라 각각의 코드 블록을 디코딩하는 방법을 도시하는 흐름도이다. 이 실시형태에서, 디코더 (12 및 3) 에서의 반복 디코딩의 최대 횟수는 8 이다. 도 7 에 도시된 바와 같이, 우선 프로세스는 반복 넘버는 1 로 설정하고 최대 반복 넘버는 8 로 설정하여 (단계 S21) 첫번째 디코더 (12) 에서 디코딩 프로세스를 수행한다. 첫번째 디코더 (12) 는 도 1 에 도시된 첫번째 디코더 (2) 에서와 동일한 프로세스를 수행한다. 구체적으로, 첫번째 디코더 (12) 는 제 2 외부 정보 Le2 및 채널값 Y1P 및 YS 로부터 제 1 외부 정보 Le1 및 로그 가능도 비 L1 을 계산한다. 제 1 외부 정보 Le1 는 인터리버 (4) 에 공급되어 인터리빙되어 두번째 디코더 (3) 에 입력된다. 동시에, 시스테메틱 비트 YS 는 인터리버 (5) 에 의해 인터리빙되어 두번째 디코더 (3) 에 입력된다. 첫번째 디코더 (12) 에 입력되는 제 2 외부 정보 Le2 의 초기값은 0 이다. 이 실시형태에서, 로그 가능도 비 L1 은 하드 판정부 (8) 에 공급된다.
하드 판정부 (8) 는 로그 가능도 비 L1 을 이용하여 하드 판정 결과
Figure 112006084004488-pat00017
(L1) 를 계산한다 (단계 S22). 현재의 반복 넘버가 i 가 1 보다 작은 경우 (단계 S23 에서 아니오) 두번째 디코더 (3) 는 제 1 실시형태에서 두번째 디코더 (3) 에서와 동일한 디코딩 프로세스를 실행한다 (단계 S24). 구체적으로, 두번째 디코더 (3) 는 인터리빙된 제 1 외부 정보 Lint e1, 채널값 Y2P 및 인터리빙된 채널값 Yint S 을 수신하고, 인터리빙된 제 2 외부 정보 Lint e2 및 인터리빙된 로그 가능도 비 Lint 2 를 출력한다. 그 후, 인터리빙된 제 2 외부 정보 Lint e2 는 디인터리버 (6) 에 의해 첫번째 디코더 (12) 에 입력되는 제 2 외부 정보 Le2 로 디인터리빙된다. 인터리빙된 로그 가능도 비 Lint 2 는 디인터리버 (7) 에 의해 로그 가능도 비 L2 로 디인터리빙되어 하드 판정부 (8) 에 공급된다. 하드 판정부 (8) 는 로그 가능도 비 L2 를 이용하여 하드 판정 결과
Figure 112006084004488-pat00018
(L2) 를 계산한다. 하드 판정 결과
Figure 112006084004488-pat00019
(L2) 는 하드 판정부 또는 중단/종료 결정부 (9) 에 위치한 메모리, 또는 개별 메모리 (미도시) 에 저장된다.
그 후, 현재의 반복 넘버 i 가 1 보다 작은 경우 (단계 S25 에서 아니오), 반복 넘버가 최대 넘버인 8 인지 여부를 결정한다. 아니오인 경우, 반복 넘버는 증가되어 (단계 S27) 프로세스는 단계 S22 로부터 반복된다.
현재의 반복 넘버가 2 에 도달한 경우, 디코딩 프로세스는 단계 S22 에서와 유사하게 수행되어 하드 판정 결과
Figure 112006084004488-pat00020
(L2 1) 를 계산한다. 하드 판정 결과
Figure 112006084004488-pat00021
(L2 1) 는 하드 판정부 (8) 의 메모리에 저장된다.
그 후, 반복 넘버는 1 보다 큰 것으로 결정되고 (단계 S23 에서 예) 중단/종료 결정부 (9) 는 결정값 △0.5 을 계산한다. 이 단계에서, 결정값 △0.5 은 단계 S22 에서 계산되어 저장된 하드 판정 결과
Figure 112006084004488-pat00022
(L2 1) 및 이전의 반복 디코딩 프로세스에서의 단계 S25 에서 계산되고 메모리에 저장된 하드 판정 결과
Figure 112006084004488-pat00023
(L1 2) 에 기초하여 수학식 (2) 로부터 계산된다. 그 후, 결정값 △0.5 이 컨버젼스 결정 임계값 ηconv 보다 작거나 (즉 컨버젼스) 넌컨버젼스 결정 임계값 ηnon - conv 보다 큰지 (즉, 넌컨버젼스) 여부를 결정하고, 값이 컨버젼스 또는 넌컨버젼스 중 하나의 조건을 만족하는 경우 프로세스는 종료된다.
반면에, 그 값이 컨버젼스와 넌컨버젼스 조건 모두를 만족하지 않는 경우 (단계 S29 에서 아니오), 디코딩은 단계 S24 에서와 유사하게 수행되어 하드 판정 결과
Figure 112006084004488-pat00024
(L2 2) 를 계산하여 그것을 메모리에 저장한다. 단계 S25 이후에, 프로세스는 결정값 △1 을 계산한다 (단계 S30). 이 단계에서, 단계 S22 에서 계산되어 저장된 현재의 반복 디코딩에서의 하드 판정 결과
Figure 112006084004488-pat00025
(L2 1) 및 단계 S24 에서 계산되어 저장된 현재의 반복 디코딩에서의 하드 판정 결과
Figure 112006084004488-pat00026
(L2 2) 에 기초하여 수학식 (3) 으로부터 계산된다. 그 후, 프로세스는 결정값 △1 이 컨버젼스 결정 임계값 ηconv 보다 작거나 (즉 컨버젼스) 넌컨버젼스 결정 임계값 ηnon - conv 보다 큰지 (즉, 넌컨버젼스) 여부를 결정하고, 값이 컨버젼스 또는 넌컨버젼스 중 하나의 조 건을 만족하는 경우 프로세스는 종료된다. 이러한 방법으로, 프로세스는 결정값 △O 또는 △1 이 컨버젼스 또는 넌컨버젼스 조건을 만족하거나 최대 반복 넘버 (=8) 에 도달할때까지 단계 S22 로부터 과정을 반복한다.
상술한 바와 같이, 현재의 실시형태는 각각의 코드 블록 CdBK 에서 실질적으로 0.5 회의 반복 디코딩마다 한번씩 중단 결정을 수행한다. 구체적으로, 첫번째 디코더 (12) 에 의한 디코딩의 완료시, 컨버젼스/넌컨버젼스에 대한 결정이 결정값 △0. 5 를 이용하여 수행된다. 또한, 보통의 원타임 반복 디코딩 단계의 완료시인, 두번째 디코더 (3) 에 의한 디코딩의 완료시, 컨버젼스/넌컨버젼스에 대한 결정은 결정값 △1 을 이용하여 수행된다. 이것은 2 배의 중단 결정 횟수를 수행하게 한다. 그에 의해, 이론적으로 반복 프로세스를 평균 0.5/2 배 감소시킬 수 있다. 코드 블록에서의 터보 디코딩에 대한 효율성의 증가는 전송 블록에서의 디코딩 프로세스의 효율성을 향상시킨다.
제 2 실시형태의 또 다른 버젼
본 발명의 제 2 실시형태의 또 다른 버젼을 이하 설명한다. 이 실시형태에서, 제 2 실시형태에서의 첫번째 디코더 (12) 및 두번째 디코더 (3) 는 하나의 디코더로 통합된다.
도 8 은 이 또 다른 실시형태에 따른 디코딩 디바이스를 도시하는 블록도이다. 디코딩 디바이스 (21) 는 채널값 YS, Y1P, Y2P, 및 외부 정보 Le 를 각각 저장하는 메모리 (23 내지 26) 와 디코더 (22) 를 구비한다. 또한, 디코딩 디바 이스 (21) 는 인터리버 (27 및 28), 디인터리버 (29 및 30), 선택기 (31 내지 35), 하드 판정부 (36), 중단/종료 결정부 (37), 및 디코더 제어기 (38) 를 구비한다.
디코더 (22) 는 도 6 에 도시된 첫번째 디코더 (12) 및 두번째 디코더 (3) 의 기능을 수행한다. 따라서, 선택기 (31) 는 YS 메모리 (23) 로부터의 출력과 인터리버 (27) 에 의해 인터리빙된 YS 메모리 (23) 의 출력 사이에서 선택을 스위칭하여 선택된 하나를 디코더 (22) 에 입력한다. 또한, 선택기 (32) 는 Y1P 메모리 (24) 로부터의 출력과 Y2P 메모리 (25) 로부터의 출력 사이에 선택을 스위칭하여 선택된 하나를 디코더 (22) 에 입력한다.
디코더 (22) 는 제 1 외부 정보 Le1 또는 인터리빙된 제 2 외부 정보 Lint e2 를 출력한다. 제 1 외부 정보 Le1 은 선택기 (33) 에 그대로 입력되고, 인터리빙된 제 2 외부 정보 Lint e2 는 디인터리버 (29) 에 의해 디인터리빙된 이후 선택기 (33) 에 입력된다. 선택기 (33) 는 둘 중 하나를 선택하여 Le 메모리 (26) 에 선택된 값을 저장한다. 또한 디코더 (22) 는 로그 가능도 비 L1 와 Lint 2 를 출력한다. 로그 가능도 비 L1 는 선택기 (34) 에 그대로 입력되고, 인터리빙된 로그 가능도 비 Lint 2 는 디인터리버 (30) 에 의해 디인터리빙된 이후 선택기 (34) 에 입력된다. 선택기 (34) 는 둘 중 하나를 선택하여 선택된 값을 하드 판정부 (36) 에 공급한다. 중단/종료 결정부 (37) 는 하드 판정부 (36) 에서의 하드 판정 결과에 기초하여 상술한 바와 같이 결정값 △0.5 및 △1 을 계산한다.
Le 메모리 (26) 는 Le1 및 Le2 를 출력한다. 출력 Le2 은 인터리버 (28) 에 의해 인터리빙되어 선택기 (35) 에 입력된다. 선택기 (35) 는 제 1 외부 정보 Le1 또는 인터리빙된 제 2 외부 정보 Lint e2 중 하나를 선택하여 선택된 하나를 디코더 (22) 에 공급한다.
디코딩 디바이스 (21) 의 디코딩 방법은 도 7 에 도시된 제 2 실시형태에서의 방법과 실질적으로 동일하다. 디코더 (22) 가 첫번째 디코더 (12) 와 같이, 또는 두번째 디코더 (3) 와 같이 동작하도록, 선택기 (31 내지 35) 는 디코더 제어기 (38) 의 제어에 따라 적당히 스위칭한다.
우선, 디코더 (22) 는 첫번째 디코더 (12) 와 같이 기능한다. 디코더 제어기 (38) 의 제어 하에서는, YS 메모리 (23) 및 Y1P 메모리 (24) 각각으로부터의 채널값 (시스테메틱 비트 YS, 패리티 비트 Y1P) 은 선택기 (31 및 32) 를 통해 디코더 (22) 에 공급된다. 또한, 제 2 외부 정보 Le2 는 Le 메모리 (26) 및 선택기 (35) 를 통해 디코더 (22) 에 공급된다. 첫번째 반복 디코딩에서, 외부 정보 Le2 는 0 으로 설정된다. 이들 값에 기초하여, 디코더 (12) 는 외부 정보 Le1 및 로그 가능도 비 L1 을 출력한다.
제 1 외부 정보 Le1 은 선택기 (33) 를 통해 Le 메모리 (26) 에 공급되고, 인터리버 (28) 에 의해 인터리빙되어, 그 후, 선택기 (35) 를 통해 디코더 (22) 에 공급된다. 동시에, YS 메모리 (23) 로부터의 YS 는 인터리버 (27) 에 의해 인터리빙되어 선택기 (31) 를 통해 디코더 (22) 에 공급된다. 또한, Y2P 메모리 (25) 로부터의 Y2P 는 선택기 (32) 를 통해 디코더 (22) 에 공급된다. 이들 값들을 수신하면서, 디코더 (22) 는 두번째 디코더 (2) 와 같이 기능하여 제 2 외부 정보 Lint e2 와 로그 가능도 비 Lint 2 를 출력한다. 제 2 외부 정보 Lint e2 는 디인터리버 (29) 에 의해 디인터리빙되어, 선택기 (33) 를 통해 Le 메모리 (26) 에 저장되고, 그 후, 적당한 타이밍에 선택기 (35) 를 통해 디코더 (22) 에 공급된다. 이러한 방법으로, 디코더 (22) 는 첫번째 디코더와 같이 디코딩 프로세스를, 또 다른 방법으로는 두번째 디코더와 같이 디코딩 프로세스를 실질적으로 수행한다.
반면에, 첫번째 디코더와 같이 수행된 디코딩 프로세스에서 계산된 로그 가능도 비 L1 은 선택기 (34) 를 통해 하드 판정부 (36) 에 공급된다. 하드 판정부 (36) 는 로그 가능도 비 L1 를 이용하여 하드 판정 결과를 계산한다. 그 후, 디코더 (22) 는 두번째 디코더와 같이 디코딩 프로세스를 수행하여 로그 가능도 비 Lint 2 를 계산한다. 로그 가능도 비 Lint 2 는 디인터리버 (30) 에 의해 디인터리빙되어 선택기 (34) 를 통해 하드 판정부 (36) 에 공급된다. 하드 판정부 (36) 는 로그 가능도 비 L2 를 이용하여 하드 판정 결과를 계산한다.
로그 가능도 비 L1 으로부터 계산된 하드 판정 결과와 로그 가능도 비 L2 로부터 계산된 하드 판정 결과는 연속하여 0.5 의 반복 넘버 간격으로 중단/종료 결정부 (37) 에 공급된다. 중단/종료 결정부 (37) 는 이들 값들을 이용하여 0.5 와 1 의 반복 넘버의 타이밍 각각에서 수학식 (2 및 3) 으로부터 결정값 △0.5 와 △1 을 계산하고, 중단 결정을 위해 이들 값을 컨버젼스 결정 임계값 ηconv 및 넌컨버젼스 결정 임계값 ηnon - conv 과 비교한다. 이 프로세스는 제 2 실시형태에서와 동일하다.
상술한 바와 같이, 현재의 또 다른 실시형태는 제 2 실시형태와 같이, 각각의 반복 디코딩에서가 아닌, 각각의 코드 블록에 대해 디코더에서의 각각의 디코딩 프로세스에서 중단 결정을 수행한다. 이것은 이론적으로 중단 결정을 위한 더욱 정확한 타이밍과 컨버젼스/넌컨버젼스의 반복 디코딩 횟수의 최대 0.5 배 더 이른 검출을 가능하게 한다. 또한, 이 또 다른 실시형태는 첫번째 디코더와 두번째 디코더를 하나의 디코더 (22) 로 통합하여 회로 사이즈를 감축한다.
제 2 실시형태가 제공되는 실시례의 시뮬레이션 결과와 종래 중단 방법이 제공되는 상대적인 실시례에 기초하여 제 2 실시형태의 이점을 이하 설명한다. 도 9 는 신호 대 잡음 전력 강도 비 (Eb/No) 에 관한 비트 에러 레이트 (BER), 블록 에러 레이트 (BLER) 및 프레임 에러 레이트 (FER) 를 나타내는 그래프이다. 또한 도 10 은 신호 대 잡음 전력 강도 비 (Eb/No) 에 관한 평균 반복 넘버를 나타내는 그래프이다.
도 9 에서, 세로축의 BER 은 총 비트 수에 관한 에러 비트 수 (에러 비트 수/총 비트 수) 를 나타낸다. BLER 은 전송 블록에서의 에러 레이트를 나타낸다. 이 예에서, 하나의 프레임은 하나의 블록을 포함하고, 하나의 블록은 656 개의 비트를 포함한다. FER 은 총 프레임 수에 관한 에러 프레임 수 (에러 프레임 수/총 프레임 수) 를 나타낸다. 이 예에서 하나의 프레임은 하나의 전송 블록에 대응하기 때문에, FER 은 BLER 과 동의어이다. 하나의 프레임이 복수의 전송 블록을 포함하는 경우, FER 은 BLER 과 상이하다. 가로축에서의 신호 대 잡음 전력 강도 비 (Eb/No) 는 노이즈 전력 (No) 에 관한 비트 당 전력 (Eb) 을 나타낸다. 노이즈 양이 커짐에 따라, 신호 대 잡음 전력 강도 비 값은 작아진다.
도 9 및 도 10 에서 BER1, BLER1, FER1, 및 ava1 은 현재 실시형태에 대응하고, BER0, BLER0, FER0, 및 ava0 는 관련 기술에 대응한다. 도 9 에 도시된 바와 같이, FER1, FER0, BLER1 및 BLER0 는 실질적으로 오버랩되고, BER1 과 BER0 또한 실질적으로 오버랩된다. 그 결과, 컨버젼스를 검출하거나 그에 의해 반복 디코딩 넘버를 최적화하지 않도록, 이 실시형태의 디코딩 방법을 적용함으로써 실질적으로 0.5 회의 반복 디코딩마다 한번씩 중단 결정을 수행하는 케이스와 컨버젼스/넌컨버젼스를 검출하여 그에 의해 반복 디코딩 넘버를 최적화하도록 보통의 반 복 디코딩마다 한번씩 중단 결정을 수행하는 케이스 사이에 에러 정정 능력의 차이가 없다.
반면에, 도 10 에 도시된 바와 같이 이러한 예에서의 평균 반복 넘버 (ava1) 가 관련 기술 (ava0) 보다 더 적다. 이 시뮬레이션에서, BLER=0.01(Eb/No=1.0 dB) 의 조건하에서, 반복 넘버는 약 0.25 배 감소될 수 있다. 또한, Eb/No=1.2 dB 의 조건하에서, 반복 넘버는 약 0.26 배 감소될 수 있다. 결과적으로, 이 실시형태의 디코딩 방법의 적용은 높은 에러 정정 능력을 유지하면서 각각의 코드 블록에서 반복 디코딩 횟수를 감소시킨다.
제 3 실시형태
본 발명의 제 3 실시형태를 이하 설명한다. 이 실시형태에 따른 수신 장치는 제 1 또는 제 2 실시형태에 따른 디코딩 디바이스를 포함한다. 도 11 은 상술한 디코딩 디바이스 (1, 11 또는 21) 를 구비하는 수신 장치를 도시한다. 디코딩 디바이스 (1) 에 더하여, 수신 장치 (40) 는 도 11 에 도시된 바와 같이, 안테나 (41), 증폭기 (42), RF 부 (43), 복조기 (44), 디펑츄어링 (de-puncturing) 부 (45), 이들 구성요소를 제어하는 제어기 (46) 등을 구비한다.
수신 장치 (40) 에서, 수신 안테나 (41) 에 의해 수신된 수신 데이터는 증폭기 (42) 에 공급된다. 증폭기 (42) 는 수신 데이터를 증폭하여 RF 부 (43) 에 증폭된 데이터를 공급한다. RF 부 (43) 는 고주파수 변환과 같은 고주파수 프로세싱을 수행하여 프로세싱된 수신 데이터를 복조용 복조기 (44) 에 공급한다. 그 후, 복조된 수신 데이터는 디펑츄어링부 (45) 에 공급된다. 디펑츄어링부 (45) 는 송신측에서 수행된 인터리빙에 반대인 디인터리빙을 수행하여 그에 의해 원래의 데이터 시퀀스를 재저장하고, 또한 송신시 제거되는 데이터 위치에 0 비트를 삽입하는 디펑츄어링을 수행하여 그에 의해 원래의 데이터 길이를 재저장한다. 디펑츄어링의 결과로서의 원래의 데이터 길이를 갖는 데이터는 터보 디코딩을 위해 디코딩 디바이스 (1) 에 공급되어 그에 의해 하드 판정 디코딩 결과를 획득한다. 제어기 (46) 는 예를 들어, 디코딩 디바이스 (1) 에서의 중단 결정 결과에 기초하여 디코딩 디바이스 (1) 에 데이터를 공급하는 타이밍을 제어한다.
이 실시형태에 따라 디코딩 디바이스 (1) 를 갖는 수신 장치 (40) 에서, 전송 블록에 포함된 복수의 코드 블록들 중 하나의 코드 블록에서 에러 정정이 컨버젼스될 수 없는 즉시, 관련 코드 블록이 포함된 전송 블록에서의 디코딩 프로세스는 중단된다. 이것은 높은 레이트로 전송 블록을 디코딩할 수 있는 수신 장치를 준비하게 하여 전력 소모를 감소시킨다. 또한, 수신 장치가 상술한 디코딩 디바이스 (11 또는 21) 를 구비하는 경우, 더 적은 디코딩 넘버로 각각의 코드 블록에서 컨버젼스 결정을 하는 것이 가능하여, 또한 디코딩 프로세스의 효율성을 증가시킨다.
본 발명은 상술한 실시형태에 한정되지 않지만 본 발명의 범위를 벗어나지 않고 다양한 방법으로 변경될 수도 있다. 예를 들어, 제 2 실시형태는 수학식 (2 및 3) 을 이용하여 결정값을 계산하지만, 그에 한정되지 않는다. 예를 들어, 수학식 (3) 은 첫번째 반복 디코딩 단계의 완료 순간의 타이밍에 계산될 수 있는 임의의 값이 될 수도 있고, 제 1 실시형태에서 상술한 바와 같이 아래의 수학식 (1) 을 이용하는 것도 가능하다.
Figure 112006084004488-pat00027
또한, 수학식 (2) 에 의해 나타난 결정값 △0.5 는 첫번째 디코더에서 디코딩 프로세스의 완료 순간의 타이밍에 계산될 수 있는 임의의 값이 될 수도 있고, 로그 가능도 비 L1 과 L2 이외에 외부 정보 Le1 과 Le2 를 이용하는 것도 가능하다. 또한, 수학식 (1) 이 두번째 디코더의 결과를 이용하지만, 디코딩이 두번째 디코더로 시작하고 반복 디코딩이 첫번째 디코더로 종료하는 경우, 첫번째 디코더로부터 출력 L1 을 이용하여 결정값을 계산하는 것이 가능하다. 수학식 (1 내지 3) 의 좌측부에 1/N 이 승산되었지만, 임계값 η 에 N 을 승산하는 것이 가능하다. 또한, 결정값 △0, △0.5 및 △1 에 더하여, 최소/최대 L1 또는 L2 를 임계값에 비교하는 것이 가능하다. 코드 비트가 하드 판정 결과 또는 SCR 과 상이한, 상이하거나 동일한 위치에서 최소/최대 L1 또는 L2, Le1, Le2 를 이용하는 것이 가능하다.
상술한 제 2 실시형태에서, 2 개의 디코더 또는 2 개의 디코딩 프로세스 단계에서 디코딩 결과를 이용하여 터보 디코딩을 수행하는 디코딩 디바이스가 설명되었다. 그러나, 디코딩 디바이스는 3 개 이상의 디코더를 구비할 수도 있거나 3 개 이상의 디코딩 기능 단계를 가질 수도 있다. 이러한 케이스에서, 디코더의 개수가 M 인 경우 수학식 (2) 를 이용한다면, 결정값 △ 은 첫번째와 두번째 디코더의 결과, 두번째와 세번째 디코더의 결과, ..., (M-1) 번째와 M 번째 디코더의 결과의 일부 또는 전부를 이용하여 계산될 수 있다. 이것은 반복 디코딩 단위가 아닌, 더욱 정확한 단위로 중단 결정을 가능하게 하여, 그에 의해 최소 반복 넘버로 프로세스를 중단한다.
컨버젼스/넌컨버젼스는 상술한 실시형태에서 2 개의 임계값을 이용하여 결정되지만, 예를 들어, 컨버젼스만을 결정하는 것이 가능하다. 또한, 임계값 ηconv 또는 ηnon - conv 는 상수 또는 반복 넘버와 함께 변하는 변수일 수도 있다. 이러한 케이스에서, 값은 기능에 의해 적당히 계산될 수도 있거나 룩업 테이블 (look-up table) 등에 저장될 수도 있다.
또한, 짧은 구간으로 컨버젼스/넌컨버젼스 결정을 하게 하는 제 2 실시형태에서, 중단 결정 이후에 CRC 결정을 수행하는 것이 가능하고, CRC 에러 검출시, 다시 반복 디코딩을 수행하는 것이 가능하다.
또한, 제 1 내지 제 3 실시형태는 하드웨어 구성으로서 설명되었지만, 본 발명은 CPU (중앙 프로세싱 유닛; Central Processiong Unit) 상에서 컴퓨터 프로그램을 실행함으로써 구현될 수도 있어 그에 의해 임의의 프로세싱을 수행한다. 이러한 케이스에서, 컴퓨터 프로그램은 기록 매체에 저장되거나 인터넷과 같은 송신 매체를 통해 송신될 수도 있다.
본 발명의 사상과 범위로부터 벗어나지 않고 수정되고 변경될 수도 있는 상기 실시형태에 본 발명이 한정되지 않는다는 것이 명백하다.
본 발명은 불필요한 반복 디코딩을 제거하는 디코딩 디바이스, 디코딩 방법, 및 수신 장치를 제공하여 효율적인 디코딩 프로세스를 하게 한다.

Claims (19)

  1. 가능도 정보 (likelihood information) 에 기초하여 수신 데이터를 디코딩하는 디코딩 디바이스로서,
    상기 수신 데이터로부터 분할된 복수의 블록 각각에 대해 반복 디코딩 (iterative decoding) 을 수행하는 디코딩 프로세서; 및
    상기 디코딩 프로세서로부터의 출력 결과에 기초하여 각각의 분할된 블록에서의 상기 반복 디코딩을 중단할지 여부를 결정하고, 상기 중단 결정 결과에 기초하여 상기 수신 데이터의 디코딩 프로세스를 종료할지 여부를 결정하는 종료 결정을 수행하는 중단/종료 결정부를 구비하는, 디코딩 디바이스.
  2. 제 1 항에 있어서,
    상기 중단/종료 결정부는, 각각의 분할된 블록에서의 상기 반복 디코딩의 에러 정정이 컨버젼스되었는지 (convergenced) 여부에 대한 결정 결과에 기초하여 상기 종료 결정을 수행하는, 디코딩 디바이스.
  3. 제 1 항에 있어서,
    상기 중단/종료 결정부는,
    각각의 분할된 블록에서의 상기 반복 디코딩의 완료시 상기 종료 결정을 수행하고,
    상기 중단 결정이 하나의 분할된 블록에서의 상기 반복 디코딩의 에러 정정이 컨버젼스되지 않는다고 결정하는 경우, 상기 수신 데이터의 상기 디코딩 프로세스를 종료하는, 디코딩 디바이스.
  4. 제 1 항에 있어서,
    상기 분할된 블록은 디코딩 유닛으로서 코드 블록이고, 상기 수신 데이터는 복수의 코드 블록들을 포함하는 전송 블록인, 디코딩 디바이스.
  5. 제 1 항에 있어서,
    에러 검출 코드가 상기 수신 데이터의 마지막 블록에 부가된, 디코딩 디바이스.
  6. 상기 1 항에 있어서,
    상기 디코딩 프로세서는, 복수 스테이지의 디코더들로서 기능하고 디코딩 프로세스의 첫번째 스테이지에서 마지막 스테이지까지를 실행함으로써 원타임 반복 디코딩을 완료하고;
    상기 중단/종료 결정부는 상기 마지막 스테이지 이전에 디코딩 프로세스의 완료 타이밍에 상기 중단 결정을 수행하는, 디코딩 디바이스.
  7. 제 1 항에 있어서,
    상기 디코딩 프로세서로부터의 출력 결과에 기초하여 하드 (hard) 판정 디코딩 결과를 출력하는 하드 판정부를 더 구비하고,
    상기 중단/종료 결정부는 상기 하드 판정부의 결과에 기초하여 상기 중단 결정을 수행하는, 디코딩 디바이스.
  8. 제 6 항에 있어서,
    상기 중단/종료 결정부는 상기 복수 스테이지의 디코딩 프로세스에서 각각의 디코딩 프로세스의 완료 타이밍에 상기 중단 결정을 수행하는, 디코딩 디바이스.
  9. 제 6 항에 있어서,
    상기 디코딩 프로세서는 복수 스테이지의 디코더들을 포함하고,
    상기 중단/종료 결정부는 상기 복수 스테이지의 디코더들 중 선행 디코더와 후속 디코더의 디코딩 결과에 기초하여 상기 중단 결정을 수행하는, 디코딩 디바이스.
  10. 제 6 항에 있어서,
    상기 디코딩 프로세서는 첫번째 디코더 및 두번째 디코더를 포함하고,
    상기 중단/종료 결정부는 현재의 반복 디코딩에서의 상기 첫번째 디코더로부터의 출력 및 이전의 반복 디코딩에서의 두번째 디코더로부터의 출력에 기초하여, 상기 중단 결정을 수행하는, 디코딩 디바이스.
  11. 제 6 항에 있어서,
    상기 디코딩 프로세서를 제어하는 제어기를 더 구비하고,
    상기 디코딩 프로세서는 첫번째 디코더 및 두번째 디코더로서 기능하는 하나의 디코더를 포함하고,
    상기 제어기는, 상기 하나의 디코더가 상기 첫번째 디코더 또는 상기 두번째 디코더로서 기능하도록 상기 하나의 디코더로의 입력을 스위칭하는, 디코딩 디바이스.
  12. 제 10 항에 있어서,
    상기 중단/종료 결정부는, 현재의 반복 디코딩에서의 상기 첫번째 디코더 및 상기 두번째 디코더의 출력에 기초하여 상기 중단 결정을 수행하는, 디코딩 디바이스.
  13. 제 10 항에 있어서,
    상기 중단/종료 결정부는, 현재의 반복 디코딩과 이전의 반복 디코딩에서의 상기 첫번째 디코더 및 상기 두번째 디코더의 출력에 기초하여 상기 중단 결정을 수행하는, 디코딩 디바이스.
  14. 제 10 항에 있어서,
    상기 디코딩 프로세서로부터의 출력 결과에 기초하여 하드 판정 디코딩 결과를 출력하는 하드 판정부를 더 구비하고,
    상기 중단/종료 결정부는, 현재의 반복 디코딩에서의 상기 첫번째 디코더로부터의 출력 및 이전의 반복 디코딩에서의 상기 두번째 디코더로부터의 출력에 기초한 하드 판정 결과에서의 차이 넘버에 대응하는 결정값을 계산하고, 상기 결정값을 이용하여 컨버젼스/넌컨버젼스를 검출함으로써 상기 하드 판정부의 결과에 기초하여 상기 중단 결정을 수행하고, 상기 중단 결정의 결과에 기초하여 상기 종료 결정을 수행하는, 디코딩 디바이스.
  15. 가능도 정보에 기초하여 수신 데이터를 디코딩하는 디코딩 방법으로서,
    상기 수신 데이터로부터 분할된 복수의 블록들 중 하나의 분할된 블록에서 디코딩을 수행한 이후 디코딩 결과를 출력하는 단계;
    상기 디코딩 결과에 기초하여 하나의 분할된 불록에서 디코딩의 반복을 중단할지 여부를 결정하는 중단 결정을 수행하는 단계; 및
    상기 하나의 분할된 블록에서 디코딩을 중단하지 않는 경우 디코딩을 반복시키고, 상기 하나의 분할된 블록에서 디코딩을 중단하는 경우, 상기 중단 결정의 결과에 기초하여 상기 수신 데이터의 디코딩 프로세스를 종료할지 여부를 결정하는 종료 결정을 수행하는 단계를 포함하는, 디코딩 방법.
  16. 제 15 항에 있어서,
    상기 종료 결정은, 상기 하나의 분할된 블록에서 상기 반복 디코딩의 에러 정정이 컨버젼스되었는지 여부에 대한 중단 결정의 결과에 기초하여, 상기 수신 데이터의 상기 디코딩 프로세스를 종료할지 여부를 결정하는, 디코딩 방법.
  17. 제 15 항에 있어서,
    상기 디코딩 결과를 출력하는 단계는, 복수 스테이지의 디코더로서 기능하고, 디코딩 프로세스의 첫번째 스테이지에서 마지막 스테이지까지 실행함으로써 원타임 반복 디코딩을 완료하는 디코딩 프로세서로부터 디코딩 결과를 출력하며,
    상기 중단 결정은, 현재의 반복 디코딩을 지금 실행하는 상기 디코딩 프로세서에서의 상기 마지막 스테이지 이전의 디코딩 결과에 기초하여, 상기 분할된 블록에서 반복 디코딩을 종료할지 여부를 결정하는, 디코딩 방법.
  18. 제 17 항에 있어서,
    상기 디코딩 결과에 기초하여 하드 판정 디코딩 결과를 출력하는 단계를 더 포함하고,
    상기 중단 결정은, 상기 반복 디코딩의 에러 정정이 상기 하드 판정 디코딩 결과에 기초하여 컨버젼스되었는지 여부를 결정하는, 디코딩 방법.
  19. 연접 코드를 수신하고 가능도 정보에 기초하여 수신 데이터의 반복 디코딩을 수행하는 수신 장치로서,
    상기 수신 데이터를 수신하는 수신기;
    상기 수신 데이터의 상기 반복 디코딩을 수행하는 디코더; 및
    수신 데이터로부터 분할된 복수의 블록들 중 하나의 분할된 블록에서 반복 디코딩의 완료시에 중단 결정 결과에 기초하여 상기 수신 데이터의 디코딩 프로세스를 종료할지 여부를 결정하는 종료 결정을 수행하여, 상기 디코더에서 반복 횟수를 최적화하는 제어기를 구비하고,
    상기 디코더는,
    상기 각각의 분할된 블록에 대해 반복 디코딩을 수행하는 디코딩 프로세서; 및
    상기 디코딩 프로세서로부터의 출력 결과에 기초하여 각각의 분할된 블록에서 상기 반복 디코딩을 중단할지 여부를 결정하는 중단/종료 결정부를 구비하는, 수신 장치.
KR1020060113442A 2005-11-16 2006-11-16 디코딩 디바이스, 디코딩 방법, 및 수신 장치 KR100860733B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005331185A JP4092352B2 (ja) 2005-11-16 2005-11-16 復号装置、復号方法、及び受信装置
JPJP-P-2005-00331185 2005-11-16

Publications (2)

Publication Number Publication Date
KR20070052228A KR20070052228A (ko) 2007-05-21
KR100860733B1 true KR100860733B1 (ko) 2008-09-29

Family

ID=37546239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060113442A KR100860733B1 (ko) 2005-11-16 2006-11-16 디코딩 디바이스, 디코딩 방법, 및 수신 장치

Country Status (5)

Country Link
US (1) US7992073B2 (ko)
JP (1) JP4092352B2 (ko)
KR (1) KR100860733B1 (ko)
CN (1) CN1968071A (ko)
GB (1) GB2432495B (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070086550A1 (en) * 2005-10-18 2007-04-19 Matsushita Electric Industrial Co., Ltd. Receiving apparatus, mobile communication terminal, and communication system
JP2008011460A (ja) * 2006-06-30 2008-01-17 Fujitsu Ltd ターボ復号器
US8024644B2 (en) * 2006-11-14 2011-09-20 Via Telecom Co., Ltd. Communication signal decoding
US8379738B2 (en) * 2007-03-16 2013-02-19 Samsung Electronics Co., Ltd. Methods and apparatus to improve performance and enable fast decoding of transmissions with multiple code blocks
US20080267100A1 (en) * 2007-04-27 2008-10-30 Broadcom Corporation, A California Corporation Data block cluster processing in a wireless device
US8261170B2 (en) * 2007-06-19 2012-09-04 Mitsubishi Electric Research Laboratories, Inc. Multi-stage decoder for error-correcting codes
EP2166689A4 (en) * 2007-07-04 2013-11-20 Nec Corp MULTI-CARRIER MOBILE COMMUNICATION SYSTEM
US8386878B2 (en) 2007-07-12 2013-02-26 Samsung Electronics Co., Ltd. Methods and apparatus to compute CRC for multiple code blocks
WO2009053825A2 (en) * 2007-10-26 2009-04-30 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for providing adaptive cyclic redundancy check computation
KR20090083758A (ko) * 2008-01-30 2009-08-04 삼성전자주식회사 연접 부호 복호화 방법 및 장치
US8787384B2 (en) 2008-05-05 2014-07-22 Qualcomm Incorporated Pre-emptive acknowledgement for data transmission in a communication system
US8321744B2 (en) * 2008-09-16 2012-11-27 Analog Devices, Inc. Channel adaptive iterative turbo decoder system and method
JP5186324B2 (ja) * 2008-09-29 2013-04-17 京セラ株式会社 通信装置及び通信方法
US8301979B2 (en) * 2008-10-07 2012-10-30 Sandisk Il Ltd. Low density parity code (LDPC) decoding for memory with multiple log likelihood ratio (LLR) decoders
WO2010049988A1 (ja) * 2008-10-27 2010-05-06 富士通株式会社 復号装置、受信装置、通信システム、復号方法および受信方法
JP5145208B2 (ja) * 2008-12-25 2013-02-13 京セラ株式会社 無線通信端末、復号方法及び復号器
WO2011064837A1 (ja) * 2009-11-24 2011-06-03 富士通株式会社 受信機、受信方法及び受信制御プログラム
US8756477B2 (en) * 2009-12-21 2014-06-17 Qualcomm Incorporated System, method and apparatus for early termination based on transport block fail for acknowledgment bundling in time division duplex
KR101678053B1 (ko) 2010-04-02 2016-11-22 삼성전자 주식회사 반도체 장치 및 이의 복호 방법
US8756473B1 (en) * 2010-12-23 2014-06-17 Sk Hynix Memory Solutions Inc. Solid state device coding architecture for chipkill and endurance improvement
WO2012093956A1 (en) * 2011-01-05 2012-07-12 Zte Wistron Telecom Ab Method for stopping iteration in an iterative turbo decoder and an iterative turbo decoder
JP5699737B2 (ja) 2011-03-28 2015-04-15 富士通株式会社 誤り訂正装置及び誤り訂正方法
EP2579468B1 (en) 2011-10-05 2020-05-06 Telefonaktiebolaget LM Ericsson (publ) Method and device for decoding a transport block of a communication signal
US8918705B1 (en) 2012-01-11 2014-12-23 Sk Hynix Memory Solutions Inc. Error recovery by modifying soft information
US8839079B2 (en) * 2012-08-20 2014-09-16 Qualcomm Incorporated Methods and apparatuses for saving power during transport block decoding in UMTS systems
US8885276B2 (en) * 2013-02-14 2014-11-11 Lsi Corporation Systems and methods for shared layer data decoding
US9183095B1 (en) 2013-06-28 2015-11-10 Sk Hynix Memory Solutions Inc. Recovering from a program failure by combining write data
US20150033094A1 (en) * 2013-07-23 2015-01-29 Yuan Ze University Window-stopped method for applying to turbo decoding
US10567008B2 (en) * 2015-07-02 2020-02-18 Apple Inc. Stopping criteria for turbo decoder
CN108736900B (zh) * 2017-04-21 2021-08-24 展讯通信(上海)有限公司 Turbo码译码的控制方法及装置、计算机可读介质、终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182261B1 (en) 1998-11-05 2001-01-30 Qualcomm Incorporated Efficient iterative decoding
US6686853B2 (en) 2000-11-06 2004-02-03 Broadcom Corporation Method and apparatus for iterative decoding
KR20040096355A (ko) * 2003-05-09 2004-11-16 김환용 터보 복호기의 복호 지연시간 감소장치 및 그 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100713331B1 (ko) 2000-12-23 2007-05-04 삼성전자주식회사 부호분할다중접속 이동통신시스템의 반복복호 중지 장치 및 방법
US7093180B2 (en) * 2002-06-28 2006-08-15 Interdigital Technology Corporation Fast H-ARQ acknowledgement generation method using a stopping rule for turbo decoding
FR2850810B1 (fr) * 2003-02-03 2005-05-13 Nortel Networks Ltd Procede de controle du nombre d'iterations d'un processus de decodage iteratif et dispositif pour la mise en oeuvre du procede
GB2403106B (en) * 2003-06-18 2007-08-15 Motorola Inc Arrangement and method for iterative decoding
US7849377B2 (en) * 2003-12-22 2010-12-07 Koninklijke Philips Electronics N.V. SISO decoder with sub-block processing and sub-block based stopping criterion
US7260762B2 (en) * 2004-07-26 2007-08-21 Motorola, Inc. Decoder performance for block product codes
US7565594B2 (en) * 2004-08-26 2009-07-21 Alcatel-Lucent Usa Inc. Method and apparatus for detecting a packet error in a wireless communications system with minimum overhead using embedded error detection capability of turbo code
CN101194451B (zh) * 2005-06-27 2012-11-21 汤姆森许可贸易公司 用于迭代解码器中的功率减小的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182261B1 (en) 1998-11-05 2001-01-30 Qualcomm Incorporated Efficient iterative decoding
US6686853B2 (en) 2000-11-06 2004-02-03 Broadcom Corporation Method and apparatus for iterative decoding
KR20040096355A (ko) * 2003-05-09 2004-11-16 김환용 터보 복호기의 복호 지연시간 감소장치 및 그 방법

Also Published As

Publication number Publication date
GB2432495A (en) 2007-05-23
GB0621600D0 (en) 2006-12-06
JP2007142622A (ja) 2007-06-07
GB2432495B (en) 2008-03-05
JP4092352B2 (ja) 2008-05-28
CN1968071A (zh) 2007-05-23
US20070124657A1 (en) 2007-05-31
KR20070052228A (ko) 2007-05-21
US7992073B2 (en) 2011-08-02

Similar Documents

Publication Publication Date Title
KR100860733B1 (ko) 디코딩 디바이스, 디코딩 방법, 및 수신 장치
US8443265B2 (en) Method and apparatus for map decoding and turbo decoder using the same
KR100761306B1 (ko) 디코딩 방법 및 장치
EP1339170A1 (en) Decoding device and decoding method
EP1783916B1 (en) Apparatus and method for stopping iterative decoding in a mobile communication system
JP2002111512A (ja) 復号装置及び方法、並びにデータ受信装置及び方法
US20010010089A1 (en) Digital transmission method of the error-correcting coding type
US7886209B2 (en) Decoding device, decoding method, and receiving apparatus
US8358713B2 (en) High throughput and low latency map decoder
US7027521B2 (en) Digital transmission method of the error correcting coding type
JP2002152056A (ja) ターボコード復号化装置、復号化方法および記録媒体
US7346117B2 (en) Turbo decoder
KR100738250B1 (ko) Llr의 부호 비교를 이용한 터보 복호기의 반복복호제어장치 및 방법
US7333419B2 (en) Method to improve performance and reduce complexity of turbo decoder
US20040225941A1 (en) Method of controlling the number of iterations of an iterative decoding process and device for the implementation of the method
EP1565992A1 (en) Erasure determination procedure for fec decoding
KR100823727B1 (ko) 터보 복호기에서 잡음 분산값을 이용한 반복중단 제어장치및 그 방법
KR100530339B1 (ko) 터보 복호기의 복호 지연시간 감소장치 및 그 방법
US7200797B2 (en) Method and device for optimising, under performance constraint, the size of blocks of coded data
KR100662076B1 (ko) 연판정 출력의 차이값에 대한 절대평균값을 이용한 반복중단 제어장치 및 그 방법
KR20040086872A (ko) 터보 복호기의 반복복호 횟수 제어장치 및 그 방법
Chi et al. High throughput low energy FEC/ARQ technique for short frame turbo codes
KR100564016B1 (ko) 터보 복호기
KR100564015B1 (ko) 터보 복호기

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
FPAY Annual fee payment

Payment date: 20120907

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130903

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee