KR100347501B1 - 최적화 레이트-호환가능 터보 엔코딩 - Google Patents

최적화 레이트-호환가능 터보 엔코딩 Download PDF

Info

Publication number
KR100347501B1
KR100347501B1 KR1020007011264A KR20007011264A KR100347501B1 KR 100347501 B1 KR100347501 B1 KR 100347501B1 KR 1020007011264 A KR1020007011264 A KR 1020007011264A KR 20007011264 A KR20007011264 A KR 20007011264A KR 100347501 B1 KR100347501 B1 KR 100347501B1
Authority
KR
South Korea
Prior art keywords
rate
code
puncturing
turbo
compatible
Prior art date
Application number
KR1020007011264A
Other languages
English (en)
Other versions
KR20010052246A (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 KR20010052246A publication Critical patent/KR20010052246A/ko
Application granted granted Critical
Publication of KR100347501B1 publication Critical patent/KR100347501B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6381Rate compatible punctured turbo [RCPT] codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • H04L1/0068Rate matching by puncturing
    • H04L1/0069Puncturing patterns
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • 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/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

터보 엔코딩 방법 및 장치는 높은 코드 레이트로 최적화되며 유니버셜 구성 코드로부터 유도된 레이트-호환가능 터보 코드의 세트를 이용한다. 터보 코드는 레이트-호환가능 펑처링 패턴을 갖는다. 이 방법은 상위 코드 레이트와 유니버셜한 최상의 레이트 1/2 구성 코드를 사용하여 제1 및 제2 엔코더에서 신호를 엔코드하는 단계 - 상기 제1 엔코더와 상기 제2 엔코더는 각각의 정보 비트에 대해 각각의 복수의 패리티 비트를 발생함-; 상위 레이트의 최상의 펑처링 패턴으로 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계; 및 하위 레이트의 최상의 펑처링 패턴으로 상기 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계를 포함한다. 변형에 있어서, 최상의 레이트 1/2 구성 코드는 다항식 1+D2+D3(8진수 13), 및 1+D+D3(8진수 15)의 결합(D는 데이터 비트)을 나타낸다. 터보 엔코더에는 본 발명을 구현하는 하드웨어가 제공된다.

Description

최적화 레이트-호환가능 터보 엔코딩{OPTIMIZED RATE-COMPATIBLE TURBO ENCODING}
신호 감쇄 (자유공간 전파 손실) 및 다중 경로 유입 페이딩을 포함하는 신호 파형 및 스펙트럼 왜곡을 초래하는 RF 전파 채널을 통해 고품질의 통신을 제공하기 위해서는 지상 및 위성 무선 시스템에 포워드 에러 교정(FEC)이 요구된다. 이와 같은 결점들로, 무선 송신 및 수신기 장비의 설계, 변조 포맷, 에러 제어 스킴, 복조 및 디코딩 기술을 선택할 설계 목적, 및 시스템 성능과 구현 복잡성 간에 효율적인 균형을 함께 제공하는 하드웨어 구성요소를 고려하여야만 한다. 지상 및 위성 통신 채널 간과 같이 전파 채널 특성의 차이로, 자연적으로 시스템 설계의 결과가 크게 다르게 된다. 이와 유사하게, 새로운 상위 레이트 또는 보다 충실한 통신 서비스를 위한 증가된 시스템 조건을 충족시키기 위해 기존의 통신 시스템도 계속해서 발전하고 있다.
지상 셀룰러 이동 무선 전화의 경우에, 아날로그 이동 전화 시스템(AMPS)은 예시적인 제1세대 시스템이고: U.S. IS-136 및 유럽 GSM 시분할 다중액세스(TDMA) 표준 및 U.S. IS-95 코드 분할 다중액세스(CDMA) 표준은 제2세대 시스템이고; 현재 개발중인 광대역 CDMA 표준(즉, 미국에서는 CDMA 2000 및 유럽에서는 UTRA)은 제3세대 시스템이다.
제3세대 시스템에서, 유연성있고, 고속 데이터 통신 서비스의 개발은 중요한 관심이 되고 있다. 바람직한 특징들은 레이트 적응을 수행하고, 다양한 품질 서비스(quality-of-service, QOS) 조건을 만족시키는 능력을 포함한다.
통신 시스템용의 종래의 포워드 에러 교정(FEC) 스킴은 컨벌류션 코드, 리드-솔로몬 또는 BCH 코드와 같은 블럭 코드, 및/또는 축약 코딩 스킴의 사용을 포함한다.
터보 코드(Turbo codes)는 순환 소프트 결정(soft-decision) 디코딩 방법에 의해 이상화된 채널의 중요한 클래스에 대한 이론적인 제한에 근접한 비트 에러 레이트(BER)를 제공하도록 논증되고 있는 비교적 새로운 부류의 블럭 코드이다.
터보 엔코더는 제1 구성 엔코더에 관련된 제2 구성 엔코더에 대한 정보 비트의 표현 순서를 랜덤화하는 인터리버에 의해 구분된 전형적으로 두개의 시스템적 순환 콘벌루션 코드("구성 코드(constituent codes)")의 병렬 연관으로 구성된다.터보 코드의 성능은 구성 코드, 인터리버, 정보 블럭 크기(일반적으로 높은 데이터 레이트에 따라 증가하는), 및 디코더 반복 회수에 따른다. 구성 코드가 혼합되어 있는 특정 터보 코드의 경우, 성능, 지연 및 구현 복잡성 조건을 절충하기 위해 블럭 크기 및 디코더 반복 회수를 이상적으로 조정할 수 있다. 그러나, 블럭 크기가 변함에 따라, 해당 클럭 크기에 일치하는 새로운 인터리버가 요구된다.
동기화 기지국을 갖는 CDMA 네트워크에서, (기지국에서 사용자 단말으로의) 포워드 링크 채널은 예를 들어, 왈시 하마드 확산 시퀀스를 사용하여 직교하도록 설계될 수 있다. 그러나, 의사 직교인 확산 시퀀스를 사용하여 비동기성으로 동작하는 (사용자 단말에서 기지국으로의) 역 링크 채널의 경우에는, 이는 일반적으로 가능하지 않다. 따라서, 동기성 CDMA 네트워크에서의 역 링크는 전형적으로 간섭이 보다 많게 되며, 따라서 포워드 링크 채널보다 강한 FEC(하위 레이트의 코드를 통한)를 필요로 할 수 있다.
비동기성 CDMA 네트워크의 경우, 포워드 및 역 링크 채널은 간섭 레벨의 면에서 다소 유사하여, 두개의 링크 상에서 공통 FEC 스킴(또는 적어도 하나의 유사 FEC 스킴에서)을 사용하는 것이 가능하다.
터보 코드의 유연성과 고성능은 첨단 데이터 통신 서비스에 대해 잠재적으로 유망한 기술이 되고 있다. 따라서, 구현 복잡성을 최소화하면서 다양한 서비스 조건과 각각의 데이터 레이트 및 코딩 레이트를 최적으로 일치시키는 터보 코딩 FEC 스킴 및 터보 코드를 식별하는 것이 바람직하다.
본 발명은 장점으로서 유니버셜하게 최적화된 터보 코드 및 레이트-호환 펑처링(puncturings)을 설계하고 사용하여 자동 반복 요청(ARQ)과 같은 점증하는 중복 스킴을 지원하기 위한 방법을 제공함으로써 상기 및 다른 필요성을 시정하고 있다.
<발명의 요약>
가장 기본적인 형태에서, 본 발명은, 데이터를 처리하는 방법으로서의 한 실시예에서, 일단의 레이트-호환 터보 코드가 높은 코드 레이트에서 최적화되어 유니버셜 구성 코드로부터 파생된 데이터 서비스에서 호환 펑처링 패턴을 갖는 터보 코드를 특징으로 하고 있다. 이 방법은 상위 코드 레이트 및 하위 코드 레이트에 따라 유니버셜한 최상의 레이트 1/2 구성 코드를 사용하여 제1 및 제2 엔코더에서 신호를 엔코드하는 단계 - 상기 제1 엔코더와 상기 제2 엔코더는 각각 데이터 비트에 대해 각각의 복수의 패리티 비트를 발생함-; 상위 레이트의 최상의 펑처링 패턴으로 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계; 및 하위 레이트의 최상의 펑처링 패턴으로 상기 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계를 포함한다.
변형에서, 최적의 유니버셜 레이트 1/3 구성 코드로부터 유도된 레이트-호환가능 터보 코드(Turbo codes)의 세트 - 상기 터보 코드는 유사한 구성 코드 및 호환가능한 펑처링(puncturing patterns)을 가짐 - 를 사용하여 데이터 서비스 내의 데이터를 처리하는 방법은 제1 및 제2 엔코더에서 최상의 레이트 1/3을 갖는 신호를 엔코드하는 단계 - 상기 각각의 엔코더는 각각의 데이터 비트에 대해 각각의 복수의 패리티 비트를 발생함-; 상위 레이트의 최상의 펑처링 패턴으로 상기 복수의패리티 비트를 펑처링하는 단계; 및 하위 레이트의 최상의 펑처링 패턴으로 상기 복수의 패리티 비트를 펑처링하는 단계를 포함한다.
다른 변형에서, 레이트-호환가능 터보 코드의 세트 - 상기 세트는 코드 레이트 1/4에 최적화되고 서로 다른 코드 레이트 및 레이트-호환가능 펑처링 패턴을 갖는 터보 코드를 구비함 - 를 사용한 레이트-호환가능 터보 엔코딩 방법은 상위 코드 레이트 및 하위 코드 레이트와 유니버셜한(universal) 최상의 레이트 1/4 구성 코드를 사용하여 제1 및 제2 엔코더에서 신호를 엔코드하는 단계 - 상기 제1 엔코더와 상기 제2 엔코드는 각각 데이터 비트에 대해 각각의 복수의 패리티 비트를 발생함-; 상위 레이트의 최상의 펑처링 패턴으로 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계; 및 하위 레이트의 최상의 펑처링 패턴으로 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계를 포함한다.
다른 실시예에서, 엔코딩 시스템은 최상의 유니버셜 레이트 1/2 구성 코드로부터 유도된 레이트-호환가능 터보 코드의 세트 - 상기 세트는 호환가능한 펑처링 패턴을 가짐- 를 사용하고, 상기 엔코딩 시스템은 제1 및 제2 엔코더 - 상기 각각의 엔코더는 복수의 쉬프트 레지스터, 및 상기 최상의 유니버셜 레이트 1/2 구성 코드에 대응하는 구성에서 제1 및 제2 가산기의 선택된 부분에 각각 결합된 제1 및 제2 가산기를 포함함-; 및 상기 제1 및 제2 엔코더가 상기 제1 및 제2 엔코더의 각각으로부터 복수의 데이터 출력을 펑처링하도록 구성된 펑처러(puncturer) - 상기 펑처링은 상기 호환가능 펑처링 패턴의 세트에 따라 소정의 터보 코드 레이트에 의해 결정됨 - 를 구비한다.
다른 변형에서, 엔코딩 시스템은 최적의 유니버셜 레이트 1/3 구성 코드로부터 유도된 레이트-호환가능 터보 코드의 세트 - 상기 레이트-호환가능 터보 코드는 유사한 구성 코드 및 호환가능한 펑처링 패턴을 가짐- 를 사용하고, 상기 엔코딩 시스템은 제1 및 제2 엔코더 - 상기 각각의 엔코더는 복수의 쉬프트 레지스터, 및 상기 레이트 1/3 구성 코드에 대응하는 구성에서 제1 및 제2 가산기의 선택된 부분에 각각 결합된 제1 및 제2 가산기를 포함함-; 및 상기 제1 및 제2 엔코더가 상기 제1 및 제2 엔코더로부터 복수의 데이터 출력을 펑처링하도록 구성된 펑처러(puncturer) - 상기 펑처링은 상기 호환가능 펑처링 패턴의 세트에 따라 소정의 터보 코드 레이트에 의해 결정됨-를 구비한다.
시스템의 또 다른 변형은 서로 다른 코드 레이트에 대한 유니버셜 구성 코드(universal constituent code)와 레이트-호환가능 펑처링 패턴을 갖는 레이트-호환가능 터보 코드의 세트를 사용하고, 상기 시스템은 제1 및 제2 엔코더 - 상기 각각의 엔코더는 복수의 쉬프트 레지스터, 및 상기 유니버셜 구성 코드에 대응하는 구성에서 제1 및 제2 가산기의 선택된 부분에 각각 결합된 제1 및 제2 가산기를 포함함-; 및 상기 제1 및 제2 엔코더로부터 복수의 데이터 출력을 펑처링하도록 구성된 펑처러(puncturer) - 상기 펑처링은 상기 호환가능 펑처링 패턴의 세트에 따라 소정의 터보 코드 레이트에 의해 결정됨-를 구비한다.
<도면의 간단한 설명>
본 발명의 상기 및 다른 일면, 특징 및 장점은 다음의 도면과 결합하여 제시된 다음의 보다 상세한 설명으로부터 보다 명확할 것이다.
도 1은 코드 분할 다중액세스(CDMA) 디지털 셀룰러 이동 무선 시스템 하드웨어도.
도 2는 본 발명의 실시예를 구현할수 있는 CDMA 디지털 셀룰러 이동 무선 시스템 하드웨어도.
도 3은 본 발명과 함께 사용하도록 변형된 터보 코드 엔코더의 기능 블럭도.
도 4는 전체적인 터보 디코더의 기능 블럭도.
도 5, 6, 7 및 8은 터보 코드가 d(D) 및 n(D)로서 표현된 후보 구성 코드를 사용할 때 인터리버 크기 1000, 512 및 1024 비트의 터보 코드 레이트 1/2 및 레이트 1/3인 경우 신호 대 잡음비(SNR)에 대한 비트 에러 레이트(BER) 성능을 도시하는 도면.
도 9는 레이트 1/4 터보 코드를 최적화하기 위한 펑처링 스킴(puncturing schemes)을 도시하는 도면.
도 10, 11 및 12는 512 비트의 프레임 크기인 구성 코드 #1-3의 BER/FER 성능을 도시하는 도면.
도 13은 구성 코드 #1이 1024 비트의 프레임 크기이고, 크기 2048 및 3072 비트에서 각각 일관적인 결과를 구한 구성 코드 #1의 BER/FER 성능을 도시하는 도면.
도 14는 크기 1024, 2048 및 3072 비트에서 각각 일관적인 결과를 구한 프레임 크기 512에서의 선택된 레이트 1/4 터보 코드의 BER/FER 성능을 도시하는 도면.
도 15는 프레임 크기 512 비트인 다른 펑처링 스킴에 대한 바람직한 터보 코드 B의 비교도.
도 16은 구성 코드가 레이트 1/3을 가질 때 레이트 1/3 및 1/2의 터보 코드에 대한 후보 펑처링 패턴의 레이아웃.
도 17은 프레임 크기 512 비트에서 레이트 1/3 펑처링 스킴의 비교도.
도 18은 1024, 2048 및 3072 비트에서 각각 일관적인 결과를 구한 프레임 크기 512 비트에서의 레이트 1/2 펑처링 스킴을 도시하는 도면.
도 19는 인터리버 깊이를 변화시키는 코드 레이트 1/2 및 1/3로 최적화된 터보 코드에 대한 바람직한 유니버셜 구성 엔코더의 블럭도.
도 20은 인터리빙과 펑처링(레이트 1/3, 및 레이트 1/2 사용 유사 처리)을 포함하는 코드 레이트 1/2 및 레이트 1/3로 최적화된 레이트 1/4 터보 코드에 대한 기능 블럭도.
도 21은 레이트 3/8 터보 코드에 대한 펑처링 패턴도.
도 22는 결과가 1024, 2048 및 3072 비트 각각에서 지속적인 프레임 크기 512 비트에서 코드 레이트 1/2 및 레이트 1/3로 최적화된 3/8 터보 코드를 도시하는 도면.
도 23은 레이트 4/9 터보 코드에 대한 펑처링 패턴도.
도 24는 프레임 크기 512 비트를 사용하여 코드 레이트 1/2 및 레이트 1/3로 최적화된 레이트 4/9 터보 코드를 도시하는 도면.
도 25는 코드 레이트 1/4로 최적화된 터보 코드에 대한 바람직한 구성 엔코더의 기능 블럭도.
도 26은 인터리빙과 펑처링(레이트 1/3 및 레이트 1/2 사용 유사 처리)을 포함하는 레이트 1/4로 최적화된 레이트 1/4 터보 코드의 기능 블럭도.
도 27은 레이트 2/9 터보 코드에 대한 펑처링 패턴도.
도 28은 프레임 크기 512 비트를 사용하여 코드 레이트 1/4로 최적화된 레이트 2/9 터보 코드를 도시하는 도면.
도 29는 레이트 3/8 터보 코드에 대한 초기 펑처링 패턴도.
도 30은 프레임 크기 512 비트를 사용하여 코드 레이트 1/4로 최적화된 레이트 3/8 터보 코드를 도시하는 도면.
도 31은 인터리버 깊이를 가변시키는 레이트 1/2 및 레이트 1/3 터보 코드용의 바람직한 유니버셜 엔코더의 기능 블럭도.
도 32는 1024, 2048 및 3072 비트에서 결과가 일관적인 프레임 크기 512 비트에서 콘벌루션 코드를 갖는 레이트 1/4 FER 최적화 터보 코드의 바람직한 비교도.
부록 A는 도면들의 총체적 집합으로서, 이하 '유사' 도면, 곡선, 또는 시뮬레이션 또는 등가물.
대응하는 참조 문자는 몇몇 도면에 걸쳐 대응하는 구성요소를 지칭한다.
본 발명은 데이터 통신에서의 에러 교정에 관한 것으로, 보다 상세하게는 포워드 에러 교정(FEC)에 관한 것이다. 특히, 본 발명은 전송 데이터 레이트, 채널 코딩 레이트, 서비스 측정 품질(즉, 지연, 비트 에러 레이트, 프레임 에러 레이트) 및 구현 복잡성에 관련된 광범위한 시스템 조건을 지원하는데 있어서의 유연성이 매우 소망되는, 떠오르는 3세대 지상(terrestrial) 셀룰러 이동 무선 및 위성 전화 시스템과 같은 고성능 데이터 통신 시스템에서의 최적의 터보 코드(Turbo codes)의 선택 및 사용에 관한 것이다.
본 발명의 다음 설명은, 제한하는 의미로 간주되어서는 안되고, 단지 본 발명의 전체적인 원리를 설명하기 위한 것이다. 본 발명의 범위는 특허청구범위를참조하여 판단되어야 한다.
본 발명의 두가지 주요한 특징: 1) 광범위한 정보 블럭 크기와 코드 레이트에 걸쳐 최적에 근접한(near-optimal) 성능을 제공하도록 데모된 특정 "유니버셜" 터보 코드에 기초하여 데이터 서비스를 위한 포워드 에어 교정(FEC), 및 2) 상술한 바람직한 성질을 갖는 특정 터보 코드가 설계될 수 있게 하는 방법이 존재한다.
터보 코드는, 낮은 신호 대 잡음(SNR)비의 뛰어난 에러 교정 능력과, 지연을 처리하기 위해 비트 에러 레이트(BER) 및 프레임 에러 레이트(FER) 성능을 절충하는데 있어서의 유연성 때문에 데이터 적용에 특히 적합하게 되어 있다. 이하에 설명하는 실시예에서 고려되고 있는 데이터 서비스는 개발중인 제3세대 코드 분할 다중액세스(CDMA) 셀룰러 이동 무선 표준과 부합하며, 전형적으로 낮은 레이트의 음성 서비스보다 지연에 강하다.
그러나, 이하에 명시되는 유니버셜 터보 코드(및 이와 같은 코드를 구하는 방법)는 또한 셀룰러 또는 다른 무선 통신 시스템과 같은 다른 시스템은 물론, 다른 셀룰러 이동 무선 시스템(즉, GSM에 사용되는 유럽 시분할 다중액세스(TDMA) 표준)에서의 데이터 서비스에 적용가능하다. 이들 조건과 관련하여 서로 다른 최적화를 제공하는 몇몇 특정 터보 코드가 확인되고 있다. 다른 코드들이 또한 가능할 것이다.
데이터 서비스를 위한 터보 코드의 성능을 최적화하기 위해서는, 다양한 서로 다른 인터리버 깊이와 터보 코드 레이트과 결합하여 최적 또는 거의 최적의 성능을 제공하는 일단의 "유니버셜(universal)" 구성(constituent) 코드를 가져서,특정 터보 코드의 각 최적화를 테일러링(tailoring)하는 것을 피하는 것이 바람직하다.
먼저 도 1을 참조하면, 다이렉트 시퀀스 코드 분할 다중 액세스(CDMA) 이동국 대 기지국(또는 역) 링크를 사용하는 예시적인 종래의 디지털 셀룰러 이동 무선 시스템이 콘벌루션 엔코더와 비터비 디코더를 사용하는 것으로 도시되어 있다. 이와 같은 기본적인 코딩 및 인터리빙은 공지된 GSM 표준에 사용되는 시분할 다중 액세스(TDMA)와 같은 다른 다중 액세스 시스템에도 동등하게 적용될 수 있다.
도 1은 또한 셀룰러 이동 무선 시스템에서의 기지국 대 이동국(또는 포워드) 링크를 나타낸다. 송신 시스템(100)에서, 시스템은 데이터 터미널 장치(도시않됨)로부터의 사용자 정보 비트를 (레이트 r의) 콘벌루션 엔코더(108)에 입력되는 프레임(106)당 N 비트의 고정 길이 프레임으로 어셈블하는 세그멘테이션 프로세서(104)를 구비한다. 콘벌루션 엔코더(108)는 콘벌루션 엔코더(108)에 결합된 채널 인터리버(112)의 입력에서 N/r 코드 기호(110)를 발생하는 동기화 및 프레이밍 프로세서(104)에 결합되어 있다. 채널 인터리버(112)는 코드 기호(110)의 의사 랜덤 셔플링을 수행하고, 코드 기호(110)를 채널 인터리버(112)에 결합된 확산 스펙트럼 변조기(114)에 출력한다. 확산 스펙트럼 변조기(114)는 확산 스펙트럼 변조기(114)에 결합된 PN 변환기(116)에 의해 발생된 사용자 특정 송신 PN-코드를 사용하여, 이동국 RF 송신기(118)에 RF 캐리어 상으로 반송된 확산 스펙트럼 신호를 발생한다. 이동국 RF 송신기(118)는 또한, 송신 안테나(120)에 결합된 고 전력 증폭기(도시않됨)이 기지국에 신호를 복사하는 확산 스펙트럼 변조기(114)에 결합되어 있다. 확산 스펙트럼 변조 및 RF 송신 기술은 확산 스펙트럼 통신 시스템에 익숙한 기술자에게 공지되어 있다.
기지국 수신 안테나(122)에서 수신된 이동국(A이동국 신호)A이동국 신호로부터의 신호는 기지국 RF 수신기(124)에서 증폭되어, 이동국 RF 송신기(118)에 의해 사용되는 동일한 PN 코드를 사용하여 신호를 디스프레드하는 확산 스펙트럼 복조기(128)에서 복조된다. 복조된 기호는 채널 인터리버(130)에 의해 디인터리브되어 비터비 디코더(132)에 입력된다. 디코드된 정보 비트는 수신 데이터 블럭(136)으로 재구성되어, 시스템의 수신 단에서 데이터 터미널 장비로 포워드된다.
다음에 도 2를 참조하면, 본 발명의 실시예를 실시하는 디지털 셀룰러 이동 무선 시스템용 하드웨어 시스템이 도시된다. 상기와 같이, 비록 동일한 블럭도가 포워드 링크를 도시하지만, 역 링크가 도시되어 있다. 또한, CDMA 시스템이 예로서 사용되지만, 기술분야의 숙련자는 본 발명을 TDMA와 같은 다른 시스템에도 적용하는 것으로 간주할 수 있다.
데이터 터미널 장비로부터의 송신 데이트 블럭(202)이 세그먼테이션 프로세서(204)에서 고정된 프레임 길이로 세그먼트화되고 프레임되어, 터보 코드 엔코더(208)에 인가된다. 엔코더(208)로부터의 출력은 코드 기호를 의사 랜덤화하기 위해 채널 인터리버(212)에 공급된다. 채널 인터리버(212)는, PN 발생기(216)로부터의 사용자 특정 PN-코드를 사용하여 RF 캐리어 상으로 이동국 RF송신기(218)로 반송되는 확산 스펙트럼을 생성하는 확산 스펙트럼 변조기(214)에 출력을 제공한다. 채널 인터리버(212)는 엔코더(208)의 성분인 터보 코드 인터리버(도시안됨)와는 구별된다. 송신 안테나(220)에 결합된 이동국 RF 송신기(218)는 송신 안테나(220)의 고 전력 증폭기(도시안됨)를 사용하여 기지국에의 신호를 복사한다.
기지국 안테나(222)에서 수신된 이동국으로부터의 신호는 기지국 RF 수신기(224)에서 증폭되어, 이동국 RF 송신기(218)에 의해 사용되는 것과 동일한 PN-코드를 사용하여 신호를 디스프레드하는 확산 스펙트럼 복조기(228)에서 복조된다. 복조된 기호는 채널 DE-인터리버(230)에 의해 디인터리브되어, 터보 코드 디코더(232)에 입력된다. 터보 코드 디코더(232)로부터의 디코드된 정보 비트는 재구성 프로세서(234)에서 수신 데이터 블럭(236)으로 재구성되어, 수신 단의 데이터 터미널 장치로 포워드된다.
도 3을 참조하면, 터보 코드의 기본 구조는 엔코더#1(306) 및 엔코더#2(308)에서 두개의 간단한 구성 코드의 병렬 축약에 그 특징이 있다. 두개의 구성 엔코더, 즉 엔코더#1(306) 및 엔코더#2(308)는 동일한 정보 비트 스트림(302)를 처리하지만, 엔코더#2(308)는, 정보 비트들이 엔코더#2(308)(구성 엔코더(308))에 도달하기 전에 인터리버(304)가 이를 재정렬하기 때문에, 엔코더#1(306)가 정보 비트(302)를 처리하는 순서와는 다른 순서로 정보 비트(302)를 처리한다. 이와 같은 구성은 엔코더#1(306)로 하여금 저 해밍 웨이트(low-Hamming weight) 출력(310)을 발생하게 하는 정보 비트(302)의 시퀀스가 또한 엔코더#2(308)로 하여금 터보코드의 뛰어난 성능을 가능하게 하는 출력(314)과 동일하게 하는 가능성을 감소시킨다.
정보 비트(302)(또한 시스템적 비트(302)라고도 함) 이외에, 엔코드(306,308) 모두는 펑처러(puncturer)(312)에 의해 펑처되는 패리티 비트(310,314)를 발생하여 소정의 전체적인 터보 코드 레이트를 달성한다. 또한 이는 시스템적 비트를 펑처할 수 있다.
터보 코드의 구성 코드는 사용가능하게 시스템적, 순환 콘벌루션 코드이다. 가장 단순하고 가장 광범위하게 공지된 순환 콘벌루션 코드는 레이트 1/2 및 다음과 같은 전달 함수를 갖는다:
G(D) = [1, n(D)/d(D)]
여기서 n(D) 및 d(D)는 각각 엔코더의 피드 포워드 및 피드백 접속을 명시하는 이진 다형식이다.
터보 코드의 레이트는 펑처링 또는 송신을 위해 출력 비트(310,314)의 선택을 변경함으로서 변경된다. 이하의 모든 경우에서, "1"은 송신을 가리키고, "0"은 펑처링을 가리킨다.
도 3은 또한 펑처러(312)로부터의 두가지 가능한 펑처링 패턴 결과를 도시한다. 번갈아 엔코더(306와 308) 간의 패리티 비트를 펑처링하게 되면 터보 코드 레이트 r=1/2의 결과가 된다. 두개의 엔코더(306,308)에서의 모든 패리티 비트의 송신은 코드 레이트 r=1/3을 만들게 된다.
구성 엔코더의 수를 증가시키거나 또는 구성 엔코더당 출력 패리티 비트의수를 증가시키지 않고 1/3 이하의 낮은 터보 코드 레이트를 달성하는 것은 가능하지 않다. 후자는 흔히 구현 복잡성을 감소시키기 위해 바람직하다. 이 경우에, 기술분야의 숙련자는 다음과 같은 전달 함수를 갖는 레이트 1/3 시스템적 순환 콘벌루션 코드를 고려한다.
G(D) = [1, n1(D)/d(D), n2(D)/d(D)]
이와 같은 두개의 구성 코드를 사용함으로서 펑처링 또는 삭제를 통해 1/5 및 1 간의 임의의 터보 코드 레이트를 제공하게 된다.
터보 코드는 도 4의 블럭도에 도시한 바와 같이 반복 디코딩 방법을 사용하여 디코드된다.
각각의 구성 코드는 다른 구성 디코더(406 또는 416)의 유사 추정을 '선험적' 정보로서 사용하여 개별적으로 디코드된다. 구성 디코더(406, 416)는 MAP(Maxium A Posteriori) 알고리즘, SOVA(sub-optimal Soft-Output Viterbi Algorithm) 또는 그 변형과 같은 소프트-입력/소프트-출력 형이어야만 한다. 구성 디코더 모두가 데이터를 처리한 후에, 프로세스가 반복될 수 있다.
실제로, 터보 디코더(406,416)는 흔히 시스템의 구현 복잡성과 성능 목표에 부합하는 정해진 반복 회수에 제한되어 있다.
도 4는 터보 디코더의 전체적인 블럭도이다. 정보 비트(404)에 관련된 소프트 정보, 제1 엔코더(402)용의 패리티 비트, 및 제2 엔코더(402')용의 패리티 비트가 복조기로부터 수신된다. 먼저, 제1 디코더(406)는 수신된 정보(404) 및 수신된패리티 비트(402)를 사용하여 정보 비트에 대한 소프트 결정(408)을 발생한다. 소프트 결정(408)은 그 출력이 소프트 결정(414)인, 인터리버(412)에 의해 인터리브된다. 소프트 결정(414)은 선험적 정보로서 제2 디코더(416)에 공급된다.
제2 디코더(416)는 상술한 소프트 결정(414)을 수신하고, 다음에 인터리버(422)에 의해 인터리브되어 선험적 정보로서 제2 디코더(406)에 공급되는, 정보 비트에 대한 향상된 소프트 결정(420)을 만든다. 전체 프로세스가 필요한 회수만큼 반복된다. 제1 또는 제2 디코더의 하드 결정 또는 소프트 결정을 만듦으로서 최종 출력(420)이 얻어진다.
본 발명에 따르면, 단닐 마더(mother) 터보 코드 및 다양한 펑처링 패턴을 구하여 다양한 코드 레이트 및 정보 블럭 크기에 대한 균일한 양호한 코드를 유도할 수 있다.
먼저 성능과 구현 복잡성 간의 절충 연구에 따라 가능한 유니버셜 구성 코드의 초기 풀(initial pool)을 제한함으로써 유니버셜 구성 코드를 결정하는 방법론이 개발된다. 본 발명에 따르면, 서로 다른 상태 코드를 이용하는 성능 연구는 8-상태 구성 코드가 양호한 성능 절충을 제공한다는 것을 나타낸다.
유니버셜 구성 코드는 먼저 목표로 하는 적용의 주요 코드 레이트에 따라 최적화된다. 예를 들어, CDMA 데이터 통신의 경우에, 흔히 역 링크가 상위 코딩 이득을 위해 하위 코드 레이트를 필요로 하기 때문에 포워드 및 역 링크에 대해 개별적인 최적화가 수행될 수 있다.
이하에 보다 상세히 설명되는 다음 단계는 레이트 1/2 및 1/3에 대해 최적화된 터보 코드를 발생하는데 사용된다.
1) G(D) = [1, n(D)/d(D)] 형식 (여기서, d(D)는 원시 다항식이고, n(D)는 1로 시작하여 D3으로 끝남)의 전달 함수를 갖는 후보 시스템적 레이트 1/2 구성 엔코더를 선택한다;
2) 두개의 레이트 1/2 구성 엔코더에 의해 엔코드된 출력 데이터에 인가하기 위해 터보 코드 레이트 1/2 및 레이트 1/3 테스트 펑처링 패턴을 결정한다;
3) 테스트 패턴와 각각의 레이트 1/2 구성 코드를 결합함으로써 가능한 모든 레이트 1/2 및 1/3 터보 코드를 형성한다;
4) 고정된 인터리버 길이로 모든 가능한 레이트 1/2 및 1/3 터보 코드의 상대적 BER 성능을 평가한다;
5) 최상의 전체적인 BER 성능에 기초하여, 최적의 터보 코드를 구축하기 위해 마더 쌍의 그룹, 후보 쌍의 서브그룹중에서 선택한다;
6) 복수의 다른 인터리버 깊이로 레이트 1/2 및 레이트 1/3 펑처링 패턴으로 펑처링된 후보 쌍들의 서브그룹을 구비하는 터보 코드 그룹의 다른 상대적 BER 성능을 평가한다.
7) 인터리버 깊이에 대해 다른 최상의 전체적인 상대적 BER을 갖는 터보 코드 그룹, 유니버셜 코드중에서 선택한다; 및
8) 제1 및 제2 엔코더에서 상기 선택된 유니버셜 코드 쌍을 갖는 레이트 1/2 및 레이트 1/3 터보 코드를 갖는 데이터를 엔코드한다 - 유사한 엔코더 및 인터리버는 제2 엔코더에 비트를 공급하고, 비트들은 각각의 엔코더에 진입하기 전에 서로 달리 정렬되어 있슴-.
일단 발생되면, 상기 단계에 의해 결정되는 레이트 1/2 및 1/3 터보 코드와 호환하는, 1/4과 같은 하위 레이트의 최상의 터보 코드가 또한 결정될 수 있다.
레이트 1/2 구성 코드
다음 설명은 레이트 1/2 구성 코드가 한 실시예에서 어떻게 결정되는 지를 설명한다.
먼저, 후보 8-상태, 레이트 1/2 구성 코드 다항식의 리스트가 결정된다.
표 1은 8진법으로 결정된 분모 다항식 d(D) 및 분자 다항식 n(D)을 열거한다. 초기의 검사를 위해 고려되고 있는 12 구성 코두 후보가 존재한다.
레이트 1/2의 후보 8-상태 구성 엔코더
분모 다항식 d(D)(8진수) 분자 다항식 n(D)(8진수)
11 12
11 15
11 17
12 11
12 15
12 17
15 11
15 12
15 17
17 11
17 12
17 15
열두개(12)의 다항식의 각각은 표 1에서 8진수 형태로 표현되고, 대응하는 이진법 및 다항식을 갖는다. 예를 들어, 8진수 13의 이진 등가물은 이진 1011이다. 이진 1011은 다음 다항식에 대응한다:
d(D) = D0(1) + D1(0) + D2(1) + d3(1) = 1 + D2+ D3.
다음에, 후보 터보 코드는 1000 비트의 인터리버 크기 및 3개의 디코더 반복으로 시뮬레이트된다. 그 결과가 도 5 및 도 6에 도시되어 있는 예시 검사는 상술하는 바와 같이, 레이트 1/2 및 레이트 1/3의 모든 후보 터보 코드의 비트 에러 레이트(BER) 대 Ebi/No 성능을 평가한다. Ebi/No의 측정은 상대적 SNR과 등가이다.
도 5 및 도 6의 결과는 여섯개(6) 코드 다항식 쌍을 선택하는데 사용된다. 여섯개(6) 후보 유니버셜 코드 쌍 d(D)-n(D)는 이하의 표 2의 좌측 상에 8진수 표현으로 도시되어 있다.
다음에, 각각의 레이트 및 인터리버 깊이로 후보 유니버셜 코드를 갖는 시뮬레이트된 데이터를 사용하여 8-상태 터보 코드의 대응하는 성능을 사용하여 표 2를 작성한다. 샘플 성능 연구 또는 시뮬레이션은 레이트 1/2 및 레이트 1/3에 대한 512 비트의 인터리버 깊이의 선택된 터보 코드를 도시하는 도 7 및 8에 도시되어 있다.
이하의 표 2는 레이트 1/2 및 1/3 및 512, 1024, 2048 및 3072 비트의 인터리버 깊이를 사용함으로 인한 시뮬레이트된 데이터에 대한 대략 SNR 손실을 도시한다.
비 최적화 코드의 사용으로 인한 대략 SNR 손실
후보 "유니버셜"코드 d(D)-n(D) 터보 코드 레이트 크기(비트)
1/2512 1/21024 1/22048 1/23072 1/3512 1/21024 1/32048 1/33072
15-13 0.005 dB 0.00 dB 0.00 dB 0.05 dB 0.10 dB 0.05 dB 0.05 dB 0.10 dB
13-15 0.00 dB 0.00 dB 0.00 dB 0.00 dB 0.05 dB 0.05 dB 0.05 dB 0.05 dB
15-17 0.05 dB 0.05 dB 0.00 dB 0.05 dB 0.05 dB 0.05 dB 0.00 dB 0.10 dB
17-15 0.40 dB 0.50 dB 0.00 dB 0.00 dB 0.05 dB 0.00 dB
17-13 0.40 dB 0.50 dB 0.00 dB 0.00 dB 0.00 dB 0.00 dB
13-17 0.05 dB 0.05 dB 0.05 dB 0.00 dB 0.00 dB 0.10 dB 0.00 dB 0.10 dB
16-상태 코드를 사용한 유사한 시뮬레이션에서, 31-33 및 31-27으로서 지칭된 쌍들은 또한 여덟개(8) 디코더 반복을 사용하는 8-상태 코드와의 유사한 복잡성 비교를 제공하기 위해, 각각의 16-상태 코드에 대한 네개(4) 디코더 반복을 사용하여 샘플 도 7 및 8에 도시되어 있다. 8 반복을 갖는 8-상태 코드는 네개의 반복을 갖는 16 상태 코드를 수행한다.
개별적인 시뮬레이션으로서, 상기 여섯개(6) 후보 쌍을 사용하는 서로 다른 인터리버들중의 성능 차이는 0.05 dB 이내인 것으로 관찰된다.
마지막으로, 표 2의 결과는, 다음 레이트 1/2 구성 코드 쌍이 연구된 레이트 및 인터리버 크기의 범위에 걸쳐 전체적인 최상의 성능을 제공하는 것을 도시한다.
d(D) = 1 + D2+ D3; n(D) = 1 + D + D3.
이는 8진수 13 및 8진수 15를 각각 나타낸다.
표로 만들어진 각각의 경우에, 코드 13-15의 성능은 레이트 및 인터리버 크기에 대한 최상의 성능 코드에 대해 0.05 dB이내이다.
따라서, 이 구성 코드는 1/2 및 1/3과 같은 상위 코드 레이트가 우세한 터보 코드 설계에 대한 기초로서 선택된다.
레이트 1/3 구성 코드
이하의 다음은 레이트 1/3 구성 코드가 어떻게 결정되는 지를 설명한다. 레이트 1/12 구성 코드와 유사하게, 거의 최적의 1/4 및 1/5 터보 코드 레이트를 구축하기 위한 이하의 표 3에 레이트 1/3 구성 코드 후보가 확인된다. 이 경우에, 터보 코드용의 구성 코드 후보는 두개(2) 대신에 세개(3) 다항식을 가져야만 한다.
최적의 하위 레이트의 터보 코드를 위한 후보 구성 코드
CC#1 (8진 13-15/17) CC#2 (8진 15-13/17) CC#3 (8진 17-13/15)
d(D) = 1 + D2+ D3(8진수 13)n1(D) = 1 + D + D3(8진수 15)n2(D) = 1 + D + D3(8진수 17) d(D) = 1 + D + D3(8진수 15)n1(D) = 1 + D2+ D3(8진수 13)n2(D) = 1 + D + D2+ D3(8진수 17) d(D) = 1 + D + D2+ D3(8진수 17)n1(D) = 1 + D2+ D3(8진수 13)n2(D) = 1 + D + D3(8진수 15)
최적의 레이트 1/4 터보 코드
전체적인 레이트 1/4 터보 코드를 구축하기 위해서는, 표 3의 각각의 구성 코드와 결합하여 다양한 펑처링 스킴이 고려되어야만 한다.
도 9의 다양한 펑처링 스킴이 먼저 고려된다. 레이트 1/4 코드의 경우, 공통 입력 정보 비트 또는 시스템적 비트가 두개의 엔코더에 의해, 해당 입력 비트에 대해 발생된 네개(4) 패리티 비트중 세개(3)와 함께 하나의 엔코더에 의해 전송된다.
도 9의 펑처링 패턴, 즉 910, 920, 930 및 940이 명시된 코드 레이트를 충족시키기 위해 이전에 설명한 설계 원리에 기초하여 선택된다.
다음에, 표 3의 세개(3)의 코드 3인조(triad)의 각각이 도 9의 네개(4)의 펑처링 패턴(910,920,930 및 940)과 결합되어, 예를 들어 512의 고정 인터리버 깊이에 대해 도 10 내지 12에 도시된 시뮬레이트된 데이터와 함께 평가될 열두개(12)의 가능한 터보 코드를 발생한다.
다음에, 상기 열두개(12)의 터보 코드의 성능을 사용하여 보다 상세한 평가를 위해 세개(3)의 최상의 터보 코드 후보를 선택한다. 도 10 내지 12에 도시된 시물레이션 결과에 기초하여, 열두개(12)중 세개(3)의 최상의 터보 코드 후보는 다음과 같다:
터보 코드 A - 펑처링 패턴 제2를 갖는 구성 코드 제1;
터보 코드 B - 펑처링 패턴 제1을 갖는 구성 코드 제2; 및
터보 코드 C - 펑처링 패턴 제1을 갖는 구성 코드 제3 (펑처링 패턴은 도 9의 패턴(910,920,930 및 940중에서 선택된다.)
다음에, 다양한 부수적인 인터리버 프레임 크기의 시뮬레이트된 데이터를 사용하여 다른 인터리버 깊이에서 펑처링 패턴이 양호하다는 것을 증명하기 위해 부수적인 평가를 위해 코드 A 내지 C의 터보 코드중의 하나가 선택된다.
기본적인 방법론을 확인하기 위해, 구성 코드 제1 (예를 들면)에 기초한 터보 코드의 성능이 1024,2048 및 3072 비트의 프레임 크기마다 시뮬레이트된다. 1023 비트의 코드#1의 BER/FER 성능에 대한 샘플 결과가 도 13에 도시되어 있고, 이는 기본적인 방법론을 확인한다.
다음에, 도 14는 512 비트의 인터리버 깊이로 세개의 레이트 1/4 터보 코드 후보 A 내지 C를 사용하는 시뮬레이트된 데이터의 BER/FER 성능을 도시한다. 인터리버 크기 1024,2048 및 3072 비트에서 또한 일관된 결과가 달성된다.
다음에, 부록 A에 설명된 것들과 같이, 도 14의 결과가 되는 시뮬레이션 및 유사 도면에서, 모든 인터리버 깊이의 전체적인 최상의 성능을 제공하는 후보 터보 코드 A 내지 C중에서 레이트 1/4 터보 코드 후보가 선택된다. 레이트 1/4 터보 코드의 경우에, BER 성능에 기초한 최적화는 FER 성능에 기초한 최적화와는 다른 결과를 제공한다. 시뮬레이트된 데이터에 대해, 터보 코드 B는 전체적인 최상의 FER 성능을 가지며, 터보 코드 C는 전체적인 최상의 BER 성능을 제공한다. 도 15는 다른 펑처링 스킴과 비교한 터보 코드 C의 성능을 도시한다.
이와 같이, FER 최적화 터보 코드 B는 FER 성능이 흔히 데이터 서비스에 대해 보다 중요한 기준이기 때문에 설계에 대한 기초로서 선택된다. 한편, 터보 코드 A는, (n2(D) 다항식으로부터 모든 패리티 비트를 펑처링함으로써) 이전에 레이트 1/3에 대해 최적으로 확인된 동일한 유니버셜 터보 코드를 제공하도록 펑처링될 수 있다. 즉, 터보 코드 A는 모든 서로 다른 코드 레이트를 구현하는 단일 유니버셜 마더 코드를 가지기 위해 포워드 링크 레이트 1/4 코드에 대한 바람직한 선택이다.
비록 현재의 제3 세대 CDMA 엔코딩이 주로 역 링크에 대한 레이트 1/4 채널 엔코딩에 관한 것이지만, 일부 최고 레이트 데이터 채널을 위해서는 레이트 1/3 및 레이트 1/2 채널 코딩이 요구될 수도 있다. 레이트 1/4, 레이트 1/3 및 레이트1/2를 위한 유니버셜 터보 코드가 설계될 수 있는데, 여기서 하부의 구성 코드는 동일하고, 사용된 펑처링 패턴만이 다르다. 레이트 1/3 구성 코드로부터 상위 레이트 터보 코드를 발생하기 위한 방법은 다음과 같다.
레이트 1/4로 최적화된 레이트 1/3 터보 코드
상기 레이트 1/4 최적화 터보 코드, 즉 터보 코드 B로부터 유도된 구성 코드를 사용하여, 레이트 1/3 및 레이트 1/2 터보 코드가 그에 호환하도록 설계될 수 있다. 따라서, 구성 코드 제2(코드 B로부터)가 기본으로서 사용된다.
도 16은 레이트 1/3 터보 코드 및 네개(4)의 기본 펑처링 패턴을 발생하여 레이트 1/2 터보 코드를 발생하는데 사용될 수 있는 일곱(7)개의 기본 펑처링 패턴을 도시한다. 블럭도(1600)에서 일곱개(7) 레이트 1/3 패턴(1602 내지 1614)은 두개(2)의 엔코더 펑처링 블럭 패턴(1616 및 1618)에 대한, 연속하는 정보 펑처링 비트 패턴(1620,1626) 및 네개(4) 대응하는 행 패리티 비트 펑처링 패턴(1622,1624,1628 및 1630)을 도시한다. 이전과 같이, 행(1620)에 도시한 패턴("1111")은 항상 엔코더1로부터 모든 정보 비트를 송신한다. 행(1626)의 패턴("0000")은 항항 엔코더 제2에 의해 진입하는 정보 비트를 펑처링한다. 그 이유는, 정보 비트를 두번 전송하는데 필요하지 않기 때문이다. 참조번호(1640,1642,1644 및 1646)으로서 도 16에 도시된 네개(4)의 레이트 1/2 펑처링 패턴(1 내지 4)은 동일한 진법을 따른다.
다음에, 도 17에서 인터리버 깊이(512)로 바람직한 구성 코드 제2로 시뮬레이트된 모든 가능한 1/3 터보 코드의 BER 및 FER 성능이 비교된다.
다음에 두개(2)의 최상의 패턴들이 다음에 고려하기 위해 선택된다. 다음에, 이들 두개(2)의 패턴들의 성능이 부수적인 인터리버 깊이(1024,2048 및 3078) 비트에서 비교된다.
예를 들어, 512 비트의 레이트 1/3 펑처링 패턴을 도시하는 도 17에서, 최상 및 다음 최상의 전체적인 상대적인 FER을 각각 갖는 것으로 곡선(1710 및 1720)에 기초하여 패턴 2 및 5가 선택된다.
다음에 1024, 2048 및 3072 비트에 대한 부수적인 인터리버 크기에서 도 17의 그것과 유사한 부수적인 시뮬레이션으로부터 다양한 인터리버 깊이에 걸쳐 최상의 성능을 갖는 것으로 패턴 2가 선택된다.
레이트 1/4로 최적화된 레이트 1/2 터보 코드
레이트 1/2 코드는 또한 상술한 바와 같이 유사한 호환성을 위해 하위 레이트 코드로 최적화될 수 있다. 도 18은 512 비트의 인터리버 깊이에서 모든 레이트 1/2 터보 코드의 BER 및 FER 시뮬레이트 성능을 비교한다. 도 18은 레이트 1/2 터보 코드에 대해 도 16에 도시딘 네개(4)의 펑처링 패턴과 구성 코드 제2를 사용하여 발생된다. 패턴(1 및 4)은 FER 성능에 대해 시뮬레이트된 곡선(1810 및 1820)에 기초하여 최상이 되도록 결정된다.
레이트 1/4로 최적화된 레이트 1/3 경우에서와 같이, 도 18에 대한 유사한 시뮬레이션 곡선이 1024, 2048 및 3072 비트의 인터리버 깊이에 대해 패턴 1 및 4에 대해 수행된다. 결과로 나타나는 성능/곡선에 기초하여 패턴 1이 FER 성능에 대한 최상의 패턴이 되도록 조정된다.
레이트 1/2 및 1/3에 대해 최적화된 바람직한 유니버셜 터보 코드
도 19는 터보 코드 레이트 1/2 및 1/3에 대해 이전에 설명한 방법에 따라 최적화된 구성 엔코더에 대한 블럭도이다. 도 20은 레이트 1/4로 펑처링된 대응하는 터보 코드에 대한 블럭도를 도시한다.
정보 비트 스트림 X(t)(1902)가 스위치(1922)에서 수신되어,두개(2)의 분자 다항식 및 하나의 분모 다항식을 표현하도록 하드와이어된, 몇개의 모듈러 가산기(1904,1908,1920,1910,1914,1918,1919) 및 몇몇 쉬프트 레지스터(1906,1912 및 1916)에 따라 처리된다.
도 19에서, 8진수 13으로 표현된 분모 다항식 d(D)는 모듈러 가산기(1920 및 1904)에 복귀 피드백 접속에 의해 하드와이어되어 있다. 연산하기 전에, 세개의 쉬프트 레지스터(1906,1912 및 1916)가 먼저 제로로 된다.
"1101"로 표현된 분모 다항식 위의 제1 분자 다항식은, 제1 비트 W(t)를 생성하기 위해 변조기 가산기(1920)의 결과와 X(t)(1992); 쉬프트 레지스터(1906)의 모듈러 합계(제1 비트)와 변조기 가산기(1908)로부터 W(t); 레지스터(1912)에의 접속의 부재에 의해 표시된 다른 제로 비트(세번째 비트); 및 다른 레지스터(1916)의 모듈러 합계(네번째 비트) 및 모듈러 가산기(1998)로부터의 모듈러 가산기(1908)의 결과를 결합함으로서 출력 Yo(t)를 반환하도록 하드와이어되어 있다. 그 결과는 Yo(t) = W(t) + So(t) + S2(t)이다.
도 19에서, "1111"로 표현된 분모 다항식 위의 두번째 분자 다항식은, 제1비트 W(t)를 생성하기 위해 가산기(1920)의 결과와 X(t)(1902)를 결합하고; 모듈러 가산기(1910)(두번째 비트)의 내용과 함께 부수적인 레지스터(1906)의 내용을 W(t)에 더하고; 모듈러 가산기(1914)(세번째 비트)와 함께 가산기(1710)의 결과에 레지스터(1912)의 내용을 더하고; 그리고, 모듈러 가산기(1919)(네번째 비트)와 함께 가산기(1914)의 결과에 다른 레지스터(1916)의 내용을 더함으로써 출력 Y1(t)를 반환하도록 하드와이어되어 있다. 그 결과는 Y1(t) = W(t) + So(t) + S1(t) + S2(t)이다.
도 19에서, 분모 다항식 접속은 가산기(1920)에서 레지스터(1902) 내지 레지스터(1906)의 결과를 합계한 다음, 이들 가산기(1904)에서 X(t)에 더한다. 따라서, 만일 모듈러 가산기(1904)가 값 W(t)이면, 레지스터(1906)는 S0(t)를 보유하고, 레지스터(1912)는 S1(t)를 보유하고, 레지스터(1916)는 S2(t)를 보유하고, 가산기(1904)는 W(t) = X(t) + S1(t) + S2(t); Y0(t) = W(t) + So(t) + S2(t); 및 Y1(t)= W(t) + S0(t) + S1(t) + S2(t)를 발생한다. 따라서, 가산이 축적된다.
만일 두개 비트가 서로 다르면 모듈러 가산기의 결과는 "1"이고, 만일 두개 비트가 동일하면 "0"이다. 출력 Y0(t)는 분자 다항식 제1 및 분모 다항식으로부터의 출력을 나타낸다. 출력 Y1(t)는 분자 다항식 제2 및 분모 다항식을 나타낸다.
초기에, S0=S1=S2=0이고, 레지스터(1906, 1912, 1916)의 값은 각각의 클럭 사이클이 증가 후에 좌에서 우로 쉬프트한다. 따라서, S0(t+1)=W(t); S1(t+1)= S0(t) 및 S2(t+1)=S1(t)이다.
예를 들어, 도 20에 도시한 최적의 펑처링 매트릭스는 송신된 비트에 대해 "1"을 그리고, 펑처링된 비트에 대해 "0"을 도시한다. 예시적인 도 20은 입사 비트 X(t)를 갖는 엔코더(2000), 및 출력 비트 X'(t), 패리티 비트 Y0 1(t) 및 Y1 1(t)를 발생하기 위해 엔코더(2006)에 인터리브된 비트 X'(t)를 전달하는 인터리버(2002)를 도시한다. 인터리브된 비트 X'(t)의 어느것도 레이트 1/4 엔코더(2004)에서, 두번째 레이트 1/4 엔코더(2006)에서만 처리된다. 블럭(2010)은 펑처링 패턴 매트릭스를 도시한다.
보다 복잡한 펑처링 패턴이 다른 가능한 코딩 레이트를 달성하는데 사용될 수 있다. 예를 들어, 레이트 1/2 및 1/3로 최적화된 터보 코드에 대항여 레이트 2/8 및 4/9를 달성하고, 본 발명에서 확인된 바람직한 터보 코드를 사용하여 레이트 1/4로 최적화된 터보 코드에 대해 레이트 2/9 및 3/8을 달성하기 위해 최적의 펑처링 패턴을 선택할 수 있다.
도 9와 유사하게, 최적의 터보 코드 레이트 3/8에 대한 블럭도는 도 20의 레이트 1/3 마더 구성 코드를 이용한다. 도 20의 구성 코드를 위한 엔코더가 도 19에 도시된다. 도 21에 도시된 레이트 3/8 터보 코드의 펑처링 패턴은 두개의 엔코더로부터 제1 분자 다항식과 연관된 매 6 비트중에서 1을 펑처링하여 레이트 3/8터보 코드를 생성한다.
제2 패턴은 두개의 구성 엔코드 모두가 동일한 레이트, 즉 6/11을 갖게 하는 제1 패턴의 확장이다. 확장 패턴은 다른 세개(3)의 비트에 대해 동일한 패턴(매트릭스)을 복사하지만, 하나의 엔코더에서 다른 엔코더로 하나의 송신 비트의 위치를 이동. 즉 유사 위치에 있는 다른 엔코더 내의 "0"을 플립하면서 한 엔코더 내의 "1"을 반드시 플립한다.
도 22는 512 비트의 인터리버 깊이에서 이들 패턴의 성능을 도시한다. 이들 및 1024, 2048 및 3072 인터리버 깊이에서의 유사 곡선에 기초하여, 패턴 2가 선정되어 레이트 3/8 터보 코드를 구현한다.
도 23은 도 20의 코드의 마더와 함께 사용되는 레이트 4/9 터보 코드에 대해 선택된 펑처링 패넌을 도시한다. 유사하게, 제2 패턴은 두개의 구성 엔코드 모두가 동일한 레이트, 즉 8/13을 갖게 하는 제1의 확장이다.
도 24는 대응하는 성능 곡선을 도시한다. 패턴 2가 레이트 4/9 터보 코드를 구현하도록 선정된다.
이와 같이, 터보 코드 레이트 1/2 및 1/3, 및 모든 인터리브된 깊이에 대한 유니버셜에 대해 최적화된 하나의 예시적인 터보 코드 설계는 바람직한 생성기 다항식 d(D)=1+D2+D3, n1(D)=1+D+D3, 및 n2(D)=1+D2+D3를 갖는다.
다양한 코드 레이트에 대한 바람직한 펑처링 패턴은 다음과 같다:
1) 레이트 1/4 - 하나의 엔코더로부터의 패리티 비트 n1및 동일한 엔코더로부터의 n2를 번갈아 펑처링함.
2) 레이트 1/3 - 두개의 엔코더로부터의 패리티 비트 n2를 펑처링함
3) 레이트 1/2 - 패리티 비트 n2를 펑처링하고 두개의 엔코더로부터의 패리티 비트 n1를 번갈아 펑처링함.
4) 레이트 3/8 - 패리티 비트 n2를 펑처링하고 두개의 엔코더로부터의 매 6 패리티 비트 n1중에서 하나를 펑처링함.
5) 레이트 4/9 - 패리티 비트 n2를 펑처링하고 두개의 엔코더로부터의 매 8 패리티 비트 n1중에서 균일하게 3개를 펑처링함.
이 코드의 단순화된 버젼은 생성기 다항식 d(D)=1+D2+D3및 N1(D)=1+D+D3를 갖는 두개의 구성 엔코더로 구성된 유니버셜 터보 코드 설계이다. (세번째 다항식 n2(D)는 사용되지 않고, 따라서 대응하는 출력이 발생되지 않으며, 엔코더 블럭도는 대응하는 접속을 제거함으로써 단순화된다) 이 유니버셜 터보 코드 설계는 (1/5 대신에) 1/3과 같은 최소 코드를 지원한다. 펑처링 패턴의 대응하는 바람직한 세트는 다음과 같다:
1. 레이트 1/3 - 펑처링 없음
2. 레이트 1/2 - 두개의 엔코더로부터의 패리티 비트 n1를 번갈아 펑처링함;
3. 레이트 3/8 - 두개의 엔코더로부터의 매 6 패리티 비트 n1중에서 하나를 펑처링함; 및
4. 레이트 4/9 - 두개의 엔코더로부터의 매 8 패리티 비트 n1중에서 3개를 균일하게 펑처링함.
코드 레이트 1/에 대해 최적화된 바람직한 유니버셜 터보 코드
바람직한 구성 엔코더에 대한 기본 블럭도가 도 25에 도시된다.
도 26은 바람직한 레이트 1/4 터보 코드에 대한 엔코더 블럭도이다. 이 경우에, 제2 패리티 비트들이 두개의 구성 엔코더에 의해 번갈아 펑처링된다. 다음에 이전 절에서 설명한 바람직한 펑처링 패턴이 인가되어 레이트 1/3 및 레이트 1/2 터보 코드를 발생한다. 부수적인 펑처링 패턴을 식별함으로써 다른 레이트가 또한 지원될 수 있다. 이는 레이트 2/9 및 3/8을 고려함으로써 예시된다.
도 27은 2/9 역 링크 코드에 대한 펑처링 패턴을 도시한다. 세개(3)의 서로 다른 패턴이 도 28의 성능 곡선과, 예를 들어, 다양한 프레임 인터리버 크기의 성능을 도시하는 부록 A에서 설명된 것과 같은 유사 곡선에 의해 비교된다. 패턴 2 FER 곡선(2810) 및 유사 곡선으로부터, 패턴 제2가 레이트 2/9에 대한 최적의 FER 패턴으로서 선정된다.
다음에, 도 29는 레이트 3/8 역 링크 코드를 최적화하기 위한 여섯개(6)의 초기 검사 펑처링 패턴을 도시한다. 이들 패턴들의 성능은 512 비트의 고정 인터리버 길이로 시뮬레이트된다. 이 시뮬레이션에 기초하여, 패턴 5 및 패턴 6이 부수적인 검토를 위한 최적의 펑처링 패턴으로서 선정된다.
상기 패턴 5 및 6의 두개 이상의 확장 패턴 7 및 8은 다른 세개의 정보 비트에 대해 동일한 패턴을 복사하지만, 하나의 엔코더 패턴에서 다른 엔코더 패턴으로 패리티 시퀀스 내의 송신 비트중의 하나의 위치를 이동시킨다. 이 확장은 구성 엔코더 모두가 동일한 레이트, 즉 각각의 엔코더에서 6/11을 갖는 것을 허용한다.
도 30은 레이트 3/8 터보 코드에 대한 상기 네개(4)의 후보 펑처링 패턴 5,6,7 및 8의 예시적인 성능 곡선을 도시한다. 이들 결과에 기초하여, 패턴 8 FER 곡선(3010) 및 예를 들어, 부록 A에 도시된 것과 같은 유사 곡선은 패턴 8이 레이트 3/8 터보 코드에 대한 최적의 펑처링 패턴이라는 것을 증명한다. 이와 같이, 레이트 1/4에 대해 최적화된 하나의 바람직한 유니버셜 터보 코드 설계는 다항식 d(D)=1+D+D3, n1=1+D2+D3, 및 n2=1+D+D2+D3를 갖는 두개의 구성 코드를 이용한다.
이하의 펑처링 패턴은 터보 코드 레이트 1/4에 대해 이전에 논의한 바와 같은 연관된 최적의 패턴, 및 가장 공통적으로 사용된 터보 코드 레이트에 대한 FER 성능으로, 여기서 n1는 제1 분자 다항식과 연관된 출력 비트를 표현하고, n2는 제2 분자 다항식과 연관된 출력 비트를 표현한다.
1) 레이트 1/4 - 두개의 구성 엔코더 모두로부터의 패리티 비트 n2를 번갈아 펑처링함.
2) 레이트 1/3 - 두개의 구성 엔코더 모두로부터의 패리티 비트 n1를 펑처링함.
3) 레이트 1/2 - 두개의 엔코더 모두로부터의 패리티 비트 n2및 매 다른 패리티 비트 n1를 펑처링함.
4) 레이트 2/9 - 두개의 엔코더 모두로부터 n1에서 매 네개의 패리티 비트중 매 하나를 펑처링함.
5) 레이트 3/8 - 패리티 비트 n1및 매 여섯개의 패리티 비트 n2중에서 하나를 펑처링함.
이들 바람직한 펑처링 패턴들은 또한 성능에 영향을 미치지 않고 사이클적으로 쉬프트된다. 사이클적으로 쉬프트된 패턴들은 등가이다.
CDMA 데이터 서비스용 터보 코딩 FEC 스킴
본 발명에서 설명한 바람직한 유니버셜 터보 코드의 세트는, 다양한 저속 및 고속 데이터 서비스를 필요로 하는 첨단 데이터 통신 시스템에 아주 적합한 유연성있는 고성능 채널 코드를 제공한다. 이와 같은 바람직한 유니버셜 터보 코드는 서로 다른 터보 엔코딩 스킴 기술이 특정 데이터 통신 시스템의 특정 조건을 충족하는 것을 가능하게 한다.
제1 예로서, 다음의 두개의 FEC 스킴중의 하나가 적합하며, (현재 개발중인 제3세대 CDMA 2000 시스템과 같은) 동기성 CDMA 데이터 통신 네트워크에 권고된다.
1) 포워드 링크 상에서 연관된 바람직한 펑처링 패턴의 서브셋과 함께 코드 레이트 1/2 및 1/3으로 최적화된 바람직한 유니버셜 터보 코드, 및 역 링크상에서연관된 바람직한 펑처링 패턴의 서브셋과 함께 코드 레이트 1/4로 최적화된 바람직한 유니버셜 터보 코드; 및
2) 포워드 및 역 링크 상에서 연관된 바람직한 펑처링 패턴의 서브셋과 함께 코드 레이트 1/2 및 1/3으로 최적화된 바람직한 유니버셜 터보 코드.
제2 예로서, 다음의 두개의 FEC 스킴중의 하나가 적합하며, (유럽과 아시아에서 현재 개발중인 제3세대 UTRA 시스템과 같은) 비동기성 CDMA 데이터 통신 네트워크에 권고된다.
1) 포워드 및 역 링크 상에서 연관된 펑처링 패턴의 서브셋과 함께 코드 레이트 1/2 및 1/3으로 최적화된 바람직한 유니버셜 터보 코드;
2) 포워드 및 역 링크 상에서 연관된 바람직한 펑처링 패턴의 서브셋과 함께, 상술한 바와 같이, 코드 레이트 1/4로 최적화된 바람직한 유니버셜 터보 코드; 및
3) 포워드 및 역 링크 상에서 연관된 바람직한 펑처링 패턴의 서브셋과 함께, 상술한 바와 같이, 유니버셜 터보 코드의 단순화된 버젼.
구현하는 선택의 선정은 다른 시스템 조건은 물론, 예상되는 우수한 코드 레이트, 최소 코드 레이트, 및 구현 복잡성 제한에 따른다. 물론, 다른 터보 코딩 레이트를 제공하기 위해 본 발명의 가르침에 따라 부수적인 펑처링 패턴들이 설계될 수 있다.
다른 변형
고속 데이터 서비스용 유니버셜 터보 코드는 제3 세대 CDMA 셀룰러 이동 무선 시스템에 특히 적합하지만, 다른 시스템에도 용이하게 적용될 수 있다.
프레임 지향 콘벌루션 코딩(FOCTC)과 같은 공지된 변형이 또한 본 발명의 바람직한 유니버셜 구성 코드 및 유니버셜 터보 코드에 사용될 수 있다. 유니버셜 구성 코드 및 유니버셜 터보 코드를 선택하는 설계 방법론은 또한 두개의 구성 엔코더 이상에 관여하는 것, 및 병렬 축약 대신 또는 그 이외의 직렬 축약에 관여하는 것과 같은 대체 터보 코드 구조에 적용될 수 있다.
본 발명에서 설명한 예시적인 바람직한 펑처링 패턴들은 기술분야의 숙련자에 의해 다양한 방식으로 변형 또는 수정될 수 있다. 예를 들어, 바람직한 펑처링 패턴의 사이클적 쉬프트는 본 발명에 설명한 바람직한 펑처링 패턴과 실질적으로 등가인 성능을 제공한다. 또한, 특정 데이터 통신 시스템은 레이트 정합을 지원하는 서로 다르고 부수적인 펑처링 패턴을 필요로 할 수 있다. 이들 펑처링 패턴들은 본 발명의 가르침에 따라 설계될 수 있다.
레이트-호환 유니버셜 터보 코드의 세트
본 발명에 따르면, 소정의 상위 레이트의 터보 코드 세트가 동일한 세트의 다른 임의의 하위 레이트의 터보 코드에 의해 송신되는 것과 동일한 비트 위치를 송신하게 함으로써, 다양한 코드 레이트 및 다양한 인터리버 깊이에 대한 AWGN 채널을 통해 균일하게 최적인 또는 거의 최적인 레이트-호환 터보 코드의 세트를 제공할 수 있다.
특히, 한 실시예는 1/5, 1/4, 1/3 및 1/2의 다양한 코드 레이트, 및 512 내지 3072 비트의 다양한 인터리버 깊이의 레이트-호환 터보 코드 세트를 포함한다.
다른 바람직한 실시예는 시스템 설계자가 성능 대 다양성 정보(및 따라서, 복잡성) 또는 그 역으로 절충할 수 있게 하는 서로 다른 조건 하에 최적화된 다수의 터보 코드 세트를 제공한다. 레이트-호환 터보 코드 세트의 선택은 이하에 설명하는 유니버셜 구성 엔코더에 기초한다.
본 발명의 유니버셜 구성 엔코더는 큰 범위의 코드 레이트 및 인터리버 깊이에 걸쳐 최적 또는 거의 최적의 성능을 제공한다. 역 링크 또는 포워드 링크 우세 및 다양성 정도와 같은 서로 다른 최적화 기준은 서로 다른 레이트-호환 터보 코드 세트의 결과가 된다.
레이트-호환 코드 세트는 위성 방송 및 텔레포니에 적용되는 혼성 ARQ 스킴용에 특히 적합하다.
몇몇 바람직한 실시예는 서로 다른 유니버셜 구성 코드, 및 서로 다른 설계 기준에 따라 최적화된 서로 다른 레이트의 펑처링 패턴에 기초하여 서로 다른 세트의 레이트-호환 코드를 구비한다.
본 발명의 전체적인 방법론에 따라, 네개(4)의 서로 다른 바람직한 레이트-호환 터보 코드 세트가 본 발명에 설명된다. 첫번째 두개(2) 세트는 상위 레이트가 우세한 높은 레이트의 터보 코드에 대해 최적화된다. 두번째 두개(2) 세트는 하위 레이트가 우세한 하위 레이트의 코드에 대해 최적화된다. 이들 세트들은 이하 세트 A-D라고 칭한다.
첫번째 바람직한 세트는 레이트 1/2의 최상의 유니버셜 구성 코드로부터 유도된다.
두번째 세트는, 레이트 1/2의 유니버셜 구성 코드와 또한 호환가능한 레이트 1/3의 다른 최상의 구성 코드로부터 유도된다.
첫번째 세트, "세트 A"는 두개의 생성기 다항식을 갖는 한편, 두번째 세트, "세트 B"는 그중 두개가 "세트 A"와 공통인 세개의 생성기 다항식을 갖는다. 이와 같이, "세트 B"가 "세트 A"와 최적으로 호환가능하여, 엔코딩 및 디코딩을 위한 설계 변경량을 감소시키게 된다. 전과 같이, 세번째 다항식이 레이트 1/3 이하의 터보 코드의 부수적인 엔코더 패리티 비트에 필요하다.
두번째 세트 "세트 B"는 "세트 A"를 포함하고, 또한 레이트 1/5 이상에 대한 터보 코드의 패밀리를 확장한다.
세번째 및 네번째 바람직한 레이트-호환 터보 코드 세트는 하위 레이트, 특히 레이트 1/4에 대해 최적화된다. "세트 C" 및 "세트 D"는 각각 또한 "세트 B"에서의 것들과 같지만 서로 다른 순서인 세개의 생성기 다항식을 사용한다.
레이트 1/2의 유니버셜 구성 코드로부터 유도된 레이트-호환 세트: 세트 A(레이트 1/3, 1/2)
표 2로부터, 최상의 전체적인 성능을 제공하는 레이트 1/2 구성코드가 8진수 쌍 13-15이라는 것으로 결정된다. 따라서, 이 구성 코드 쌍은 세트 A에 대한 마더 구성 코드 쌍으로서 사용된다.
레이트-호환 세트 A는 8진수 쌍 13-15에 대응하는 생성기 다항식을 구비하되, 여기서 분모 다항식은 1+D2+D3(8진수 13)이고, 분자 다항식은 1+D+D3(8진수 15)이다.
펑처링 패턴들은, 세트의 1/2 코드(또는 그 이상)의 레이트에 의해 송신된 모든 비트들이 또한 레이트 1/3 코드 또는 하위 레이트 코드 세트에 의해 송신되도록 설계되어 있다.
시뮬레이션 및 설계 원칙에 의해 데모된 예시적인 바람직한 패턴들은 다음과 같다:
1) 레이트 1/3의 경우, 어떠한 펑처링도 없고,
2) 레이트 1/의 경우, 패리티 비트가 엔코더 간에 번갈아 펑처링된다(이 경우에 제2 분자 다항식 엔코딩은 존재하지 않는다는 것에 유의)
도 31은 세트 A 구성 엔코더에 대한 블럭도를 도시한다. 도 31에서, (쉬프트 레지스터(3106)에 접속된) 모듈러 가산기(3104,3108), 및 (쉬프트 레지스터(3114)에 접속된) 모듈러 가산기(3116)는 8진 15 또는 이진 1101을 나타내는 분자 다항식용 엔코딩 장치를 구비한다.
모듈러 가산기(3104,3108,3112 및 3116)는 도 19와 유사한 방식으로 쉬프트 레지스터(3106,3110 및 3114) 및 X(t)의 내용을 더한다.
레이트 1/2 터보 코드 및 레이트 1/3 터보 코드의 시뮬레이트된 성능은, (8 디코더 반복을 갖는) 본 발명에서 설계된 8-상태 콘벌류션 코드가 출원인에 의해 만들어진 시뮬레이션 데이터에 따라 공지된 최상의 256-상태 콘벌류션 코드에 대해, 레이트 1/2에서 약 1/6㏈, 및 레이트 1/3에서 약 2.0㏈의 성능 이득(BER)을 갖는다는 것을 도시한다.
이와 같이, 세트 A의 터보 코드는, 중요한 성능 파라메타에 대해 시뮬레이트될 때 최상의 공지된 256-상태 콘벌류션 코드에 대한 성능에 비교된다.
레이트 1/3의 유니버셜 구성 코드로부터 유도된 레이트-호환 세트: 세트 B(레이트 1/2,1/3,1/4,1/5)
레이트 1/3의 유니버셜 구성 코드를 결정하는 경우에서와 같이, 레이트 1/3의 최상의 구성 코드로부터 유도된 "세트 B"의 레이트-호환 생성기 다항식에 대해 부수적인 출력 분자 다항식이 필요하다.
따라서, 제2 최상의 개별적인 레이트 1/2 구성 코드가 표 2로부터 선택된다. 이전과 같이, 이 방법은 오버랩하는 두개(2)의 8진수 쌍의 결과가 된다. 8진수 쌍, 8진수 13-15 및 8진수 13-17 모두는 균일하게 뛰어난 성능을 제공한다. 두개(2)의 쌍을 함께 결합함으로써 3인조 8진수 13-15/17을 구비한 세개(3)의 생성기다항식을 제공한다. 분모 다항식은 1+D2+D3(8진수 13), 첫번째 분자 다항식은 1+D2+D3(8진수 15)이고, 그리고 두번째 분자 다항식은 1+D+D2+D3(8진수 17)이다. 세트 B에 대한 바람직한 설계는 모든 인터리버 깊이, 및 터보 코드 레이트 1/2,1/3,1/4 및 1/5에 대한 이들 생성기 다항식을 구비한다.
세트 B에서, 레이트 1/3 구성 엔코더로부터 작성된 레이트 1/3 및 레이트 1/2 터보 코드는 유니버셜 레이트 1/2 구성 엔코더로부터 작성된 세트 A내의 동일한 1/3 및 1/2 터보 코드로, 세트 A와 세트 B 간의 호환성을 보존한다.
펑처링 패턴들은 세트 B의 임의의 상위 레이트 터보 코드로 송신된 모든 비트들이 또한 세트 B의 임의의 낮은 코드 레이트로 송신되도록 설계되어 있다.
시뮬레이션에 의해 데모된 예시적인 바람직한 패턴 및 설계 원리는 다음과 같다:
1) 레이트 1/5 - 펑처링 없음;
2) 레이트 1/4 - 두번째 분자 패리티 비트 n2를 번갈아 펑처링함
3) 레이트 1/3 - 두번째 분자 패리티 n2를 항상 펑처링함
4) 레이트 1/2 - 두번째 분자 패리티 비트 n2를 항상 펑처링하고 첫번째 분자 패리티 비트 n1를 항상 펑처링함
레이트 1/4 패턴의 경우, 구성 엔코더의 두개(2) 출력 아암(arms)중 약한 아암이 번갈아 펑처링된다.
레이트 1/3 패턴의 경우, 두개(2)의 구성 엔코더 출력중 약한 출력이 번갈아 펑처링된다.
레이트 1/2의 경우, 두개(2)의 구성 엔코더 출력중 약한 출력이 엔코더 모두에 대해 항상 펑처링되고, 센 출력이 펑처링된다.
낮은 터보 코드 레이트로 최적화된 레이트-호환 세트
상위 코드 레이트가 우세한 모드 터보 코드인 경우, 세트 B가 엄격한 레이트-호환성이 모든 코드 레이트에 요구될 때에 바람직한 설계 선택이 된다.
하위 레이트와 상위 레이트의 터보 코드 간의 레이트-호환성이 필요하지 않을 때, 하위 터보 코드 레이트로 모두 최적화된 터보 코드 세트 C 및 세트 D가 유용하다.
이전에 설명한 바와 같이 표 2의 결과에 기초하여 선택되는 표 3에 열거된 후보 구성 코드에 기초하여, 레이트 1/4 및 1/5에 대한 최적의 터보 코드가 선택된다.
표 3의 구성 코드 제1 또는 8진수 세트 A에 대한 기초이다. 그러나, 하위 레이트가 상위 레이트와 함께 사용되지 않은 경우에, 레이트 1/4 펑처링 패턴이 레이트 1/2 또는 1/3 코드의 그것이 되어야 하는 조건을 제거함으로써, 새로이 최적화된 1/4 터보 코드를 얻기 위해 네개(4)의 서로 다른 펑처링 패턴의 각각을 갖는, 표 3의 각각의 세개(3)의 마더 터보 코드 3인조(triad)가 고려된다.
상술한 바와 같이, 터보 코드 A,B 및 C는 도 10, 11 및 12의 각각의 성능 곡선(1010,1110 및 1210)으로부터 최적인 것으로 밝혀진다.
이전과 같이, 이들 펑처링 패턴은 또한 1024,2048 및 3072의 부수적인 다른 인터리버 프레임 크기에 대해 마더 코드 3인조 제1에 기초하여 터보 코드의 성능을 시뮬레이트함으로써 다른 인터리버에서 증명된다. 도 13은 시뮬레이션의 샘플 결과를 도시하고, 1024 비트에서의 기본 방법론을 확인한다.
다음에, 도 14는 512 비트에서의 선택된 펑처링 패턴과 정합하는 3인조의 성능에 대응하는 샘플을 도시한다. 도 14 및 다른 인터리버 크기에 대한 유사한 결과로부터, 모든 시뮬레이트된 인터리버 깊이의 최상의 전체적인 BER 성능이 최종 설계 기준으로서 사용되어 최적의 후보를 결정한다.
레이트 1/4 터보 코드로부터 유도된 레이트-호환 세트: 세트 C(레이트1/5,1/4,1/3)
터보 코드 세트 C는 도 14의 성능 곡선(1310) 및 다른 인터리버 크기에 대한 유사한 곡선에 따라, 도 9로부터 코드 제1 및 패턴 제1(터보 코드 C)를 구현한다.
터보 코드 세트 C는 분모 다항식 1+D+D2+D3, 제1 분자 다항식 n1, 1+D2+D3, 및 제2 분자 다항식 n2,1+D+D2를 포함하는 표 3으로부터 생성기 다항식을 구비한다. 이전에 설명한 바와 같이 방법론에 일치하는 시뮬레이션으로부터의 최적의 펑처링 패턴은 다음과 같다:
1) 레이트 1/5의 경우 - 어떠한 펑처링도 없음
2) 레이트 1/4의 경우 - 두번째 분자 다항식을 번갈아 펑처링함,
3) 레이트 1/3의 경우 - 두번째 분자 다항식을 항상 펑처링함.
레이트 1/4 터보 코드로부터 유도된 레이트-호환 세트: 세트 D(레이트 1/5,1/4)
터보 코드 세트 D는 모든 인터리버 깊이 및 터보 코드 레이트 1/4 및 1/5에 대한 단일 구성 코드를 구비한다.
터보 코드 세트 D는 도 14의 성능 곡선(1420) 및 다른 인터리버 크기의 유사 곡선에 따라 도 9로부터의 패턴 제2(터보 코드 A)를 갖는 코드 제1을 구현한다.
이 세트는 분모 다항식 d, 1+D+D3, 제1 분자 다항식 n1, 1+D2+D3, 및 제2 분자 다항식 n2,1+D+D2+D3를 포함하는 생성기 다항식을 구비한다.
이전에 설명하고 방법론에 일치하는, 시뮬레이션으로부터의 최적의 펑처링 패턴은 다음과 같다:
1) 레이트 1/5의 경우 - 어떠한 펑처링도 없음
2) 레이트 1/4의 경우 - 출력 1/2를 번갈아 펑처링함.
512 내지 3072 비트의 선택된 인터리버 깊이의 레이트 1/4 FER 최적화 터보 코드의 성능을 샘플 도면 32 및 유사 연구에서의 콘벌류션 코드에 비교한다.
보다 복잡한 펑처링 패턴을 콘벌류션 코딩에 사용하여 각각의 레이트-호환 세트에서의 기본 터보 코드의 그것 이상의 임의의 코드 레이트를 달성할 수 있다.
예를 들어, 5/12와 같은 1/2 또는 중간 레이트 이상의 레이트가 달성될 수 있다. 펑처링 패턴의 적절한 선택으로, 이는 흔히 에러 교정 성능을 희생시키지 않고 수행될 수 있다.
레이트-호환 터보 코드의 적용
본 발명에 설명된 레이트-호환 터보 코드의 예시적인 적용은, 코드 레이트가 이용가능한 물리적 채널에 정합하도록 선택된 레이트 정합을 위한 것이다. 레이트 정합 스킴에서, 데이터 서비스는 동일한 기본적인 엔코딩을 사용하지만, 특히 서로 다른 데이터 서비스에 대해 서비스 명세의 품질이 다르다면 동일한 물리적 채널을 사용할 수 있다.
본 발명에 따르면, 서로 다른 펑처링 패턴을 선택하여 물리적 채널과 호환가능한 코드 레이트를 생성할 수 있다. 만일 펑처링 패턴들이 레이트-호환가능하면, 코드 레이트의 선택은 단일의 적절한 시점에 단일 결정 유닛에의해 완료될 필요가 없다. 그 대신에, 이 결정은 결정 유닛에 걸쳐서는 물론 시간에 있어서도 분산될 수 있다. 터보 엔코더는 먼저 시스템에 의해 지원될 가장 낮은 코드 레이트에 대응하는 코드화 출력 시퀀스를 발생한다. 예를 들어, 모든 가능한 패리티 비트들이 초기에 출력될 것이다. 다음에, 초기 펑처링은 예를 들면, 소정의 데이터 서비스에 대한 Qos(Quality-of-service) 고려에 응답해서 하나의 펑처링 유닛에 의해 수행될 것이다. 이 시나리오에서, 데이터 서비스는 예를 들어, 해당 범위 내의 최고 품질이 시스템에서 이용가능한 가장 낮은 가능한 코드 레이트를 필요로 하지 않지만 일부의 중간 코드 레이트를 필요로 하고, 해당 범위 내의 최하 품질이 한층 높은 코드 레이트를 허용할 수 있는 Qos의 범위를 허용할 수 있다. 제1 펑처링 유닛은 데이터 서비스의 Qos 범위 내의 최고 품질을 제공하기 위해 가장 낮은 레이트에 대응하는 펑처링 패턴에 따라 코드화된 비트를 제거한다. 펑처링되지 않은 코드화 데이터는 부수적인 처리를 위해 시스템의 나머지로 출력된다. 후속하는 처리에서, 다이나믹 트래픽 관리 고려에 기초하여 해당 메시지에 대해 코드 레이트를 보다 높게 조정하도록 결정된다. 예를 들어, 상위 우선순위의 데이터 서비스로부터의 메시지를 수용하기 위해, 해당 데이터 서비스에 정상적으로 연관된 물리적 채널에 대해 잠정적인 필요에 따라, 보다 작은 페이로드를 갖는 물리적 채널이 대체될 것이다. 상위 코드 레이트는 새로운 코드 레이트에 연관된 펑처링 패턴에 따라 제2 펑처링을 수행함으로써 달성된다. 펑처링 패턴이 레이트-호환가능하기 때문에, 제1펑처링 유닛에 의해 삭제된 코드화 비트를 재생할 필요가 없고, 제2 펑처링 유닛은 단순히 제1 펑처링 유닛에 의해 삭제되지 않은 상위 레이트의 펑처링 패턴에 의해 명시된 비트를 삭제한다.
본 발명에서 설명된 레이트-호환 터보 코드의 제2 예시적인 적용은 ARQ 프로토콜에 기초한 에러 제어와 같은 증가 중복 스킴이다. 이들 스킴에서, 터보 엔코더는 먼저 시스템에서 이용가능한 가장 높은 코드 레이트에 대응하는 코드화 출력을 발생한다. 코드화 출력이 통신 채널상으로 전송되면, 수신기는 메시지를 성공적으로 디코드할 수 있거나 할 수 없을 수 있다. 만일 메시지가 성공적으로 디코드되면, 수신기는 전형적으로 송신기에 부정 확인응답(NAK)를 송신하여, 해당 패킷의 디코딩을 보조하는 부수적인 송신을 요청한다. 레이트-호환 채널 엔코딩에 의해, 해당 패킷에 대해 하위 레이트의 호환가능한 엔코딩중의 하나에 의해 발생된 잉여의 엔코드된 비트가 수신기의 디코더에 이용가능한 정보를 증가시키도록 보내질 수 있다. 이 디코더는 해당 패킷에 대해 수신된 본래의 정보와 함께 새로운 정보를 사용하여 디코딩을 수행한다. 그 효과는 만일 본래 패킷이 하위 레이트의 코드로서 엔코드되었는 지이다. 이 프로세스는 패킷이 성공적으로 디코드될 때까지 반복될 수 있다. 각각의 재 전송시 잉여 코드화 비트를 송신함으로써, 재전송에 필요한 트래픽 부하가 크게 저하된다.
비록 본 발명이 특정 실시예 및 그 응용에 의해 설명되었지만, 기술분야의 숙련자는 특허청구범위에 개시된 본 발명의 범위를 벗어나지 않고 무수히 많은 변형이 이루어질 수 있다.
<부록>

Claims (17)

  1. 높은 코드 레이트로 최적화되며 유니버셜 구성 코드(universal constituent code)로부터 유도된 레이트-호환 터보 코드(Turbo codes)의 세트 - 상기 터보 코드는 호환가능한 펑처링 패턴(puncturing patterns)을 가짐 - 를 사용하여 데이터 서비스 내의 데이터를 처리하는 방법에 있어서,
    상위 코드 레이트 및 하위 코드 레이트와 유니버셜한 최상의 레이트 1/2 구성 코드를 사용하여 제1 및 제2 엔코더에서 신호를 엔코드하는 단계 - 상기 제1 엔코더와 상기 제2 엔코더 각각은 한 데이터 비트에 대해 복수의 패리티 비트를 발생함-;
    상위 레이트의 최상의 펑처링 패턴으로 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계; 및
    하위 레이트의 최상의 펑처링 패턴으로 상기 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 최상의 레이트 1/2 구성 코드는 다항식 1+D2+D3(8진수 13) 및 다항식 1+D+D3(8진수 15)의 결합(D는 데이터 비트)을 나타내는 방법.
  3. 제2항에 있어서, 상기 세트 내의 레이트-호환가능 터보 코드중의 하나는 레이트 1/2 터보 코드를 포함하고, 상기 펑처링 중의 하나는 상기 제1 및 제2 엔코더 간에 패리티 비트를 번갈아 펑처링하는 것을 포함하는 방법.
  4. 제2항에 있어서, 상기 세트 내의 레이트-호환가능 터보 코드중의 하나는 레이트 1/3 터보 코드를 포함하고, 상기 펑처링 중의 하나는 상기 제1 및 제2 엔코더 에서의 모든 패리티 비트를 송신하는 단계를 포함하는 방법.
  5. 최적의 유니버셜 레이트 1/3 구성 코드로부터 유도된 레이트-호환가능 터보 코드의 세트 - 상기 터보 코드는 유사한 구성 코드 및 호환가능한 펑처링 패턴을 가짐 - 를 사용하여 데이터 서비스 내의 데이터를 처리하는 방법에 있어서,
    제1 및 제2 엔코더에서 최상의 레이트 1/3을 갖는 신호를 엔코드하는 단계 - 상기 각각의 엔코더는 각각의 데이터 비트에 대해 각각의 복수의 패리티 비트를 발생함-;
    상위 레이트의 최상의 펑처링 패턴으로 상기 복수의 패리티 비트를 펑처링하는 단계; 및
    하위 레이트의 최상의 펑처링 패턴으로 상기 복수의 패리티 비트를 펑처링하는 단계
    를 포함하는 방법.
  6. 제5항에 있어서, 상기 최상의 레이트 1/3 구성 코드는 다항식 1+D2+D3,(8진수 13), 다항식 1+D+D3(8진수 15), 및 1+D+D2+D3(8진수 17)의 결합(D는 데이터 비트)을 나타내는 방법.
  7. 제5항에 있어서, 상기 터보 코드의 세트는 레이트 1/5 터보 코드를 포함하고, 상기 펑처링 단계중 적어도 한 단계가 상기 제1 및 제2 엔코더에서의 모든 패리티 비트를 송신하는 단계를 포함하는 방법.
  8. 제5항에 있어서, 상기 터보 코드의 세트는 레이트 1/4 터보 코드를 포함하고, 상기 펑처링 단계 중 적어도 하나의 펑처링 단계가 상기 제1 및 제2 엔코더 간에 상기 복수의 패리티 비트의 선택 그룹을 번갈아 펑처링하는 것을 포함하는 방법.
  9. 제5항에 있어서, 상기 터보 코드의 세트는 레이트 1/3 터보 코드를 포함하고, 상기 펑처링 단계 중 적어도 하나의 펑처링이 상기 제1 및 제2 엔코더에서 상기 복수의 패리티 비트의 선택 그룹을 번갈아 펑처링하는 것을 포함하는 방법.
  10. 제5항에 있어서, 상기 터보 코드의 세트는, 레이트 1/2 터보 코드를 포함하고, 상기 펑처링 단계 중 적어도 하나의 펑처링이 상기 복수의 패리티 비트의 선택그룹을 상기 엔코더들에서 펑처링하고, 상기 복수의 패리티 비트의 다른 선택 그룹을 상기 엔코더들에서 번갈아 펑처링하는 것을 포함하는 방법.
  11. 레이트-호환가능 터보 코드의 세트 - 상기 세트는 코드 레이트 1/4에 최적화되고 서로 다른 코드 레이트 및 레이트-호환가능 펑처링 패턴을 갖는 터보 코드를 구비함 - 를 사용한 레이트-호환가능 터보 엔코딩 방법에 있어서,
    상위 코드 레이트 및 하위 코드 레이트와 유니버셜한(universal) 최상의 레이트 1/4 구성 코드를 사용하여 제1 및 제2 엔코더에서 신호를 엔코드하는 단계 - 상기 제1 엔코더와 상기 제2 엔코더 각각은 한 데이터 비트에 대해 각각의 복수의 패리티 비트를 발생함-;
    상위 레이트의 최상의 펑처링 패턴으로 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계; 및
    하위 레이트의 최상의 펑처링 패턴으로 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서, 상기 레이트-호환가능 터보 코드의 세트는 다항식 1+D+D3, 1+D2+D3및 1+D+D3의 결합(D는 데이터 비트)을 나타내고,
    연관된 레이트-호환가능 펑처링 패턴이,
    모든 데이터를 송신하는 단계,
    다항식 1+D+D3에 연관된 패리티 비트를 번갈아 펑처링하는 단계; 및
    각각의 엔코더에 대해 다항식 1+D+D3에 연관된 패리티 비트를 펑처링하는 단계를 포함하는 패턴 그룹 중에서 선택되는 방법.
  13. 제11항에 있어서, 상기 레이트-호환가능 터보 코드의 세트는 1/5 및 1/4를 포함하는 레이트의 그룹 중에서 선택된 서로 다른 레이트의 두개 이상의 터보 코드- 상기 터보 코드는 다항식 1+D+D3, 1+D2+D3및 1+D+D2+D3의 결합(D는 데이터 비트)을 나타냄 - 를 포함하고,
    연관된 레이트-호환가능 펑처링 패턴이,
    모든 데이터를 송신하는 단계, 및
    다항식 1+D+D2+D3에 연관된 패리티 비트를 번갈아 펑처링하는 단계를 포함하는 패턴 그룹 중에서 선택되는 방법.
  14. 최상의 유니버셜 레이트 1/2 구성 코드로부터 유도된 레이트-호환가능 터보 코드의 세트 - 상기 세트는 호환가능한 펑처링 패턴을 가짐- 를 사용하는 엔코딩 시스템에 있어서,
    제1 및 제2 엔코더 - 각각의 상기 엔코더는
    복수의 쉬프트 레지스터, 및
    상기 최상의 유니버셜 레이트 1/2 구성 코드에 대응하는 구성에서 가산기들의 선택된 부분에 각각 결합된 복수의 가산기를 포함함-; 및
    상기 제1 및 제2 엔코더가 상기 제1 및 제2 엔코더의 각각으로부터 복수의 데이터 출력을 펑처링하도록 구성된 펑처러(puncturer) - 상기 펑처링은 상기 호환가능 펑처링 패턴의 세트에 따라 소정의 터보 코드 레이트에 의해 결정됨-
    를 구비하는 엔코딩 시스템.
  15. 최적의 유니버셜 레이트 1/3 구성 코드로부터 유도된 레이트-호환가능 터보 코드의 세트 - 상기 레이트-호환가능 터보 코드는 유사한 구성 코드 및 호환가능한 펑처링 패턴을 가짐- 를 사용하는 엔코딩 시스템에 있어서,
    제1 및 제2 엔코더 - 각각의 상기 엔코더는
    복수의 쉬프트 레지스터, 및
    상기 레이트 1/3 구성 코드에 대응하는 구성에서 가산기들의 선택된 부분에 각각 결합된 복수의 가산기를 포함함-; 및
    상기 제1 및 제2 엔코더가 상기 제1 및 제2 엔코더로부터 복수의 데이터 출력을 펑처링하도록 구성된 펑처러(puncturer) - 상기 펑처링은 상기 호환가능 펑처링 패턴의 세트에 따라 소정의 터보 코드 레이트에 의해 결정됨-
    를 구비하는 엔코딩 시스템.
  16. 서로 다른 코드 레이트에 대한 유니버셜 구성 코드(universal constituent code)와 레이트-호환가능 펑처링 패턴을 갖는 터보 코드를 포함하는 레이트-호환가능 터보 코드의 세트를 사용하는 엔코딩 시스템에 있어서,
    제1 및 제2 엔코더 - 각각의 상기 엔코더는
    복수의 쉬프트 레지스터, 및
    상기 유니버셜 구성 코드에 대응하는 구성에서 복수의 가산기의 선택된 부분에 각각 결합된 복수의 가산기를 포함함-; 및
    상기 제1 및 제2 엔코더가 상기 제1 및 제2 엔코더로부터 복수의 데이터 출력을 펑처링하도록 구성된 펑처러(puncturer) - 상기 펑처링은 상기 호환가능 펑처링 패턴의 세트에 따라 소정의 터보 코드 레이트에 의해 결정됨-
    를 구비하는 엔코딩 시스템.
  17. 높은 코드 레이트로 최적화된 레이트-호환가능 터보 코드의 세트 - 상기 세트는 상위 코드와 호환가능한 레이트 1/2의 최상의 유니버셜 구성 코드로부터 유도되고, 상기 터보 코드는 호환가능한 펑처링 패턴을 가짐-를 결정하는 방법에 있어서,
    코드 쌍 검사 및 다양성에 기초하여, 프리미티브 축소되지 않는 다항식(primitive irreducible polynomials)을 갖는 후보 마더(mother) 구성 코드 쌍의 그룹을 선택하는 단계 - 상기 코드 쌍 검사는 정해진 인터리버 길이(fixed Interleaver length)의 레이트 1/2 및 1/3 터보 코드의 상대적 비트 에러레이트(BER) 성능을 시뮬레이트하는 것을 포함함-;
    복수의 서로 다른 인터리버 깊이 및 두개의 서로 다른 터보 코드 레이트에서 각각의 후보 쌍에 대한 복수의 엔코딩 후에 신호의 상대적 신호 대 잡음비 손실을 측정하는 단계 - 상기 복수의 엔코딩 각각은 후보 쌍, 인터리버 깊이 및 레이트의 서로 다른 조합을 가짐-;
    상기 측정으로부터 최상의 상대적 신호 대 잡음비 손실에 기초하여 최상의 후보를 선택하는 단계; 및
    상기 세트의 두개 이상의 레이트-호환가능 터보 코드의 각각에 대해, 상기 최상의 후보 쌍에 대한 적어도 하나의 낮은 레이트 및 하나의 높은 레이트의 최상의 펑처링 패턴을 선택하는 단계 - 상기 적어도 하나의 높은 레이트의 패턴은 상기 세트의 상기 적어도 하나의 낮은 레이트의 패턴에 의해 송신하기 위해 선택된 임의의 패리티 비트의 송신을 선택함-
    를 포함하는 방법.
KR1020007011264A 1999-02-11 1999-02-11 최적화 레이트-호환가능 터보 엔코딩 KR100347501B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1999/002995 WO2000048353A1 (en) 1999-02-11 1999-02-11 Optimized rate-compatible turbo encoding

Publications (2)

Publication Number Publication Date
KR20010052246A KR20010052246A (ko) 2001-06-25
KR100347501B1 true KR100347501B1 (ko) 2002-08-03

Family

ID=22272169

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007011264A KR100347501B1 (ko) 1999-02-11 1999-02-11 최적화 레이트-호환가능 터보 엔코딩

Country Status (4)

Country Link
EP (1) EP1072122A1 (ko)
KR (1) KR100347501B1 (ko)
AU (1) AU2673299A (ko)
WO (1) WO2000048353A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430722B1 (en) 1998-01-23 2002-08-06 Hughes Electronics Corporation Forward error correction scheme for data channels using universal turbo codes
US7536624B2 (en) 2002-01-03 2009-05-19 The Directv Group, Inc. Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes
KR100373965B1 (ko) 1998-08-17 2003-02-26 휴우즈 일렉트로닉스 코오포레이션 최적 성능을 갖는 터보 코드 인터리버
WO2000013323A1 (en) 1998-08-27 2000-03-09 Hughes Electronics Corporation Method for a general turbo code trellis termination
KR100442685B1 (ko) 2000-10-21 2004-08-02 삼성전자주식회사 통신시스템에서 부호 생성장치 및 방법
CA2405119C (en) * 2001-02-13 2007-09-11 Samsung Electronics Co., Ltd. Apparatus and method for generating codes in communication system
KR101014898B1 (ko) * 2002-01-07 2011-02-15 지멘스 악티엔게젤샤프트 비트 레이트 적응 모델이 송신기와 수신기 사이에 시그널링되는 데이터 전송 방법 및 장치
US7293217B2 (en) 2002-12-16 2007-11-06 Interdigital Technology Corporation Detection, avoidance and/or correction of problematic puncturing patterns in parity bit streams used when implementing turbo codes
KR100678580B1 (ko) 2005-10-14 2007-02-02 삼성전자주식회사 통신시스템에서 터보부호의 성능을 향상하기 위한 장치 및방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983384A (en) * 1997-04-21 1999-11-09 General Electric Company Turbo-coding with staged data transmission and processing
DE19736653C1 (de) * 1997-08-22 1998-12-10 Siemens Ag Verfahren und Einrichtung zur Abschätzung der Dienstqualität auf Übertragungskanälen in einem digitalen Übertragungssystem

Also Published As

Publication number Publication date
EP1072122A1 (en) 2001-01-31
WO2000048353A1 (en) 2000-08-17
KR20010052246A (ko) 2001-06-25
AU2673299A (en) 2000-08-29

Similar Documents

Publication Publication Date Title
US9300330B2 (en) Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes
US6370669B1 (en) Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes
US7096404B2 (en) Forward error correction scheme for data channels using universal turbo codes
JP4298170B2 (ja) マップデコーダ用の区分されたデインターリーバメモリ
KR100739182B1 (ko) 시공간 harq 기법을 제공하는 이동 통신 단말기 및 그방법
Lee et al. Application and standardization of turbo codes in third-generation high-speed wireless data services
EP1199835A2 (en) Apparatus and method for generating codes in communications system
KR100347501B1 (ko) 최적화 레이트-호환가능 터보 엔코딩
JP4041450B2 (ja) 通信端末装置および通信方法
JP2001251199A (ja) 送信装置、通信システム及びその方法
EP1064751B1 (en) Forward error correction scheme for data channels using turbo codes
Narayanan et al. Physical layer design for packet data over IS-136
van Wykt et al. A turbo coded DS/CDMA system with embedded Walsh-Hadamard codewords: coder design and performance evaluation
Van Wyk et al. Design and performance evaluation of a turbo/walsh-hadamard coded QPSK DS/CDMA system

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee