KR20070029744A - 터보 디코더 입력 재배치 - Google Patents

터보 디코더 입력 재배치 Download PDF

Info

Publication number
KR20070029744A
KR20070029744A KR1020067026485A KR20067026485A KR20070029744A KR 20070029744 A KR20070029744 A KR 20070029744A KR 1020067026485 A KR1020067026485 A KR 1020067026485A KR 20067026485 A KR20067026485 A KR 20067026485A KR 20070029744 A KR20070029744 A KR 20070029744A
Authority
KR
South Korea
Prior art keywords
decoder
buffers
soft data
state machine
bus
Prior art date
Application number
KR1020067026485A
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 KR20070029744A publication Critical patent/KR20070029744A/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/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
    • 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/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • 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
    • 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6519Support of multiple transmission or communication standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/06Receivers

Abstract

수신기가 개신되고, 여기에서, 재배치 수단은 멀티플렉서, 유한 상태 머신 및 복수의 버퍼를 포함한다. 유한 상태 머신은 버스로부터 버퍼를 로딩하도록 멀티플렉서를 제어하여 버퍼의 출력이 디코더에 의해 직접 디코딩 가능하게 하도록 정렬된다. 수신 방법 또한 개시되며, 이 방법은, 전송 모드 및 버스 구성을 결정하는 단계, 상기 결정된 전송 모드 및 버스 구성에 따라 유한 상태 머신의 브랜치의 초기화 상태를 입력하는 단계, 버스 상에 제공된 수신 소프트 데이터 세트 각각에 대하여 상기 유한 상태 머신의 상태들 간 전이를 수행하는 단계, 상기 유한 상태 머신의 상태에 따라 상기 소프트 데이터를 복수의 버퍼로 멀티플레싱하는 단계, 상기 멀티플렉싱된 데이터를 상기 복수의 버퍼로 기록하는 단계를 포함한다.

Description

터보 디코더 입력 재배치{TURBO DECODER INPUT REORDERING}
본 발명은 수신기 및 수신 방법에 관한 것이다.
셀룰러 전화는 현대 사회에서 폭넓게 이용가능한 통신 모드가 되었다. 무선 전자 통신 필드 내에는, CDMA라고 공지된 코드 분할 다중 액세스 시스템으로 지칭되는 복수의 시스템이 존재한다. 그 예로는, 서브-시스템 TDD(Time Division Duplex) 및 FDD(Frequency Division Duplex), TD-SCDMA(Time Division Synchronous CDMA) 및 CDMA 2000을 포함하는 광대역 CDMA(WCDMA)가 있다. 이들은 공통적으로 통신 모드 또는 전송 모드로 지칭된다. 코드 분할 다중 액세스 시스템 내에서, 이동국(예를 들면, 핸드셋)의 사용자는 기지국을 통해 또 다른 전자 통신 디바이스의 사용자와 통신할 수 있다. 이동국과 코드 분할 다중 액세스 시스템의 기지국은 무선 디지털 무선 인터페이스를 통해 통신한다. 와이어리스(wireless) 디지털 무선 인터페이스의 명세는 복수의 상이한 양태에서 약간 변경된다. 또한, 각각의 특정 무선 인터페이스 내에서, 복수의 전송 쓰루풋(throughput) 특성이 이용될 수 있다.
전자 통신 시스템의 전술한 모든 모드는 터보 코딩 기법, 즉, 반복 코딩 기 법을 사용한다. 송신기에서의 터보 인코더는 제1 및 제2 RSC(recursive systematic coder) 및 인터리버(interleaver)를 포함하며, 인터리버는 잡음에 대한 전체적인 전송 로버스트(robustness)를 증가시키기 위해 인터리브 데이터를 제2 RSC에 제공한다. 수신기에서의 터보 디코더는 전송 모드 및 레이트에 따라 2 내지 5개의 소프트 데이터를 수신하고, 그 데이터를 반복 디코딩 프로세스에서 추정한다. 터보 디코더는 인코더에 의해 수행된 변환을 반대로 하는 프로세스를 호출하고, 협력하여 동작하는 두개의 소프트 입력 - 소프트 출력(soft input - soft output; SISO) 디코더를 포함한다. 각각의 SISO 디코더는 다른 SISO 디코더에 의해 사전 정보로서 사용되는 사후 정보를 생성한다. 서로 다른 통신 모드를 다룰 수 있는 융통성있는 솔루션에 대한 필요성이 존재한다. 동시에, 전술한 각각의 통신 모드용으로 요구되는 고성능 솔루션에 대한 필요성이 존재한다. 1999년, 9월, 암스텔담, pp.2601-2605, 1999년 추계 IEEE Vehicular Technology Conference(VTC)의 진행에서의 F.Berens, A.Worm, H.Michel, 및 N.Wehn의 "Implementation Aspects of Turbo Decoders for Future Radio Applicaitons"에서는 터보 디코더의 순수한 소프트웨어 구현이 고속 데이터 서비스의 요구사항 아래이지만 높은 융통성을 부여한다고 지적되어 있다. 한편, 하드웨어는 융통성이 부족하지만, 수준높은 성능을 부여한다. 따라서, 소프트웨어 솔루션의 융통성과 전용 하드웨어 구현의 고성능을 결합하기 위한 혼합된 하드웨어/소프트웨어 구현을 Berens 등이 제안하고 있다.
여전히 해결해야 할 몇가지 문제점이 존재한다. 터보 디코더는 인터리버가 블록내의 임의의 데이터를 액세스할 수 있어야 하기 때문에, 전술한 프로세스를 수 행할 수 있도록 소프트 입력 데이터의 완전한 블록을 요구한다. 따라서, 완전한 블록은 블록 프로세싱을 디코딩하기 전에 버퍼링되어야 한다. 데이터는 하드웨어 구현 터보 디코더의 고성능을 사용할 수 있도록 버퍼로부터 데이터를 디코더 코어가 얼마나 판독할 것인지 기대되는 것과 관련하여 저장될 필요가 있다. 전술한 임의의 전송 모드 각각에 사용됨에 따라, 종래의 솔루션은 데이터를 재배치하기 위한 시스템에 의존한다. 도 1은 무선 수신기(102), 샘플러(104) 및 디코더(106)를 포함하는 종래 수신기(100)의 셋업을 도시한다. 수신기는 메모리(108) 및 시스템 컨트롤러(110) 또한 접속되는 시스템 버스(112)에 접속된다. 무선 수신기는 하나 이상의 안테나(114) 및 그 안테나(114)에서 수신된 무선 주파수 신호를 처리하는 전자 장치(도시 생략)를 포함한다. 무선 수신기(102)는 수신 무선 주파수 신호에 대응하는 복조 신호를 출력한다. 샘플러(104)는 복조 신호를 샘플링하여 소프트 데이터, 즉, 수신 정보 플러스 수신 정보만을 표현하는데 필요한 그 이상의 비트를 갖는 간섭의 디지털 표현을 생성한다. 소프트 데이터는 시스템 컨트롤러(110)의 감독 하에 메모리(108)에 저장된다. 다음에 데이터는 시스템 컨트롤러(110)에 의해 재배치된다. 데이터 재배치는 소프트웨어에 의해 종래 방식으로 수행되고, 수많은 시스템 리소스를 소모한다. 다음에, 재배치된 데이터는 하드웨어 구현 디코더 버퍼, 예를 들면, 공유 메모리(108)에 제공된다.
이러한 종래 구조의 한가지 단점은 소프트웨어에서 소프트 샘플의 재배치하는 것은 CPU 전력을 소모한다는 것이다. 또 다른 단점은 시스템 버스가 대역폭 관점에 충분히 사용되지 못한다는 것이다. 따라서, 소프트 샘플을 재배치하는 것은 대량의 시스템 리소스를 소모하는 문제가 있다.
발명의 개요
본 발명의 목적은 보다 효율적인 재배치를 제공하는 것이다.
전술한 목적은 무선 인터페이스, 샘플러, 디코더 및 샘플러와 디코더에 접속된 버스를 포함하는 수신기에 의한 본 발명의 제1 양상에 따라 얻어진다. 샘플러는 무선 인터페이스에 의해 수신되는 신호에 기초하여 소프트 데이터를 생성하도록 구성된다. 디코더는 샘플러로부터 소프트 데이터를 수신하도록 구성된다. 디코더는 재배치 수단 및 디코더를 포함하고, 재배치 수단은 멀티플렉서, 유한 상태 머신 및 복수의 버퍼를 포함한다. 유한 상태 머신은 버스로부터 버퍼를 로딩하여 버퍼의 출력이 디코더에 의해 디코딩가능하게 멀티플렉서를 제어하도록 정렬된다.
이것의 이점은 디코딩 전에 소프트 데이터를 고속으로 융통성있게 재배치한다는 것이다. 이것은 융통성있는 하드웨어 구현가능 솔루션에 의해 달성되고, 여기에서 유한 상태 머신 및 멀티플렉서는 소프트 데이터를 복수의 버퍼로 재배치 및 기록한다. 따라서, 소프트 데이터는 디코더에 의해 직접 디코딩가능하다.
수신기는 버스 구성, 전송 모드 및 레이트를 지시하는 정보를 유지하도록 구성된 구성 레지스터를 더 포함한다. 이것의 이점은 저복잡도면서 고속 방식으로 유한 상태 머신용 정보를 제어한다는 것이다.
수신기는 또한 유한 상태 머신에 의해 제어되는 제어 생성기 및 어드레스를 포함하고, 소프트 데이터를 버퍼에 기록하는 것을 제어하도록 정렬된다. 이것의 이점은 버퍼의 기록 제어를 향상시킨다는 것이다.
복수의 버퍼는 5개의 버퍼를 포함하고, 각 버퍼는 복수의 소프트 데이터로 동시에 로딩되도록 정렬된다. 이것은 임의의 버스 구성이 임의의 전송 모드 및 레이트와 함께 사용되는 것을 가능하게 한다. 이것의 이점은 버스의 이용을 향상시킨다는 것이다.
디코더는 터보 디코더를 포함할 수 있다. 디코더는 비터비 디코더를 더 포함할 수 있다.
복수의 버퍼는 각각 독립적인 2 포트 메모리의 두개의 뱅크를 포함할 수 있다. 대안으로, 복수의 버퍼는 독립적인 단일 포트 메모리의 네개의 뱅크를 포함할 수 있다. 이것은 복수의 어드레스와 관련된 소프트 데이터를 버퍼에 동시에 기록하는 것을 가능하게 한다. 이것의 이점은 버프를 보다 고속으로 보다 융통성 있게 채운다는 것이다.
상기 목적은 본 발명의 다음의 수신 방법에 의한 제2 양상에 따라 얻어지며, 상기 방법은, 무선 신호를 수신하고 복조하는 단계; 상기 복조된 무선 신호를 샘플링함으로써 소프트 데이터를 생성하는 단계; 버스 상의 상기 소프트 데이터를 디코더로 전송하는 단계; 상기 소프트 데이터를, - 전송 모드 및 버스 구성을 결정하고, - 상기 결정된 전송 모드 및 버스 구성에 따라 유한 상태 머신의 브랜치의 초기화 상태를 입력하며, - 버스 상에 제공된 수신 소프트 데이터 세트 각각에 대하여 상기 유한 상태 머신의 상태들 간 전이를 수행하고, -상기 유한 상태 머신의 상태에 따라 상기 소프트 데이터를 복수의 버퍼로 멀티플레싱하며, - 상기 멀티플렉 싱된 데이터를 상기 복수의 버퍼로 기록함으로써 재배치하여 버퍼링하는 단계; 상기 복수의 버퍼로부터의 상기 버퍼링된 소프트 데이터를 터보 디코더로 출력하는 단계; 및 상기 터보 디코더에 의해 상기 소프트 데이터를 디코딩하는 단계를 포함한다.
본 발명의 제2 양상의 특징 및 이점은 본 발명의 제1 양상의 것과 기본적으로 동일하다.
부가의 목적 뿐만 아니라, 본 발명의 상기 특징 및 이점은 첨부 도면을 참조하여 예시적이지만 제한적인 것은 아닌 본 발명의 바람직한 실시예의 상세한 설명을 통해 보다 잘 이해될 수 있다.
도 1은 종래 수신기에 따른 셋업을 도시한다.
도 2는 종래의 터보 디코더를 도시한다.
도 3은 본 발명의 실시예에 따른 셋업을 도시한다.
도 4는 본 발명의 실시예에 따른 터보 디코더를 도시한다.
도 5는 본 발명의 실시예에 버퍼 정렬을 도시한다.
도 6은 본 발명에 사용되는 과정의 예를 도시한다.
도 7은 본 발명에 따른 버퍼를 도시한다.
도 8은 본 발명에 따른 테이블을 도시한다.
도 9는 본 발명에 따른 바이어스 구성을 도시한다.
도 2는 터보 디코더 코어(200) 및 입력 버퍼(202)를 포함하는 종래의 터보 디코더를 도시한다. 입력 버퍼(202)는 버퍼링된 소프트 데이터를 제1 SISO(soft-in soft-out) 디코더(204) 및 제2 SISO 디코더(206)로 경로지정한다. 제1 SISO 디코더(204)로 경로지정된 데이터의 일부는 제1 인터리버(208)에 의해 인터리빙되어 제2 SISO 디코더(206)로 경로지정된다. 각각의 SISO 디코더(204, 206)는 다른 SISO 디코더(204, 206)에 의해 사전 정보로서 사용되는 우선 순위 정보를 생성한다. 즉, 제1 SISO 디코더(204)로부터의 우선 순위 정보는 제2 인터리버(210)에 의해 인터리빙되고, 제2 SISO 디코더(206)로 제공된다. 제2 SISO 디코더로부터의 우선 순위 정보는 제1 디인터리버(de-interleaver; 212)에 의해 디인터리빙되고, 제1 SISO 디코더로 제공된다. 제2 SISO 디코더는 아마도 어떤 신호가 전송되었는지를 지시하는 확률 인자(∧)를 생성한다. ∧는 제2 디인터리버(214)에 의해 디인터리빙되고, 추가의 프로세싱을 위해 출력된다.
도 2의 터보 디코더 정렬에서, 버퍼링된 소프트 데이터는 입력 버퍼(202)에서 올바른 순서로 있는 것으로 가정된다. 본 발명은 후술되는 소프트 데이터의 재배치를 제공하여 종래의 터보 디코더 코어가 사용될 수 있도록 한다.
도 3은 본 발명의 실시예에 따른 셋업을 도시한다. 수신기(300)는 무선 수신기(302), 샘플러(304) 및 디코더(306)를 포함한다. 무선 수신기(302)는 하나 이상의 안테나(308)를 통해 무선 주파수 신호를 수신하고, 무선 주파수 신호를 복조하도록 적응된 전자 장치(도시 생략)을 포함한다. 무선 수신기는 복수의 주파수 대역 내에서 신호를 수신하도록 적응되어, WCDMA(TDD 및 FDD), TD-SCDMA 및 CDMA(2000) 같은 복수의 전송 모드에서 동작하는 것을 가능하게 하는 것이 바람직하다. 복조 신호는 소프트 데이터, 즉, 수신 정보 플러스 수신 정보만을 표현하는데 필요한 그 이상의 비트를 갖는 간섭의 디지털 표현을 생성하는 샘플러(304)에 의해 샘플링된다. 소프트 데이터는 바람직하게는 시스템 버스(310)를 통해 터보 디코더(306)로 전송된다. 기능적으로, 대시 화살표(312)로 도시된 바와 같이, 그것은 소프트 데이터가 터보 디코더(306)로 직접 제공되는 것으로 간주될 수 있다. 터보 디코더(306)는 디코딩된 신호를 출력하고, 이 신호는 수신기의 다른 부품에 의해 추가로 처리된다.
상이한 전송 모드 및 레이트는 서로 다른 세트의 소프트 값을 제공한다. WCDMA는 모든 어드레스에 대하여 {R1, R1P1, R2P1} 세트를 제공한다. CDMA2000과 레이트 1/2은 짝수 어드레스에 대하여 {R1, R1P1} 세트를 제공하고 홀수 어드레스에 대하여 {R1, R2P1} 세트를 제공한다. CDMA2000과 레이트 1/3은 모든 어드레스에 대하여 {R1, R1P1, R2P1}을 제공한다. CDMA 및 레이트 1/4는 짝수 어드레스에 대하여 {R1, R1P1, R1P2, R2P2}를 제공하고 홀수 어드레스에 대하여 {R1, R1P1, R2P1, R2P2}를 제공한다. CDMA2000 및 레이트 1/5는 모든 어드레스에 대하여 {R1, R1P1, R1P2, R2P1, R2P2}를 제공한다. 이것은 송신기에서 인코딩 기법에 의해 부여된다.
도 4는 본 발명의 실시예에 따른 터보 디코더를 도시한다. 터보 디코더는 터보 디코더 코어(400) 및 입력 버퍼(402)를 포함한다. 터보 디코더 코어(400)는 제1 SISO 디코더(404) 및 제2 SISO 디코더(406)를 포함한다. 제1 SISO 디코더(404)로 경로지정되는 데이터의 일부는 제1 인터리버(408)에 의해 인터리빙되고, 제2 SISO 디코더(406)로 경로지정된다. 각각의 디코더(404, 406)는 다른 SISO 디코더(404, 406)에 의해 사전 정보로서 사용되는 우선 순위 정보를 생성한다. 즉, 제1 SISO 디코더(404)로부터의 우선 순위 정보는 제2 인터리버(410)에 의해 인터리빙되고, 제2 SISO 디코더(406)로 제공된다. 제2 SISO 디코더(406)로부터의 우선 순위 정보는 제1 디인터리버(412)에 의해 디인터리빙되고, 제1 SISO 디코더(404)로 제공된다. 제2 SISO 디코더는 아마도 어떤 신호가 전송되었는지를 지시하는 확률 인자(∧)를 생성한다. ∧는 제2 인터리버(414)에 의해 디인터리빙되고, 추가의 프로세싱을 위해 출력된다.
소프트 데이터(416)는 시스템 버스로부터 또는 샘플러로부터 직접 입력 버퍼(402)로 전달된다. 입력 버퍼(402)는 데이터 재배치 및 데이터 버퍼링 모두를 수행한다. 이를 하기 위해, 복수의 제어 신호(418, 420, 422)가 제공된다. 제1 제어 신호(418)는 전송 모드, 전송 레이트 및 입력 구성에 관한 정보를 입력 버퍼(402)에 적용한다. 제2 제어 신호(420)는 기록 어드레스 및 기록 제어에 관한 정보를 입력 버퍼(402)에 적용한다. 제3 제어 신호(422)는 판독 어드레스 및 판독 제어에 관한 정보를 입력 버퍼(402)에 적용한다. 제어 신호의 기능 및 이들이 사용되는 방법이 후술된다.
도 5는 본 발명의 실시예에 따른 입력 버퍼(500)를 도시한다. 입력 버퍼(500)는 버스(501)로부터 입력되는 소프트 데이터를 재배치하도록 정렬된다. 도 9는 32 비트 버스가 4 비트 소프트 데이터를 전달할 때 가능한 버스 구성의 예를 도시한다. 버스를 채우는 상이한 구성은 전송 모드에 의존한다. 예를 들면, 32 비트 상에 4, 8, 16 또는 32 비트의 소프트 데이터가 정렬될 수 있고, 그 데이터를 임의의 방향으로 인덱싱하는 것이 가능하다. 이것은, 예를 들면, 32 비트 데이터 버스 상에, xxxxxxx, 0x0x0x0x, 000x000x, 0000000x가 있을 수 있으며, 여기에서, x는 4 비트 소프트 데이터이고, 0은 4 비트의 미사용 데이터일 수 있다. 이들 소프트 데이터는 시스템 소프트웨어에 추가의 융통성을 부가하면서 스위칭될 수 있다. 64 또는 128 비트 데이터 버스 또는 임의의 폭의 버스, 그리고 임의의 사이즈, 예를 들면, 6 또는 8 비트의 소프트 데이터에 대하여, 유사한 방식으로 데이터 정렬이 이루어 질 수 있다.
도 5를 다시 참조하면, 입력 버퍼는 멀티플렉서(502), 구성 레지스터(504), 유한 상태 머신(506), 복수의 어드레스 및 제어 레지스터(508) 및 복수의 버퍼(510, 512, 514, 516, 518)를 포함한다.
각각의 소프트 입력 내에서, 인덱싱 방향과는 독립적인 동일 순서로 비트가 제공된다. 상이한 버스 구성 및 전송 모드 및 레이트 핸들링을 위해, 구성 레지스터(504)가 프로그래밍된다. 따라서, 표준에 따라, 전송 모드가 WCDMA와 CDMA2000인지, 레이트가 1/2, 1/3, 1/4 및 1/5인지, 그리고 몇몇 데이터 버스 입력 구성 중 몇개가 존재하는지를 판정한다.
유한 상태 머신(506)은 멀티플렉서(502)와 어드레스 및 제어 생성기(508)를 제어한다. 유한 상태 머신(506)에는 입력 버퍼의 충전 동안 시스템 컨트롤러로부 터의 기록 어드레스 및 제어 신호(522)가 제공된다. 유한 상태 머신은 또한 구성 레지스터(504)로부터의 정보 신호를 얻는다. 이들 신호에 따라, 유한 상태 머신(506)은 후술하는 바와 같이 멀티플렉서(502)를 제어한다.
유한 상태 머신(506)의 상태 전이는, 터보 디코더로의 기록이 수행될 때, 버스 클록에 동기하여 발생한다. 전송 모드 및 레이트에 대한 과정의 예가 도 6에 도시되어 있다.
도 6에서, 예에는 버스 구성이 구성 6, 즉, 4 비트 정렬된다는 것을 결정된다. 또한, 전송 모드가 CDMA2000이고 전송 레이트가 1/3이라는 것이 결정된다. 그러면, 유한 상태 머신은 구성 레지스터가 설정되었을 때 idle_state(600) 로부터 r3_c6_init_state(602)까지의 전이에 의해 결정되는 조건에 따라 브랜치(branch)를 입력한다. 입력 메모리 영역으로의 기록이 수행될 때마다, 유한 상태 머신은, 예를 들면, r3_c6_init_state(602)로부터 r3_c6_1_state(604)로, r3_c6_1_state(604)로부터 r3_c6_2_state(606) 또는 r3_c6_2_state(606)으로부터 r3_c6_init_state(602)로 그 다음 상태를 입력한다. 또 다른 전송 모드에 대하여, 전송 레이트 또는 입력 구성, idle_state(600)으로부터 임의의 다른 상태의 브랜치로의 전이, 및 상태의 그 브랜치의 상태 간 대응하는 전이가 수행된다. 기록 스트로브(strobe)가 동결(frozen)될 때, 유한 상태 머신은 현재 상태에 머물러 있는다. 기록 스트로브가 어드레스 및 데이터와 함께 시스템 버스로부터 들어온다. 블록이 버퍼링되는 때, 상태 머신은 idle_state(600)로 리턴한다. 각 상태에 대하여, 멀티플렉서에 소프트 데이터의 특정 멀티플렉싱 기법이 적용된다. 동시에, 어드레스 및 제어 생성기에 대한 신호가 유한 상태 머신 출력으로부터 멀티플렉싱 기법과 함께 동시에 생성된다. 이것은, 각 상태에서, 각각의 개별 어드레스 증분이 설정(또는 미설정)되고, 각각의 유효 기록 인에이블 신호가 설정(또는 미설정)된다는 것을 의미한다. 즉, 터보 디코더 입력 버퍼의 독립적인 충전을 가능하게 하도록 복수의 메모리 포트 각각에 대한 어드레스 및 기록 인에이블 신호가 존재한다.
도 7은 버퍼(700, 702, 704, 706, 708)의 충전을 도시한다. 32 비트 버스가 사용되고 4 비트(니블(nobble)) 소프트 값이 제공될 때 최대로 고려되는 네개의 어드레스를 동시에 기록할 수 있도록, 두개의 뱅크로 그룹화된 더블-포트 메모리(710, 711, 712, 713, 714, 715, 716, 717, 718, 719)가 사용되고, 여기에서 메모리(710, 712, 714, 716, 718)는 하나의 뱅크를 형성하여 짝수 어드레스용으로 사용되고, 메모리(711, 713, 715, 717, 719)가 다른 뱅크를 형성하여 홀수 어드레스용으로 사용된다. 물론, 다른 구성, 예를 들면, 단일-포트 메모리의 네개의 뱅크 또는 실제 버스에 제공될 수 있는 동일 수의 어드레스를 동시에 기록할 수 있는 임의의 구성이 가능하다. 그러나, 제한적인 것은 아니지만, 설명의 목적으로 본 명세서에서는 32 비트 버스가 CDMA2000과 관련되는 4 비트 정렬 소프트값을 전달하고, 레이트 1/3, 즉, R1, R1P1 및 R2P1 버퍼가 버스 구성 6, 즉, 4 비트 정렬에서 모든 어드레스에 대하여 사용된다.
제1 클록 펄스(클록 싸이클 0) 동안, 8개의 니블(720, 721, 722, 723, 724, 725, 726, 727)이 버스에 제공된다. 전송 모드가 WCDMA이기 때문에, 단지 R1, R1P1 및 R2P1만이 각 어드레스에 대하여 제공되는데, 즉, 각 어드레스는 세개의 니 블을 점유한다. 어드레스 0과 관계된 R1, R1P1 및 R2P1를 포함하는 세개의 제1 니블(720, 721, 722)을 고려한다. 따라서, 짝수 어드레스에 대하여 메모리(710, 712, 714, 716, 718)를 포함하는 메모리 뱅크에 제1 니블이 로딩된다. 메모리(714 및 718)은 상기 구성 동안 사용되지 않고 영(nil) 값으로 로딩된다. 메모리(710, 712, 716)에는 어드레스 0과 관계된 니블과 함께, 즉, R1, R1P1 및 R2P1 버퍼(700, 702, 706) 각각의 제1 위치에 로딩된다. 그들은 메모리(710, 712, 716)의 포트 1(본 명세서에서는 우측 화살표로 표기됨)을 통해 모두 로딩된다. 동시에, 그 다음의 세개의 니블(723, 724, 725), 즉, 어드레스 1과 관계된 니블이 홀수 어드레스용 메모리 뱅크의 메모리(711, 713, 717)에 로딩되고, 또한 동시에, 나머지 두개의 니블, 즉, 어드레스 2와 관련된 니블이 짝수용 메모리 뱅크의 메모리(710, 712)에 로딩된다. 그러나, 짝수 어드레스 메모리 뱅크의 메모리(710, 712, 716)의 포트 1은 어드레스 0에 관계된 니블(720, 721, 722)에 의해 점유되어 있다. 따라서, 어드레스 2와 관계된 니블(726, 727)은 짝수 어드레스 메모리 뱅크에 기록되도록, 본 명세서에서는 좌측 화살표로 표기된 포트 2를 사용할 것이다. 기록 스트로브를 사용하여 니블(726, 727)을 메모리(710, 712)의 정확한 위치, 즉, 한 단계 증분된 위치에 기록한다. 그 다음 클록 싸이클(클록 싸이클 1)에서, 제1 니블(728)은 어드레스 2와 관계되어 있고, 따라서, 포트 1 상의, 짝수 어드레스용 메모리 뱅크의 메모리(716)에 로딩된다. 그 다음 세개의 니블(729, 730, 731)은 어드레스 3과 관계되어 있고, 포트 1 상의 홀수 어드레스용 메모리 뱅크의 메모리(711, 713, 717)로 로딩된다. 후속하는 세개의 니블(732, 733, 734)은 어드레스 4와 관계되어 있고, 짝수 어드레스용 메모리 뱅크의 메모리(710, 712, 714)로 로딩된다. 메모리(716), 즉, 짝수 어드레스용 R2P1 버퍼의 포트 1은 어드레스 2와 관계된 니블(728)을 기록함으로써 점유된다는 것을 주목하자. 따라서, 어드레스 4와 관계된 니블(734)은 본 명세서에서 좌측 화살표로 표기된 포트 2를 통해 기록된다. 이 클록 싸이클의 마지막 니블(735)은 어드레스 5와 관계되어 있고, 어드레스 3과 관계된 니블(729)을 기록함으로써 포트 1이 점유되어 있기 때문에, 홀수 어드레스용 메모리(711)의 포트 2를 통해 기록된다. 상기 과정은 클록 싸이클 2 동안 유사한 방식으로 반복되고, 여기에서 어드레스 5와 관계된 나머지 니블(736, 737), 및 어드레스 6 및 7과 관계된 니블(738, 739, 740, 741, 742, 743)은 버퍼(700, 702, 706)로 로딩된다. 이 경우에 버퍼를 균등하게 충전하기 위해 3 싸이클이 필요하기 때문에, 상기 과정은 전체에 걸쳐 다시 시작될 수 있다.
도 8은 상이한 전송 모드 및 버스 구성에 대한 클록 싸이클의 필요한 수의 테이블을 도시하고, 도 9는 도 8에 언급된 버스 구성을 도시한다. 따라서, 유한 상태 머신의 브랜치의 상태의 수가 적절히 선택된다.
전술한 과정은 세개의 클록 싸이클 동안, 즉, 도 6의 상태 머신의 세개의 상태(602, 604, 및 606) 동안 수행된다. 따라서, 버퍼가 디코더에 의해 액세스될 수 있도록 소프트 데이터에 의해 버스로부터 버퍼가 로딩되고, 디코더는 정확하게 재배치된 방식으로 소프트 데이터를 수신하게 된다.
도 5를 참조하면, 시스템 버스로부터, 또는 샘플러로부터 직접의 소프트 데이터(501)가 멀티플렉서(502)로 이송된다. 유한 상태 머신(506)에 의해 제공되는 멀티플렉싱 기법에 따라, 전술한 바와 같이 멀티플렉서(502)가 데이터를 복수의 입력 버퍼(510, 512, 514, 516, 518)에 인가하여, 적절한 재배치가 수행된다.

Claims (9)

  1. 무선 인터페이스(302), 샘플러(304), 디코더(306) 및 상기 샘플러(304)와 디코더(306)에 접속된 버스(310, 416, 510)를 포함하는 수신기(300)로서,
    상기 샘플러(304)는 상기 무선 인터페이스(302)에 의해 수신되는 신호에 기초하여 소프트 데이터를 생성하도록 구성되고,
    상기 디코더(306)는 상기 샘플러(304)로부터 상기 소프트 데이터를 수신하도록 구성되며,
    상기 디코더는 재배치(re-ordering) 수단(402, 500) 및 디코더 코어(400)를 포함하고,
    여기에서, 상기 재배치 수단(402, 500)은 멀티플렉서(502), 유한 상태 머신(506) 및 복수의 버퍼(510, 512, 514, 516, 518, 700, 702, 704, 706, 708)를 포함하고,
    상기 유한 상태 머신(506)은 상기 버스(310, 416, 510)로부터 상기 버퍼(510, 512, 514, 516, 518, 700, 702, 704, 706, 708)를 로딩하도록 상기 멀티플렉서(502)를 제어하여, 상기 버퍼(510, 512, 514, 516, 518, 700, 702, 704, 706, 708)의 출력이 상기 디코더 코어(400)에 의해 디코딩 가능하게 되도록 정렬되는
    수신기.
  2. 제1항에 있어서,
    버스 구성, 전송 모드 및 레이트(rate)를 지시하는 정보를 유지하도록 구성된 구성 레지스터(504)를 더 포함하는 수신기.
  3. 제1항 또는 제2항에 있어서,
    상기 유한 상태 머신에 의해 제어되고, 상기 버퍼(510, 512, 514, 516, 518, 700, 702, 704, 706, 708)에 소프트 데이터를 기록하는 것을 제어하도록 정렬된 복수의 어드레스 및 제어 생성기(508)를 더 포함하는 수신기.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 복수의 버퍼(510, 512, 514, 516, 518, 700, 702, 704, 706, 708)는 다섯개의 버퍼(510, 512, 514, 516, 518, 700, 702, 704, 706, 708)를 포함하고, 각각은 복수의 소프트 데이터로 동시에 로딩되도록 정렬되는 수신기.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 디코더(306)는 터보 디코더를 포함하는 수신기.
  6. 제5항에 있어서,
    상기 디코더(306)는 비터비 디코더를 더 포함하는 수신기.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 복수의 버퍼(510, 512, 514, 516, 518, 700, 702, 704, 706, 708) 각각은 독립적인 2 포트 메모리(710, 711, 712, 713, 714, 715, 716, 717, 718, 719)의 두개의 뱅크를 포함하는 수신기.
  8. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 복수의 버퍼 각각은 독립적인 단일 포트 메모리의 네개의 뱅크를 포함하는 수신기.
  9. 수신 방법으로서:
    무선 신호를 수신하고 복조하는 단계;
    상기 복조된 무선 신호를 샘플링함으로써 소프트 데이터를 생성하는 단계;
    버스 상의 상기 소프트 데이터를 디코더로 전송하는 단계;
    상기 소프트 데이터를,
    전송 모드 및 버스 구성을 결정하고,
    상기 결정된 전송 모드 및 버스 구성에 따라 유한 상태 머신의 브랜치의 초기화 상태를 입력하며,
    버스 상에 제공된 수신 소프트 데이터 세트 각각에 대하여 상기 유한 상태 머신의 상태들 간 전이를 수행하고,
    상기 유한 상태 머신의 상태에 따라 상기 소프트 데이터를 복수의 버퍼로 멀티플레싱하며,
    상기 멀티플렉싱된 데이터를 상기 복수의 버퍼로 기록함으로써 재배치하여 버퍼링하는 단계;
    상기 복수의 버퍼로부터의 상기 버퍼링된 소프트 데이터를 터보 디코더로 출력하는 단계; 및
    상기 터보 디코더에 의해 상기 소프트 데이터를 디코딩하는 단계
    를 포함하는 수신 방법.
