KR20030005321A - 스케일링된-피드백 터보 디코더 - Google Patents

스케일링된-피드백 터보 디코더 Download PDF

Info

Publication number
KR20030005321A
KR20030005321A KR1020027014807A KR20027014807A KR20030005321A KR 20030005321 A KR20030005321 A KR 20030005321A KR 1020027014807 A KR1020027014807 A KR 1020027014807A KR 20027014807 A KR20027014807 A KR 20027014807A KR 20030005321 A KR20030005321 A KR 20030005321A
Authority
KR
South Korea
Prior art keywords
decoder
feedback value
difference
transmitter
frame
Prior art date
Application number
KR1020027014807A
Other languages
English (en)
Inventor
헤이닐라마르코
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20030005321A publication Critical patent/KR20030005321A/ko

Links

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/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/2978Particular arrangement of the component decoders
    • H03M13/2984Particular arrangement of the component decoders using less component decoders than component codes, e.g. multiplexed decoders and scheduling thereof
    • 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/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)
  • Detection And Correction Of Errors (AREA)

Abstract

수신 신호의 소프트 비트들이 반복하여 송신기에서 제 1 인코더와 관련된 제 1 디코더에 의해 디코딩하는 과정을 거치게 되는 반복적인 터보 디코더는 송신기에서의 인터리버와 관련된 인터리버에 의해 인터리빙하고, 송신기에서의 제 2 인코더와 관련된 제 2 디코더에 의해 디코딩하고, 그리고 송신기에서의 상기 인터리버와 관련된 디인터리버에 의해 디인터리빙한다. 향상은 0.7 내지 0.8 근처에서 미리 결정된 값에 의해 각각의 디코딩후에 신호를 스케일링하는 것이다. 1.0 db. 근처의 신호(Eb/No)에서, 코딩 이득에 있어서 약 0.2 db. 의 개선점에 도달할 수 있지만 아주 작은 복잡성이 추가된다. 디코더들은 경미하게 성능의 저하를 가져오는 복잡한 로그 MAP 알고리즘 대신에 최대 로그 MAP 알고리즘을 따를 수 있다.

Description

스케일링된-피드백 터보 디코더{SCALED-FEEDBACK TURBO DECODER}
논문, "통신의 수학적 이론"(C.E.Shannon, 벨 시스템 기술 잡지, 27:349-423, 623-656, 1948년 10월)은 "잡음이 있는 채널 코딩 정리"를 설명했는데, 이것은 채널 용량보다 작은 채널을 통해 정보가 전송되는 비율이라면, 거기에는 수신기 출력에서 고레벨의 신뢰도를 임의로 제공할 수 있는 오류 제어 코드들이 존재한다고 했다. 그러나, 상기 논문은 임의로 높은 신뢰도를 달성하도록 하는 어떤 실제 코딩 방법도 제공하지 못하였다.
코드의 효율성은 일반적으로 코딩 이득의 관점에서 볼 때, 즉 코딩된 시스템에서 주어진 BER(비트 에러율)을 달성하는데 요구되는 Eb/No(잡음이 있는 비트 당 에너지, 신호 대 잡음비)와 코딩 이득 없이 동일한 BER을 달성하는데 요구되는 Eb/No 의 차로 표현된다.
코딩 이득에 있어서 개선들은 천천히 이루어졌다. 최초의 인수는 1950년대 초의 고레이(Golay) 코드의 도입이었고, 이어서 1980년대 미국 국립 항공 우주국의견해가 담긴 리드-솔로몬(Reed-Solomon) 코드와 비터비(Viterbi) 코드가 이용되었다. 이러한 구현들의 일부가 매우 복합적인 하드웨어를 요구했음에도 불구하고, 샤논(Shannon)의 논문 발표 후 45년간, 거의 2db.의 차이는 이론적인 한계(상기 "샤논 한계")로부터 가장 진보된 에러 제어 시스템의 성능과 분리되어 지속되었다.
새로운 코딩 방법이 논문 "근접 샤논 한계 에러 정정 코딩과 디코딩: 터보 코드"(C. Berrou, A. Glavieux 및 P. Thitmajshima, 1993년 통신에 대한 국제 회의의 회의록, 페이지 1064-1070, 1993년)에 발표되었다. (일반적으로 터보 코딩, Heegard 및 Wicker, Kluwer 아카데미의 발표자들, 노웰, 매사추세츠, 1999년, ISBN 0-7923-8378-8 을 보시오.)
비록 터보 코드가 코딩 이득에서 상당한 진보를 달성했지만은, 차이(gap)를 샤논 한계에 더욱 가깝게 하는 부가적인 진보들이 여전히 요구되고 있다. 예를 들어, 공간 통신에서는 송신기 전력이 본질적으로 제한되는 바, 지상 무선 통신에서는, 이용가능한 서비스들의 종류 및 그것들에 대한 수요의 급격한 증가가 대역을 부족하게 만들고 있다. 심우주 사업(Deep Space Project)에서 1db의 코딩 이득은 우주선 장비 가격에 있어서 8000만 달러의 가치가 있다고 평가되어왔다(페이지 5에서 터보 코딩).
본 발명은 잡음이 있는 채널을 통해 수신된 디지털 데이터 전송의 터보 디코딩에 관한 것으로서, 특히 터보 디코딩에서 스케일링된 피드백(scaled feedback)의 이용에 관한 것이다.
도면들에서, 동일한 참조 번호들은 동일한 요소들을 나타낸다.
도 1 은 송신국에서 이용되는 종래 기술의 터보 인코더의 블럭선도이고;
도 2 는 대응하는 수신국에서 이용되는 종래 기술의 터보 디코더의 형태를 예시하고;
도 3 은 도 2 에 주어진 형태를 따르는 종래 기술의 파이프라인 터보 디코더의 고레벨 블럭선도이고;
도 4 는 도 3 의 종래 기술의 파이프라인 디코더를 포함하는 디코더 스테이지들 중 하나를 상세하게 보여주는 블럭선도이고;
도 5 는 도 2 에 주어진 형태에 따른 종래 기술의 단일 프로세서 디코더의 블럭선도이고;
도 6 은 도 2 에 주어진 바와 같지만은 본 발명이 합체된 터보 디코더의 형태를 예시하며;
도 7 은 도 4 에 있는 바와 같지만은 본 발명이 합체된 디코더 스테이지의 블럭도이며;
도 8 은 도 5 에 있는 바와 같지만은 본 발명이 합체된 단일 프로세서 디코더의 블럭도이고;
도 9 는 본 발명에 따른 몇개의 스케일링 인수들에 대한 프레임 에러율(FER) 대 디코딩 반복수의 플로트도이고;
도 10 은 본 발명에 따른 몇개의 스케일링 인수들에 대한 FER 대 Eb/No 의 플로트도이다.
본 발명의 터보 디코더는 종래 기술의 터보 디코더들을 통해 코딩 이득을 향상시켰다.
본 발명은 종래 기술의 반복적인 터보 디코더들에 대한 개선이다. 종래 기술의 터보 디코더에서, 터보 코딩된 신호는 반복하여 제 1 디코더에서의 디코딩, 인터리빙, 제 2 디코더에서의 디코딩 및 디인터리빙(deinterleaving)의 과정을 거치게 된다. 본 발명의 향상은 미리 결정된 값에 의해 각 디코딩 단계 후에 상기 신호를 스케일링(scaling)하는 것이다. 0.7 내지 0.8 의 근처에서 미리 결정된 값들이 코딩 이득을 향상시키는 것으로 밝혀졌다.
본 발명의 다른 목적들 및 특징들은 첨부 도면들을 참조로 한 하기의 상세한 설명으로부터 명백해질 것이다. 그러나, 상기 도면들은 본 발명을 한정하는 것이 아니라 단지 예시의 목적으로만 제시된 것임을 이해해야 할 것이며, 첨부된 청구항들에 대해서 참조가 이루어져야 한다. 상기 도면들은 또한 반드시 축척으로 도시되는 것이 아니며, 단지 본원에 기술된 구성들 및 과정들을 개념적으로 예시하고자 하는 것임을 이해해야 한다.
예를 들어, 송신기가 본질적으로 저전력으로 제한되고, 광대한 거리를 통해서 그리고 잡음이 신호와 함께 수신되는 상태하에서 전송해야 하는 공간 통신의 열악한 조건하에서 전송되는 통신에서는, 잡음 레벨 이상으로 약간의 데시벨일 수 있는 신호들로부터 정보를 추출하는 것이 보통 필요하다. 터보 코딩을 포함하여, 에러율을 감소시키는 수단이 발전해 왔다.
도 1 은 항공 연결을 통해 전송될 데이터스트림(d)을 인코딩하는 이 기술 분야에 공지되어 있는 터보 인코더의 블럭선도이다. 상기 데이터스트림(d)은 코딩된스트림(Y1)을 생성하도록 구성 요소인 인코더(101A)에 의해 인코딩된다. 또한, 상기 데이터스트림(d)은 인터리버(102)에 의해 인터리빙되고, 그후, 코딩된 스트림(Y2)을 생성하도록 구성 요소인 인코더(101B)에 의해 인코딩된다. 전송된 출력에서 다중화되는 것은 데이터스트림들( X(데이터스트림(d)의 피드스루(feedthrough)), Y1 및 Y2 )이다. 3개의 스트림들이 하나의 데이터스트림(d)을 나타내도록 항공 연결을 통해 전송되기 때문에, 도 1 의 구성은 코드율 R = 1/3 을 갖는다.
원칙적으로, 비록 어떤 주어진 터보 인코더에 대해 최적의 디코더를 이끌어내는 것이 가능할지라도, 그 결과는 매우 비용이 많이 들고 계산상 비효율적인 시스템이 될 것이다. 따라서, 실제 시스템에서는, 일반적으로 반복적인 디코딩이 이용된다. 터보 디코딩은 전형적으로 전송된 데이터의 향상된 검출을 성공적으로 발생시키도록 하는 일반화된 비터비 알고리즘의 반복적인 어플리케이션이다. 도 1 에 도시된 2개의 인코더 구조는 두 디코딩 알고리즘들 사이의 소프트 디코딩 정보의 반복적인 통과를 기초로 하는 디코딩 전략을 제시한다.
적합한 터보 디코더의 형태가 도 2 에 주어진다. 도 2 의 각 디코더는 도 1 의 인코더들 중 하나와 관련이 있고, 연속적인 계산을 통해서 상기 2개의 디코더들은 전송된 데이터의 검출과 일치하여 도달한다. 제 1 디코더(111A)의 특징은 송신기(도 1)에서의 인코더(101A)의 특징에 따라 결정된다. 제 2 디코더(111B)의 특징은 송신기에서의 인코더(101B)의 특징에 따라 결정된다. 인터리버(112A) 및 디인터리버(112B)의 특징은 송신기에서의 인터리버(102)의 특징에 따라 결정된다.
도 2 에는 미도시된 수신기의 부분들이 항공 연결을 통해 X, Y1 및 Y2 데이터스트림들을 수신한다. 이 기술 분야에 공지된 바, 상기 수신기는 전송된 하드(hard) 비트들과 잡음의 결합을 수신하고, 상기 수신된 데이터스트림을 샘플링함으로써 상기 수신기는 사실상, "소프트(soft) 비트들"을 수신한다. 하드 극성 비트들은 1 또는 -1 의 값들로 한정되며, 이 값들은 각각 0 및 1 의 2진 데이터 비트들에 대응한다. 대응하는 소프트 비트들은 각각 1 또는 -1 이 되는 하드 비트들의 상대적인 확률을 표현하는 수들이다. 예를 들어, 소프트 비트는 6-비트 수일 수도 있다. 숫자로 표시된 6-비트는 -32 에서부터 31 까지의 값들을 표시할 수 있는 바, -32 는 대응하는 하드 비트가 -1 의 값을 가질 가장 유력한 확률을 나타내고, 31 은 대응하는 하드 비트가 1 의 값을 가질 가장 유력한 확률을 나타낸다.
X, Y1 및 Y2 소프트 비트들의 각 프레임은 도 2 의 터보 디코더로의 입력이고, 반복 횟수를 거듭한다. 미리 결정된 수 n 은 한계로서 부과될 수 있다. 만약 데이터가 반복의 변화를 보이지 않는다면, 반복은 n 반복보다 조금 더 후에 중단될 수 있다. 각각의 반복에서는, 상기 송신기(도 1)에서의 인코더(101A)에 따라 결정되는 제 1 디코더(111A)가 소프트 비트들의 스트림을 처리한다. 이후 상기 스트림은 도 1 의 인터리버(102)에 따라 결정되는 인터리버(112A)에 의해 인터리빙되고, 이후 상기 스트림은 도 1 의 인코더(101B)에 따라 결정되는 디코더(111B)에 의해 디코딩된다. 다음 반복에 대비하여, 또한, 상기 스트림은 상기 송신기(도 1)에서의 인터리버(102)에 따라 결정되는 디인터리버(112B)에 의해 디인터리빙된다.
송신기에서의 터보 인코더의 출력(X)이 원래 데이터스트림(d)의 피드스루였으므로, 제 2 디코더(111B)로부터의 X 소프트 비트들 출력은 데이터스트림(d)을 반영한다. 미리 결정된 반복 횟수가 발생한 후에, X 소프트 비트들을 디코더(111B)로부터 가져와서, 전송된 데이터스트림(d)의 수신 버전으로서 이용된다.
도 2 에 도시된 형태 다음의 반복적인 디코딩은 모든 계산들을 수행하는 단일 프로세서 또는 일련의 불연속 계산 장치들을 통해 데이터가 흐르도록 해주는 파이프라인 구조로 실현시킬 수 있다. 다수의 실시예들이 각각의 타입에 대해 가능한 바, 각각의 전형적인 실시예가 주어질 것이다.
도 3 은 파이프라인 타입의 디코딩 구성을 포함하는 수신기의 부분들의 고레벨 블럭선도이다. 신호는 에러율을 감소시키는 각각의 반복에 의해 반복하여 디코딩된다. 상기 스트림들(X, Y1 및 Y2)(도 1 의 그것과 같은 구성에 의해 송신기에서 생성된 바와 같은)은 수신기 프론트 엔드(200)에 의해 항공 연결로부터 수신되어, 도 3 의 반복적인 디코더로 입력되며, 이것은 디코더 스테이지들(210)의 임의의 수(i)를 포함하는 것으로 도시된다. 각각의 디코더 스테이지(210)는 도 2 에 주어진 형태에서 특정되는 n 반복들 중 하나의 반복을 달성한다.
X, Y1 및 Y2 에 대응하는 수신기 프론트 엔드(200)로부터의 소프트 비트들은 제 1 디코더 스테이지(210)로 입력되며, X0, Y10및 Y20로 표시된다. 또한 각각의 디코더 스테이지(210)는 피드백 입력(f)을 가지며, 제 1 스테이지로의 상기 피드백 입력은 f0로 표시되고, 강제로 0 의 값이 되게 한다.
각각의 디코더 스테이지(210)이 X, Y1, Y2 및 f 출력들을 갖는 바, 각각은또한 X 로부터 결정되고, 검출될 데이터스트림(d)으로부터 디코딩된 값이 되는 d 출력을 갖는다. (만약 X 소프트 비트들이 양이라면, d 는 +1 이 되고, 음이라면, d 는 -1 이 된다.) i 번째 스테이지 이전의 모든 스테이지들에 대해서는, 상기 X, Y1, Y2 및 f 출력들이 다음 스테이지로 입력되지만, 상기 d 출력은 이용되지 않는다. i 번째 스테이지에서는, 상기 d 출력이 출력 데이터스트림으로 이용되지만, 상기 X, Y1, Y2 및 f 출력들은 이용되지 않는다.
도 4 는 이 기술분야에 공지되어 있는 바, 디코더 스테이지(210)의 가능한 실시의 블럭선도이다. 다양한 지연들(314, 320, 322, 344, 346, 350, 352)은 디코더 스테이지(210)를 통한 소프트 비트들의 스트림 통과를 차례로 포함하는 2진 비트들의 스트림들로서 적절한 타이밍 관계를 유지하기 위해 필요하다. 소프트 출력 디코더(318)는 도 2 의 제 1 디코더(111A)에 대응한다. 덧셈기(342)와 함께, 인터리버들(326 및 328)은 공동으로 도 2 의 인터리버(112A)에 대응한다. 지연(316)이 소프트 디코더(318)로서 동일한 양의 지연을 도입해서, 덧셈기(324)가 디코더(318)의 입력과 출력 사이의 차이를 계산하며, 인터리버(328)에 의해 인터리빙한 후에, 이 차이는 그 지점에서 피드백 신호를 제공하도록 소프트 출력 디코더(348)로의 입력에 대한 X 신호에 부가된다. 소프트 출력 디코더(348)는 도 2 의 제 2 디코더(111B)에 대응한다. 다음 디코더 스테이지(210)의 덧셈기(312)와 함께 디인터리버들(358 및 360)은 공동으로 도 2 의 디인터리버(112b)에 대응한다. 지연(346)이 지연(316)과 비슷하게 기능을 하는 바, 덧셈기(354)는 덧셈기(324)와 비슷하게 기능을 한다. 이 기술분야에 공지된 바, 디코더들(318 및 348)은 로그 최대 포스테리어리(Log MAP: Log maximum a posteriori) 알고리즘(일반적으로 "컨볼루셔널 코드들에 대한 MAP 디코더의 직관적인 조정 및 간략화된 실시", Andrew J. Viterbi, 통신에서 선택된 영역들에 대한 IEEE 잡지, Vol.16, No.2, 1998년 2월,을 참고하시오)에 따라 동작한다.
도 5 는 단일 프로세서 타입의 터보 디코더의 가능한 실시예의 블럭선도이다. 수신된 하드 비트 스트림들(X, Y1 및 Y2)로부터 발생된 소프트 비트 스트림들은 RAM들(412, 414, 416)에 입력된다. 지연들(432 및 438)은 비트 스트림을 포함하는 비트들의 사이에서 타이밍 관계들을 유지한다. 소프트 출력 디코더(422)가 반복적으로 이용되어, 각각의 이용 후에 그것의 중간 결과들을 랜덤 액세스 메모리(RAM)(420)에 저장한다. RAM(420)은 저장하기 위한 쓰기 주소 입력들의 적절한 순서 및 읽어내기 위한 읽기 주소 입력들의 서로 다른 적절한 순서에 따라 그것의 내용물들을 인터리빙 및 디인터리빙하는 효과를 가질 수 있다. 상기 순서들은 소프트웨어 또는 펌웨어(firmware)(미도시)의 제어하에 제공된다. 또한 소프트웨어 또는 펌웨어의 제어하에, 디코더(422) 및 인터리버 RAM(420)은 제 1 반(half) 반복에서 도 2 의 디코더(111A) 및 인터리버(112A)로서, 그리고 제 2 반 반복에서 도 2 의 디코더(111B) 및 디인터리버(112B)로서 동작하도록 제어하기위해, 다중화기 (430)는 비트 인덱스 입력 또는 RAM(418)으로부터 적절한 주소들을 선택하며, 다중화기(436)는 RAM들(414 및 416) 중 하나로부터 데이터를 선택한다. 지연(438)이 디코더(422)와 동일한 지연을 도입해서, 덧셈기가 디코더(422)의 입력과 출력 사이의 차이를 계산하며, 이 차이는 인터리버 RAM(420)을 통해 피드백된다. 이 기술분야에공지되어 있는 바, 디코더(422)는 상기 로그 MAP 알고리즘에 따라 동작한다.
단일 프로세서 타입의 터보 디코더는 소프트웨어 또는 펌웨어의 제어하에서 RAM 들에 중간 결과들을 저장하고, 동일한 하드웨어를 반복하여 재사용함으로써 연속적인 반복들을 달성하는 효력에 의해 파이프라인 타입보다 하드웨어를 덜 필요로 한다. 예를 들어, 도 4 의 파이프라인 실시예가 반복 횟수 곱하기 2개의 소프트 디코더들(318 및 348)을 필요로 하는 것에 비하여, 도 5 의 단일 프로세서 실시예는 수행될 반복 횟수에 상관없이 오직 하나의 소프트 디코더(422)만을 필요로 한다. 따라서 도 5 의 단일 프로세서 실시예는 주문형 집적 회로(ASIC)에서의 통합이 바람직하다.
도 6 은 본 발명에 따라 피드백 스케일링을 통합하는 터보 디코더의 형태를 도시한다. 코딩 이득은 터보 디코더에서 피드백을 스케일링함으로써 향상된다. 종래 기술의 대응하는 도 2 를 통해 도 6 에 도시된 차이점은 곱셈기들(610 및 620)의 부가이고, 이 곱셈기들은 스케일링 인수(S)(두 곱셈기들에 대해 동일한 값의 S)에 의해 디코더 출력들에서 각각의 소프트 비트 수를 스케일링한다. 양의 결과들은 1 보다 작은 (S)의 값들에 의해 얻어진다. 가장 좋은 결과들은 약 0.7 내지 0.8 의 (S)의 값들에 의해 얻어진다.
스케일링되는 수들은 소프트 비트들이고, 이것은 소프트 비트의 극성에 따라서 -1 또는 +1 이 대응하는 하드 비트의 상대적인 확률을 나타낸다. 소프트 비트의 값을 스케일링하는 것은 다음 반복이 재조정될 확률을 배제하지 않는다. 따라서 소프트 비트의 값을 일정한 비율로 내리는 것(본 발명에서 제시한 바와 같이)은 그것을 0 으로 수렴하도록 하지 않고, 소프트 비트의 값을 일정한 비율로 올리는 것은 그것을 강제적으로 오버플로우(overflow) 상태가 되게 하지 않는다.
도 7 은 도 4 의 파이프라인 디코더 실시예에 대응하지만, 본 발명에 의해 향상된 바이다. 곱셈기(710 및 720)는 스케일링 인수에 의해 피드백 신호들(덧셈기들(324 및 354)의 출력들)을 스케일링하기 위해 도입된다. 또한, 본 발명은 더 간단한 최대 로그 MAP 알고리즘을 이용하는 디코더들(718 및 748)로 (상기 설명된 바와 같이, 로그 MAP 알고리즘을 이용하는) 디코더들(318 및 348)의 대체를 가능하게 해준다. 본 발명이 없이는, 상기 최대 로그 MAP 알고리즘이 상기 로그 MAP 알고리즘대신에 이용되는 경우, 성능 저하가 있는 바, 본 발명의 스케일링은 db. 스케일로 약 3분의 2 만큼 감소한다. 상기 스케일링을 수행하도록 곱셈기의 추가는 단지 경미하게 복잡성을 증가시킨다는 것을 나타내지만, 더 간단한 최대 로그 MAP 알고리즘을 이용하는 본 발명 전체는 단지 적은 성능 변화만 있을 뿐, 복잡성에 있어서 현저한 감소를 가능하게 해준다. 송신기의 인코더들(101A 및 102A)에 이용되는 제약길이(constraint length)(K)는 상기 더 간단한 최대 로그 MAP 알고리즘을 이용함으로써 생긴 성능차와 관계가 있다. 좋은 결과들은 본 발명과 관련하여 4와 동등한 제약길이(K)가 획득된다.
유사하게, 도 8 은 본 발명에 의해 향상된 바와 같이 도 5 의 단일 프로세서 디코더 실시예와 대응한다. 곱셈기(810)가 스케일링 인수에 의해 피드백 신호(덧셈기(440)의 출력)를 기준화하도록 도입된다. (상기 로그 MAP 알고리즘을 이용하는) 디코더(422)는 이제 더 간단한 최대 로그 MAP 알고리즘을 이용하는 디코더(822)로대체될 수 있다. 상기 설명된 바, 디코더(822)는 대안적으로 도 6 의 제 1 디코더(111A) 및 제 2 디코더(111B)로서 기능을 한다. 따라서, 곱셈기(810)는 대안적으로 도 6 의 곱셈기들(610 및 620)로서 기능을 한다.
도 9 는 프레임 에러율 대 몇개의 서로 다른 스케일링 인수들을 갖는 본 발명의 터보 디코더를 이용하는 디코딩 반복수의 시뮬레이션 결과 도표이며, 부가 백색 가우시안 잡음(AWGN), 1.0 db.의 Eb/No, 1024 비트의 프레임 크기, 인코딩 제약길이(K) = 4 및 10000 프레임의 전송을 갖는 신호를 추정한다. 상기 프레임 에러율을 낮추는 것이 바람직하며, 전송시 에러가 더 적음을 나타낸다. 이용되는 스케일링 인수들은 1.0, 0.8, 0.7 및 0.6 이다. (스케일링 인수 1.0 은 본 발명에 의해 알려진 스케일링을 이용하지 않는 것과 같다.) 도 9 는 0.01의 FER 이 예를 들어, (100을 넘는 하나의 프레임이 에러와 함께 수신된다는 것을 의미함) 1.0 의 스케일링 인수를 갖는(즉, 본 발명의 스케일링을 이용하지 않는) 14 번의 터보 디코딩 반복 후, 0.6 의 스케일링 인수를 갖는 7번의 반복 후, 그리고 0.7 또는 0.8 의 스케일링 인수를 갖는 6번의 반복 후에 달성될 수 있다는 것을 도시한다. 따라서, 본 발명은 특정 FER 을 달성하도록 14번의 반복으로부터 6번으로의 감소를 제공한다. 이것은 만약 단일 프로세서 터보 디코더가 이용된다면, 속도에서 상당한 증가, 그리고 만약 수송관이 달린 터보 디코더가 이용된다면, 속도에서 상당한 증가와 하드웨어에서 상당한 감소를 가능하게 해준다.
도 10 은 FER 대 몇개의 서로 다른 스케일링 인수들을 갖는 본 발명을 이용하는 Eb/No 의 시뮬레이션 결과 도표이며, AWGN, 5 번의 디코딩 반복, 1024 비트의프레임 크기, 인코딩 제약길이(K) = 4 및 10000 프레임의 전송을 갖는 신호를 가정하자. 도 10 은 0.01의 FER 을 달성하는 것이 예를 들어, 1.0 의 스케일링 인수를 갖는(즉, 본 발명의 스케일링을 이용하지 않는) 약 1.25db, 0.6 의 스케일링 인수를 갖는 약 1.13db, 그리고 0.7 또는 0.8 의 스케일링 인수를 갖는 약 1.05db 의 Eb/No 를 요구한다는 것을 나타낸다. 0.7 또는 0.8 의 스케일링 인수들을 갖는 본 발명에 의해 영향을 받는 코딩 이득은 따라서 1.25db, -0.05db, 또는 0.2db 이다.
따라서, 본 발명은 좀더 복잡화된 로그 MAP 알고리즘을 이용하여 디코더들을 통한 코딩 이득의 심각한 감소 없이, 상기 최대 로그 MAP 알고리즘을 이용하여 터보 디코더들의 이용을 가능하게 함으로써 회로의 복잡성을 줄인다.
따라서, 본원의 바람직한 실시예에 적용되는 바와 같이 본 발명의 기본이 되는 신규성들을 도시하고, 설명하고, 지적하였지만, 예시된 장치들의 형태와 상세한 설명에서, 그리고 장치들의 동작에서의 다양한 생략들과 대체들과 변화들은 본 발명의 정신에서 벗어나지 않고 이 기술 분야의 당업자들에 의해 만들어질 수 있다는 것을 이해해야 할 것이다. 예를 들어, 동일한 결과들을 달성하도록 대체로 동일한 방식으로 대체로 동일한 기능을 수행하는 요소들 및/또는 방법 단계들의 모든 결합들은 본 발명의 범위내에 있게 일부러 의도한다. 또한, 본 발명의 임의의 개시된 형태 또는 실시예와 관련하여 도시된 및/또는 설명된 구조 및/또는 요소 및/또는 방법 단계는 설계 선택의 일반적인 문제로서 임의의 다른 개시된 또는 설명된 또는 제안된 형태 또는 실시예로 통합될 수 있다는 것을 알 수 있다. 따라서, 본 발명을 단지 본원에 첨부된 청구항들의 범위에 의해 나타낸 바로서만 한정되도록 한다.

