KR100803957B1 - 고도의 병렬식 맵 디코더 - Google Patents

고도의 병렬식 맵 디코더 Download PDF

Info

Publication number
KR100803957B1
KR100803957B1 KR1020017012562A KR20017012562A KR100803957B1 KR 100803957 B1 KR100803957 B1 KR 100803957B1 KR 1020017012562 A KR1020017012562 A KR 1020017012562A KR 20017012562 A KR20017012562 A KR 20017012562A KR 100803957 B1 KR100803957 B1 KR 100803957B1
Authority
KR
South Korea
Prior art keywords
map
delete delete
frame
section
symbol estimate
Prior art date
Application number
KR1020017012562A
Other languages
English (en)
Other versions
KR20020007352A (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 KR20020007352A publication Critical patent/KR20020007352A/ko
Application granted granted Critical
Publication of KR100803957B1 publication Critical patent/KR100803957B1/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/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

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)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

부호화된 (coded) 신호는 맵 디코딩을 이용하여 디코딩된다. 수개의 맵 엔진 (104) 은 각각 심볼 추정치 프레임 (100) 의 대응하는 다른 부분 (102) 을 디코딩한다. 각 부분의 테일 부분 (103) 은 인접한 맵 엔진 (104) 를 위한 초기화 값으로 디코딩된다. 그 결과 연성 (또는 경성) 판정된 섹션 (108) 은 프레임 (106) 을 판정하기 위한 출력이다.
디코더, 맵 디코더, 병렬식, 맵 엔진, 심볼 추정치 프레임

Description