KR1020067026485A 2004-05-18 2005-05-17 터보 디코더 입력 재배치 KR20070029744A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04300290 2004-05-18
EP04300290.6 2004-05-18

Publications (1)

Publication Number Publication Date
KR20070029744A true KR20070029744A (ko) 2007-03-14

Family

ID=34967071

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067026485A KR20070029744A (ko) 2004-05-18 2005-05-17 터보 디코더 입력 재배치

Country Status (6)

Country Link
US (1) US9071279B2 (ko)
EP (1) EP1751874A1 (ko)
JP (1) JP2007538452A (ko)
KR (1) KR20070029744A (ko)
CN (1) CN1954503A (ko)
WO (1) WO2005112273A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110087949A1 (en) * 2008-06-09 2011-04-14 Nxp B.V. Reconfigurable turbo interleavers for multiple standards
CN102006251B (zh) * 2010-11-23 2013-06-05 山东大学 一种MIMO无线通信接收机的Turbo增强方法
CN102006250B (zh) * 2010-11-23 2013-06-05 山东大学 一种MIMO-SCFDE无线通信接收机的Turbo增强方法
CN102082628B (zh) * 2010-11-23 2013-04-24 山东大学 一种MIMO无线通信接收机的带排序Turbo增强方法
US9473177B2 (en) 2014-11-26 2016-10-18 Freescale Semiconductor, Inc. Turbo decoder with a low-power input format and associated method

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2864988B2 (ja) * 1994-06-21 1999-03-08 日本電気株式会社 軟判定信号出力形受信機
US5574751A (en) * 1995-04-24 1996-11-12 Motorola, Inc. Method for a soft-decision modulation system
US5924121A (en) * 1996-12-23 1999-07-13 International Business Machines Corporation Adaptive writeback of cache line data in a computer operated with burst mode transfer cycles
KR100253366B1 (ko) * 1997-12-03 2000-04-15 김영환 엠펙용 가변길이코드 디코더
EP1311069A1 (en) * 1998-05-28 2003-05-14 Sony Corporation Soft output decoding apparatus and method for convolutional code
US6484283B2 (en) * 1998-12-30 2002-11-19 International Business Machines Corporation Method and apparatus for encoding and decoding a turbo code in an integrated modem system
US6499128B1 (en) * 1999-02-18 2002-12-24 Cisco Technology, Inc. Iterated soft-decision decoding of block codes
EP1030457B1 (en) 1999-02-18 2012-08-08 Imec Methods and system architectures for turbo decoding
JP3670520B2 (ja) * 1999-06-23 2005-07-13 富士通株式会社 ターボ復号器およびターボ復号装置
US7031406B1 (en) * 1999-08-09 2006-04-18 Nortel Networks Limited Information processing using a soft output Viterbi algorithm
KR100580160B1 (ko) * 1999-09-14 2006-05-15 삼성전자주식회사 변형된 역추적 방식의 2단 연출력 비터비 알고리즘 복호화기
US6901117B1 (en) * 2000-02-10 2005-05-31 Motorola, Inc. Soft output decoder for convolutional codes
US6856657B1 (en) * 2000-02-10 2005-02-15 Motorola, Inc. Soft output decoder for convolutional codes
EP1128560B1 (en) * 2000-02-21 2004-01-28 Motorola, Inc. Apparatus and method for performing SISO decoding
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
US6307901B1 (en) * 2000-04-24 2001-10-23 Motorola, Inc. Turbo decoder with decision feedback equalization
US6829313B1 (en) * 2000-07-17 2004-12-07 Motorola, Inc. Sliding window turbo decoder
SG97926A1 (en) * 2000-08-29 2003-08-20 Oki Techno Ct Singapore Pte Soft-in soft-out decoder used for an iterative error correction decoder
US6452979B1 (en) * 2000-09-06 2002-09-17 Motorola, Inc. Soft output decoder for convolutional codes
US7242726B2 (en) * 2000-09-12 2007-07-10 Broadcom Corporation Parallel concatenated code with soft-in soft-out interactive turbo decoder
US6393076B1 (en) * 2000-10-11 2002-05-21 Motorola, Inc. Decoding of turbo codes using data scaling
US6813742B2 (en) * 2001-01-02 2004-11-02 Icomm Technologies, Inc. High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
US8112698B2 (en) * 2008-07-15 2012-02-07 Icomm Technologies Inc. High speed turbo codes decoder for 3G using pipelined SISO Log-MAP decoders architecture
US6799295B2 (en) * 2001-01-02 2004-09-28 Icomm Technologies, Inc. High speed turbo codes decoder for 3G using pipelined SISO log-map decoders architecture
JP3714910B2 (ja) * 2001-02-20 2005-11-09 株式会社エヌ・ティ・ティ・ドコモ ターボ受信方法及びその受信機
US6901119B2 (en) * 2001-02-22 2005-05-31 International Business Machines Corporation Method and apparatus for implementing soft-input/soft-output iterative detectors/decoders
DE10214393A1 (de) 2001-03-27 2003-02-06 Univ Dresden Tech Verfahren zur iterativen Decodierung von verketteten Codes
US6392572B1 (en) 2001-05-11 2002-05-21 Qualcomm Incorporated Buffer architecture for a turbo decoder
KR20030005768A (ko) * 2001-07-10 2003-01-23 삼성전자 주식회사 비터비 디코더의 상태 메트릭 연산 장치
KR100438537B1 (ko) * 2001-07-19 2004-07-03 엘지전자 주식회사 이동 통신 단말기에서의 복호 장치 및 그 제어 방법
US6996767B2 (en) * 2001-08-03 2006-02-07 Combasis Technology, Inc. Memory configuration scheme enabling parallel decoding of turbo codes
EP1335541B1 (en) * 2002-02-01 2006-06-28 ASUSTeK Computer Inc. Stall avoidance methods using harq process receiving status
JP3887255B2 (ja) * 2002-03-25 2007-02-28 富士通株式会社 反復復号を用いたデータ処理装置
US6901063B2 (en) * 2002-05-13 2005-05-31 Qualcomm, Incorporated Data delivery in conjunction with a hybrid automatic retransmission mechanism in CDMA communication systems
US7065695B2 (en) * 2002-05-31 2006-06-20 Broadcom Corporation Metric calculation design for variable code rate decoding of broadband trellis, TCM, or TTCM
US7107509B2 (en) * 2002-08-30 2006-09-12 Lucent Technologies Inc. Higher radix Log MAP processor
US7340013B2 (en) * 2002-10-24 2008-03-04 Agere Systems Inc. Soft sample scaling in a turbo decoder
US20040153942A1 (en) * 2003-01-24 2004-08-05 Nathan Shtutman Soft input soft output decoder for turbo codes
CN1523797B (zh) * 2003-02-17 2012-07-04 北京三星通信技术研究有限公司 Wcdma系统增强型上行专用信道harq的重排序方法
DE10310812B4 (de) * 2003-03-12 2007-11-22 Infineon Technologies Ag Dekodiervorrichtung, Trellis-Prozessor und Verfahren
EP1465369A1 (en) * 2003-03-31 2004-10-06 Matsushita Electric Industrial Co., Ltd. Reset synchronisation method for a retransmission protocol
US7434145B2 (en) * 2003-04-02 2008-10-07 Qualcomm Incorporated Extracting soft information in a block-coherent communication system
US6865098B1 (en) * 2003-05-30 2005-03-08 Netlogic Microsystems, Inc. Row redundancy in a content addressable memory device
US7609297B2 (en) * 2003-06-25 2009-10-27 Qst Holdings, Inc. Configurable hardware based digital imaging apparatus
JP4217887B2 (ja) * 2003-07-22 2009-02-04 日本電気株式会社 受信装置
US7218690B2 (en) * 2003-07-24 2007-05-15 Bae Systems Information And Electronic Systems Integration Inc. Hybrid turbo-mud for multiple access systems
US7249213B2 (en) * 2003-08-18 2007-07-24 Silicon Storage Technology, Inc. Memory device operable with a plurality of protocols with configuration data stored in non-volatile storage elements
US7236546B2 (en) * 2003-09-10 2007-06-26 Bae Systems Information And Electronic Systems Integration Inc. Pipelined turbo multiuser detection
US7159169B2 (en) * 2003-09-11 2007-01-02 Intel Corporation Apparatus and methods for forward error correction decoding
US7272771B2 (en) * 2003-10-30 2007-09-18 Nokia Corporation Noise and quality detector for use with turbo coded signals
US20050180312A1 (en) * 2004-02-18 2005-08-18 Walton J. R. Transmit diversity and spatial spreading for an OFDM-based multi-antenna communication system
US7760880B2 (en) * 2004-10-13 2010-07-20 Viasat, Inc. Decoder architecture system and method
US20070136640A1 (en) * 2005-12-14 2007-06-14 Jarrar Anis M Defect detection and repair in an embedded random access memory

Also Published As

Publication number Publication date
JP2007538452A (ja) 2007-12-27
EP1751874A1 (en) 2007-02-14
WO2005112273A1 (en) 2005-11-24
US9071279B2 (en) 2015-06-30
CN1954503A (zh) 2007-04-25
US20070242781A1 (en) 2007-10-18

Similar Documents

Publication Publication Date Title
KR100671075B1 (ko) 터보 코딩의 사용을 용이하게 하기 위한 디코더, 디코딩 시스템 및 디코딩 방법
EP1856807B1 (en) Parallel turbo decoders with multiplexed output
US7386691B2 (en) Electronic device for reducing interleaving write access conflicts in optimized concurrent interleaving architecture for high throughput turbo decoding
US6434203B1 (en) Memory architecture for map decoder
US7139862B2 (en) Interleaving method and apparatus with parallel access in linear and interleaved order
JP2005522963A (ja) 物理レイヤ処理において使用するためのソフトウェアパラメータ化可能な制御ブロック
US8719658B2 (en) Accessing memory during parallel turbo decoding
KR20070029744A (ko) 터보 디코더 입력 재배치
EP0899887A2 (en) Low-power-consumption viterbi decoder
US8640004B2 (en) Data rearrangement for decoder
US6580767B1 (en) Cache and caching method for conventional decoders
US7502990B2 (en) Method and device for handling write access conflicts in interleaving for high throughput turbo-decoding
KR100628201B1 (ko) 터보 디코딩 방법
CA2340366C (en) Memory architecture for map decoder
US7752530B2 (en) Apparatus and method for a collision-free parallel turbo decoder in a software-defined radio system
EP1315090A1 (en) Memory access controller
EP1550225B1 (en) Memory for turbo decoder
US7899022B2 (en) Block de-interleaving system
US20060029167A1 (en) Apparatus and method for sharing viterbi decoder in mobile communication system
JP2002271209A (ja) ターボ符号器およびターボ復号器
US8200733B1 (en) Device having interleaving capabilities and a method for applying an interleaving function
Wang et al. Efficient interleaver memory architectures for serial turbo decoding
Richter et al. Interleaving on parallel DSP architectures
MXPA01001657A (en) Memory architecture for map decoder
KR20070058758A (ko) 시간 디인터리빙 장치 및 방법

Legal Events

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