KR20010072498A - 맵 디코더용 분할 디인터리버 메모리 - Google Patents

맵 디코더용 분할 디인터리버 메모리 Download PDF

Info

Publication number
KR20010072498A
KR20010072498A KR1020017001926A KR20017001926A KR20010072498A KR 20010072498 A KR20010072498 A KR 20010072498A KR 1020017001926 A KR1020017001926 A KR 1020017001926A KR 20017001926 A KR20017001926 A KR 20017001926A KR 20010072498 A KR20010072498 A KR 20010072498A
Authority
KR
South Korea
Prior art keywords
block
windows
symbol
deinterleaver
symbol estimates
Prior art date
Application number
KR1020017001926A
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 KR20010072498A publication Critical patent/KR20010072498A/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/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
    • H03M13/2775Contention or collision free turbo code internal interleaver
    • 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/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)

Abstract

본 발명은 터보, 또는 반복, 코딩 기술들에의 특정 애플리케이션으로 디코딩하기 위한 새롭고 개선된 기술에 관한 것이다. 본 발명의 일 실시예에 따르면, 디코딩하기 위한 시스템은, 기호 추정값들의 블록을 저장하고 상기 블록의 적어도 3개의 다른 부분들을 거의 동시에 판독하기 위한 채널 디인터리버 RAM 을 포함한다. 3개의 상태 메트릭 계산기들의 세트는, 이 3개의 부분들을 거의 동시에 수신하고 채널 디인터리버 블록의 상기 3개의 부분들로부터 상태 메트릭 계산값들의 해당 세트를 생성한다.

Description