고도의 병렬식 맵 디코더 {HIGHLY PARALLEL MAP DECODER}
본 발명은 코딩에 관한 것이다. 특히, 본 발명은 MAP (Maximum a posteriori Probability) 디코딩을 수행하는 신규하고 개선된 기술에 관한 것이다.
"터보 코딩 (Turbo coding)" 은 순방향 에러 정정 (Forward Error Correction, FEC) 의 영역에서 중요한 진보를 나타낸다. 터보 코딩에는 많은 변형이 있지만, 대부분은 반복 디코딩이 결합된 인터리빙 (interleaving) 단계로 나누어지는 다중 인코딩 단계가 사용된다. 이러한 결합은 통신 시스템에서 잡음 내성 (Noise Tolerance) 의 면에서 이전에는 없었던 성능을 제공한다. 즉, 터보 코딩은 기존의 FEC 기술을 사용하여 종래에는 수용할 수 없었던 Eb/N0 레벨에서의 통신을 가능하게 한다.
많은 시스템에서 FEC 기술을 사용하므로, 이들은 터보 코딩의 사용에 의한 이점을 얻을 수 있다. 예를 들어, 터보 코드 (Turbo Codes) 는, 위성의 제한된 다운링크 전송전력 (Downlink Transmit Power) 으로 인해 낮은 Eb/N0 레벨에서 동작할 수 있는 수신 시스템을 필요로 하는, 무선 위성 링크의 성능을 개선할 수 있다. 무선 위성 링크에서 터보 코드를 사용함으로써 디지털 비디오 방송 (digital video broadcast, DVB) 시스템용 접시형 안테나 (dishes) 의 크기를 줄일 수 있고, 또한 더 많은 데이터를 전송할 수 있다.
또한, 디지털 셀룰라 및 PCS 전화 시스템과 같은 디지털 무선통신 시스템에서도 FEC 를 사용한다. 예를 들어, IS-95 공중-경유 인터페이스 표준, 및 IS-95B와 같은 그 파생된 표준 (Derivatives) 은, 컨볼루셔널 인코딩 (Convolutional Encoding) 을 사용하여 시스템의 용량을 증가시키기 위한 코딩 이득 (Coding Gain) 을 제공하는 디지털 무선통신 시스템을 정의한다. 실질적으로 IS-95 표준의 사용에 따라 RF 신호를 처리하는 시스템 및 방법은, 본 발명의 양수인에 양도되고 여기에 참조로서 포함되며 명칭이 "System and Method for Generating Signal Waveforms in a CDMA Cellular Telephone System" 인 미국 특허 제 5,103,459 호 ('459특허)에 기술되어 있다.
많은 유형의 터보 코딩은 기존의 FEC 코딩 기술보다 더욱 복잡한 회로구성을 필요로 한다. 예를 들면, 많은 터보 코드들은 종래의 비터비 트렐리스 디코더 (Viterbi Trellis Decoder) 보다 복잡한 맵 디코더 (MAP Decoder) 를 사용한다. 높은 데이터 레이트 (Data Rate) 애플리케이션에 있어, 더 복잡한 맵 디코더는 데이터 전송이 수행되는 데이터 레이트를 감소시킨다. 따라서, 고속 데이터 레이트에서 동작할 수 있는 맵 디코더를 가지는 것이 매우 바람직하다.
본 발명은 터보 코딩 및 반복 코딩 기술에 특별히 응용되는, 맵 디코딩을 수행하는 신규하고도 개선된 기술에 관한 것이다. 본 발명의 일 실시예에 따르면, 1세트의 맵 디코더가 디코딩되어질 프레임 심볼 추정치 (Frame Symbol Estimates) 의 다른 섹션 (Section) 에 병렬로 인가된다. 각 맵 디코더는 수신된 심볼 추정치의 섹션에 대한 판정 (decision) 을 생성한다. 일 실시예에서, 초기화값이 생성된다. 맵 디코더는 이 초기화값을 사용하여 프레임의 중간에서 시작하는 각 섹션에서 디코딩을 개시한다.
본 발명의 특징, 목적 및 이점들은 도면 부호가 명세서 전체를 통해서 일치하는 도면과 관련하여 이하 설명될 상세한 설명으로부터 보다 명확해 질 것이다.
도 1a 는 본 발명의 일 실시예에 따라 구성된 셀룰러 전화 시스템의 매우 간략화된 도면이다.
도 1b 는 본 발명의 일 실시예에 따라 구성된 위성 통신 시스템의 매우 간략화된 도면이다.
도 2 는 본 발명의 일 실시예에 따라 구성된 인터리버의 블록도이다.
도 3a 는 본 발명의 일 실시예에 따른 터보 코더의 블록도이다.
도 3b 는 본 발명의 다른 실시예에 따른 터보 코더의 도면이다.
도 4 는 본 발명의 일 실시예에 따른 수신 시스템의 블록도이다.
도 5 는 본 발명의 일 실시예에 따른 수신 추정치 프레임의 처리에 대한 블록도이다.
도 6 은 본 발명의 일 실시예에 따른 매우 간략화된 맵 디코더의 블록도이다.
도 7 은 본 발명의 다른 실시예에 따른 매우 간략화된 맵 디코더의 블록도이다.
도 8 은 본 발명의 일 실시예에 따라 프레임의 섹션을 디코딩하는 동안, 맵 엔진에 의해 수행되는 처리를 나타내는 타이밍도이다.
삭제
본 발명은 터보 코딩을 수행하는 신규하고 개선된 기술이다. 디지털 셀룰러 전화 시스템과 관련하여 실시예를 기술한다. 이 콘텍스트 내에서의 사용이 이점이 있지만, 본 발명의 다른 실시예는 다른 환경, 구성, 또는 디지털 케이블과 전화 시스템과 같은 유선 통신 시스템과 위성 통신 시스템을 포함하는 디지털 데이터 전송 시스템에 포함될 수 있다.
일반적으로 여기에서 기술되는 다양한 시스템은 소프트웨어-제어 프로세서, 집적회로, 또는 별도의 로직을 사용하여 구성될 수 있지만, 집적회로에 의한 구현이 바람직하다. 본 출원을 통해 언급되는 데이터, 명령어, 커맨드, 정보, 신호, 심볼, 및 칩은 전압, 전류, 전자기파, 자기장 또는 파티클, 광학장 (Optical Field) 또는 파티클, 또는 이들의 결합에 의해 편리하게 표시될 수 있다. 또한, 각 블록도에서 도시된 블록은 하드웨어 또는 방법 단계를 나타낼 수도 있다.
도 1a 는 본 발명의 일 실시예에 따라 구성된 셀룰러 전화 시스템의 매우 간략화된 도면이다. 전화 통화 또는 다른 통신을 하기 위해서, 가입자 유닛 (10A) 은 RF 신호를 통해 기지국 (12) 과 인터페이싱한다. 기지국 (12) 은 기지국 제어기 (base station controller , BSC) (14) 를 통해 공중 스위치 전화 네트워크 (public switch telephone network , PSTN) 와 인터페이싱한다.
도 1b 는 본 발명의 또다른 실시예에 따라 구성된 위성 통신 시스템의 매우 간략화된 도면이다. 업링크 (uplink) 지국 (40) 은 비디오 프로그래밍 같은 정보를 포함하는 RF 신호를 위성 (42) 으로 전송한다. 위성 (42) 은, 수신된 RF 신호를 디지털 데이터로 변환하는 수신기 (44) 가 있는 지구로 RF 신호를 중계한다.
도 2 는 본 발명의 일 실시예에 따라 구성된 예시적인 전송 시스템의 블록도이다. 이러한 전송 시스템은 전송용 디지털 신호를 발생시키는 다른 시스템 뿐아니라 가입자 유닛 (10) , 기지국 (12) , 업링크 (uplink) 지국 (40) 에서도 이용될 수 있다. 도시된 전송 처리는 단지 본 발명의 일 실시예를 나타낸 것이고, 수 많은 다른 전송 처리 체계가 본 발명의 다양한 실시예의 이용에 의해 구체화되고, 이점을 얻을 수 있다. 데이터 (70) 는 주어진 소정 양의 수신 데이터에 대한 CRC 체크섬 데이터 (CRC checksum data) 를 발생시키는 CRC 발생기 (CRC generator) (72) 에 공급된다.
그 결과 얻어지는 데이터 블록은, 채널 인터리버 (78) 에 공급되는 코드 심볼을 발생시킬 터보 코더 (76) 에 공급된다. 코드 심볼은 통상적으로 원래 데이터 (시스터매틱 심볼(systematic symbol)) 의 재전송과 하나 이상의 패리티 심볼 (parity symbol) 을 포함한다. 각 시스터매틱 심볼에 대하여 전송되는 패리티 심볼의 수는 코딩 레이트 (coding rate) 에 의존한다. 코딩 레이트가 1/2 일때, 수신된 각 데이터 비트 (CRC 를 포함하여) 에 대해 생성된 총 2 개의 심볼에 대해, 각 시스터매틱 심볼마다 하나의 패리티 심볼이 전송된다. 코딩 레이트가 1/3 일때, 수신된 각 데이터 비트에 대해 생성된 총 3 개의 심볼에 대해, 각 시스터매틱 심볼마다 2 개의 패리티 심볼이 생성된다.
터보 코더 (76) 로부터의 코드 심볼은 채널 인터리버 (78) 에 공급된다. 채널 인터리버 (78) 는 수신된 심볼의 블록에 대한 인터리브를 수행하고, 매퍼 (mapper) (80) 에 의해 수신되는, 인터리브된 심볼을 출력한다. 통상적으로, 채널 인터리버 (78) 는 블록 (block) 또는 비트-반전 (bit- reversal) 인터리빙을 수행하고, 실제로 다른 모든 유형의 인터리버가 채널 인터리버로 사용될 수 있다.
매퍼 (80) 는 인터리브된 코드 심볼을 받은 후, 소정의 매핑 (mapping) 체계에 따른 특정 비트의 심볼 단어 (symbol words) 를 생성한다. 그 후, 심볼 단어는 수신된 심볼 단어에 기초해 변조된 파형을 생성하는 변조기 (modulator) (82) 에 인가된다. 전형적인 변조 방법은 QPSK, 8-PSK, 및 16QAM 을 포함하고, 다양한 다른 변조방법이 이용될 수 있다. 그 후 변조된 파형은 RF 주파수에서 전송되도록 상향변환 (upconvert) 된다.
도 3a 는 본 발명의 일 실시예에 따라 구성된 터보 코더의 블록도이다. 본 발명의 제 1 실시예에서, 터보 코더는 병렬-연접 터보 코더들로 구성된다. 이러한 터보 코더 (76) 의 형태에서, 구성 코더 (90) 및 코드 인터리버 (92) 는, 전술한 바와 같이 입력 데이터 및 CRC 체크섬 비트를 출력하는 CRC 발생기(72)로부터 데이터를 수신한다. 알려진 바와 같이, 코드 인터리버 (92) 는 최고 성능을 위해서 고도로 랜덤화된 (randomized) 인터리버이어야 한다. 코드 인터리버로써 최소한의 복잡성을 가지며 우수한 성능을 가지는 인터리버가, 1998년 9월 22일에 출원된, 발명의 명칭이 "Coding System having State Machine Based Interleaver" 인 미국 특허출원 제 09/158,459 호, 및 1998년 10월 13일에 출원된, 발명의 명칭이 "Coding System having State Machine Based Interleaver" 인 미국 특허출원 제 09/172,069 호, 및 1998년 12월 4일에 출원된, 발명의 명칭이 "Turbo Code Interleaver Using Linear Cogruential Sequence" 인 미국 특허 제 6,304,991 호에 기술되어 있다. 구성 코더 (90) 는 시스터매틱 심볼 (94) (통상적으로 원래 입력 비트의 카피) 과 패리티 심볼 (96) 을 출력한다. 구성 코더 (98) 는 코드 인터리버 (92) 의 인터리브된 출력을 수신하여, 제 2 패리티 심볼 (99) 세트를 출력한다. 다른 인터리버로는, CDMA2000 공통 에어 인터페이스 표준에 기술된 인터리버가 있다.
구성 코더 (90) 및 구성 코더 (98) 의 출력은, 전체 코딩 레이트인 R = 1/3 으로, 출력 데이터 스트림으로 먹스 (mux) 된다. 증가된 순방향 에러 정정에 대한 상기 코딩 레이트를 감소시키기 위해, 부가적인 구성 코더와 코드 인터리버 쌍들이 첨가될 수 있다. 또한, 상기 코딩 레이트를 증가시키기 위해, 패리티 심볼 (96 및 99) 의 일부가 펑처링될 수 (즉, 전송되지 않을 수) 도 있다. 예를 들면, 패리티 심볼 (96) 을 전혀 전송하지 않거나, 다른 모든 패리티 심볼 (96 및 99) 을 펑처링시킴으로서, 코딩 레이트를 증가될 수 있다.
구성 코더 (90 및 98) 는, 블록 코더 (block coder) 또는 컨볼루셔널 코더 (convolutional coder) 를 포함한 다양한 유형의 코더일 수 있다. 컨볼루셔널 코더로서, 구성 코더 (90 및 98) 는 통상적으로 복잡성을 줄이기 위해 4 와 같은 작은 제한 길이 (constraint length) 를 가지며, RSC (recursive systematic convolutional) 인코더이다. 작은 제한 길이는 수신 시스템에서 대응 디코더의 복잡성을 감소시킨다. 통상적으로, 2 개의 코더는 구성 코딩 레이트 R = _ 로 수신되는 각 비트에 대하여 하나의 시스터매틱 심볼 및 하나의 패리티 심볼을 출력한다. 그러나 구성 코더 (98) 로부터의 시스터매틱 비트는 사용되지 않기 때문에, 도 1a 의 터보 코더의 총 코딩 레이트는 1/3 이다. 전술한 바와 같이, 부가적인 인터리버와 코더 쌍이 코딩 레이트를 감소시키기 위해 병렬로 부가되어, 더 높은 에러 정정을 제공할 수 있고, 또한, 코딩 레이트를 증가 시키기 위해 펑처링이 수행될 수 있다.
도 3b 는 본 발명의 또 다른 실시예에 따라 직렬-연접 터보 코더 (109) 를 도시한다. 도 3b 의 터보 코더에서, 테일 비트 발생기 (74) (tail bit generator) 로부터의 데이터는 구성 코더 (110) 에 의해 수신되고, 그 결과 얻어지는 코드 심볼은 코드 인터리버 (112) 로 인가된다. 그 결과 인터리브된 패리티 심볼은, 패리티 심볼 (115) 을 생성하는 부가적 인코딩을 수행하는 코더 (114) 에 공급된다. 통상적으로, 구성 코더 (110) (외부코더) 는 블록 인코더 (block encoder) 또는 컨볼루셔널 인코더 (convolutional encoder) 를 포함하는 다양한 유형의 인코더일 수 있지만, 구성 코더 (114) (내부 코더) 는 바람직하게는 재귀 코더 (recursive coder) 이고, 통상적으로 재귀 시스터매틱 인코더 (recursive systematic encoder) 이다.
RSC 인코더로서, 구성코더 (110 및 114) 는 코딩 레이트 R < 1 에서 심볼을 생성한다. 즉, 주어진 입력 비트수 N 에 대해, M > N 인 M 출력 심볼이 생성된다. 도 3b 의 직렬 연접 터보 코더 (109) 에 대한 총 코딩 레이트는 구성코더 (110) 의 코딩 레이트와 구성코더 (114) 의 코딩 레이트를 곱한 값이다. 또한 부가적인 인터리버 및 코더 쌍이, 직렬로 부가되어 코딩 레이트를 감소시켜서 부가적인 에러 방지를 제공할 수 있다.
도 4 는 본 발명의 실시예에 따라 구성된 수신 시스템의 블록도이다. 안테나 (150) 는 수신된 RF 신호를 RF 유닛 (152) 에 제공한다. RF 유닛은 RF 신호의 하향변환 (downconversion), 필터링 (filtering), 디지털화 (digitization) 를 수행한다. 매퍼 (154) 는 디지털화된 데이터를 수신하여 채널 디인터리버 (156) 에 연성 판정 데이터 (soft decision data) 를 제공한다. 터보 디코더 (158) 는 채널 디인터리버 (156) 로 부터 받은 연성 판정 데이터를 디코딩하고, CRC 체크섬 데이터를 이용하여 데이터의 정확성을 체크할 수 있는, 수신 시스템의 프로세서나 제어 유닛에 결과물인 경성 판정 데이터 (hard decision data) 를 공급한다.
도 5 는 본 발명의 일 실시예에 따른 수신 추정치 프레임의 처리에 관한 블록도이다. 추정치 프레임 (100) 은 102.0 - 102.N 의 N + 1 섹션으로 나누어진다. 각 섹션은 맵 디코더 엔진 104.0 - 104.N 으로 제공된다. 각 맵 엔진은 수신된 수신 추정치의 섹션에 대해 맵 디코딩을 수행한다. 그 결과 얻어지는 연성 (혹은 경성) 판정 섹션 (108) 이 출력되어 프레임 (106) 을 만든다.
본 발명의 일 실시예에 의하면, 맵 엔진 (104.0 - 104.N-1) 은 수신되는 섹션의 테일 부분 (103) 을 처리하고, 프레임내의 다음 섹션을 처리하는 맵 엔진 (104) 에 전해질 초기화값 (105) 을 생성한다. 상기 처리는 마지막 윈도우 (103) 에 대한 1 세트의 순방향 상태 메트릭을 생성시키는 단계를 포함하는 것이 바람직하다. 이러한 처리로, 상태 메트릭값을 수신하는 맵 엔진 (104) 의 순방향 상태 메트릭의 초기화 상태로서 이용될 수 있는 상태 메트릭이 생성된다.
마지막 윈도우 (103) 는 인코더 내부에서 사용되는 RSC 코더의 메모리 길이 (memory length) (K) 의 통상적으로는 3배 이상, 바람직하게는 8배 이상인 신뢰 상태에 도달할 수 있도록, 상태 메트릭이 충분히 긴 것이 바람직하다. 본 발명의 다른 실시예에서, 테일 부분 (103) 은 대응하는 맵 엔진 뿐 아니라 그 다음 맵 엔진 (104) 에 바로 공급될 수도 있다. 즉, 섹션 (102.X) 으로부터 받은 테일 부분 (103) 은 맵 엔진 (104.X) 뿐 아니라, 맵 엔진 (104.X+1) 에도 공급될 수 있다. 그 후, 각 맵 엔진 (104) 은 자기 고유의 초기화값을 계산한다.
상기한 실시예에서, 맵 엔진은 먼저 순방향 상태 메트릭을 계산하고, 그 후에 역방향 상태 메트릭을 계산함에 의하여 동작한다. 먼저 역방향 상태 메트릭이 계산되고, 그 후에 순방향 상태 메트릭이 계산될 수도 있다는 것은 당해 기술에서 잘 알려져 있다. 일반적으로, 본 명세서에 있어서, 역방향 상태 메트릭 계산기와 순방향 상태 메트릭 계산기의 교환 (swap) 은 본 발명의 이용에 부합한다. 도 4 의 구성에서, 만약 역방향 상태 메트릭이 먼저 계산된다면, 당업자에게 명백한 바와 같이, 테일 부분 (103) 은 마지막이 아닌, 각 섹션에 대한 제 1 세트의 심볼 추정치가 될 것이고, 각 맵 엔진 (104.X) 은 맵 엔진 (104.X-1) 에 초기화값을 공급할 것이다.
프레임을 섹션으로 분해하고 맵 엔진을 이용하여 각 섹션을 처리함으로써, 프레임이 처리될 수 있는 레이트는 증가된다. 따라서, 더 고속의 데이터 레이트 통신은 터보 코딩의 더 우수한 Eb / No 성능의 이점을 가질 수 있다.
도 6 는 본 발명의 일 실시예에 따라 구성된 맵 디코더의 블록도이다. 프레임 버퍼 (300) 는 심볼 추정치 프레임을 저장한다. 프레임 버퍼 (300) 내 의 섹션 버퍼 (302.0) - (302.N) 는 프레임의 다른 섹션을 저장한다. 그 섹션은 효율성의 극대화를 위해 바람직하게는 서로 완전히 다르지만, 저장된 심볼 추정치중에서 중복되는 부분도 사용될 수 있다. 각 섹션 버퍼는 거의 동시에 판독될 수 있다.
맵 버퍼 (304.1 - 304.N) 는 대응하는 섹션 버퍼 (302) 로부터 심볼 추정치를 수신한다. 맵 버퍼 (304) ( 맵 버퍼 (304.0) 에 의해 상세하게 도시된 것처럼) 내에서의 윈도우 버퍼 (306.0 - 306.3) 는 섹션 버퍼 (302) 로부터 심볼 추정치의 1 개의 윈도우를 수신한다. 1 개의 윈도우는 섹션 버퍼 (302) 에 저장된 것보다 실제적으로 적은 심볼 추정치의 양이다. 1 개의 윈도우는 인코딩을 하는데 사용되는 RSC 인코딩 체계의 메모리 길이(K)의 바람직하게는 4 배 이상이고, 통상적으로는 상기 메모리 길이의 약 8배이다.
동작동안, 상기 4개의 윈도우 버퍼 (306) 중 3개의 윈도우 버퍼 (306)는 심볼 추정치를, 멀티플렉서 (308) 를 통하여 맵 엔진으로 판독한다. 제4 윈도우 버퍼 (306) 는 섹션 버퍼 (302) 에서 기입된 심볼 추정치를 가진다. 맵 엔진 (310) 내에서의 순방향 상태 메트릭 계산기 (FSMC) (312) 는 메트릭 버퍼 (316)에 저장된 심볼 추정치의 윈도우에 대한 순방향 상태 메트릭을 생성한다. 또한, 역방향 상태 메트릭 계산기 (RSMC) 는 심볼 추정치의 다른 윈도우에 대한 역방향 상태 메트릭을 생성한다.
바람직하게는, FSMC (312) 와 RSMC (314) 는 심볼 추정치의 윈도우에 동작하여, 메트릭 버퍼 (316) 가 단지 순방향 상태 메트릭의 윈도우 값을 저장하기만 하면 되게 한다. 이것은, 그 다음 방향 (일반적으로 역방향) 으로 전체 프레임을 진행시키기 전에 심볼 추정치의 전체 프레임을 일 방향 (일반적으로 순방향) 으로만 진행시키는 다른 맵 디코딩 시스템들과 대조적이다. 이런 방식으로 전체 섹션을 처리하는 것은 섹션에 대한 모든 상태 메트릭을 저장하기 위해 엄청난 양의 메모리를 필요로 하므로, 바람직하지 않다. 그러나, 그 다음 방향으로 섹션을 처리하기 전에 일 방향으로 전체 섹션을 처리하는 맵 엔진을 사용하는 것은 본 발명의 다른 실시예와 부합한다.
멀티플렉서 (318) 는, 외부 정보(extrinsic information)를 생성시키기 위해 순방향 및 역방향 상태 메트릭의 로그 라이클리후드 비율 (log likelihood ratio) 을 계산하는 로그 라이클리후드 비율 계산기 (log likelihood ratio calculator, LLR) (320) 에, 1세트의 역방향 상태 메트릭을 인가한다. 외부 정보는, 터보 코딩의 반복 디코딩 기술에 따라 다시 디코딩을 반복하기 위해 사용될 수 있다. 다른 역방향 상태 메트릭 계산기는, 심볼 추정치의 다음 윈도우를 디코딩 하는 동안에 사용하기 위한 초기화 상태를 생성한다.
또한, 본 발명의 일 실시예에 따라, FSMC (312) 는 처리중인 섹션의 단부 (마지막 윈도우) (즉, 상기 대응하는 섹션 버퍼 (302) 에 저장된 1세트의 심볼) 를 처리한다 . 이 마지막 윈도우의 처리는, 프레임내 심볼 추정치의 다음 섹션을 처리하는 다음 맵 엔진 (312) 으로 전해질 초기화 상태 (330) 를 생성한다. 예를 들면, 맵 엔진 (310.0) 은 초기화 상태 (330) 를 맵 엔진 (310.1) 으로 전해준다. 통상적으로, 프레임의 시작에서 코딩의 상태는 알려져 있기 때문에, 제 1 맵 엔진 (310.0) 은 초기화 상태가 필요없다. 또한, 해당 기술분야에서 잘 알려져 있는, 전송 처리 동안 프레임에 부가되는 테일 비트의 사용을 통해 프레임의 단부에서의 인코더의 상태도 알 수 있다. 본 발명의 또다른 일 실시예에서, 맵 엔진 (310) 은 프레임내 이전 섹션의 마지막 윈도우를 처리함으로써 스스로 초기화된다. 초기화를 위해 사용되는 윈도우 (마지막 윈도우) 와 섹션의 처리 동안 사용되는 윈도우는 동일한 길이일 필요는 없다.
맵 엔진 (310) 과 결합된 맵 버퍼 (304) 의 동작에 대한 유사한 시스템과 방법이, 본 발명의 양수인에 양도되어 1999년 3월 31일 출원된, 발명의 명칭이 "MEMORY ARCHITECTURE FOR MAP DECODER" 인 미국 특허출원 제 09/283,013 호에 설명되어 있으며, 본 명세서에 참조로 포함되어 있다. 또한 슬라이딩 윈도우 맵 엔진을 수행하기 위한 시스템과 방법은, 본 발명의 양수인에게 양도되어 1999년 8월 3일에 특허된, 발명의 명칭이 "Soft Decision Output Decoder for Decoding Convolutionally Encoded Codewords" 인 미국특허 제 5,933,462 호에 설명되어 있으며, 본 명세서에 참조로 포함되어 있다.
도 7 은 본 발명의 제 2 실시예에 따라 구성된 매우 간략화된 맵 디코더의 블록도이다. 도 7 의 실시예는 도 6 와 동일한 성능을 제공하는 것은 아니지만, 데이터 레이트 처리 능력에서 현저한 개선이 제공된다. 프레임 버퍼 (400) 는 심볼 추정치의 프레임을 가지고 있다. 프레임 버퍼 (400) 는, 차례로 섹션 뱅크 (404.A 및 404.B) 로 구성된, 1 세트의 섹션 버퍼 (402) 로 이루어져 있다. 맵 엔진 (410) 은 대응하는 섹션 버퍼 (402) 로부터 멀티플렉서 (408) 를 통해, 심볼 추정치를 수신한다. 맵 엔진 (410.0) 에 대해 상세하게 설명한다.
맵 엔진 (410.0) 내에서, 순방향 상태 메트릭 계산기 (FSMC) (412) 는, 섹션 버퍼 (402) 로부터 수신된 심볼 추정치에 대한 응답으로 순방향 상태 메트릭을 생성한다. 상기 순방향 상태 메트릭은 메트릭 버퍼 (416) 에 저장된다. 역방향 상태 메트릭 계산기 (RSMC) (413) 는 로그 라이클리후드 비율 계산기 (LLR) (418) 에 인가되는 역방향 상태 메트릭을 생성한다. LLR (418) 은 순방향 및 역방향 상태 메트릭에 대한 로그 라이클리후드 비율을 계산하고, 다른 디코딩을 반복하거나 경성 판정 (hard decisions) 을 생성하는데 사용될 수 있는 연성 판정 데이터 (soft decision data) (통상적으로 외부 데이터) 를 출력한다. 다른 맵 엔진 (410) 과 섹션 버퍼 (402) 는, 마지막 맵 엔진 (410.N) 이 다음 맵 엔진에 대한 초기화 상태(값)를 생성해내지 않는다는 점을 제외하고는, 거의 동시에 유사한 방식으로 동작한다.
바람직하게는, 상기 FSMC (412) 와 RSMC (414) 는 심벌 추정치의 윈도우에 걸쳐 동작하여, 메트릭 버퍼 (416) 가 단지 순방향 상태 메트릭의 윈도우의 값 (Worth) ( 또는 이중으로 버퍼된 메모리에 대한 두개의 윈도우) 을 저장하기만 하면 되게 한다. 또한, 처리 시간을 좀 더 줄이기 위해 가능하면, FSMC (412) 와 RSMC (414) 를 동시에 동작하게 하는 것이 바람직하다. 예시적인 처리에서, RSMC (414) 가 심볼 추정치의 다음 (연속적인) 윈도우 (2L) 를 동시에 처리하는 동안, FSMC (412) 는 심볼 추정치의 제 1 윈도우 (L) 를 처리한다. 일단 FSMC (412) 가 윈도우 (L) 의 처리를 마치면, RSMC (414) 는 윈도우 (2L) 의 처리 동안 생성된 개시 상태를 이용하여, 전술한 바와 같이, 그 결과로서 LLR (418) 로 인가될 윈도우 (L) 를 처리하기 시작한다. 이런 처리는, FSMC (412) 는 윈도우 j*L 을 처리하고 RSMC (414) 는 윈도우 (j+1)L 과 j*L 을 처리하면서, 프레임을 구성하는 윈도우 세트 1.... M 에 대해 계속된다. 또한, 본 발명의 일 실시예에서, FSMC (412) 는 우선 심볼 추정치의 섹션의 단부에서 1 세트의 추정치 (예를 들면, 심볼 추정치의 마지막 윈도우 M*L) 를 처리하여 초기화 상태 (422) 를 생성한다. 초기화 상태 (422) 는 다음 맵 엔진 (410.1) 으로 전해진다. 또한, 맵 엔진 (410.1) 도 상기 초기화 상태 (422) 를 생성하며, 그 후 맵 엔진 (410.0) 으로부터 수신된 초기화 상태를 이용하여 FSMC 처리를 시작한다.
도 7 에 도시된 본 발명의 실시예에서 섹션 버퍼 (402) 는, 동시에 기입되거나, 판독될 수 있는 2개의 뱅크 (404) 로 나누어진다. 이것은 효율성을 증가시키는, FSMC (412) 와 RSMC (414) 에 의한 동시 처리를 가능하게 한다. 분리된 프레임 버퍼를 사용한 맵 디코딩을 수행하는 시스템과 방법은, 본 발명의 양수인에 양도되어 1999년 2월 26일에 출원된, 발명의 명칭이 "PARTITIONED INTERLEAVER MEMORY FOR MAP DECODER" 인 미국 특허출원 제 09/259,665 호에 기술되어 있으며, 본 명세서에 참조로 포함되어 있다. 이 특허에 기술된 시스템은 상기 메모리를 3개의 뱅크로 분리하지만, 동일한 동작원리가 적용된다. 도 7 에 도시된 본 발명의 일 실시예에서, 심볼 추정치의 모든 짝수 윈도우 (2L, 4L, 2*jL) 는 하나의 뱅크 (404) 에 저장되고, 심볼 추정치의 모든 홀수 윈도우 (1L, 3L...2(j+1)L) 는 다른 뱅크 (404) 에 저장된다. 이런 방식으로 저장하는 것은 FSMC (412) 및 RSMC (414) 를 섹션의 다른 부분에 동시에 접속하게 해준다. FSMC (412) 및 RSMC (414) 에 의한 동시 접속을 가능하게 하는 2개의 뱅크 (404) 내 심볼 추정치의 다른 분포는, 명백해야 하고 본 발명의 이용과 부합한다.
본 발명의 또다른 실시예에서, 도 6 에서 도시된 것과 유사한 맵 버퍼가 도 7 의 시스템에서 사용될 수 있다. 이러한 구성에서, 섹션 버퍼 (402) 는 분리되지 않은 단일 뱅크로 구성된다. 또한, 맵 버퍼내의 윈도우 램 (RAM) 의 수는, 하나 더 적은 상태 메트릭 계산기가 사용되기 때문에, 도 6 에 도시된 4 개와는 달리 3 개이다.
역으로, 섹션 버퍼가 분리된 도 7 의 분리 메모리는, 도 6 의 실시예에서도 사용될 수 있다. 예를 들면, 맵 버퍼 (304) 가 제거될 수 있고, 섹션 버퍼 (302) (도 6) 는 FSMC (312) 와 RSMCs (314.0 및 312.1) 에 의한 동시 접속을 위하여 3 개의 뱅크로 분리될 수 있다. 이러한 실시예에서, 섹션 버퍼 (402) 의 동작은, 발명의 명칭이 "PARTITIONED INTERLEAVER MEMORY FOR MAP DECODER" 인 미국 특허출원제 09/259,665 호에 기술된 프레임 버퍼와 유사하다.
본 발명의 좀 더 간략화된 일 실시예에서, 순방향 및 역방향 상태 메트릭을 모두 생성할 수 있는, 단일한 상태 메트릭 계산기가 각 맵 엔진에서 사용될 수 있다. 다시 한번, 이것은 다른 실시예에 비해 데이터가 처리될 수 있는 레이트를 감소시키지만, 프레임의 다른 섹션에 동작하는 다중 맵 엔진의 사용과 결합되는 경우, 여전히 고도의 병렬 동작을 제공한다.
슬라이딩 윈도우 맵 엔진의 사용이 메트릭 버퍼 (416 또는 316) 와 같은 메트릭 버퍼의 크기를 감소시키기 때문에, 상기 다양한 실시예에서 기술된 슬라이딩 윈도우 맵 엔진의 사용이 바람직하지만, 그것들이 반드시 필요하지는 않다. 예를 들면, 다른 방향으로의 섹션 디코딩을 시작하기 전에 일 방향으로 심볼의 대부분의 섹션을 디코딩하는 1 세트의 맵 엔진은 본 발명의 일부 양태의 이용과 부합한다.
통상적인 전송 시스템에서, 프레임 버퍼 (300 및 400) 는, 인터리브된 어드레스 시퀀스 (interleaved address sequence) 를 이용하여 데이터를 기입하고 판독하는 디인터리빙이 행해지는 채널 디인터리버 메모리로도 사용된다. 또한, 다른 실시예에서 각 섹션 버퍼는 프레임의 오버랩 (overlap) 부분 (섹션) 을 가질 수도 있다. 이들 오버랩 섹션은 각 맵 엔진이 자신을 초기화할 수 있게 하여 맵 엔진간에 초기화 상태를 전송해야 할 필요성을 제거한다.
기타 다른 실시예에서, 각 맵 엔진은 초기화 상태를 사용하지 않고도 각 섹션을 처리 할 수 있다. 이러한 실시예는 복잡성을 감소시키지만, 코딩의 정확성이 심하게 감소된다.
도 8 는 본 발명의 일 실시예에 따른, 프레임의 특정 섹션의 디코딩 중 맵 엔진에서 수행되는 처리를 도시한 타이밍도 (time diagram) 이다. 이 타이밍도는 편의를 위해 도 6 의 구조를 참조하여 기술되었지만, 다른 다양한 실례에서 상기 예시된 시간흐름을 이용할 수 있다.
제 1 타임 슬롯 (1) 동안, 맵 엔진 (310) 은 FSMC (312) 를 사용하여 심볼 추정치의 M 번째 (마지막) 윈도우를 처리한다. 그 후, FSMC (312) 의 상태는 초기화 상태 (330) 로써 다음 맵 엔진 (310) 으로 보내진다.
제 2 타임 슬롯 (2) 동안, FSMC (312) 는 심볼 추정치의 제 1 윈도우 (1L) 를 처리하고, RSMC (314.0) 는 심볼 추정치의 제 2 윈도우 (2L) 를 처리한다. 제 3 타임 슬롯 (3) 동안, 도면상에 (I) 로 표기된 초기화로, RSMC (314.1) 는 심볼 추정치의 제 3 윈도우 (3L) 를 처리하고, RSMC (314.0) 는 제 2 타임 슬롯동안 심볼 추정치의 제 2 윈도우의 처리를 통해 적절하게 초기화된 심볼 추정치의 제 1 윈도우를 처리한다. 상기 처리는 순방향 상태 메트릭 및 역방향 상태 메트릭이 프레임 섹션의 각 윈도우에 대해 생성될 때까지 계속된다. 전술한 바와 같이, 각 맵 엔진은, 프레임을 매우 신속하고 고도로 병렬화된 방식으로 그대로 처리되도록 하는 유형으로, 각 섹션에 대한 처리를 수행한다.
따라서, 고도의 병렬식 맵 디코딩을 수행하는 신규하고 개선된 기술이 기술되었다. 상술한 바람직한 실시예는 당업자가 본 발명을 실시할 수 있도록 제공된다. 당업자는 상기 실시예에 다양한 변형을 가할 수 있을 것이고, 여기에서 정의된 일반적 이론은 창작성을 이용하지 않고 다른 실시예에 적용될 수 있을 것이다. 따라서, 이 글에서 개시된 실시예는 본 발명을 제한하고자 하는 것은 아니며, 이 글에서 개시된 이론과 신규한 특징에 부합하는 가장 넓은 범위로 인정되어야 한다.

Claims (32)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. RF 신호를 수신하며 상기 RF 신호를 디지털 신호로 변환하는 무선 주파수 (RF) 유닛:
    상기 디지털 신호를 수신하며 상기 디지털 신호에 기초하여 연성 판정 데이터 (soft decision data) 를 제공하는 매퍼; 및
    상기 연성 판정 데이터를 수신하며 경성 판정 데이터 (hard decision data) 를 제공하는 터보 디코더를 구비하며,
    상기 터보 디코더는 맵(MAP) 디코더를 포함하며,
    상기 맵 디코더는,
    각각이 심볼 추정치 프레임의 대응하는 서로 다른 부분을 디코딩하는 맵 엔진 세트로서, 각 부분은 심볼 추정치 프레임을 분할함으로써 형성되고 다른 부분과는 실질적으로 서로 다른, 상기 맵 엔진 세트; 및
    상기 심볼 추정치 프레임을 서로 다른 부분들로 분할하고, 각각이 상기 서로 다른 부분들 중 하나 이상의 부분을 대응하는 맵 엔진에 동시에 제공하는 메모리 소자 세트를 구비하고,
    상기 맵 엔진들의 각각은 상기 메모리 소자들로부터의 상기 분할된 심볼 추정치 프레임의 마지막 부분을 디코딩함으로써 초기화 상태를 발생시키고, 상기 초기화 상태를 인접한 맵 엔진에 제공하며, 상기 인접한 맵 엔진은 상기 수신된 초기화 상태를 이용하여 초기화하는, 맵 디코딩 수행 시스템.
  21. 제 20 항에 있어서,
    상기 심볼 추정치 프레임은 기지의 개시 상태와 기지의 종결 상태를 갖는, 맵 디코딩 수행 시스템.
  22. 제 20 항에 있어서,
    상기 맵 엔진 세트의 일부는 상기 분할된 심볼 추정치 프레임의 실질적으로 상기 서로 다른 부분들로부터 초기화값들을 발생시키는, 맵 디코딩 수행 시스템.
  23. 제 22 항에 있어서,
    상기 멥 엔진 세트의 상기 일부의 각각은 초기화 데이터를 또 다른 맵 엔진에 제공하는, 맵 디코딩 수행 시스템.
  24. 제 20 항에 있어서,
    상기 맵 엔진 세트의 일부는, 상기 심볼 추정치들의 대응하는 부분이 아닌 상기 분할된 심볼 추정치 프레임의 부분으로부터 초기화값들을 발생시키는, 맵 디코딩 수행 시스템.
  25. 복수의 섹션 버퍼를 구비하여 심볼 추정치 프레임을 저장하는 프레임 버퍼로서, 상기 섹션 버퍼들의 각각은 상기 심볼 추정치 프레임의 서로 다른 섹션을 저장하고, 상기 섹션들의 각각은 상기 심볼 추정치 프레임을 분할함으로써 형성되는, 상기 프레임 버퍼;
    상기 섹션 버퍼들로부터 프레임 심볼 추정치의 대응하는 섹션을 수신하며 상기 수신된 섹션을 출력하는 복수의 맵 버퍼; 및
    상기 맵 버퍼들로부터 상기 프레임 심볼 추정치의 대응하는 섹션을 수신하며 상기 수신된 섹션을 디코딩하는 복수의 맵 엔진으로서, 상기 맵 엔진들의 각각은 상기 수신된 섹션의 마지막 부분을 디코딩함으로써 초기화 상태를 발생시키고 상기 초기화 상태를 인접한 맵 엔진에게 제공하며, 상기 인접한 맵 엔진은 상기 수신된 초기화 상태를 이용하여 초기화하는, 상기 복수의 맵 엔진을 구비하는, 맵 디코더.
  26. 제 25 항에 있어서,
    상기 맵 엔진들의 각각은, 순방향 상태 메트릭을 계산하는 순방향 상태 메트릭 계산기 및 역방향 상태 메트릭을 계산하는 역방향 상태 메트릭 계산기를 구비하는, 맵 디코더.
  27. 제 26 항에 있어서,
    상기 맵 엔진들의 각각은, 상기 순방향 및 역방향 상태 메트릭의 로그 라이클리후드 비율 (a log likelihood ratio) 을 계산하는 로그 라이클리후드 비율 계산기를 구비하는, 맵 디코더.
  28. 제 25 항에 있어서,
    상기 맵 버퍼들의 각각은 복수의 윈도우 버퍼를 구비하며,
    제 1 그룹의 윈도우 버퍼들은 상기 수신된 섹션을 출력하고, 제 2 그룹의 윈도 버퍼들은 대응하는 섹션 버퍼로부터 심볼 추정치 프레임의 새로운 섹션을 판독하는, 맵 디코더.
  29. 복수의 섹션 버퍼를 구비하여 심볼 추정치 프레임을 저장하는 프레임 버퍼로서, 상기 섹션 버퍼들의 각각은 상기 심볼 추정치 프레임의 서로 다른 섹션을 저장하고, 상기 섹션들의 각각은 상기 심볼 추정치 프레임을 분할함으로써 형성되는, 상기 프레임 버퍼; 및
    상기 섹션 버퍼들로부터 상기 심볼 추정치 프레임의 대응하는 섹션을 수신하며 상기 수신된 섹션을 디코딩하는 복수의 맵 엔진으로서, 상기 맵 엔진들의 각각은 상기 수신된 섹션의 마지막 부분을 디코딩함으로써 초기화 상태를 발생시키고 상기 초기화 상태를 인접한 맵 엔진에게 제공하며, 상기 인접한 맵 엔진은 상기 수신된 초기화 상태를 이용하여 초기화하는, 상기 복수의 맵 엔진을 구비하는, 맵 디코딩 수행 회로.
  30. 제 29 항에 있어서,
    상기 맵 엔진들의 각각은, 순방향 상태 메트릭을 계산하는 순방향 상태 메트릭 계산기 및 역방향 상태 메트릭을 계산하는 역방향 상태 메트릭 계산기를 구비하는, 맵 디코딩 수행 회로.
  31. 제 30 항에 있어서,
    상기 맵 엔진들의 각각은 상기 순방향 상태 메트릭을 저장하는 메트릭 버퍼를 구비하는, 맵 디코딩 수행 회로.
  32. 제 31 항에 있어서,
    상기 맵 엔진들의 각각은, 상기 메트릭 버퍼에 저장된 상기 순방향 메트릭 및 상기 역방향 상태 메트릭 계산기로부터 수신된 상기 역방향 상태 메트릭에 기초하여 로그 라이클리후드 비율을 계산하는 로그 라이클리후드 비율 계산기를 구비하는, 맵 디코딩 수행 회로.
KR1020017012562A 1999-03-31 2000-03-30 고도의 병렬식 맵 디코더 KR100803957B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/283,012 1999-03-31
US09/283,012 US6754290B1 (en) 1999-03-31 1999-03-31 Highly parallel map decoder

Publications (2)

Publication Number Publication Date
KR20020007352A KR20020007352A (ko) 2002-01-26
KR100803957B1 true KR100803957B1 (ko) 2008-02-15

Family

ID=23084109

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017012562A KR100803957B1 (ko) 1999-03-31 2000-03-30 고도의 병렬식 맵 디코더

Country Status (13)

Country Link
US (1) US6754290B1 (ko)
EP (2) EP1166451B1 (ko)
JP (2) JP4955150B2 (ko)
KR (1) KR100803957B1 (ko)
CN (1) CN1178399C (ko)
AT (1) ATE514232T1 (ko)
AU (1) AU769694B2 (ko)
BR (1) BR0009443A (ko)
CA (1) CA2363410C (ko)
HK (1) HK1043261B (ko)
IL (2) IL145319A0 (ko)
MX (1) MXPA01009713A (ko)
WO (1) WO2000059118A1 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040160906A1 (en) 2002-06-21 2004-08-19 Aware, Inc. Multicarrier transmission system with low power sleep mode and rapid-on capability
JP3846527B2 (ja) * 1999-07-21 2006-11-15 三菱電機株式会社 ターボ符号の誤り訂正復号器、ターボ符号の誤り訂正復号方法、ターボ符号の復号装置およびターボ符号の復号システム
US6961369B1 (en) 1999-11-09 2005-11-01 Aware, Inc. System and method for scrambling the phase of the carriers in a multicarrier communications system
DK1245093T3 (da) 2000-01-07 2006-11-20 Aware Inc Diagnostiske fremgangsmåder og systemer til multicarrier-modemmer
US7243294B1 (en) * 2000-01-13 2007-07-10 California Institute Of Technology Serial turbo trellis coded modulation using a serially concatenated coder
US6980605B2 (en) * 2000-01-31 2005-12-27 Alan Gatherer MAP decoding with parallelized sliding window processing
DE10012874A1 (de) * 2000-03-16 2001-09-27 Infineon Technologies Ag Turbo-Decodierer und Turbo-Decodierverfahren
JP2002043953A (ja) * 2000-07-26 2002-02-08 Mitsubishi Electric Corp 誤り訂正方法及び誤り訂正装置
AU2001287101A1 (en) * 2000-09-05 2002-03-22 Broadcom Corporation Quasi error free (qef) communication using turbo codes
FR2816773B1 (fr) * 2000-11-10 2004-11-26 France Telecom Module, dispositif et procede de decodage a haut debit, d'un code concatene
US7590164B2 (en) * 2001-01-19 2009-09-15 Qualcomm Incorporated Method and apparatus for efficient use of communication resources in a communication system
US6961921B2 (en) * 2001-09-06 2005-11-01 Interdigital Technology Corporation Pipeline architecture for maximum a posteriori (MAP) decoders
US7489744B2 (en) * 2001-09-25 2009-02-10 Qualcomm Incorporated Turbo decoding method and apparatus for wireless communications
US7453881B2 (en) 2001-10-05 2008-11-18 Aware, Inc. Systems and methods for multi-pair ATM over DSL
JP3888135B2 (ja) * 2001-11-15 2007-02-28 日本電気株式会社 誤り訂正符号復号装置
GB2383506A (en) * 2001-12-21 2003-06-25 Ubinetics Ltd Trellis decoding in parallel where extra trellis sections are appended
US7587004B2 (en) * 2002-09-18 2009-09-08 St-Ericsson Sa Method for decoding data using windows of data
US7055102B2 (en) * 2002-12-06 2006-05-30 Sandbridge Technologies, Inc. Turbo decoder using parallel processing
JP3845822B2 (ja) * 2003-01-23 2006-11-15 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 データ受信方法及び装置
US7440392B2 (en) * 2003-02-19 2008-10-21 Advanced Micro Devices, Inc. Wireless receiver deinterleaver having partitioned memory
US8064528B2 (en) 2003-05-21 2011-11-22 Regents Of The University Of Minnesota Estimating frequency-offsets and multi-antenna channels in MIMO OFDM systems
KR101066287B1 (ko) * 2004-01-20 2011-09-20 삼성전자주식회사 이동통신시스템에서 맵 방식을 이용하여 디코딩을 수행하는 장치 및 방법
WO2005086405A2 (en) 2004-03-03 2005-09-15 Aware, Inc. Impulse noise management
JP2007519382A (ja) 2004-09-25 2007-07-12 アウェア, インコーポレイテッド Crcカウンターの正常化
US7831890B2 (en) 2004-10-12 2010-11-09 Aware, Inc. Resource sharing in a telecommunications environment
KR101272404B1 (ko) 2004-10-15 2013-06-07 티큐 델타, 엘엘씨 임펄스 잡음 존재 하에서의 디엠티 심볼 반복
FR2878385A1 (fr) * 2004-11-19 2006-05-26 Turboconcept Soc Par Actions S Procedes et dispositifs de multiplexage de sections de treillis pour decodage par l'algorithme de viterbi ou aller-retour
CN101069357B (zh) * 2004-12-02 2011-09-14 Nxp股份有限公司 对数据块冗余版本进行解码的Turbo解码器
FR2888062A1 (fr) * 2005-07-04 2007-01-05 Groupe Ecoles Telecomm Codeur et turbo decodeur de code produit
US7929646B2 (en) * 2006-01-27 2011-04-19 Qualcomm Incorporated Map decoder with bidirectional sliding window architecture
US7698624B2 (en) * 2006-03-31 2010-04-13 Trellisware Technologies, Inc. Scheduling pipelined state update for high-speed trellis processing
JP2009533973A (ja) 2006-04-12 2009-09-17 アウェア, インコーポレイテッド パケット再送信ならびにメモリの共有
JP2008103991A (ja) * 2006-10-19 2008-05-01 Oki Electric Ind Co Ltd データ伝送方法
US8073083B2 (en) * 2007-04-30 2011-12-06 Broadcom Corporation Sliding block traceback decoding of block codes
GB0804206D0 (en) * 2008-03-06 2008-04-16 Altera Corp Resource sharing in decoder architectures
US8578255B1 (en) * 2008-12-19 2013-11-05 Altera Corporation Priming of metrics used by convolutional decoders
CN102414991B (zh) 2009-04-24 2014-11-05 诺基亚公司 用于解码器的数据重排
WO2010145078A1 (zh) * 2009-06-18 2010-12-23 中兴通讯股份有限公司 一种lte中并行turbo译码的方法及装置
US20110202819A1 (en) * 2010-02-12 2011-08-18 Yuan Lin Configurable Error Correction Encoding and Decoding
EP2688211A4 (en) * 2011-07-29 2014-08-06 Huawei Tech Co Ltd NESTING AND NESTING METHODS, NESTING AND DECORATING
US20150288387A1 (en) * 2012-12-14 2015-10-08 Nokia Corporation Methods and apparatus for decoding
US10741116B2 (en) 2013-12-18 2020-08-11 Kunshan New Flat Panel Display Tech. Cr. Co. Ltd. Method and device for determining Gamma parameters and displaying method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
WO1998020617A1 (en) * 1996-11-06 1998-05-14 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
KR19980702590A (ko) * 1995-12-29 1998-07-15 제임스 더블유. 길맨 인코딩된 신호를 디코딩하는 방법 및 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5103459B1 (en) 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
US5544328A (en) 1991-10-31 1996-08-06 At&T Bell Laboratories Coded modulation with unequal error protection
US6192503B1 (en) * 1997-08-14 2001-02-20 Ericsson Inc. Communications system and methods employing selective recursive decording
DE69912075T2 (de) * 1998-03-31 2004-05-19 Samsung Electronics Co., Ltd., Suwon TURBOENKODER/DEKODER UND VON DER SERVICEQUALITÄT (QoS) ABHÄNGIGES RAHMENVERARBEITUNGSVERFAHREN
US6343368B1 (en) * 1998-12-18 2002-01-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for fast maximum a posteriori decoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980702590A (ko) * 1995-12-29 1998-07-15 제임스 더블유. 길맨 인코딩된 신호를 디코딩하는 방법 및 장치
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
KR19990022971A (ko) * 1996-04-19 1999-03-25 제이 엘. 차스킨, 버나드 스나이더, 아더엠. 킹 병렬 연결된 테일-바이팅 중첩 코드 및 이 코드용 디코더
WO1998020617A1 (en) * 1996-11-06 1998-05-14 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords

Also Published As

Publication number Publication date
IL145319A (en) 2006-04-10
ATE514232T1 (de) 2011-07-15
CA2363410C (en) 2008-07-08
CN1178399C (zh) 2004-12-01
JP2002540713A (ja) 2002-11-26
AU4372500A (en) 2000-10-16
EP1166451A1 (en) 2002-01-02
US6754290B1 (en) 2004-06-22
HK1043261A1 (en) 2002-09-06
KR20020007352A (ko) 2002-01-26
JP4955150B2 (ja) 2012-06-20
HK1043261B (zh) 2005-07-22
IL145319A0 (en) 2002-06-30
CA2363410A1 (en) 2000-10-05
BR0009443A (pt) 2003-03-05
EP1166451B1 (en) 2011-06-22
MXPA01009713A (es) 2002-09-30
JP2011072009A (ja) 2011-04-07
EP2224599A2 (en) 2010-09-01
WO2000059118A1 (en) 2000-10-05
EP2224599A3 (en) 2011-01-12
AU769694B2 (en) 2004-01-29
CN1345487A (zh) 2002-04-17

Similar Documents

Publication Publication Date Title
KR100803957B1 (ko) 고도의 병렬식 맵 디코더
KR100671075B1 (ko) 터보 코딩의 사용을 용이하게 하기 위한 디코더, 디코딩 시스템 및 디코딩 방법
US6434203B1 (en) Memory architecture for map decoder
US6859906B2 (en) System and method employing a modular decoder for decoding turbo and turbo-like codes in a communications network
JP5129216B2 (ja) マップ・デコーダのためのメモリ・アーキテクチャ
US20100318755A1 (en) Reduced contention storage for channel coding
KR100454952B1 (ko) 적응형채널부호화방법및장치
KR19990017546A (ko) 터보부호기의 복호기
KR100447175B1 (ko) 터보 디코딩 방법 및 이를 위한 장치
JP2001326577A (ja) 直接連接畳込み符号器、及び、直接連接畳込み符号化方法
MXPA01001656A (en) Partitioned deinterleaver memory for map decoder
MXPA01001657A (en) Memory architecture for map decoder

Legal Events

Date Code Title Description
A201 Request for examination
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
FPAY Annual fee payment

Payment date: 20130130

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140129

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151230

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 12