KR20020035595A - 병렬 터보 부호기 구현 - Google Patents

병렬 터보 부호기 구현 Download PDF

Info

Publication number
KR20020035595A
KR20020035595A KR1020027003287A KR20027003287A KR20020035595A KR 20020035595 A KR20020035595 A KR 20020035595A KR 1020027003287 A KR1020027003287 A KR 1020027003287A KR 20027003287 A KR20027003287 A KR 20027003287A KR 20020035595 A KR20020035595 A KR 20020035595A
Authority
KR
South Korea
Prior art keywords
turbo encoder
parallel
turbo
block
max
Prior art date
Application number
KR1020027003287A
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 KR20020035595A publication Critical patent/KR20020035595A/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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • H03M13/235Encoding of convolutional codes, e.g. methods or arrangements for parallel or block-wise encoding
    • 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/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

처리 속도가 증가된 터보 부호기 블록을 달성하기 위해, n 차 병렬화의 수행이 제안된다. 그 결과, 각 병렬화 터보 부호기 블록은 병렬화 터보 부호화 블록으로의 입력 신호 I(t)의 n개의 샘플(I(t-1),…,I(t-n))을 저장하는 저장 유니트(I0,…,I7) 및, 병렬화 터보 부호화 블록의 하나 이상의 출력 신호 Qj(t)(j=1,…,M)의 n개의 샘플(Qj(t),…,Qj(t-(n-1)))을 저장하는 하나 이상의 저장 유니트(Q0,…,Q7)을 포함한다. 또한, 병렬화 터보 부호기 블록은 n개의 지연 유니트(X1,…,XN)의 뱅크를 포함하고, 상기 뱅크의 둘 이상의 지연 유니트(X1,…,XN)에서, 입력 신호 I(t)의 n개의 샘플(I(t-1),…,I(t-n))의 서브셋이 직접 수신되며, 병렬화 터보 부호기 블록의 하나 이상의 지연 유니트(X1,…,XN)의 출력 신호는 병렬화 터보 부호기 블록의 둘 이상의 지연 유니트로 공급되도록, 입력 신호 I(t)의 n개의 샘플을 병렬 처리하는데 적합하다.

Description

병렬 터보 부호기 구현{Parallel turbo coder implementation}
전기 통신 시스템의 송신기의 베이스 밴드 부분은 통상적으로 다른 부분과 함께, 송신되는 비트용의 일반적인 부호기를 포함한다. 부호기는 용장 정보를 K 비트의 입중계 데이터 스트림에 부가한다. 따라서, 비트의 수는 부호율(coder rate) r에 따른 인자 1/r 만큼 증가된다. 현재, 다른 부호율도 가능하지만, 1/2 및 1/3의 부호율이 일반적으로 사용된다. K 비부호화(uncoded) 비트의 각 블록에 따라서, 부호기는 K/r 부호화(coded) 비트의 블록을 출력한다.
전기 통신 시스템의 데이터 스트림에 대한 수신측에서, 원본 데이터 스트림은, 일부 비트가, 예를 들면, 무선 인터페이스를 통해 전송 중에 훼손되는 경우에도, 수신기에서 부호화 데이터 블록으로부터 재연산된다.
최근, 터보 부호기는 전기 통신 데이터의 전송을 위한 에러 제어의 목적을 위해 도입되어 왔다. 일반적으로, 터보 부호화는 전송전에 둘 이상의 성분 코드를 상이한 인터리브(interleaved) 버전의 동일 정보 시퀀스(sequence)에 적용하는 단계를 포함한다. 터보 부호화는, 예를 들면, Berrou 등의 IEEE 국제 통신 협회, pp.1064-1070, 1993년 5월호, "유사 샤논(near Shannon) 제한 에러 - 정정 부호기 및 복호기: 터보-코드", 및 Sklar의 IEEE 통신 잡지, pp. 94-102, 1997년 12월호, "터보 코드 개념의 입문"과 같은 당해 기술 분야에 잘 공지되어 있기 때문에, 본원에서는 자세히 설명하지 않고, 상술한 참조 문헌은 본원에 참조로서 결부된다.
터보 부호기에 관한 예가 도 8에 도시된다. 도 8에 도시된 바와 같이, 터보 부호기는 동일한 구조를 갖는 두개의 터보 부호기 블록(TCB1,TCB2)으로 구성된다. 상기 두개의 터보 부호기 블록에 관한 차이점은, 하나는 입력 블록의 비트를 변경되지 않은 순서로 수신하는 반면, 다른 하나는 입력 비트를 인터리브 순서로 수신한다는 점이다. 각 입력 비트에 대해, 예를 들면, 3개의 출력 비트가 출력 0, 1, 및 2에서 제각기 발생된다.
도 8에 도시된 바와 같이, 터보 부호기 블록(TCB1)은 입력의 제 1 XOR 게이트(100) 및 출력의 제 2 XOR 게이트(102)를 포함한다. 그 사이에, 각 입력 비트를 지연하기 위한 3개의 지연 유니트(104 내지 108)가 배치된다. 유사하게, 터보 부호기 블록(TCB2)은 입력의 제 3 XOR 게이트(110) 및 출력의 제 4 XOR 게이트(112)를 포함한다. 그 사이에, 각 입력 비트를 지연하는 3개의 지연 유니트(114 내지 118)가 배치된다.
도 8에 도시된 바와 같이, 터보 부호기로의 입력 신호는 터보 부호기 블록(1)으로 직접 공급되는 한편, 인터리버(interleaver)(120)를 통해 제 2 터보 부호기 블록(TCB2)으로 공급된다. 출력 0에 대해, 입력 신호는 어떠한 변형 없이 직접 전송된다.
동작상, 도 8에 도시된 터보 부호기에 대한 파라미터는 각 터보 부호기 블록의 지연 유니트의 수 및 상이한 XOR 게이트(100,102,110,112)에 대한 입력 신호 공급의 수이다.
도 8에 도시된 터보 부호기의 간단한 구현(implementation)은, 터보 부호화가 비트와이즈(bitwise) 방식으로 실행되도록, 입력 및 출력 레지스터(도 8에 미도시)뿐만 아니라 지연 유니트의 사용에 의존한다. 여기서, 모든 지연 유니트는, 지연 유니트의 출력이 이전 클럭 주기에서의 입력을 나타내도록, 동일 시스템 클럭에 의해 동작된다.
지연 유니트를 직렬 방식으로 이용한 터보 부호기의 간단한 구현은 다수의 레지스터 및 XOR 게이트가 필요 없지만, 주요한 단점은 터보 부호화가 직렬 방식으로 실행된다는 점이다. 이는, 시스템 클록의 주기 당 단지 하나의 비트만이 부호화됨을 의미한다. 결론적으로, 고속 비트 전송율이 필요한 경우, 시스템 클럭 주파수는 매우 큰 값으로 증가될 것이다.
예를 들면, 각각이 1㎳의 시간 주기에서 100비트를 갖는 음성 채널과 관련된 1200 채널이 부호화되어야 하는 경우, 필요한 시스템 클럭 주파수는 120㎒이다.
여기서, 예를 들면, ASIC 또는 FPGA 기법을 사용하여 관련된 터보 부호기를 구현하는 것은 매우 곤란하다.
하나의 해결법은 각 채널에 대한 전용 터보 부호기를 구현하는 것이지만, 이는, 여전히 상이한 채널이 병렬로 부호화되어야 하기 때문에, 입력 및 출력 비트 스트림의 복잡한 처리가 필요하다. 이는, 정확한 시간에 적절한 입력을 적절한 터보 부호기로 공급하기 위해 매우 복잡한 제어 논리를 초래한다. 또한, 상이한 터보 부호기의 출력도 복잡한 동일 방식으로 처리되어야 한다.
본 발명은 터보 부호기 구현에 관한 것으로써, 특히, 병렬화 터보 부호기의 구현에 관한 것이다.
도 1은 하나의 출력을 갖는 터보 부호기 블록의 회로도.
도 2는 다수의 출력을 갖는 터보 부호기 블록의 회로도.
도 3은 데이터 입력의 시계열(time sequential) 스트림을 병렬 입력 벡터로 매핑하고, 병렬 출력 벡터를 데이터 출력의 시계열 스트림으로의 매핑을 나타내는 도면.
도 4는 특정 터보 부호기 블록의 직렬 구현의 회로도.
도 5는 도 4에 도시된 터보 부호기 블록의 2비트 병렬 구현을 위한 회로도.
도 6은 도 4에 도시된 터보 부호기 블록의 4비트 병렬 구현을 위한 회로도.
도 7A는 도 4에 도시된 터보 부호기 블록의 8비트 병렬 구현의 입력 부분의 회로도.
도 7B는 도 4에 도시된 터보 부호기 블록의 8비트 병렬 구현의 출력 부분의 회로도.
도 8은 터보 부호화 블록(TCB1,TCB2)뿐만 아니라 인터리버를 포함하는 터보 부호기의 개략도.
상술한 것을 고려하여, 본 발명의 목적은 터보 부호기 블록의 처리 속도를 증가시키는 것이다.
본 발명에 따르면, 이런 목적은 터보 부호기의 병렬 실현을 통해 달성된다.
이전에는, 터보 부호기 블록의 구조는 일반적인 형식화 기술을 사용하여 처음으로 기술되는데, 이는 터보 부호기 블록의 병렬화를 위한 베이시스(basis)를 형성한다.
특히, 터보 부호기 블록으로의 입력 샘플은 n차원의 병렬 입력 벡터의 성분으로서 해석되는데, 여기서, n은 병렬화 차수이다.
터보 부호기 블록의 일반적인 형식화 기술은 이런 병렬 입력 벡터를 하나 이상의 병렬 출력 벡터로 매핑하는데 사용된다.
특히, 내부 상태 변수 치환(substitution) 처리는 일반적인 형식화 기술의 각 내부 상태 변수에 적용되는데, 내부 상태 변수의 표현 방식은 최대 시간 인덱스 성분에 대해 스캔(scan)되어, 이들 성분은 내부 상태 변수의 미리 결정된 시간 인덱스 치환 표현 방식을 이용한 역방향(backward) 시간 인덱스 전환(transition)을 수행함으로써 치환된다. 이들 치환 단계는, 각 내부 상태 변수의 표현 방식이 입력 벡터 성분 및, 터보 부호기의 내부 상태 변수가 병렬화 차수에 따라 지연되기 위한 값에만 의존될 때까지 반복된다.
또한, 치환 처리는 각 병렬 출력 벡터의 각 성분에 대해서도 수행된다. 다시, 각 출력 벡터의 각 벡터 성분의 표현 방식은 최대 시간 인덱스를 갖는 내부 상태 변수에 대해 스캔된 다음, 벡터 성분의 표현 방식의 역방향 시간 인덱스 전환은, 벡터 성분의 표현 방식이 입력 벡터 성분 및, 내부 상태 변수가 병렬화 차수에 따라 지연되기 위한 값에만 의존될 때까지 반복적으로 결정된다.
따라서, 본 발명에 따르면, 처리 속도를 증가시키기 위해 많은 직렬 터보 부호기 대신 하나의 병렬화 터보 부호기 블록만이 필요하도록, 터보 부호기 블록의 병렬화가 제안된다. 이는, 다수의 터보 부호기 블록에 대한 복잡한 입력 및 출력 제어가 필요 없다는 확고한 장점을 초래한다.
예를 들면, 4비트 병렬 터보 부호기 블록에 대해, 상술한 예의 합성 (resulting) 시스템 클럭 주파수는 30㎒의 범위이고, 따라서, FPGA 또는 ASIC 기술을 이용하여 용이하게 실현될 수 있다. 따라서, 병렬화 터보 부호기 블록 및 그로부터 산출되는 터보 부호기는, 미리 정해진 사양이 FPGA 또는 ASIC 기술-기반 구현을 이용하여 충족되도록, 병렬화 차수에 따라 직렬 터보 부호기에 의해 속도가 증가된다. 따라서, 병렬화 터보 부호기 블록은, 동시에 상이한 채널을 복잡하게 처리하지 않고도, 베이스 밴드 부분의 처리 지연이 적은 복잡한 전기 통신 시스템을 위한 베이시스를 형성할 수 있다.
또한, 병렬 터보 부호기 블록 및 관련된 터보 부호기는, 직렬 터보 부호기와 비교하면, 최소 부가 여분의 논리 게이트 및 레지스터만을 필요로 한다.
또한, 터보 블록의 이전 및 다음의 처리 블록도 병렬 처리 방식을 지원하는경우, 전체의 완전한 부호기 블록은 직렬 터보 부호기를 갖는 부호기 블록보다 작은 논리 및 레지스터가 필요하고, 약간의 부가 변환기(병렬 대 직렬 및 그 반대)가 필요하다.
본 발명의 다른 실시예에 따르면, 컴퓨터의 내부 메모리로 직접 로딩 가능한 컴퓨터 프로그램 제품(product)을 제공하는데, 이는, 컴퓨터상에서 실행되는 경우, 본 발명의 병렬화 방법에 따른 단계를 수행하기 위한 소프트웨어 코드부를 포함한다. 바람직하게는, 상기 소프트웨어 코드부는 VHDL 형태이다.
따라서, 본 발명은 병렬 터보 부호기 디자인을 빠르게 개발 및 수정하기 위한 베이시스를 달성할 수 있어, 개발 주기를 감소시키고, 상기 디자인을 상이한 하드웨어 기술, 예를 들면, ASIC 또는 FPGA로 제각기 매핑하는 것에 대한 유연성을 증가시킬 수 있다.
이하, 본 발명의 바람직한 실시예가 첨부된 도면을 참조하여 설명될 것이다.
이하, 본 발명의 바람직한 실시예가 도 1 내지 도 7을 참조하여 설명된다.
특히, 도 1 및 도 2에 도시된 바와 같은 터보 부호기 블록의 형식 기술은 본 발명에 따른 병렬화 방법의 기술에 대한 베이시스로서 제공될 것이다.
다음, 도 3을 참조하여, 데이터 입력의 시계열 스트림이 병렬화 터보 부호기 블록에서 처리될 병렬 입력 벡터로 어떻게 매핑될 수 있는지 및 이런 병렬화 터보 부호기 블록의 병렬 출력 벡터가 다시 데이터 출력의 시계열 스트림으로 어떻게 매핑될 수 있는지가 설명될 것이다.
연이어, 본 발명에 따른 병렬화 방법을 사용한 터보 부호기 블록의 병렬 구현에 대한 상이한 예가 도 4 내지 도 7을 참조로 하여 제공될 것이다.
1. 직렬 구현을 사용한 터보 부호기 블록의 일반 기술:
도 1은 직렬 구현을 이용한 터보 부호기 블록의 회로도를 도시한다.
도 1에 도시된 바와 같이, 터보 부호기 블록은, 예를 들면, 플립플롭과 같은 N개의 지연 유니트(X1,X2,…,XN)를 포함한다. 지연 유니트(X1,X2,…,XN)의 출력 신호를 제각기 x1(t), x2(t),…xN(t)라 칭하는데, t는 정수 시간 인덱스를 지시한다. 제 1 지연 유니트(X1)의 입력에는, 입력 XOR 게이트(12)가 제공되고, 최종 지연 유니트 (Xn)의 출력에는, 출력 XOR 게이트(14)가 제공된다.
도 1에 도시된 바와 같이, 입력 신호 I(t)는 입력 지연 유니트(16)를 통해 공급되고, 출력 XOR 게이트(14)의 출력 신호는 출력 지연 유니트(18)를 통해 전송된다.
도 1에 도시된 바와 같이, 출력 신호 x1(t), x2(t), …, xN(t)는 접속(α1, α2,…,αN)을 통해 입력 XOR 게이트(12)에 공급될 수 있다. 또한, 지연 유니트로의 입력 신호는 접속(β01,…,βN-1)을 통해 출력 XOR 게이트(14)로 공급될 수 있다. 또한, 지연 유니트(XN)의 출력은 접속(βN)을 통해 출력 XOR 게이트(14)로 공급된다.
각 접속(α12,…,αN)에, 또한, 각 접속(β01,…,βN)에 0 또는 1의 값을 형식적으로 할당함으로써, N개의 지연 유니트를 갖는 임의의 직렬 터보 부호기 블록 구현을 다음의 수학식에 따라 기술할 수 있다:
도 2에 도시된 바와 같이, 단일 출력을 갖는 터보 부호기 블록에 대한 위에서 주어진 일반적인 기술은 직렬 구현 방법을 사용하여 다수의 출력을 갖는 터보 부호기 블록으로 일반화될 수 있다.
도 1에서와 같이, 또한, 도 2는, 출력 신호를 다시 x1(t), x2(t), …, xN(t)라 칭하는 지연 유니트(X1,X2,…,XN)를 도시한다. 각 지연 유니트(X1,X2,…,XN)의 출력 신호 x1(t), x2(t), …, xN(t)는, 이미 도 1에 도시된 바와 같이, 접속(α12,…,αN)을 통해 입력 XOR 게이트(12)로 공급된다. 또한, 입력 데이터 스트림은 입력 지연 유니트(16)를 통해 입력 XOR 게이트(12)로 공급된다.
도 2에 도시된 직렬 터보 부호기 블록은, 다수의 출력 Q1(t), …, QM(t)이 제공된다는 점에서 상술한 터보 부호기 블록과 다르다. 도 2에 도시된 바와 같이, 각 출력에 대해, 관련된 출력 XOR 게이트(14-1,…,14-M)가 제공된다. 이런 각 출력 XOR 게이트(14-1,…,14-M)는 관련된 출력 지연 유니트(18-1,…,18-M)에 접속된다.
도 2에 도시된 바와 같이, 지연 유니트(X1,X2,…,XN)로의 각 입력은 접속 (β1,01,11,21,N-1)을 통해 제 1 출력 XOR 게이트(14-1)로, 또한, 접속(β2,0, β2,12,22,N-1)을 통해 제 2 출력 XOR 게이트(14-2) 등으로 공급될 수 있다. 또한, 최종 지연 유니트(XN)의 출력은 접속(β1,N)을 통해 제 1 출력 XOR 게이트(14-2)로, 접속(β2,N)을 통해 제 2 출력 X0R 게이트(14-2) 등으로 공급된다. 최종적으로, 각 출력 XOR 게이트의 출력 신호는 터보 부호기 블록 출력 신호 Q1(t), …, QM(t)를산출하기 위해 지연된다.
도 2에 도시된 바와 같은 터보 부호기의 형식 기술은, 각 출력 Q1(t), …, QM(t)에 대해, 관련된 출력 표현 방식이 다음의 수학식에 따라 일반화될 수 있다는 점에서, 상술한 것과 다르다:
하나 또는 다수의 출력을 갖는 직렬 구현에서 상기 터보 부호기 블록의 형식 표현 방식은 본 발명에 다른 병렬화 방법 기술의 베이시스로서 이용될 것이다.
그러나, 본 발명에 따른 병렬화 방법이 다음에 설명되는데, 먼저, 직렬 데이터 입력 스트림을 병렬 입력 벡터로 매핑하고, 또한, 병렬 출력 벡터를 다시 직렬 데이터 출력 스트림으로 매핑하는 것이 도 3을 참조하여 설명된다.
2. n 차의 병렬 구현을 이용한 터보 부호기 블록:
도 3의 좌측 상단에 직렬 데이터 입력 스트림에 따른 시간 시퀀스가 도시된다. 유사하게, 도 3의 우측 상단에 직렬 출력 스트림에 따른 시간 시퀀스가 도시된다.
도 3에 도시된 바와 같이, 병렬 입력 벡터 I0, I1, In-1은 다음의 수학식에 따라 일련의 데이터 입력 값 I(t-1), I(t-2), …, I(t-n)으로부터 산출된다:
직렬 데이터 입력 스트림으로부터 산출되는 도 3에 도시된 병렬 입력 벡터가 다음에 설명될 병렬 터보 부호기 블록에서 처리된다고 가정하면, 이는 병렬 출력 벡터 Qj0, …, Qjn-1로 귀결된다.
도 3에 도시된 바와 같이, 이런 병렬 출력 벡터는 다음의 수학식에 따라 직렬 데이터 출력 스트림 Qj(t), …, Qj(t-(n-1))으로 다시 매핑될 수 있다:
2.1 병렬화의 일반 개요
본 발명에 따르면, 직렬 영역과 병렬 영역에서 상이한 시간 스케일이 사용된다. 즉, 직렬 시간 영역에서 일련의 n개의 직렬 데이터 입력은 병렬 시간 영역(p)에서 한 클럭 주기에 따라 병렬로 처리되는 병렬 입력 벡터에 대응된다.
결론적으로, 동일 양의 데이터가 처리된다고 가정하면, 합성 병렬 시스템 클럭은 직렬 시스템 클럭보다 n배 느리다. 따라서, 직렬 시간 표현식(t-1)은 병렬 시간 표현식(p-1)으로 치환될 수 있고, n개의 직렬 시간 입력의 시퀀스는 한 병렬 클럭 주기 먼저(p-1) 단일 병렬 입력 벡터로서 재-작성될 수 있다. 유사하게, 일련의 출력은 병렬 출력 벡터로서 현재의 병렬 주기(p)동안 재-작성된다.
도 1 및 도 2에 따른 터보 부호기 블록의 일반 기술을 사용하고, 또한, 직렬 데이터 입력 스트림을 병렬 입력 벡터로 매핑하며, 병렬 출력 벡터를 직렬 출력 데이터 스트림으로 역 매핑하는 것을 사용함으로써, 본 발명에 따른 접근법은 n개의 직렬 데이터 입력 항목(item)을 갖는 병렬 입력 벡터의 병렬화 터보 부호화 블록으로의 공급 및, 각각이 n개의 출력 데이터 항목을 포함하는 M개의 출력 벡터의 계산에 따른다.
출력 벡터의 n개의 성분은 -병렬화 터보 부호기 블록에서 단지 한 주기에 대응하는- 직렬 터보 부호기 블록 구현의 n 시스템 클럭 이전의 내부 지연 유니트(X1,…,XN)의 값에 따라서만 결정되고, 또한, 병렬 입력 벡터로 요약되는 이런 n 주기 동안의 모든 입력 데이터 항목에 따라 결정된다.
다음에 설명되는 바와 같이, 본 발명을 기초로한 접근법은 병렬 출력 벡터의 출력 성분을 표현하는 방정식 및, 병렬 터보 부호기 블록의 내부 지연 유니트의 출력 값에 따른 다음 병렬 주기동안의 병렬 터보 부호기 블록의 내부 지연 유니트의 출력 값 및 이전 병렬 주기 동안의 병렬 입력 벡터의 결정에 따른다.
직렬 표현 방식(방정식(1.Q) 참조)에 따르면, 직렬로 구현된 터보 부호화 블록의 시간 t에서의 각 출력 값은 시간 t-1에서의 지연 유니트(X1,…,XN)의 출력 값 및 시간 t-1에서의 입력 데이터 항목으로부터 계산된다.
내부 지연 유니트의 출력 값 모두를 직렬 구현에 대한 한 시스템 클럭 주기 이전의 값으로 치환함으로써, 또한, 이런 치환 단계를 반복적인 방식으로, n 직렬 시스템 클럭 주기 이전의 출력 값만 남을 때까지 반복함으로써, 출력 결과의 병렬 계산을 위한 방정식은 n 직렬 주기 또는 동일하게 한 병렬 주기에 걸쳐 산출될 수 있다.
즉, n 직렬 클럭 주기가 한 병렬 클럭 주기를 나타내기 때문에, 이런 방정식은 병렬화 터보 부호기 블록의 베이시스를 형성한다.
2.2 제 1 내부 상태에 대한 역방향 시간 인덱스 치환:
상술한 반복 치환 처리를 준비할 때, 다음에서 제 1 내부 상태라 칭하는 제 1 지연 유니트(X1)의 출력에 대한 다음의 표현 방식(방정식(1.x1) 비교)
은 다음의 수학식에 따라 직렬 클럭 주기 t-1, …, t-(n-1)에 대한 이런 내부 상태를 표현하는데 사용 될 수 있다 :
2.3 다른 내부 상태(i=2,…,N)에 대한 역방향 시간 인덱스 치환:
또한, 다음에서 다른 내부 상태라 칭하는 추가 지연 유니트(X2,…,XN)의 출력에 대한 다음의 표현 방식(방정식(1.x2),…,(1.xN) 참조)
xi(t) = xi-1(t-1)
은 다음의 수학식에 따라 직렬 클럭 주기 t-1, …, t-(n-1)에 대한 이런 내부 상태를 표현하는데 사용될 수 있다 :
2.4 출력 벡터 성분에 대한 역방향 시간 인덱스 치환:
또한, 터보 부호기 블록의 하나 이상의 출력에 대한 다음의 표현 방식(방정식(1.Q) 비교)
은 다음의 수학식에 따라 직렬 클럭 주기 t-1, …, t-(n-1)에 대한 이런 출력을 표현하는데 사용된다 :
2.5 반복적인 역방향 시간 인덱스 전환 단계를 통한 병렬화:
2.5.1 목적
위에서 이미 요약한 바와 같이, 본 발명에 따른 병렬화 처리에 기초한 목적은, 각 병렬 출력 벡터의 성분-도 2에 도시된 출력 1, …, M 당 하나-을 현재의 병렬 주기 이전의 한 병렬 주기-n 직렬 주기와 등가-의 일련의 n개의 직렬 데이터 입력 항목 및 내부 상태의 함수로서 표현하는 것이다 :
2.5.2 반복적인 시간 인덱스 전환 단계
먼저, 이런 목적을 달성하기 위해, 모든 내부 상태가 병렬화된다. 모든 내부 상태 x1(t), …, xN(t)에 대해, 이런 내부 상태의 표현 방식에서 사용되는 최대 시간 인덱스는 초기에 직렬 기술의 연산에 따라 t-1로 설정된다.
다음, 모든 내부 상태의 표현 방식이 고려되어, 각각은 상술한 방정식(2) 중 하나를 사용하여, 현재의 최대 시간 인덱스에 따른 내부 상태 변수를 이런 현재의 시간 인덱스 이전의 시간 인덱스에 따른 동일 내부 상태를 표현하는 공식으로 치환하기 위해 반복적으로 스캔된다.
따라서, 고려된 내부 상태의 표현 방식은, 전환이 현재의 최대 시간 인덱스로부터 현재의 최대 시간 인덱스 이전의 시간 인덱스까지 이루어지는 방식으로 수정된다. 다음에서, 이런 전환은 다음에서 역방향 시간 인덱스 전환이라 칭한다. 역방향 시간 인덱스 전환이 현재의 최대 시간 인덱스에 따른 모든 내부 상태 변수에 대해 달성된 다음, 현재의 최대 시간 인덱스는 1씩 감소된다.
반복적인 이런 처리의 반복은, 최대 시간 인덱스가 t-n의 값이 될 때까지 계속된다. 이에 대한 이유는, 이 시점에서, 주기 t(p)에서의 고려된 내부 상태가 단지 시간 t-n(p-1)에서의 내부 상태 및 직렬 입력 데이터 항목 I(t-1), …, I(t-n)에 따라 기술되기 때문이다.
두번째로, 각 출력 벡터의 모든 성분은, 내부 상태에 대해 다시 역방향 시간 인덱스 전환을 상술한 바와 같은 반복적인 방식으로 수행함으로써 병렬화된다.
또한, 반복적인 시간 인덱스 전환 단계 사이의 중간 단계에서, 현재의 최대 시간 인덱스의 수정 시, 내부 상태 및 출력 벡터의 성분의 반복적인 표현 방식은 aab ≡b의 관계를 사용하여 간단화될 수 있음이 설명된다. 즉, 두 항(aa)은 각 표현 방식에서 제거될 수 있다.
도 2에 도시된 바와 같은 가장 일반적인 형태의 직렬 터보 부호기 블록의 반복적인 병렬화는 다음과 같이 요약될 수 있다:
위에서 일반적으로 설명된 병렬화 접근법의 응용을 설명하기 위해, 다음에서, 이런 병렬화 처리는 특정 예를 참조하여 보다 상세히 설명된다.
다음에 설명되는 바와 같이, 각 병렬화 터보 부호기 블록은 저장 유니트, 예를 들면, 병렬화 터보 부호화 블록으로 공급하기 위해 입력 신호 I(t)의 n개의 샘플 I(t-1), …, I(t-n)을 저장하는 제 1 플립플롭 그룹(I0,…,I7) 및, 하나 이상의 저장 유니트, 예를 들면, 병렬화 터보 부호화 블록의 하나 이상의 출력 신호 Qj(t), j=1,…,M의 n개의 샘플 Qj(t), …, Qj(t-(n-1))을 저장하는 제 2 플립플롭 그룹(Q0,…,Q7)을 포함한다.
또한, 병렬화 터보 부호기 블록은 n개의 지연 유니트(X1,…,XN)의 뱅크를 포함하고, 상기 뱅크의 둘 이상의 지연 유니트(X1,…,XN)에서, 입력 신호 I(t)의 n개의 샘플 I(t-1), …, I(t-n)의 서브셋이 직접 수신되고, 병렬화 터보 부호기 블록의 하나 이상의 지연 유니트(X1,…,XN)의 출력 신호는 병렬화 터보 부호기 블록의 둘 이상의 지연 유니트로 공급되도록, 입력 신호 I(t)의 n개의 샘플을 병렬 처리하는데 적합하다.
도 4는 도 8에 도시된 터보 부호기에 사용될 수 있는 바와 같은 특정 직렬 터보 부호기 블록의 회로도를 도시한다.
여기서, 입력 지연 유니트(16) 및 출력 지연 유니트(18)의 제공은 본질적으로 직렬 구현의 경우 필요 조건은 아니지만, 도 3에 도시된 바와 같은 입력 벡터 및 출력 벡터의 성분을 수집하는 병렬화의 경우 필요함을 알 수 있다.
도 4에 도시된 직렬 터보 부호기 블록은 위에서 유도된 방정식(1)에 따른 형식 기술을 사용하여 N=3, M=1, α=[α1, α2, α3]=[0, 1, 1], β=[β1, β2, β3, β4]=[1, 1, 0, 1]로 간단히 설명될 수 있다. 다음에서, 이런 직렬 터보 부호기 블록이 어떻게 n=2, 4 및 8비트 병렬 터보 부호기 블록으로 병렬화될 수 있는지를 설명한다.
3.1 예제 : N=3, M=1, α=[0, 1, 1], β=[1, 1, 0, 1]에 대한 2비트 병렬 터보 부호기
방정식(1)로부터 시작하여, 도 4에 도시된 터보 부호기 블록에 대해 기술된 바와 같은 다음의 수학식이 구해진다 :
두 직렬 시간 주기에 걸친 다음의 역방향 시간 인덱스 전환이 필요하다 :
도 5는 이런 병렬화 처리의 결과, 즉, 도 4에 도시된 터보 부호화 블록의 2비트 병렬 구현에 대한 회로도를 도시한다.
3.2 예제 : N=3, M=1, α=[0, 1, 1], β=[1, 1, 0, 1]에 대한 4비트 병렬 터보 부호기
방정식(1)로부터 시작하여, 도 4에 도시된 터보 부호기 블록에 대해 기술된 바와 같은 다음의 수학식이 구해진다 :
4개의 직렬 시간 주기에 걸친 다음의 역방향 시간 인덱스 전환이 필요하다 :
도 6은 이런 병렬화 처리의 결과, 즉, 도 4에 도시된 터보 부호화 블록의 4비트 병렬 구현에 대한 회로도를 도시한다.
3.3 예제 : N=3, M=1, α=[0, 1, 1], β=[1, 1, 0, 1]에 대한 8비트 병렬 터보 부호기
방정식(1)로부터 시작하여, 도 4에 도시된 터보 부호기 블록에 대해 기술된 바와 같은 다음의 수학식이 구해진다 :
8개의 직렬 시간 주기에 걸친 다음의 역방향 시간 인덱스 전환이 필요하다 :
도 7A 및 도 7B는 이런 병렬화 처리의 결과, 즉, 도 4에 도시된 터보 부호화 블록의 8비트 병렬 구현에 대한 회로도를 도시한다.
4. VHDL 코드
점진적인(step-by-step) 방식의 상술한 반복적인 병렬화는 상이한 디자인 대안을 비교하기 위한 논리 합성 수단(tool)과 함께 사용될 수 있다. 임의의 이런 특정 시스템에 대한 제한 없이도, 본원에서, 논리 합성 수단을 사용하는 논리 회로의 디자인에 대한 일반적인 예와 같이, VHDL(very high speed hardware discription language)이 참조된다.
터보 부호기 블록 병렬화 합성의 구현에 대한 VHDL 코드 접근법의 장점은, 디자인이 특정 기술, 예를 들면, ASIC 또는 FPGA에 제한되지 않고도, 매우 짧은 시간에 달성될 수 있다는 것이다.
따라서, 실제 기술은 터보 부호기 블록 병렬화 합성을 통해 특정되지 않고, 부호화에 연이어 논리 합성 수단에 의해 처리되는 파라미터로서 설정될 수 있으며, 따라서, 상이한 디자인 옵션을 용이하게 비교하기 위해 변경된다.
다음에서, 도 5, 도 6 및 도 7에 도시된 2, 4, 및 8비트 병렬화 터보 부호기 블록에 대한 VHDL 코드가 목록화된다. VHDL 코드 언어의 사용이 당해 기술 분야에 공지되고, 상술한 병렬화 합성에 대한 관계가 자명하기 때문에, 본원에서 세부 사항은 더 설명하지 않는다.
5. 터보 부호화 실현
본 발명의 배경 기술에 대해 도 8이 참조되었지만, 이런 도 8은 다음에 설명되는 바와 같이 본 발명에 관련된다.
이제까지 설명된 본 발명에 따르면, M개의 출력을 갖는 터보 부호기 블록의 병렬화가 참조되었다. 그럼에도 불구하고, 본 발명에 따르면, 완전한 터보 부호기 블록의 구성은, 도 8(여기서, 두 블록 모두 M=1로 가정)에 도시된 바와 같이, 두개의 병렬화 터보 부호기 블록의 실증이 필요함을 알 수 있다.
하나의 터보 부호기 블록은 도 8에 도시된 출력 1을 산출하기 위한 정상 입력 데이터 스트림에 관련되고, 다른 하나는 출력 2를 산출하기 위한 인터리브 입력 데이터 스트림에 관련된다. 입력 데이터 스트림이 출력 0으로 직접 전송되기 때문에, 터보 부호기의 3개의 출력은 병렬 클럭 주기당 3n 비트 폭을 갖는데, 여기서, n은 병렬화 차수이다.