맵 디코더용 분할 디인터리버 메모리{PARTITIONED DEINTERLEAVER MEMORY FOR MAP DECODER}
발명의 배경
Ⅰ. 발명의 분야
본 발명은 채널 코딩에 관한 것이다. 더욱 자세하게는, 본 발명은 맥시멈 에이 포스테리오리(MAP; maximum a posteriori)디코딩을 수행하기 위한 새롭고 개선된 기술에 관한 것이다.
Ⅱ. 관련 분야의 설명
"터보 코딩"은 순방향 오류 정정(FEC; forward error correction)의 영역에서의 중요한 진보를 나타낸다. 터보 코딩의 수 많은 변형들이 존재하지만, 대다수의 사람들은 반복 디코딩으로 결합된 스텝들을 인터리브함으로써 분리되는 다중 인코딩 스텝들을 이용한다. 이 결합은 통신 시스템에서의 잡음 허용에 관해 이전에는 이용할 수 없었던 성능을 제공한다. 즉, 터보 코딩으로 인해, 그 당시에 이용가능한 순방향 오류 정정 기술들을 사용하여 이전에는 수용할 수 없었던 Eb/No에서의 통신을 허용하게 된다.
다수의 시스템들이 순방향 오류 정정을 사용하므로, 터보 코딩의 사용으로부터 이득을 얻게 된다. 예를 들어, 터보 코드는, 낮은 Eb/No레벨에서 동작할 수있는 수신기 시스템을 위성의 제한된 다운링크 송신 전력이 필요로 하는 무선 위성 링크의 성능을 향상시킬 수 있다. 무선 위성 링크에서 터보 코드를 사용함으로써, 디지털 비디오 방송(DVD)시스템용 디쉬 크기를 줄일 수 있으며, 또한, 교대로 더 많은 데이터가 소정의 주파수 대역폭내에서 송신될 수 있도록 한다.
또한, 디지털 셀룰러 및 PCS 전화 시스템 등의, 디지털 무선 통신 시스템도 순방향 오류 정정을 사용한다. 예를 들어, IS-95 오버-디-에어 인터페이스 표준, 및 IS-95B 등의 그 파생물은, 시스템의 용량을 증가시키는 코딩 이득을 제공하기 위해 컨벌루셔널(convolutional; 돌림형) 인코딩을 사용하는 디지털 무선 통신 시스템을 규정한다. IS-95 표준의 사용에 따라 충분히 RF 신호를 처리하기 위한 시스템 및 방법은, 본 발명의 양수인에게 양도되며 여기서 참조한 발명의 명칭이 "CDMA 셀룰러 전화 시스템에서 신호 파형을 생성하는 시스템 및 방법" 인 미국 특허 제 5,103,459 호 공보('459 특허)에 설명되어 있다.
IS-95 와 유사한 디지털 무선 통신 시스템은 주로 이동 통신에서 사용되므로, 전력 소비를 최소화하며 소형 및 경량인 장치를 구비하는 것이 중요하다. 통상적으로, 이는, 필요한 프로세싱의 대부분 또는 모두를 수행하는 반도체 집적회로("칩")의 개발을 필요로 한다. 컨벌루셔널 인코딩은 비교적 복잡하지만, 컨벌루셔널 인코딩 및 디코딩을 수행하는 데에 필요한 회로를, 임의의 다른 필요한 회로와 함께 단일 칩 상에 형성할 수 있다.
터보 코딩(특히 디코딩 오퍼레이션)은 컨벌루셔널 인코딩(및 디코딩)보다 상당히 더 복잡하다. 그럼에도 불구하고, 이동 디지털 통신 시스템 및 위성 통신시스템을 포함한, 디지털 무선 통신 시스템에서는 터보 코딩을 포함하는 것이 매우 바람직하게 된다. 따라서, 본 발명의 목적은, 다양한 시스템에서 터보 코딩의 사용을 용이하게 하기 위하여, 임의의 디코딩 오퍼레이션이 수행될 수 있는 레이트를 증가시키는 데에 있다.
발명의 개요
본 발명은, 터보, 또는 반복 코딩 기술들에의 특정 애플리케이션과 함께 디코딩 기술을 위한 새롭고 개선된 기술에 관한 것이다. 본 발명의 일 실시예에 따르면, 디코딩을 위한 시스템은, 기호 추정값들의 블록을 저장하여 상기 블록의 적어도 3개의 다른 부분들을 거의 동시에 판독하기 위한 채널 디인터리버 RAM 을 포함한다. 3개의 상태 메트릭(metric) 계산기들의 한 세트는, 거의 동시에 3개의 부분들을 수신하여, 채널 디인터리버 블록의 상기 3개의 부분들로부터 상태 메트릭 계산들의 대응하는 세트를 생성한다.
도면들의 간단한 설명
본 발명의 특징들, 목적들 및 잇점들은, 동일 참조 부호가 대응하여 식별하는 도면들과 함께 아래에 개시된 상세한 설명으로부터 더욱 명백하게 된다.
도 1A 및 도 1B 는 무선 통신 시스템의 블록도이다.
도 2 는 송신 시스템의 블록도이다.
도 3A 및 도 3B 는 터보 코더의 도면들이다.
도 4 는 수신 처리 시스템의 블록도이다.
도 5 는 채널 디인터리버의 일부분 및 디코더의 블록도이다.
도 6 은 디코딩 스텝들의 예시적인 세트를 나타낸 흐름도이다.
바람직한 실시예들의 상세한 설명
본 발명은 터보 코딩을 수행하기 위한 새롭고 개선된 기술이다. 예시적인 실시예는 디지털 셀룰러 전화 시스템의 콘텍스트에서 설명된다. 이 콘텍스트내에서의 사용이 바람직하지만, 본 발명의 다른 실시예들은, 디지털 케이블과 전화 시스템 등의 무선 통신 시스템 및 위성 통신 시스템을 포함한, 디지털 데이터 송신 시스템, 다른 구성 또는 다른 환경에 병합될 수도 있다.
통상적으로, 여기서 설명된 여러 시스템들은, 소프트웨어 제어 프로세서, 집적 회로, 또는 이산 논리를 사용하여 형성되지만, 집적 회로내에서의 구현이 바람직하다. 본 출원서 내내 참조되는 데이터, 명령, 커맨드, 정보, 신호, 기호 및 칩들은, 전압, 전자기파, 자기 필드 또는 파티클, 광학 필드 또는 파티클, 또는 그 조합에 의해 표현되는 것이 바람직하다. 또한, 각 블록도에 도시된 블록들은 하드웨어 또는 방법 스텝들을 나타내게 된다.
도 1A 는 본 발명의 일 실시예에 따라 구성된 셀룰러 전화시스템의 상당히 개략화된 도면이다. 전화 호출 또는 다른 통신들을 처리하기 위하여, 가입자 유닛 (10) 은 RF 신호를 경유하여 기지국 (12) 과 인터페이스한다. 기지국 (12) 은 기지국 제어기(BSC)(14) 를 경유하여 공중 전화망과 인터페이스한다.
도 1B 는 본 발명의 다른 실시예에 따라 구성된 위성 통신 시스템의 상당히 개략화된 도면이다. 업링크 지국 (40) 은 비디오 프로그래밍 등의 정보를 포함한 RF 신호를 위성 (42) 에 송신한다. 위성 (42) 은 RF 신호를 다시 지구로 중계하며, 수신기 (44) 는 수신 RF 신호를 디지털 데이터로 변환한다.
도 2 는 본 발명의 일 실시예에 따라 구성된 예시적인 송신 시스템의 블록도이다. 이 송신 시스템은, 송신용 디지털 신호를 생성하는 임의의 다른 시스템 뿐만 아니라 가입자 유닛 (10), 기지국 (12), 또는 업링크 지국 (40) 내에서도 사용될 수 있다. 도시된 송신 프로세싱은, 본 발명의 단지 하나의 가능한 실시예만을 도시하지만, 매우 많은 다른 송신 프로세싱 방식들은 본 발명의 여러 실시예들의 사용으로부터 이득을 얻으며 병합될 수도 있다.
데이터 (70) 는, 수신된 데이터의 주어진 각 소정량에 대하여 CRC 체크섬 데이터를 생성하는 CRC 생성기 (72) 에 공급된다. 결과 데이터 블록들은, 채널 인터리버 (78) 에 공급되는 코드 기호들을 생성하는 터보 코더 (76) 에 공급된다. 통상적으로, 코드 기호들은, 원래 데이터(계통 기호)의 재전송, 및 하나 이상의 패리티 기호들을 포함한다.
각 계통 기호에 관하여 송신된 패리티 기호들의 갯수는 코딩 레이트에 따라 다르다. 코딩 레이트 "_" 의 경우, 하나의 패리티 기호는, 모든 계통 기호, 즉 수신된 (CRC 를 포함한)각 데이터 비트에 대하여 생성된 2개의 기호들의 토탈에 관하여 송신된다. 레이트 1/3 의 터보 코더의 경우, 2개의 패리티 기호들은, 각 시스템 기호, 즉 수신된 각 데이터 비트에 대하여 생성된 3개의 기호들의 토탈에 관하여 생성된다.
터보 코더 (76) 로부터의 코드 기호들은 채널 인터리버 (78) 에 공급된다. 채널 인터리버 (78) 는, 기호들이 수신될 때 블록 상에 인터리브하고, 맵퍼 (80)에 의해 수신된 인터리브된 기호들을 출력한다. 통상적으로, 채널 인터리버 (78) 는, 블록 또는 비트-리버설 인터리브를 수행하고, 거의 모든 다른 종류의 인터리버들이 채널 인터리버로서 사용될 수도 있다.
맵퍼 (80) 는, 인터리브된 코드 기호들을 취하고, 소정의 맵핑 방식에 기초하여 임의의 비트 폭을 갖는 기호 워드들을 생성한다. 그 후, 기호 워드들은, 수신된 기호 워드에 기초하여 변조된 파형을 생성하는 변조기 (82) 에 인가된다. 통상의 변조 기술들은, QPSK, 8-PSK, 및 16 QAM 을 포함하지만, 여러 다른 변조 방식을 이용할 수도 있다. 그 후, 변조된 파형은 RF 주파수에서 송신을 위해 상향변환된다.
도 3A 는 본 발명의 제 1 실시예에 따라 구성된 터보 코더의 블록도이다. 본 발명의 제 1 실시예에서, 터보 코더는 병렬 연결된 터보 코더로서 구성된다. 터보 코더 (76) 의 버전내에서, 컨스티튜언트 코더 (90) 및 코드 인터리버 (92) 는 CRC 생성기 (72) 로부터 데이터를 수신하며, 이 CRC 생성기 (72) 는 상술한 바와 같이, 입력 데이터 및 CRC 체크섬 비트를 출력한다.
공지된 바와 같이, 코드 인터리버 (92) 는 최고의 성능을 위해 상당히 랜덤화된 인터리버로 되어야 한다. 코드 인터리버로서 최소의 복잡성으로 우수한 성능을 제공하는 인터리버는, 본 발명의 양수인에게 양도되며 여기서 참조한 발명의 명칭이 "상태 머신 기반 인터리버를 갖는 코딩 시스템" 인 공동 계류중인 미국 특허 출원 일련 번호 제 09/172,069 호에 설명되어 있다. 컨스티튜언트 코더 (90) 는 계통 기호 (94)(통상적으로는, 원래 입력 비트의 카피) 및 패리티 기호(96) 를 출력한다. 컨스티튜언트 코더 (98) 는 코드 인터리버 (92) 의 인터리브된 출력을 수신하여, 추가 패리티 기호 (99) 를 출력한다. 또한, 테일 비트들도 더해지지만, 본 발명과는 특별히 관련이 없으므로 생략한다.
컨스티튜언트 코더 (90) 및 컨스티튜언트 코더 (98) 의 출력들은 1/3 의 토탈(total) 코딩 레이트(R)에 관한 출력 데이터 스트림에 먹스된다. 추가 컨스티튜언트 코드 및 코드 인터리버 쌍들은 코딩 레이트를 감소시키는 데에 추가되어, 순방향 오류 정정을 증가시키게 된다. 다른 방법으로는, 패리티 기호들 (96 및 99) 의 일부를 (송신되지 않도록)펑크츄어(puncture)하여 코딩 레이트를 증가시키게 된다. 예를 들어, 패리티 기호 (96 및 99) 를 하나 걸러 펑크츄어하거나 패리티 기호 (96) 를 전혀 송신하지 않음으로써, 코딩 레이트를 증가시키게 된다.
컨스티튜언트 코더 (90 및 98) 로는, 블록 코더 또는 컨벌루셔널 코더를 포함하는 여러 종류의 코더가 있다. 컨벌루셔널 코더로서, 컨스티튜언트 코더 (90 및 98) 는, 통상적으로, 복잡성을 감소시키기 위해 4(four)등의 작은 제약 길이를 가지며, 순환적 계통 컨벌루셔널(RSC; recursive systematic convolutional) 인코더이다. 더 낮아진 제약 길이는 수신 시스템에서 해당 디코더의 복잡성을 감소시킨다.
통상적으로, 2개의 코더들은, 컨스티튜언트 코딩 레이트 "R = _" 에 관하여 수신된 각 비트에 대해 하나의 계통 기호 및 하나의 패리티 기호를 출력한다. 그러나, 컨스티튜언트 코더 (98) 로부터의 계통 비트를 사용하지 않으므로, 도 1A 의 터보 코더에 대한 토탈 코딩 레이트는 R = 1/3 으로 된다. 또한, 상술한 바와 같이, 코딩 레이트를 감소시키기 위해 추가 인터리버 및 코더 쌍들을 병렬로 더함으로써, 더 높아진 오류 정정을 제공하거나, 코딩 레이트를 증가시키기 위해 펑크츄어링을 수행할 수도 있다.
도 3B 는 본 발명의 다른 실시예에 따른 직렬 연결된 터보 코더로서 터보 코더 (76) 를 도시한다. 도 3B 의 터보 코더에서는, CRC 생성기 (72) 로부터의 데이터가 컨스티튜언트 코더 (110) 에 의해 수신되고, 결과로서 수신된 코더 기호들은 코드 인터리버 (112) 에 인가된다. 결과로 생성된 인터리브된 패리티 기호들은 컨스티튜언트 코더 (114) 에 공급되고, 이 컨스티튜언트 코더 (114) 는 추가 인코딩을 수행하여 패리티 기호 (115) 를 생성한다. 통상적으로, 컨스티튜언트 코더 (110; 출력 코더) 로는, 블록 인코더 또는 컨벌루셔널 인코더를 포함하는 여러 종류의 인코더가 있지만, 컨스티튜언트 코더 (114; 내부 코더) 는 순환형 코더가 바람직하며, 통상적으로는 순환형 계통 인코더로 된다.
순환형 계통 컨벌루셔널(RSC) 인코더로서, 컨스티튜언트 코더 (110 및 114) 는, 코딩 레이트 R < 1 일 때 기호들을 생성한다. 즉, 소정 갯수의 입력 비트들 N 에 대하여, M 개의 출력 기호들이 생성되며, 여기서 M > N 으로 된다. 도 1B 의 직렬 연결된 터보 코더에 대한 토탈 코딩 레이트는, 컨스티튜언트 코더 (114) 의 코딩 레이트와 컨스티튜언트 코더 (110) 의 코딩 레이트를 곱한 것이다. 또한, 추가 인터리버 및 코더 쌍들을 직렬로 더하여 코딩 레이트를 감소시킴으로써 추가로 오류 정정을 제공하게 된다.
도 4 는 본 발명의 일 실시예에 따라 구성된 수신 시스템의 블록도이다.안테나 (150) 는 수신된 RF 신호를 RF 유닛 (152) 에 제공한다. RF 유닛은 이 RF 신호를 하향변환하고, 필터링하며, 디지털화(계수화)한다. 맵퍼 (140) 는 계수화된 데이터를 수신하고, 소프트 디시전 데이터를 채널 디인터리버 (156) 에 제공한다. 터보 디코더 (158) 는 채널 디인터리버 (156) 로부터의 소프트 디시전 데이터를 디코드하고, 결과로 디코드된 하드 디시전 데이터를 수신 시스템의 프로세서 또는 제어 유닛에 공급하여, CRC 체크섬 데이터를 이용함으로써 데이터의 정확도를 검사할 수 있다.
도 5 는 본 발명의 일 실시예에 따라 구성된 채널 디인터리버의 일부분 및 터보 디코더 (158) 의 블록도이다. 도시된 바와 같이, 터보 디코더 (158) 는, 도 3A 에 도시된 터보 코더로부터의 데이터를 디코딩하기 위하여 구성된다.
상술한 실시예에서, 채널 디인터리버 부분 (340) 은 디인터리버 메모리 뱅크 (342.0 내지 342.2) 를 포함한다. 디인터리버 메모리 뱅크 (342.0 내지 342.2) 는 함께 전체 디인터리버 메모리를 형성한다. 디인터리버 메모리 뱅크 (340) 는 본 발명의 일 실시예에서 더블 버퍼링되며, 제 1 버퍼 (350) 및 제 2 버퍼 (352) 를 포함한다. 정상 동작 중, 기입 동작에 하나의 버퍼를 이용하며, 판독 동작에 다른 하나의 버퍼를 이용할 수 있다. 또한, 더블 버퍼링으로 인해, 터보 디인터리버 메모리로서, app 메모리와 함께 채널 인터리버 메모리를 사용할 수 있게 된다.
디인터리브된 기호 추정값들이 수신되며, 멀티플렉서 (390) 를 통해 각 디인터리버 메모리 (342) 의 (하나의 버퍼)에 기입된다. 데이터가 기입될 때, 입력어드레스 생성기 (344) 는 기호 추정값들을 수신하는 버퍼를 제어한다.
본 발명의 바람직한 실시예에서, 기호 추정값들은 임의의 특정 시간에 단지 하나의 디인터리버 메모리 (340) 에만 기입된다. 각 디인터리버 메모리 (340) 는, 인터리버 블록내의 기호 추정값들의 총 갯수 중 일부분을 수신한다. 즉, 디인터리버 메모리 (340.0) 는 채널 인터리버 블록내의 기호 추정값들 중 제 1 부분을 수신하고, 디인터리버 메모리 (340.1) 는 채널 인터리버 블록내의 기호 추정값들 중 제 2 부분을 수신하며, 디인터리버 메모리 (340.2) 는 채널 인터리버 블록내의 기호 추정값들 중 제 3 부분을 수신한다.
본 발명의 일 실시예에서, 하나의 디인터리버 메모리 (340) 는 채널 인터리버 블록내의 기호 추정값들 중 매 3개 마다 각각의 첫번째(1stof 3) "윈도우" 를 수신한다. 윈도우는 아래에 설명하는 바와 같이, 디코딩 프로세스와 관련된 기호 추정값들의 미리 결정된 갯수(L)일 뿐이다. 다른 디인터리버 메모리 (340) 는 기호 추정값들 중 매 3개 마다 각각의 두번째(2stof 3) 윈도우를 수신하고, 제 3 디인터리버 메모리는 기호 추정값들 중 매 3개 마다 각각의 세번째(3stof 3) 윈도우를 수신한다. 명백하게 알 수 있는 바와 같이, 기호 추정값들의 윈도우 "L" 은 인터리버 블록의 크기보다 작게 된다. 멀티플렉서 (390) 는 특정 디인터리버 메모리 (340) 에 기호 추정값들을 전송한다.
예시적인 프로세싱에서, 기호 추정값들의 제 1 윈도우 (1L) 는 디인터리버 메모리 (342.0) 에 제일 먼저 기입된다. 기호 추정값들의 제 2 윈도우 (2L) 는디인터리버 메모리 (342.1) 에 기입되고, 기호 추정값들의 제 3 윈도우 (3L) 는 디인터리버 메모리 (342.2) 에 기입된다. 기호 추정값들의 모든 연속된 윈도우에 대해 이러한 패턴을 반복하여, 모든 3 NL(여기서 N 은 정수)윈도우의 기호 추정값들을 디인터리버 메모리 (340.0) 에 기입하고, 모든 3NL+1 윈도우의 기호 추정값들을 디인터리버 메모리 (340.1) 에 기입하며, 모든 3NL+1 윈도우의 기호 추정값들을 디인터리버 메모리 (340.2) 에 기입한다. 테이블 Ⅰ 은 각 디인터리버 메모리 (340) 내에 저장된 기호 추정값들(0 내지 N 의 갯수)의 리스트를 제공한다.
메모리 0 메모리 1 메모리 2
0 - L - 1 L - 2L - 1 2L - 3L -1
3L- 4L - 1 4L - 5L - 1 5L - 6L - 1
... ... ...
3NL - (3NL+1)L - 1 3(N+1)L - 3(N+2)L - 1 3(N+2)L - 3NL - 1
테이블 1
현재 인터리버 블록에 대한 기호 추정값들을 디인터리버 메모리 (340) 에 기입하는 동안, 이전에 수신된 추정값들의 블록을 상술한 더블 버퍼링 방식을 이용하여 디인터리버 메모리 (340) 로부터 부분합 회로 (360.0 내지 360.2) 까지 판독한다. 기입 프로세스와는 달리, 판독하는 동안에는, 어드레스 생성기 (346.0 내지 346.2) 의 제어하에 거의 동시에 3개의 디인터리버 메모리를 판독하는 것이 바람직하다.
부분합 회로 (360.0 내지 360.2) 는 멀티플렉서 뱅크 (384) 를 경유하여 APP 메모리 (382) 로부터 에이 프라이오리(APP; a priori) 데이터 뿐만 아니라 각 디인터리버 메모리로부터 (또한 소프트 디시전 데이터로도 알려진)기호 추정값들을 수신한다. 터보, 및 터보와 유사한 코딩 분야에서 널리 공지된 바와 같이, APP값들은 이전의 디코딩 반복에 기초하여 송신된 데이터의 추정값이다. 첫번째 디코딩 반복 동안, APP 값들은 미지의 중간 상태로 설정된다. 이하, APP 값들에 관해 더 설명한다.
채널 디인터리버 메모리로부터의 기호 추정값들은, 채널 인터리버 블록과 관련된 각 데이터 비트에 대한 2개의 패리티 기호들의 추정값들 뿐만 아니라 계통 기호의 추정값들도 포함한다. 부분합 회로 (360.0 내지 360.2) 는 이 APP 값을 계통 기호에 더하여, "정제된 계통 추정값들" 을 생성한다.
각 부분합 회로 (360) 로부터의, 패리티 기호 추정값들과 함께, 정제된 계통 추정값들은 멀티플렉서 (362) 에 인가된다. 소정의 코드 레이트의 경우에는, 펑크츄어 기호들을 중간 값들로 대체한다. 멀티플렉서 (362) 는 각 디인터리버 메모리 (342) 로부터의 기호 추정값들의 윈도우를 (예를 들어, 순방향 상태 메트릭 계산기(FSMC; forward state metric calculator)(364), 및 역방향 상태 메트릭 계산기 (366 및 368) 등의)각 상태 메트릭 계산기에 인가한다. 즉, 각 디인터리버 메모리로부터의 기호 추정값들은 3회 판독되고, 부분합 회로 (360) 에 의해 FSMC (364), RSMC (366), 또는 RSMC (367) 중 하나에 순차적으로 인가되므로, 각 세트의 추정값들이 각 메트릭 계산기에 한 번 인가된다. 이러한 방법으로, 순방향 상태 메트릭과 역방향 상태 메트릭의 한 세트가 각 윈도우에 대하여 생성된다. 이 순방향 상태 메트릭과 역방향 상태 메트릭을 이용하여, 송신된 미리-인코딩된 정보의 소프트 디시전 추정값들을 생성한다.
테이블 Ⅱ 는 기호 추정값들의 예시적인 프로세싱을 더욱 상세하게 설명한다. 특히, 디인터리버 메모리 (342) 는, 그 디인터리버 메모리내에 포함된 L 샘플들의 세트와 함께, 각 판독 사이클(멀티플렉서 (362) 에 의한)이 기재되는 동안, 각 상태 메트릭 계산기(SMC)에 인가된다.
테이블 Ⅱ
테이블 Ⅱ 에 도시된 바와 같이, 본 발명의 설명된 실시예들에서는, 슬라이딩 윈도우 아키텍쳐를 이용하여 소프트-입력-소프트-출력(SISO) 로그-맥시멈 에이 포스테리오리(log-MAP) 디코딩을 수행한다. 이 슬라이딩 윈도우 MAP 디코딩을 수행하기 위한 시스템 및 방법은, 본 발명의 양수인에게 양도되며 여기서 참조한 발명의 명칭이 "컨벌루셔널 인코딩된 코드 워드를 디코딩하기 위한 소프트 디시전 출력 디코더" 인 공동 계류중인 미국 특허 출원서 일련번호 제 08/743,688 호에 설명되어 있다.
이 특허 출원서에는, 상술한 바와 같이 기호 추정값들의 윈도우 상에 MAP 디코딩을 수행한다. 본 발명의 설명된 실시예에서는, 그 크기가 L 비트이며, 여기서 "L" 은 윈도우내의 송신된 데이터 비트의 갯수이다. 정제된 계통 기호 추정값과 2개의 패리티 기호 추정값들은, 디코딩되는 각 데이터 비트에 대하여 생성된다. 본 발명의 일 실시예에서는, 2개의 패리티 기호 추정값에 대하여 6개의 비트들을 이용하며, (상술한 바와 같이, 수신 계통 기호 추정값과 APP 값의 합인)정제된 계통 기호 추정값들에 대하여 7개의 비트를 이용한다.
윈도우는, 위에서 참조한 특허 출원서에 설명되어 있는 MAP 프로세싱에 따라, 순방향으로 한 번 처리되며 역방향으로 한 번 처리된다. 또한, 대부분의 윈도우들은 역방향으로 추가 시간 처리되어, 다른 역방향 상태 메트릭 프로세싱에 대한 초기 상태를 생성하게 된다. 테이블 Ⅱ 에서, 초기 패스들(passes)은 이탤릭체로 나타낸다.
설명된 실시예에서, 추정값들의 각 세트는 3회 처리되므로, 추정값들이 저장되는 디인터리버 메모리 (342) 는 3회 액세스된다. 특히, 상술한 바와 같이, 기호 추정값들의 전체 인터리버 블록을 3개의 서로 다른 디인터리버 메모리들 (342) 로 분할함으로써, RAM 컨텐션 없이 수행되는 하일리 패러렐(highly parallel) 슬라이딩 윈도우 MAP 디코딩을 허용하게 된다.
테이블 Ⅱ 는, 데이터의 6개 윈도우들에 대하여 수행되는 커플링을 나타냄을 알 수 있다. 따라서, 예시적인 채널 인터리버 블록 크기는 6L 이며, 채널 디인터리버 메모리는 6Lxq 이다. 6L 의 채널 인터리버 블록 크기는 단지 예를 들기 위한 것이며, 통상의 채널 블록 크기는 6L 보다 더 크게 된다.
도 5 를 참조하면, 첫번째 판독 사이클 동안에, 그리고 MAP 디코더 (392) 내에서, FSMC (364) 는 (부분합 회로 (360.0) 및 멀티플렉서 (362) 를 경유하여)디인터리버 메모리 (342.0) 로부터 추정값들을 수신한다. FSMC (364) 는, 윈도우 L 상에서 순방향 상태 메트릭 값들을 계산한다. 이 순방향 상태 메트릭 값들은 메트릭 버퍼 (370) 에 저장된다. 또한, 테이블 Ⅰ 에 도시된 바와 같이, RSMC (366) 는 기호 추정값들의 다른 윈도우 L 상에서 첫번째 프로세싱 주기 동안 역방향 상태 메트릭 값들을 계산한다. 본 발명의 일 실시예에서, 각 상태 메트릭 계산기는 그 자신 고유의 브랜치 메트릭 계산기를 포함한다. 본 발명의 다른 실시예들에서는, 싱글 타임 쉐어드 브랜치 메트릭 계산기를 상태 메트릭의 세트에 의해 사용할 수도 있다.
MAP 디코더는 로그-MAP 디코더인 것이 바람직하며, 곱셈 연산의 횟수를 줄이기 위하여 추정값들의 로그값 상에서 연산을 수행한다. 상태 메트릭 및 브랜치 메트릭 계산기를 포함하는 로그-MAP 디코더의 하나의 임플리멘테이션은, 위성 통신의 인터내셔날 저널, 1998년 1월-2월 1권, pp 23-4b 에 제출된, 참조 S.S. 피에트로본의 "터보/MAP 디코더의 구현 및 성능" 에 설명되어 있다.
다음 처리 사이클 중에, RSMC (366) 가 이전 프로세싱 사이클(트레이닝 상태 메트릭)을 계산할 때, RSMC (368) 는 역방향 상태 메트릭 값들을 계산한다. RSMC (366) 는, 순방향 상태 메트릭을 미리 계산하여 제 1 프로세싱 사이클 동안에 메트릭 버퍼 (370) 내에 저장하게 되는, 윈도우 L 상에서 역방향 상태 메트릭 계산을 수행한다. 역방향 상태 메트릭이 계산될 때, 그들은 멀티플렉서 (372) 를 경유하여 로그 라이클리후드 레이쇼(LLR; log likelihood ratio) 계산기 (374) 에전송된다. LLR 계산기 (374) 는 먹스(MUX) (372) 로부터 수신된 역방향 상태 메트릭과 메트릭 버퍼 (370) 내에 저장된 순방향 상태 메트릭의 로그 라이클리후드 계산을 수행한다. LLR (374) 로부터 결과로서 생성된 추정값들은 APP 메모리 (382.0 내지 382.2) 로 전송된다.
슬라이딩 메트릭 계산 프로세스를 이용하여, 필요한 프로세싱을 수행하는 데에 이용되는 메모리의 양을 감소시킨다. 특히, 순방향 상태 메트릭의 단지 하나의 윈도우 L 만이, 임의의 주어진 시간에 메트릭 버퍼 (276) 내에 저장되면 된다. 이는, 엄청나게 많은 양의 메모리를 필요로 하게 되는 전체 채널 인터리버 블록의 경우에 있어서 메트릭을 저장하는 것과는 대조적이다.
또한, 3개의 메트릭 계산기들을 사용함으로써, 디코딩이 수행될 수 있는 레이트를 상당히 증가시킨다. 초기화 및 디코딩 기능이 병렬로 수행될 수 있으므로, 이 레이트를 증가시킨다.
LLR (374) 로부터의 데이터 추정값들은 입력 어드레스 생성기 (386) 의 제어하에서 APP 메모리 (382) 에 기입된다. 각 APP 메모리 (382) 는 처리되고 있는 인터리버 블록에 대하여 생성되는 모든 데이터 추정값들의 일부를 수신한다.
일단 데이터 추정값들이 기입되면, 다른 반복을 수행하는데, 여기서 이전 디코딩 도중에 생성된 데이터 추정값들(또한 APP 값들로도 알려진)을 이용하여 원래 기호 추정값들을 다시 처리한다. 이 APP 값들은 출력 어드레스 생성기 (380.0 내지 380.2) 의 제어하에서 거의 동시에 APP 메모리 (382) 로부터 판독된다. 먹스 뱅크 (384) 는 APP 메모리 (382) 를 부분합 회로 (360) 에 커플링하여, 대응하는 기호 추정값과 데이터 추정값을 부분적으로 합산한다. 일단 충분한 갯수의 디코딩 반복이 수행되면, 결과로서 생성된 데이터 추정값들을 사용하여 하드 디시전(hard decision)을 생성한다.
도 6 은 본 발명의 일 실시예에 따른 디코딩 반복 동안에 수행되는 스텝들을 설명한 흐름도이다. 이 흐름도에서, 디인터리버 메모리 (342.0 내지 342.2) 는 MEM[0] 내지 MEM[2] 로 각각 지칭된다. 또한, RSMC (366) 는 RSMC 0 으로 지칭되며, RSMC (368) 는 RSMC 1 로 지칭된다. 인덱스 값 j 는, 각 스텝에서 액세스되는 특정 디인터리버 메모리(MEM)를 지정하는 데에 사용되지만, 값 j 의 사용이 본 발명을 실시하는 데에 반드시 필요한 것은 아니다.
본 발명의 디코딩은 스텝 400 에서 시작하고, 스텝 402 에서는 인덱스 값 j 를 제로(0)로 설정한다. 또한, 스텝 (402) 에서, 순방향 상태 메트릭 계산기 (364; FSMC) 는 MEM[0] 으로부터 기호 추정값들을 처리하고, RSMC 0 는 MEM[1] 로부터 기호 추정값들을 처리한다.
스텝 404 에서, 인덱스 j 는 증분되며, 스텝 408 에서는, (j2) 가 인터리버 블록내의 (기호 추정값들(MAX_WINDOW_INDEX))보다 작은지를 판정한다. 작은 경우, 스텝 410 에서, FSMC 는 MEM[j mod 3]으로부터 기호 추정값들을 처리하고, RSMC 0 은 MEM[(j-1) mod 3]으로부터 기호 추정값들을 처리하며, RSMC 1 은 MEM[(j+1) mod 3] 으로부터 기호 추정값들을 처리한다. 일단 스텝 410 이 수행되면, j 는 스텝 412 에서 증분되며, 스텝 413 에서 j< MAX_WINDOW_INDEX 인지를 판정하고 스텝 414 를 수행한다.
스텝 414 에서, FSMC 는 MEM[j mod 3]으로부터 기호 추정값들을 처리하고, RSMC 0 은 MEM[(j+1) mod 3] 으로부터 기호 추정값들을 처리하며, RSMC 1 은 MEM[(j-1) mod 3]으로부터 기호 추정값들을 처리한다. 일단 스텝 414 가 수행되면, 프로세싱은 스텝 404 로 복귀한다.
스텝 408 또는 스텝 413 에서, j+2 가 MAX_WINDOW_INDEX 보다 작지 않다고 판정되면, 스텝 416 을 수행한다. 스텝 416 에서, FSMC 는 MEM[j mod 3]으로부터 기호 추정값들을 처리하고, RSMC 0 은 MEM[(j-1) mod 3]으로부터 기호 추정값들을 처리한다. 스텝 418 에서, j 는 증분된다. 스텝 420 에서, RSMC 1 은 MEM[(j-1) mod 3]으로부터 기호 추정값들을 처리한다. 그 후, 반복 프로세싱은 스텝 424 에서 종료된다.
상술한 바와 같이, 터보 코딩을 수행하기 위한 새롭고 개선된 기술을 설명하였다. 본 명세서는, 당해 기술분야에서 숙련된 당업자는 어느 누구라도 본 발명을 이용할 수 있도록 제공된다. 이들 실시예들의 다양한 변형예들을, 당해 기술분야에서 숙련된 당업자들은 명백히 알 수 있으며, 여기서 설명된 일반적인 원리들은 본 발명의 독창적인 기능을 사용하지 않아도 다른 실시예들에 적용할 수도 있다. 따라서, 본 발명은, 여기서 개시된 실시예들에 한정되지 않으며, 여기서 개시된 원리들 및 새로운 특징들과 부합하는 가장 넓은 범위와 일치한다.

Claims (7)

  1. 디코딩하기 위한 시스템으로서,
    a) 기호 추정값들의 블록을 저장하고 상기 블록의 적어도 3개의 다른 부분들을 거의 동시에 판독하기 위한 채널 디인터리버 램(RAM);
    b) 상태 메트릭 계산값들의 세트를 각각 생성하기 위한 3개의 상태 메트릭 계산기들의 세트;
    c) 상기 블록의 상기 적어도 3개의 다른 부분에 상기 3개의 상태 메트릭 계산기들의 세트를 커플링하기 위한 멀티플렉서 뱅크를 구비하는 것을 특징으로 하는 시스템.
  2. 제 1 항에 있어서,
    상기 채널 디인터리버 램(RAM)은,
    상기 기호 추정값들 블록의 제 1 부분을 저장하고 상기 기호 추정값들 블록의 상기 제 1 부분을 판독하기 위한 제 1 디인터리버 램;
    상기 기호 추정값들 블록의 제 2 부분을 저장하고 상기 기호 추정값들 블록의 상기 제 2 부분을 판독하기 위한 제 2 디인터리버 램;
    상기 기호 추정값들 블록의 제 3 부분을 저장하고 상기 기호 추정값들 블록의 상기 제 3 부분을 판독하기 위한 제 3 디인터리버 램을 구비하는 것을 특징으로 하는 시스템.
  3. 제 2 항에 있어서,
    상기 상태 메트릭 계산기는 상기 기호 추정값들의 윈도우를 처리하고,
    상기 제 1 부분은 상기 블록의 3개의 윈도우들 중 모든 첫번째 윈도우를 포함하고,
    상기 제 2 부분은 상기 블록의 3개의 윈도우들 중 모든 두번째 윈도우를 포함하고,
    상기 제 3 부분은 상기 블록의 3개의 윈도우들 중 모든 세번째 윈도우를 포함하는 것을 특징으로 하는 시스템.
  4. 터보 디코딩을 수행하기 위한 시스템으로서,
    기호 추정값들의 블록을 저장하고 상기 블록의 적어도 3개의 다른 부분들을 거의 동시에 판독하기 위한 채널 디인터리버 RAM;
    상태 메트릭 계산값들의 세트를 각각 생성하기 위한 3개의 상태 메트릭 계산기들의 세트;
    상기 블록의 상기 적어도 3개의 다른 부분에 상기 3개의 상태 메트릭 계산기들의 세트를 커플링하기 위한 멀티플렉서 뱅크;
    사전(priori) 값들을 저장하고 상기 사전 값들의 적어도 3개의 다른 부분을 거의 동시에 판독하기 위한 app 메모리를 구비하는 것을 특징으로 하는 시스템.
  5. 제 1 항에 있어서,
    상기 채널 디인터리버 램(RAM)은,
    상기 기호 추정값 블록의 제 1 부분을 저장하고 상기 기호 추정값 블록의 상기 제 1 부분을 판독하기 위한 제 1 디인터리버 램;
    상기 기호 추정값 블록의 제 2 부분을 저장하고 상기 기호 추정값 블록의 상기 제 2 부분을 판독하기 위한 제 2 디인터리버 램;
    상기 기호 추정값 블록의 제 3 부분을 저장하고 상기 기호 추정값 블록의 상기 제 3 부분을 판독하기 위한 제 3 디인터리버 램을 구비하는 것을 특징으로 하는 시스템.
  6. 제 4 항에 있어서,
    상기 상태 메트릭 계산기는 상기 기호 추정값들의 윈도우를 처리하고,
    상기 제 1 부분은 상기 블록의 3개의 윈도우들 중 모든 첫번째 윈도우를 포함하고,
    상기 제 2 부분은 상기 블록의 3개의 윈도우들 중 모든 두번째 윈도우를 포함하고,
    상기 제 3 부분은 상기 블록의 3개의 윈도우들 중 모든 세번째 윈도우를 포함하는 것을 특징으로 하는 시스템.
  7. 터보 디코딩을 수행하기 위한 방법으로서,
    a) 적어도 3개의 다른 시간에서 채널 추정 블록의 적어도 3개의 다른 부분들을 거의 동시에 판독하는 단계;
    b) 각각 다른 판독 동안에 각각 다른 부분에 대하여 상태 메트릭을 생성하는 단계;
    c) 상기 상태 메트릭의 제 1 세트를 저장하는 단계;
    d) 상기 제 1 세트의 추정값들과 제 2 세트의 상태 메트릭을 이용하여 기호 추정값들을 계산하는 단계를 포함하되, 상기 제 2 세트의 상태 메트릭은 제 3 세트 상태 메트릭을 사용하여 계산된 초기화 값을 이용하여 계산되고,
    상기 적어도 3개의 다른 부분들로부터의 제 1 부분은 상기 블록의 3개의 윈도우들 중 모든 첫번째 윈도우를 포함하고,
    상기 적어도 3개의 다른 부분들로부터의 제 2 부분은 상기 블록의 3개의 윈도우들 중 모든 두번째 윈도우를 포함하고,
    상기 적어도 3개의 다른 부분들로부터의 제 3 부분은 상기 블록의 3개의 윈도우들 중 모든 세번째 윈도우를 포함하는 것을 특징으로 하는 방법.
KR1020017001926A 1998-08-14 1999-08-13 맵 디코더용 분할 디인터리버 메모리 KR20010072498A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US9648998P 1998-08-14 1998-08-14
US60/096,489 1998-08-14
US09/259,665 US6381728B1 (en) 1998-08-14 1999-02-26 Partitioned interleaver memory for map decoder
US09/259,665 1999-02-26
PCT/US1999/018551 WO2000010255A1 (en) 1998-08-14 1999-08-13 Partitioned deinterleaver memory for map decoder

Publications (1)

Publication Number Publication Date
KR20010072498A true KR20010072498A (ko) 2001-07-31

Family

ID=26791750

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020017001932A KR100671075B1 (ko) 1998-08-14 1999-08-13 터보 코딩의 사용을 용이하게 하기 위한 디코더, 디코딩 시스템 및 디코딩 방법
KR1020017001926A KR20010072498A (ko) 1998-08-14 1999-08-13 맵 디코더용 분할 디인터리버 메모리

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020017001932A KR100671075B1 (ko) 1998-08-14 1999-08-13 터보 코딩의 사용을 용이하게 하기 위한 디코더, 디코딩 시스템 및 디코딩 방법

Country Status (10)

Country Link
US (1) US6381728B1 (ko)
EP (1) EP1108289A1 (ko)
JP (1) JP4298170B2 (ko)
KR (2) KR100671075B1 (ko)
CN (1) CN1168221C (ko)
AU (1) AU759044B2 (ko)
BR (1) BR9912989A (ko)
CA (1) CA2340364A1 (ko)
ID (1) ID29610A (ko)
WO (1) WO2000010255A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100532325B1 (ko) * 2002-11-23 2005-11-29 삼성전자주식회사 터보 복호기의 입력 제어 방법 및 장치
KR100651035B1 (ko) * 2005-12-01 2006-11-30 한국전자통신연구원 차세대 무선 랜 시스템의 블록 디인터리버 장치 및 그 방법
KR100736606B1 (ko) * 2005-03-23 2007-07-09 엘지전자 주식회사 비트 역인터리버용 메모리 및 그 제어방법

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE20023252U1 (de) * 1999-04-02 2003-07-31 Samsung Electronics Co Ltd Vorrichtung zum Verschachteln/Entschachteln für ein Kommunikationssystem
JP3246484B2 (ja) * 1999-07-07 2002-01-15 日本電気株式会社 ターボデコーダ
US6628723B1 (en) * 1999-10-15 2003-09-30 Cisco Technology Coding rate reduction for turbo codes
US6789218B1 (en) * 2000-01-03 2004-09-07 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US6775800B2 (en) * 2000-01-03 2004-08-10 Icoding Technology, Inc. System and method for high speed processing of turbo codes
US7302621B2 (en) * 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US6516437B1 (en) * 2000-03-07 2003-02-04 General Electric Company Turbo decoder control for use with a programmable interleaver, variable block length, and multiple code rates
US6829313B1 (en) * 2000-07-17 2004-12-07 Motorola, Inc. Sliding window turbo decoder
US6748566B1 (en) * 2000-07-21 2004-06-08 Lucent Technologies Inc. Ensuring proper acceptance of data at a receiver in wireless multiple access communications systems
US6760390B1 (en) * 2000-10-25 2004-07-06 Motorola, Inc. Log-map metric calculation using the avg* kernel
US7093179B2 (en) * 2001-03-22 2006-08-15 University Of Florida Method and coding means for error-correction utilizing concatenated parity and turbo codes
US6392572B1 (en) * 2001-05-11 2002-05-21 Qualcomm Incorporated Buffer architecture for a turbo decoder
US6763493B2 (en) * 2001-09-21 2004-07-13 The Directv Group, Inc. Method and system for performing decoding using a reduced-memory implementation
JP3888135B2 (ja) * 2001-11-15 2007-02-28 日本電気株式会社 誤り訂正符号復号装置
KR100436434B1 (ko) * 2001-11-19 2004-06-16 한국전자통신연구원 상태 메트릭을 갖는 터보 복호기 및 그를 이용한 계산 방법
KR100447175B1 (ko) * 2001-12-03 2004-09-04 엘지전자 주식회사 터보 디코딩 방법 및 이를 위한 장치
KR100651434B1 (ko) * 2002-10-05 2006-11-28 삼성전자주식회사 패킷 데이터 통신 시스템 수신기에서의 간섭신호 제거장치 및 방법
US7440392B2 (en) * 2003-02-19 2008-10-21 Advanced Micro Devices, Inc. Wireless receiver deinterleaver having partitioned memory
US6944558B2 (en) 2003-10-14 2005-09-13 Agilent Technologies, Inc. Methods and apparatus for optimizing the masking of waveforms to reduce the number of waveforms in a list of waveforms
US7010453B2 (en) * 2003-10-14 2006-03-07 Agilent Technologies, Inc. Methods and apparatus for optimizing lists of waveforms
KR100520934B1 (ko) * 2003-12-30 2005-10-17 삼성전자주식회사 디인터리버 메모리의 크기가 절감된 디지털 방송 수신기의디인터리빙장치 및 그의 디인터리빙방법
US7702968B2 (en) 2004-02-27 2010-04-20 Qualcomm Incorporated Efficient multi-symbol deinterleaver
KR100744367B1 (ko) * 2004-05-24 2007-07-30 삼성전자주식회사 가변 윈도우가 적용된 터보 복호화 장치 및 방법
EP1832028B1 (en) 2004-10-12 2018-01-31 TQ Delta, LLC Resource sharing in a dsl transceiver
US20090022079A1 (en) * 2005-05-04 2009-01-22 Fei Frank Zhou Method and apparatus for providing enhanced channel interleaving
US7779338B2 (en) * 2005-07-21 2010-08-17 Realtek Semiconductor Corp. Deinterleaver and dual-viterbi decoder architecture
US7409606B2 (en) * 2005-08-31 2008-08-05 Motorola, Inc. Method and system for interleaving in a parallel turbo decoder
FR2890804B1 (fr) * 2005-09-12 2008-04-04 St Microelectronics Sa Traitement de blocs dans un dispositif de decodage par blocs
US7810015B2 (en) * 2005-11-28 2010-10-05 Stmicroelectronics Sa Decoding with a concatenated error correcting code
US8213548B2 (en) * 2006-04-04 2012-07-03 Qualcomm Incorporated Methods and apparatus for dynamic packet reordering
US8139612B2 (en) * 2006-04-04 2012-03-20 Qualcomm Incorporated Methods and apparatus for dynamic packet mapping
EP2005674B1 (en) 2006-04-12 2016-09-28 TQ Delta, LLC Packet retransmission and memory sharing
US7783936B1 (en) 2006-09-28 2010-08-24 L-3 Communications, Corp. Memory arbitration technique for turbo decoding
JP2010508790A (ja) * 2006-11-01 2010-03-18 クゥアルコム・インコーポレイテッド 高データレートのためのターボインターリーバ
US20130170842A1 (en) * 2012-01-04 2013-07-04 Toshiaki Koike-Akino Method and System for Equalization and Decoding Received Signals Based on High-Order Statistics in Optical Communication Networks
KR102478169B1 (ko) * 2020-04-03 2022-12-16 한국전자통신연구원 디인터리빙 방법 및 이를 수행하는 디인터리빙 시스템
CN112233613B (zh) * 2020-10-29 2021-08-06 中国航发南方工业有限公司 显示板组件、燃气涡轮发电机组的显示及操作装置
CN112289257B (zh) * 2020-10-29 2021-08-06 中国航发南方工业有限公司 燃气涡轮发电机组的显示及操作装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1030925B (it) * 1974-12-19 1979-04-10 Sits Soc It Telecom Siemens Unita di controllo della segnalazione
US4059825A (en) * 1976-10-12 1977-11-22 Greene Edward P Burst/slip correction decoder and method
CA1203019A (en) * 1982-01-19 1986-04-08 Tetsu Watanabe Apparatus for recording and reproducing a digital signal
US4539684A (en) * 1983-01-07 1985-09-03 Motorola, Inc. Automatic frame synchronization recovery utilizing a sequential decoder
US4907233A (en) * 1988-05-18 1990-03-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration VLSI single-chip (255,223) Reed-Solomon encoder with interleaver
US5014276A (en) * 1989-02-06 1991-05-07 Scientific Atlanta, Inc. Convolutional encoder and sequential decoder with parallel architecture and block coding properties
US5208816A (en) * 1989-08-18 1993-05-04 At&T Bell Laboratories Generalized viterbi decoding algorithms
US5103459B1 (en) 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system
US5263051A (en) * 1991-07-05 1993-11-16 Codex Corporation Device and method of interleaving for a trellis precoding system
US5588112A (en) * 1992-12-30 1996-12-24 Digital Equipment Corporation DMA controller for memory scrubbing
US5537444A (en) * 1993-01-14 1996-07-16 At&T Corp. Extended list output and soft symbol output viterbi algorithms
US5530707A (en) * 1994-03-09 1996-06-25 At&T Corp. Area-efficient decoders for rate-k/n convolutional codes and other high rate trellis codes
US5659781A (en) * 1994-06-29 1997-08-19 Larson; Noble G. Bidirectional systolic ring network
US5825807A (en) * 1995-11-06 1998-10-20 Kumar; Derek D. System and method for multiplexing a spread spectrum communication system
US5862190A (en) * 1995-12-29 1999-01-19 Motorola, Inc. Method and apparatus for decoding an encoded signal
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
ATE292336T1 (de) 1997-01-31 2005-04-15 Cit Alcatel Verfahren und geräte zur schachtelung/entschachtelung von digitalen daten und kommunikationssystem
US6141384A (en) * 1997-02-14 2000-10-31 Philips Electronics North America Corporation Decoder for trellis encoded interleaved data stream and HDTV receiver including such a decoder

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100532325B1 (ko) * 2002-11-23 2005-11-29 삼성전자주식회사 터보 복호기의 입력 제어 방법 및 장치
KR100736606B1 (ko) * 2005-03-23 2007-07-09 엘지전자 주식회사 비트 역인터리버용 메모리 및 그 제어방법
KR100651035B1 (ko) * 2005-12-01 2006-11-30 한국전자통신연구원 차세대 무선 랜 시스템의 블록 디인터리버 장치 및 그 방법

