KR100504988B1 - 터보 코드용 하이브리드 인터리버 - Google Patents

터보 코드용 하이브리드 인터리버 Download PDF

Info

Publication number
KR100504988B1
KR100504988B1 KR10-2004-7004475A KR20047004475A KR100504988B1 KR 100504988 B1 KR100504988 B1 KR 100504988B1 KR 20047004475 A KR20047004475 A KR 20047004475A KR 100504988 B1 KR100504988 B1 KR 100504988B1
Authority
KR
South Korea
Prior art keywords
encoder
bits
interleaver
condition
input
Prior art date
Application number
KR10-2004-7004475A
Other languages
English (en)
Other versions
KR20040037157A (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 KR20040037157A publication Critical patent/KR20040037157A/ko
Application granted granted Critical
Publication of KR100504988B1 publication Critical patent/KR100504988B1/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/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/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
    • H03M13/2993Implementing the return to a predetermined state, i.e. trellis termination
    • 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/2703Coding, 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 the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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/2742Irregular interleaver wherein the permutation pattern is not obtained by a computation rule, e.g. interleaver based on random generators
    • H03M13/2746S-random 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/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/2778Interleaver using block-wise interleaving, e.g. the interleaving matrix is sub-divided into sub-matrices and the permutation is performed in blocks of sub-matrices
    • 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

Abstract

2 개의 재귀 계통적 구성의 코드(RSC) 인코더를 구비한 하이브리드 인터리버가 제공된 터보 코드 인코더를 개시한다. 이 시스템은 각 인코더의 레지스터들을 모두 제로 상태로 플러쉬(flush)하기 위해 다수의 테일 비트(tail bits)를 필요로 하지 않으면서 정보 비트의 유한 시퀀스를 인코딩한다. 하이브리드 인터리버는 단일의 테일 비트 시퀀스만을 이용하여 터보 코드 오버헤드를 감소시킨다. 단일의 m 비트 테일만을 이용함으로써, 하이브리드 인터리버는 비트 오류율(BER)을 개선시킨다.

Description

터보 코드용 하이브리드 인터리버{HYBRID INTERLEAVER FOR TURBO CODES}
본 발명은 일반적으로 높은 처리 이득으로 시스템에 시간 다이버서티(time diversity)를 생성하는 처리 공정에 관한 것이다. 특히, 본 발명은 각 구성 인코더의 기억 레지스터를 모두 제로 상태로 플러쉬(flush)하는데 요구되는 테일 비트(tail bit)의 수를 저감할 수 있는 터보 코드 인터리빙 매핑(turbo code interleaving mapping)의 시스템 및 방법에 관한 것이다.
여러 종류의 데이터 통신 시스템에서, 음성 신호든 비음성 신호든 간에, 정보 전송시의 신호 다이버서티(signal diversity)나 리던던시(redundancy)는 데이터 전송 시스템의 다른 측면과의 타협없이(즉, 다른 부분의 성능을 저하시키지 않으면서) 성능을 개선시키게 된다. 시간 다이버서티를 부가하는 두 가지 기술로서 인터리빙(interleaving)과 순방향 오류 정정(FEC) 코딩이 알려져 있다.
인터리빙의 처리는 입력 데이터 시퀀스를 다른 시퀀스로 치환하거나 재배열하는 처리이며, 예컨대:
(0 1 2 3 4 5 6 7) (3 0 6 7 1 5 2 4)
여기에서, 수학적 연산자 IN[J]는 유한 입력 시퀀스의 각 비트 또는 심볼의 원래 위치를 인터리버 IN의 연산에 의해 새로운 위치 J로 자리바꿈 시킨다. 시간 다이버서티를 달성하는 이러한 재배열 처리는 인터리빙이라 불리며, 여러가지 방식으로 실행될 수 있다. 전형적인 인터리빙의 두 가지 방법으로서 블록 인터리빙(block interleaving)과 랜덤 인터리빙(random interleaving)이 알려져 있다.
전송 수신지에서, 신호를 다시 재배열하고, 데이터 시퀀스를 원래의 순서로 다시 되돌린다. 이러한 역처리를 디인터리빙(deinterleaving)이라 불린다.
최상의 성능을 나타내는 가장 최근에 출현된 코딩 기술로서 터보 코드(turbo code)가 있다. 터보 코드 인터리버에는 다양한 설계가 가능하며, 디코딩시에는 복잡도가 감소하는 구조를 가진다. 가장 대중적인 세 개의 인터리버로서, 1) 블록 인터리버, 2) 의사-랜덤 인터리버, 및 3) S-랜덤 인터리버가 있다.
최상의 성능을 보이는 인터리버는 S-랜덤 인터리버이다. 이 S-랜덤 인터리버는 특정 시퀀스 길이 내의 인접 위치들을 동일한 길이를 나타내는 인접 위치들로 매핑하지 않는 특성을 이용한다. 이러한 것은 시퀀스 길이를 가능한 길게 한다. 모든 인터리버 설계에는 입력 시퀀스의 크기와 치환을 나타내는 특정 세트의 규칙을 필요로 한다.
인터리빙과 연계하여, FEC 코딩은 응집성으로 복조되는 신호들에 대한 성능을 개선시킨다. FEC 코딩은 원래의 데이터 시퀀스에 추가적인 리던던시를 부가한다. 스펙트럼 확산 무선 인터페이스 상에서 통신하는 통신 시스템에서, 공유 스펙트럼 전송 채널에 이미 리던던시가 존재한다. FEC 인코더는 노드(node)나 상태, 및 지연 레지스터에 의존하는 유한 상태 머신(finite state machine)이 된다. 레지스터들간의 정해진 전이는 주어진 데이터 입력이 출력을 생성할 수 있게 되는 경로를 규정한다. 회선형으로(convolutionally) 인코딩된 데이터에 대한 인코딩 및 디코딩 기술을 설명하는 일반적인 방법은 당 분야에 잘 알려진 트렐리스(trellis) 다이어그램을 이용하는 것이다. 이 트렐리스 다이어그램은 무한 중복(infinite replication)의 상태 머신 다이어그램이며, 도 1에 도시된다.
디코딩은 트렐리스 구조와 각 레벨 및 각각의 선택된 노드 또는 상태에 대한 경로 상태 또는 메트릭에 기초하여 최대 유사 알고리즘을 이용하여 실행되는 것이 일반적이다. 회선형 코드(convolutional code)의 임의의 코드 워드는 모두 트렐리스 다이어그램의 경로를 따르는 심볼들에 대응한다. 각각의 상태와 트렐리스의 각각의 레벨에서, 가산-비교-선택 연산(add-compare-select operation)이 실행되어 최적의 경로와 상태를 선택한다. 다수의 수신 심볼들에 대하여 트렐리스를 구성한다. 미리 정해진 수의 심볼들이 축적된 후, 최소 오류를 갖는 트렐리스 경로를 판정에 의해 결정한다. 트렐리스 내의 모든 비트에 대한 최종 결정은 인코더를 모두가 제로인 초기 상태로 강제적으로 복귀시킴으로써 인코더를 통해 이루어진다. 이러한 조작은 인코딩후 유한 비트 스트림의 끝에 제로 테일 비트들을 삽입함으로써 달성된다. 이러한 처리를 "테일링 오프(tailing off)"라 칭한다.
최종 노드를 기점으로 하여, "체이닝 백(chaining back)"이라고 알려진 처리를 실행하여 최종 결정으로부터 최초의 결정을 향해 결정 경로를 트레이스한다. 이러한 디코딩 방법은 최초 전송된 심볼이 어느 것인지를 결정한다. 트렐리스 구조는 리던던시를 삽입하고, 과거 히스토리를 축적한다.
종래 기술의 터보 인코더가 도 2에 도시된다. 이 터보 인코더는 제2 재귀 회선형 인코더에 앞서 연결된 터보 코드 인터리버와 병렬로 연결된 제1 및 제2의 계통적 재귀 회선형 코드(RSC) 인코더들을 포함한다. 각 인코더에 사용되는 2 개의 재귀 회선형 코드들이 구성 코드로 알려져 있다. 제1 인코더는 입력 정보 비트 을 원래의 순서로 재배열하고, 제2 인코더는 터보 코드 인터리버 로 치환된 입력 비트를 재배열한다. 입력 정보 시퀀스은 항상 채널을 통해 전송된다. 데이터 전송 속도에 따라, 두 인코더로부터의 출력들은 전송이전에 "펑쳐링(functuring)"된다. "펑쳐링"은 하위 탭들(제1 및 제2 인코더들) 의 교호 출력들이 출력부로부터 제거되는 처리이다. 이러한 처리에 의해 코드 속도를 설정한다.
터보 코드 인터리버는 시퀀스 길이의 반복이 없는 치환에 의해 규정된 스크램블러(scrambler)이다. 완전한 시퀀스가 인터리버로 입력되어 미리 정해진 순서로 출력된다.
종래 기술의 테일링 오프 처리를 도 3 및 도 4에 도시한다. 각각의 인코더에 대한 테일 비트들은 도 3에 도시되는 바와 같이 각각의 인코더로부터의 레지스터 피드백으로부터 얻어진다. 테일링 오프 동작의 시점에서 각각의 구성 인코더의 레지스터 내용이 서로 상이하기 때문에, 각각의 인코더는 개별적으로 플러쉬(flush)되어야 한다. 도 4에 기술되는 바와 같이, 각각의 인코더(도 3)는 정보 비트들이 인코딩된 후 서로 독립적이며 배타적으로 플러쉬된다. 각각의 인코더는 각자의 테일 비트들을 유도하여 수신한다. 따라서,
상태 수 또는 인코더의 레지스터 메모리의 수를 m으로 하면, 한 개의 인코더에는 m개의 테일 비트들이 필요하고, 두 인코더에는 2m개의 테일 비트들이 필요하다.
종래의 터보 코드 인코더를 도 5에 도시한다. 복조된 소프트 값 신호 을 수신할 때, 제1 구성 인코더로부터의 계통적 (정보) 비트와 패리티 비트에 대한 소프트-결정 정보가 제1 구성 디코더로 입력된다. 이 제1 구성 디코더는 정보 비트와 함께 디코더 인터리버로 입력되는 정보 비트에 대한 갱신된 소프트-결정 유사값을 발생시킨다. 제2 구성 디코더로의 입력은 제2 구성 인코더로부터의 인터리빙된 소프트 값의 시퀀스 및 패리티 비트들을 포함한다. 이 제2 디코더의 출력은 제1 구성 디코더로부터의 출력으로부터 유도된 소프트-결정 유사값들을 개선시키고, 터보 디코더 인터리버에 따라 반복 처리로서 재배열된 후, 제1 구성 디코더로 피드백된다. 제2 구성 디코더로부터의 출력는 디코딩 동작이 완료된 후 얻어진다.
전술한 바와 같이, 터보 코드 인터리버를 이용하면 코딩이 유한 시퀀스 길이로 실행되는 것을 필요로 한다. 이러한 유한 정보 시퀀스를 인코딩하기 위해, 터보 인코더 내의 2개의 구성적 RSC 인코더들은 트렐리스 종료를 위해 모두 제로 상태로 시작 및 종료해야 할 필요가 있다. 그러나, 터보 인터리버의 존재로 인해, 2개의 구성적 인코더들을 동일한 트렐리스 비트들로 모두 제로 상태로 동시에 종료시키는 것은 어렵다. 대부분의 종래 기술의 터보 인코더들은 다수의 테일 비트들로 종료된 정보 시퀀스를 가진다. 테일 비트들은 성가신 것으로 간주되고, 터보 인코딩된 시퀀스의 오버헤드로 간주된다.
터보 코드 인코더들을 플러쉬하고 그 트렐리스들을 다시 원래의 초기 상태로 하는데 따른 어려움은 오래전부터 이 기술 분야에서 인식되어 왔다. 가령, Blackert 외 다수의 논문 "Turbo Code Termination And Interleaver Conditions", Divsalar 외 다수의 논문 "Turbo Codes For PSC Applications", Barbulescu 외 다수의 논문 "Terminating The Trellis of Turbo-Codes In The Same State"은 다중 인코더들의 트렐리스들을 다시 초기 상태로 하는데 있어 내재된 문제점을 인식하고 있다. 그러나, 앞서의 세 논문을 포함하여 어떤 공지 기술도 인코더 효율의 감소없이 다중 인코더들의 트렐리스를 다시 초기 상태로 되돌리는 적절한 방법을 제공하지 못한다.
따라서, 각각의 구성 인코더를 강제적으로 모두 제로 상태로 하기 위해 다수의 테일 비트들을 필요로 하지 않는 터보 코드 인터리버에 대한 필요성이 존재한다.
본 발명은 재귀형 계통적 구성 인코더를 가지는 터보 코드 하이브리드 인터리버에 관한 것이다. 이 시스템 및 처리는 각각의 인코더의 레지스터를 모두 제로 상태로 플러쉬하는데 다수의 테일 비트들을 필요로 하지 않으면서 유한 비트의 프레임을 인코딩한다. 이 하이브리드 인터리버는 두 구성 인코더들에 대해 동일한 테일 비트들을 사용함으로써 터보 코드 오버헤드를 감소시키고, 최적의 터보 인터리버의 성능을 개선한다.
따라서, 본 발명의 목적은 다수의 테일 비트들을 인코딩 처리의 일부로 할 필요가 없이 인터리빙 시스템 및 방법을 제공하는 것이다.
본 발명의 다른 목적은 터보 코드 인코딩 시퀀스에서 불필요한 오버헤드를 제거하여, 인코딩 처리를 모두 제로 상태로 종료시키는 테일 비트의 수를 단일의 m 비트 테일로 제한하는 데 있다. 여기서, m 은 각각의 구성 인코더에 있어서 기억 레지스터의 수이다.
본 발명의 시스템 및 방법의 추가의 목적 및 이점은 바람직한 실시예의 상세한 설명을 참조하면 이 기술 분야에 숙련된 당업자라면 명확히 이해할 수 있을 것이다.
도 6에는 본 발명에 따른 하이브리드 인터리버(19)를 갖춘 터보 코드 인코더(17)가 도시된다. 이 터보 코드 인코더(17)는 단일 테일링 오프 비트 연산(25)을 이용하여 제1 및 제2 RSC 구성 인코더들(21, 23)을 모두 제로 상태로 종료시킨다. 본 발명의 터보 코드 인코더(17)는 최상의 터보 인터리버들의 성능을 유지하는데 각각의 구성 인코더들(21, 23)의 주기적 특성을 이용한다. 하이브리드 인터리버(19)를 갖춘 터보 코드 인코더(17)는 각각의 구성 인코더들(21, 23)의 트렐리스 종료를 위해 필요한 추가적인 테일 비트 오버헤드를 감소시킨다.
도 6과 도 7은 하이브리드 터보 코드 인터리버(19)의 시스템 및 처리 과정을 기술한다. 이 처리 과정(51)은 인코딩용 입력 데이터(27)의 시퀀스를 수신함으로써 시작된다(단계 53). 인코딩 시퀀스 프레임 크기 N이 선택된다(단계 55). 상태 크기 및 펑쳐링 속도(puncturing rate)(코드 레이드)는 하이브리드 인터리버(19)에 독립적이다. 이 하이브리드 인터리버(19)는 치환용 임의 정수 I(k)를 발생시킨다(단계 57).
도 8과 도 9에 도시되는 바와 같이, 임의 정수 시퀀스의 발생은 각각의 프레임(29)의 위치(311-N)에 대해 비트 단위로 실행된다. I(k)로 표시되는 임의 정수의 발생(단계 57)은 다음과 같이 나타낸다.
I ≤I(k) ≤N ... 식 (1)
이때, 인터리버 시퀀스에서 각각의 맵(33)의 위치(351-N)에 대해, k=1, 2,...,N이다. 현재의 선택 I(k)는 다음과 같은 조건 A(단계 59), 조건 B(단계 63), 조건 C(단계 65)와 부합하여야 한다.
조건 A: |I(k)-I(k-j)| > S ... 식 (2)(단계 59)
여기서, 0 < j ≤S ... 식 (3)
그리고, k-j ≥0 ... 식 (4)
조건 A의 식 (2)는 S-랜덤 인터리버의 특성을 나타낸다. S는 임의의 값이다.
조건 B: |I(k)-I(k-n·L)| ≠j·L ... 식 (5)(단계 63)
여기서, n과 j는 다음과 같은 조건에 만족하는 양의 정수이다.
k-n·L ≥0 ... 식 (6), 그리고,
n·L ≤S ... 식 (7)(단계 61).
L은 터보 코드 인코더에 사용되는 구성 인코더에 의해 결정된다. 예컨대, L=7은 8-상태 터보 인코더에 사용된다.
조건 C: k mod2m-1 = I(k) mod2m-1∀k ... 식 (8)(단계 65)
이때, m은 구성 인코더의 메모리의 크기이다. 4 및 8-상태 인코더에 대하여, m은 각각 2와 3이 된다. 하이브리드 인터리버(19)에 대해 모든 정수 I(k), k = 1, 2,...,N(단계 66)가 선택(단계 67)되고 출력(단계 69)될 때까지 앞서의 단계가 반복된다.
상기 시스템 및 방법의 예가 도 8, 도 9 및 도 10에 도시된다. S=2, L=4인 하이브리드 인터리버(19)를 구비한 4-상태 터보 코드 인코더(17)를 이용한 16의 시퀀스 프레임 크기가 본 발명에 따라 치환되는 것으로 도시된다. 이 하이브리드 인터리버(19)는 조건 A와 조건 B를 만족시킨다. 하이브리드 인터리버(19)의 출력(37)은 입력(27)의 정보 시퀀스의 인덱스를 2m-1로 나눈 후 최종 나머지 시퀀스(39A)가 인터리빙 매핑 인덱스(33)에 기인한 대응하는 나머지 시퀀스(39B)와 같도록, 조건 C를 이용하여 도 10에서 확인된다. 터보 코드 하이브리드 인터리버(19)가 지정되면(51), 그 정보 비트(27)는 하이브리드 인터리버(19)에 따라 치환되고, 제2 구성 인코더(23)가 그 출력(37)을 수신한다.
제1 및 제2 구성 인코더들(21, 23)에 대해 동일한 테일 비트를 이용하여 트렐리스를 종료시키는 본 발명의 처리 과정을 도 6 및 도 11에 도시된다. 앞서 기술된 바와 같이, 정보 비트들은 두 인코더들에 의해 인코딩된다. 제1 구성 인코더(21)는 정보 비트들(27)을 그 원래의 순서로 동작한다. 제2 구성 인코더(23)는 정보 비트(27)를 하이브리드 인터리버(19)에 따라 치환된 것(37)으로서 동작한다. 제1 및 제2 구성 인코더들(21, 23)로부터의 출력은 펑쳐링 및 멀티플렉싱되어 출력을 생성한다(도 2 참조).
두 구성 인코더들에 대해 동일한 테일 비트들을 사용하는 트렐리스 종료 처리 과정(81)은, 모든 정보 비트들이 제1 및 제2 구성 인코더들(21, 23)에 의해 인코딩된 것을 확인함으로써 시작한다(단계 83). 인코딩 처리시에, 두 인코더들의 레지스터 내용은 동일하다. 제1 및 제2 인코더들(21, 23)은 원래의 정보 비트 스트림(27)과 치환된 비트 스트림(37)으로부터의 입력들을 제1 인코더(21)로부터 피드백 신호(41)로 스위칭한다. 제1 인코더(21)의 출력 및 제2 인코더(23)의 출력을 테일링 오프 처리에 대한 정보 출력으로 펑쳐링하는 조작은 정보 비트들(27, 37)의 인코더(21, 23)에 의한 인코딩 기간의 조작과 동일하다. 두 스위치들(43, 45)의 전이 후, 제1 인코더(21)는 그 자신의 레지스터로부터 피드백 종료(41)를 통해 테일 비트를 수신한다(단계 85). 제2 인코더(23)로의 테일 비트는 하이브리드 인터리버(19)에 의해 인터리빙되지 않았으며, 트렐리스 종료에 대해 제1 인코더(21)와 동일한 테일 비트들(41)이 된다(단계 87).
M-상태 인코더의 경우에, 제1 및 제2 인코더들(21, 23)의 모든 레지스터들을 모두 제로 상태로 플러쉬하기 위해 log2M 개의 테일 비트들이 필요하다. L = log2M일 때, 표 1은 4-상태 인코더와 8-상태 인코더에 대해 필요한 테일 비트수와 테일 코딩된 심볼의 총수를 보여준다.
표 1
4-상태 구성 인코더들에 의한 1/2 속도 및 1/3 속도의 터보 코드 인코더의 경우에, 본 발명의 터보 코드 인코더(17)는 4 테일 비트와 6 테일 비트를 각각 제거한다. 8-상태 구성 인코더들에 의한 1/2 속도 및 1/3 속도 터보 코드 인코더의 경우에, 본 발명의 터보 코드 인코더(17)는 종래 기술과 비교하여 종래 기술에 의해 요구되는 것 보다 6 테일 비트와 9 테일 비트를 각각 제거한다.
하이브리드 인터리버를 갖춘 터보 코드 인코더는 종래 기술의 S-랜덤 인터리버에 비해 보다 양호한 성능을 보이는데, 이는 조건 B에 설정된 규칙이 최악의 경우인 터보 코드의 낮은 중량 분포를 피하고 조건 A는 최적의 특성을 유지하기 때문이다. 하이브리드 인터리버(19)가 테일 부분의 시작점에서 제1 및 제2 구성 디코더들(21, 23)에 대해 동일한 트렐리스 상태 시퀀스들을 유도하기 때문에, 제1 및 제2 인코더들(21, 23)을 모두 제로 상태로 플러쉬하기 위해 단일 m-비트 테일 시퀀스를 사용할 수 있게 된다. 제1 구성 디코더로부터 발생된 테일 비트들을 포함하는 외부 정보은 제2 구성 디코더로 전달되어 전체 성능을 향상시킨다(도 5 참조).
예컨대, 원래의 정보 시퀀스가 다음과 같다면,
하이브리드 인터리버(19)에 따라 치환된 정보 시퀀스는 다음과 같다.
정보 시퀀스는 제1 및 제2 구성 인코더들(21, 23)에 의해 인코딩된다. 제1 구성 인코더(21)는 그 원래의 순서로 입력를 처리하고, 제2 구성 인코더(23)는 인터리버(19)로부터의 치환된 출력을 처리한다.
제1 인코더(21)로부터 획득된 트렐리스 상태 시퀀스는 다음과 같다.
{2 3 3 3 1 0 0 0 0 2 1 0 0 2 3 3 1 0}
제2 인코더(23)로부터 획득되는 트렐리스 상태 시퀀스는 다음과 같다.
{0 0 0 2 3 3 3 3 3 1 0 0 2 3 3 3 1 0}
상기한 바와 같이, 각각의 트렐리스 상태 시퀀스로부터의 최종 2 개의 상태(4 비트)는 하이브리드 인터리버(19)에 의해 동일하게 된다. 이러한 것은 제1 및 제2 구성 인코더들(21, 23)이 동일한 테일 비트를 수신하게 하여, 터보 코딩 처리의 오버헤드를 감소시킨다.
조건 C는 정보 비트 인코딩 후, 2 개의 구성 인코더들의 트렐리스 상태를 동일하게 한다. 이러한 것은 두 구성 인코더들에 동일한 테일 비트를 허용하여, 테일 비트로 인한 터보 코드 오버헤드를 감소시키게 한다. 또한, 동일한 테일 비트를 이용하는 것은, 인터리버의 설계가 S-랜덤 인터리버에 기초한 이전의 설명과 같이 반복형 디코더에 바람직하다. 본 발명이 터보 코드의 성능을 개선시키지만, 그 메모리의 조건은 인터리버의 크기에 비례하는 메모리 저장 조건을 갖는 S-랜덤 인터리버에 대한 것과 동일하다.
대체 실시예를 도 12에 도시한다. D를 블록 크기 N을 가지는 이진 비트의 정보 시퀀스로 나타낸다.
D = {d1,d2,...,dN} 여기서, dk = ±1 ... 식 (9)
M 이 4 또는 8이 되는 M-상태 터보 코더에서, 정보 시퀀스 D를 p개의 분리 서브세트 S로 나눌 수 있다. 이때, p=M-1이다.
S0 = {dk| (k mod p = 0)} ... 식 (10)
S1 = {dk| (k mod p = 1)} ... 식 (11)
.
.
.
Sp-1 = {dk| (k mod p = p-1)} ... 식 (12)
여기서, p는 4-상태 및 8-상태의 터보 코드에 대해 각각 3 및 7로 설정된다. 상기 분할 방법은 앞서의 코셋 분할(coset partitioning)과 유사하다. 각각의 상태 터보 코드에 대한 p값이 지정된다.
각각의 서브세트는 [N/p]의 블록 크기를 가지며, 여기서 [N/p]는 N/p 이상의 값의 정수값을 표시한다. 각각의 서브세트는 임의의 인터리버 매핑을 이용하여 치환된다. 그후, I로 표시되는 전체 인터리버 출력을 얻기 위해 모든 개별 서브세트를 다음과 같이 합성한다.
여기서, Si(k)는 서브세트 Si의 k번째 인터리빙된 출력 비트이고, S0(k)는 서브세트 S0의 k번째 인터리빙된 출력 비트이다. 서브세트의 분할과 합성을 포함한 전술한 처리는 [N/p] 행과 p 열을 갖춘 블록 인터리버를 이용해서 다음과 같이 설명할 수 있다. 즉,
1) 정보 비트를 블록 인터리버에서 행 방향으로 다음과 같이 저장한다.
2) 각각의 열 블록 내의 비트를 주어진 인터리버의 종류, 즉 원칙적으로 임의의 후보 인터리버들 중 하나가 될 수 있는 종류에 따라 치환한다. 예컨대, 조건 A와 B를 각각의 열 블록에 적용하면, 조건 C는 이 상황에서 필요하지 않게 된다.
3) 상기 매트릭스를 이하에 도시되는 바와 같은 순서로 행마다 판독하고, 인터리빙된 출력 시퀀스를 입력으로 수신하는 제2 구성 인코더에 부가해서 원래의 정보 시퀀스를 인터리빙하지 않는 경우와 동일한 상태로 구동한다.
본 발명은 양호한 실시예와 관련하여 기술되었으나, 첨부된 청구의 범위에 개시된 발명의 범위 내에 있는 다른 변형도 이 분야의 통상의 지식을 가진 자에게 명백할 것이다.
본 발명에 따른 인터리빙 시스템 및 방법에 의하면, 다수의 테일 비트들을 인코딩 처리의 일부로 할 필요가 없이 터보 코드 인코딩 시퀀스에서 불필요한 오버헤드를 제거하여, 인코딩 처리를 모두 제로 상태로 종료시키는 테일 비트의 수를 단일의 m 비트 테일로 제한하는 효과를 실현할 수 있다.
도 1은 4-상태 RSC 인코더에 대한 종래 기술의 트렐리스 다이어그램.
도 2는 종래 기술의 터보 코드 인코더의 시스템 다이어그램.
도 3은 테일링 오프를 보여주는 종래 기술의 4-상태 인코더의 시스템 다이어그램.
도 4는 종래 기술의 테일링 오프 방법의 흐름도.
도 5는 종래 기술의 터보 코드 디코더의 시스템 다이어그램.
도 6은 본 발명의 시스템 및 방법을 이용한 하이브리드 인터리버를 갖춘 터보 코드 인코더의 시스템 다이어그램.
도 7은 본 발명을 구현하는 인터리버 방법의 흐름도.
도 8은 S가 2 이고 L이 4 인 4-상태 터보 코드 인코더에 대해 본 발명에 의해 생성된 16 프레임 크기 인터리빙 시퀀스의 도면.
도 9는 도 8의 인터리빙 시퀀스의 매핑 도면.
도 10은 검증된 도 8의 16-프레임 크기 인터리빙 시퀀스의 도면.
도 11은 본 발명을 구현하는 테일링 오프 방법의 흐름도.
도 12는 대체 실시예의 흐름도.
(도면의 주요 부분에 대한 부호의 설명)
17 ... 터보 코드 인코더
19 ... 하이브리드 인터리버
21 ... 제1 RSC 구성 인코더
23 ... 제2 RSC 구성 인코더
25 ... 테일링 오프 비트 연산
27 ... 입력 데이터
29 ... 프레임