Claims (12)

  1. 터보 코딩된 프레임을 반복적으로 디코딩하는 방법으로서,
    (a) 제 1 피드백 값을 0 으로 설정하는 단계와;
    (b) 신호의 송신기에서 제 1 인코더에 따라 결정된 제 1 디코더에서, 프레임의 X 및 Y1 요소들과 상기 제 1 피드백 값을 디코딩하는 단계와;
    (c) 상기 제 1 디코더의 출력과, 상기 제 1 피드백 값 및 상기 프레임의 X 요소의 합 간의 제 1 차이를 계산하는 단계와;
    (d) 미리 결정된 값에 의해 상기 제 1 차이를 스케일링하는 단계와;
    (e) 제 2 피드백 값을 생성하도록 상기 송신기에서 인터리버에 따라 결정된 인터리버에서 상기 스케일링된 제 1 차이를 인터리빙하는 단계와;
    (f) 상기 송신기에서 제 2 인코더에 따라 결정된 제 2 디코더에서 상기 프레임의 X 및 Y2 요소들과 상기 제 2 피드백 값을 디코딩하는 단계와;
    (g) 상기 제 2 디코더의 출력과 상기 제 2 피드백 값과 상기 프레임의 Y 요소의 합 사이의 제 2 차이를 계산하는 단계와;
    (h) 상기 미리 결정된 값에 의해 상기 제 2 차이를 스케일링하는 단계와;
    (i) 상기 제 1 피드백 값을 생성하도록 상기 송신기에서 상기 인터리버에 따라 결정된 디인터리버에서 상기 제 2 디코더의 출력을 디인터리빙하는 단계와;
    (j) 미리 결정된 횟수만큼 단계들((b) 내지 (i))을 반복하는 단계와; 그리고
    (k) 상기 미리 결정된 횟수만큼 단계들((b) 내지 (i))을 반복한 후에, 상기제 2 디코더로부터의 디코딩된 프레임 데이터를 출력하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 상기 미리 결정된 값이 1 보다 작은 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 상기 미리 결정된 값이 0.65 와 0.85 사이에 있는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서, 상기 제 1 디코더 및 상기 제 2 디코더는 최대 로그 MAP 알고리즘에 따라 기능을 하는 것을 특징으로 하는 방법.
  5. 터보 디코딩된 프레임의 요소들을 디코딩하는 터보 디코더로서,
    제 1 피드백 값을 0 으로 설정하는 설정 수단과;
    신호의 송신기에서 제 1 인코더에 따른 상기 프레임의 X 및 Y1 요소들과 상기 제 1 피드백 값을 디코딩하는 제 1 디코딩 수단과;
    상기 제 1 디코딩 수단의 출력과 상기 제 1 피드백 값과 상기 프레임의 X 요소의 합 사이의 제 1 차이를 계산하는 산술 수단과;
    미리 결정된 값에 의해 상기 제 1 차이를 스케일링하는 스케일링 수단과;
    제 2 피드백 값을 생성하는 상기 송신기에서 인터리버에 따라 상기 스케일링된 제 1 디코딩 수단의 출력을 인터리빙하는 인터리빙 수단과;
    상기 송신기에서 제 2 인코더에 따른 상기 프레임의 X 및 Y2 요소들과 상기 제 2 피드백 값을 디코딩하는 제 2 디코딩 수단과;
    상기 제 2 디코더의 출력과 상기 제 2 피드백 값과 상기 프레임의 X 요소의 합 사이의 제 2 차이를 계산하는 산술 수단과;
    미리 결정된 값에 의해 상기 제 2 차이를 스케일링하는 스케일링 수단과;
    상기 제 1 피드백 값을 생성하도록 상기 송신기에서 상기 인터리버에 따라 상기 제 2 차이를 디인터리빙하는 디인터리빙 수단과;
    상기 제 1 피드백 값을 상기 제 1 디코더로 보냄으로써 후속 반복을 시작하는 수단과; 그리고
    미리 결정된 반복 횟수후에 상기 제 2 디코더로부터 디코딩된 프레임 데이터를 출력하는 수단을 포함하는 것을 특징으로 하는 터보 디코더.
  6. 제 5 항에 있어서, 상기 미리 결정된 값이 1 보다 작은 것을 특징으로 하는 터보 디코더.
  7. 제 5 항에 있어서, 상기 미리 결정된 값이 0.65 와 0.85 사이에 있는 것을 특징으로 하는 터보 디코더.
  8. 제 5 항에 있어서, 상기 제 1 디코더 및 상기 제 2 디코더는 최대 로그 MAP알고리즘에 따라 기능을 하는 것을 특징으로 하는 터보 디코더.
  9. 터보 코딩된 프레임의 요소들을 디코딩하는 터보 디코더로서,
    제 1 피드백 값을 0 으로 설정하는 회로와;
    신호의 송신기에서 제 1 인코더에 따른 상기 프레임의 X 및 Y1 요소들과 상기 제 1 피드백 값을 디코딩하도록 구성된 제 1 디코더와;
    상기 제 1 디코더의 출력과 상기 제 1 피드백 값과 상기 프레임의 X 요소의 합 사이의 제 1 차이를 계산하도록 구성된 산술 장치와;
    미리 결정된 값에 의해 상기 제 1 차이를 스케일링하도록 구성된 곱셈기와;
    제 2 피드백 값을 생성하는 상기 송신기에서 인터리버에 따라 상기 스케일링된 제 1 차이를 인터리빙하도록 구성된 인터리버와;
    상기 송신기에서 제 2 인코더에 따라 상기 프레임의 X 및 Y2 요소들과 상기 제 2 피드백 값을 디코딩하도록 구성된 제 2 디코더와;
    상기 제 2 디코더의 출력과 상기 제 2 피드백 값과 상기 프레임의 X 요소의 합 사이의 제 2 차이를 계산하도록 구성된 산술 장치와;
    미리 결정된 값에 의해 상기 제 2 차이를 스케일링하도록 구성된 곱셈기와;
    제 1 피드백 값을 생성하도록 상기 송신기에서 인터리버에 따라 상기 스케일링된 제 2 차이를 디인터리빙하도록 구성된 디인터리버와;
    상기 제 1 피드백 값을 상기 제 1 디코더로 보냄으로써 후속 반복을 시작하도록 구성된 피드백 회로와; 그리고
    미리 결정된 반복 횟수후에 상기 제 2 디코더로부터 디코딩된 프레임 데이터를 출력하도록 구성된 출력 회로를 포함하는 것을 특징으로 하는 터보 디코더.
  10. 제 9 항에 있어서, 상기 미리 결정된 값이 1 보다 작은 것을 특징으로 하는 터보 디코더.
  11. 제 9 항에 있어서, 상기 미리 결정된 값이 0.65 와 0.85 사이에 있는 것을 특징으로 하는 터보 디코더.
  12. 제 9 항에 있어서, 상기 제 1 디코더 및 상기 제 2 디코더가 최대 로그 MAP 알고리즘에 따라 기능을 하는 것을 특징으로 하는 터보 디코더.
KR1020027014807A 2000-05-05 2001-02-23 스케일링된-피드백 터보 디코더 KR20030005321A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/565,502 US6732327B1 (en) 2000-05-05 2000-05-05 Scaled-feedback turbo decoder
US09/565,502 2000-05-05

Publications (1)

Publication Number Publication Date
KR20030005321A true KR20030005321A (ko) 2003-01-17

Family

ID=24258900

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027014807A KR20030005321A (ko) 2000-05-05 2001-02-23 스케일링된-피드백 터보 디코더

Country Status (9)

Country Link
US (1) US6732327B1 (ko)
EP (1) EP1279233A1 (ko)
JP (1) JP3674851B2 (ko)
KR (1) KR20030005321A (ko)
CN (1) CN1188951C (ko)
AU (1) AU4095101A (ko)
BR (1) BR0108983A (ko)
CA (1) CA2405668C (ko)
WO (1) WO2001086822A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100761306B1 (ko) * 2004-10-14 2007-09-27 엔이씨 일렉트로닉스 가부시키가이샤 디코딩 방법 및 장치

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10012874A1 (de) * 2000-03-16 2001-09-27 Infineon Technologies Ag Turbo-Decodierer und Turbo-Decodierverfahren
US6662331B1 (en) * 2000-10-27 2003-12-09 Qualcomm Inc. Space-efficient turbo decoder
KR100762612B1 (ko) * 2001-12-07 2007-10-01 삼성전자주식회사 터보 복호화 장치에서 인터리버와 디인터리버간 메모리공유 장치 및 방법
JP2004080508A (ja) * 2002-08-20 2004-03-11 Nec Electronics Corp 誤り訂正符号の復号方法、そのプログラム及びその装置
US7237181B2 (en) * 2003-12-22 2007-06-26 Qualcomm Incorporated Methods and apparatus for reducing error floors in message passing decoders
JP2008522528A (ja) * 2004-12-02 2008-06-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ・ブロック冗長バージョン復号用ステーク継承ターボ復号器
CN100369403C (zh) * 2006-02-20 2008-02-13 东南大学 无线通信系统迭代检测译码接收的并行实现方法
US8234537B2 (en) * 2006-03-31 2012-07-31 Intel Corporation Layered decoder and method for performing layered decoding
US8069397B2 (en) * 2006-07-10 2011-11-29 Broadcom Corporation Use of ECC with iterative decoding for iterative and non-iterative decoding in a read channel for a disk drive
US8850294B1 (en) 2007-04-09 2014-09-30 Samsung Electronics Co., Ltd. Decoding apparatus for digital communications and method for using the same
US7917830B2 (en) * 2007-09-28 2011-03-29 Via Technologies, Inc. Turbo decoder and iteration stopping method thereof
US20120147942A1 (en) * 2010-12-10 2012-06-14 Futurewei Technologies, Inc. System and Method for Signaling and Detecting in Wireless Communications Systems
CN102957438B (zh) * 2011-08-25 2016-01-06 富士通株式会社 一种Turbo译码器和译码方法
TWI569584B (zh) * 2015-07-17 2017-02-01 晨星半導體股份有限公司 採用動態調整因子的解碼方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675968B1 (fr) 1991-04-23 1994-02-04 France Telecom Procede de decodage d'un code convolutif a maximum de vraisemblance et ponderation des decisions, et decodeur correspondant.
FR2675971B1 (fr) 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
FR2712760B1 (fr) 1993-11-19 1996-01-26 France Telecom Procédé pour transmettre des bits d'information en appliquant des codes en blocs concaténés.
US5907582A (en) * 1997-08-11 1999-05-25 Orbital Sciences Corporation System for turbo-coded satellite digital audio broadcasting
EP0897224A3 (en) 1997-08-14 2002-12-11 Her Majesty The Queen In Right Of Canada as represented by the Minister of Industry Method of enhanced max-log-a posteriori probability processing
US6460161B1 (en) 1998-06-01 2002-10-01 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Processing of state histories in Viterbi decoding
US5978365A (en) * 1998-07-07 1999-11-02 Orbital Sciences Corporation Communications system handoff operation combining turbo coding and soft handoff techniques
US6304996B1 (en) * 1999-03-08 2001-10-16 General Electric Company High-speed turbo decoder

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100761306B1 (ko) * 2004-10-14 2007-09-27 엔이씨 일렉트로닉스 가부시키가이샤 디코딩 방법 및 장치
US7526711B2 (en) 2004-10-14 2009-04-28 Nec Electronics Corporation Decoding method and device for repeatedly decoding first and second encoded data
US7584409B2 (en) 2004-10-14 2009-09-01 Nec Electronics Corporation Method and device for alternately decoding data in forward and reverse directions

Also Published As

Publication number Publication date
CN1419743A (zh) 2003-05-21
EP1279233A1 (en) 2003-01-29
CA2405668A1 (en) 2001-11-15
JP3674851B2 (ja) 2005-07-27
AU4095101A (en) 2001-11-20
CN1188951C (zh) 2005-02-09
US6732327B1 (en) 2004-05-04
WO2001086822A1 (en) 2001-11-15
JP2003533121A (ja) 2003-11-05
CA2405668C (en) 2006-05-16
BR0108983A (pt) 2002-12-10

Similar Documents

Publication Publication Date Title
EP1004182B1 (en) Communications systems and methods employing parallel coding without interleaving
CA2363410C (en) Highly parallel map decoder
JP4298170B2 (ja) マップデコーダ用の区分されたデインターリーバメモリ
KR100566084B1 (ko) 콘벌루션 인코딩된 코드워드를 디코딩하기 위한 소프트 결정 출력 디코더
US20040153942A1 (en) Soft input soft output decoder for turbo codes
CA2405668C (en) Scaled-feedback turbo decoder
US6434203B1 (en) Memory architecture for map decoder
US6816556B2 (en) Bandwidth-efficient concatenated trellis-coded modulation decoder and decoding method thereof
US20060176945A1 (en) Decoding device and decoding method
CN114826284A (zh) 基于扩展Turbo码和连续相位调制的迭代译码方法
EP1311070A1 (en) Decoder and decoding method
AU766116B2 (en) Memory architecture for map decoder
US20020094038A1 (en) Error-correcting code decoding method and error-correcting code decoding apparatus
US7634703B2 (en) Linear approximation of the max* operation for log-map decoding
US6757859B1 (en) Parallel turbo trellis-coded modulation
Yang et al. Implementation of Turbo code based on CCSDS
Bhargava et al. Forward Error Correction Coding
Tapia Turbo Codes, Fire and LDPC Codes to Achieve Better Deep-Space Communications: Performances and Implementation
WO2011046530A1 (en) Selectable latency maximum a posteriori (map) decoder
WO2011046529A1 (en) Map decoder architecture for a digital television trellis code

Legal Events

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