Also Published As

Publication number Publication date
KR20010072501A (ko) 2001-07-31
BR9912989A (pt) 2003-01-07
AU759044B2 (en) 2003-04-03
CN1344438A (zh) 2002-04-10
JP4298170B2 (ja) 2009-07-15
US6381728B1 (en) 2002-04-30
EP1108289A1 (en) 2001-06-20
CA2340364A1 (en) 2000-02-24
KR100671075B1 (ko) 2007-01-17
CN1168221C (zh) 2004-09-22
JP2003528477A (ja) 2003-09-24
WO2000010255A1 (en) 2000-02-24
AU5486799A (en) 2000-03-06
ID29610A (id) 2001-09-06

Similar Documents

Publication Publication Date Title
AU759044B2 (en) Partitioned deinterleaver memory for map decoder
CA2363410C (en) Highly parallel map decoder
US6434203B1 (en) Memory architecture for map decoder
US7191377B2 (en) Combined turbo-code/convolutional code decoder, in particular for mobile radio systems
JP5129216B2 (ja) マップ・デコーダのためのメモリ・アーキテクチャ
US6859906B2 (en) System and method employing a modular decoder for decoding turbo and turbo-like codes in a communications network
JP2008022569A (ja) 空間効率のよいターボデコーダ
WO2000057560A2 (en) Improved turbo decoder 1
RU2236085C2 (ru) Архитектура памяти для декодера максимальной апостериорной вероятности
KR100317377B1 (ko) 변복조 시스템의 부호화 및 복호화 장치
MXPA01001656A (en) Partitioned deinterleaver memory for map decoder
MXPA01001657A (en) Memory architecture for map decoder

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid