KR100941346B1 - 다중 스케일 선택을 갖는 터보 디코더 - Google Patents

다중 스케일 선택을 갖는 터보 디코더 Download PDF

Info

Publication number
KR100941346B1
KR100941346B1 KR1020037016909A KR20037016909A KR100941346B1 KR 100941346 B1 KR100941346 B1 KR 100941346B1 KR 1020037016909 A KR1020037016909 A KR 1020037016909A KR 20037016909 A KR20037016909 A KR 20037016909A KR 100941346 B1 KR100941346 B1 KR 100941346B1
Authority
KR
South Korea
Prior art keywords
code segment
hypotheses
decoded
decoding
hypothesis
Prior art date
Application number
KR1020037016909A
Other languages
English (en)
Other versions
KR20040012976A (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 KR20040012976A publication Critical patent/KR20040012976A/ko
Application granted granted Critical
Publication of KR100941346B1 publication Critical patent/KR100941346B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • HELECTRICITY
    • 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
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP 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/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/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/3776Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using a re-encoding step during the decoding process
    • 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
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3911Correction factor, e.g. approximations of the exp(1+x) function
    • 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/63Joint error correction and other techniques
    • H03M13/6337Error control coding in combination with channel estimation
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • 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/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

디코딩될 코드 세그먼트에서의 스케일 정보가 알려지지 않았을 때 터보 디코더의 성능을 개선시키는 기술이 제공된다. 코드 세그먼트를 디코딩하기 위해 사용된 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는 복수의 가설이 코드 세그먼트에 대해 형성된다. MAP 디코딩 방식에 있어서, 이들 파라미터는 디코딩 이전에 비트를 스케일링하기 위해 사용된 스케일링 계수의 시퀀스 및/또는 MAP 디코딩에 대한 (예를 들어,
Figure 112007046431953-pct00104
) 함수를 평가하기 위해 사용된 스케일일 수도 있다. 코드 세그먼트는 MAP 디코딩 방식에 기초하고 각 가설에 따라 디코딩된다. 각 가설에 대한 디코딩된 결과의 품질은 하나 이상의 성능 메트릭에 기초하여 결정된다. 최선의 가설에 대한 디코딩된 비트가 터보 디코더 출력으로서 제공된다.
터보 디코더, 코드 세그먼트, MAP 디코딩 방식, 성능 파라미터, 스케일링 계수, 가설.

Description

다중 스케일 선택을 갖는 터보 디코더{TURBO DECODER WITH MULTIPLE SCALE SELECTIONS}
본 발명은 데이터 통신에 관한 것이다. 특히, 본 발명은 개선된 성능을 제공하기 위한 방식으로 공지되지 않은 스케일 정보로 코드 세그먼트를 터보 디코딩하는 기술에 관한 것이다.
무선 통신 시스템은 음성, 패킷 데이터 등과 같은 다양한 유형의 통신을 제공하기 위해 광범위하게 배치되어 있다. 이들 시스템은 코드 분할 다중 접속 (CDMA), 시분할 다중 접속 (TDMA), 또는 일부 다른 다중 접속 기술에 기초할 수도 있다. CDMA 시스템은 증가된 시스템 용량을 포함하는, 다른 유형의 시스템 보다 소정의 이점을 제공한다.
CDMA 시스템은 IS-95, W-CDMA, cdma2000 과 같은 하나 이상의 CDMA 표준을 지원하도록 설계될 수도 있다. 통상적으로, 각 표준은 순방향 및 역방향 링크상으로의 송신 이전에 데이터의 처리를 규정한다. 예를 들어, 음성 및/또는 패킷 데이터가 특정한 데이터 레이트로 코딩되고, 규정된 프레임 포맷으로 포맷되고, 특정한 처리 방식에 따라 처리 (예를 들어, 에러 정정 및/또는 검출을 위해 인코딩되고, 인터리빙된다) 될 수도 있다.
많은 새로운 CDMA 표준은 송신 이전에 코드 세그먼트 (예를 들어, 데이터 패킷) 를 인코딩하기 위해 선택될 수도 있는 (종종 터보 인코더라 부르는) 병렬 연결된 콘볼루셔널 인코더를 사용한다. 터보 인코더는 코드 인터리버와 병렬로 및 결합하여 동작되는 2 개의 구성 인코더를 사용한다. 코드 인터리버는 규정된 인터리빙 방식에 따라 코드 세그먼트 내의 정보 비트를 셔플 (즉, 인터리빙) 한다. 하나의 구성 인코더는 코드 세그먼트 내의 정보 비트를 인코딩하여 패리티 비트의 제 1 시퀀스를 생성하고, 다른 구성 인코더는 셔플된 정보 비트를 인코딩하여 패리티 비트의 제 2 시퀀스를 생성한다. 정보 비트 및 제 1 및 제 2 시퀀스의 일부 또는 모든 패리티 비트가 송신된다.
상보적 (및 계산 집약적) 터보 디코딩은 수신기 유닛에서 수행된다. 각 터보 인코딩된 세그먼트에 있어서, 통상적으로, 수신된 (소프트 값) 비트는 스케일링되고, 양자화되고, 버퍼에 저장된다. 다음으로, 제 1 구성 인코더에 대한 정보 및 패리티 비트가 버퍼로부터 검색되고 제 1 구성 코드에 기초하여 제 1 구성 디코더에 의해 디코딩되어 정보 비트에 대한 검출된 값의 신뢰도 (confidence) 의 조절을 나타내는 "외인성 (extrinsic)" 정보를 제공한다. 다음으로, 제 1 구성 디코더로부터의 외인성 정보를 포함하는 중간 결과가 송신기 유닛에서 사용된 코드 인터리빙에 매칭하는 인터리빙된 순서로 저장 유닛에 저장된다.
다음으로, 제 2 구성 인코더로부터의 패리티 비트 및 중간 결과가 그들 각각의 소스로부터 검색되고 제 2 구성 코드에 기초하여 제 2 구성 디코더에 의해 디코딩되어 정보 비트에 대한 검출된 값의 신뢰도의 또 다른 조절을 나타내는 외인성 정보를 제공한다. 다음으로, 제 2 구성 디코더로부터의 외인성 정보를 포함하는 중간 결과가 송신기 유닛에서 사용된 코드 인터리빙에 상보적인 디인터리빙된 순서로 저장 유닛에 저장된다. 중간 결과는 제 1 구성 디코더의 다음의 반복에 의해 사용된다. 제 1 및 제 2 구성 디코더에 의한 디코딩은 최종 디코딩된 결과를 산출하기 위해 다수 회 반복된다.
각 구성 디코더는 코드 세그먼트의 비트 에러 최소화를 시도하는 MAP (maximum a posteriori) 디코더로서 구현될 수도 있다. MAP 디코더에 의해 디코딩될 각 정보 비트에 대해, 다수의 계산이 외인성 정보를 유도하기 위해 수행된다. 소정의 디코더 구현에 있어서, 계산의 정확도는 MAP 디코더에 제공된 입력 비트 (즉, 샘플) 의 "스케일" 의 지식에 의존한다. 스케일 정보는 MAP 디코더에 제공된 샘플의 분산 및 진폭을 포함할 수도 있다. 디코딩이 입력 비트의 스케일에 대한 정보를 갖지 않거나 잘못된 가정에 의하여 수행된 경우에, 디코딩 성능이 저하될 수 있다.
따라서, 개선된 성능을 제공하기 위한 방식으로 공지되지 않은 스케일 정보로 코드 세그먼트를 디코딩할 수 있는 터보 디코더를 필요로 한다.
본 발명의 양태는 개선된 디코딩 결과를 제공하기 위한 방식으로 코드 세그먼트를 터보 디코딩하는 기술을 제공한다. (일반적으로 사용되는 MAP 디코딩 방식과 같은) 일부 터보 디코딩 방식에 있어서, 디코딩의 성능은 디코딩될 비트에 대한 스케일 정보의 지식에 의존한다. 이러한 스케일 정보는 디코딩될 비트의 분산 및 진폭에 관한 것일 수도 있고, MAP 디코딩에 대한 특정한 함수를 정확하게 평가하기 위해 필요할 수도 있다. 잘못된 스케일 정보가 코드 세그먼트를 디코딩하기 위해 사용되는 경우에, MAP 디코딩의 성능은, 함수가 정확하게 평가되지 않을 수도 있기 때문에 저하될 수도 있다.
본 발명의 양태는, 수신된 비트에 대한 스케일 정보가 공지되지 않았을 때 터보 디코더의 성능을 개선시키는 기술을 제공한다. 일반적으로, 다수의 가설 (hypotheses) 이 디코딩될 소정의 코드 세그먼트에 대해 형성되고, 각 가설 (hypothesis : h) 은 코드 세그먼트를 디코딩하기 위해 사용된 하나 이상의 파라미터 세트에 대한 하나 이상의 값의 특정 세트에 대응한다. MAP 디코딩 방식에 있어서, 이들 파라미터는, (1) 디코딩될 비트를 유도하기 위해 코드 세그먼트 내의 수신된 비트를 스케일링하기 위해 사용된 스케일링 계수의 시퀀스, 및/또는 (2) 코드 세그먼트를 디코딩하는 함수 (예를 들어,
Figure 112007046431953-pct00084
함수) 를 평가하기 위해 사용된 스케일에 대한 것일 수도 있다.
코드 세그먼트는 MAP 디코딩 방식에 기초하고 각 가설에 따라 디코딩된다. 다음으로, 각 가설에 대한 디코딩된 결과의 품질이 하나 이상의 성능 메트릭 (예를 들어, CRC 검사, 상관 메트릭, 재-인코딩된 상관 메트릭 등) 에 기초하여 결정된다. 모든 가설에 대한 디코딩된 결과의 품질이 비교되고, 성능 메트릭에 의해 결정되는 것처럼 "최선의" 디코딩된 결과를 제공하는 가설에 대한 디코딩된 비트가 코드 세그먼트에 대한 터보 디코더 출력으로서 제공된다.
이하, 본 발명의 다양한 양태, 실시형태, 및 특징을 상세히 설명한다.
본 발명의 양태, 특징, 목적, 및 이점은 도면을 참조하여 이하 상세한 설명으로부터 명백할 것이고, 동일한 참조 번호가 도면 전반적으로 대응한다.
도 1 은 본 발명의 다양한 양태 및 실시형태를 구현할 수 있는 통신 시스템의 단순한 블록도이다.
도 2 는 W-CDMA 표준에 의해 규정된 터보 인코더의 다이어그램이다.
도 3 은 수신기 유닛에서의 RX 데이터 프로세서내의 처리의 일부를 상징적으로 도시한 블록도이다.
도 4 는 터보 디코더 설계의 블록도이다.
도 5A 및 도 5B 는 MAP 디코더에 대한 순방향 및 역방향 상태 메트릭 계산 각각의 그래프적 표현을 도시한다.
도 6 및 도 7 은 본 발명의 실시형태에 따른 2개의 터보 디코딩 방식에 대한 흐름도이다.
도 8 은 본 발명의 실시형태에 따른 터보 디코더의 블록도이다.
도 1 은 본 발명의 다양한 양태 및 실시형태를 구현할 수 있는 통신 시스템 (100) 의 단순한 블록도이다. 이 실시형태에서, 통신 시스템 (100) 은 cdma2000, W-CDMA, IS-856, 및/또는 일부 다른 CDMA 표준에 따르는 CDMA 시스템이다. 송신기 유닛 (110) 에서, 통상적으로 블록 단위로, 데이터는 데이터 소스 (112) 로부터 데이터를 포맷, 코딩, 및 처리하는 송신 (TX) 데이터 프로세서 (114) 로 전송되어 하나 이상의 아날로그 신호를 생성한다. 다음으로, 아날로그 신호는, 신호(들) 를 (직교) 변조, 필터, 증폭, 및 업컨버팅하는 송신기 (TMTR : 116) 에 제공되어 변조된 신호를 생성한다. 다음으로, 변조된 신호는 하나 이상의 안테나 (118 : 도 1 에는 하나만 도시됨) 를 통해 하나 이상의 수신기 유닛으로 송신된다.
수신기 유닛 (150) 에서, 송신된 신호는 하나 이상의 안테나 (152 : 다시, 하나만 도시됨) 에 의해 수신되어, 수신기 (RCVR : 154) 로 제공된다. 수신기 (154) 내에서, 수신된 신호(들) 는 증폭, 필터, 다운컨버팅, (직교) 복조, 및 디지털화되어 샘플을 생성한다. 다음으로, 샘플은 송신된 데이터를 복구하기 위해 수신 (RX) 데이터 프로세서 (156) 에 의해 처리 및 디코딩된다. 수신기 유닛 (150) 에서의 처리 및 디코딩은 송신기 유닛 (110) 에서 수행된 처리 및 코딩과 상보적인 방식으로 수행된다. 다음으로, 복구된 데이터가 데이터 싱크 (158) 에 제공된다.
전술된 신호 처리는 단 방향의, 음성, 비디오, 패킷 데이터, 메시징, 및 다른 형태의 통신의 송신을 지원한다. 양-방향성 통신 시스템은 양-방향 데이터 송신을 지원한다. 그러나, 간결함을 위해 다른 방향에 대한 신호 처리를 도 1 에 도시하지 않았다.
도 2 는 W-CDMA 표준에 의해 규정된 병렬 연결 콘볼루셔널 인코더 (200; 터보 인코더라고도 부름) 의 다이어그램이다. 터보 인코더 (200) 는 도 1 의 TX 데이터 프로세서 (114) 내에서 채널 코딩을 수행하기 위해 사용될 수도 있다. 터보 인코더 (200) 는 한 쌍의 구성 인코더 (212a 및 212b), 코드 인터리버 (214), 및 펑처러 (puncturer) 및 멀티플렉서 (216) 를 구비한다. 코드 인터리버 (214) 는 (예를 들어, 구현된 표준에 의해 규정된 바와 같은) 특정 인터리빙 방식에 따라 코드 세그먼트 (예를 들어, 데이터 패킷) 내의 정보 비트를 수신 및 인터리빙한다.
각 구성 인코더 (212) 는 선형-차수 또는 인터리빙된 정보 비트를 수신하고, 수신된 정보 비트를 규정된 구성 코드로 인코딩하고, 패리티 비트의 시퀀스를 제공한다. 펑처러 및 멀티플렉서 (216) 는 양쪽의 구성 인코더 (212a 및 212b) 로부터 정보 비트 및 패리티 비트를 수신하고, 원하는 수의 비트를 얻기 위해 0 이상의 패리티 비트를 펑처링 (즉, 삭제) 하고, 코딩된 비트의 시퀀스에 펑처링되지 않은 정보 및 패리티 비트를 멀티플렉싱한다. 또한, 펑처링 대신에, 0 이상의 코딩된 비트가 반복될 수도 있다. 그러나, 간결함을 위하고 일반성을 유지하기 위해, 펑처러 및 멀티플렉서 (216) 는, 필요에 따라 펑처링 및/또는 반복을 수행할 수 있다.
도 2 에 도시한 실시형태에서, 각 구성 인코더 (212) 는 3 개의 직렬-커플링된 지연 엘리먼트 (222), 4 개의 모듈로 (modulo)-2 가산기 (224), 및 스위치 (226) 를 구비한다. 초기에, 지연 엘리먼트 (222) 의 상태는 0 으로 설정되고, 스위치 (226) 는 업 위치 (up position) 에 있다. 다음으로, 코드 세그먼트의 각 정보 비트에 있어서, 가산기 (224a) 는 가산기 (224d) 로부터의 출력 비트와 정보 비트 (x) 의 모듈로-2 가산을 수행하고, 그 결과를 지연 엘리먼트 (222a) 에 제공한다. 가산기 (224b 및 224c) 는 가산기 (224a) 및 지연 엘리먼트 (222a 및 222c) 로부터의 비트의 모듈로-2 가산을 수신 및 수행하고 패리티 비트 (y) 를 제공한다. 가산기 (224d) 는 지연 엘리먼트 (22b 및 222c) 로부터의 비트의 모듈로-2 가산을 수행한다.
코드 세그먼트 내의 모든 NB 개 정보 비트가 인코딩된 이후에, 스위치 (226) 는 다운 위치 (down positon) 로 이동하고, 3 개의 "0" 의 테일 (tail) 비트가 구성 인코더 (212a) 에 제공된다. 다음으로, 구성 인코더는 3 개의 테일 비트를 인코딩하여 6 개의 테일 패리티 비트를 제공한다.
NB 개의 정보 비트의 각 세그먼트에 있어서, 구성 인코더 (212a) 는 NB 개의 패리티 비트 및 처음의 6 개의 테일 패리티 비트 (y1) 를 제공하고, 구성 인코더 (212b) 는 NB 개의 패리티 비트 및 최후의 6 개의 테일 패리티 비트 (y2) 를 제공한다. 각 세그먼트에 있어서, 펑처러 및 멀티플렉서 (216) 는 NB 개의 정보 비트 (x) 를 수신하고, 인코더 (212a) 로부터 NB+6 개의 패리티 비트 (y1) 를 수신하는 동시에 인코더 (212b) 로부터 NB+6 개의 패리티 비트 (y2) 를 수신한다. 펑처러 및 멀티플렉서 (216) 는 펑처링되지 않은 정보 및 패리티 비트를 포함하는 요청된 수의 코딩된 비트를 제공하기 위해 다수의 패리티 비트를 펑처링 (즉, 삭제) 할 수도 있다.
터보 인코더 (200) 에 의해 제공된 정보 및 패리티 비트의 시퀀스 (또는 벡터 : X) 는,
Figure 112003049562788-pct00001
와 같이 표현될 수도 있다. 다시, 이들 비트의 모두 또는 서브세트가 송신기 유닛 (110) 으로부터 수신기 유닛 (150) 으로 송신될 수도 있다.
송신될 각 비트에 있어서, 비트가 "0" 인 경우에 값 A 가 송신되고, 비트가 "1" 인 경우에 값 -A 가 송신된다. 각 송신된 비트는, 채널 잡음, 송신기 및 수신기 유닛 양쪽에서의 비트에 대한 아날로그 및 디지털 신호 처리, 및 다른 현상에 의해 왜곡된다. 수신기 유닛에서의 비트의 수신된 시퀀스는,
[수학식 1]
Figure 112003049562788-pct00002
와 같이 표현될 수도 있고, 여기서, V 는 테일 비트에 대응하는 것 및 N = NB + 4 를 포함하는 수신된 비트의 전체 시퀀스이다. 시퀀스 (V) 에서의 각 수신된 비트 (νk) 는,
[수학식 2]
Figure 112007046431953-pct00085
와 같이 표현될 수도 있고,
여기서,
Figure 112007046431953-pct00004
는 정적 시나리오에서 정상 단위를 갖는 독립적 및 동일하게 분포된 (independent and identically distributed : iid) 랜덤 변수의 벡터이고,
Ak 는 수신된 비트에 대한 진폭이고 통상적으로는 A 와 동일하고,
σk 는 채널 잡음으로 인한 수신된 비트에 대한 랜덤 변수 (zk) 의 표준 편차이고, k = 1, 2, ... 3N 에 대해 σk = σ로서 근사될 수 있다. 동일한 비트에 대응하는 심볼의 적합한 누산 이후에, 페이딩 조건 하 및 반복 조건 하에서, 수신된 신호 진폭은 송신된 신호 진폭과 서로 다를 수도 있다.
도 3 은 수신기 유닛의 RX 데이터 프로세서 (156) 내에서의 처리의 일부를 상징적으로 나타내는 블록도이다. 수신된 신호는 수신기 (154) 에 의해 초기에 조정, 디지털화, 디지털적으로 처리 (예를 들어, 필터, 역확산, 디커버 등) 되어 각 수신된 비트 (νk) 에 대한 "소프트" 값을 제공한다. 수신된 비트 (νk) 에 대한 소프트 값은 디지털 신호 처리 이후에 다수의 (예를 들어, 16) 비트의 분해능을 가질 수도 있다. 다수의 디코더 구현에 있어서, 각 수신된 비트에 대해 상기 다수의 비트의 분해능을 저장하는 것은 유용 또는 필요하지 않다. 특히, 비트의 전체 코드 세그먼트가 터보 디코딩을 위해 저장될 필요성이 있기 때문에, 디코딩될 코드 세그먼트의 각 비트에 대한 다수의 비트의 분해능을 저장하기 위해 대량의 저장 유닛이 필요하다.
저장 요건을 감소시키기 위해, 수신된 비트 (
Figure 112007046431953-pct00005
) 는 스케일링 계수의 시퀀스 (
Figure 112007046431953-pct00006
) 에 의해 승산기 (312) 를 통해 효과적으로 스케일링된다. 하나의 스케일링 계수가 각 수신된 비트 (νk) 에 제공될 수도 있고, 스케일링이 시퀀스 (V) 에 대해 엘리먼트 대 엘리먼트 (element by element) 로 수행될 수도 있다. 다음으로, 스케일링된 비트는 디코더 입력 비트 (
Figure 112007046431953-pct00007
) 를 제공하기 위해 양자화기 (314) 에 의해 양자화된다. 따라서, 터보 디코더로의 입력 비트 (uk) 가 수신된 비트 (νk) 의 스케일링되고 양자화된 버전이고, (예를 들어, 4, 5, 6, 또는 어떤 다른 수의 비트의) 감소된 분해능을 가질 수도 있다.
스케일링 계수 (sk) 는 수신된 비트 (νk) 의 정보가 충분하게 표현되고 양자화된 출력 (uk) 에서의 적절한 범위 내에 있도록 선택된다. 스케일링 계수가 너무 큰 경우에, 스케일링된 비트의 클립핑 (clipping) 이 양자화 동안 발생하고, 결과로서 생기는 클립핑 잡음이 디코딩 성능을 저하시킬 수 있다. 스케일링 계수가 너무 작은 경우에, 스케일링된 비트의 신호 진폭이 양자화 잡음에 비해 작고 디코딩 성능 또한 저하한다.
다중 비트가 특정 코딩된 비트 (즉, 코딩된 비트에 대해 반복된 비트) 에 대해 수신되는 경우에, 상보적 처리가 이들 반복된 비트에 대해 수신기 유닛에서 수행된다. 코드 비트에 대응하는 반복된 비트가, 평균 이상의 분산이 상기 코드 비트에 대한 모든 심볼에 대해 일정하도록 초기에 스케일링되고, 스케일링된 비트는 코드 비트에 대한 하나의 심볼을 얻기 위해 함께 가산된다. 코딩된 비트가 송신기 유닛에서 펑처링되는 경우에, "0" 의 소프트 심볼 (즉, 소거) 이 펑처링된 비트에 대해 삽입되어서, 우선순위는 +1 (비트 "0") 이나 -1 (비트 "1") 에 부여되지 않는다.
터보 디코더 (316) 는 입력 비트 (uk) 및 입력 비트의 스케일에 관한 추가의 정보를 수신한다. 다음으로, 터보 디코더 (316) 는 스케일 정보를 사용하여 입력 비트 (uk) 를 디코딩하고, 디코딩된 비트의 후보 시퀀스를 제공한다. 사후 프로세서 (318) 는 또한, 디코딩된 결과의 품질의 표시를 제공하기 위해 디코딩된 비트를 처리할 수도 있다. 예를 들어, 사후 프로세서 (318) 는, CRC 비트가 송신된 코드 세그먼트에 포함된 경우에, 디코딩된 결과의 CRC 검사를 수행할 수도 있다. 또한, 다른 성능 메트릭이 후술하는 바와 같이, 디코딩 성능의 다른 표시를 제공하기 위해 디코딩된 결과에 대해 평가될 수도 있다.
도 4 는 터보 디코더 (316) 에 대한 특정 설계의 블록도이다. 이 설계에서, 터보 디코더 (316) 는 2 개의 구성 디코더 (410a 및 410b), 코드 인터리버 (412), 코드 디인터리버 (414), 및 검출기 (416) 를 구비한다. 통상적으로, 각 구성 디코더 (410) 는 코드 시퀀스의 비트 에러 최소화를 시도하는 소프트-입력/소프트-출력 (SISO) MAP 디코더로서 구현된다. 그러나, 소프트 출력 비터비 알고리즘 (SOVA) 을 구현하는 디코더와 같은, 다른 유형의 디코더가 또한 사용될 수도 있다.
통상적으로, MAP 디코더는, 양자화된 정보 및 패리티 비트를 포함하고,
Figure 112003049562788-pct00008
와 같이 표현될 수 있는, 입력 비트 (uk) 의 로그-가능도 비율 (LLR) 에 대해 동작한다. 시간 k에서 입력 비트 (xk) 의 LLR 은
[수학식 3]
Figure 112003049562788-pct00009
과 같이 계산될 수 있다.
입력 비트 (xk) 의 LLR 은 수신된 시퀀스 (U) 경우에 비트가 "0" 인 확률/비트가 "1" 인 확률의 비율의 로그이다. 각 입력 비트에 대한 확률 (Pr(xk=0|U) 및 Pr(xk=1|U)) 은 상기 비트에 대한 소프트 값 및 디코딩될 코드 세그먼트에 대해 수신된 비트의 시퀀스에 기초한다. 소거 (즉, 펑처링된 비트) 에 대한 LLR 은 0 또는 1 인 비트에서 동일한 신뢰도 (즉, LLR = 0) 를 나타낸다.
도 4 에 도시한 실시형태에서, 합산기 (408a) 는, 디코더 (410a) 에 선험적 확률 (a priori probabilities : APP) 를 제공하기 위해 LLR(APP0), LLR(
Figure 112007046431953-pct00010
), 및 디인터리버 (414) 로부터의 외인성 정보를 수신 및 합산한다. LLR(APP0) 는 정보 비트의 잠재적 가정 (underlying assumption) 으로부터 유도된 로그 가능도 비율이다. 코드 세그먼트 내의 각 정보 비트가 "0" 또는 "1" 과 거의 동일한 것으로 가정되는 경우에, LLR(APP0) 은 코드 세그먼트 내의 모드 비트에 대해 0 이고, LLR(APP0) 와 관련된 임의의 부분들은 무시된다. 디인터리버 (414) 로부터의 외인성 정보는 제 1 디코딩 반복에 대해 0 으로 설정된다. LLR(
Figure 112007046431953-pct00011
) 는 수신된 정보 비트 (
Figure 112007046431953-pct00012
) 의 로그-가능도 비율이다.
디코더 (410a) 는 합산기 (408a) 로부터 APP 를 수신하는 동시에 제 1 구성 인코더로부터 수신된 패리티 비트 (
Figure 112007046431953-pct00013
) 의 LLR 인 LLR(
Figure 112007046431953-pct00014
) 를 수신한다. LLR(
Figure 112007046431953-pct00015
) 는 만약 있다면, 펑처링된 (즉, 송신되지 않은) 패리티 비트에 대한 소거를 포함한다. 다음으로, 디코더 (410a) 는 MAP 알고리즘에 기초하여 APP 및 LLR(
Figure 112007046431953-pct00016
) 를 디코딩하여 경험적 확률을 생성한다. 다음으로, APP 는 패리티 비트 (
Figure 112007046431953-pct00017
) 에 의해 기여된 정보 비트 (
Figure 112007046431953-pct00018
) 에 대한 값의 신뢰도에서의 정정/조절을 표시하는 외인성 정보 (
Figure 112007046431953-pct00019
) 를 제공하기 위해 합산기 (408b) 에 의해 경험적 확률로부터 감산된다.
합산기 (408b) 로부터의 외인성 정보 (
Figure 112007046431953-pct00020
) 는 정보 비트 LLR, (LLR(
Figure 112007046431953-pct00021
)) 와 합산되고, (다음의 디코더에 대한 APP 인) 중간 결과가 코드 인터리버 (412) 에 저장된다. 코드 인터리버 (412) 는 터보 인코더에서 사용된 동일한 코드 인터리빙 방식 (예를 들어, 도 2 의 코드 인터리버 (214) 에 대해 사용된 동일한 방식) 을 구현한다.
디코더 (410b) 는 인터리버 (412) 로부터 인터리빙된 APP 를 수신하는 동시에 제 2 구성 인코더로부터 수신된 패리티 비트 (
Figure 112007046431953-pct00022
) 의 LLR 인 LLR(
Figure 112007046431953-pct00023
) 를 수신한다. 다음으로, 디코더 (410b) 는 MAP 알고리즘에 따라 APP 및 LLR(
Figure 112007046431953-pct00024
) 를 디코딩하여 경험적 확률을 생성한다. 다음으로, APP 는 수신된 패리티 비트 (
Figure 112007046431953-pct00025
) 에 의해 기여된 정보 비트 (
Figure 112007046431953-pct00026
) 에 대한 값의 신뢰도의 추가 정정/조절을 표시하는 외인성 정보 (
Figure 112007046431953-pct00027
) 를 제공하기 위해 합산기 (408d) 에 의해 경험적 확률로부터 감산된다. 외인성 정보 (
Figure 112007046431953-pct00028
) 는 코드 디인터리버 (414) 에 저장되는, 디코더 (410b) 로부터의 중간 결과를 포함한다. 디인터리버 (414) 는 인터리버 (412) 에 대해 사용된 인터리빙 방식과 상보적인 디인터리빙 방식을 구현한다.
정보 비트 LLR 의 디코딩은 다수 회 (예를 들어, 12, 16, 20, 또는 어쩌면 더 많은 횟수) 반복된다. 각 반복에 따라, 더 큰 신뢰도가 정보 비트의 검출된 값에 대해 얻어진다. 모든 디코딩 반복이 완료된 이후에, 최종 LLR 이 그들의 LLR 에 기초하는 수신된 정보 비트에 대한 하드-결정 값 (즉, "1들" 및 "0들") 을 제공하는 검출기 (416) 에 제공된다.
각 MAP 디코더 (410) 는,
[수학식 4]
Figure 112003049562788-pct00029
와 같이 표현될 수 있는 가능도 비율 (λk) 의 계산을 수행하고, 여기서, xk는 시간 k 에서 인코더로의 공지되지 않은 (및 검출될) 입력 비트이고, U 는 디코더로 입력된 심볼의 시퀀스 (즉, 스케일링 및 양자화 이후의 수신된 정보 및 패리티 비트) 이다. 가능도 비율 (λk) 은 수신된 시퀀스 (U) 의 경우에 비트 (xk) 가 1 인 가능도 / 수신된 시퀀스 (U) 의 경우에 비트 (xk) 가 0 인 가능도를 나타낸다.
또한, 가능도 비율 (λk) 은,
[수학식 5]
Figure 112003049562788-pct00030
와 같이 표현될 수 있고,
여기서,
Figure 112007046431953-pct00031
은 트렐리스 상태 m 에 대한 시간 k 에서의 순방향 상태 메트릭 (즉, 시간 k 에서의 트렐리스 상태가 m 인 경우에 시간 k 까지의 수신된 벡터의 확률) 을 나타내고,
Figure 112007046431953-pct00032
은 트렐리스 상태 m 에 대한 시간 k 에서의 역방향 상태 메트릭 (즉, 다음의 트렐리스 상태가 f(i,m) 인 경우에 시간 k로부터 트렐리스의 종단까지의 수신된 벡터의 확률로서, 여기서, f(i,m) 은 입력 i 및 현재 상태 m 인 경우에 다음 상태를 나타낸다) 을 나타내고,
Figure 112007046431953-pct00033
은 상태 m 및 입력 i 에 대한 시간 k 에서의 브랜치 메트릭이다.
수학식 5 에서의 2 개의 합산은 모든 인코더 상태에 대해 수행된다.
도 5A 및 도 5B 는 순방향 및 역방향 상태 메트릭 계산 각각의 그래프적 표현을 도시한다. 순방향 상태 메트릭은
[수학식 6]
Figure 112003049562788-pct00034
과 같이 반복적으로 계산될 수도 있고,
여기서, b(i,m) 은 입력 i에 대응하는 브랜치가 상태 m 으로 이행하는 이전의 시간 인덱스 k-1 에서의 상태이다. 또한, 역방향 상태 메트릭은,
[수학식 7]
Figure 112003049562788-pct00035
과 같이 반복적으로 계산될 수도 있다.
상기 수학식 5 내지 7 에 나타낸 바와 같이, MAP 알고리즘은 하드웨어에서는 쉽게 수행되지 못하는 다수의 승산을 수행한다. 그러나, 상기 알고리즘은 로그 (또는 음의 로그) 항을 취함으로써 로그 도메인으로 변환될 수도 있다. 로그 도메인에서, 2 개의 항의 승산은 비교적 단순한 가산으로 변환되고, 이것은
Figure 112007046431953-pct00086
함수에 의해 수행될 수 있다.
Figure 112007046431953-pct00087
함수는,
[수학식 8]
Figure 112003049562788-pct00036
와 같이 표현될 수 있고, 여기서, p(g) 는 정정 항으로, p(g) = -ln(1 + e-g) 와 같이 표현될 수 있고, 여기서, g = -│a - b │이다.
로그 도메인에서, 전술한 항은,
[수학식 9]
Figure 112003049562788-pct00037
,
Figure 112003049562788-pct00038
,
Figure 112003049562788-pct00039
, 및
Figure 112003049562788-pct00040
으로서 정의될 수 있다.
다음으로, MAP 알고리즘에 대한 계산은,
[수학식 10]
Figure 112007046431953-pct00041
,
[수학식 11]
Figure 112007046431953-pct00042
,
[수학식 12]
Figure 112007046431953-pct00043
, 및
[수학식 13]
Figure 112003049562788-pct00044
과 같이 표현될 수 있고,
여기서, cn,i,m은 입력 비트 i 및 상태 m 인 경우에 패리티 비트 n 에 대한 패리티 가설이다. 수학식 13 에서, 2 개의
Figure 112007046431953-pct00088
함수 각각은 수학식 5 의 합산과 유사하게, 모든 가능한 상태 m 에 대하여 동작한다.
MAP 알고리즘에 대한 상기 수학식의 유도가 당업계에 널리 공지되어 있다. 이러한 유도의 설명이, 본 명세서에 참조되는, Steven S. Pietrobon에 의한 "Implementation and Performance of a Turbo/Map Decoder" 라는 명칭의 논문, International Journal of Satellite Communications, Vol. 16, 1998, pp. 23~46에 제공된다.
Figure 112007046431953-pct00089
함수는 함수에 제공된 입력 a 및 b 의 스케일 정보에 의존한다. 수학식 2 에 나타낸 수신된 비트 (νk) 의 시퀀스에 대해, 스케일링된 비트는,
Figure 112003049562788-pct00045
과 같이 표현될 수 있다.
스케일링된 비트의 평균 비율에 대한 분산은,
Figure 112007046431953-pct00046
과 같이 표현될 수 있고, 여기서, wk 는 MAP 디코더로의 입력 비트 (uk) 의 "스케일" 을 나타낸다. 통상적으로, 스케일링 계수 (sk) 는, 모든 스케일링된 비트 (uk) 에 대한 양 (
Figure 112007046431953-pct00047
) 이 거의 동일 (즉, 소정의 코드 세그먼트에 대해 wk = w) 하도록 코드 세그먼트의 각 수신된 비트 (νk) 에 대해 선택된다. 다양한 기술이 적절한 스케일링 계수를 평가 (또는 사전-측정) 하기 위해 사용될 수도 있다. 이들 기술은 관련된 MAP 디코더일 수도 있고, 또는 터보 디코더 이전의 어떠한 다른 정밀하지 않은 형태의 디코더-메트릭 조합일 수도 있다.
수신된 비트 (νk) 의 분산 (
Figure 112007046431953-pct00048
) 및 진폭 (Ak) 이 공지된 경우에, 스케일링 계수 (sk) 는
Figure 112007046431953-pct00049
, Ak, 및 양자화 분해능의 함수로서 선택될 수 있어서, (
Figure 112007046431953-pct00090
함수로의 입력 (a 및 b) 으로서 사용되는) 양자화된 비트 (uk) 는 절대값에서 그들의 평균보다 2 배 큰 분산, 또는
Figure 112007046431953-pct00050
를 갖는다. 이 경우에,
Figure 112007046431953-pct00091
함수에 대한 함수 p(g) 는,
[수학식 14a]
p(g) = -ln(1 + e-g)
와 같이 간단하게 표현될 수 있다.
그러나, 스케일링 계수 (sk) 가
Figure 112003049562788-pct00051
인 경우에, 함수 p(g) 는,
[수학식 14b]
p(g,w) = -0.5w·ln(1 + e-g/(0.5w))
와 같이 더욱 일반화된 형태로 표현될 수 있다.
수학식 14b 로부터 알 수 있는 바와 같이, 스케일 정보는
Figure 112007046431953-pct00092
함수에 대한 함수 p(g,w) 를 정확하게 평가하기 위해 필요하다.
일부 MAP 디코더 구현에 있어서, 수학식 14b 에 나타낸 함수 p(g,w) 는
Figure 112007046431953-pct00093
함수의 평가를 신속하게 처리할 수 있는 룩업 테이블로 구현된다. 룩업 테이블의 세트가 스케일 값 (w) 의 세트에 대해 제공될 수도 있다. 예를 들어, 5 개의 룩업 테이블이 w = 0, 3, 6, 9, 및 12 의 5 개 값에 대해 제공될 수도 있다. (
Figure 112007046431953-pct00052
, Ak, 및 양자화 이후의 비트의 수에 대한 평가되거나 공지된 값에 기초하여 결정될 수도 있는) 스케일 (w) 에 대한 값에 의존하여, 적절한 룩업 테이블이 함수 (p(g,w)) 를 평가하기 위해 사용된다. 예를 들어, w=12 에 대한 룩업 테이블은, 입력 비트 (uk) 가 6-비트로 정확히 스케일링 및 양자화될 때 사용하기 위해 설계될 수도 있고, w=6 에 대한 룩업 테이블은, 입력 비트 (uk) 가 5-비트로 정확히 스케일링 및 양자화될 때 사용하기 위해 설계될 수 있고, w=3 에 대한 룩업 테이블은, 입력 비트 (uk) 가 4-비트로 정확히 스케일링 및 양자화될 때 사용하기 위해 설계될 수도 있다.
많은 경우에, 수신된 비트의 분산 (
Figure 112007046431953-pct00053
) 및 진폭 (
Figure 112007046431953-pct00054
) 은 공지되지 않는다. 대신에, 이들 양은, 예를 들어, 데이터 송신을 위해 사용된 비트 레이트와 같은 다양한 시스템 파라미터에 기초하여 추정될 수도 있다. 다음으로, 스케일링 계수 (sk) 는, 스케일 (w) 에 대한 원하는 값이 얻어지도록 시스템 파라미터에 기초하여 (스케일링 또는 잡음에 반드시 기초하지는 않고) 선택된다. 그러나, 수신된 비트의 실제 스케일링이 (페이딩, 전력 제어, 셀 구성등과 같은) 임의의 개수의 원인으로 인해 원하는 스케일링으로부터 벗어나는 경우에, MAP 디코더의 성능은, 적절치 않은 룩업 테이블 (즉, 적절치 않은 스케일 값에 대한) 이 함수 (p(g,w)) 를 평가하는데 사용되기 때문에 MAP 디코더의 성능을 저하시킨다.
본 발명의 양태는, 수신된 비트에 대한 스케일 정보가 공지되지 않았을 때 터보 디코더의 성능을 개선시키는 기술을 제공한다. 일반적으로, 다수의 가설이 디코딩될 소정의 코드 세그먼트 (즉, 데이터 패킷) 에 대해 형성된다. 각 가설 (h) 은 스케일링 계수의 가설된 시퀀스 (Sh) 및 가설된 스케일 (wh) 에 대응한다. 다음으로, 코드 세그먼트가 각 형성된 가설에 따라 디코딩되고, 각 가설에 대한 디코딩된 결과가 하나 이상의 성능 메트릭에 따라 평가된다. 모든 가설에 대한 성능이 비교되고, 성능 메트릭에 의해 결정되는 것처럼, "최선의" 디코딩된 결과를 제공하는 특정 가설이 코드 세그먼트에 대해 사용된다. 본 명세서에 설명한 기술을 사용하는 시뮬레이션을 나타내었고, 달성 가능한 디코딩 성능은, 예를 들어, 룩업 테이블이 생성되는 스케일 (w) 에 대한 양자화된 값에 의해 한정될 수도 있는 이론적 한계에 접근한다. 예를 들어, 5 개의 룩업 테이블이 w = 0, 3, 6, 9, 및 12 의 스케일 값에 제공되는 경우에, 디코딩 성능은 스케일 (w) 에 대한 이들 양자화된 값에 의해 한정될 수도 있다.
도 6 은 본 발명의 양태에 따라서 코드 세그먼트를 터보 디코딩하기 위한 프로세스의 흐름도이다. 초기에, 단계 612 에서, 각 가설 (h) 이 스케일링 계수의 특정 시퀀스 (Sh) 및 특정 스케일 선택 (wh) 에 대응하는, 코드 세그먼트에 대한 다수의 가설이 형성된다. 형성될 특정 수의 가설은, 예를 들어, 코드 세그먼트를 디코딩하기 위해 사용 가능한 시간량,
Figure 112007046431953-pct00055
Figure 112007046431953-pct00056
의 초기 추정에서의 신뢰도 등과 같은 다양한 고려 사항에 의존한다.
다음으로, 단계 614 에서, 평가되지 않은 가설이 평가를 위해 선택된다. 평가의 제 1 부분에서, 단계 616 에서, 코드 세그먼트는 선택된 가설 (즉, 특정한 Sh 및 wh) 에 따라 터보 디코딩된다. 이것은, 디코딩된 비트의 후보 시퀀스를 제공하기 위해 스케일링 계수의 시퀀스 (Sh) 로 수신된 비트를 스케일링하고, (예를 들어,
Figure 112007046431953-pct00057
,
Figure 112007046431953-pct00058
및 Sh 에 의해 결정될 때) 스케일링된 비트를 분해능의 요청된 수의 비트로 양자화하며, 양자화된 비트를 (예를 들어, wh 의 특정 값에 대해 룩업 테이블을 사용하는) 스케일 선택 (wh) 으로 디코딩하는 것을 수반할 수도 있다. 다음으로, 단계 618 에서, 가설에 대한 디코딩된 결과의 품질이 후술하는 하나 이상의 성능 메트릭을 사용하여 결정된다.
다음으로, 단계 620 에서, 현재 가설에 기초한 코드 세그먼트에 대한 디코딩된 결과가 지금까지는 최선인지에 관한 결정이 이루어진다. 이 가설이 지금까지는 최선인 경우에, 단계 622 에서, 성능 메트릭이 다음의 비교를 위해 저장된다. 또한, 가설 값 (예를 들어, 스케일링 계수 시퀀스 (Sh) 및 스케일 (wh)), 디코딩된 결과 등과 같은 다른 정보가 저장될 수도 있다. 프로세스는 단계 624 로 계속된다. 그렇지 않으면, 현재의 가설이 최선이 아닌 경우에, 프로세스는 단계 620 으로부터 단계 624 로 계속된다.
단계 624 에서, 모든 가설이 평가되었는지에 관한 결정이 이루어진다. 응답이 아니오 (no) 인 경우에, 프로세스는 단계 614 로 복귀하고, 또 다른 평가되지 않은 가설이 평가를 위해 선택된다. 그렇지 않고 모든 가설이 평가된 경우에, 프로세스는 단계 626 으로 계속되고, 최선의 가설에 대한 디코딩된 결과가 제공된다. 다음으로, 프로세스가 종료된다.
도 6 에 나타낸 디코딩 방식은 수신된 비트에 대한 스케일링 정보가 공지되지 않았을 때 사용될 수도 있는 일반 포맷을 나타낸다. 다수의 실제 구현에서, 평가될 수도 있는 가설의 수는 다양한 고려사항에 의해 한정될 수도 있다. 예를 들어, 후에 평가될 수도 있는 가설의 수를 한정하는 코드 세그먼트를 디코딩하기 위해 한정된 시간 기간을 사용할 수도 있다.
Figure 112007046431953-pct00094
함수가 룩업 테이블의 세트와 평가되는 경우에, 스케일 (w) 에 대해 가능한 값 또한 제한된다. 예를 들어, 5 개의 룩업 테이블은, 스케일 (w) 이 5 개의 값으로 제한되는 경우에 w = 0, 3, 6, 9, 및 12 에 대해 제공될 수도 있다. 도 6 에 도시한 디코딩 방식에 대한 다양한 변화가 예상될 수도 있고 이것은 본 발명의 범위 내에 있다. 이들 디코딩 방식중 몇 개를 후술한다.
도 7 은 본 발명의 또 다른 실시형태에 따른 터보 디코딩 방식의 흐름도이다. 이 디코딩 방식은 스케일링 계수의 동일한 시퀀스 (S) 이지만 서로 다른 스케일 선택 (w) 을 사용하여 다수의 가설을 평가한다. 초기에, 단계 710 에서, 스케일링 계수의 특정한 시퀀스 (S) 가 일부 기준 (예를 들어,
Figure 112007046431953-pct00059
Figure 112007046431953-pct00060
에 대한 추정된 값, 코드 세그먼트의 데이터 레이트등) 에 기초하여 선택된다. 다음으로, 코드 세그먼트 내의 수신된 비트 (νk) 가 선택된 스케일링 계수에 따라 스케일링되고 (예를 들어, 추정된
Figure 112007046431953-pct00095
Figure 112007046431953-pct00096
및 선택된 S 에 기초하여 결정되는) 원하는 수의 비트로 양자화되어 입력 비트 (uk) 를 형성하고, 이는 그 후 저장 유닛에 저장된다. 또한, 단계 712 에서, 스케일 값 (wh) 의 세트가 평가를 위해 선택된다. 이들 스케일 값은 다양한 기준 (예를 들어,
Figure 112007046431953-pct00063
Figure 112007046431953-pct00064
에 대해 추정된 값 및 선택된 S, 디코딩을 위해 사용 가능한 시간 기간등) 에 기초하여 선택될 수도 있다. 예를 들어, 모든 룩업 테이블에 대한 스케일 값 (예를 들어, wh = 0, 3, 6, 9, 및 12) 이 평가를 위해 선택될 수도 있다.
다음으로, 단계 714 에서, 평가되지 않은 스케일 값 (wh) 이 평가를 위해 선택된다. 단계 716 에서, 코드 세그먼트는 선택된 가설 (즉, 특정한 스케일 값 (wh)) 에 따라 다음의 터보 디코딩된다. 이것은, 디코딩된 비트의 후보 시퀀스를 제공하기 위해 코드 세그먼트에 대한 입력 비트 (uk) 를 저장 유닛으로부터 검색하고 (예를 들어, wh 에 대한 룩업 테이블을 사용하여) 비트를 스케일 선택 (wh) 으로 디코딩하는 것을 수반한다. 다음으로, 단계 718 에서, 디코딩된 결과의 품질이 하나 이상의 성능 메트릭에 기초하여 결정된다. 단계 720, 722, 724, 및 726 에서의 나머지 처리는 도 6 의 단계 620, 622, 624, 및 626 각각에 대한 처리와 유사하다.
따라서, 도 7 에 나타낸 디코딩 방식은 특정한 시퀀스 (S) 이지만 스케일 선택 (wh) 의 세트에 기초하여 코드 세그먼트를 디코딩하고, 성능 메트릭에 의해 결정되는 것처럼, 최선의 스케일 선택에 대응하는 디코딩된 결과를 제공한다.
또 다른 터보 디코딩 방식에서, 코드 세그먼트는 특정한 스케일 선택 (w) 이지만 스케일링 계수의 서로 다른 시퀀스 (Sh) 로 형성되는 다수의 가설에 따라 디코딩된다. 예를 들어, 스케일링 계수의 시퀀스 (Sh) 는 S0, 2S0, 및 S0/2 등으로서 선택될 수도 있다. 초기에, 코드 세그먼트 내의 수신된 비트 (νk) 는 저장 유닛에 저장된다. 평가될 각 가설에 있어서, 코드 세그먼트 내의 수신된 비트 (νk) 는 입력 비트 (uk) 를 얻기 위해 저장 유닛으로부터 검색되고, 평가된 가설에 대한 스케일링 계수의 시퀀스 (Sh) 에 따라 스케일링되고, 원하는 수의 비트로 양자화된다.
다음으로, 입력 비트 (uk) 는 디코딩된 비트의 후보 세그먼트를 생성하기 위해 스케일 (w) 에 따라 터보 디코딩된다. 다시, 디코딩된 결과의 품질이 하나 이상의 성능 메트릭에 기초하여 결정된다. 또한, 스케일링 계수의 다른 시퀀스 (Sh) 에 대한 다른 가설이 유사한 방식으로 평가된다. 다음으로, 성능 메트릭에 의해 결정되는 것처럼, 최선의 시퀀스 (Sh) 에 대응하는 디코딩된 결과가 터보 디코더 출력으로서 제공된다.
상기 터보 디코딩 방식에 있어서, 서로 다른 스케일링이 수신된 비트 (νk) 에 대해 수행되어 터보 디코더에 대한 입력 비트 (uk) 를 유도한다. 각 수신된 비트 (νk) 가 많은 비트의 분해능 (예를 들어, 16 비트) 을 가질 수도 있기 때문에, 수신된 비트의 전체 코드 시퀀스를 저장하기 위한 저장 요건이 클 수도 있다.
저장 요건을 감소시키기 위해, 수신된 비트 (νk) 는, 가장 큰 스케일링 계수의 시퀀스를 시작으로 하여, 연속적으로 스케일링, 양자화, 및 평가될 수도 있다. 예를 들어, 선택된 시퀀스가 S0, 2S0, 및 S0/2 인 경우에, 수신된 비트는 2S0 로 초기 스케일링될 수도 있고 제 1 가설에 대해 저장될 수도 있다. 다음의 가설에 있어서, 저장된 비트가 검색되고, (S0 를 얻기 위해) 0.5 의 계수로 다시 스케일링되고, 양자화되고, 평가된다. 제 3 가설에 있어서, 저장된 비트가 검색되고, (S0/2 를 얻기 위해) 0.5 의 또 다른 계수로 다시 스케일링되고, 양자화되고, 평가된다. 따라서, 저장 요건은 가장 큰 스케일링 계수를 요구하는 저장 사이즈로 감소된다. 그러나, 통상적으로, 연속적 스케일링 및 양자화는 디코딩 성능을 저하시킬 수도 있는 양자화 잡음의 양을 증가시킨다.
또 다른 터보 디코딩 방식에서, 코드 세그먼트는 스케일링 계수의 특정 시퀀스 (S) 이지만 다양한 스케일 값 (wh) 에 의해 형성되는 다수의 가설에 따라 디코딩된다. 초기에, 코드 세그먼트 내의 수신된 비트 (νk) 는 스케일링되고, 양자화되고, 입력 비트 (uk) 로서 저장 유닛에 저장된다. 평가될 각 가설에 있어서, 코드 세그먼트 내의 입력 비트 (uk) 는 저장 유닛으로부터 검색되고 상기 가설에 대한 스케일 값 (wh) 에 따라 다시 평가된다.
그러나, 이러한 디코딩 방식에 있어서, 더 작은 수의 반복이 각 가설에 대해 실행된다. 예를 들어, 코드 세그먼트를 완벽하게 디코딩하기 위해 통상적으로 필요할 수도 있는 15, 17, 또는 19 대신에, 3, 5, 또는 다른 수의 반복이 각 가설에 대해 수행될 수도 있다. 각 가설에 대한 더 작은 수의 반복은 소정의 시간량 동안 더 많은 가설이 평가될 수 있게 한다. 각 가설에 있어서, 디코딩 결과의 품질은 하나 이상의 성능 메트릭에 기초하여 평가된다. 다음으로, 최선의 성능을 갖는 가설이 터보 디코더 출력으로서 제공되는 코드 세그먼트를 완벽하게 디코딩하기 위해 사용된다.
또한, 본 명세서에 설명한 터보 디코딩 방식의 다양한 변화가 구현될 수도 있고 본 발명의 범위내에 있다. 일반적으로, 파라미터의 임의의 세트 (예를 들어, 스케일링 계수의 시퀀스 및/또는 스케일) 에 대한 값의 임의의 특정 세트를 포함하는, 임의의 수의 가설이 평가될 수도 있다. 또한, 각 가설은 다양한 방식 (예를 들어, 부분적인 또는 완전한 디코딩) 으로 평가될 수도 있다.
성능 메트릭
전술한 바와 같이, 다양한 성능 메트릭이 디코딩된 결과의 품질을 결정하기 위해 사용될 수도 있다. 이들 메트릭은, (1) CRC 검사, (2) 후보 시퀀스에서의 디코딩된 비트에 대한 최소 또는 평균 LLR, (3) 디코딩된 세그먼트가 선언될 때 완료된 반복의 수, (4) 상관 메트릭, (5) 재-인코딩 에너지, 및 (6) 재-인코딩된 비트 에러 레이트 (BER) 를 포함한다. 이하, 이들 메트릭을 설명한다.
코드 세그먼트는 디코딩된 결과를 검사하기 위해 사용될 수 있는 CRC 비트를 포함할 수도 있다. CRC 검사를 통과하는 경우에, 코드 세그먼트가 에러 없이 디코딩되었다는 높은 가능성이 있다. 다중 가설에 대한 다중 후보 시퀀스가 CRC 검사를 통과하는 경우에, 시퀀스 중의 하나가 (예를 들어, 임의적으로, 어떠한 기준을 통해, 또는 어떠한 다른 메트릭을 통해) 선택될 수도 있다.
(최종 반복 이후에) 후보 시퀀스에서의 디코딩된 비트 사이의 최소 또는 평균 LLR 이 성능 메트릭으로서 사용될 수도 있다. 일부 애플리케이션에서, 코드 시퀀스 내의 정보 비트 중의 임의의 하나가 에러로 수신된 경우에, 코드 시퀀스는 받아들일 수 없는 것으로 생각될 수도 있다. 일부 다른 애플리케이션에서, 코드 시퀀스 내의 작은 수의 정보 비트에 대한 에러를 받아들일 수도 있다. 따라서, 애플리케이션의 요구에 의존하여, 최악의 LLR (즉, 가장 작은 크기를 갖는 LLR) 또는 다수의 양호하지 못한 LLR 이 디코딩된 세그먼트의 품질의 표시로서 사용될 수도 있다. 또한, 다수의 양호하지 못한 LLR 의 평균이 파라미터 메트릭으로서 사용될 수도 있다.
통상적으로, 터보 디코딩은 디코딩된 세그먼트를 선언하기 이전에, 제 1 및 제 2 구성 디코더에 의해 다수의 반복 (예를 들어, 12, 16, 20, 또는 어쩌면 그 이상) 동안 수행된다. 구성 디코더에 의한 각 반복으로, 수신된 정보 비트의 신뢰도가 증가할 수도 있고, 최종 값에 점근적으로 도달할 수도 있다. 터보 디코더는, 코드 세그먼트 내의 비트에 대한 LLR 이 특정 임계값을 초과하는 경우에 디코딩을 종료하도록 디코딩 프로세스 동안 검사를 사용할 수도 있다. 또 다른 방법으로는, 터보 디코더는 디코딩이 성공하였는지 및 허용된 최대 반복 수에 도달하기 이전에 종료될 수 있는지를 결정하기 위해 자체 에러 검출 기능 (예를 들어, CRC 검사) 를 사용할 수도 있다. 이들 경우에, 코드 세그먼트를 디코딩하기 위해 수행된 반복의 수는 성능 메트릭으로서 사용될 수도 있다.
상관 메트릭이 (스케일링 및 양자화 이전 또는 이후에) 수신된 정보 비트 (
Figure 112007046431953-pct00065
) 와 후보 시퀀스 내의 디코딩된 비트 (bk) 의 내적을 수행함으로써 얻어질 수도 있다. 이러한 내적은 수신된 정보 비트 시퀀스와 후보 시퀀스를 엘리먼트 대 엘리먼트 (즉, 비트 대 비트) 로 승산하고, 승산의 결과 곱을 누산함으로써 달성될 수도 있다. 최종 누산된 값은 2 개의 시퀀스 사이의 상관을 나타낸다. 내적은,
[수학식 15]
Figure 112003049562788-pct00066
와 같이 표현될 수 있다.
상관 메트릭 (Me) 에 대한 높은 값은 수신 및 디코딩된 비트 사이의 높은 상관도를 나타낸다. 반대로, 상관 메트릭에 대한 낮은 값은 디코딩된 비트에서의 에러 및/또는 수신된 비트에 대한 낮은 값을 나타낸다. 따라서, 상관 메트릭에 대한 더 높은 값은 더 높은 품질의 디코딩된 결과에 대응한다.
또한, 수신 및 디코딩된 비트의 파워 (power) 간의 상관이 계산될 수도 있다. 이 경우에, 각 수신된 정보 비트 및 각 디코딩된 비트가 먼저 제곱된다. 다음으로, 내적이 제곱된 디코딩 비트 및 제곱된 수신 정보 비트의 벡터에 대해 수행된다.
재-인코딩된 상관 메트릭에 있어서, 디코딩된 세그먼트 내의 디코딩된 비트 (bk) 가 동일한 터보 인코더에 의해 먼저 재-인코딩되고, 재인코딩된 비트 (rk) 를 유도하기 위해 송신기 유닛에서 사용된 동일한 펑처링 방식을 사용하여 펑처링된다. 다음으로, 재-인코딩된 비트 (rk) 는 수신된 비트 uk 또는 νk 와 상관된다. 그러나, 상관은 모든 수신된 정보 및 패리티 비트에 대해 수행되고, 상관 메트릭에 대한 경우일 때 수신된 정보 비트에 대해서는 수행되지 않는다. 재-인코딩된 상관 메트릭에 대한 내적은,
[수학식 16]
Figure 112003049562788-pct00067
과 같이 표현될 수 있다.
전술한 상관 메트릭과 유사하게, 재-인코딩된 상관 메트릭 (Mre) 에 대한 더 높은 값은 더 높은 품질 디코딩된 결과에 대응한다. 재-인코딩된 상관 메트릭은 모든 수신된 정보 및 패리티 비트 (및 단지 정보 비트가 아닌) 가 메트릭에 의해 평가되기 때문에, 상관 메트릭 보다 더 정확할 수도 있다.
재-인코딩된 비트 에러 레이트가 후보 시퀀스를 재-인코딩하고, 재-인코딩된 비트를 (하드-결정 또는 2 진 값으로 변환되는) 수신된 정보 및 패리티 비트와 비트 대 비트로 비교함으로써 얻어질 수도 있다. 비교하는 동안, 재-인코딩된 비트와 수신된 비트 사이의 에러가 카운트된다. 다음으로, 재-인코딩된 BER 은 비교된 비트의 전체 수로 제산된 비트 에러의 수로서 결정된다. 재-인코딩된 BER 에 대한 더 낮은 값은 더 높은 품질 디코딩된 결과를 나타낸다.
상기 성능 메트릭 중 일부는, 본 출원의 양수인에게 양도된, 2001년 1월 16일 출원된, "METHOD AND APPARATUS FOR DETERMINING THE RATE OF RECEIVED DATA IN A VARIABLE RATE COMMUNICATION SYSTEM" 이란 명칭의 미국 특허 제 6,175,590 호에 상세히 개시되어 있다. 또한, 다른 성능 메트릭이 사용될 수도 있고, 이 또한 본 발명의 범위 내에 있다. 또한, 성능 메트릭의 어떠한 조합이 디코딩된 결과의 품질을 결정하기 위해 사용될 수도 있다.
도 8 은 본 발명의 실시형태에 따른 터보 디코더 (800) 의 블록도이다. 터보 디코더 (800) 는 도 3 및 도 4 의 터보 디코더 (316) 의 하나의 특정한 구현이다. 이 실시형태에서, 터보 디코더 (800) 는 로컬 메모리/조합기 (808), MAP 디코더 (810), 검출기 (812), 룩업 테이블 (814), 성능 메트릭 계산기 (816), 저장 유닛 (820), 및 어드레스 생성기 (830) 를 구비한다. 다시 도 4 를 참조하면, 하나의 디코더로부터의 외인성 정보가 다른 디코더에 입력으로서 제공되는, 2 개의 구성 디코더 (410a 및 410b) 가 직렬로 동작된다. 2 개의 구성 디코더의 직렬 동작으로 인해, 하나의 (물리적) 디코더만이 양쪽의 구성 디코더를 구현하기 위해 사용될 수 있다.
스케일러/양자화기 (806) 는 수신된 비트 (νk) 를 수신하고 스케일링 계수의 시퀀스 (S) 로 스케일링하고, 스케일링된 비트를 양자화하고, 양자화된 비트 (uk) 를 로컬 메모리/조합기 (808) 에 제공한다. 수신된 비트는, 터보 디코더 (800) 에 제공되기 이전에 또 다른 유닛 (예를 들어, 채널 인터리버) 에 의해 송신기 유닛에서 펑처링이 수행되는 경우에, 디-펑처링될 수도 있다. 디-펑처링은 코드 세그먼트 내의 각 펑처링된 비트에, 0 또는 1 인 비트의 동일 가능도를 나타내는 소거를 제공함으로써 달성된다. 또는, 동일한 비트에 대응하는 수신된 심볼은, 비트가 반복되는 경우에 적합한 형태로 조합될 수도 있다.
수행된 특정한 디코딩 반복 (즉, 제 1 또는 제 2 구성 인코더에 대한 디코딩) 에 따라, 정보 및 패리티 비트의 적절한 시퀀스가 메모리/조합기 (808) 에 제공된다. 또한, 이전의 디코딩 반복으로부터 얻어진 APP 가 APP 저장 유닛 (820) 으로부터 메모리/조합기 (808) 로 제공된다. 일 실시형태에서, 메모리/조합기 (808) 는 (1) 정보 비트 (
Figure 112007046431953-pct00068
) 를 수신하고 이들 비트에 대한 LLR (
Figure 112007046431953-pct00069
) 를 계산하고, (2) 단계 (1) 에서 계산된
Figure 112007046431953-pct00070
를 대응하는 외인성 정보와 조합하여 APP 를 생성하고, (3) 패리티 비트 (
Figure 112007046431953-pct00071
또는
Figure 112007046431953-pct00072
) 를 수신하고 이들 비트에 대한 LLR(
Figure 112007046431953-pct00073
또는
Figure 112007046431953-pct00074
) 을 계산하도록 설계된다.
일 실시형태에서, 메모리/조합기 (808) 는 예를 들어, 정보 및 패리티 비트의 4 개의 윈도우 워스 (worth) 를 일시적으로 저장하는 슬라이딩 윈도우 아키텍처 (SWA) 를 사용하여 구현된다. 정보 및 패리티 비트의 3 개의 윈도우가 MAP 디코더 (810) 내의 3 개의 상태 메트릭 계산기에 의해 동작되는 동안, 4 번째 윈도우는 정보 비트 및 저장 유닛 (820) 으로부터의 APP 에 대한 값으로 갱신된다. 일 실시형태에서, 각 윈도위는 32 의 사이즈를 갖고, 즉, 각 윈도우는 32 개
Figure 112007046431953-pct00075
심볼 및 32 개
Figure 112007046431953-pct00076
(또는
Figure 112007046431953-pct00077
) 심볼을 보유한다. 또한, 다른 윈도우 길이 및/또는 상이한 수의 윈도우가 사용될 수도 있고, 이것은 본 발명의 범위 이내에 있다.
일 실시형태에서, MAP 디코더 (810) 는 로그-MAP 알고리즘을 실행하는 SISO 디코더를 구현한다. 또한, 임의의 MAP-기반 디코딩 알고리즘 (예를 들어, 모두 당업계에 공지되어 있는 max 로그-MAP 알고리즘 또는
Figure 112007046431953-pct00097
로그-MAP 알고리즘) 이 사용될 수도 있다. 일 실시형태에서, MAP 알고리즘을 구현하기 위해, MAP 디코더 (810) 는 하나의 순방향 상태 메트릭 계산기 및 2 개의 역방향 상태 메트릭 계산기를 구비한다. 각 순방향 (또는 역방향) 상태 메트릭 계산기는, (1) 이전 (또는 장래) 시간 순간에서의 상태의 확률 및 (2) 이전 (또는 장래) 상태와 현재 시간에서의 상태 사이의 패스의 확률에 기초하여 소정의 시간 순간 (k) 에서 트렐리스의 2K-1 상태 각각의 확률의 로그를 계산하고, 여기서, K는 구성 인코더의 제약 길이이다. 다음으로, 이들 순방향 및 역방향 상태 메트릭은 정보 비트에 대한 경험적 확률을 계산하기 위해 사용된다. 순방향 및 역방향 상태 메트릭 계산을 전술하였다.
룩업 테이블 (814) 은, 전술한 바와 같이, 순방향 및 역방향 상태 메트릭과 브랜치 메트릭을 계산하기 위해 사용된
Figure 112007046431953-pct00098
함수의 평가를 신속히 처리하기 위해 사용될 수도 있다. 다수의 룩업 테이블이 서로 다른 스케일 값 (w) 에 대해 제공될 수도 있고, 사용될 특정한 룩업 테이블이 (제어기 (840) 에 의해 제공될 수도 있는) 스케일 선택에 의해 결정될 수도 있다.
성능 메트릭 계산기 (816) 가 디코딩된 결과의 품질을 결정하기 위해 사용되는 후보 시퀀스에 대한 하나 이상의 성능 메트릭을 계산하기 위해 사용될 수도 있다. 성능 메트릭 계산기 (816) 는 CRC 검사를 수행하고 최소 또는 평균 LLR, 상관 메트릭, 재-인코딩 에너지, 재-인코딩 BER, 일부 다른 메트릭, 또는 이들의 임의의 조합을 결정할 수도 있다.
저장 유닛 (820) 은, 그 후 다음의 디코딩 반복을 위해 사용되는, 디코딩 반복으로부터의 APP 를 저장한다. APP 는 어드레스 생성기 (830) 에 의해 제공되는 기록 및 판독 어드레스에 의해 저장 유닛 (820) 의 적절한 위치에 저장되고 그 위치로부터 검색된다. 송신기 유닛에서 코드 세그먼트를 인코딩하기 위해 사용된 인터리빙 방식에 따라 APP 가 적절하게 인터리빙 및 디-인터리빙되도록 어드레스가 생성된다.
제어기 (840) 는 터보 디코더 (800) 의 동작을 명령할 수도 있다. 제어기 (840) 는 코드 세그먼트에 대한 다수의 가설을 공식화하고 스케일링 계수를 나타내는 제어 신호 및 코드 세그먼트에 대해 사용될 스케일 값을 제공할 수도 있다. 또한, 제어기 (840) 는 가설에 대해 계산된 성능 메트릭에 대한 값을 수신하고, 최선의 가설로서 가설 중의 하나를 선택할 수도 있다. 다음으로, 최선의 가설에 대한 디코딩된 비트가 터보 디코더 (800) 로부터 제공된다.
디코딩 기술의 다양한 양태를, 서로 다른 스케일 값 (w) 에 대한
Figure 112007046431953-pct00099
함수를 구현하기 위해 일련의 룩업 테이블을 사용하는 터보 디코더 설계에 대해 설명하였다. 그러나, 이들 디코딩 기술은 룩업 테이블을 사용하는데 제한되지 않고,
Figure 112007046431953-pct00100
함수는 하드웨어, 소프트웨어, 펌웨어, 또는 어떠한 이들의 조합을 포함하는 다른 수단을 사용하여 평가될 수도 있다.
본 명세서에 설명한 디코딩 기술은 스케일 정보가 알려지지 않았을 때 코드 세그먼트를 터보 디코딩하는데 유용하게 사용될 수도 있다. 이들 기술은 cdma2000, W-CDMA, IS-856 등과 같은 터보 디코딩을 사용하는 임의의 통신 시스템에 대해 사용될 수도 있다. 또한, 이들 기술은 순방향 링크 (즉, 다운링크) 뿐만 아니라 역방향 링크 (즉, 업링크) 에 대해 사용될 수도 있다.
스케일링 계수 및 스케일 값 이외에도, 다른 파라미터 (예를 들어, 반복의 수, 윈도우 사이즈등) 가 터보 디코딩을 위해 조절될 수도 있다. 또한, 본 명세서에 설명한 기술은 터보 디코더 이외의 다른 유형의 디코더에 적용될 수도 있다. 예를 들어, 스케일링 개념은, 비터비 디코더가 w와 무관하기 때문에 하나의 변수 (스케일링 계수 (S)) 만 있다는 것을 제외하고는 비터비 디코더에 적용될 수도 있다.
본 명세서에 설명한 터보 디코더는 하드웨어, 소프트웨어 펌웨어, 또는 이들의 조합으로 구현될 수도 있다. 하드웨어 설계에 있어서, 터보 디코더는 디지털 신호 프로세서 (DSP), 응용 주문형 집적 회로 (ASIC), 프로세서, 마이크로프로세서, 제어기, 마이크로제어기, 필드 프로그램 가능한 게이트 어레이 (FPGA), 프로그램 가능한 논리 디바이스, 다른 전자 유닛, 또는 이들의 어떠한 조합 내에서 구현될 수도 있다. 소프트웨어 또는 펌웨어 설계에 있어서, 터보 디코더는 프로세서 (예를 들어, 도 8 의 제어기 (840)) 에 의해 실행된 코드로 구현될 수도 있다. 또한, 저장 유닛 및 룩업 테이블이, 예를 들어, 랜덤 접속 메모리 (RAM), 다이나믹 RAM (DRAM), 플래시 메모리등과 같은 다양한 메모리 기술로 구현될 수도 있다. 터보 디코더 및 저장 유닛의 다양한 구조 및 구현이 가능하고 이것은 본 발명은 범위 이내에 있다.
바람직한 실시형태의 전술한 상세한 설명은 당업자가 본 발명의 제조하거나 사용할 수 있도록 제공된다. 이들 실시형태에 대한 다양한 변형이 당업자에게는 명백할 것이고, 본 명세서에 정의한 일반 원리가 본 발명의 기능을 사용하지 않고 다른 실시형태에 적용될 수도 있다. 따라서, 본 발명은 본 명세서에 나타낸 실시형태에 제한되는 것이 아니라 본 명세서에 개시한 원리 및 새로운 특징과 일관되는 광범위한 범위를 부여한다.

Claims (52)

  1. 터보 인코딩된 코드 세그먼트를 디코딩하는 방법으로서,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 단계로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용되는 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 단계;
    상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 단계;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 단계;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 단계; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 단계를 포함하며,
    상기 디코딩은 상기 가설 각각에 대해 특정의 반복 수로 수행되고,
    상기 특정의 반복 수를 완료한 이후에, 상기 하나 이상의 성능 메트릭은 각 가설에 대해 평가되고,
    상기 특정의 반복 수는, 최소 에러를 갖는 디코딩된 코드 세그먼트를 얻기 위해 요구되는 수보다 적은, 디코딩 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 디코딩은 최대 경험적 (maximum a posteriori : MAP) 디코딩 방식에 기초하여 수행되는, 디코딩 방법.
  5. 터보 인코딩된 코드 세그먼트를 디코딩하는 방법으로서,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 단계로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용되는 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 단계;
    상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 단계;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 단계;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 단계; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 단계를 포함하며,
    상기 디코딩은 최대 경험적 (maximum a posteriori : MAP) 디코딩 방식에 기초하여 수행되고,
    상기 MAP 디코딩 방식은 상기 코드 세그먼트를 디코딩하는 함수를 사용하고,
    상기 하나 이상의 파라미터의 세트는 상기 함수에 대한 하나 이상의 파라미터를 포함하는, 디코딩 방법.
  6. 제 5 항에 있어서,
    상기 함수는
    Figure 112007046431953-pct00101
    함수인, 디코딩 방법.
  7. 제 5 항에 있어서,
    상기 함수는 함수 파라미터에 대한 서로 다른 값에 대응하는 룩업 테이블의 세트로 부분적으로 구현되는, 디코딩 방법.
  8. 제 1 항에 있어서,
    상기 하나 이상의 파라미터의 세트는, 디코딩될 비트를 유도하기 위해, 상기 코드 세그먼트에 대해 수신된 비트를 스케일링하는데 사용되는 스케일링 계수의 시퀀스에 대한 파라미터를 포함하는, 디코딩 방법.
  9. 터보 인코딩된 코드 세그먼트를 디코딩하는 방법으로서,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 단계로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용되는 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 단계;
    상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 단계;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 단계;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 단계; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 단계를 포함하며,
    상기 하나 이상의 파라미터의 세트는, 디코딩될 비트를 유도하기 위해, 상기 코드 세그먼트에 대해 수신된 비트를 스케일링하는데 사용되는 스케일링 계수의 시퀀스에 대한 파라미터를 포함하고,
    상기 복수의 가설은 스케일링 계수의 복수의 시퀀스에 대응하는, 디코딩 방법.
  10. 제 5 항에 있어서,
    상기 하나 이상의 파라미터의 세트는 상기 함수를 평가하기 위해 사용된 스케일에 대한 파라미터를 포함하는, 디코딩 방법.
  11. 제 10 항에 있어서,
    상기 복수의 가설은 복수의 스케일 값에 대응하는, 디코딩 방법.
  12. 터보 인코딩된 코드 세그먼트를 디코딩하는 방법으로서,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 단계로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용되는 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 단계;
    상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 단계;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 단계;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 단계; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 단계를 포함하며,
    상기 하나 이상의 파라미터의 세트는, 디코딩될 비트를 유도하기 위해 상기 코드 세그먼트에 대해 수신된 비트를 스케일링하는데 사용되는 스케일링 계수의 시퀀스에 대한 파라미터, 및 상기 코드 세그먼트를 디코딩하는 함수를 평가하기 위해 사용된 스케일에 대한 파라미터를 포함하고,
    상기 복수의 가설은 스케일 값과 상기 스케일링 계수의 시퀀스와의 복수의 조합에 대응하는, 디코딩 방법.
  13. 제 1 항에 있어서,
    상기 하나 이상의 성능 메트릭은 CRC 검사를 포함하는, 디코딩 방법.
  14. 제 1 항에 있어서,
    상기 하나 이상의 성능 메트릭은 상관 메트릭을 포함하는, 디코딩 방법.
  15. 제 1 항에 있어서,
    상기 하나 이상의 성능 메트릭은 재-인코딩된 상관 메트릭을 포함하는, 디코딩 방법.
  16. 제 1 항에 있어서,
    상기 하나 이상의 성능 메트릭은 상기 디코딩된 비트의 최소 또는 평균 로그 가능도 비율 (LLR) 을 포함하는, 디코딩 방법.
  17. 터보 인코딩된 코드 세그먼트를 디코딩하는 방법으로서,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 단계로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용된 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 단계;
    최대 경험적 (maximum a posteriori : MAP) 디코딩 방식에 기초하고 상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 단계;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 단계;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 단계; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 단계를 포함하며,
    상기 하나 이상의 파라미터의 세트는 상기 MAP 디코딩 방식을 구현하기 위해 사용된
    Figure 112009059130720-pct00102
    함수용의 스케일에 대한 파라미터를 포함하는, 디코딩 방법.
  18. 특정한 디코딩 방식에 기초하고 특정한 가설에 따라 코드 세그먼트에 대한 비트를 수신 및 디코딩하여 상기 가설에 대한 디코딩된 결과를 제공하도록 구성된 구성 디코더; 및
    상기 가설에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하도록 구성된 성능 메트릭 계산기를 구비하며,
    복수의 가설이 상기 코드 세그먼트에 대해 형성되고,
    각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용된 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하며,
    상기 구성 디코더 및 성능 메트릭 계산기는 상기 가설 각각에 대한 상기 코드 세그먼트에 대해 동작하고,
    상기 디코딩은 상기 가설 각각에 대해 특정의 반복 수로 수행되며,
    상기 특정의 반복 수를 완료한 이후에, 상기 하나 이상의 성능 메트릭은 각 가설에 대해 평가되고,
    상기 특정의 반복 수는, 최소 에러를 갖는 디코딩된 코드 세그먼트를 얻기 위해 요구되는 수보다 적은, 터보 디코더.
  19. 제 18 항에 있어서,
    상기 구성 디코더는 MAP 디코더인, 터보 디코더.
  20. 특정한 디코딩 방식에 기초하고 특정한 가설에 따라 코드 세그먼트에 대한 비트를 수신 및 디코딩하여 상기 가설에 대한 디코딩된 결과를 제공하도록 구성된 구성 디코더;
    상기 가설에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하도록 구성된 성능 메트릭 계산기;
    최대 경험적 (maximum a posteriori : MAP) 디코더에 대한 함수를 구현하도록 구성되고 각각이 상기 함수에 대한 특정한 스케일 값에 대응하는 복수의 룩업 테이블을 구비하며,
    복수의 가설은 상기 코드 세그먼트에 대해 형성되며, 상기 코드 세그먼트를 디코딩하기 위해 사용될 복수의 스케일 값에 대응하고,
    각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용된 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하며,
    상기 구성 디코더 및 성능 메트릭 계산기는 상기 가설 각각에 대한 상기 코드 세그먼트에 대해 동작하고,
    상기 구성 디코더는 상기 MAP 디코더인, 터보 디코더.
  21. 제 20 항에 있어서,
    상기 복수의 룩업 테이블은 상기 MAP 디코더에 대한
    Figure 112007046431953-pct00103
    함수를 구현하도록 구성되는, 터보 디코더.
  22. 특정한 디코딩 방식에 기초하고 특정한 가설에 따라 코드 세그먼트에 대한 비트를 수신 및 디코딩하여 상기 가설에 대한 디코딩된 결과를 제공하도록 구성된 구성 디코더; 및
    상기 가설에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하도록 구성된 성능 메트릭 계산기를 구비하며,
    복수의 가설은 상기 코드 세그먼트에 대해 형성되고,
    각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용된 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하며,
    상기 구성 디코더 및 성능 메트릭 계산기는 상기 가설 각각에 대한 상기 코드 세그먼트에 대해 동작하고,
    디코딩될 비트는 수신된 비트를 스케일링 계수의 시퀀스로 스케일링함으로써 유도되며,
    상기 복수의 가설은 복수의 스케일링 계수의 시퀀스에 대응되는, 터보 디코더.
  23. 터보 인코딩된 코드 세그먼트를 디코딩하는 장치로서,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 수단으로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용되는 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 수단;
    상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 수단;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 수단;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 수단; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 수단을 포함하며,
    상기 디코딩은 상기 가설 각각에 대해 특정의 반복 수로 수행되고,
    상기 특정의 반복 수를 완료한 이후에, 상기 하나 이상의 성능 메트릭은 각 가설에 대해 평가되고,
    상기 특정의 반복 수는, 최소 에러를 갖는 디코딩된 코드 세그먼트를 얻기 위해 요구되는 수보다 적은, 디코딩 장치.
  24. 제 23 항에 있어서,
    상기 디코딩은 최대 경험적 (maximum a posteriori : MAP) 디코딩 방식에 기초하여 수행되는, 디코딩 장치.
  25. 터보 인코딩된 코드 세그먼트를 디코딩하는 장치로서,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 수단으로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용되는 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 수단;
    상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 수단;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 수단;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 수단; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 수단을 포함하며,
    상기 디코딩은 최대 경험적 (maximum a posteriori : MAP) 디코딩 방식에 기초하여 수행되고,
    상기 MAP 디코딩 방식은 상기 코드 세그먼트를 디코딩하는 함수를 사용하고,
    상기 하나 이상의 파라미터의 세트는 상기 함수에 대한 하나 이상의 파라미터를 포함하는, 디코딩 장치.
  26. 제 25 항에 있어서,
    상기 함수는
    Figure 112009007933140-pct00109
    함수인, 디코딩 장치.
  27. 제 25 항에 있어서,
    상기 함수는 함수 파라미터에 대한 서로 다른 값에 대응하는 룩업 테이블의 세트로 부분적으로 구현되는, 디코딩 장치.
  28. 제 23 항에 있어서,
    상기 하나 이상의 파라미터의 세트는, 디코딩될 비트를 유도하기 위해, 상기 코드 세그먼트에 대해 수신된 비트를 스케일링하는데 사용되는 스케일링 계수의 시퀀스에 대한 파라미터를 포함하는, 디코딩 장치.
  29. 터보 인코딩된 코드 세그먼트를 디코딩하는 장치로서,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 수단로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용되는 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 수단;
    상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 수단;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 수단;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 수단; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 수단을 포함하며,
    상기 하나 이상의 파라미터의 세트는, 디코딩될 비트를 유도하기 위해, 상기 코드 세그먼트에 대해 수신된 비트를 스케일링하는데 사용되는 스케일링 계수의 시퀀스에 대한 파라미터를 포함하고,
    상기 복수의 가설은 스케일링 계수의 복수의 시퀀스에 대응하는, 디코딩 장치.
  30. 제 25 항에 있어서,
    상기 하나 이상의 파라미터의 세트는 상기 함수를 평가하기 위해 사용된 스케일에 대한 파라미터를 포함하는, 디코딩 장치.
  31. 제 30 항에 있어서,
    상기 복수의 가설은 복수의 스케일 값에 대응하는, 디코딩 장치.
  32. 터보 인코딩된 코드 세그먼트를 디코딩하는 장치로서,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 수단로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용되는 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 수단;
    상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 수단;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 수단;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 수단; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 수단을 포함하며,
    상기 하나 이상의 파라미터의 세트는, 디코딩될 비트를 유도하기 위해 상기 코드 세그먼트에 대해 수신된 비트를 스케일링하는데 사용되는 스케일링 계수의 시퀀스에 대한 파라미터, 및 상기 코드 세그먼트를 디코딩하는 함수를 평가하기 위해 사용된 스케일에 대한 파라미터를 포함하고,
    상기 복수의 가설은 스케일 값과 상기 스케일링 계수의 시퀀스와의 복수의 조합에 대응하는, 디코딩 장치.
  33. 제 23 항에 있어서,
    상기 하나 이상의 성능 메트릭은 CRC 검사를 포함하는, 디코딩 장치.
  34. 제 23 항에 있어서,
    상기 하나 이상의 성능 메트릭은 상관 메트릭을 포함하는, 디코딩 장치.
  35. 제 23 항에 있어서,
    상기 하나 이상의 성능 메트릭은 재-인코딩된 상관 메트릭을 포함하는, 디코딩 장치.
  36. 제 23 항에 있어서,
    상기 하나 이상의 성능 메트릭은 상기 디코딩된 비트의 최소 또는 평균 로그 가능도 비율 (LLR) 을 포함하는, 디코딩 장치.
  37. 터보 인코딩된 코드 세그먼트를 디코딩하는 장치로서,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 수단으로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용된 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 수단;
    최대 경험적 (maximum a posteriori : MAP) 디코딩 방식에 기초하고 상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 수단;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 수단;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 수단; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 수단을 포함하며,
    상기 하나 이상의 파라미터의 세트는 상기 MAP 디코딩 방식을 구현하기 위해 사용된
    Figure 112009059130720-pct00110
    함수용의 스케일에 대한 파라미터를 포함하는, 디코딩 장치.
  38. 터보 인코딩된 코드 세그먼트를 디코딩하는 명령을 갖는 컴퓨터 판독가능 매체로서, 상기 명령은,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 코드로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용되는 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 코드;
    상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 코드;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 코드;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 코드; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 코드를 포함하며,
    상기 디코딩은 상기 가설 각각에 대해 특정의 반복 수로 수행되고,
    상기 특정의 반복 수를 완료한 이후에, 상기 하나 이상의 성능 메트릭은 각 가설에 대해 평가되고,
    상기 특정의 반복 수는, 최소 에러를 갖는 디코딩된 코드 세그먼트를 얻기 위해 요구되는 수보다 적은, 컴퓨터 판독가능 매체.
  39. 제 38 항에 있어서,
    상기 디코딩은 최대 경험적 (maximum a posteriori : MAP) 디코딩 방식에 기초하여 수행되는, 컴퓨터 판독가능 매체.
  40. 터보 인코딩된 코드 세그먼트를 디코딩하는 명령을 갖는 컴퓨터 판독가능 매체로서, 상기 명령은,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 코드으로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용되는 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 코드;
    상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 코드;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 코드;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 코드; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 코드를 포함하며,
    상기 디코딩은 최대 경험적 (maximum a posteriori : MAP) 디코딩 방식에 기초하여 수행되고,
    상기 MAP 디코딩 방식은 상기 코드 세그먼트를 디코딩하는 함수를 사용하고,
    상기 하나 이상의 파라미터의 세트는 상기 함수에 대한 하나 이상의 파라미터를 포함하는, 컴퓨터 판독가능 매체.
  41. 제 40 항에 있어서,
    상기 함수는
    Figure 112009059130720-pct00111
    함수인, 컴퓨터 판독가능 매체.
  42. 제 40 항에 있어서,
    상기 함수는 함수 파라미터에 대한 서로 다른 값에 대응하는 룩업 테이블의 세트로 부분적으로 구현되는, 컴퓨터 판독가능 매체.
  43. 제 38 항에 있어서,
    상기 하나 이상의 파라미터의 세트는, 디코딩될 비트를 유도하기 위해, 상기 코드 세그먼트에 대해 수신된 비트를 스케일링하는데 사용되는 스케일링 계수의 시퀀스에 대한 파라미터를 포함하는, 컴퓨터 판독가능 매체.
  44. 터보 인코딩된 코드 세그먼트를 디코딩하는 명령을 갖는 컴퓨터 판독가능 매체로서, 상기 명령은,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 코드로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용되는 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 코드;
    상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 코드;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 코드;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 코드; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 코드를 포함하며,
    상기 하나 이상의 파라미터의 세트는, 디코딩될 비트를 유도하기 위해, 상기 코드 세그먼트에 대해 수신된 비트를 스케일링하는데 사용되는 스케일링 계수의 시퀀스에 대한 파라미터를 포함하고,
    상기 복수의 가설은 스케일링 계수의 복수의 시퀀스에 대응하는, 컴퓨터 판독가능 매체.
  45. 제 40 항에 있어서,
    상기 하나 이상의 파라미터의 세트는 상기 함수를 평가하기 위해 사용된 스케일에 대한 파라미터를 포함하는, 컴퓨터 판독가능 매체.
  46. 제 45 항에 있어서,
    상기 복수의 가설은 복수의 스케일 값에 대응하는, 컴퓨터 판독가능 매체.
  47. 터보 인코딩된 코드 세그먼트를 디코딩하는 명령을 갖는 컴퓨터 판독가능 매체로서, 상기 명령은,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 코드로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용되는 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 코드;
    상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 코드;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 코드;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 코드; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 코드를 포함하며,
    상기 하나 이상의 파라미터의 세트는, 디코딩될 비트를 유도하기 위해 상기 코드 세그먼트에 대해 수신된 비트를 스케일링하는데 사용되는 스케일링 계수의 시퀀스에 대한 파라미터, 및 상기 코드 세그먼트를 디코딩하는 함수를 평가하기 위해 사용된 스케일에 대한 파라미터를 포함하고,
    상기 복수의 가설은 스케일 값과 상기 스케일링 계수의 시퀀스와의 복수의 조합에 대응하는, 컴퓨터 판독가능 매체.
  48. 제 38 항에 있어서,
    상기 하나 이상의 성능 메트릭은 CRC 검사를 포함하는, 컴퓨터 판독가능 매체.
  49. 제 38 항에 있어서,
    상기 하나 이상의 성능 메트릭은 상관 메트릭을 포함하는, 컴퓨터 판독가능 매체.
  50. 제 38 항에 있어서,
    상기 하나 이상의 성능 메트릭은 재-인코딩된 상관 메트릭을 포함하는, 컴퓨터 판독가능 매체.
  51. 제 38 항에 있어서,
    상기 하나 이상의 성능 메트릭은 상기 디코딩된 비트의 최소 또는 평균 로그 가능도 비율 (LLR) 을 포함하는, 컴퓨터 판독가능 매체.
  52. 터보 인코딩된 코드 세그먼트를 디코딩하는 명령을 갖는 컴퓨터 판독가능 매체로서, 상기 명령은,
    상기 코드 세그먼트에 대한 복수의 가설을 형성하는 코드으로서, 각 가설은 상기 코드 세그먼트를 디코딩하기 위해 사용된 하나 이상의 파라미터의 세트에 대한 하나 이상의 값의 특정한 세트에 대응하는, 상기 가설 형성 코드;
    최대 경험적 (maximum a posteriori : MAP) 디코딩 방식에 기초하고 상기 가설 각각에 따라 상기 코드 세그먼트를 디코딩하는 코드;
    상기 가설 각각에 대해 디코딩된 결과에 대한 하나 이상의 성능 메트릭을 평가하는 코드;
    상기 하나 이상의 평가된 성능 메트릭에 기초하여, 상기 가설 각각에 대해 디코딩된 결과 중 최선의 디코딩된 결과를 갖는 특정한 가설을 결정하는 코드; 및
    상기 최선의 디코딩된 결과를 갖는 가설에 대해 디코딩된 비트의 시퀀스를 제공하는 코드를 포함하며,
    상기 하나 이상의 파라미터의 세트는 상기 MAP 디코딩 방식을 구현하기 위해 사용된
    Figure 112009059130720-pct00112
    함수용의 스케일에 대한 파라미터를 포함하는, 컴퓨터 판독가능 매체.
KR1020037016909A 2001-06-27 2002-06-26 다중 스케일 선택을 갖는 터보 디코더 KR100941346B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/893,046 US6885711B2 (en) 2001-06-27 2001-06-27 Turbo decoder with multiple scale selections
US09/893,046 2001-06-27
PCT/US2002/020345 WO2003003586A2 (en) 2001-06-27 2002-06-26 Turbo decoder with multiple scale selections

Publications (2)

Publication Number Publication Date
KR20040012976A KR20040012976A (ko) 2004-02-11
KR100941346B1 true KR100941346B1 (ko) 2010-02-11

Family

ID=25400933

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037016909A KR100941346B1 (ko) 2001-06-27 2002-06-26 다중 스케일 선택을 갖는 터보 디코더

Country Status (6)

Country Link
US (1) US6885711B2 (ko)
EP (2) EP1410515A2 (ko)
JP (1) JP4191598B2 (ko)
KR (1) KR100941346B1 (ko)
CN (1) CN1539204B (ko)
WO (1) WO2003003586A2 (ko)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7236536B2 (en) * 2001-07-26 2007-06-26 Lucent Technologies Inc. Method and apparatus for detection and decoding of signals received from a linear propagation channel
FR2828359A1 (fr) * 2001-07-31 2003-02-07 Koninkl Philips Electronics Nv Emetteur, recepteur, procedes, programme et signal adaptes a des modulations a grand nombre d'etats
US6961921B2 (en) * 2001-09-06 2005-11-01 Interdigital Technology Corporation Pipeline architecture for maximum a posteriori (MAP) decoders
JP2003203435A (ja) * 2002-01-09 2003-07-18 Fujitsu Ltd データ再生装置
DE10207146A1 (de) * 2002-02-20 2003-08-28 Infineon Technologies Ag Hardware-Schaltung zur Punktierung und Wiederholungscodierung von Datenströmen und Verfahren zum Betrieb der Hardware-Schaltung
US7657822B2 (en) * 2002-05-31 2010-02-02 Broadcom Corporation True bit level decoding of TTCM (turbo trellis code modulation) of variable rates and signal constellations
JP4185314B2 (ja) * 2002-06-07 2008-11-26 富士通株式会社 情報記録再生装置、光ディスク装置及び、データ再生方法
JP3973026B2 (ja) * 2002-08-30 2007-09-05 富士通株式会社 復号装置、復号方法、及びその方法をプロセッサに行わせるプログラム
US7505534B1 (en) * 2002-11-04 2009-03-17 Nortel Networks Limited Method for determination of discontinuous transmission, frame erasure, and rate
US20070234178A1 (en) * 2003-02-26 2007-10-04 Qualcomm Incorporated Soft information scaling for interactive decoding
JP4224329B2 (ja) * 2003-03-25 2009-02-12 パナソニック株式会社 符号化装置および符号化方法
EP1521375A3 (en) * 2003-10-03 2005-04-13 Kabushiki Kaisha Toshiba Signal decoding methods and apparatus
US7451362B2 (en) * 2003-12-12 2008-11-11 Broadcom Corporation Method and system for onboard bit error rate (BER) estimation in a port bypass controller
US7228489B1 (en) * 2003-12-26 2007-06-05 Storage Technology Corporation Soft viterbi Reed-Solomon decoder
US7515658B2 (en) * 2004-06-29 2009-04-07 Stmicroelectronics Asia Pacific Pte. Ltd. Method to adaptively scale the input to a channel decoder
US7706481B2 (en) * 2004-08-20 2010-04-27 Broadcom Corporation Method and system for improving reception in wired and wireless receivers through redundancy and iterative processing
US7543197B2 (en) 2004-12-22 2009-06-02 Qualcomm Incorporated Pruned bit-reversal interleaver
US7515601B2 (en) * 2005-05-31 2009-04-07 Broadcom Corporation Turbo decoding module supporting state n metric value normalization operations
US7672256B2 (en) * 2005-08-29 2010-03-02 Interdigital Technology Corporation Wireless communication method and apparatus for generating a serving grant based on a received relative grant
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
KR100943606B1 (ko) * 2006-03-30 2010-02-24 삼성전자주식회사 디지털 통신 시스템에서 양자화 장치 및 방법
US7746961B2 (en) * 2006-04-11 2010-06-29 Telefonaktiebolaget L M Ericsson (Publ) Efficient detection of predetermined sequences
US8230306B2 (en) * 2006-06-01 2012-07-24 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus relating to channel decoding
US7533328B2 (en) * 2006-07-04 2009-05-12 Sandisk Il, Ltd. Method of error correction in a multi-bit-per-cell flash memory
KR100826558B1 (ko) 2006-08-31 2008-04-30 포스데이타 주식회사 디코딩 장치 및 방법
US20080092015A1 (en) * 2006-09-28 2008-04-17 Yigal Brandman Nonvolatile memory with adaptive operation
JP4709119B2 (ja) * 2006-10-13 2011-06-22 ルネサスエレクトロニクス株式会社 復号装置及び復号方法
US20080120530A1 (en) * 2006-11-22 2008-05-22 Yu-Min Chuang Transceiver puncture circuit of wireless communication system
US7885289B2 (en) * 2006-12-19 2011-02-08 Lockheed Martin Corporation System and method for relaying turbo-coded piggyback messages
US8483240B2 (en) * 2006-12-19 2013-07-09 Lockheed Martin Corporation Piggyback networks
US20090077457A1 (en) * 2007-09-19 2009-03-19 Rajaram Ramesh Iterative decoding of blocks with cyclic redundancy checks
US8127216B2 (en) 2007-11-19 2012-02-28 Seagate Technology Llc Reduced state soft output processing
US20090132894A1 (en) * 2007-11-19 2009-05-21 Seagate Technology Llc Soft Output Bit Threshold Error Correction
JP2010011119A (ja) * 2008-06-27 2010-01-14 Nec Electronics Corp 復号方法および復号装置
US8458536B2 (en) 2008-07-17 2013-06-04 Marvell World Trade Ltd. Data recovery in solid state memory devices
EP2202894B1 (en) 2008-12-23 2011-11-02 Ntt Docomo, Inc. Relay station for a mobile communication system
EP2202904B1 (en) * 2008-12-23 2013-10-02 Ntt Docomo, Inc. A relay station and a decoder
US8972254B2 (en) * 2011-06-28 2015-03-03 Utah State University Turbo processing for speech recognition with local-scale and broad-scale decoders
JP5696604B2 (ja) * 2011-06-30 2015-04-08 富士通株式会社 誤り訂正符号の復号装置、誤り訂正符号の復号方法及び基地局装置ならびに移動局装置
US20130170842A1 (en) * 2012-01-04 2013-07-04 Toshiaki Koike-Akino Method and System for Equalization and Decoding Received Signals Based on High-Order Statistics in Optical Communication Networks
JP2013236236A (ja) * 2012-05-08 2013-11-21 Fujitsu Ltd 量子化装置
US8977934B2 (en) * 2013-02-04 2015-03-10 National Tsing Hua University Method of early termination of channel decoding by re-encoding
JP6123436B2 (ja) 2013-04-04 2017-05-10 富士通株式会社 受信装置および復号方法
US9124403B2 (en) * 2013-04-30 2015-09-01 Qualcomm Incorporated Puncturing scheme based decoder optimizations
MA37600B1 (fr) * 2014-11-28 2017-05-31 Université Abdelmalek Essaâdi (Faculté Des Sciences De Tétouan) Procédé amélioré de décodage du turbo-code par utilisation d'une combinaison soft.

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000046040A (ko) * 1998-12-31 2000-07-25 윤종용 통신시스템에서반복디코더에대한양자화방법
WO2001017158A1 (en) * 1999-09-01 2001-03-08 Qualcomm Incorporated Method and apparatus for detecting zero rate frames in a communications system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6175590B1 (en) * 1997-08-08 2001-01-16 Qualcomm Inc. Method and apparatus for determining the rate of received data in a variable rate communication system
US6393076B1 (en) * 2000-10-11 2002-05-21 Motorola, Inc. Decoding of turbo codes using data scaling
US8014473B2 (en) * 2001-01-26 2011-09-06 Qualcomm Incorporated Method and apparatus for detecting messages with unknown signaling characteristic

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000046040A (ko) * 1998-12-31 2000-07-25 윤종용 통신시스템에서반복디코더에대한양자화방법
WO2001017158A1 (en) * 1999-09-01 2001-03-08 Qualcomm Incorporated Method and apparatus for detecting zero rate frames in a communications system

Also Published As

Publication number Publication date
WO2003003586A3 (en) 2003-12-04
JP4191598B2 (ja) 2008-12-03
CN1539204A (zh) 2004-10-20
EP1708368A2 (en) 2006-10-04
EP1708368A3 (en) 2007-03-14
CN1539204B (zh) 2010-04-21
JP2005521269A (ja) 2005-07-14
US20030007577A1 (en) 2003-01-09
KR20040012976A (ko) 2004-02-11
US6885711B2 (en) 2005-04-26
EP1410515A2 (en) 2004-04-21
WO2003003586A2 (en) 2003-01-09

Similar Documents

Publication Publication Date Title
KR100941346B1 (ko) 다중 스케일 선택을 갖는 터보 디코더
KR100487183B1 (ko) 터보 부호의 복호 장치 및 방법
JP3610329B2 (ja) 大最小距離を用いたターボ符号化方法及びそれを実現するシステム
JP4709119B2 (ja) 復号装置及び復号方法
US20020168033A1 (en) Turbo decoder
US6393076B1 (en) Decoding of turbo codes using data scaling
EP1480347A1 (en) Digital transmission method of the error-correcting coding type
US7886209B2 (en) Decoding device, decoding method, and receiving apparatus
US6868518B2 (en) Look-up table addressing scheme
EP1147611B1 (en) Quantization method for iterative decoder in communication system
US7277508B2 (en) Method of decoding a turbo-code encoded signal in a receiver and corresponding receiver
US20030091129A1 (en) Look-up table index value generation in a turbo decoder
US7634703B2 (en) Linear approximation of the max* operation for log-map decoding
US20030023919A1 (en) Stop iteration criterion for turbo decoding
JP2004349901A (ja) ターボ復号器及びそれに用いるダイナミック復号方法
US20030014711A1 (en) Implementation of a turbo decoder
JP2006507736A (ja) Fec復号化における消失判定手順
EP1587218B1 (en) Data receiving method and apparatus

Legal Events

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