KR20020049018A - 터보 디코더용 스테이크의 유손실 압축 - Google Patents

터보 디코더용 스테이크의 유손실 압축 Download PDF

Info

Publication number
KR20020049018A
KR20020049018A KR1020027005749A KR20027005749A KR20020049018A KR 20020049018 A KR20020049018 A KR 20020049018A KR 1020027005749 A KR1020027005749 A KR 1020027005749A KR 20027005749 A KR20027005749 A KR 20027005749A KR 20020049018 A KR20020049018 A KR 20020049018A
Authority
KR
South Korea
Prior art keywords
state
stake
state metric
decoder
metrics
Prior art date
Application number
KR1020027005749A
Other languages
English (en)
Other versions
KR100801762B1 (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 KR20020049018A publication Critical patent/KR20020049018A/ko
Application granted granted Critical
Publication of KR100801762B1 publication Critical patent/KR100801762B1/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/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/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
    • H03M13/2771Internal interleaver for turbo codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • 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/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • 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/6502Reduction of hardware complexity or efficient processing
    • 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/6588Compression or short representation of variables

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

슬라이딩 윈도우 알고리즘을 채용하는 터보 디코더는 계산에서 강력한 기능을 갖고 있다. 최근, 반복들 사이에서 스테이크들을 저장함으로써, 메모리 사용이 증가되나 반복 디코더에서 필요한 계산을 감소시키는 기술이 개발되고 있다. 향상된 슬라이딩 윈도우 알고리즘에서 사용된 스테이크들은 압축될 수 있으며, 결국 반복 동안 그 스테이크들을 저장하는 것으로부터 획득된 계산 요구의 잇점을 유지하면서 최소한의 추가 메모리를 요구하는 디코더를 구현한다. 바람직하게는 최소 코스트를 나타내는 상태 메트릭의 스테이크 내에서의 위치가 저장된다.

Description

터보 디코더용 스테이크의 유손실 압축{LOSSY COMPRESSION OF STAKES FOR TURBO DECODER}
본 발명은 스테이크(stake)의 상태 메트릭들(state metrics)이 후속 반복에서 역방향 순환에 대한 시작 포인트로서 장래에 사용되도록 저장되는 슬라이딩 윈도우 알고리즘(sliding window algorithm)을 이용하여 신호대 잡음비로 코드화된 입력 신호를 디코드하도록 동작하는 반복 디코더(iterative decoder)에 관한 것이다.
또한 본 발명은 스테이크의 상태 메트릭들이 후속 반복에서 역방향 순환에 대한 시작 포인트로서 장래에 사용되도록 저장되는 슬라이딩 윈도우 알고리즘을 이용하여 신호대 잡음비로 코드화된 입력 신호를 디코드하는 방법에 관한 것이다.
이러한 반복 디코더는 프랑스, 29285 Brest Cedex, BP 832, ENST Bretagne, Departement d'dlectronique의 Adod Dingninou, Fathi Raouafi 및 Claude Berrou이 작성한 'Organisation de la memoire dans un turbo decodeur utilisant l'algorithme SUB-MAP' 문서에 개시되어 있다.
이 문서에는 슬라이딩 윈도우 알고리즘을 이용하는 반복 터보 디코더(iterative turbo decoder)가 개시되어 있다. 슬라이딩 윈도우 알고리즘을이용하여 데이터 블럭을 디코딩하기 위해서, 이 디코더는 데이터 블럭의 최초 및 최종 상태 메트릭 벡터의 상태 메트릭들의 양호한 추정치에 도달하도록 데이터 블럭의 전 및/또는 후에 특정한 수의 트렐리스 단계(trellis steps)를 디코딩하기 시작한다. 이것은 트렐리스 내의 상태 메트릭들의 수렴 속성 때문에 가능하다. 가정된 시작 상태 메트릭들과는 무관하게, 상태 메트릭들은 데이터 워드를 인코딩하는데 사용된 코드의 결과로서 여러 트렐리스 단계 이후에 올바른 해(solution)로 수렴된다. 따라서 상태 메트릭 벡터를 형성하는 2u개의 상태가 가능한 트렐리스 단계 내에 존재하는 시스템에서, 터보 디코더는, 상태 메트릭들이 디코딩될 데이터 블럭의 시작 및 끝에서 상태 메트릭들의 적당한 추정치를 산출하도록 데이터 블럭이 충분히 수렴되었음을 확인하면서, 데이터 블럭의 전 및/또는 후에 5u개의 트렐리스 단계들을 시작한다. 데이터 블럭의 시작 및 끝에서의 상태 메트릭 벡터들은 스테이크(stake)로 지칭된다. 슬라이딩 윈도우 알고리즘에서 데이터 블럭의 이전 및/또는 이후의 5u개의 트렐리스 단계들은 매 반복마다 계산된다.
슬라이딩 윈도우 알고리즘에 관한 개선으로서, 문서 'Organisation de la memoire dans un turbo decodeur utilisant l'algorithme SUB-MAP'에는 반복 디코더가 다음 반복에 사용되기 위한 스테이크들을 저장하는 것이 유리함을 개시하고 있다.
이것은 메모리 사용을 증가시키지만, 반면에 데이터 블럭의 외부에서 트렐리스 5u개의 단계들을 시작할 필요성을 감소시켜 결과적으로 처리과정에서의 필요 조건들을 감소시킨다. 이것은 이전 반복에서 획득된 스테이크들은 이미 데이터 블럭의 시작 및 끝에서 매우 정확한 상태들의 추정치이기 때문이며, 트렐리스 외부의 반복된 순방향 및 역방향 순환 시작된 5u개의 단계들은 데이터 블럭의 시작 및 끝 상태 메트릭들에 대하여 훨씬 더 정확한 추정치를 제공하지 않을 것이다. 단지 스테이크의 상태 메트릭들만이 저장될 필요가 있다.
각각의 메트릭에 대하여 8개의 상태 및 10 비트를 가진 시스템에서, 이것은 결국 스테이크당 80 비트의 저장 공간을 필요로 한다.
전체 5000 트렐리스 단계들 및 매 40 트렐리스 단계들마다 하나의 스테이크에 대하여 요구되는 메모리는 125*8*10=10 Kbit 이다.
이 디코더의 문제점은 정규 슬라이딩 윈도우 알고리즘에 비해 바람직하지 않은 추가 메모리가 요구된다는 점이다.
본 발명은 스테이크의 상태 메트릭들이 유손실 압축을 사용하여 압축되는 것을 특징으로 하는 디코더를 제공함으로써 이 문제를 해결한다.
스테이크들의 상태 메트릭들을 압축함으로서 요구되는 메모리의 양은 더욱 감소된다.
이것은 유손실 압축을 사용함으로서 스테이크의 상태 메트릭들에 대한 일부 정보는 손실되지만, 만약 그 결과의 오류가 데이터 외부의 5u에서 시작된 역방향 순환으로 인한 오류와 유사하다면, 역방향 순환은 이런 손실을 겪지 않는다는 사실에 기반을 두고 있다. 따라서 스테이크의 상태 메트릭들을 손실없이 저장할 필요는 없다.
본 발명의 일실시예는, 반복 디코더가 특정 상태를 선택하여 그 특정 상태의 스테이크 내에서의 위치만을 저장함으로서 상태 메트릭들을 압축하도록 동작하는 것을 특징으로 한다.
하나의 트렐리스 단계에서는, 특정 상태에 도달하는 코스트를 가리키는, 다양한 상태의 상대적인 웨이트들만이 관련있다. 가장 관련된 상태의 위치만을 저장함으로서 요구되는 저장 공간은 매우 감소된다. 위의 예제에서 단지 3 비트만이 가장 관련된 상태의 위치를 저장하는데 필요하며, 요구되는 메모리는 10 Kbit로부터 125*3=375 bit로 감소된다.
본 발명의 다른 실시예는 상기 특정 상태가 스테이크의 모든 상태 중 최저 코스트를 갖는 상태인 것을 특징으로 한다.
스테이크의 가장 근사한 상태(most likely state)는 최저 코스트를 반영하는 메트릭과 관련된다. 최저 코스트와 관련되는 메트릭을 갖는 상태의 스테이크 내에서의 위치만을 저장함으로써, 메트릭들의 값은 손실되고 남아있는 유일한 정보는 트렐리스 내의 어느 상태가 가장 근사한지에 관한 것이다. 상기 예에서, 정보의 가장 유용한 부분인 가장 근사한 상태의 위치가 유지되는 한편, 요구되는 메모리는 4 Kbit에서 125*3=375 bit로 감소된다. 이것은 역방향 순환에 대한 적절한 시작 포인터를 여전히 제공하면서도 필요한 메모리를 크게 감소시킨다는 것을 나타낸다.
또한 본 발명의 다른 실시예는 특정 상태의 저장된 위치에 의해 표시된 스테이크의 상태에 0의 코스트를 할당하고, 그 스테이크의 다른 모든 상태를 사전설정된, 0이 아닌 동일한 코스트로 할당함으로써 반복 디코더가 스테이크를 재구성하도록 동작하는 것을 특징으로 한다.
스테이크의 재구성은 가용 정보, 즉, 최저 코스트를 나타내는 메트릭을 갖는 상태의 스테이크 내에서의 위치에 기초한다. 다른 상태들의 상태 메트릭들은 모두 동일한 값으로 설정되고 그런 다음 이 재구성된 스테이크가 역방향 순환을 위한 시작 포인터로서 다음 반복에 사용된다.
또한 본 발명의 다른 실시예는, 사전설정된 동일하지 않은 코스트들이, 제 1 상태를 통과하고 노이즈가 없는 인코딩된 워드를 디코딩하여, 특정 상태 메트릭의 저장된 위치에 의해서 표시된 0과 동일한 상태 메트릭을 갖는 스테이크를 재구성하기 위해 최초 디코딩된 상태에 대해 발견된 0과 동일한 상태 메트릭을 가진 제 1 상태 메트릭 벡터를 선택함으로써 결정되는 것을 특징으로 한다.
스테이크를 재구성하기 위한 최적의 상태 메트릭들은 워드가 여전히 노이즈가 없음을 보장하면서, 한편 워드를 인코딩하고 이 워드를 디코딩함으로써 결정된다. 인코더가, 데이터 워드를 코딩하는 동안 소정 상태, 이를테면 위치 x 에서 상태 2를 통과할 때, 디코더는 만약 코드 워드가 노이즈가 없다면 상태 2가 동일한 위치에서 최저 코스트를 갖는다는 것을 발견할 것이다. 이렇게 발견된 상태 메트릭 벡터의 상태 메트릭들은, 이 예에서는, 상태 2와 관련되며, 상수들로 고려될 수 있으며, 예를 들어 영구 메모리에 저장될 수 있다. 디코더가 이전의 반복에서 저장된 위치에 의해서 특정 상태가 표시된 스테이크를 재구성할 때, 그 동일한 상태와 관련된 영구 메모리에 저장된 그 상태 메트릭 벡터가 선택된다. 예를 들면 이전 반복 동안에 저장된 위치가 상태 2를 표시하면, 디코더는 메모리로부터 상태 2와 관련된 상태 메트릭 벡터를 검색함으로써 스테이크를 재구성하여 다음 반복에 이들 상태 메트릭들을 사용한다.
또한 본 발명의 다른 실시예는 코스트가 입력 신호의 신호대 잡음비에 기초하여 스케일링되는 것을 특징으로 한다.
트렐리스 상태의 상태 메트릭들의 절대값은 그 상태에 도달하는 코스트를 반영한다. 따라서, 만약 신호가 높은 신호대 잡음비를 갖는다면, 그 상태의 근사도(likelihood)는 그 신호가 낮은 신호대 잡음비를 가질 때 보다 상이할 것이다. 따라서, 상태 메트릭에 의해서 반영된 바와 같이, 상태에 도달하는 코스트는 높은 신호대 잡음비를 가진 시스템에 대한 상태 메트릭 벡터 내에서 보다 상이할 것이다. 높은 신호대 잡음비를 가진 신호에서 매우 근사한 하나의 상태가 있을 수 있고, 다른 가능한 상태에 도달하기 위한 코스트는 더 높을 것이다.
낮은 신호대 잡음비를 가진 신호에서 어떠한 상태도 훨씬 더 근사한 것으로서 나타날 수 없고 임의의 상태에 도달하는 코스트는 비슷할 것이다. 따라서 본 발명은 그 신호의 신호대 잡음비를 반영하도록 스테이크의 모든 상태에 대한 모든 메트릭에 적용되는, 코스트에 대한 스케일링 계수(a scaling factor)를 제공한다.
도 1은 슬라이딩 윈도우 알고리즘의 개념을 도시한 도면.
도 2는 메모리 사용을 희생하면서 계산을 줄이기 위한 스테이크 저장 개념을 도시한 도면.
도 3은 스테이크의 유손실 압축 및 재구성을 도시한 도면.
도 4는 스테이크를 재구성하는데 사용될 상태 메트릭 벡터들의 결정을 도시한 도면.
도 5는 4 가지 상태를 가진 시스템의 트렐리스 및 스테이크의 재구성 동안 사용될 상태 메트릭 벡터들의 결정을 도시한 도면.
도 1은 디코더에 의해서 데이터 워드에 실행된 2개의 연속적인 반복을 위한 슬라이딩 윈도우 알고리즘을 나타낸다.
데이터 워드(7) 위에 위치한 윈도우 내부의 데이터 블럭(1)이 디코딩될 것이다. 이를 위해서 디코더는 데이터 블럭(1)의 시작 및/또는 끝으로부터 5u 떨어진 거리(3, 5)를 디코딩하기 시작한다. 순환이 데이터 블럭(1)의 시작 및/또는 끝의 상태 메트릭 벡터(9, 11)에 도달하면 상태 메트릭 벡터(9, 11)의 추정치는 매우 정확하다. 따라서 이런 상태 메트릭 벡터(9, 11)는 데이터 블럭(1)을 디코딩하기 위한 시작 포인터로서 사용될 수 있다.
다음 반복에서, 이러한 프로세스가 반복되어 디코더는 데이터 블럭(19)의 시작 및/또는 끝으로부터 5u 떨어진 거리를 디코딩하기 시작한다. 트렐리스가 데이터 블럭(19)의 시작 및/또는 끝의 상태 메트릭 벡터(15, 17)에 도달하면 상태 메트릭 벡터(15, 17)의 추정치는 매우 정확하다. 그 이유는 데이터 워드(13)의 정확성이 이전 반복의 결과로서 향상되어 결국 현재 반복에서 발견된 상태 메트릭벡터(15, 17)는 이전 반복에서와 약간 다르게 되기 때문이다. 상태 메트릭 벡터(9, 11, 15, 17)는 저장되지는 않지만 필요할 때마다 계산된다. 이것은 결국 필요한 계산을 증가시키는 반면 동시에 반복들 사이에 상태 메트릭 벡터를 저장하기 위한 추가 메모리를 필요로 하지 않는다.
도 2는 메모리 사용을 희생하면서, 계산을 감소시키기 위한 스테이크를 저장하는 개념을 도시하고 있다. 최초 반복에서 데이터 워드(25)는 기본 슬라이딩 윈도우 알고리즘을 이용하여 디코딩된다. 이를 위해 디코더는 데이터 블럭(27)의 시작 및/또는 끝으로부터 5u 떨어진 거리(29, 31)를 디코딩하기 시작한다. 순환이 데이터 블럭(27)의 시작 및/또는 끝의 상태 메트릭 벡터(33, 35)에 도달하면 상태 메트릭 벡터의 추정치는 매우 정확하다. 이제 데이터 블럭은 디코딩되며 데이터 블럭(27)을 통한 순방향 및 역방향 순환으로 상태 메트릭 벡터(33 및 35)의 정확성은 더욱 개선된다. 이런 상태 메트릭 벡터(33, 35)는 스테이크(stake)로 불린다. 상태 메트릭 벡터(33 및/또는 35)는 다음 반복에 사용될 스테이크로서 저장된다. 데이터 블럭(27)의 시작에서의 상태 메트릭 벡터(33)는 데이터 블럭(39)에서 다음 순방향 순환을 시작하는 상태 메트릭 벡터(37)로서 사용된다. 데이터 블럭(27)의 끝에서의 상태 메트릭 벡터(35)는 데이터 블럭(39)에서 다음 역방향 순환을 시작하는 상태 메트릭 벡터(38)로서 사용된다.
따라서 저장 공간이 증가하지만, 계산을 감소시킴으로써, 데이터 블럭의 시작 및/또는 끝으로부터 5u 떨어져서 디코딩을 더 이상 시작할 필요가 없다.
도 3은 스테이크의 유손실 압축 및 재구성을 도시한다.
반복에서 발견된 스테이크(43)는 도 2에 도시된 바와 같이 다음 반복에 사용되도록 보관된다. 저장 공간을 감소시키기 위해, 스테이크(43)의 모든 상태 메트릭(45, 47, 49, 51)이 저장되지는 않는다. 단지 특정 상태 메트릭(45, 47, 49, 51)의 위치만이 저장된다. 이것은 모든 상태 메트릭(45, 47, 49, 51)의 값들은 처리 과정에서 손실된다는 의미이다. 도 3은 4 가지 가능한 상태를 가진 시스템의 스테이크(43)를 도시한다. 만약 상태 메트릭(45)이 특정 상태인 것으로 선택되면, 예를 들면 그 메트릭이 그 상태에 도달하기 위한 최저 코스트와 관련되기 때문에, 단지 상태 메트릭(45)의 스테이크(43) 내에서의 위치만이 저장 장치(53)에 저장되며, 이 예에서 위치는 위치 0 이고 단지 0 값이 저장된다. 4 가지 상태의 시스템에서는 위치를 저장하기 위해서 각 스테이크에 대하여 단지 2 비트만 필요하고, 8 가지 상태의 시스템에서는 각 스테이크에 대하여 단지 3 비트만 필요하다.
다음 반복에서 디코더는 저장 장치(53)로부터 위치를 검색하고 재구성 수단(63)은 저장 장치(53, 65)로부터 검색된 정보에 의거하여 스테이크(67)를 재구성한다. 저장 장치(65)에서 상태 메트릭 벡터(55, 57, 59, 61)는 시스템의 각각 가능한 상태에 대하여 저장된다. 재구성 수단(63)은, 저장 장치(53)로부터 검색된 위치에 의해서 표시된 시스템의 동일한 상태와 관련된 상태 메트릭 벡터(55, 57, 59, 61)를 저장 장치(65)로부터 선택하고, 선택된 상태 메트릭 벡터(55, 57, 59, 61)로부터 재구성될 스테이크(67)로 적절한 상태 메트릭(0, A, B, C, D, E, F, G, H, I, J, K, L)을 복사함으로써, 스테이크를 재구성한다.
이 방법에 의하면, 필요한 메모리가 매우 감소되는 한편, 슬라이딩 윈도우알고리즘의 이점, 도 2의 개념에 의해서 제공된 바와 같은 필요한 계산의 감소가 유지된다.
도 4는 스테이크를 재구성하는데 사용될 상태 메트릭 벡터들의 결정을 도시하고 있다.
도 4에서 인코더(42)는 데이터 워드를 인코딩하는 동안 시간(T)에서 상태(48)를 통과한다. 이것은 데이터 워드가 디코더(46)에 의해서 디코딩될 때, 노이즈 프리 채널(a noise free channel)(44)을 통하여 전송되는 이후에, 디코더는 상태(58)가 시간(T)에서 최저 코스트를 가진다는 것을 의미한다. 관련된 상태 메트릭 벡터(52)는 상태(58)의 특징으로서 고려될 수 있다. 인코더(42)가 모든 상태(62, 48, 64)를 통과하도록 보장함으로써, 전형적인 상태 메트릭 벡터들(50, 52, 54)이 각각의 상태(56, 58, 60)에 대하여 구해진다. 이 동작은 단지 한번만 실행될 필요가 있으며 결과적인 상태 메트릭 벡터들(50, 52, 54)은 후속 사용을 위해 저장될 수 있다. 4 가지 가능한 상태를 가진 시스템에 대하여, 4 개의 전형적인 상태 메트릭 벡터들이 구해진다. 이런 상태 메트릭 벡터들은 도 3의 저장 장치(65)에 저장된 상태 메트릭 벡터들(55, 57, 59, 61)이 된다. 반복 이전에 디코더(46)가 스테이크를 재구성할 때, 이전 반복 동안 저장된 위치는 재구성될 스테이크를 위한 상태를 표시한다. 그런 다음 디코더(46)는 저장된 상태 메트릭 벡터(55, 57, 59, 61)를 선택하고 선택된 상태 메트릭 벡터로부터 재구성될 스테이크로 상태 메트릭들을 복사함으로써 스테이크를 재구성한다.
도 5는 4 가지 상태를 가진 시스템의 트렐리스 및 스테이크의 재구성 동안사용될 상태 메트릭 벡터들의 결정을 도시하고 있다.
4 가지 상태가 가능하고 디코더가 MAX-LOG-MAP 타입의 시스템에 대하여 상태 메트릭 벡터들(S0, S1, S2, S3)을 계산하기 위한 방정식은 다음과 같다:
이 방정식을 풀면, 0 코드 워드의 상태 메트릭 벡터 SMV0 = (0, 3A, 2A, 3A)가 유도된다.
다른 3 가지 상태 메트릭 벡터들 SMV1, SMV2, SMV3은 도 4에 도시된 바와 같이 상태 벡터 SMV0으로부터 유도된다.
상태 메트릭 벡터 SMV0으로 시작하여 트렐리스 내의 하나의 상태에서 다른 상태로의 이동과 관련된 코스트는 트렐리스 내의 전이 경로에 따라 0, A 및 2A로 표시된다. 예를 들면 상태 0(SMV0)의 상태 메트릭 벡터는 값이 (0, 3A, 2A, 3A)인 (S0, S1, S2, S3)이다. 상태 0에서 상태 2로 전이하기 위해서는 트렐리스 단계의 코스트가 상태 메트릭 벡터 SMV0의 상태 메트릭들에 추가되어야 한다. 이것은 결국 상태 메트릭들(2A, 3A, 0, 3A)을 갖는 새로운 상태 메트릭 벡터 SMV2가 된다. 동일한 방식으로 상태 3의 상태 메트릭 벡터 SMV3 및 상태 1의 상태 메트릭 벡터 SMV1이 연속적으로 구해진다. 이전 반복에서 저장된 관련 상태에 도달하는데 (0에 의해서 표시된) 최저 코스트를 표시하는 상태 메트릭의 위치가, 예를 들어 상태 2를 표시하고 있다면, 스테이크를 재구성하는데 사용되는 선택된 상태 메트릭 벡터는 상태 메트릭들 (2A, 3A, 0, 3A)을 갖는 상태 메트릭 벡터 SMV2이다. 도 5의 예제에서 상태 메트릭 벡터 SMV0로부터 시작하면 상태 0에서 상태 2로 이동할 때 인코더에 의해서 생성된 코드 비트 '11'은, 디코더로 하여금 상태 메트릭 벡터 SMV0으로부터 상태 메트릭 벡터 SMV2로 변경되도록 한다.
따라서, 상태 메트릭 벡터들 SMV2, SMV3 및 SMV1에 대한 다음의 상태 메트릭들이 구해진다:
이들 상태 메트릭 벡터들 S0, S1, S2 및 S3은 상태 메트릭 벡터들(55, 57, 59, 61)로서 도 3의 저장 장치(65)에 저장되어 재구성 수단(63)에 의해서 스테이크의 재구성 동안 사용될 수 있다. 이것들은 사전에 결정될 수 있기 때문에 이런 상태 메트릭들 S0, S1, S2 및 S3은 영구적인 저장 장치(65)에 저장될 수 있다.

Claims (12)

  1. 스테이크의 상태 메트릭들 -상기 스테이크의 상태 메트릭들은 메모리에 저장됨- 이 다음 반복(a next iteration)에서 역방향 순환(a backward recursion) 또는 순방향 순환(a forward recursion)에 대한 시작 포인터로 사용되는 슬라이딩 윈도우 알고리즘을 이용하여 코드화된 입력 신호를 반복적으로 디코딩하도록 동작하는 디코더에 있어서,
    상기 스테이크의 상태 메트릭들은 유손실 압축 형태로 저장되는 디코더.
  2. 제 1 항에 있어서,
    상기 디코더는 특정 상태 메트릭을 선택하여 상기 특정 상태 메트릭의 상기 스테이크 내에서의 위치만을 저장함으로써 상기 상태 메트릭들을 압축하는 디코더.
  3. 제 2 항에 있어서,
    상기 특정 상태 메트릭은 상기 스테이크의 모든 상태 메트릭들 중 최저 코스트를 나타내는 상태 메트릭인 디코더.
  4. 제 3 항에 있어서,
    상기 디코더는 상기 특정 상태 메트릭의 저장된 위치에 의해 표시된 상기 스테이크의 상기 상태 메트릭에, 0 코스트를 나타내는 상태 메트릭을 할당하고, 상기 스테이크의 모든 다른 상태 메트릭들에 사전정의된, 0이 아닌 동일한 코스트를 할당함으로써 상기 스테이크를 재구성하는 디코더.
  5. 제 3 항에 있어서,
    상기 디코더는 상기 특정 상태 메트릭의 저장된 위치에 의해 표시된 상기 스테이크의 상태 메트릭에, 0 코스트를 나타내는 상태 메트릭을 할당하고, 상기 스테이크의 모든 다른 상태에 사전정의된 동일하지 않은 코스트를 할당함으로써 상기 스테이크를 재구성하는 디코더.
  6. 제 5 항에 있어서,
    상기 사전정의된 동일하지 않은 코스트들은 상기 순환 단계에서 그리고 2번의 연속적인 순환 단계들 사이에서 다른 상태들과 관련하여, 몇번의 역방향 순환 단계들 이후 각 상태의 코스트가 동일하게 유지되도록, 그리고 상기 역방향 순환의 결과 그 상태에 대하여 가능한 최저 코스트가 되도록, 선택된 관련 코드 워드 상에서 역방향 순환에 의해서 결정되는 디코더.
  7. 제 5 항에 있어서,
    상기 사전정의된 동일하지 않은 코스트들은, 제 1 상태를 통과하고 노이즈가 없는 인코딩된 워드를 디코딩하여, 상기 특정 상태 메트릭의 저장된 위치에 의해 표시된 0과 동일한 상태 메트릭을 갖는 스테이크를 재구성하기 위해, 최초 디코딩된 상태에서 발견된 0과 동일한 상태 메트릭을 갖는 제 1 상태 메트릭 벡터를 선택함으로써 결정되는 디코더.
  8. 제 4 내지 7 항 중 어느 한 항에 있어서,
    상기 코스트들은 상기 입력 신호의 신호대 잡음비에 기초하여 스케일링되는 디코더.
  9. 제 4 내지 8 항 중 어느 한 항에 있어서,
    상기 사전정의된 코스트들은 영구 저장 장치에 저장되는 디코더.
  10. 제 1 항 내지 9항 중 어느 한 항에 따른 디코더를 포함하는 통신 수신기.
  11. 제 10 항에 따른 통신 수신기를 포함하는 휴대용 전화기.
  12. 제 10 항에 따른 통신 수신기를 포함하는 멀티미디어 장치.
KR1020027005749A 2000-09-04 2001-08-30 디코더, 통신 수신기, 휴대용 전화기 및 멀티미디어 장치 KR100801762B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00203051 2000-09-04
EP00203051.8 2000-09-04

Publications (2)

Publication Number Publication Date
KR20020049018A true KR20020049018A (ko) 2002-06-24
KR100801762B1 KR100801762B1 (ko) 2008-02-05

Family

ID=8171973

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027005749A KR100801762B1 (ko) 2000-09-04 2001-08-30 디코더, 통신 수신기, 휴대용 전화기 및 멀티미디어 장치

Country Status (8)

Country Link
US (1) US6910171B2 (ko)
EP (1) EP1317799B1 (ko)
JP (1) JP4834863B2 (ko)
KR (1) KR100801762B1 (ko)
CN (1) CN1258888C (ko)
AT (1) ATE299311T1 (ko)
DE (1) DE60111853T2 (ko)
WO (1) WO2002021703A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7441174B2 (en) * 2005-09-07 2008-10-21 The University Of Hong Kong Embedded state metric storage for MAP decoder of turbo codes
CN108449092B (zh) * 2018-04-03 2022-02-08 西南大学 一种基于循环压缩的Turbo码译码方法及其装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
US6327303B1 (en) * 1998-07-30 2001-12-04 Motorola, Inc. Method and system for data transmission using a lossy compression service
US6044116A (en) * 1998-10-29 2000-03-28 The Aerospace Corporation Error-floor mitigated and repetitive turbo coding communication system
US6856657B1 (en) * 2000-02-10 2005-02-15 Motorola, Inc. Soft output decoder for convolutional codes

Also Published As

Publication number Publication date
JP2004508763A (ja) 2004-03-18
JP4834863B2 (ja) 2011-12-14
CN1389021A (zh) 2003-01-01
EP1317799A1 (en) 2003-06-11
DE60111853T2 (de) 2006-05-11
CN1258888C (zh) 2006-06-07
WO2002021703A1 (en) 2002-03-14
US6910171B2 (en) 2005-06-21
US20020054654A1 (en) 2002-05-09
ATE299311T1 (de) 2005-07-15
KR100801762B1 (ko) 2008-02-05
EP1317799B1 (en) 2005-07-06
DE60111853D1 (de) 2005-08-11

Similar Documents

Publication Publication Date Title
US6028899A (en) Soft-output decoding transmission system with reduced memory requirement
US5802116A (en) Soft decision Viterbi decoding with large constraint lengths
KR20080098391A (ko) 양방향 슬라이딩 윈도우 아키텍처를 갖는 map 디코더
US6452979B1 (en) Soft output decoder for convolutional codes
JPH09507634A (ja) 所要メモリ容量が低減されている場合のソフト・アウトプット・デコード化が行われる伝送系
KR100390416B1 (ko) 터보 디코딩 방법
KR100801762B1 (ko) 디코더, 통신 수신기, 휴대용 전화기 및 멀티미디어 장치
WO2007021057A1 (en) Viterbi decoder and method thereof
US8489972B2 (en) Decoding method and decoding device
JP2005109771A (ja) 最大事後確率復号方法及び装置
JP2004349901A (ja) ターボ復号器及びそれに用いるダイナミック復号方法
KR20000025225A (ko) 트렐리스 복호를 사용하는 복호기에서의 경로 메트릭의 통계치를 이용한 복잡도 감소 방법
US7096410B2 (en) Turbo-code decoding using variably set learning interval and sliding window
JP2001352256A (ja) 復号装置及び復号方法
JP5370487B2 (ja) 復号方法および復号装置
KR100564757B1 (ko) 저전력 비터비 복호기 및 역추적 방법
KR100305293B1 (ko) 터보 복호기에서 최소 메모리를 이용하여 대수 근사화 확률비를구하는 방법
JP3235333B2 (ja) ビタビ復号方法およびビタビ復号化装置
KR100459414B1 (ko) 터보 복호기의 복호 방법
KR100526564B1 (ko) 비터비 복호기에서의 초기 상태평가량 설정장치
KR100388780B1 (ko) 이동통신 기지국의 디코더에서 메모리 용량 축소 방법
GB2365289A (en) Optimal soft output decoder for convolutional codes
Abbasfar et al. Survivor memory reduction in the viterbi algorithm
Nikneshan et al. Soft Decision Decoding of a fixed-rate Entropy-coded Trellis Quantizer over a noisy Channel
KR20050037307A (ko) N-트리 검색에 기초한 허프만 디코딩 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130121

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee