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

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

Info

Publication number
KR20010080130A
KR20010080130A KR1020017004636A KR20017004636A KR20010080130A KR 20010080130 A KR20010080130 A KR 20010080130A KR 1020017004636 A KR1020017004636 A KR 1020017004636A KR 20017004636 A KR20017004636 A KR 20017004636A KR 20010080130 A KR20010080130 A KR 20010080130A
Authority
KR
South Korea
Prior art keywords
encoder
interleaver
integer
input
turbo
Prior art date
Application number
KR1020017004636A
Other languages
English (en)
Other versions
KR100453605B1 (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 KR20010080130A publication Critical patent/KR20010080130A/ko
Application granted granted Critical
Publication of KR100453605B1 publication Critical patent/KR100453605B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Medicinal Preparation (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Detection And Correction Of Errors (AREA)
  • Supercharger (AREA)
  • Compositions Of Oxide Ceramics (AREA)
  • Interface Circuits In Exchanges (AREA)

Abstract

두 개의 재귀 계통적 구성요소 코드(RCS) 인코더를 가지는 하이브리드 인터리버를 갖춘 터보코드 인코더가 공개된다. 이 시스템은 각각의 인코더의 레지스터들을 모두 0 상태로 바꾸도록 다수의 테일 비트를 필요로하지 않으면서 유한 순서의 정보 비트를 암호화한다. 하이브리드 인터리버는 단 한 개의 테일 비트 순서만을 이용하여 터보코드 오버헤드를 감소시킨다. 단 한 개의 m-비트 테일만을 이용함으로서, 하이브리드 인터리버는 비트 오류 비율(BER)을 개선시킨다.

Description

터보코드 하이브리드 인터리버{HYBRID INTERLEAVER FOR TURBO CODES}
여러 종류의 데이터 통신 시스템에서, 음성 신호든 비음성 신호든 간에, 정보 전송시 신호 다이버서티나 리던던시는 데이터 전송 시스템의 다른 측면과의 타협없이(즉, 다른 부분의 성능을 저하시키지 않으면서) 성능을 개선시키는 것으로 나타난다. 시간 다이버서티를 추가하는 두가지 기술은 인터리빙(interleaving)과 순방향 오류 수정(FEC) 코딩으로 알려져 있다.
인터리빙 처리는 입력 데이터 순서를 치환하거나 또다른 순서로 재정렬한다. 가령,
(0 1 2 3 4 5 6 7) ←IN←(3 0 6 7 1 5 2 4)
이때, 수학적 연산자 IN[J]는 인터리버 IN의 연산에 의해 각 비트의 원위치나 유한 입력 순서의 부호를 새로운 위치 J로 자리바꿈 시킨다. 시간 다이버서티를 달성하는 이 재정렬 처리는 인터리빙이라 불리며, 여러 방식으로 실행될 수 있다. 전형적인 인터리빙의 두가지 방법은 블록 인터리빙과 임의 인터리빙으로 알려져 있다.
전송 수신지에서, 신호는 다시 재정렬되어, 데이터 순서를 원래의 순서로 다시 되돌린다. 이러한 역처리는 디인터리빙(deinterleaving)이라 불린다.
최적의 성능을 나타내는 가장 최근의 코딩 기술은 터보코드이다. 다양한 터보코드 인터리버 설계가 존재하고, 암호해독시에 복잡도가 감소하는 구조를 가진다. 가장 자주 사용되는 것으로는 1) 블록 인터리버, 2), 준-임의 인터리버, 3) S-임의 인터리버가 있다.
최적의 성능을 보이는 인터리버는 S-임의 인터리버이다. S-임의 인터리버는 어떤 순서 길아 내의 임의 위치를, 동일한 길이를 보이는 인접 위치로 매핑하지 않는 성질을 이용한다. 이는 순서 길이를 가능한 길게 한다. 모든 인터리버 설계는 입력 순서 크기와 치환을 나타내는 특정 세트의 규칙을 필요로한다.
인터리빙과 연계하여, FEC 코딩은 응집성으로 복조되는 신호에 대한 성능을 개선시킨다. FEC 코딩은 원 데이터 순서의 추가적인 리던던시(redundancy)를 더한다. 확산 스펙트럼 에어 인터페이스 상에서 통신하는 통신 시스템에서, 공유 스펙트럼 전송 채널에 이미 리던던시가 존재한다. FEC 인코더는 유한 상태 기계(finite state machine)로서, 노드나 상태, 그리고 지연 레지스터에 의존한다. 레지스터 간의 정해진 전송은 한 개의 경로를 생성하며, 이 경로로부터 데이터 입력이 출력을 생성한다. 복잡하게 얽힌 상태로 암호화 데이터의 암호화 및 해독 기술을 설명하기위한 공통적인 방법은 당 분야에 잘 알려진 트렐리스(trellis) 다이어그램을 이용하는 것이다. 트렐리스 다이어그램은 유한 상태 다이어그램의 무한 복사로서, 도 1에 도시된다.
해독과정은 각각의 레벨과 각각의 선택된 노드나 상태에 대해 트렐리스 구조와 경로 상태나 길이에 의존하는 최대의 유사 알고리즘을 이용하여 실행되는 것이 일반적이다. 얽힌 코드의 어떤 코드 워드는 트렐리스 다이어그램의 경로를 따르는 부호에 상응한다. 트렐리스의 각각의 상태나 각각의 레벨에서, 추가-비교-선택 연산이 실행되어 최적의 경로와 상태를 선택한다. 트렐리스는 여러 수신 부호에 대해 조립된다. 정해진 수의 부호가 축적된 후에, 결정 단계에서 최소의 오류를 가지는 트렐리스 경로를 찾아낸다. 트렐리스의 모든 비트에 대한 최종 결정은 인코더를 초기 모두-0 상태로 복귀시킴으로서 인코더를 통해 이루어진다. 이는 암호화후에 유한 비트 스트림의 말미에 0 테일 비트들을 삽입함으로서 달성된다. 이 처리가 "테일링 오프(tailing off)"로 불린다.
"체이닝 백(chaining back)"이라고 알려진 처리는 최종 노드에서 시작하여, 결정 경로를 최종 결정으로부터 최초로 되돌리며 실행된다. 이 해독 방식은 최초 전송된 부호가 어느 것인지를 결정한다. 트렐리스 구조는 리던던시를 삽입하고, 과거 히스토리를 축적한다.
기존 터보 인코더가 도 2에 도시된다. 인코더는 제 1, 2 계통 재귀 얽힘 코드(RCS) 인코더를 포함하며, 이 제 1, 2 인코더는 제 2 재귀 얽힘 인코더 이전에 연결되는 터보코드 인터리버와 병렬로 연결된다. 각 인코더에 사용되는 두 개의 재귀 얽힘 코드는 구성요소 코드로 알려져 있다. 제 1 인코더는 원래의 순서로 입력 정보 비트 xN을 재정렬하고, 제 2 인코더는 터보코드 인터리버 xI N에 의해 치환되도록 입력 비트를 재정렬한다. 입력 정보 순서 xN은 항상 채널을 통해 전송된다. 데이터 전송 속도에 따라, 두 인코더로부터의 출력이 전송 yN이전에 "구멍난다". "구멍난다"는 표현은 하부 탭의 교대 출력이 출력부로부터 삭제되는 처리과정을 말한다. 이 처리는 코드 속도를 정착시킨다.
터보코드 인터리버는 어떤 반복도 없이 순서 길이의 치환에 의해 정하여지는 스크램블러이다. 완전한 순서가 인터리버로 입력되어 정해진 순서로 출력된다.
기존 테일링 오프 처리가 도 3과 4에 도시된다. 각각의 인코더에 대한 테일 비트가 도 3에 도시되는 바와 같이 각각의 인코더로부터의 레지스터 피드백으로부터 얻어진다. 각각의 구성요소 인코더의 레지스터 내용이 테일링 오프 작동의 시작부에서 다르기 때문에, 각각의 인코더는 분리 방식으로 바뀌어져야 한다. 도 4에 기술되는 바와 같이, 정보 비트가 암호화된 후 각각의 인코더(도 3)는 독립적으로, 서로 배타적으로 바뀌어진다. 각각의 인코더는 고유 테일 비트를 도출하고 수신한다. 따라서, m이 인코더의 상태나 레지스터 메모리의 수와 같다면, 한 개의 인코더에 대해 m개의 테일 비트가 필요하고, 두 인코더에 대해 2m개의 테일 비트가 필요하다.
기존 터보코드 인코더가 도 5에 도시된다. 복조된 소프트값 신호 yN을 수신할 때, 제 1 구성요소 인코더로부터의 정보 및 패러티 비트 p1 N에 대한 소프트-결정 정보는 제 1 구성요소 디코더로 입력된다. 제 1 구성요소 디코더는 정보 비트와 함께 디코더 인터리버로 입력되는 정보 비트에 대한 갱신된, 소프트-결정 유사값 Le1(xN)을 발생시킨다. 제 2 구성요소 디코더로의 입력은 제 2 구성요소 인코더로부터, 인터리빙된 소프트값 순서 xI N과 LI e1(xN)과 패러티 비트 p2 N을 제 2 구성요소 인코더로부터 포함한다. 제 2 디코더의 출력은 제 1 구성요소 디코더로부터의 출력으로부터 도출되는 소프트-결정 유사값을 개선시키고, 반복 공정으로 터보 디코더 인터리버에 따라 재정렬 후, 제 1 구성요소 디코더로 피드백된다. 제 2 구성요소 디코더로부터의 출력 xe는 해독 과정이 완료된 후 얻어진다.
앞서 기술한 바와 같이, 터보코드 인터리버의 이용은 코딩이 유한 순서 길이로 실행되는 것을 필요로한다. 이러한 유한 정보 순서를 암호화하기 위해, 터보 인코더의 두 구성요소 RCS 인코더가 트렐리스 종료를 위해 모두-0 상태로 시작하고 종료하게 하는 것이 필요하다. 그러나, 터보 인터리버의 존재로 인해, 두 구성요소 인코더를 동일한 트렐리스 비트로 모두 0 상태로 동시에 종료시키는 것이 어렵다. 대부분의 기존 터보 인코더는 다수의 테일 비트로 종료되는 정보 순서를 가진다. 테일 비트는 성가신 것으로 간주되고, 터보 해독된 순서의 오버헤드로 간주된다.
따라서, 각각의 구성요소 인코더를 모두 0 상태로 강제하도록 하는 다수의 테일 비트를 필요로하지 않는 터보코드 인터리버에 대한 수요가 존재한다.
본 발명은 높은 처리 이득으로 시스템에서 시간 다이버서티를 생성하는 처리 공정에 관한 것이다. 특히, 발명은 각각의 구성 인코더의 저장 레지스터를 모드 0 상태로 바꾸기 위해 필요한 다수의 테일 비트가 감소하는 터보코드 인터리빙 매핑 시스템 및 방법에 관한 것이다.
도 1은 4-상태 RCS 인코더에 대한 기존 트렐리스 다이어그램.
도 2는 기존 터보코드 인코더의 시스템 다이어그램.
도 3은 테일링 오프를 보여주는 4-상태 인코더의 시스템 다이어그램.
도 4는 기존의 테일링 오프 방법의 순서도.
도 5는 기존 터보코드 디코더의 시스템 다이어그램.
도 6은 본 발명의 시스템 및 방법을 이용한 하이브리드 인터리버를 갖춘 터보코드 인코더의 시스템 다이어그램.
도 7은 본 발명을 구체화하는 인터리버 방법의 순서도.
도 8은 S가 2와 같고 L이 4와 같은 4-상태 터보코드인코더에 대해 본 sqkf명에 의해 생성되는 16 프레임 크기 인터리빙 순서의 도면.
도 9는 도 8의 인터리빙 순서의 매핑 도면.
도 10은 검증된 도 8의 16-프레임 크기 인터리빙 순서의 도면.
도 11은 본 발명을 구체화하는 테일링 오프 방법의 순서도.
도 12는 대안의 실시예의 순서도.
(도면 부호 설명)
17 ... 터보코드 인코더 19 ... 하이브리드 인터리버
21 ... 제 1 RCS 구성요소 인코더 23 ... 제 2 RCS 구성요소 인코더
25 ... 테일링 오프 비트 연산 27 ... 입력 데이터
29 ... 프레임
본 발명은 재귀 계통적 구성요소 인코더를 가지는 터보코드 하이브리드 인터리버에 관한 것이다. 이 시스템과 과정은 각각의 인코더의 레지스터를 모두 0 상태로 바꾸도록 다수의 테일 비트를 필요로하지 않으면서 유한 프레임의 비트를 암호화한다. 하이브리드 인터리버는 최적의 터보 인터리버의 성능을 개선시키는 두 구성요소 인코더에 대해 동일한 테일 비트를 사용함으로서 터보코드 오버헤드를 감소시킨다.
따라서, 암호화 처리의 일부가 되도록 다수의 테일 비트를 필요로하지 않는 인터리빙 시스템 및 방법을 제공하는 것이 본 발명의 한가지 목적이다.
각각의 구성요소 인코더에 저장 레지스터의 수가 m일 때 단일 m-비트 테일로 암호화 처리를 모두 0 상태로 종료시키는 테일 비트의 수를 제한하는 터보코드 암호화 순서에서 불필요한 오버헤드를 제거하는 것이 본 발명의 다른 한가지 목적이다.
도 6에는 본 발명에 따라 구체화되는 하이브리드 인터리버(19)를 갖춘 터보코드 인코더(17)가 도시된다. 터보코드 인코더(17)는 단일 테일링 오프 비트 연산(25)을 이용하여 제 1, 2 RCS 구성요소 인코더(21, 23)를 모두 0 상태로 종료시킨다. 본 발명(17)은 최적의 터보 인터리버의 성능을 유지함에 관련하여 각각의 구성요소 인코더(21, 23)의 주기적 성질을 이용한다. 하이브리드 인터리버(19)를 갖춘 터보코드 인코더(17)는 각각의 구성요소 인코더(21, 23)의 트렐리스 종료를위해 필요한 추가적인 테일 비트 오버헤드를 감소시킨다.
도 6과 7은 하이브리드 터보코드 인터리버(19)의 시스템과 처리과정을 기술한다. 이 처리과정(51)은 암호화를 위해 입력 데이터(27)의 순서를 수신함으로서 시작된다(단계 53). 암호화 순서 프레임 크기 N이 선택된다(단계 55). 상태 크기 및 구멍냄 속도(코드 속도)는 하이브리드 인터리버(19)에 독립적이다. 하이브리드 인터리버(19)는 치환에 대한 임의 정수 I(k)를 생성한다.
도 8과 9에 도시되는 바와 같이, 임의 정수 순서의 발생은 각각의 프레임(29) 위치(311-N)에 대해 비트 단위로 실행된다. I(k)로 표시되는 임의 정수의 발생(단계 57)은 다음과 같다.
I ≤I(k) ≤N ... 방정식 (1)
이때, 인터리버 순서에서 각각의 매핑된 위치(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: kmod2m-1 = I(k)mod2m-1∀k ... 방정식(9)(단계65)
이때, m은 구성요소 인코더의 메모리 크기이다. 4와 8-상태 인코더에 대하여, m은 각각 2와 3이 된다. 하이브리드 인터리버(19)에 대해 k = 1,2,...,N(단계 66)에 대한 모든 정수 I(k)가 선택(단계 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)는 제 2 구성요소 인코더(23)가 출력(37)을 수신하기 위해 하이브리드 인터리버(19)를 따라 치환된다.
제 1, 2 구성요소 인코더(21, 23)에 대해 동일한 테일 비트를 이용하여 트렐리스를 종료시키는 본 발명의 처리 과정이 도 6과 도 11에 도시된다. 앞서 기술된 바와 같이, 정보 비트는 두 인코더에 의해 암호화된다. 제 1 구성요소 인코더(21)는 원래 순서의 정보 비트(27) 상에서 작동한다. 제 2 구성요소 인코더(23)는 하이브리드 인터리버(19)에 따라 치환(37)된 것과 같은 정보 비트(27) 상에서 작동한다. 제 1, 2 구성요소 인코더(21, 23)로부터의 출력은 구멍나고 멀티플렉싱되어 출력을 생성한다(도 2 참조).
두 구성요소 인코더에 대해 동일한 테일 비트를 사용하는 트렐리스 종료 과정(81)은, 모든 정보 비트가 제 1, 2 구성요소 인코더(21, 23)에 의해 암호화됨을 확인함과 동시에 시작한다(단계 83). 암호화 과정의 이 시기에, 두 인코더의 레지스터 내용은 동일하다. 제 1, 2 인코더(21, 23)는 원래의 정보(27)와 치환(37)된 비트스트림으로부터의 입력을 제 1 인코더(21)로부터 피드백(41)되게 스위칭한다. 테일링 오프 과정에 대한 정보 출력 xN과 함께 제 1 인코더(21) 출력 p1 N과 제 2 인코더(23) 출력 p2 N의 구멍냄은 정보 비트(27, 37)의 암호화(21, 23) 과정중과 동일하다. 두 스위치 전이(43, 45) 후, 제 1 인코더(21)는 그 고유 레지스터로부터 피드백(41)을 통해 테일 비트를 수신한다(단계 85). 제 2 인코더(23)로의 테일 비트는 하이브리드 인터리버(19)에 의해 인터리빙되지 않았으며, 제 1 인코더(21)에서와 같이 트렐리스 종료와 동일한 테일 비트(41)이다(단계 87).
M-상태 인코더의 경우에, 제 1, 2 인코더(21, 23)의 모든 레지스터를 모두0 상태로 바꾸기 위해 log2M 테일 비트가 필요하다. L=log2M일 때, 표 1은 4-상태 인코더와 8-상태 인코더에 대해 필요한 수의 테일 비트와 테일 코딩된 부호의 총수를 보여준다.
L 테일파트에서 총 코딩된 비트(공지기술) 테일 파트에서 총코딩된 비트(본 발명)
8-상태 인코더 1/2 속도 터보코드 3 2 x 6 = 12 6
1/3 속도 터보코드 3 2 x 9 = 18 9
4-상태 인코더 1/2 속도 터보코드 2 2 x 4 = 8 4
1/3 속도 터보코드 2 2 x 6 = 12 6
표 1
4-상태 구성요소 인코더를 갖춘 1/2 속도와 1/3 속도의 터보코드 인코더의 경우에, 본 발명(17)은 4 테일 비트와 6 테일 비트를 각각 제거한다. 8-상태 구성요소 인코더를 갖춘 1/2 속도 및 1/3 속도 터보코드 인코더의 경우에, 본 발명(17)은 공지기술과 비교되면서 공지기술에 의해 요구되는 6 테일 비트와 9 테일 비트를 각각 제거한다.
하이브리드 인터리버를 갖춘 터보코드 인코더는 기존 S-임의 인터리버에 비해 더 양호한 성능을 보인다. 왜냐하면, 조건 B에 설정된 규칙이 최악의 경우인 터보코드의 낮은 웨이트 분포를 피하고 조건 A는 최적의 특성을 유지하기 때문이다. 하이브리드 인터리버(18)가 테일 부분의 시작점에서 제 1, 2 구성요소 디코더(21, 23)에 대해 동일한 트렐리스 상태 순서를 이끌기 때문에, 제 1, 2 인코더(21, 23)를 모두 0 상태로 바꾸기 위해 단일 m-비트 테일 순서를 이용하는 것은 수용가능하다. 제 1 구성요소 디코더로부터 발생된 테일 비트를 포함하는 외부 정보 LI e1은 제 2 구성요소 디코더로 통과되어, 전체 성능을 향상시킨다(도 5 참조).
한 예로, 원래의 정보 순서가 다음과 같다면,
xN= {1 0 1 1 0 1 0 0 0 1 1 1 0 1 0 1}
하이브리드 인터리버(19)에 따른 치환된 정보 순서는,
xI N= {0 0 0 1 0 1 1 1 1 0 1 0 1 0 1 1}이다.
정보 순서는 제 1, 2 구성요소 인코더(21, 23)에 의해 암호화된다. 제 1 구성요소 인코더(21)는 원래 순서의 입력 x 상에서 작동하고, 제 2 구성요소 인코더(23)는 치환된 xI인터리버(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}
앞서 도시되는 바와 같이, 각각의 트렐리스 상태 순서로부터의 최종 두 상태(4비트)는 하이브리드 인터리버(19)로 인해 동일하다. 이는 제 1, 2 구성요소 인코더(21, 23)가 동일한 테일 비트를 수신하게 하여, 터보코딩 과정의 오버헤드를 감소시킨다.
조건 C는 정보 비트 암호화후, 두 구성요소 인코더의 트렐리스 상태를 동일하게 한다. 이는 두 구성요소 인코더에 동일한 테일 비트를 허용하여, 테일 비트로 인한 터보코드 오버헤드를 감소시키게 한다. 추가적으로, 동일한 테일 비트를 이용하는 것은 반복형 디코더에 대해 바람직하다. 이는 인터리버 설계가 S-임의 인터리버를 바탕으로 함에 관하여 앞서 설명한 바 있다. 본 발명이 터보코드 성능을 개선시킬 때, 그 메모리 요구사항은 인터리버 크기에 비례하는 메모리 저장 요구사항을 가지는 S-임의 인터리버에 대해 동일하다.
대안의 실시예가 도 12에 도시된다. D를 블록 크기 N을 가지는 이진 비트의 정보 순서로 표시하자.
D = {d1,d2,...,dN} 이때, dk= ±1 ... 방정식(10)
M이 4나 8과 같은 M-상태 터보코더에서, 정보 순서 D를 p-디스조인트 서브세트 S로 나눌 수 있다. 이때, p=M-1이다.
S0= {dk|,k mod p = 0} ... 방정식(11)
S1= {dk|,k mod p = 1} ... 방정식(12)
.
.
.
Sp-1= {dk|,k mod p = p-1} ... 방정식(13)
이때, 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 구성요소를 구동하기 위해 행렬을 판독한다. 이때, 제 2 구성요소의 입력은 인터리빙된 출력 순서이다.
본 발명이 선호되는 실시예를 들어 기술되었으나, 아래의 청구범위에서 제시되는 발명의 범위 내에 있는 다른 변형도 당 분야의 통상의 지식을 가진 자에게 명백할 것이다.

Claims (11)

  1. 입력 비트 세트를 암호화하기 위한 터보코드 인코더로서,
    상기 터보코드 인코더는 제 1 RCS 구성요소 인코더, 인터리버, 제 2 RCS 구성요소 인코더를 가지며,
    상기 제 1 RCS 구성요소 인코더는 입력 비트 세트를 암호화하기 위해 다중-상태 레지스터를 가지고,
    상기 인터리버는 상기 세트 내의 입력 비트를 재정렬시키며,
    상기 제 2 RCS 구성요소 인코더는 인터리버에 의해 재정렬된 입력 비트 세트를 암호화하기 위해 다중-상태 레지스터를 가지고,
    상기 제 1, 2 RCS 구성요소 인코더의 레지스터가 동일한 입력 비트 세트를 암호화한 후 동일한 값을 가지도록 상기 인터리버가 배치되는 것을 특징으로 하는 터보코드 인코더.
  2. 제 1 항에 있어서, 상기 터보코드 인코더는 테일 비트 제너레이터를 추가로 포함하고, 상기 제너레이터는 상기 제 1, 2 RCS 구성요소 인코더의 레지스터를 재설정하는 암호화된 입력 비트의 각각의 세트에 대해 테일 비트 세트를 발생시키는 것을 특징으로 하는 터보코드 인코더.
  3. 제 2 항에 있어서, 상기 테일 비트 제너레이터는 상기 제 1 인코더 레지스터의 내용에 따라 상기 테일 비트 세트를 발생시키는 것을 특징으로 하는 터보코드 인코더.
  4. 제 1 항에 있어서, N이 양의 정수일 때 N 입력 비트의 세트를 암호화하기 위한 터보코드 인코더로서,
    상기 인터리버는 아래와 같이 1로부터 N까지 k에 대한 입력 비트(k) 세트의 임의 정수 I(k)를 발생시키는 것을 특징으로 하는 터보코드 인코더.
    a) |I(k)-I(k-j)|>S,
    이때 S는 임의 값이며, j는 양의 정수, 0<j≤S, 그리고 k-j≥0임.
    b) L이 인코더 레지스터 상태의 수에 따라 좌우되고, n은 k-n*L≥0을 만족하는 양의 정수일 때, n*L>S일 경우 단계 d로 진행.
    c) |I(k)-I(k-n*L)| ≠j*L. 사실이 아닐 경우, 단계 a-c를 반복함.
    d) 2m은 상기 인코더의 레지스터 상태의 수일 때 k mod 2m-1 = I(k) mod 2m-1을 이용하여 각각의 임의 정수를 확인하고, 그렇지 않을 경우, 단계 a-d를 반복함.
    e) 정수 비트 카운트 k를 증가시킴.
    f) k=N+1, 그렇지 않을 경우 단계 a-f를 반복함.
  5. 제 1 항에 있어서, N이 양의 정수이고 d가 한 세트의 입력 비트로서 모든 d가 ±1일 때, N개의 입력 비트 세트를 암호화하기 위한 터보코드 인코더로서,
    상기 인터리버는 배열 수단, 조합 수단, 재정렬 수단, 출력 수단을 포함하며,
    상기 배열 수단은 p=M-1일 때 M 상태의 터보코드에 대한 상기 입력 비트 세트를 p 디스조인트 서브세트로 배열하여, 크기가 b인 각각의 디스조인트 서브세트 Si가 다음과 같이 표시되며, 이때 i는 0에서 p-1까지의 정수이고, b는 N/p 이상의 최소 정수이고,
    Si= {dk|,k mod p = i}
    상기 조합 수단은 b 행과 p열의 블록을 형성하기 위해 서브세트 Si를 조합하여, 각각의 서브세트 요소는 동일한 열에 위치하고, 이때 k는 1에서 b까지의 정수이며,
    상기 재정렬 수단은 상기 열 내의 입력 비트 세트를 재정렬시키고,
    상기 출력 수단은 인터리버에 의해 재정렬된 입력 비트 세트를 생성하기 위해 상기 열 재정렬 이후에 상기 행을 출력하는 것을 특징으로 하는 터보코드 인코더.
  6. 입력 비트 세트를 암호화하는 방법으로서, 상기 방법은,
    - 입력 비트 암호화를 위해 다중 상태 레지스터를 가지는 제 1 RCS 구성요소 인코더를 이용하여 입력 비트 세트를 암호화하고,
    - 인터리버를 이용하여 입력 비트 세트를 선택적으로 재정렬시키며,
    - 다중 상태 레지스터를 가지는 제 2 RCS 구성요소 인코더를 이용함으로서 재정렬 입력 비트 세트를 암호화하여, 입력 비트의 재정렬된 선택으로 인해, 입력 비트 세트 암호화를 종료할 때 상기 제 2 RCS 구성요소 인코더 레지스터가 상기 제 1 RCS 구성요소 인코더 레지스터와 같은 값을 가지는, 이상의 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제 6 항에 따른 터보 암호화 방법으로서, 상기 방법은,
    - 암호화된 입력 비트 각각의 세트에 대한 테일 비트 세트를 발생시키고,
    - 상기 제 1, 2 RCS 구성요소 인코더의 레지스터를 재설정하도록 상기 테일 비트 세트를 사용하는, 이상의 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  8. 제 6 항에 따른 터보 암호화 방법으로서, 상기 선택적 재정렬 단계는,
    a) 다수의 N 정보 비트를 수신하고, 이때 N은 양의 정수이며,
    b) 하이브리드 인터리버 프레임 크기 N을 정의하며,
    c) 1에서부터 N까지의 k에 대해 다음의 조건을 만족시키는 임의 정수 I(k)를 발생시키고,
    1) |I(k)-I(k-j)|>S, 이때 S는 임의값이며 j는 양의 정수이고, 0<j≤S, k-j≥0이며,
    2) L이 인코더 레지스터 상태의 수에 따라 좌우되고 N은 k-n*L≥0을만족하는 양의 정수일 때, n*L>S일 경우 단계 4)로 진행하며,
    3) |I(k)-I(k-n*L)| ≠j*L, 이것이 사실이 아닐 경우 단계 1)-3)을 반복하며,
    4) k mod 2m-1 = I(k) mod 2m-1을 이용하여 각각의 임의 정수를 확인하고, 이때 2m은 상기 인코더 중 하나의 레지스터 상태의 수이고, 그렇지 아니할 경우 단계 1)-4)를 반복하며,
    5) 정수 비트 카운트 k를 증가시키고,
    6) k=N+1, 이것이 사실이 아닐 경우, 단계 c)를 반복하며,
    d) 암호화를 위한 치환된 인터리버 데이터 순서를 출력하는, 이상의 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제 7 항에 따른 터보코드 인코더로서, 상기 터보코드 인코더는,
    a) 제 1 구성요소 인코더와 제 2 구성요소 인코더에 의한 암호화가 완료되었는 지를 확인하고,
    b) 정보 비트 스트림과 치환된 비트 스트림으로부터 각각 상기 제 1, 2 인코더로의 입력을 상기 제 1 구성요소 인코더 최종 단계로부터의 공통 피드백으로 스위칭하며,
    c) 상기 피드백으로부터 수신되는 테일 비트의 수를 증가시키고, 이때 상기 테일 비트의 수는 상기 제 1 구성요소 인코더에 사용되는 레지스터의 수보다 커야하고 그렇지 않을 경우 단계 b-c를 반복하는, 이상의 단계를 포함하는 것을 특징으로 하는 터보코드 인코더.
  10. 제 6 항에 따른 N개의 입력 비트 세트의 암호화 방법으로서, 이때 N은 양의 정수이고, d는 한 세트의 입력 비트이며, 모든 d = ±1이며, 상기 선택적 재정렬 단계는,
    - M-상태 터보코더에 대한 상기 입력 비트 세트를 p 디스조인트 서브세트로 배열하여, 크기가 b인 각각의 디스조인트 서브세트 Si가 다음과 같이 표시되고, 이때 p=M-1이고, i는 0에서 p-1까지의 정수이며, b는 N/p 이상의 최소정수값이고,
    Si= {dk|,k mod p = i)
    - b 행과 p 열의 블록을 형성하기 위해 서브세트 Si를 조합하여, 서브세트의 각각의 요소가 동일한 열에 위치하며, 이때 k는 1에서 b까지의 정수이고,
    - 각각의 열 내의 서브세트 요소를 재정렬시키며,
    - 인터리버에 의해 재정렬된 입력 비트 세트를 생성하도록 상기 열을 재정렬시킨 후 상기 행을 출력하는, 이상의 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  11. N 입력 비트 세트의 암호화를 위한 터보코드 인코더로서, 이때 N은 양의 정수이고, d는 한 세트의 입력 비트이며 모든 d=±1이고,
    상기 터보코드 인코더는 제 1 RCS 구성요소 인코더, 배열 수단, 조합 수단, 인터리버, 출력 수단, 제 2 RCS 구성요소 인코더를 포함하며,
    상기 제 1 RCS 구성요소 인코더는 입력 비트 세트 암호화를 위한 다중 상태 레지스터를 가지고,
    상기 배열 수단은 M-상태 터보코더에 대한 상기 입력 비트 세트를 p 디스조인트 서브세트로 배열하여, 크기가 b인 각각의 디스조인트 서브세트 Si를 아래와 같이 표시하며, 이때 p=M-1, i는 0에서 p-1까지의 정수이고, b는 N/p 이상의 최소 정수이며,
    Si={dk|,k mod p = i}
    상기 조합 수단을 b행과 p열의 블록을 형성하기 위해 서브세트 Si를 조합하여, 서브세트의 각각의 요소가 같은 열에 위치하게 하고, 이때 k는 1에서 b까지의 정수이며,
    상기 인터리버는 상기 열 내에서 입력 비트를 재정렬하고,
    상기 출력 수단은 인터리버에 의해 재정렬된 입력 비트 세트를 생성하기 위해 상기 열의 인터리빙 후에 상기 행을 출력하며,
    상기 제 2 RCS 구성요소 인코더는 인터리버에 의해 재정렬되는 입력 비트 세트를 암호화하기 위해 다중 상태 레지스터를 가지고, 그래서 상기 제 1, 2 RCS 구성요소 인코더의 각각의 레지스터가 동일한 입력 비트 세트를 암호화한 후 동일한 값을 가지는 것을 특징으로 하는 터보코드 인코더.
KR10-2001-7004636A 1998-10-13 1999-10-12 터보 코드용 하이브리드 인터리버 KR100453605B1 (ko)

Applications Claiming Priority (4)

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

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
KR20010080130A true KR20010080130A (ko) 2001-08-22
KR100453605B1 KR100453605B1 (ko) 2004-10-20

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 Before (1)

Application Number Title Priority Date Filing Date
KR10-2004-7004475A KR100504988B1 (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 엘지전자 주식회사 길쌈 부호화 및 복호화를 위한 프레임 구성 및 에러 검출방법
AU2002226259A1 (en) * 2002-01-15 2003-07-30 Linkair Communications, Inc. A hybird arq scheme for packet data transmission 0ver wireless channel
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
CN1614898B (zh) 2011-04-27
AU6517499A (en) 2000-05-01
KR100453605B1 (ko) 2004-10-20
JP3837023B2 (ja) 2006-10-25
KR100504988B1 (ko) 2005-08-01
DK1119915T3 (da) 2003-10-06
EP1119915A1 (en) 2001-08-01
DE69908629T2 (de) 2004-05-13
DE69908629D1 (de) 2003-07-10
HK1039411B (zh) 2004-04-16
EP1119915B1 (en) 2003-06-04
ES2197683T3 (es) 2004-01-01
CN1183687C (zh) 2005-01-05
ATE242563T1 (de) 2003-06-15
CN1323463A (zh) 2001-11-21
WO2000022739A1 (en) 2000-04-20
EP1119915B9 (en) 2004-07-14
KR20040037157A (ko) 2004-05-04
CA2346830A1 (en) 2000-04-20
CN1614898A (zh) 2005-05-11
HK1039411A1 (en) 2002-04-19
JP2002527981A (ja) 2002-08-27
CA2346830C (en) 2006-11-28

Similar Documents

Publication Publication Date Title
US6772391B1 (en) Hybrid interleaver for turbo codes
US6744744B1 (en) Rate matching and channel interleaving for a communications system
KR100711326B1 (ko) 선형 합동 시퀀스들을 이용한 터보 코드 인터리버
EP1601109A2 (en) Adaptive channel encoding method and device
US20020035709A1 (en) Apparatus and method for providing turbo code interleaving in a communications system
WO1998011671A1 (en) An improved system for coding signals
US7180968B2 (en) Soft-output decoding
JP4420924B2 (ja) 情報ビット系列を符号化する方法および符号化器
KR20010080130A (ko) 터보코드 하이브리드 인터리버
US20010044919A1 (en) Method and apparatus for improved perormance sliding window decoding
US7210075B2 (en) Prunable S-random block interleaver method and corresponding interleaver
US6961894B2 (en) Digital transmission method of the error-correcting coding type
US20020172292A1 (en) Error floor turbo codes
KR100297739B1 (ko) 다중테일을갖는터보코드및그의부호화/복호화방법및그를이용한부호기/복호기
US6782504B1 (en) Coding scheme and device with at least two parallel codifications and improved permutation, and corresponding decoding scheme and device
JP4420925B2 (ja) 情報ビット系列を符号化する方法および符号化器
EP1347580A2 (en) Hybrid interleaver for turbo codes
KR100332805B1 (ko) 직렬 연쇄 컨벌루션 부호화 장치 및 부호화/복호화 방법
CA2590447A1 (en) Puncture-constrained interleaving for concatenated codes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120919

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130924

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee