KR100801762B1 - 디코더, 통신 수신기, 휴대용 전화기 및 멀티미디어 장치 - Google Patents
디코더, 통신 수신기, 휴대용 전화기 및 멀티미디어 장치 Download PDFInfo
- Publication number
- KR100801762B1 KR100801762B1 KR1020027005749A KR20027005749A KR100801762B1 KR 100801762 B1 KR100801762 B1 KR 100801762B1 KR 1020027005749 A KR1020027005749 A KR 1020027005749A KR 20027005749 A KR20027005749 A KR 20027005749A KR 100801762 B1 KR100801762 B1 KR 100801762B1
- Authority
- KR
- South Korea
- Prior art keywords
- state
- stake
- state metric
- decoder
- metrics
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2771—Internal interleaver for turbo codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3723—Decoding 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3972—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/6588—Compression 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
본 발명은 스테이크(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)를 통과한다. 이것이 의미하는 것은, 그 데이터 워드가, 무 노이즈 채널(a noise free channel)(44)을 통하여 전송된 이후에 디코더(46)에 의해서 디코딩될 때, 상태(58)가 시간(T)에서 최저 코스트를 가진다는 것을 디코더가 발견할 것임을 의미한다. 관련된 상태 메트릭 벡터(52)는 상태(58)에 대해 전형적인 것으로 간주될 수 있다. 인코더(42)가 모든 상태(62, 48, 64)를 통과하도록 보장함으로써, 각각의 상태(56, 58, 60)에 대해 전형적인 상태 메트릭 벡터들(50, 52, 54)이 구해진다. 이 동작은 단지 한번만 실행될 필요가 있으며 결과적인 상태 메트릭 벡터들(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이다. 상태 메트릭 벡터 SMV0로부터 시작하는 도 5의 예시에서, 상태 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)
- 디코더로서,메모리에 저장된 스테이크의 상태 메트릭들이 다음 반복(a next iteration)에서 역방향 순환(a backward recursion) 또는 순방향 순환(a forward recursion)에 대한 시작 포인터로 사용되는 슬라이딩 윈도우 알고리즘을 이용하여 코드화된 입력 신호를 반복적으로 디코딩하도록 동작하되,상기 스테이크의 상태 메트릭들은 유손실 압축 형태로 저장되는 디코더.
- 제 1 항에 있어서,상기 디코더는 특정 상태 메트릭을 선택하여 상기 특정 상태 메트릭의 상기 스테이크 내에서의 위치만을 저장함으로써 상기 상태 메트릭들을 압축하는 디코더.
- 제 2 항에 있어서,상기 특정 상태 메트릭은 상기 스테이크의 모든 상태 메트릭들 중 최저 코스트를 나타내는 상태 메트릭인 디코더.
- 제 3 항에 있어서,상기 디코더는 상기 특정 상태 메트릭의 저장된 위치에 의해 표시된 상기 스테이크의 상기 상태 메트릭에, 0 코스트를 나타내는 상태 메트릭을 할당하고, 상기 스테이크의 모든 다른 상태 메트릭들에 0이 아닌 사전 설정된 동일한 코스트를 할당함으로써 상기 스테이크를 재구성하는 디코더.
- 제 3 항에 있어서,상기 디코더는 상기 특정 상태 메트릭의 저장된 위치에 의해 표시된 상기 스테이크의 상태 메트릭에, 0 코스트를 나타내는 상태 메트릭을 할당하고, 상기 스테이크의 모든 다른 상태에 사전정의된 동일하지 않은 코스트를 할당함으로써 상기 스테이크를 재구성하는 디코더.
- 제 5 항에 있어서,상기 사전정의된 동일하지 않은 코스트들은 선택된 관련 코드 워드에 대한 역방향 순환 단계에 의해 결정하되, 상기 관련 코드 워드는 여러회의 역방향 순환 단계들 이후 상기 순환 단계 및 두 연속적인 순환 단계들 사이의 다른 상태들과 관련하여 각 상태의 코스트가 동일하게 유지되고 상기 역방향 순환에 의해 그 상태에 대하여 최저 가능 코스트가 되도록 선택되는 디코더.
- 제 5 항에 있어서,상기 사전정의된 동일하지 않은 코스트들은, 제 1 상태를 통과하고 노이즈가 없는 인코딩된 워드를 디코딩하고, 상기 특정 상태 메트릭의 저장된 위치에 의해 표시된 0과 동일한 상태 메트릭을 갖는 스테이크를 재구성하기 위해, 최초 디코딩된 상태에서 발견된 0과 동일한 상태 메트릭을 갖는 제 1 상태 메트릭 벡터를 선택함으로써 결정되는 디코더.
- 제 4 내지 7 항 중 어느 한 항에 있어서,상기 코스트들은 상기 입력 신호의 신호대 잡음비에 기초하여 스케일링되는 디코더.
- 제 4 내지 7 항 중 어느 한 항에 있어서,상기 사전정의된 코스트들은 영구 저장 장치에 저장되는 디코더.
- 제 1 항 내지 7 항 중 어느 한 항에 따른 디코더를 포함하는 통신 수신기.
- 제 10 항에 따른 통신 수신기를 포함하는 휴대용 전화기.
- 제 10 항에 따른 통신 수신기를 포함하는 멀티미디어 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00203051.8 | 2000-09-04 | ||
EP00203051 | 2000-09-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20020049018A KR20020049018A (ko) | 2002-06-24 |
KR100801762B1 true 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)
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)
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 |
-
2001
- 2001-08-30 JP JP2002526007A patent/JP4834863B2/ja not_active Expired - Fee Related
- 2001-08-30 WO PCT/EP2001/010114 patent/WO2002021703A1/en active IP Right Grant
- 2001-08-30 CN CNB018026842A patent/CN1258888C/zh not_active Expired - Fee Related
- 2001-08-30 EP EP01980319A patent/EP1317799B1/en not_active Expired - Lifetime
- 2001-08-30 DE DE60111853T patent/DE60111853T2/de not_active Expired - Lifetime
- 2001-08-30 KR KR1020027005749A patent/KR100801762B1/ko not_active IP Right Cessation
- 2001-08-30 AT AT01980319T patent/ATE299311T1/de not_active IP Right Cessation
- 2001-09-04 US US09/945,858 patent/US6910171B2/en not_active Expired - Lifetime
Non-Patent Citations (5)
Title |
---|
Berens F et al, VTC 1999-Fall, 1999.09.19, pages 2601-2605 |
F.Raouafi et al.,IEE Colloquium. 1999.11.22, pages 14/1-14/4 |
Schurgers et al, Proceedings 1999 ISLPED, 1999.08.16, pages 76-81 |
Sun Rong et al, Electronics Letters, IEE Stevenage, GB, vol.36, no.16, 2000.08.03 |
Zhongfeng Wang Suzuki et al, Signal Processing Systems, 1999.10.20, pages 503-512 |
Also Published As
Publication number | Publication date |
---|---|
US6910171B2 (en) | 2005-06-21 |
US20020054654A1 (en) | 2002-05-09 |
DE60111853T2 (de) | 2006-05-11 |
WO2002021703A1 (en) | 2002-03-14 |
ATE299311T1 (de) | 2005-07-15 |
KR20020049018A (ko) | 2002-06-24 |
CN1389021A (zh) | 2003-01-01 |
JP2004508763A (ja) | 2004-03-18 |
JP4834863B2 (ja) | 2011-12-14 |
CN1258888C (zh) | 2006-06-07 |
EP1317799B1 (en) | 2005-07-06 |
DE60111853D1 (de) | 2005-08-11 |
EP1317799A1 (en) | 2003-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5802116A (en) | Soft decision Viterbi decoding with large constraint lengths | |
US6028899A (en) | Soft-output decoding transmission system with reduced memory requirement | |
US7765459B2 (en) | Viterbi decoder and viterbi decoding method | |
US20040155802A1 (en) | Method of decoding a variable-length codeword sequence | |
US6452979B1 (en) | Soft output decoder for convolutional codes | |
EP0846376A1 (en) | Method for metric determination in a communication system | |
KR20080098391A (ko) | 양방향 슬라이딩 윈도우 아키텍처를 갖는 map 디코더 | |
EP1156588B1 (en) | Method and apparatus for maximum a posteriori probability decoding | |
US6192084B1 (en) | Soft output decoding apparatus and method for convolutional code | |
JPH09507634A (ja) | 所要メモリ容量が低減されている場合のソフト・アウトプット・デコード化が行われる伝送系 | |
JP2003514427A (ja) | エントロピック・コードを持つ符号化データを復号する方法とそれに対応する復号デバイスおよび伝送システム | |
KR100390416B1 (ko) | 터보 디코딩 방법 | |
US8055986B2 (en) | Viterbi decoder and method thereof | |
KR100801762B1 (ko) | 디코더, 통신 수신기, 휴대용 전화기 및 멀티미디어 장치 | |
JP2005109771A (ja) | 最大事後確率復号方法及び装置 | |
JP2004349901A (ja) | ターボ復号器及びそれに用いるダイナミック復号方法 | |
KR20000025225A (ko) | 트렐리스 복호를 사용하는 복호기에서의 경로 메트릭의 통계치를 이용한 복잡도 감소 방법 | |
US7096411B2 (en) | Method and apparatus for reliable resynchronization of sequential decoders | |
Ahmed et al. | Viterbi algorithm performance analysis for different constraint length | |
US20050172200A1 (en) | Data receiving method and apparatus | |
JP3235333B2 (ja) | ビタビ復号方法およびビタビ復号化装置 | |
Handlery et al. | Boosting the error performance of suboptimal tailbiting decoders | |
JP5370487B2 (ja) | 復号方法および復号装置 | |
KR100459414B1 (ko) | 터보 복호기의 복호 방법 | |
GB2365289A (en) | Optimal soft output decoder for convolutional codes |
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 |