Claims (9)

  1. 병렬 터보 부호기 구현 방법으로서, 다음 수학식에 따른 직렬 터보 부호기 블록 기술로부터 시작되는 병렬 터보 부호기 구현 방법에 있어서,
    a) 다음 수학식에 따라 제 1 내부 상태에 대한 시간 인덱스를 치환하는 단계:
    여기서, n은 병렬화 차수;
    b) 다음 수학식에 따라 나머지 내부 상태(i=2,…,N)에 대해 시간 인덱스를 치환하는 단계;
    c) 다음 수학식의 병렬 출력 벡터를 산출하도록,
    다음 수학식에 따라 출력 신호에 대해 시간 인덱스를 치환하는 단계;
    d) 다음 서브-단계에 따라 각 내부 상태 xk(t)(k=1, …, N)에 대해 내부 상태를 치환 처리하는 단계;
    d1) 상기 내부 상태 xk(t)에 대한 최대 시간 인덱스 성분을 tmax= t-1로 설정하는 단계;
    d2) 최대 시간 인덱스 tmax를 갖는 내부 상태에 대한 상기 내부 상태 xk(t)의 표현 방식을 스캔하는 단계;
    d3) 방정식(2)를 사용하여 상태 변수 치환 단계를 통해 상기 내부 상태 xk(t)의 표현 방식에서 tmax로부터 tmax-1까지 역방향 시간 인덱스 전환을 실행하는 단계; 및
    d4) tmax를 1씩 감소시켜, 단계 d2) 내지 d4)를 tmax> t-n까지 반복하는 단계;
    e) 다음 서부-단계에 따라 각 병렬 출력 벡터 Qj(t)(j=1, …, M)의 각 성분 Qj(t-i)(i=0, …, n-2)에 대해 내부 상태를 치환 처리하는 단계;
    e1) 상기 고려되는 병렬 출력 벡터 Qj(t)의 벡터 성분 Qj(t-i)에 대한 최대 시간 인덱스 성분을 tmax=t-i-1로 설정하는 단계;
    e2) 최대 시간 인덱스를 갖는 내부 상태에 대한 상기 벡터 성분 Qj(t-i)의 표현 방식을 스캔하는 단계;
    e3) 방정식(2)를 사용하여 상태 변수 치환 단계를 통해 상기 벡터 성분 Qj(t-i)의 표현 방식에서 tmax로부터 tmax-1까지 역방향 시간 인덱스 전환을 실행하는 단계; 및
    e4) tmax를 1씩 감소시켜, 단계 e2) 내지 e4)를 tmax> t-n까지 반복하는 단계를 포함하는, 병렬 터보 부호기 구현 방법.
  2. 병렬화 차수 n을 갖는 병렬 터보 부호기 블록으로서,
    a) 상기 병렬 터보 부호화 블록으로의 입력 신호 I(t)의 n개의 샘플(I(t-1),…,I(t-n))을 저장하는 수단(I0,…,I7);
    b) 상기 병렬 터보 부호화 블록의 하나 이상의 출력 신호 Qj(t)(j=1,…,M)의 n개의 샘플(Qj(t),…,Qj(t-(n-1)))을 저장하는 하나 이상의 수단(Q0, …, Q7); 및
    c) n개의 지연 유니트(X1, …, XN)의 뱅크를 포함하는 터보 부호기 수단으로서, 상기 터보 부호기 수단은, 상기 뱅크 중 두개 이상의 지연 유니트(X1,…,XN)가 상기 입력 신호 I(t)의 상기 n개의 샘플(I(t-1), …, I(t-n))의 서브셋을 직접 수신하도록, 입력 신호 I(t)의 n개의 샘플을 병렬 처리하고, 상기 터부 부호기 수단의 하나 이상의 지연 유니트(X1, …, XN)의 출력 신호가 상기 터보 부호기 수단의 두개 이상의 지연 유니트로 공급되는 터보 부호기 수단을 포함하는, 병렬 터보 부호기 블록.
  3. 제 2 항에 있어서,
    상기 터보 부호기 수단이 제 1 항의 병렬 터보 부호기 구현 방법에 의해 다음 수학식에 따른 직렬 터보 부호기 블록 기술로부터 산출 가능한 구조를 갖는 것을 특징으로 하는 병렬 터보 부호기 블록:
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 병렬화 차수가 2이고, N=3, M=1, α=[0, 1, 1], β=[1, 1, 0, 1]이며, 상기 터보 부호기 수단의 상기 구조가,
    여기서,
    인 것을 특징으로 하는 병렬 터보 부호기 블록.
  5. 제 2 항 또는 제 3 항에 있어서,
    상기 병렬화 차수가 4이고, N=3, M=1, α=[0, 1, 1], β=[1, 1, 0, 1]이며, 상기 터보 부호기 수단의 상기 구조가,
    인 것을 특징으로 하는 병렬 터보 부호기 블록.
  6. 제 2 항 또는 제 3 항에 있어서,
    상기 병렬화 차수가 8이고, N=3, M=1, α=[0, 1, 1], β=[1, 1, 0, 1]이며,상기 터보 부호기 수단의 상기 구조가,
    여기서,
    인 것을 특징으로 하는 병렬 터보 부호기 블록.
  7. 컴퓨터의 내부 메모리에 직접 로딩 가능한 컴퓨터 프로그램 제품으로서,
    상기 제품이 컴퓨터 상에서 실행되는 경우, 제 1 항의 방법에 따른 단계를 수행하는 소프트웨어 코드부를 포함하는, 컴퓨터 프로그램 제품.
  8. 제 7 항에 있어서,
    상기 소프트웨어 코드부가 VHDL 형태인 것을 특징으로 하는 컴퓨터 프로그램 제품.
  9. 제 8 항에 있어서,
    상기 소프트웨어 코드부가 다음과 같이 정의되는 것을 특징으로 하는 컴퓨터 프로그램 제품:
KR1020027003287A 1999-09-15 2000-09-04 병렬 터보 부호기 구현 KR20020035595A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP99117945A EP1085660A1 (en) 1999-09-15 1999-09-15 Parallel turbo coder implementation
EP99117945.8 1999-09-15
PCT/EP2000/008631 WO2001020787A1 (en) 1999-09-15 2000-09-04 Parallel turbo coder implementation

Publications (1)

Publication Number Publication Date
KR20020035595A true KR20020035595A (ko) 2002-05-11

Family

ID=8238967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027003287A KR20020035595A (ko) 1999-09-15 2000-09-04 병렬 터보 부호기 구현

Country Status (11)

Country Link
US (1) US6651209B1 (ko)
EP (2) EP1085660A1 (ko)
JP (1) JP4713039B2 (ko)
KR (1) KR20020035595A (ko)
CN (1) CN1196268C (ko)
AR (1) AR025674A1 (ko)
AT (1) ATE263454T1 (ko)
AU (1) AU6842800A (ko)
DE (1) DE60009531T2 (ko)
TW (1) TW474068B (ko)
WO (1) WO2001020787A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315579B2 (en) * 2001-02-28 2008-01-01 Broadcom Corporation Trellis coded modulation tails
US6980820B2 (en) 2001-08-20 2005-12-27 Qualcomm Inc. Method and system for signaling in broadcast communication system
US6731936B2 (en) 2001-08-20 2004-05-04 Qualcomm Incorporated Method and system for a handoff in a broadcast communication system
US6701482B2 (en) * 2001-09-20 2004-03-02 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
US6948109B2 (en) * 2001-10-24 2005-09-20 Vitesse Semiconductor Corporation Low-density parity check forward error correction
US6954885B2 (en) * 2001-12-14 2005-10-11 Qualcomm Incorporated Method and apparatus for coding bits of data in parallel
FR2853164A1 (fr) * 2003-03-31 2004-10-01 France Telecom Procede de codage correcteur d'erreur utilisant au moins deux fois un meme code elementaire, procede de codage, dispositifs de codage et de decodage correspondants
US7912485B2 (en) 2003-09-11 2011-03-22 Qualcomm Incorporated Method and system for signaling in broadcast communication system
US8570880B2 (en) 2004-08-05 2013-10-29 Qualcomm Incorporated Method and apparatus for receiving broadcast in a wireless multiple-access communications system
CN101142747B (zh) * 2005-01-14 2012-09-05 Nxp股份有限公司 使用包含z系统的两个子系统的两个表的信道编码
US8620900B2 (en) * 2009-02-09 2013-12-31 The Hong Kong Polytechnic University Method for using dual indices to support query expansion, relevance/non-relevance models, blind/relevance feedback and an intelligent search interface
US8583993B2 (en) * 2011-06-17 2013-11-12 Lsi Corporation Turbo parallel concatenated convolutional code implementation on multiple-issue processor cores
KR101286019B1 (ko) * 2012-01-20 2013-07-19 주식회사 이노와이어리스 터보 인코더 장치
EP2693673A1 (en) * 2012-08-01 2014-02-05 Alcatel Lucent Bit-interleaver for an optical line terminal
US9281846B2 (en) 2013-07-31 2016-03-08 Globalfoundries Inc Turbo encoding on a parallel processor
EP2899991A1 (en) * 2014-01-24 2015-07-29 Alcatel Lucent Space time switch and bit interleaver

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61214623A (ja) * 1985-03-20 1986-09-24 Fujitsu Ltd 畳み込み符号化回路
JPH07253895A (ja) * 1994-03-14 1995-10-03 Sony Corp 複数ビット同時演算による高速除算器
FI100565B (fi) * 1996-01-12 1997-12-31 Nokia Mobile Phones Ltd Tiedonsiirtomenetelmä ja laitteisto signaalin koodaamiseksi
US6023783A (en) * 1996-05-15 2000-02-08 California Institute Of Technology Hybrid concatenated codes and iterative decoding
KR19990012821A (ko) * 1997-07-31 1999-02-25 홍성용 전자기파 흡수체 조성물과 이의 제조 방법, 전자기파 흡수용도료 조성물과 이의 제조 방법 및 이의 도포 방법
JP3415120B2 (ja) * 1998-06-05 2003-06-09 サムスン エレクトロニクス カンパニー リミテッド レートマッチングのためのチャネル符号化装置及びその方法
EP1048114B1 (en) * 1998-08-20 2006-06-07 Samsung Electronics Co., Ltd. Device and method for inserting previously known bits in input stage of channel encoder
JP2000114986A (ja) * 1998-10-08 2000-04-21 Oki Electric Ind Co Ltd 符号化方法及び装置
US6366624B1 (en) * 1998-11-30 2002-04-02 Ericsson Inc. Systems and methods for receiving a modulated signal containing encoded and unencoded bits using multi-pass demodulation
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence

Also Published As

Publication number Publication date
US6651209B1 (en) 2003-11-18
AR025674A1 (es) 2002-12-11
DE60009531T2 (de) 2005-03-03
TW474068B (en) 2002-01-21
ATE263454T1 (de) 2004-04-15
AU6842800A (en) 2001-04-17
DE60009531D1 (de) 2004-05-06
EP1221200A1 (en) 2002-07-10
EP1221200B1 (en) 2004-03-31
JP2003509943A (ja) 2003-03-11
CN1196268C (zh) 2005-04-06
JP4713039B2 (ja) 2011-06-29
CN1390391A (zh) 2003-01-08
WO2001020787A1 (en) 2001-03-22
EP1085660A1 (en) 2001-03-21

Similar Documents

Publication Publication Date Title
KR20020035595A (ko) 병렬 터보 부호기 구현
KR100803957B1 (ko) 고도의 병렬식 맵 디코더
US7139862B2 (en) Interleaving method and apparatus with parallel access in linear and interleaved order
KR19990022971A (ko) 병렬 연결된 테일-바이팅 중첩 코드 및 이 코드용 디코더
JP3280183B2 (ja) 通信システムおよび情報処理方法
JP2002009633A (ja) 復号回路および復号方法、並びに符号化回路および符号化方法
EP1724934A1 (en) Method of maximum a posteriori probability decoding and decoding apparatus
JP4054221B2 (ja) ターボ復号方法及びターボ復号装置
US4293951A (en) Method and apparatus for encoding/decoding a convolutional code to a periodic convolutional code block
KR101051933B1 (ko) 트렐리스의 버터플라이 구조를 이용한 맵 디코딩을 위한메트릭 계산
JPH0316046B2 (ko)
KR100628201B1 (ko) 터보 디코딩 방법
US5257263A (en) Circuit for decoding convolutional codes for executing the survivor path storage and reverse scanning stage of a Viterbi algorithm
EP2174422B1 (en) Decoding of recursive convolutional codes by means of a decoder for non-recursive convolutional codes
KR100453605B1 (ko) 터보 코드용 하이브리드 인터리버
JP3259725B2 (ja) ビタビ復号装置
CN111130572A (zh) Turbo码快速实现方法
KR100297739B1 (ko) 다중테일을갖는터보코드및그의부호화/복호화방법및그를이용한부호기/복호기
JP2001044856A (ja) 符号化装置および方法、並びに提供媒体
JPH03242027A (ja) インターリーブを付加した並列誤り訂正方式
JP2002271209A (ja) ターボ符号器およびターボ復号器
JPH10163883A (ja) 符号化率可変誤り訂正送信装置
EP1347580A2 (en) Hybrid interleaver for turbo codes
UA147014U (uk) Пристрій для виправлення пакетів помилок за допомогою перемежування циклічних кодів
Biglieri Coding on a trellis: Convolutional codes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application