Claims (23)

  1. N 개의 배열된 비트의 적어도 하나의 입력 비트 세트를 치환 위치 정수 I(k)[k = 1 내지 N임]로 인코딩하기 위한 방법으로서,
    a. 제1 출력을 제공하도록 다중 상태 레지스터를 갖는 제1 인코더를 사용해서 상기 입력 비트 세트를 인코딩하는 단계와;
    b. 재배열된 입력 비트 세트를 제공하도록 인터리버를 사용해서 상기 입력 비트 세트를 선택적으로 재배열하는 단계로서, 상기 인터리버는 재배열된 후에는 |I(k) - I(k-nL)|에 대한 값이 L로 균등하게 나눠지지 않도록 상기 정수 I(k)를 재배열하고, 여기서 L = 2m-1, n은 k-nL ≥0 및 nL ≤S 로서 규정된 양의 정수이며, S는 임의의 미리 정해진 값인 것인, 상기 선택적 재배열 단계와;
    c. 제2 출력을 제공하도록 다중 상태 레지스터를 갖는 제2 인코더를 사용해서 상기 재배열된 입력 비트 세트를 인코딩하는 단계
    를 포함하고,
    상기 제2 인코더 레지스터의 값은 단계 c의 완료 시에 상기 제1 인코더 레지스터의 값과 동일한 것인 인코딩 방법.
  2. 제1항에 있어서,
    각각의 상기 입력 비트 세트에 대한 테일 비트 세트를 발생하는 단계와;
    상기 제1 및 제2 인코더의 양쪽 모두의 레지스터들을 리셋하도록 상기 테일 비트 세트를 적용하는 단계를 더 포함하는 인코딩 방법.
  3. 제1항에 있어서,
    상기 선택적 재배열 단계는:
    a) 복수의 N 정보 비트(N은 양의 정수임)를 수신하는 단계와;
    b) 하이브리드 인터리버 프레임 크기 N을 규정하는 단계와;
    c) 1) |I(k) - I(k-j)| > S의 조건으로서, S는 임의의 값이며, j는 0<j≤S 및 k-j≥0 으로서 규정된 양의 정수인 조건,
    2) nL > S의 조건 - 여기서, L은 인코더 레지스터 상태의 수에 좌우되고, n은 k-nL≥0 에 의해 규정된 양의 정수임 - 이 만족되면 4)의 조건으로 진행하는 조건,
    3) |I(k) - I(k-nL)|≠jL의 조건으로서, 상기 조건이 만족되지 않으면 1) 내지 3)의 조건들을 반복하는 조건,
    4) k mod 2m-1 = I(k) mod 2m-1의 조건 - 여기서, 2m은 상기 인코더들 중 하나의 레지스터 상태의 수임 - 을 사용해서 각각의 임의의 정수를 검증하는 조건으로서, 상기 조건이 만족되지 않으면 단계 c)를 반복하는 조건들을 만족하는 1 내지 N의 k에 대한 임의의 정수 I(k)를 발생하는 단계와;
    d) 인코딩을 위해 치환된 인터리버 데이터 시퀀스를 출력하는 단계
    를 포함하는 인코딩 방법.
  4. 제3항에 있어서, 상기 정수 비트 카운트 k를 증분하는 단계를 더 포함하고, 만일 k ≠N + 1인 경우라면 상기 단계 c)를 반복하는 것인 인코딩 방법.
  5. 제2항에 있어서,
    d. 상기 제1 및 제2 인코더에 의한 인코딩이 완료되었는지를 확인하는 단계와;
    e. 정보 비트 스트림과 치환된 비트 스트림의 각각으로부터 상기 제1 구성 인코더의 최종단으로부터의 공통 피드백으로 상기 제1 및 제2 인코더에 대한 입력을 스위칭하는 단계와;
    f. 상기 테일 비트수가 상기 제1 구성 인코더에 사용된 레지스터의 수보다 크게 될 때까지 상기 피드백으로부터 수신되는 테일 비트의 수를 증분하는 단계를 더 포함하고,
    상기 테일 비트수가 상기 레지스터의 수보다 크지 않다면 단계 e-f를 반복하는 것인 인코딩 방법.
  6. 제1항에 있어서, 상기 인코딩되는 재배열된 입력 비트 세트를 전송하는 단계를 더 포함하는 인코딩 방법.
  7. 전송 전에 N 개의 배열된 비트의 적어도 하나의 입력 비트 세트를 치환 위치 정수 I(k)[k = 1 내지 N임]로 인코딩하는 단계를 포함하는 전송 방법으로서,
    a. 제1 출력을 제공하도록 다중 상태 레지스터를 갖는 제1 인코더를 사용해서 상기 입력 비트 세트를 인코딩하는 단계와;
    b. 재배열된 입력 비트 세트를 제공하도록 하이브리드 S-랜덤 인터리버를 사용해서 상기 입력 비트 세트를 선택적으로 재배열하는 단계로서, 상기 인터리버는 재배열된 후에는 |I(k) - I(k-nL)|에 대한 값이 L로 균등하게 나눠지지 않도록 상기 정수 I(k)를 재배열하고, 여기서 L = 2m-1, n은 k-nL ≥0 및 nL ≤S 로서 규정된 양의 정수이며, S는 임의의 미리 정해진 값인 것인, 상기 선택적 재배열 단계와;
    c. 제2 출력을 제공하도록 다중 상태 레지스터를 갖는 제2 인코더를 사용해서 상기 재배열된 입력 비트 세트를 인코딩하는 단계
    를 포함하고,
    상기 제2 인코더 레지스터의 값은 단계 c의 완료 시에 상기 제1 인코더 레지스터의 값과 동일한 것인 전송 방법.
  8. 제7항에 있어서,
    각각의 상기 입력 비트 세트에 대한 테일 비트 세트를 발생하는 단계와;
    상기 제1 및 제2 인코더의 양쪽 모두의 레지스터들을 리셋하도록 상기 테일 비트 세트를 적용하는 단계를 더 포함하는 전송 방법.
  9. 제7항에 있어서,
    상기 선택적 재배열 단계는:
    a) 복수의 N 정보 비트(N은 양의 정수임)를 수신하는 단계와;
    b) 하이브리드 인터리버 프레임 크기 N을 규정하는 단계와;
    c) 1) |I(k) - I(k-j)| > S의 조건으로서, S는 임의의 값이며, j는 0<j≤S 및 k-j≥0 으로서 규정된 양의 정수인 조건,
    2) nL > S의 조건 - 여기서, L은 인코더 레지스터 상태의 수에 좌우되고, n은 k-nL≥0 에 의해 규정된 양의 정수임 - 이 만족되지 않으면 4)의 조건으로 진행하는 조건,
    3) |I(k) - I(k-nL)|≠jL의 조건으로서, 상기 조건이 만족되지 않으면 1) 내지 3)의 조건들을 반복하는 조건,
    4) k mod 2m-1 = I(k) mod 2m-1의 조건 - 여기서, 2m은 상기 인코더들 중 하나의 레지스터 상태의 수임 - 을 사용해서 각각의 임의의 정수를 검증하는 조건으로서, 상기 조건이 만족되지 않으면 단계 c)를 반복하는 조건들을 만족하는 1 내지 N의 k에 대한 임의의 정수 I(k)를 발생하는 단계와;
    d) 인코딩을 위해 치환된 인터리버 데이터 시퀀스를 출력하는 단계
    를 포함하는 전송 방법.
  10. 제9항에 있어서, 상기 정수 비트 카운트 k를 증분하는 단계를 더 포함하고, 만일 k ≠N + 1인 경우라면 상기 단계 c)를 반복하는 것인 전송 방법.
  11. 제8항에 있어서,
    d. 상기 제1 및 제2 인코더에 의한 인코딩이 완료되었는지를 확인하는 단계와;
    e. 정보 비트 스트림과 치환된 비트 스트림의 각각으로부터 상기 제1 구성 인코더의 최종단으로부터의 공통 피드백으로 상기 제1 및 제2 인코더에 대한 입력을 스위칭하는 단계와;
    f. 상기 테일 비트수가 상기 제1 구성 인코더에 사용된 레지스터의 수보다 크게 될 때까지 상기 피드백으로부터 수신되는 테일 비트의 수를 증분하는 단계를 더 포함하고,
    상기 테일 비트수가 상기 레지스터의 수보다 크지 않다면 단계 e-f를 반복하는 것인 전송 방법.
  12. N 개의 배열된 비트 크기의 적어도 하나의 데이터 시퀀스가 하이브리드 인터리버(19)를 사용해서 터보 코드 인코더(17)에 의해 처리되는 데이터 전송 방법에 있어서:
    a. 제1 출력을 제공하도록 다중 상태 레지스터를 갖는 제1 인코더(21)를 이용하여 상기 입력 비트 세트를 인코딩하는 단계와;
    b. S-랜덤 재배열된 입력 비트 세트를 제공하도록 하이브리드 인터리버(19)를 이용하여 상기 입력 비트 세트를 선택적으로 재배열하는 단계로서, 재배열된 후에는 |I(k) - I(k-nL)|에 대한 값이 L 로 균등하게 나눠지지 않도록 상기 인터리버가 상기 정수 I(k)의 비트 위치 세트를 재배열하고, 여기서 L = 2m-1, n은 k-nL ≥0 및 nL ≤S(S는 임의의 미리 정해진 값임)로서 규정된 양의 정수인 것인 입력 비트 세트의 선택적 재배열 단계와;
    c. 제2 출력을 제공하도록 다중 상태 레지스터를 갖는 제2 인코더(23)를 이용하여 상기 재배열된 입력 비트 세트를 인코딩하는 단계와;
    d. 스위치를 이용하여 상기 제1 인코더(21) 및 상기 제2 인코더(23)에 대한 입력을 스위칭하는 단계로서, 제1 입력과 상기 제1 출력으로부터의 피드백이 상기 제1 인코더(21)에서 스위칭되고, 제2 입력과 상기 제1 출력으로부터의 피드백이 상기 제2 인코더(23)에서 스위칭되는 것인 스위칭 단계
    를 포함하는 데이터 전송 방법.
  13. 제12항에 있어서,
    각각의 상기 입력 비트 세트에 대한 테일 비트 세트를 발생하는 단계와;
    상기 제1 및 제2 인코더의 양쪽 모두의 레지스터들을 리셋하도록 상기 테일 비트 세트를 적용하는 단계를 더 포함하는 데이터 전송 방법.
  14. 제12항에 있어서,
    상기 선택적 재배열 단계는:
    a) 복수의 N 정보 비트(N은 양의 정수임)를 수신하는 단계와;
    b) 하이브리드 인터리버 프레임 크기 N을 규정하는 단계와;
    c) 1) |I(k) - I(k-j)| > S의 조건으로서, S는 임의의 미리 정해진 값이며, j는 0<j≤S 및 k-j≥0으로 규정된 양의 정수인 조건,
    2) nL≤S의 조건으로서, L은 인코더 레지스터 상태의 수 - 1과 같고, n은 k-nL≥0 에 의해 규정된 양의 정수이며, 상기 조건이 만족되지 않으면 4)의 조건으로 진행하는 조건,
    3) |I(k) - I(k-nL)|≠jL의 조건으로서, 상기 조건이 만족되지 않으면 1) 내지 3)의 조건들을 반복하며, 그렇지 않다면 4)의 조건으로 진행하는 조건,
    4) 각각의 임의의 정수 I(k)에 대해, k mod 2m-1 = I(k) mod 2m-1의 조건으로서, 2m은 상기 인코더들 중 하나의 레지스터 상태의 수이고, 상기 조건이 만족되지 않으면 단계 c)를 반복하는 조건들을 만족하는 1 내지 N의 k에 대한 임의의 정수 I(k)를 발생하는 단계와;
    d) 인코딩을 위해 치환된 인터리버 데이터 시퀀스를 출력하는 단계
    를 포함하는 데이터 전송 방법.
  15. 제13항에 있어서,
    e. 상기 제1 및 제2 인코더에 의한 인코딩이 완료되었는지를 확인하는 단계와;
    f. 정보 비트 스트림과 치환된 비트 스트림의 각각으로부터 상기 제1 구성 인코더의 최종단으로부터의 공통 피드백으로 상기 제1 및 제2 인코더에 대한 입력을 스위칭하는 단계와;
    g. 상기 테일 비트수가 상기 제1 구성 인코더에 사용된 레지스터의 수보다 크게 될 때까지 상기 피드백으로부터 수신되는 테일 비트의 수를 증분하는 단계를 더 포함하고,
    상기 테일 비트수가 상기 레지스터의 수보다 크지 않다면 단계 f-g를 반복하는 것인 데이터 전송 방법.
  16. 제12항에 있어서,
    dk는 상기 N 비트 세트의 입력 비트이고, dk = ±1 이며,
    상기 선택적 재배열 단계는:
    M 상태의 터보 코드 인코더에 대한 상기 입력 비트 세트를 크기가 b인 p개의 분리 서브세트 Si 로 배열하는 단계로서, p = M-1, i는 0 내지 p-1 의 정수, b는 N/p 이상의 최소 정수값이고, Si = {dk| (k mod p = i)} 인 것인 입력 비트 세트의 배열 단계와;
    b행과 p열의 블록을 형성하기 위해 서브세트 Si 를 조합하는 단계로서, 각 서브세트 성분이 동일한 열에 있도록 k가 1 내지 b의 정수가 되는 것인 서브세트의 조합 단계와;
    각각의 열 내의 상기 서브세트 성분들을 재배열하는 단계와;
    인터리버에 의해 재배열된 입력 비트 세트를 생성하도록 상기 열 재배열 이후에 상기 행들을 출력하는 단계를 더 포함하는 데이터 전송 방법.
  17. N 개의 배열된 비트 dk = ±1의 적어도 하나의 데이터 시퀀스가 하이브리드 인터리버(19)를 사용해서 M 상태 터보 코드 인코더(17)에 의해 처리되는 데이터 전송 방법에 있어서:
    a) 상기 인터리버에 의해 상기 데이터 시퀀스를 수신하는 단계와;
    b) 하이브리드 인터리버 프레임 크기 N을 규정하는 단계와;
    c) 상기 데이터 시퀀스 비트의 로우 와이즈(row-wise)를 크기가 b인 p개의 분리 서브세트 Si 로 기록하는 단계로서, p = M-1, i는 0 내지 p-1 의 정수, b는 N/p 이상의 최소 정수값이고, Si = {dk| (k mod p = i)}로서 각 서브세트 성분이 동일한 열에 있도록 k가 1 내지 b의 정수가 되는 b행과 p열의 블록을 형성하는 것인, 상기 데이터 시퀀스 비트의 기록 단계와;
    d) 1) |I(k) - I(k-j)| > S의 조건으로서, S는 임의의 미리 정해진 값이며, j는 0<j≤S 및 k-j≥0 으로 규정된 양의 정수인 조건,
    2) nL ≤S의 조건으로서, L은 인코더 레지스터 상태의 수 - 1 과 같고, n은 k-nL ≥0 에 의해 규정된 양의 정수인 조건,
    3) |I(k) - I(k-nL)|≠jL의 조건으로서, 상기 조건이 만족되지 않으면 단계 d)를 반복하는 조건들을 만족하는 1 내지 b의 k에 대한 임의의 정수 I(k)의 시퀀스에 따라서 각각의 열 블록 내에 상기 서브세트 비트를 치환하는 단계와;
    e) 상기 블록의 행 대 행으로부터 인터리버 출력 시퀀스를 판독하는 단계
    를 포함하는 데이터 전송 방법.
  18. 전송 전에 N 개의 배열된 치환 정수 I(k)의 적어도 하나의 입력 세트(k = 1 내지 N임)를 인코딩하기 위한 터보 코드 인코더를 구비한 송신기에 있어서:
    메모리 크기 m과, 제1 소스와 공통 소스에 연결된 제1 입력과, 2m 의 상태들을 갖는 다중 상태 레지스터를 갖는 제1 인코더로서, 입력 비트 세트를 상기 제1 소스로서 수신하여, 인코딩된 입력 비트 세트를 제1 출력에 제공하도록 상기 입력 비트 세트를 인코딩하는 것인 제1 인코더와;
    상기 입력 비트 세트를 수신하여, 재배열된 입력 비트 세트를 제공하도록 상기 입력 비트 세트 내의 비트들을 재배열하는 S-랜덤 인터리버(S는 임의의 미리 정해진 값임)와;
    메모리 크기 m과, 제2 소스와 상기 공통 소스에 연결된 제2 입력과, 2m 의 상태들을 갖는 다중 상태 레지스터를 갖는 제2 인코더로서, 상기 재배열된 입력 비트 세트를 상기 제2 소스로서 수신하여, 재배열되는 인코딩된 입력 비트 세트를 제2 출력에 제공하도록 상기 재배열된 입력 비트 세트를 인코딩하는 것인 제2 인코더와;
    상기 제1 인코더를 상기 제1 소스로부터 상기 공통 소스로 스위칭하고, 상기 제2 인코더를 상기 제2 소스로부터 상기 공통 소스로 스위칭하는 스위치
    를 포함하고,
    상기 제1 출력이 상기 공통 소스로부터 제공하며, 재배열된 후에는 |I(k) - I(k-nL)|에 대한 값이 L 로 균등하게 나눠지지 않도록 상기 인터리버가 상기 정수를 재배열하고, 여기서 L = 2m-1, n은 k-nL ≥0 및 nL ≤S로 규정된 양의 정수인 것인 송신기.
  19. 제18항에 있어서, 상기 인코더는 상기 2 개의 레지스터들을 리셋하도록 상기 인코딩된 입력 비트 세트에 대한 테일 비트 세트를 발생하는 테일 비트 발생기를 더 포함하는 송신기.
  20. 제19항에 있어서, 상기 테일 비트 발생기는 상기 제1 및 제2 인코더에 의한 인코딩이 완료될 때 상기 제1 인코더의 레지스터를 이용하여 상기 테일 비트 세트를 발생하는 것인 송신기.
  21. 제18항에 있어서, 상기 인터리버는 |I(k) - I(k-j)| > S 및 j는 0<j≤S 및 k-j ≥0 으로 규정되는 양의 정수가 되도록 상기 정수 I(k)를 랜덤하게 재배열하는 것인 송신기.
  22. 제21항에 있어서, 상기 재배열된 정수 I(k) 시퀀스는 k mod 2m -1 = I(k) mod 2m-1로 검증되는 것인 송신기.
  23. 제18항에 있어서,
    dk는 상기 N 비트 세트의 입력 비트이고, dk = ±1 이며,
    상기 인터리버는:
    M 상태의 터보 코드 인코더에 대한 상기 입력 비트 세트들을 크기가 b인 p개의 분리 서브세트 Si로 배열하는 수단으로서, p = M-1, i는 0 내지 p-1 의 정수, b는 N/p 이상의 최소 정수값이고, Si = {dk| (k mod p = i)} 인 것인 입력 비트 세트의 배열 수단과;
    b행과 p열의 블록을 형성하기 위해 서브세트 Si 를 조합하는 수단으로서, 각 서브세트 성분이 동일한 열에 있도록 k가 1 내지 b의 정수가 되는 것인 서브세트의 조합 수단과;
    상기 열 내의 상기 입력 비트 세트를 재배열하는 수단과;
    인터리버에 의해 재배열된 입력 비트 세트를 생성하도록 상기 열의 재배열 이후에 상기 행들을 출력하는 수단을 더 포함하는 송신기.
KR10-2004-7004475A 1998-10-13 1999-10-12 터보 코드용 하이브리드 인터리버 KR100504988B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US10404098P 1998-10-13 1998-10-13
US60/104,040 1998-10-13
US11231898P 1998-12-14 1998-12-14
US60/112,318 1998-12-14
PCT/US1999/024066 WO2000022739A1 (en) 1998-10-13 1999-10-12 Hybrid interleaver for turbo codes

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-7004636A Division KR100453605B1 (ko) 1998-10-13 1999-10-12 터보 코드용 하이브리드 인터리버

Publications (2)

Publication Number Publication Date
KR20040037157A KR20040037157A (ko) 2004-05-04
KR100504988B1 true KR100504988B1 (ko) 2005-08-01

Family

ID=26801127

Family Applications (2)

Application Number Title Priority Date Filing Date
KR10-2004-7004475A KR100504988B1 (ko) 1998-10-13 1999-10-12 터보 코드용 하이브리드 인터리버
KR10-2001-7004636A KR100453605B1 (ko) 1998-10-13 1999-10-12 터보 코드용 하이브리드 인터리버

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR10-2001-7004636A KR100453605B1 (ko) 1998-10-13 1999-10-12 터보 코드용 하이브리드 인터리버

Country Status (12)

Country Link
EP (1) EP1119915B9 (ko)
JP (1) JP3837023B2 (ko)
KR (2) KR100504988B1 (ko)
CN (2) CN1183687C (ko)
AT (1) ATE242563T1 (ko)
AU (1) AU6517499A (ko)
CA (1) CA2346830C (ko)
DE (1) DE69908629T2 (ko)
DK (1) DK1119915T3 (ko)
ES (1) ES2197683T3 (ko)
HK (1) HK1039411B (ko)
WO (1) WO2000022739A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2361852A (en) * 2000-04-28 2001-10-31 Mitel Corp Turbo coded trellis code modulation
US6757859B1 (en) 2000-05-01 2004-06-29 Zarlink Semiconductor Inc. Parallel turbo trellis-coded modulation
KR100893053B1 (ko) * 2001-10-26 2009-04-15 엘지전자 주식회사 길쌈 부호화 및 복호화를 위한 프레임 구성 및 에러 검출방법
CN1494791A (zh) * 2002-01-15 2004-05-05 连宇通信有限公司 一种用于无线信道分组数据传输的混合arq方法
JP3735579B2 (ja) 2002-02-26 2006-01-18 株式会社東芝 ディスク記憶装置及びデータ記録再生方法
GB2386039B (en) * 2002-03-01 2005-07-06 Fujitsu Ltd Data encoding and decoding apparatus and a data encoding and decoding method
US7346832B2 (en) * 2004-07-21 2008-03-18 Qualcomm Incorporated LDPC encoding methods and apparatus
KR101279204B1 (ko) * 2006-10-24 2013-06-26 삼성전자주식회사 터보 부호기의 인터리빙 방법 및 장치
KR200488155Y1 (ko) 2017-03-09 2018-12-20 변동수 발열부재 수용 및 인출이 가능한 손난로 인형

Also Published As

Publication number Publication date
DE69908629D1 (de) 2003-07-10
KR100453605B1 (ko) 2004-10-20
EP1119915B9 (en) 2004-07-14
DE69908629T2 (de) 2004-05-13
KR20040037157A (ko) 2004-05-04
ES2197683T3 (es) 2004-01-01
CA2346830C (en) 2006-11-28
CN1614898A (zh) 2005-05-11
DK1119915T3 (da) 2003-10-06
EP1119915B1 (en) 2003-06-04
EP1119915A1 (en) 2001-08-01
WO2000022739A1 (en) 2000-04-20
CN1323463A (zh) 2001-11-21
JP3837023B2 (ja) 2006-10-25
ATE242563T1 (de) 2003-06-15
CN1183687C (zh) 2005-01-05
KR20010080130A (ko) 2001-08-22
CN1614898B (zh) 2011-04-27
AU6517499A (en) 2000-05-01
CA2346830A1 (en) 2000-04-20
HK1039411A1 (en) 2002-04-19
JP2002527981A (ja) 2002-08-27
HK1039411B (zh) 2004-04-16

Similar Documents

Publication Publication Date Title
US6772391B1 (en) Hybrid interleaver for turbo codes
CA2295791C (en) Adaptive channel encoding method and device
US6289486B1 (en) Adaptive channel encoding method and device
WO1998011671A1 (en) An improved system for coding signals
KR20000074862A (ko) 이동 통신시스템의 직렬 쇄상 컨볼루션 부호화를 위한 인터리빙장치 및 방법
US7180968B2 (en) Soft-output decoding
JP4420924B2 (ja) 情報ビット系列を符号化する方法および符号化器
US7376881B2 (en) Encoder system, a decoder system, a coding/decoding apparatus, an encoding method and a decoding method
KR100504988B1 (ko) 터보 코드용 하이브리드 인터리버
US8009769B2 (en) Method and a device for decoding slice codes
KR100297739B1 (ko) 다중테일을갖는터보코드및그의부호화/복호화방법및그를이용한부호기/복호기
CN110034846B (zh) 一种编码方法及装置
EP1347580A2 (en) Hybrid interleaver for turbo codes
JP4420925B2 (ja) 情報ビット系列を符号化する方法および符号化器
KR19990013245A (ko) 적응형 채널 부호화 방법 및 장치
KR100332805B1 (ko) 직렬 연쇄 컨벌루션 부호화 장치 및 부호화/복호화 방법
Gaurav et al. On the performance of Turbo codes based on Consultative Committee for Space Data Systems Standard
JP4058065B2 (ja) ターボ復号装置並びにターボ復号装置に用いられるメモリ及びデコーダ並びにターボ復号装置をそなえた移動通信システム用受信側装置
KR100362557B1 (ko) 이차원 인터리빙 장치 및 방법
Ibrahim et al. Modified Encoding Scheme for UMTS Turbo Encoder
Encoder 3.1 Recursive Systematic Convolutional (RSC) Encoder

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
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: 20130618

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee