KR20010052246A - Optimized rate-compatible turbo encoding - Google Patents
Optimized rate-compatible turbo encoding Download PDFInfo
- Publication number
- KR20010052246A KR20010052246A KR1020007011264A KR20007011264A KR20010052246A KR 20010052246 A KR20010052246 A KR 20010052246A KR 1020007011264 A KR1020007011264 A KR 1020007011264A KR 20007011264 A KR20007011264 A KR 20007011264A KR 20010052246 A KR20010052246 A KR 20010052246A
- Authority
- KR
- South Korea
- Prior art keywords
- rate
- code
- puncturing
- turbo
- compatible
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0066—Parallel concatenated codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/635—Error control coding in combination with rate matching
- H03M13/6362—Error control coding in combination with rate matching by puncturing
- H03M13/6368—Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
- H03M13/6381—Rate compatible punctured turbo [RCPT] codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0067—Rate matching
- H04L1/0068—Rate matching by puncturing
- H04L1/0069—Puncturing patterns
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/35—Unequal 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/63—Joint error correction and other techniques
- H03M13/6306—Error 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
- H04L1/1819—Hybrid 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는 데이터 비트)을 나타낸다. 터보 엔코더에는 본 발명을 구현하는 하드웨어가 제공된다.Turbo encoding methods and apparatus utilize a set of rate-compatible turbo codes that are optimized at high code rates and derived from universal construction codes. The turbo code has a rate-compatible puncturing pattern. The method encodes a signal at a first and a second encoder using a higher code rate and a universal best rate 1/2 configuration code, wherein the first encoder and the second encoder each for each information bit. Generate a plurality of parity bits of; Puncturing each of the plurality of parity bits at each encoder with a highest puncturing pattern at a higher rate; And puncturing each of the plurality of parity bits at each encoder with the lowest puncturing pattern at a lower rate. In a variant, the best rate 1/2 configuration code represents the combination of polynomial 1 + D 2 + D 3 (octal 13), and 1 + D + D 3 (octal 15), where D is the data bit. The turbo encoder is provided with hardware implementing the present invention.
Description
신호 감쇄 (자유공간 전파 손실) 및 다중 경로 유입 페이딩을 포함하는 신호 파형 및 스펙트럼 왜곡을 초래하는 RF 전파 채널을 통해 고품질의 통신을 제공하기 위해서는 지상 및 위성 무선 시스템에 포워드 에러 교정(FEC)이 요구된다. 이와 같은 결점들로, 무선 송신 및 수신기 장비의 설계, 변조 포맷, 에러 제어 스킴, 복조 및 디코딩 기술을 선택할 설계 목적, 및 시스템 성능과 구현 복잡성 간에 효율적인 균형을 함께 제공하는 하드웨어 구성요소를 고려하여야만 한다. 지상 및 위성 통신 채널 간과 같이 전파 채널 특성의 차이로, 자연적으로 시스템 설계의 결과가 크게 다르게 된다. 이와 유사하게, 새로운 상위 레이트 또는 보다 충실한 통신 서비스를 위한 증가된 시스템 조건을 충족시키기 위해 기존의 통신 시스템도 계속해서 발전하고 있다.Forward error correction (FEC) is required for terrestrial and satellite radio systems to provide high-quality communications over RF propagation channels resulting in signal waveforms and spectral distortion, including signal attenuation (free-space propagation loss) and multipath inflow fading. do. With these drawbacks, one must consider the design of wireless transmission and receiver equipment, the design of modulation formats, error control schemes, design objectives to choose demodulation and decoding techniques, and hardware components that together provide an efficient balance between system performance and implementation complexity. . Due to differences in propagation channel characteristics, such as between terrestrial and satellite communication channels, the design of the system will naturally vary significantly. Similarly, existing communication systems continue to evolve to meet the increased system requirements for new higher rates or more robust communication services.
지상 셀룰러 이동 무선 전화의 경우에, 아날로그 이동 전화 시스템(AMPS)은 예시적인 제1세대 시스템이고: U.S. IS-136 및 유럽 GSM 시분할 다중액세스(TDMA) 표준 및 U.S. IS-95 코드 분할 다중액세스(CDMA) 표준은 제2세대 시스템이고; 현재 개발중인 광대역 CDMA 표준(즉, 미국에서는 CDMA 2000 및 유럽에서는 UTRA)은 제3세대 시스템이다.In the case of terrestrial cellular mobile radio telephones, the analog mobile telephone system (AMPS) is an exemplary first generation system: U.S. IS-136 and European GSM Time Division Multiple Access (TDMA) standards and U.S. The IS-95 Code Division Multiple Access (CDMA) standard is a second generation system; The broadband CDMA standard currently under development (ie, CDMA 2000 in the US and UTRA in Europe) is a third generation system.
제3세대 시스템에서, 유연성있고, 고속 데이터 통신 서비스의 개발은 중요한 관심이 되고 있다. 바람직한 특징들은 레이트 적응을 수행하고, 다양한 품질 서비스(quality-of-service, QOS) 조건을 만족시키는 능력을 포함한다.In third generation systems, the development of flexible, high-speed data communication services is of great interest. Preferred features include the ability to perform rate adaptation and satisfy various quality-of-service (QOS) conditions.
통신 시스템용의 종래의 포워드 에러 교정(FEC) 스킴은 컨벌류션 코드, 리드-솔로몬 또는 BCH 코드와 같은 블럭 코드, 및/또는 축약 코딩 스킴의 사용을 포함한다.Conventional forward error correction (FEC) schemes for communication systems include the use of convolutional codes, block codes such as Reed-Solomon or BCH codes, and / or abbreviated coding schemes.
터보 코드(Turbo codes)는 순환 소프트 결정(soft-decision) 디코딩 방법에 의해 이상화된 채널의 중요한 클래스에 대한 이론적인 제한에 근접한 비트 에러 레이트(BER)를 제공하도록 논증되고 있는 비교적 새로운 부류의 블럭 코드이다.Turbo codes are a relatively new class of block code that is being argued to provide bit error rates (BER) that approach the theoretical limits for critical classes of channels idealized by cyclic soft-decision decoding methods. to be.
터보 엔코더는 제1 구성 엔코더에 관련된 제2 구성 엔코더에 대한 정보 비트의 표현 순서를 랜덤화하는 인터리버에 의해 구분된 전형적으로 두개의 시스템적 순환 콘벌루션 코드("구성 코드(constituent codes)")의 병렬 연관으로 구성된다. 터보 코드의 성능은 구성 코드, 인터리버, 정보 블럭 크기(일반적으로 높은 데이터 레이트에 따라 증가하는), 및 디코더 반복 회수에 따른다. 구성 코드가 혼합되어 있는 특정 터보 코드의 경우, 성능, 지연 및 구현 복잡성 조건을 절충하기 위해 블럭 크기 및 디코더 반복 회수를 이상적으로 조정할 수 있다. 그러나, 블럭 크기가 변함에 따라, 해당 클럭 크기에 일치하는 새로운 인터리버가 요구된다.The turbo encoder typically consists of two systemic cyclic convolutional codes ("constituent codes") separated by an interleaver that randomizes the representation order of the information bits for the second constituent encoder associated with the first constituent encoder. It consists of parallel associations. The performance of the turbo code depends on the configuration code, interleaver, information block size (generally increasing with high data rate), and the number of decoder iterations. For certain turbo codes with mixed configuration codes, the block size and the number of decoder iterations can be ideally adjusted to trade off performance, delay and implementation complexity requirements. However, as the block size changes, a new interleaver is required that matches the clock size.
동기화 기지국을 갖는 CDMA 네트워크에서, (기지국에서 사용자 단말으로의) 포워드 링크 채널은 예를 들어, 왈시 하마드 확산 시퀀스를 사용하여 직교하도록 설계될 수 있다. 그러나, 의사 직교인 확산 시퀀스를 사용하여 비동기성으로 동작하는 (사용자 단말에서 기지국으로의) 역 링크 채널의 경우에는, 이는 일반적으로 가능하지 않다. 따라서, 동기성 CDMA 네트워크에서의 역 링크는 전형적으로 간섭이 보다 많게 되며, 따라서 포워드 링크 채널보다 강한 FEC(하위 레이트의 코드를 통한)를 필요로 할 수 있다.In a CDMA network with a synchronization base station, the forward link channel (from the base station to the user terminal) can be designed to be orthogonal using, for example, Walsh Hamad spreading sequence. However, in the case of a reverse link channel (from user terminal to base station) operating asynchronously using a pseudo orthogonal spreading sequence, this is generally not possible. Thus, the reverse link in a synchronous CDMA network is typically more interfering and may therefore require a stronger FEC (via a lower rate code) than the forward link channel.
비동기성 CDMA 네트워크의 경우, 포워드 및 역 링크 채널은 간섭 레벨의 면에서 다소 유사하여, 두개의 링크 상에서 공통 FEC 스킴(또는 적어도 하나의 유사 FEC 스킴에서)을 사용하는 것이 가능하다.For asynchronous CDMA networks, the forward and reverse link channels are somewhat similar in terms of interference level, so it is possible to use a common FEC scheme (or at least one similar FEC scheme) on the two links.
터보 코드의 유연성과 고성능은 첨단 데이터 통신 서비스에 대해 잠재적으로 유망한 기술이 되고 있다. 따라서, 구현 복잡성을 최소화하면서 다양한 서비스 조건과 각각의 데이터 레이트 및 코딩 레이트를 최적으로 일치시키는 터보 코딩 FEC 스킴 및 터보 코드를 식별하는 것이 바람직하다.The flexibility and high performance of turbo code is becoming a potentially promising technology for advanced data communications services. Thus, it is desirable to identify turbo coding FEC schemes and turbo codes that optimally match various data conditions and respective data rates and coding rates while minimizing implementation complexity.
본 발명은 장점으로서 유니버셜하게 최적화된 터보 코드 및 레이트-호환 펑처링(puncturings)을 설계하고 사용하여 자동 반복 요청(ARQ)과 같은 점증하는 중복 스킴을 지원하기 위한 방법을 제공함으로써 상기 및 다른 필요성을 시정하고 있다.The present invention advantageously addresses this and other needs by providing a method for designing and using universally optimized turbo code and rate-compatible puncturings to support increasing redundancy schemes such as automatic repeat request (ARQ). Correcting.
〈발명의 요약〉<Summary of invention>
가장 기본적인 형태에서, 본 발명은, 데이터를 처리하는 방법으로서의 한 실시예에서, 일단의 레이트-호환 터보 코드가 높은 코드 레이트에서 최적화되어 유니버셜 구성 코드로부터 파생된 데이터 서비스에서 호환 펑처링 패턴을 갖는 터보 코드를 특징으로 하고 있다. 이 방법은 상위 코드 레이트 및 하위 코드 레이트에 따라 유니버셜한 최상의 레이트 1/2 구성 코드를 사용하여 제1 및 제2 엔코더에서 신호를 엔코드하는 단계 - 상기 제1 엔코더와 상기 제2 엔코더는 각각 데이터 비트에 대해 각각의 복수의 패리티 비트를 발생함-; 상위 레이트의 최상의 펑처링 패턴으로 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계; 및 하위 레이트의 최상의 펑처링 패턴으로 상기 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계를 포함한다.In its most basic form, the invention provides, in one embodiment as a method of processing data, a set of rate-compatible turbo codes that are optimized at high code rates and have compatible puncturing patterns in data services derived from universal component codes. It features code. The method encodes a signal at a first and a second encoder using a universal best rate 1/2 configuration code in accordance with an upper code rate and a lower code rate, wherein the first encoder and the second encoder each have data. Generate a respective plurality of parity bits for the bits; Puncturing each of the plurality of parity bits at each encoder with a highest puncturing pattern at a higher rate; And puncturing each of the plurality of parity bits at each encoder with the lowest puncturing pattern at a lower rate.
변형에서, 최적의 유니버셜 레이트 1/3 구성 코드로부터 유도된 레이트-호환가능 터보 코드(Turbo codes)의 세트 - 상기 터보 코드는 유사한 구성 코드 및 호환가능한 펑처링(puncturing patterns)을 가짐 - 를 사용하여 데이터 서비스 내의 데이터를 처리하는 방법은 제1 및 제2 엔코더에서 최상의 레이트 1/3을 갖는 신호를 엔코드하는 단계 - 상기 각각의 엔코더는 각각의 데이터 비트에 대해 각각의 복수의 패리티 비트를 발생함-; 상위 레이트의 최상의 펑처링 패턴으로 상기 복수의 패리티 비트를 펑처링하는 단계; 및 하위 레이트의 최상의 펑처링 패턴으로 상기 복수의 패리티 비트를 펑처링하는 단계를 포함한다.In a variant, using a set of rate-compatible Turbo codes derived from an optimal universal rate 1/3 configuration code, the turbo codes having similar configuration codes and compatible puncturing patterns A method of processing data in a data service includes encoding a signal having the best rate 1/3 in the first and second encoders, wherein each encoder generates a respective plurality of parity bits for each data bit. -; Puncturing the plurality of parity bits with a higher rate puncturing pattern; And puncturing the plurality of parity bits with the lowest puncturing pattern at a lower rate.
다른 변형에서, 레이트-호환가능 터보 코드의 세트 - 상기 세트는 코드 레이트 1/4에 최적화되고 서로 다른 코드 레이트 및 레이트-호환가능 펑처링 패턴을 갖는 터보 코드를 구비함 - 를 사용한 레이트-호환가능 터보 엔코딩 방법은 상위 코드 레이트 및 하위 코드 레이트와 유니버셜한(universal) 최상의 레이트 1/4 구성 코드를 사용하여 제1 및 제2 엔코더에서 신호를 엔코드하는 단계 - 상기 제1 엔코더와 상기 제2 엔코드는 각각 데이터 비트에 대해 각각의 복수의 패리티 비트를 발생함-; 상위 레이트의 최상의 펑처링 패턴으로 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계; 및 하위 레이트의 최상의 펑처링 패턴으로 각각의 엔코더에서 상기 각각의 복수의 패리티 비트를 펑처링하는 단계를 포함한다.In another variant, rate-compatible using a set of rate-compatible turbo codes, the set having turbo codes optimized for code rate 1/4 and having different code rates and rate-compatible puncturing patterns The turbo encoding method encodes a signal at a first and a second encoder using an upper code rate and a lower code rate and a universal best rate 1/4 configuration code-the first encoder and the second encoder. Generates each of a plurality of parity bits for each data bit; Puncturing each of the plurality of parity bits at each encoder with a highest puncturing pattern at a higher rate; And puncturing each of the plurality of parity bits at each encoder with the lowest puncturing pattern at a lower rate.
다른 실시예에서, 엔코딩 시스템은 최상의 유니버셜 레이트 1/2 구성 코드로부터 유도된 레이트-호환가능 터보 코드의 세트 - 상기 세트는 호환가능한 펑처링 패턴을 가짐- 를 사용하고, 상기 엔코딩 시스템은 제1 및 제2 엔코더 - 상기 각각의 엔코더는 복수의 쉬프트 레지스터, 및 상기 최상의 유니버셜 레이트 1/2 구성 코드에 대응하는 구성에서 제1 및 제2 가산기의 선택된 부분에 각각 결합된 제1 및 제2 가산기를 포함함-; 및 상기 제1 및 제2 엔코더가 상기 제1 및 제2 엔코더의 각각으로부터 복수의 데이터 출력을 펑처링하도록 구성된 펑처러(puncturer) - 상기 펑처링은 상기 호환가능 펑처링 패턴의 세트에 따라 소정의 터보 코드 레이트에 의해 결정됨 - 를 구비한다.In another embodiment, the encoding system uses a set of rate-compatible turbo codes derived from the best universal rate 1/2 configuration code, the set having a compatible puncturing pattern, wherein the encoding system comprises a first and a second one. Second Encoder-Each encoder includes a plurality of shift registers and first and second adders respectively coupled to selected portions of the first and second adders in a configuration corresponding to the best universal rate 1/2 configuration code. box-; And a puncturer configured to puncture the plurality of data outputs from each of the first and second encoders, wherein the puncturing is predetermined according to the set of compatible puncturing patterns. Determined by the turbo code rate.
다른 변형에서, 엔코딩 시스템은 최적의 유니버셜 레이트 1/3 구성 코드로부터 유도된 레이트-호환가능 터보 코드의 세트 - 상기 레이트-호환가능 터보 코드는 유사한 구성 코드 및 호환가능한 펑처링 패턴을 가짐- 를 사용하고, 상기 엔코딩 시스템은 제1 및 제2 엔코더 - 상기 각각의 엔코더는 복수의 쉬프트 레지스터, 및 상기 레이트 1/3 구성 코드에 대응하는 구성에서 제1 및 제2 가산기의 선택된 부분에 각각 결합된 제1 및 제2 가산기를 포함함-; 및 상기 제1 및 제2 엔코더가 상기 제1 및 제2 엔코더로부터 복수의 데이터 출력을 펑처링하도록 구성된 펑처러(puncturer) - 상기 펑처링은 상기 호환가능 펑처링 패턴의 세트에 따라 소정의 터보 코드 레이트에 의해 결정됨-를 구비한다.In another variation, the encoding system uses a set of rate-compatible turbo codes derived from optimal universal rate 1/3 configuration codes, wherein the rate-compatible turbo codes have similar configuration codes and compatible puncturing patterns. And the encoding system comprises: first and second encoders, each encoder coupled to a selected portion of the first and second adders in a configuration corresponding to the plurality of shift registers and the rate 1/3 configuration code, respectively; Comprising a first and a second adder; And a puncturer configured such that the first and second encoders puncture a plurality of data outputs from the first and second encoders, wherein the puncturing is a predetermined turbo code in accordance with the set of compatible puncturing patterns. Determined by the rate.
시스템의 또 다른 변형은 서로 다른 코드 레이트에 대한 유니버셜 구성 코드(universal constituent code)와 레이트-호환가능 펑처링 패턴을 갖는 레이트-호환가능 터보 코드의 세트를 사용하고, 상기 시스템은 제1 및 제2 엔코더 - 상기 각각의 엔코더는 복수의 쉬프트 레지스터, 및 상기 유니버셜 구성 코드에 대응하는 구성에서 제1 및 제2 가산기의 선택된 부분에 각각 결합된 제1 및 제2 가산기를 포함함-; 및 상기 제1 및 제2 엔코더로부터 복수의 데이터 출력을 펑처링하도록 구성된 펑처러(puncturer) - 상기 펑처링은 상기 호환가능 펑처링 패턴의 세트에 따라 소정의 터보 코드 레이트에 의해 결정됨-를 구비한다.Another variation of the system uses a set of rate-compatible turbo codes having universal constituent codes and rate-compatible puncturing patterns for different code rates, the system comprising first and second Encoders, each encoder including a plurality of shift registers and first and second adders respectively coupled to selected portions of first and second adders in a configuration corresponding to the universal configuration code; And a puncturer configured to puncture a plurality of data outputs from the first and second encoders, the puncturing being determined by a predetermined turbo code rate in accordance with the set of compatible puncturing patterns. .
〈도면의 간단한 설명〉<Brief Description of Drawings>
본 발명의 상기 및 다른 일면, 특징 및 장점은 다음의 도면과 결합하여 제시된 다음의 보다 상세한 설명으로부터 보다 명확할 것이다.These and other aspects, features, and advantages of the present invention will become more apparent from the following more detailed description presented in conjunction with the following drawings.
도 1은 코드 분할 다중액세스(CDMA) 디지털 셀룰러 이동 무선 시스템 하드웨어도.1 is a code division multiple access (CDMA) digital cellular mobile radio system hardware diagram.
도 2는 본 발명의 실시예를 구현할수 있는 CDMA 디지털 셀룰러 이동 무선 시스템 하드웨어도.2 is a hardware diagram of a CDMA digital cellular mobile radio system in which an embodiment of the present invention may be implemented.
도 3은 본 발명과 함께 사용하도록 변형된 터보 코드 엔코더의 기능 블럭도.3 is a functional block diagram of a turbo code encoder modified for use with the present invention.
도 4는 전체적인 터보 디코더의 기능 블럭도.4 is a functional block diagram of an overall turbo decoder.
도 5, 6, 7 및 8은 터보 코드가 d(D) 및 n(D)로서 표현된 후보 구성 코드를 사용할 때 인터리버 크기 1000, 512 및 1024 비트의 터보 코드 레이트 1/2 및 레이트 1/3인 경우 신호 대 잡음비(SNR)에 대한 비트 에러 레이트(BER) 성능을 도시하는 도면.5, 6, 7 and 8 show turbo code rate 1/2 and rate 1/3 of interleaver size 1000, 512 and 1024 bits when the turbo code uses candidate configuration codes represented as d (D) and n (D). Shows bit error rate (BER) performance for signal to noise ratio (SNR).
도 9는 레이트 1/4 터보 코드를 최적화하기 위한 펑처링 스킴(puncturing schemes)을 도시하는 도면.FIG. 9 illustrates puncturing schemes for optimizing a rate 1/4 turbo code. FIG.
도 10, 11 및 12는 512 비트의 프레임 크기인 구성 코드 #1-3의 BER/FER 성능을 도시하는 도면.10, 11 and 12 show BER / FER performance of configuration code # 1-3, which is a frame size of 512 bits.
도 13은 구성 코드 #1이 1024 비트의 프레임 크기이고, 크기 2048 및 3072 비트에서 각각 일관적인 결과를 구한 구성 코드 #1의 BER/FER 성능을 도시하는 도면.FIG. 13 is a diagram showing BER / FER performance of configuration code # 1 in which configuration code # 1 has a frame size of 1024 bits and consistent results are obtained in sizes 2048 and 3072 bits, respectively. FIG.
도 14는 크기 1024, 2048 및 3072 비트에서 각각 일관적인 결과를 구한 프레임 크기 512에서의 선택된 레이트 1/4 터보 코드의 BER/FER 성능을 도시하는 도면.FIG. 14 shows the BER / FER performance of a selected rate 1/4 turbo code at frame size 512 with consistent results at sizes 1024, 2048 and 3072 bits, respectively.
도 15는 프레임 크기 512 비트인 다른 펑처링 스킴에 대한 바람직한 터보 코드 B의 비교도.Figure 15 is a comparison of the preferred turbo code B for another puncturing scheme with a frame size of 512 bits.
도 16은 구성 코드가 레이트 1/3을 가질 때 레이트 1/3 및 1/2의 터보 코드에 대한 후보 펑처링 패턴의 레이아웃.16 shows a layout of candidate puncturing patterns for turbo codes of rates 1/3 and 1/2 when the configuration code has rate 1/3.
도 17은 프레임 크기 512 비트에서 레이트 1/3 펑처링 스킴의 비교도.FIG. 17 is a comparison of rate 1/3 puncturing scheme in frame size 512 bits. FIG.
도 18은 1024, 2048 및 3072 비트에서 각각 일관적인 결과를 구한 프레임 크기 512 비트에서의 레이트 1/2 펑처링 스킴을 도시하는 도면.FIG. 18 shows a rate 1/2 puncturing scheme at 512 bits of frame size with consistent results at 1024, 2048 and 3072 bits, respectively.
도 19는 인터리버 깊이를 변화시키는 코드 레이트 1/2 및 1/3로 최적화된 터보 코드에 대한 바람직한 유니버셜 구성 엔코더의 블럭도.FIG. 19 is a block diagram of a preferred universally configured encoder for turbo code optimized at code rates 1/2 and 1/3 to vary interleaver depth. FIG.
도 20은 인터리빙과 펑처링(레이트 1/3, 및 레이트 1/2 사용 유사 처리)을 포함하는 코드 레이트 1/2 및 레이트 1/3로 최적화된 레이트 1/4 터보 코드에 대한 기능 블럭도.FIG. 20 is a functional block diagram for rate 1/4 turbo code optimized to code rate 1/2 and rate 1/3 including interleaving and puncturing (rate 1/3, and rate 1/2 use similar processing). FIG.
도 21은 레이트 3/8 터보 코드에 대한 펑처링 패턴도.21 is a puncturing pattern diagram for a rate 3/8 turbo code.
도 22는 결과가 1024, 2048 및 3072 비트 각각에서 지속적인 프레임 크기 512 비트에서 코드 레이트 1/2 및 레이트 1/3로 최적화된 3/8 터보 코드를 도시하는 도면.FIG. 22 shows 3/8 turbo codes with results optimized at code rate 1/2 and rate 1/3 at sustained frame size 512 bits at 1024, 2048 and 3072 bits, respectively.
도 23은 레이트 4/9 터보 코드에 대한 펑처링 패턴도.23 is a puncturing pattern diagram for rate 4/9 turbo code.
도 24는 프레임 크기 512 비트를 사용하여 코드 레이트 1/2 및 레이트 1/3로 최적화된 레이트 4/9 터보 코드를 도시하는 도면.FIG. 24 shows a rate 4/9 turbo code optimized at code rate 1/2 and rate 1/3 using frame size 512 bits. FIG.
도 25는 코드 레이트 1/4로 최적화된 터보 코드에 대한 바람직한 구성 엔코더의 기능 블럭도.25 is a functional block diagram of a preferred configuration encoder for turbo code optimized at code rate 1/4.
도 26은 인터리빙과 펑처링(레이트 1/3 및 레이트 1/2 사용 유사 처리)을 포함하는 레이트 1/4로 최적화된 레이트 1/4 터보 코드의 기능 블럭도.FIG. 26 is a functional block diagram of a rate 1/4 turbo code optimized to rate 1/4 including interleaving and puncturing (rate 1/3 and rate 1/2 use similar processing). FIG.
도 27은 레이트 2/9 터보 코드에 대한 펑처링 패턴도.27 is a puncturing pattern diagram for rate 2/9 turbo code.
도 28은 프레임 크기 512 비트를 사용하여 코드 레이트 1/4로 최적화된 레이트 2/9 터보 코드를 도시하는 도면.FIG. 28 shows a rate 2/9 turbo code optimized at code rate 1/4 using a frame size of 512 bits. FIG.
도 29는 레이트 3/8 터보 코드에 대한 초기 펑처링 패턴도.FIG. 29 is an initial puncturing pattern diagram for rate 3/8 turbo code. FIG.
도 30은 프레임 크기 512 비트를 사용하여 코드 레이트 1/4로 최적화된 레이트 3/8 터보 코드를 도시하는 도면.30 illustrates a rate 3/8 turbo code optimized at code rate 1/4 using a frame size of 512 bits.
도 31은 인터리버 깊이를 가변시키는 레이트 1/2 및 레이트 1/3 터보 코드용의 바람직한 유니버셜 엔코더의 기능 블럭도.FIG. 31 is a functional block diagram of a preferred universal encoder for rate 1/2 and rate 1/3 turbo codes varying interleaver depth. FIG.
도 32는 1024, 2048 및 3072 비트에서 결과가 일관적인 프레임 크기 512 비트에서 콘벌루션 코드를 갖는 레이트 1/4 FER 최적화 터보 코드의 바람직한 비교도.32 is a preferred comparison of rate 1/4 FER optimized turbo codes with convolutional codes at 512 bits of frame size with consistent results at 1024, 2048 and 3072 bits.
부록 A는 도면들의 총체적 집합으로서, 이하 '유사' 도면, 곡선, 또는 시뮬레이션 또는 등가물.Appendix A is a collective set of drawings, hereinafter referred to as 'like' drawings, curves, or simulations or equivalents.
대응하는 참조 문자는 몇몇 도면에 걸쳐 대응하는 구성요소를 지칭한다.Corresponding reference characters refer to corresponding elements throughout the several views.
본 발명은 데이터 통신에서의 에러 교정에 관한 것으로, 보다 상세하게는 포워드 에러 교정(FEC)에 관한 것이다. 특히, 본 발명은 전송 데이터 레이트, 채널 코딩 레이트, 서비스 측정 품질(즉, 지연, 비트 에러 레이트, 프레임 에러 레이트) 및 구현 복잡성에 관련된 광범위한 시스템 조건을 지원하는데 있어서의 유연성이 매우 소망되는, 떠오르는 3세대 지상(terrestrial) 셀룰러 이동 무선 및 위성 전화 시스템과 같은 고성능 데이터 통신 시스템에서의 최적의 터보 코드(Turbo codes)의 선택 및 사용에 관한 것이다.The present invention relates to error correction in data communications, and more particularly to forward error correction (FEC). In particular, the present invention is an emerging 3 where flexibility in supporting a wide range of system conditions related to transmission data rate, channel coding rate, quality of service measurement (ie delay, bit error rate, frame error rate) and implementation complexity is very desired. TECHNICAL FIELD The present invention relates to the selection and use of optimal turbo codes in high performance data communication systems such as terrestrial cellular mobile radio and satellite telephone systems.
본 발명의 다음 설명은, 제한하는 의미로 간주되어서는 안되고, 단지 본 발명의 전체적인 원리를 설명하기 위한 것이다. 본 발명의 범위는 특허청구범위를 참조하여 판단되어야 한다.The following description of the invention should not be taken in a limiting sense, but merely for illustrating the overall principle of the invention. The scope of the invention should be determined with reference to the claims.
본 발명의 두가지 주요한 특징: 1) 광범위한 정보 블럭 크기와 코드 레이트에 걸쳐 최적에 근접한(near-optimal) 성능을 제공하도록 데모된 특정 "유니버셜" 터보 코드에 기초하여 데이터 서비스를 위한 포워드 에어 교정(FEC), 및 2) 상술한 바람직한 성질을 갖는 특정 터보 코드가 설계될 수 있게 하는 방법이 존재한다.Two main features of the present invention are: 1) Forward Air Calibration (FEC) for data services based on specific "universal" turbo codes demonstrated to provide near-optimal performance over a wide range of information block sizes and code rates. ), And 2) there is a method that allows a particular turbo code with the above-described desirable properties to be designed.
터보 코드는, 낮은 신호 대 잡음(SNR)비의 뛰어난 에러 교정 능력과, 지연을 처리하기 위해 비트 에러 레이트(BER) 및 프레임 에러 레이트(FER) 성능을 절충하는데 있어서의 유연성 때문에 데이터 적용에 특히 적합하게 되어 있다. 이하에 설명하는 실시예에서 고려되고 있는 데이터 서비스는 개발중인 제3세대 코드 분할 다중액세스(CDMA) 셀룰러 이동 무선 표준과 부합하며, 전형적으로 낮은 레이트의 음성 서비스보다 지연에 강하다.Turbo codes are particularly well suited for data applications due to their excellent error correction capabilities with low signal-to-noise (SNR) ratios and the flexibility to compromise bit error rate (BER) and frame error rate (FER) performance to handle delays. It is supposed to be done. The data service under consideration in the embodiments described below conforms to the third generation code division multiple access (CDMA) cellular mobile radio standard under development, and is typically more resistant to delay than low rate voice services.
그러나, 이하에 명시되는 유니버셜 터보 코드(및 이와 같은 코드를 구하는 방법)는 또한 셀룰러 또는 다른 무선 통신 시스템과 같은 다른 시스템은 물론, 다른 셀룰러 이동 무선 시스템(즉, GSM에 사용되는 유럽 시분할 다중액세스(TDMA) 표준)에서의 데이터 서비스에 적용가능하다. 이들 조건과 관련하여 서로 다른 최적화를 제공하는 몇몇 특정 터보 코드가 확인되고 있다. 다른 코드들이 또한 가능할 것이다.However, the Universal Turbo Codes (and methods of obtaining such codes) specified below are also applicable to other systems such as cellular or other wireless communication systems, as well as other cellular mobile radio systems (i.e. European time division multiple access (used for GSM). Applicable to data services in the TDMA) standard). Several specific turbo codes have been identified that provide different optimizations with respect to these conditions. Other codes may also be possible.
데이터 서비스를 위한 터보 코드의 성능을 최적화하기 위해서는, 다양한 서로 다른 인터리버 깊이와 터보 코드 레이트과 결합하여 최적 또는 거의 최적의 성능을 제공하는 일단의 "유니버셜(universal)" 구성(constituent) 코드를 가져서, 특정 터보 코드의 각 최적화를 테일러링(tailoring)하는 것을 피하는 것이 바람직하다.To optimize the performance of turbo code for data services, you have a set of "universal" constituent codes that provide optimal or near optimal performance in combination with various different interleaver depths and turbo code rates. It is desirable to avoid tailoring each optimization of the turbo code.
먼저 도 1을 참조하면, 다이렉트 시퀀스 코드 분할 다중 액세스(CDMA) 이동국 대 기지국(또는 역) 링크를 사용하는 예시적인 종래의 디지털 셀룰러 이동 무선 시스템이 콘벌루션 엔코더와 비터비 디코더를 사용하는 것으로 도시되어 있다. 이와 같은 기본적인 코딩 및 인터리빙은 공지된 GSM 표준에 사용되는 시분할 다중 액세스(TDMA)와 같은 다른 다중 액세스 시스템에도 동등하게 적용될 수 있다.Referring first to FIG. 1, an exemplary conventional digital cellular mobile radio system using a direct sequence code division multiple access (CDMA) mobile station to base station (or reverse) link is shown using a convolutional encoder and a Viterbi decoder. have. This basic coding and interleaving is equally applicable to other multiple access systems, such as time division multiple access (TDMA), used in known GSM standards.
도 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 송신 기술은 확산 스펙트럼 통신 시스템에 익숙한 기술자에게 공지되어 있다.1 also illustrates a base station to mobile station (or forward) link in a cellular mobile radio system. In transmission system 100, the system assembles user information bits from a data terminal device (not shown) into fixed length frames of N bits per frame 106 input to convolutional encoder 108 (of rate r). Segmentation processor 104. Convolutional encoder 108 is coupled to a synchronization and framing processor 104 that generates an N / r code symbol 110 at the input of channel interleaver 112 coupled to convolutional encoder 108. The channel interleaver 112 performs pseudo random shuffling of the code symbol 110 and outputs the code symbol 110 to a spread spectrum modulator 114 coupled to the channel interleaver 112. Spread spectrum modulator 114 uses a user specific transmit PN-code generated by PN converter 116 coupled to spread spectrum modulator 114 to spread spectrum carried on an RF carrier to mobile station RF transmitter 118. Generate a signal. The mobile station RF transmitter 118 is also coupled to a spread spectrum modulator 114 where a high power amplifier (not shown) coupled to the transmit antenna 120 copies the signal to the base station. Spread-spectrum modulation and RF transmission techniques are known to those skilled in the art of spread spectrum communication systems.
기지국 수신 안테나(122)에서 수신된 이동국(A이동국 신호)A이동국 신호로부터의 신호는 기지국 RF 수신기(124)에서 증폭되어, 이동국 RF 송신기(118)에 의해 사용되는 동일한 PN 코드를 사용하여 신호를 디스프레드하는 확산 스펙트럼 복조기(128)에서 복조된다. 복조된 기호는 채널 인터리버(130)에 의해 디인터리브되어 비터비 디코더(132)에 입력된다. 디코드된 정보 비트는 수신 데이터 블럭(136)으로 재구성되어, 시스템의 수신 단에서 데이터 터미널 장비로 포워드된다.Mobile station ( A mobile station signal received at base station receive antenna 122) A mobile station signal The signal from is amplified in base station RF receiver 124 and demodulated in spread spectrum demodulator 128 which despreads the signal using the same PN code used by mobile station RF transmitter 118. The demodulated symbol is deinterleaved by the channel interleaver 130 and input to the Viterbi decoder 132. The decoded information bits are reconstructed into receive data block 136 and forwarded to the data terminal equipment at the receive end of the system.
다음에 도 2를 참조하면, 본 발명의 실시예를 실시하는 디지털 셀룰러 이동 무선 시스템용 하드웨어 시스템이 도시된다. 상기와 같이, 비록 동일한 블럭도가 포워드 링크를 도시하지만, 역 링크가 도시되어 있다. 또한, CDMA 시스템이 예로서 사용되지만, 기술분야의 숙련자는 본 발명을 TDMA와 같은 다른 시스템에도 적용하는 것으로 간주할 수 있다.Referring next to FIG. 2, shown is a hardware system for a digital cellular mobile radio system embodying an embodiment of the present invention. As above, although the same block diagram shows the forward link, the reverse link is shown. In addition, although a CDMA system is used as an example, those skilled in the art may consider the present invention to be applied to other systems such as TDMA.
데이터 터미널 장비로부터의 송신 데이트 블럭(202)이 세그먼테이션 프로세서(204)에서 고정된 프레임 길이로 세그먼트화되고 프레임되어, 터보 코드 엔코더(208)에 인가된다. 엔코더(208)로부터의 출력은 코드 기호를 의사 랜덤화하기 위해 채널 인터리버(212)에 공급된다. 채널 인터리버(212)는, PN 발생기(216)로부터의 사용자 특정 PN-코드를 사용하여 RF 캐리어 상으로 이동국 RF 송신기(218)로 반송되는 확산 스펙트럼을 생성하는 확산 스펙트럼 변조기(214)에 출력을 제공한다. 채널 인터리버(212)는 엔코더(208)의 성분인 터보 코드 인터리버(도시안됨)와는 구별된다. 송신 안테나(220)에 결합된 이동국 RF 송신기(218)는 송신 안테나(220)의 고 전력 증폭기(도시안됨)를 사용하여 기지국에의 신호를 복사한다.The transmit data block 202 from the data terminal equipment is segmented and framed to a fixed frame length in the segmentation processor 204 and applied to the turbo code encoder 208. The output from encoder 208 is supplied to channel interleaver 212 to pseudo randomize the code symbols. Channel interleaver 212 provides an output to spread spectrum modulator 214 that generates a spread spectrum that is conveyed to mobile station RF transmitter 218 on an RF carrier using a user specific PN-code from PN generator 216. do. The channel interleaver 212 is distinct from the turbo code interleaver (not shown) which is a component of the encoder 208. Mobile station RF transmitter 218 coupled to transmit antenna 220 uses a high power amplifier (not shown) of transmit antenna 220 to copy the signal to the base station.
기지국 안테나(222)에서 수신된 이동국으로부터의 신호는 기지국 RF 수신기(224)에서 증폭되어, 이동국 RF 송신기(218)에 의해 사용되는 것과 동일한 PN-코드를 사용하여 신호를 디스프레드하는 확산 스펙트럼 복조기(228)에서 복조된다. 복조된 기호는 채널 DE-인터리버(230)에 의해 디인터리브되어, 터보 코드 디코더(232)에 입력된다. 터보 코드 디코더(232)로부터의 디코드된 정보 비트는 재구성 프로세서(234)에서 수신 데이터 블럭(236)으로 재구성되어, 수신 단의 데이터 터미널 장치로 포워드된다.A signal from the mobile station received at base station antenna 222 is amplified at base station RF receiver 224 to spread the signal using the same PN-code as used by mobile station RF transmitter 218 ( Demodulated at 228). The demodulated symbol is deinterleaved by the channel DE-interleaver 230 and input to the turbo code decoder 232. The decoded information bits from the turbo code decoder 232 are reconstructed by the reconstruction processor 234 into the receive data block 236 and forwarded to the data terminal device of the receive end.
도 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)과 동일하게 하는 가능성을 감소시킨다.Referring to FIG. 3, the basic structure of the turbo code is characterized by the parallel abbreviation of two simple component codes in encoder # 1 306 and encoder # 2 308. Two configuration encoders, namely, encoder # 1 306 and encoder # 2 308, process the same information bit stream 302, whereas encoder # 2 308 has an encoder bit # 2 308 (configuration Since the interleaver 304 rearranges it before it reaches the encoder 308, the encoder # 1 306 processes the information bits 302 in a different order than the order in which the information bits 302 are processed. This configuration allows the sequence of information bits 302 to cause encoder # 1 306 to generate a low-hamming weight output 310, which also allows encoder # 2 308 to achieve superior performance of the turbo code. The likelihood of equalizing the output 314 to enable performance is reduced.
정보 비트(302)(또한 시스템적 비트(302)라고도 함) 이외에, 엔코드(306,308) 모두는 펑처러(puncturer)(312)에 의해 펑처되는 패리티 비트(310,314)를 발생하여 소정의 전체적인 터보 코드 레이트를 달성한다. 또한 이는 시스템적 비트를 펑처할 수 있다.In addition to the information bits 302 (also referred to as the system bits 302), both of the encoders 306 and 308 generate parity bits 310 and 314 punctured by the puncturer 312 to provide some overall turbo code. Achieve rate. It can also puncture systemic bits.
터보 코드의 구성 코드는 사용가능하게 시스템적, 순환 콘벌루션 코드이다. 가장 단순하고 가장 광범위하게 공지된 순환 콘벌루션 코드는 레이트 1/2 및 다음과 같은 전달 함수를 갖는다:The configuration code of the turbo code is usable systematically, a cyclic convolution code. The simplest and most widely known cyclic convolutional code has a rate 1/2 and the following transfer function:
G(D) = [1, n(D)/d(D)]G (D) = [1, n (D) / d (D)]
여기서 n(D) 및 d(D)는 각각 엔코더의 피드 포워드 및 피드백 접속을 명시하는 이진 다형식이다.Where n (D) and d (D) are binary polymorphisms that specify the feed forward and feedback connections of the encoder, respectively.
터보 코드의 레이트는 펑처링 또는 송신을 위해 출력 비트(310,314)의 선택을 변경함으로서 변경된다. 이하의 모든 경우에서, "1"은 송신을 가리키고, "0"은 펑처링을 가리킨다.The rate of the turbo code is changed by changing the selection of output bits 310,314 for puncturing or transmission. In all cases below, "1" indicates transmission and "0" indicates puncturing.
도 3은 또한 펑처러(312)로부터의 두가지 가능한 펑처링 패턴 결과를 도시한다. 번갈아 엔코더(306와 308) 간의 패리티 비트를 펑처링하게 되면 터보 코드 레이트 r=1/2의 결과가 된다. 두개의 엔코더(306,308)에서의 모든 패리티 비트의 송신은 코드 레이트 r=1/3을 만들게 된다.3 also shows two possible puncturing pattern results from the puncturer 312. Alternately puncturing the parity bits between encoders 306 and 308 results in a turbo code rate r = 1/2. The transmission of all parity bits in the two encoders 306,308 will result in a code rate r = 1/3.
구성 엔코더의 수를 증가시키거나 또는 구성 엔코더당 출력 패리티 비트의 수를 증가시키지 않고 1/3 이하의 낮은 터보 코드 레이트를 달성하는 것은 가능하지 않다. 후자는 흔히 구현 복잡성을 감소시키기 위해 바람직하다. 이 경우에, 기술분야의 숙련자는 다음과 같은 전달 함수를 갖는 레이트 1/3 시스템적 순환 콘벌루션 코드를 고려한다.It is not possible to achieve lower turbo code rates of less than one third without increasing the number of configuration encoders or increasing the number of output parity bits per configuration encoder. The latter is often desirable to reduce implementation complexity. In this case, one skilled in the art considers a rate 1/3 systemic cyclic convolutional code with the transfer function as follows.
G(D) = [1, n1(D)/d(D), n2(D)/d(D)]G (D) = [1, n 1 (D) / d (D), n 2 (D) / d (D)]
이와 같은 두개의 구성 코드를 사용함으로서 펑처링 또는 삭제를 통해 1/5 및 1 간의 임의의 터보 코드 레이트를 제공하게 된다.By using these two configuration codes, puncturing or erasing will provide any turbo code rate between 1/5 and one.
터보 코드는 도 4의 블럭도에 도시한 바와 같이 반복 디코딩 방법을 사용하여 디코드된다.The turbo code is decoded using an iterative decoding method as shown in the block diagram of FIG.
각각의 구성 코드는 다른 구성 디코더(406 또는 416)의 유사 추정을 '선험적' 정보로서 사용하여 개별적으로 디코드된다. 구성 디코더(406, 416)는 MAP(Maxium A Posteriori) 알고리즘, SOVA(sub-optimal Soft-Output Viterbi Algorithm) 또는 그 변형과 같은 소프트-입력/소프트-출력 형이어야만 한다. 구성 디코더 모두가 데이터를 처리한 후에, 프로세스가 반복될 수 있다.Each configuration code is individually decoded using similar estimates of other configuration decoders 406 or 416 as 'a priori' information. The configuration decoders 406 and 416 must be of soft-input / soft-output type, such as a Maximum A Posteriori (MAP) algorithm, a sub-optimal Soft-Output Viterbi Algorithm (SOVA), or variations thereof. After both of the component decoders have processed the data, the process can be repeated.
실제로, 터보 디코더(406,416)는 흔히 시스템의 구현 복잡성과 성능 목표에 부합하는 정해진 반복 회수에 제한되어 있다.In practice, turbo decoders 406 and 416 are often limited to a fixed number of iterations that meet the implementation complexity and performance goals of the system.
도 4는 터보 디코더의 전체적인 블럭도이다. 정보 비트(404)에 관련된 소프트 정보, 제1 엔코더(402)용의 패리티 비트, 및 제2 엔코더(402')용의 패리티 비트가 복조기로부터 수신된다. 먼저, 제1 디코더(406)는 수신된 정보(404) 및 수신된 패리티 비트(402)를 사용하여 정보 비트에 대한 소프트 결정(408)을 발생한다. 소프트 결정(408)은 그 출력이 소프트 결정(414)인, 인터리버(412)에 의해 인터리브된다. 소프트 결정(414)은 선험적 정보로서 제2 디코더(416)에 공급된다.4 is an overall block diagram of a turbo decoder. Soft information associated with the information bits 404, parity bits for the first encoder 402, and parity bits for the second encoder 402 'are received from the demodulator. First, the first decoder 406 uses the received information 404 and the received parity bits 402 to generate a soft decision 408 for the information bits. Soft decision 408 is interleaved by interleaver 412 whose output is soft decision 414. The soft decision 414 is supplied to the second decoder 416 as a priori information.
제2 디코더(416)는 상술한 소프트 결정(414)을 수신하고, 다음에 인터리버(422)에 의해 인터리브되어 선험적 정보로서 제2 디코더(406)에 공급되는, 정보 비트에 대한 향상된 소프트 결정(420)을 만든다. 전체 프로세스가 필요한 회수만큼 반복된다. 제1 또는 제2 디코더의 하드 결정 또는 소프트 결정을 만듦으로서 최종 출력(420)이 얻어진다.The second decoder 416 receives the soft decision 414 described above, and is then interleaved by the interleaver 422 and fed to the second decoder 406 as a priori information, an enhanced soft decision 420 for the information bits. ) The whole process is repeated as many times as necessary. The final output 420 is obtained by making a hard or soft decision of the first or second decoder.
본 발명에 따르면, 단닐 마더(mother) 터보 코드 및 다양한 펑처링 패턴을 구하여 다양한 코드 레이트 및 정보 블럭 크기에 대한 균일한 양호한 코드를 유도할 수 있다.According to the present invention, single mother motherboard turbo codes and various puncturing patterns can be obtained to derive uniform good codes for various code rates and information block sizes.
먼저 성능과 구현 복잡성 간의 절충 연구에 따라 가능한 유니버셜 구성 코드의 초기 풀(initial pool)을 제한함으로써 유니버셜 구성 코드를 결정하는 방법론이 개발된다. 본 발명에 따르면, 서로 다른 상태 코드를 이용하는 성능 연구는 8-상태 구성 코드가 양호한 성능 절충을 제공한다는 것을 나타낸다.First, according to a trade-off between performance and implementation complexity, a methodology for determining universal construct code by limiting the initial pool of possible universal construct codes is developed. According to the present invention, performance studies using different status codes indicate that the 8-state configuration code provides a good tradeoff.
유니버셜 구성 코드는 먼저 목표로 하는 적용의 주요 코드 레이트에 따라 최적화된다. 예를 들어, CDMA 데이터 통신의 경우에, 흔히 역 링크가 상위 코딩 이득을 위해 하위 코드 레이트를 필요로 하기 때문에 포워드 및 역 링크에 대해 개별적인 최적화가 수행될 수 있다.Universal configuration code is first optimized according to the main code rate of the targeted application. For example, in the case of CDMA data communication, separate optimizations may be performed for the forward and reverse links, since often the reverse link requires a lower code rate for higher coding gain.
이하에 보다 상세히 설명되는 다음 단계는 레이트 1/2 및 1/3에 대해 최적화된 터보 코드를 발생하는데 사용된다.The next step, described in more detail below, is used to generate turbo codes optimized for rates 1/2 and 1/3.
1) G(D) = [1, n(D)/d(D)] 형식 (여기서, d(D)는 원시 다항식이고, n(D)는 1로 시작하여 D3으로 끝남)의 전달 함수를 갖는 후보 시스템적 레이트 1/2 구성 엔코더를 선택한다;1) transfer function of the form G (D) = [1, n (D) / d (D)], where d (D) is a primitive polynomial and n (D) starts with 1 and ends with D 3 Select a candidate systemic rate 1/2 configuration encoder with < RTI ID = 0.0 >
2) 두개의 레이트 1/2 구성 엔코더에 의해 엔코드된 출력 데이터에 인가하기 위해 터보 코드 레이트 1/2 및 레이트 1/3 테스트 펑처링 패턴을 결정한다;2) determine a turbo code rate 1/2 and a rate 1/3 test puncturing pattern to apply to the output data encoded by the two rate 1/2 configuration encoders;
3) 테스트 패턴와 각각의 레이트 1/2 구성 코드를 결합함으로써 가능한 모든 레이트 1/2 및 1/3 터보 코드를 형성한다;3) form all possible rate 1/2 and 1/3 turbo codes by combining the test pattern with each rate 1/2 configuration code;
4) 고정된 인터리버 길이로 모든 가능한 레이트 1/2 및 1/3 터보 코드의 상대적 BER 성능을 평가한다;4) evaluate the relative BER performance of all possible rate 1/2 and 1/3 turbo codes with a fixed interleaver length;
5) 최상의 전체적인 BER 성능에 기초하여, 최적의 터보 코드를 구축하기 위해 마더 쌍의 그룹, 후보 쌍의 서브그룹중에서 선택한다;5) based on the best overall BER performance, choose from a group of mother pairs, a subgroup of candidate pairs to build an optimal turbo code;
6) 복수의 다른 인터리버 깊이로 레이트 1/2 및 레이트 1/3 펑처링 패턴으로 펑처링된 후보 쌍들의 서브그룹을 구비하는 터보 코드 그룹의 다른 상대적 BER 성능을 평가한다.6) Evaluate the different relative BER performance of a turbo code group having a subgroup of candidate pairs punctured in rate 1/2 and rate 1/3 puncturing patterns with a plurality of different interleaver depths.
7) 인터리버 깊이에 대해 다른 최상의 전체적인 상대적 BER을 갖는 터보 코드 그룹, 유니버셜 코드중에서 선택한다; 및7) choose from the group of turbo codes, universal codes, with the best overall relative BER relative to the interleaver depth; And
8) 제1 및 제2 엔코더에서 상기 선택된 유니버셜 코드 쌍을 갖는 레이트 1/2 및 레이트 1/3 터보 코드를 갖는 데이터를 엔코드한다 - 유사한 엔코더 및 인터리버는 제2 엔코더에 비트를 공급하고, 비트들은 각각의 엔코더에 진입하기 전에 서로 달리 정렬되어 있슴-.8) Encode the data with rate 1/2 and rate 1/3 turbo codes with the selected universal code pair in the first and second encoders-similar encoders and interleavers supply bits to the second encoder, and Are arranged differently before entering each encoder.
일단 발생되면, 상기 단계에 의해 결정되는 레이트 1/2 및 1/3 터보 코드와 호환하는, 1/4과 같은 하위 레이트의 최상의 터보 코드가 또한 결정될 수 있다.Once generated, the best turbo code of a lower rate, such as 1/4, can also be determined, compatible with the rate 1/2 and 1/3 turbo codes determined by the step.
레이트 1/2 구성 코드Rate 1/2 configuration code
다음 설명은 레이트 1/2 구성 코드가 한 실시예에서 어떻게 결정되는 지를 설명한다.The following description describes how the rate 1/2 configuration code is determined in one embodiment.
먼저, 후보 8-상태, 레이트 1/2 구성 코드 다항식의 리스트가 결정된다.First, a list of candidate 8-state, rate 1/2 configuration code polynomials is determined.
표 1은 8진법으로 결정된 분모 다항식 d(D) 및 분자 다항식 n(D)을 열거한다. 초기의 검사를 위해 고려되고 있는 12 구성 코두 후보가 존재한다.Table 1 lists the denominator polynomial d (D) and molecular polynomial n (D) determined by the octal method. There are 12 constituent nosehead candidates being considered for initial testing.
열두개(12)의 다항식의 각각은 표 1에서 8진수 형태로 표현되고, 대응하는 이진법 및 다항식을 갖는다. 예를 들어, 8진수 13의 이진 등가물은 이진 1011이다. 이진 1011은 다음 다항식에 대응한다:Each of the twelve polynomials 12 is represented in octal form in Table 1 and has a corresponding binary and polynomial. For example, the binary equivalent of octal number 13 is binary 1011. Binary 1011 corresponds to the following polynomial:
d(D) = D0(1) + D1(0) + D2(1) + d3(1) = 1 + D2+ D3.d (D) = D 0 (1) + D 1 (0) + D 2 (1) + d 3 (1) = 1 + D 2 + D 3 .
다음에, 후보 터보 코드는 1000 비트의 인터리버 크기 및 3개의 디코더 반복으로 시뮬레이트된다. 그 결과가 도 5 및 도 6에 도시되어 있는 예시 검사는 상술하는 바와 같이, 레이트 1/2 및 레이트 1/3의 모든 후보 터보 코드의 비트 에러 레이트(BER) 대 Ebi/No 성능을 평가한다. Ebi/No의 측정은 상대적 SNR과 등가이다.The candidate turbo code is then simulated with an interleaver size of 1000 bits and three decoder iterations. The example checks whose results are shown in FIGS. 5 and 6 evaluate the bit error rate (BER) versus Ebi / No performance of all candidate turbo codes of rate 1/2 and rate 1/3, as described above. The measurement of Ebi / No is equivalent to the relative SNR.
도 5 및 도 6의 결과는 여섯개(6) 코드 다항식 쌍을 선택하는데 사용된다. 여섯개(6) 후보 유니버셜 코드 쌍 d(D)-n(D)는 이하의 표 2의 좌측 상에 8진수 표현으로 도시되어 있다.The results of Figures 5 and 6 are used to select six (6) code polynomial pairs. The six (6) candidate universal code pairs d (D) -n (D) are shown in octal representation on the left side of Table 2 below.
다음에, 각각의 레이트 및 인터리버 깊이로 후보 유니버셜 코드를 갖는 시뮬레이트된 데이터를 사용하여 8-상태 터보 코드의 대응하는 성능을 사용하여 표 2를 작성한다. 샘플 성능 연구 또는 시뮬레이션은 레이트 1/2 및 레이트 1/3에 대한 512 비트의 인터리버 깊이의 선택된 터보 코드를 도시하는 도 7 및 8에 도시되어 있다.Next, Table 2 is created using the corresponding performance of the 8-state turbo code using simulated data having candidate universal codes at each rate and interleaver depth. Sample performance studies or simulations are shown in FIGS. 7 and 8 showing selected turbo codes of 512 bits of interleaver depth for rate 1/2 and rate 1/3.
이하의 표 2는 레이트 1/2 및 1/3 및 512, 1024, 2048 및 3072 비트의 인터리버 깊이를 사용함으로 인한 시뮬레이트된 데이터에 대한 대략 SNR 손실을 도시한다.Table 2 below shows the approximate SNR losses for the simulated data due to using rates 1/2 and 1/3 and interleaver depths of 512, 1024, 2048 and 3072 bits.
16-상태 코드를 사용한 유사한 시뮬레이션에서, 31-33 및 31-27으로서 지칭된 쌍들은 또한 여덟개(8) 디코더 반복을 사용하는 8-상태 코드와의 유사한 복잡성 비교를 제공하기 위해, 각각의 16-상태 코드에 대한 네개(4) 디코더 반복을 사용하여 샘플 도 7 및 8에 도시되어 있다. 8 반복을 갖는 8-상태 코드는 네개의 반복을 갖는 16 상태 코드를 수행한다.In a similar simulation using a 16-state code, the pairs referred to as 31-33 and 31-27 also provide a similar complexity comparison with the 8-state code using eight (8) decoder iterations, respectively. Samples using four (4) decoder iterations for status codes are shown in FIGS. 7 and 8. An 8-status code with 8 iterations performs a 16 status code with four iterations.
개별적인 시뮬레이션으로서, 상기 여섯개(6) 후보 쌍을 사용하는 서로 다른 인터리버들중의 성능 차이는 0.05 dB 이내인 것으로 관찰된다.As a separate simulation, the performance difference among the different interleavers using the six (6) candidate pairs is observed to be within 0.05 dB.
마지막으로, 표 2의 결과는, 다음 레이트 1/2 구성 코드 쌍이 연구된 레이트 및 인터리버 크기의 범위에 걸쳐 전체적인 최상의 성능을 제공하는 것을 도시한다.Finally, the results in Table 2 show that the next rate 1/2 configuration code pair provides the best overall performance over the range of rates and interleaver sizes studied.
d(D) = 1 + D2+ D3; n(D) = 1 + D + D3.d (D) = 1 + D 2 + D 3 ; n (D) = 1 + D + D 3 .
이는 8진수 13 및 8진수 15를 각각 나타낸다.This represents octal 13 and octal 15, respectively.
표로 만들어진 각각의 경우에, 코드 13-15의 성능은 레이트 및 인터리버 크기에 대한 최상의 성능 코드에 대해 0.05 dB이내이다.In each case listed, the performance of codes 13-15 is within 0.05 dB for the best performance code for rate and interleaver size.
따라서, 이 구성 코드는 1/2 및 1/3과 같은 상위 코드 레이트가 우세한 터보 코드 설계에 대한 기초로서 선택된다.Thus, this configuration code is chosen as the basis for the turbo code design, where higher code rates such as 1/2 and 1/3 are dominant.
레이트 1/3 구성 코드Rate 1/3 configuration code
이하의 다음은 레이트 1/3 구성 코드가 어떻게 결정되는 지를 설명한다. 레이트 1/12 구성 코드와 유사하게, 거의 최적의 1/4 및 1/5 터보 코드 레이트를 구축하기 위한 이하의 표 3에 레이트 1/3 구성 코드 후보가 확인된다. 이 경우에, 터보 코드용의 구성 코드 후보는 두개(2) 대신에 세개(3) 다항식을 가져야만 한다.The following describes how the rate 1/3 configuration code is determined. Similar to the rate 1/12 configuration code, the rate 1/3 configuration code candidates are identified in Table 3 below to build an almost optimal 1/4 and 1/5 turbo code rate. In this case, the constituent code candidates for the turbo code should have three (3) polynomials instead of two (2).
최적의 레이트 1/4 터보 코드Optimum Rate 1/4 Turbo Code
전체적인 레이트 1/4 터보 코드를 구축하기 위해서는, 표 3의 각각의 구성 코드와 결합하여 다양한 펑처링 스킴이 고려되어야만 한다.In order to build up the overall rate 1/4 turbo code, various puncturing schemes must be considered in combination with each of the configuration codes in Table 3.
도 9의 다양한 펑처링 스킴이 먼저 고려된다. 레이트 1/4 코드의 경우, 공통 입력 정보 비트 또는 시스템적 비트가 두개의 엔코더에 의해, 해당 입력 비트에 대해 발생된 네개(4) 패리티 비트중 세개(3)와 함께 하나의 엔코더에 의해 전송된다.The various puncturing schemes of FIG. 9 are considered first. For rate 1/4 codes, common input information bits or system bits are transmitted by two encoders, one encoder with three (3) of four (4) parity bits generated for that input bit. .
도 9의 펑처링 패턴, 즉 910, 920, 930 및 940이 명시된 코드 레이트를 충족시키기 위해 이전에 설명한 설계 원리에 기초하여 선택된다.The puncturing patterns of Figure 9, i.e., 910, 920, 930 and 940, are selected based on the previously described design principles to meet the specified code rates.
다음에, 표 3의 세개(3)의 코드 3인조(triad)의 각각이 도 9의 네개(4)의 펑처링 패턴(910,920,930 및 940)과 결합되어, 예를 들어 512의 고정 인터리버 깊이에 대해 도 10 내지 12에 도시된 시뮬레이트된 데이터와 함께 평가될 열두개(12)의 가능한 터보 코드를 발생한다.Next, each of the three (3) code triads of Table 3 is combined with the four (4) puncturing patterns 910, 920, 930 and 940 of Figure 9, for example for a fixed interleaver depth of 512. Generates twelve (12) possible turbo codes to be evaluated with the simulated data shown in FIGS.
다음에, 상기 열두개(12)의 터보 코드의 성능을 사용하여 보다 상세한 평가를 위해 세개(3)의 최상의 터보 코드 후보를 선택한다. 도 10 내지 12에 도시된 시물레이션 결과에 기초하여, 열두개(12)중 세개(3)의 최상의 터보 코드 후보는 다음과 같다:The performance of the twelve (12) turbo codes is then used to select the three (3) best turbo code candidates for more detailed evaluation. Based on the simulation results shown in Figures 10-12, three of the twelve (12) best turbo code candidates are as follows:
터보 코드 A - 펑처링 패턴 제2를 갖는 구성 코드 제1;Turbo code A-configuration code 1 having a puncturing pattern second;
터보 코드 B - 펑처링 패턴 제1을 갖는 구성 코드 제2; 및Turbo code B-configuration code 2 having a puncturing pattern first; And
터보 코드 C - 펑처링 패턴 제1을 갖는 구성 코드 제3 (펑처링 패턴은 도 9의 패턴(910,920,930 및 940중에서 선택된다.)Turbo code C-configuration code third with puncturing pattern first (the puncturing pattern is selected from patterns 910, 920, 930 and 940 in FIG. 9).
다음에, 다양한 부수적인 인터리버 프레임 크기의 시뮬레이트된 데이터를 사용하여 다른 인터리버 깊이에서 펑처링 패턴이 양호하다는 것을 증명하기 위해 부수적인 평가를 위해 코드 A 내지 C의 터보 코드중의 하나가 선택된다.Next, one of the turbo codes of codes A through C is selected for secondary evaluation to demonstrate that the puncturing pattern is good at different interleaver depths using simulated data of various secondary interleaver frame sizes.
기본적인 방법론을 확인하기 위해, 구성 코드 제1 (예를 들면)에 기초한 터보 코드의 성능이 1024,2048 및 3072 비트의 프레임 크기마다 시뮬레이트된다. 1023 비트의 코드#1의 BER/FER 성능에 대한 샘플 결과가 도 13에 도시되어 있고, 이는 기본적인 방법론을 확인한다.To identify the basic methodology, the performance of turbo code based on configuration code first (eg) is simulated every frame size of 1024, 2048 and 3072 bits. Sample results for the BER / FER performance of 1023 bits of Code # 1 are shown in FIG. 13, which confirms the basic methodology.
다음에, 도 14는 512 비트의 인터리버 깊이로 세개의 레이트 1/4 터보 코드 후보 A 내지 C를 사용하는 시뮬레이트된 데이터의 BER/FER 성능을 도시한다. 인터리버 크기 1024,2048 및 3072 비트에서 또한 일관된 결과가 달성된다.14 shows BER / FER performance of simulated data using three rate 1/4 turbo code candidates A through C with an interleaver depth of 512 bits. Consistent results are also achieved at interleaver sizes 1024, 2048 and 3072 bits.
다음에, 부록 A에 설명된 것들과 같이, 도 14의 결과가 되는 시뮬레이션 및 유사 도면에서, 모든 인터리버 깊이의 전체적인 최상의 성능을 제공하는 후보 터보 코드 A 내지 C중에서 레이트 1/4 터보 코드 후보가 선택된다. 레이트 1/4 터보 코드의 경우에, BER 성능에 기초한 최적화는 FER 성능에 기초한 최적화와는 다른 결과를 제공한다. 시뮬레이트된 데이터에 대해, 터보 코드 B는 전체적인 최상의 FER 성능을 가지며, 터보 코드 C는 전체적인 최상의 BER 성능을 제공한다. 도 15는 다른 펑처링 스킴과 비교한 터보 코드 C의 성능을 도시한다.Next, in the simulations and similar figures resulting from FIG. 14, as described in Appendix A, a rate 1/4 turbo code candidate is selected from candidate turbo codes A through C that provide the overall best performance of all interleaver depths. do. In the case of rate 1/4 turbo code, the optimization based on BER performance gives different results than the optimization based on FER performance. For simulated data, turbo code B has the best overall FER performance, and turbo code C provides the best overall BER performance. 15 shows the performance of turbo code C compared to other puncturing schemes.
이와 같이, FER 최적화 터보 코드 B는 FER 성능이 흔히 데이터 서비스에 대해 보다 중요한 기준이기 때문에 설계에 대한 기초로서 선택된다. 한편, 터보 코드 A는, (n2(D) 다항식으로부터 모든 패리티 비트를 펑처링함으로써) 이전에 레이트 1/3에 대해 최적으로 확인된 동일한 유니버셜 터보 코드를 제공하도록 펑처링될 수 있다. 즉, 터보 코드 A는 모든 서로 다른 코드 레이트를 구현하는 단일 유니버셜 마더 코드를 가지기 위해 포워드 링크 레이트 1/4 코드에 대한 바람직한 선택이다.As such, the FER optimized turbo code B is chosen as the basis for the design because FER performance is often a more important criterion for data services. Turbo code A, on the other hand, may be punctured to provide the same universal turbo code that has been optimally identified for rate 1/3 (by puncturing all parity bits from the n 2 (D) polynomial). That is, turbo code A is the preferred choice for forward link rate 1/4 code to have a single universal mother code that implements all different code rates.
비록 현재의 제3 세대 CDMA 엔코딩이 주로 역 링크에 대한 레이트 1/4 채널 엔코딩에 관한 것이지만, 일부 최고 레이트 데이터 채널을 위해서는 레이트 1/3 및 레이트 1/2 채널 코딩이 요구될 수도 있다. 레이트 1/4, 레이트 1/3 및 레이트 1/2를 위한 유니버셜 터보 코드가 설계될 수 있는데, 여기서 하부의 구성 코드는 동일하고, 사용된 펑처링 패턴만이 다르다. 레이트 1/3 구성 코드로부터 상위 레이트 터보 코드를 발생하기 위한 방법은 다음과 같다.Although current third generation CDMA encoding primarily relates to rate 1/4 channel encoding for the reverse link, rate 1/3 and rate 1/2 channel coding may be required for some highest rate data channels. Universal turbo codes for rate 1/4, rate 1/3 and rate 1/2 can be designed, where the underlying configuration code is the same and only the puncturing pattern used is different. The method for generating the higher rate turbo code from the rate 1/3 configuration code is as follows.
레이트 1/4로 최적화된 레이트 1/3 터보 코드Rate 1/3 turbo code optimized to rate 1/4
상기 레이트 1/4 최적화 터보 코드, 즉 터보 코드 B로부터 유도된 구성 코드를 사용하여, 레이트 1/3 및 레이트 1/2 터보 코드가 그에 호환하도록 설계될 수 있다. 따라서, 구성 코드 제2(코드 B로부터)가 기본으로서 사용된다.Using the rate 1/4 optimized turbo code, ie the configuration code derived from turbo code B, rate 1/3 and rate 1/2 turbo codes can be designed to be compatible therewith. Therefore, the configuration code second (from code B) is used as the basis.
도 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)은 동일한 진법을 따른다.16 shows seven (7) basic puncturing patterns that can be used to generate a rate 1/3 turbo code and four (4) basic puncturing patterns to generate a rate 1/2 turbo code. In the block diagram 1600, the seven (7) rate 1/3 patterns (1602 through 1614) represent consecutive information puncturing bit patterns (1620) for two (2) encoder puncturing block patterns (1616 and 1618). 1626 and four (4) corresponding row parity bit puncturing patterns 1622, 1624, 1628 and 1630. As before, the pattern " 1111 " shown in row 1620 always transmits all information bits from encoder1. The pattern " 0000 " of row 1626 punctures the information bits entering by the term encoder second. The reason is that it is not necessary to transmit the information bits twice. The four (4) rate 1/2 puncturing patterns 1 to 4 shown in Fig. 16 as reference numerals 1640,1642,1644 and 1646 follow the same notation.
다음에, 도 17에서 인터리버 깊이(512)로 바람직한 구성 코드 제2로 시뮬레이트된 모든 가능한 1/3 터보 코드의 BER 및 FER 성능이 비교된다.Next, the BER and FER performances of all possible 1/3 turbo codes simulated with the preferred configuration code second at interleaver depth 512 in FIG. 17 are compared.
다음에 두개(2)의 최상의 패턴들이 다음에 고려하기 위해 선택된다. 다음에, 이들 두개(2)의 패턴들의 성능이 부수적인 인터리버 깊이(1024,2048 및 3078) 비트에서 비교된다.Next, the two (2) best patterns are selected for next consideration. Next, the performance of these two (2) patterns is compared at incidental interleaver depths (1024, 2048 and 3078) bits.
예를 들어, 512 비트의 레이트 1/3 펑처링 패턴을 도시하는 도 17에서, 최상 및 다음 최상의 전체적인 상대적인 FER을 각각 갖는 것으로 곡선(1710 및 1720)에 기초하여 패턴 2 및 5가 선택된다.For example, in FIG. 17 showing a rate 1/3 puncturing pattern of 512 bits, patterns 2 and 5 are selected based on curves 1710 and 1720 as having the best and next best overall relative FER, respectively.
다음에 1024, 2048 및 3072 비트에 대한 부수적인 인터리버 크기에서 도 17의 그것과 유사한 부수적인 시뮬레이션으로부터 다양한 인터리버 깊이에 걸쳐 최상의 성능을 갖는 것으로 패턴 2가 선택된다.Pattern 2 is then selected to have the best performance across various interleaver depths from the incidental simulation similar to that of FIG. 17 at the incidental interleaver size for 1024, 2048 and 3072 bits.
레이트 1/4로 최적화된 레이트 1/2 터보 코드Rate 1/2 turbo code optimized to rate 1/4
레이트 1/2 코드는 또한 상술한 바와 같이 유사한 호환성을 위해 하위 레이트 코드로 최적화될 수 있다. 도 18은 512 비트의 인터리버 깊이에서 모든 레이트 1/2 터보 코드의 BER 및 FER 시뮬레이트 성능을 비교한다. 도 18은 레이트 1/2 터보 코드에 대해 도 16에 도시딘 네개(4)의 펑처링 패턴과 구성 코드 제2를 사용하여 발생된다. 패턴(1 및 4)은 FER 성능에 대해 시뮬레이트된 곡선(1810 및 1820)에 기초하여 최상이 되도록 결정된다.Rate 1/2 code may also be optimized to lower rate code for similar compatibility as described above. 18 compares the BER and FER simulated performance of all rate 1/2 turbo codes at an interleaver depth of 512 bits. FIG. 18 is generated using the four (4) puncturing patterns and configuration code second shown in FIG. 16 for the rate 1/2 turbo code. Patterns 1 and 4 are determined to be best based on simulated curves 1810 and 1820 for FER performance.
레이트 1/4로 최적화된 레이트 1/3 경우에서와 같이, 도 18에 대한 유사한 시뮬레이션 곡선이 1024, 2048 및 3072 비트의 인터리버 깊이에 대해 패턴 1 및 4에 대해 수행된다. 결과로 나타나는 성능/곡선에 기초하여 패턴 1이 FER 성능에 대한 최상의 패턴이 되도록 조정된다.As in the case of rate 1/3 optimized at rate 1/4, similar simulation curves for FIG. 18 are performed for patterns 1 and 4 for interleaver depths of 1024, 2048, and 3072 bits. Based on the resulting performance / curve, pattern 1 is adjusted to be the best pattern for FER performance.
레이트 1/2 및 1/3에 대해 최적화된 바람직한 유니버셜 터보 코드Preferred Universal Turbo Codes Optimized for Rates 1/2 and 1/3
도 19는 터보 코드 레이트 1/2 및 1/3에 대해 이전에 설명한 방법에 따라 최적화된 구성 엔코더에 대한 블럭도이다. 도 20은 레이트 1/4로 펑처링된 대응하는 터보 코드에 대한 블럭도를 도시한다.19 is a block diagram of a configuration encoder optimized according to the method previously described for turbo code rates 1/2 and 1/3. 20 shows a block diagram for a corresponding turbo code punctured at rate 1/4.
정보 비트 스트림 X(t)(1902)가 스위치(1922)에서 수신되어,두개(2)의 분자 다항식 및 하나의 분모 다항식을 표현하도록 하드와이어된, 몇개의 모듈러 가산기(1904,1908,1920,1910,1914,1918,1919) 및 몇몇 쉬프트 레지스터(1906,1912 및 1916)에 따라 처리된다.An information bit stream X (t) 1902 is received at the switch 1922, and several modular adders 1904, 1908, 1920, 1910 hardwired to represent two (2) molecular polynomials and one denominator polynomial. , 1914, 1918, 1919 and some shift registers 1906, 1912 and 1916.
도 19에서, 8진수 13으로 표현된 분모 다항식 d(D)는 모듈러 가산기(1920 및 1904)에 복귀 피드백 접속에 의해 하드와이어되어 있다. 연산하기 전에, 세개의 쉬프트 레지스터(1906,1912 및 1916)가 먼저 제로로 된다.In Fig. 19, the denominator polynomial d (D), represented by octal number 13, is hardwired by a return feedback connection to the modular adders 1920 and 1904. Prior to operation, the three shift registers 1906, 1912 and 1916 are first zeroed.
"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)이다.The first molecular polynomial above the denominator polynomial represented by " 1101 " includes the results of modulator adder 1920 and X (t) 1992 to produce a first bit W (t); W (t) from the modulator total (first bit) and modulator adder 1908 of shift register 1906; Another zero bit (third bit) indicated by the absence of a connection to the register 1912; And combining the result of the modular adder 1908 from the modular adder 1998 with the modular sum (fourth bit) of the other register 1916 is hardwired to return the output Y o (t). The result is Y o (t) = W (t) + S o (t) + S 2 (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)이다.In FIG. 19, the second molecular polynomial above the denominator polynomial represented by “1111” combines the result of adder 1920 with X (t) 1902 to produce a first bit W (t); Add the contents of the additional register 1906 to W (t) along with the contents of the modular adder 1910 (second bit); Add the contents of register 1912 to the result of adder 1710 with modular adder 1914 (third bit); It is hardwired to return the output Y 1 (t) by adding the contents of another register 1916 to the result of the adder 1914 together with the modular adder 1919 (fourth bit). The result is Y 1 (t) = W (t) + S o (t) + S 1 (t) + S 2 (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)를 발생한다. 따라서, 가산이 축적된다.In FIG. 19, the denominator polynomial connection sums the results of registers 1902 to 1906 at adder 1920 and then adds to X (t) at these adders 1904. Thus, if the modular adder 1904 is the value W (t), the register 1906 holds S 0 (t), the register 1912 holds S 1 (t), and the register 1916 holds S Holds 2 (t), and the adder 1904 has W (t) = X (t) + S 1 (t) + S 2 (t); Y 0 (t) = W (t) + S o (t) + S 2 (t); And Y 1 (t) = W (t) + S 0 (t) + S 1 (t) + S 2 (t). Therefore, the addition is accumulated.
만일 두개 비트가 서로 다르면 모듈러 가산기의 결과는 "1"이고, 만일 두개 비트가 동일하면 "0"이다. 출력 Y0(t)는 분자 다항식 제1 및 분모 다항식으로부터의 출력을 나타낸다. 출력 Y1(t)는 분자 다항식 제2 및 분모 다항식을 나타낸다.If the two bits are different then the result of the modular adder is "1", and if the two bits are the same then "0". Output Y 0 (t) represents the output from the molecular polynomial first and the denominator polynomial. Output Y 1 (t) represents the molecular polynomial second and the denominator polynomial.
초기에, S0=S1=S2=0이고, 레지스터(1906, 1912, 1916)의 값은 각각의 클럭 사이클이 증가 후에 좌에서 우로 쉬프트한다. 따라서, S0(t+1)=W(t); S1(t+1)= S0(t) 및 S2(t+1)=S1(t)이다.Initially, S 0 = S 1 = S 2 = 0, and the values in registers 1906, 1912, 1916 shift from left to right after each clock cycle increases. Thus, S 0 (t + 1) = W (t); S 1 (t + 1) = S 0 (t) and S 2 (t + 1) = S 1 (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)은 펑처링 패턴 매트릭스를 도시한다.For example, the optimal puncturing matrix shown in FIG. 20 shows "1" for the transmitted bits and "0" for the punctured bits. Exemplary FIG. 20 shows an encoder 2000 with an incident bit X (t), and an encoder 2006 to generate an output bit X ′ (t), parity bits Y 0 1 (t) and Y 1 1 (t). Shows an interleaver 2002 that carries the interleaved bit X ' (t) to. None of the interleaved bit X ' (t) is processed in the rate 1/4 encoder 2004, only in the second rate 1/4 encoder 2006. Block 2010 shows a puncturing pattern matrix.
보다 복잡한 펑처링 패턴이 다른 가능한 코딩 레이트를 달성하는데 사용될 수 있다. 예를 들어, 레이트 1/2 및 1/3로 최적화된 터보 코드에 대항여 레이트 2/8 및 4/9를 달성하고, 본 발명에서 확인된 바람직한 터보 코드를 사용하여 레이트 1/4로 최적화된 터보 코드에 대해 레이트 2/9 및 3/8을 달성하기 위해 최적의 펑처링 패턴을 선택할 수 있다.More complex puncturing patterns can be used to achieve other possible coding rates. For example, rates 2/8 and 4/9 are achieved against turbo codes optimized at rates 1/2 and 1/3, and optimized at rate 1/4 using the preferred turbo codes identified in the present invention. The optimal puncturing pattern can be selected to achieve rates 2/9 and 3/8 for the turbo code.
도 9와 유사하게, 최적의 터보 코드 레이트 3/8에 대한 블럭도는 도 20의 레이트 1/3 마더 구성 코드를 이용한다. 도 20의 구성 코드를 위한 엔코더가 도 19에 도시된다. 도 21에 도시된 레이트 3/8 터보 코드의 펑처링 패턴은 두개의 엔코더로부터 제1 분자 다항식과 연관된 매 6 비트중에서 1을 펑처링하여 레이트 3/8 터보 코드를 생성한다.Similar to FIG. 9, the block diagram for the optimal turbo code rate 3/8 uses the rate 1/3 mother configuration code of FIG. An encoder for the configuration code of FIG. 20 is shown in FIG. 19. The puncturing pattern of the rate 3/8 turbo code shown in FIG. 21 punctures 1 of every 6 bits associated with the first molecular polynomial from two encoders to produce a rate 3/8 turbo code.
제2 패턴은 두개의 구성 엔코드 모두가 동일한 레이트, 즉 6/11을 갖게 하는 제1 패턴의 확장이다. 확장 패턴은 다른 세개(3)의 비트에 대해 동일한 패턴(매트릭스)을 복사하지만, 하나의 엔코더에서 다른 엔코더로 하나의 송신 비트의 위치를 이동. 즉 유사 위치에 있는 다른 엔코더 내의 "0"을 플립하면서 한 엔코더 내의 "1"을 반드시 플립한다.The second pattern is an extension of the first pattern that causes both component encoders to have the same rate, i.e. 6/11. The extended pattern copies the same pattern (matrix) for the other three (3) bits, but shifts the position of one transmit bit from one encoder to another. In other words, "1" in one encoder must be flipped while flipping "0" in another encoder at a similar position.
도 22는 512 비트의 인터리버 깊이에서 이들 패턴의 성능을 도시한다. 이들 및 1024, 2048 및 3072 인터리버 깊이에서의 유사 곡선에 기초하여, 패턴 2가 선정되어 레이트 3/8 터보 코드를 구현한다.22 shows the performance of these patterns at an interleaver depth of 512 bits. Based on these and similar curves at 1024, 2048 and 3072 interleaver depths, pattern 2 is chosen to implement a rate 3/8 turbo code.
도 23은 도 20의 코드의 마더와 함께 사용되는 레이트 4/9 터보 코드에 대해 선택된 펑처링 패넌을 도시한다. 유사하게, 제2 패턴은 두개의 구성 엔코드 모두가 동일한 레이트, 즉 8/13을 갖게 하는 제1의 확장이다.FIG. 23 illustrates the puncturing pann selected for the rate 4/9 turbo code used with the mother of the code of FIG. 20. Similarly, the second pattern is a first extension that causes both component encoders to have the same rate, i.e. 8/13.
도 24는 대응하는 성능 곡선을 도시한다. 패턴 2가 레이트 4/9 터보 코드를 구현하도록 선정된다.24 shows the corresponding performance curve. Pattern 2 is chosen to implement a rate 4/9 turbo code.
이와 같이, 터보 코드 레이트 1/2 및 1/3, 및 모든 인터리브된 깊이에 대한 유니버셜에 대해 최적화된 하나의 예시적인 터보 코드 설계는 바람직한 생성기 다항식 d(D)=1+D2+D3, n1(D)=1+D+D3, 및 n2(D)=1+D2+D3를 갖는다.As such, one exemplary turbo code design that is optimized for turbo code rates 1/2 and 1/3, and universal for all interleaved depths, provides a preferred generator polynomial d (D) = 1 + D 2 + D 3 ,. n 1 (D) = 1 + D + D 3 , and n 2 (D) = 1 + D 2 + D 3 .
다양한 코드 레이트에 대한 바람직한 펑처링 패턴은 다음과 같다:Preferred puncturing patterns for various code rates are:
1) 레이트 1/4 - 하나의 엔코더로부터의 패리티 비트 n1및 동일한 엔코더로부터의 n2를 번갈아 펑처링함.1) Rate 1/4-alternately punctures parity bits n 1 from one encoder and n 2 from the same encoder.
2) 레이트 1/3 - 두개의 엔코더로부터의 패리티 비트 n2를 펑처링함Rate 1/3-puncture parity bits n 2 from two encoders
3) 레이트 1/2 - 패리티 비트 n2를 펑처링하고 두개의 엔코더로부터의 패리티 비트 n1를 번갈아 펑처링함.3) Rate 1/2 - puncturing parity bits n 2 and alternately ringham puncture parity bits n 1 from the two encoders.
4) 레이트 3/8 - 패리티 비트 n2를 펑처링하고 두개의 엔코더로부터의 매 6 패리티 비트 n1중에서 하나를 펑처링함.4) Rate 3/8-puncture parity bit n 2 and puncture one of every six parity bits n 1 from two encoders.
5) 레이트 4/9 - 패리티 비트 n2를 펑처링하고 두개의 엔코더로부터의 매 8 패리티 비트 n1중에서 균일하게 3개를 펑처링함.5) Rate 4/9-puncture parity bits n 2 and puncture three evenly out of every 8 parity bits n 1 from two encoders.
이 코드의 단순화된 버젼은 생성기 다항식 d(D)=1+D2+D3및 N1(D)=1+D+D3를 갖는 두개의 구성 엔코더로 구성된 유니버셜 터보 코드 설계이다. (세번째 다항식 n2(D)는 사용되지 않고, 따라서 대응하는 출력이 발생되지 않으며, 엔코더 블럭도는 대응하는 접속을 제거함으로써 단순화된다) 이 유니버셜 터보 코드 설계는 (1/5 대신에) 1/3과 같은 최소 코드를 지원한다. 펑처링 패턴의 대응하는 바람직한 세트는 다음과 같다:A simplified version of this code is a universal turbo code design consisting of two constituent encoders with generator polynomials d (D) = 1 + D 2 + D 3 and N 1 (D) = 1 + D + D 3 . (The third polynomial n 2 (D) is not used, so no corresponding output is generated, and the encoder block diagram is simplified by eliminating the corresponding connection.) This universal turbo code design is 1 / It supports the same minimum code as 3. The corresponding preferred set of puncturing patterns is as follows:
1. 레이트 1/3 - 펑처링 없음Rate 1/3-no puncturing
2. 레이트 1/2 - 두개의 엔코더로부터의 패리티 비트 n1를 번갈아 펑처링함;2. rate 1/2-alternately puncture parity bits n 1 from two encoders;
3. 레이트 3/8 - 두개의 엔코더로부터의 매 6 패리티 비트 n1중에서 하나를 펑처링함; 및3. rate 3/8-puncture one of every six parity bits n 1 from two encoders; And
4. 레이트 4/9 - 두개의 엔코더로부터의 매 8 패리티 비트 n1중에서 3개를 균일하게 펑처링함.4. Rate 4/9-Uniformly punctures 3 out of every 8 parity bits n 1 from two encoders.
코드 레이트 1/에 대해 최적화된 바람직한 유니버셜 터보 코드Preferred Universal Turbo Codes Optimized for Code Rate 1 /
바람직한 구성 엔코더에 대한 기본 블럭도가 도 25에 도시된다.The basic block diagram for the preferred configuration encoder is shown in FIG.
도 26은 바람직한 레이트 1/4 터보 코드에 대한 엔코더 블럭도이다. 이 경우에, 제2 패리티 비트들이 두개의 구성 엔코더에 의해 번갈아 펑처링된다. 다음에 이전 절에서 설명한 바람직한 펑처링 패턴이 인가되어 레이트 1/3 및 레이트 1/2 터보 코드를 발생한다. 부수적인 펑처링 패턴을 식별함으로써 다른 레이트가 또한 지원될 수 있다. 이는 레이트 2/9 및 3/8을 고려함으로써 예시된다.Figure 26 is an encoder block diagram for a preferred rate 1/4 turbo code. In this case, the second parity bits are alternately punctured by two configuration encoders. The preferred puncturing pattern described in the previous section is then applied to generate rate 1/3 and rate 1/2 turbo codes. Other rates may also be supported by identifying incidental puncturing patterns. This is illustrated by considering the rates 2/9 and 3/8.
도 27은 2/9 역 링크 코드에 대한 펑처링 패턴을 도시한다. 세개(3)의 서로 다른 패턴이 도 28의 성능 곡선과, 예를 들어, 다양한 프레임 인터리버 크기의 성능을 도시하는 부록 A에서 설명된 것과 같은 유사 곡선에 의해 비교된다. 패턴 2 FER 곡선(2810) 및 유사 곡선으로부터, 패턴 제2가 레이트 2/9에 대한 최적의 FER 패턴으로서 선정된다.27 shows a puncturing pattern for the 2/9 reverse link code. Three (3) different patterns are compared by the performance curve of FIG. 28 with similar curves as described, for example, in Appendix A showing the performance of various frame interleaver sizes. From the pattern 2 FER curve 2810 and similar curves, pattern second is selected as the optimal FER pattern for rate 2/9.
다음에, 도 29는 레이트 3/8 역 링크 코드를 최적화하기 위한 여섯개(6)의 초기 검사 펑처링 패턴을 도시한다. 이들 패턴들의 성능은 512 비트의 고정 인터리버 길이로 시뮬레이트된다. 이 시뮬레이션에 기초하여, 패턴 5 및 패턴 6이 부수적인 검토를 위한 최적의 펑처링 패턴으로서 선정된다.Next, FIG. 29 shows six (6) initial check puncturing patterns for optimizing the rate 3/8 reverse link code. The performance of these patterns is simulated with a fixed interleaver length of 512 bits. Based on this simulation, patterns 5 and 6 are selected as optimal puncturing patterns for incidental examination.
상기 패턴 5 및 6의 두개 이상의 확장 패턴 7 및 8은 다른 세개의 정보 비트에 대해 동일한 패턴을 복사하지만, 하나의 엔코더 패턴에서 다른 엔코더 패턴으로 패리티 시퀀스 내의 송신 비트중의 하나의 위치를 이동시킨다. 이 확장은 구성 엔코더 모두가 동일한 레이트, 즉 각각의 엔코더에서 6/11을 갖는 것을 허용한다.Two or more expansion patterns 7 and 8 of the patterns 5 and 6 copy the same pattern for the other three information bits, but shift one position of the transmit bits in the parity sequence from one encoder pattern to another encoder pattern. This extension allows all of the configuration encoders to have the same rate, ie 6/11 at each encoder.
도 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를 갖는 두개의 구성 코드를 이용한다.30 shows exemplary performance curves of the four 4 candidate puncturing patterns 5, 6, 7, and 8 for a rate 3/8 turbo code. Based on these results, Pattern 8 FER curve 3010 and similar curves, for example as shown in Appendix A, demonstrate that Pattern 8 is the optimal puncturing pattern for rate 3/8 turbo code. As such, one preferred universal turbo code design optimized for rate 1/4 is the polynomial d (D) = 1 + D + D 3 , n 1 = 1 + D 2 + D 3 , and n 2 = 1 + D Use two configuration codes with + D 2 + D 3 .
이하의 펑처링 패턴은 터보 코드 레이트 1/4에 대해 이전에 논의한 바와 같은 연관된 최적의 패턴, 및 가장 공통적으로 사용된 터보 코드 레이트에 대한 FER 성능으로, 여기서 n1는 제1 분자 다항식과 연관된 출력 비트를 표현하고, n2는 제2 분자 다항식과 연관된 출력 비트를 표현한다.The puncturing pattern below is the associated optimal pattern as previously discussed for turbo code rate 1/4, and the FER performance for the most commonly used turbo code rate, where n 1 is the output associated with the first molecular polynomial. Represents bits, and n 2 represents the output bits associated with the second molecular polynomial.
1) 레이트 1/4 - 두개의 구성 엔코더 모두로부터의 패리티 비트 n2를 번갈아 펑처링함.1) Rate 1/4-alternately punctures parity bits n 2 from both constituent encoders.
2) 레이트 1/3 - 두개의 구성 엔코더 모두로부터의 패리티 비트 n1를 펑처링함.2) Rate 1/3-punctures parity bit n 1 from both constituent encoders.
3) 레이트 1/2 - 두개의 엔코더 모두로부터의 패리티 비트 n2및 매 다른 패리티 비트 n1를 펑처링함.3) Rate 1/2-punctures parity bit n 2 and every other parity bit n 1 from both encoders.
4) 레이트 2/9 - 두개의 엔코더 모두로부터 n1에서 매 네개의 패리티 비트중 매 하나를 펑처링함.4) Rate 2/9-punctures every one of every four parity bits in n 1 from both encoders.
5) 레이트 3/8 - 패리티 비트 n1및 매 여섯개의 패리티 비트 n2중에서 하나를 펑처링함.5) Rate 3/8-puncture one of parity bits n 1 and every six parity bits n 2 .
이들 바람직한 펑처링 패턴들은 또한 성능에 영향을 미치지 않고 사이클적으로 쉬프트된다. 사이클적으로 쉬프트된 패턴들은 등가이다.These preferred puncturing patterns are also shifted cyclically without affecting performance. Cyclically shifted patterns are equivalent.
CDMA 데이터 서비스용 터보 코딩 FEC 스킴Turbo Coding FEC Scheme for CDMA Data Services
본 발명에서 설명한 바람직한 유니버셜 터보 코드의 세트는, 다양한 저속 및 고속 데이터 서비스를 필요로 하는 첨단 데이터 통신 시스템에 아주 적합한 유연성있는 고성능 채널 코드를 제공한다. 이와 같은 바람직한 유니버셜 터보 코드는 서로 다른 터보 엔코딩 스킴 기술이 특정 데이터 통신 시스템의 특정 조건을 충족하는 것을 가능하게 한다.The preferred set of universal turbo codes described herein provide a flexible, high performance channel code that is well suited for advanced data communications systems requiring a variety of low speed and high speed data services. Such a preferred universal turbo code enables different turbo encoding scheme techniques to meet certain conditions of a particular data communication system.
제1 예로서, 다음의 두개의 FEC 스킴중의 하나가 적합하며, (현재 개발중인 제3세대 CDMA 2000 시스템과 같은) 동기성 CDMA 데이터 통신 네트워크에 권고된다.As a first example, one of the following two FEC schemes is suitable and recommended for a synchronous CDMA data communication network (such as a third generation CDMA 2000 system currently under development).
1) 포워드 링크 상에서 연관된 바람직한 펑처링 패턴의 서브셋과 함께 코드 레이트 1/2 및 1/3으로 최적화된 바람직한 유니버셜 터보 코드, 및 역 링크상에서 연관된 바람직한 펑처링 패턴의 서브셋과 함께 코드 레이트 1/4로 최적화된 바람직한 유니버셜 터보 코드; 및1) the preferred universal turbo code optimized at code rates 1/2 and 1/3 with a subset of the associated preferred puncturing patterns on the forward link, and at a code rate 1/4 with a subset of the associated preferred puncturing patterns on the reverse link Optimized universal turbo code; And
2) 포워드 및 역 링크 상에서 연관된 바람직한 펑처링 패턴의 서브셋과 함께 코드 레이트 1/2 및 1/3으로 최적화된 바람직한 유니버셜 터보 코드.2) Preferred universal turbo codes optimized at code rates 1/2 and 1/3 with a subset of the desired puncturing patterns associated on the forward and reverse links.
제2 예로서, 다음의 두개의 FEC 스킴중의 하나가 적합하며, (유럽과 아시아에서 현재 개발중인 제3세대 UTRA 시스템과 같은) 비동기성 CDMA 데이터 통신 네트워크에 권고된다.As a second example, one of the following two FEC schemes is suitable and recommended for an asynchronous CDMA data communication network (such as a third generation UTRA system currently under development in Europe and Asia).
1) 포워드 및 역 링크 상에서 연관된 펑처링 패턴의 서브셋과 함께 코드 레이트 1/2 및 1/3으로 최적화된 바람직한 유니버셜 터보 코드;1) a preferred universal turbo code optimized at code rates 1/2 and 1/3 with a subset of associated puncturing patterns on the forward and reverse links;
2) 포워드 및 역 링크 상에서 연관된 바람직한 펑처링 패턴의 서브셋과 함께, 상술한 바와 같이, 코드 레이트 1/4로 최적화된 바람직한 유니버셜 터보 코드; 및2) a preferred universal turbo code optimized at code rate 1/4, as described above, with a subset of the desired puncturing patterns associated on the forward and reverse links; And
3) 포워드 및 역 링크 상에서 연관된 바람직한 펑처링 패턴의 서브셋과 함께, 상술한 바와 같이, 유니버셜 터보 코드의 단순화된 버젼.3) A simplified version of the universal turbo code, as described above, with a subset of the desired puncturing patterns associated on the forward and reverse links.
구현하는 선택의 선정은 다른 시스템 조건은 물론, 예상되는 우수한 코드 레이트, 최소 코드 레이트, 및 구현 복잡성 제한에 따른다. 물론, 다른 터보 코딩 레이트를 제공하기 위해 본 발명의 가르침에 따라 부수적인 펑처링 패턴들이 설계될 수 있다.The choice of implementation to implement depends on the expected good code rate, minimum code rate, and implementation complexity limitations, as well as other system conditions. Of course, additional puncturing patterns can be designed in accordance with the teachings of the present invention to provide other turbo coding rates.
다른 변형Other variations
고속 데이터 서비스용 유니버셜 터보 코드는 제3 세대 CDMA 셀룰러 이동 무선 시스템에 특히 적합하지만, 다른 시스템에도 용이하게 적용될 수 있다.Universal turbo code for high speed data services is particularly suitable for third generation CDMA cellular mobile radio systems, but can be readily applied to other systems.
프레임 지향 콘벌루션 코딩(FOCTC)과 같은 공지된 변형이 또한 본 발명의 바람직한 유니버셜 구성 코드 및 유니버셜 터보 코드에 사용될 수 있다. 유니버셜 구성 코드 및 유니버셜 터보 코드를 선택하는 설계 방법론은 또한 두개의 구성 엔코더 이상에 관여하는 것, 및 병렬 축약 대신 또는 그 이외의 직렬 축약에 관여하는 것과 같은 대체 터보 코드 구조에 적용될 수 있다.Known variations, such as frame oriented convolutional coding (FOCTC), may also be used in the preferred universal construction code and universal turbo code of the present invention. The design methodology of selecting universal configuration code and universal turbo code can also be applied to alternative turbo code structures, such as engaging in more than two configuration encoders and engaging in serial abbreviations instead of or in parallel abbreviations.
본 발명에서 설명한 예시적인 바람직한 펑처링 패턴들은 기술분야의 숙련자에 의해 다양한 방식으로 변형 또는 수정될 수 있다. 예를 들어, 바람직한 펑처링 패턴의 사이클적 쉬프트는 본 발명에 설명한 바람직한 펑처링 패턴과 실질적으로 등가인 성능을 제공한다. 또한, 특정 데이터 통신 시스템은 레이트 정합을 지원하는 서로 다르고 부수적인 펑처링 패턴을 필요로 할 수 있다. 이들 펑처링 패턴들은 본 발명의 가르침에 따라 설계될 수 있다.Exemplary preferred puncturing patterns described in the present invention may be modified or modified in various ways by those skilled in the art. For example, the cyclic shift of the preferred puncturing pattern provides a performance that is substantially equivalent to the preferred puncturing pattern described herein. In addition, certain data communication systems may require different and additional puncturing patterns to support rate matching. These puncturing patterns can be designed in accordance with the teachings of the present invention.
레이트-호환 유니버셜 터보 코드의 세트Set of rate-compatible universal turbo codes
본 발명에 따르면, 소정의 상위 레이트의 터보 코드 세트가 동일한 세트의 다른 임의의 하위 레이트의 터보 코드에 의해 송신되는 것과 동일한 비트 위치를 송신하게 함으로써, 다양한 코드 레이트 및 다양한 인터리버 깊이에 대한 AWGN 채널을 통해 균일하게 최적인 또는 거의 최적인 레이트-호환 터보 코드의 세트를 제공할 수 있다.According to the present invention, an AWGN channel for various code rates and various interleaver depths can be generated by having a turbo code set of a certain higher rate transmit the same bit position as that transmitted by a turbo code of any other lower rate of the same set. It is possible to provide a set of rate-compatible turbo codes that are uniformly optimal or near optimal.
특히, 한 실시예는 1/5, 1/4, 1/3 및 1/2의 다양한 코드 레이트, 및 512 내지 3072 비트의 다양한 인터리버 깊이의 레이트-호환 터보 코드 세트를 포함한다.In particular, one embodiment includes various code rates of 1/5, 1/4, 1/3, and 1/2, and rate-compatible turbo code sets of various interleaver depths of 512 to 3072 bits.
다른 바람직한 실시예는 시스템 설계자가 성능 대 다양성 정보(및 따라서, 복잡성) 또는 그 역으로 절충할 수 있게 하는 서로 다른 조건 하에 최적화된 다수의 터보 코드 세트를 제공한다. 레이트-호환 터보 코드 세트의 선택은 이하에 설명하는 유니버셜 구성 엔코더에 기초한다.Another preferred embodiment provides multiple turbo code sets that are optimized under different conditions that allow the system designer to trade off performance versus diversity information (and thus complexity) or vice versa. The selection of the rate-compatible turbo code set is based on the universal configuration encoder described below.
본 발명의 유니버셜 구성 엔코더는 큰 범위의 코드 레이트 및 인터리버 깊이에 걸쳐 최적 또는 거의 최적의 성능을 제공한다. 역 링크 또는 포워드 링크 우세 및 다양성 정도와 같은 서로 다른 최적화 기준은 서로 다른 레이트-호환 터보 코드 세트의 결과가 된다.The universal configuration encoder of the present invention provides optimal or near optimal performance over a large range of code rates and interleaver depths. Different optimization criteria, such as reverse link or forward link dominance and degree of diversity, result in different rate-compatible turbo code sets.
레이트-호환 코드 세트는 위성 방송 및 텔레포니에 적용되는 혼성 ARQ 스킴용에 특히 적합하다.Rate-compatible code sets are particularly suitable for hybrid ARQ schemes applied to satellite broadcasting and telephony.
몇몇 바람직한 실시예는 서로 다른 유니버셜 구성 코드, 및 서로 다른 설계 기준에 따라 최적화된 서로 다른 레이트의 펑처링 패턴에 기초하여 서로 다른 세트의 레이트-호환 코드를 구비한다.Some preferred embodiments have different sets of rate-compatible codes based on different universal configuration codes, and different rates of puncturing patterns optimized according to different design criteria.
본 발명의 전체적인 방법론에 따라, 네개(4)의 서로 다른 바람직한 레이트-호환 터보 코드 세트가 본 발명에 설명된다. 첫번째 두개(2) 세트는 상위 레이트가 우세한 높은 레이트의 터보 코드에 대해 최적화된다. 두번째 두개(2) 세트는 하위 레이트가 우세한 하위 레이트의 코드에 대해 최적화된다. 이들 세트들은 이하 세트 A-D라고 칭한다.In accordance with the overall methodology of the present invention, four (4) different preferred rate-compatible turbo code sets are described herein. The first two (2) sets are optimized for high rate turbo codes with higher rates prevailing. The second two (2) sets are optimized for the code of the lower rate where the lower rate prevails. These sets are referred to as sets A-D below.
첫번째 바람직한 세트는 레이트 1/2의 최상의 유니버셜 구성 코드로부터 유도된다.The first preferred set is derived from the best universal construction code of rate 1/2.
두번째 세트는, 레이트 1/2의 유니버셜 구성 코드와 또한 호환가능한 레이트 1/3의 다른 최상의 구성 코드로부터 유도된다.The second set is derived from the other best configuration code at rate 1/3, which is also compatible with the universal configuration code at rate 1/2.
첫번째 세트, "세트 A"는 두개의 생성기 다항식을 갖는 한편, 두번째 세트, "세트 B"는 그중 두개가 "세트 A"와 공통인 세개의 생성기 다항식을 갖는다. 이와 같이, "세트 B"가 "세트 A"와 최적으로 호환가능하여, 엔코딩 및 디코딩을 위한 설계 변경량을 감소시키게 된다. 전과 같이, 세번째 다항식이 레이트 1/3 이하의 터보 코드의 부수적인 엔코더 패리티 비트에 필요하다.The first set, "set A" has two generator polynomials, while the second set, "set B" has three generator polynomials, two of which are common with "set A". As such, "set B" is optimally compatible with "set A", thereby reducing the amount of design change for encoding and decoding. As before, a third polynomial is needed for the additional encoder parity bits of the turbo code below rate 1/3.
두번째 세트 "세트 B"는 "세트 A"를 포함하고, 또한 레이트 1/5 이상에 대한 터보 코드의 패밀리를 확장한다.The second set "Set B" includes "Set A" and also extends the family of turbo codes for rates 1/5 and above.
세번째 및 네번째 바람직한 레이트-호환 터보 코드 세트는 하위 레이트, 특히 레이트 1/4에 대해 최적화된다. "세트 C" 및 "세트 D"는 각각 또한 "세트 B"에서의 것들과 같지만 서로 다른 순서인 세개의 생성기 다항식을 사용한다.The third and fourth preferred rate-compatible turbo code sets are optimized for lower rates, in particular rate 1/4. "Set C" and "Set D" each also use three generator polynomials, the same as those in "Set B" but in a different order.
레이트 1/2의 유니버셜 구성 코드로부터 유도된 레이트-호환 세트: 세트 A(레이트 1/3, 1/2)Rate-compatible set derived from universal construction code of rate 1/2: set A (rate 1/3, 1/2)
표 2로부터, 최상의 전체적인 성능을 제공하는 레이트 1/2 구성코드가 8진수 쌍 13-15이라는 것으로 결정된다. 따라서, 이 구성 코드 쌍은 세트 A에 대한 마더 구성 코드 쌍으로서 사용된다.From Table 2, it is determined that the rate 1/2 configuration code that provides the best overall performance is octal pair 13-15. Thus, this configuration code pair is used as the mother configuration code pair for set A.
레이트-호환 세트 A는 8진수 쌍 13-15에 대응하는 생성기 다항식을 구비하되, 여기서 분모 다항식은 1+D2+D3(8진수 13)이고, 분자 다항식은 1+D+D3(8진수 15)이다.The rate-compatible set A has a generator polynomial corresponding to octal pair 13-15, where the denominator polynomial is 1 + D 2 + D 3 (13 octal) and the molecular polynomial is 1 + D + D 3 (8 Decimal 15).
펑처링 패턴들은, 세트의 1/2 코드(또는 그 이상)의 레이트에 의해 송신된 모든 비트들이 또한 레이트 1/3 코드 또는 하위 레이트 코드 세트에 의해 송신되도록 설계되어 있다.The puncturing patterns are designed such that all bits transmitted at a rate of one-half code (or more) of the set are also transmitted by a rate one-third code or a lower rate code set.
시뮬레이션 및 설계 원칙에 의해 데모된 예시적인 바람직한 패턴들은 다음과 같다:Exemplary preferred patterns demonstrated by simulation and design principles are as follows:
1) 레이트 1/3의 경우, 어떠한 펑처링도 없고,1) for rate 1/3, there is no puncturing,
2) 레이트 1/의 경우, 패리티 비트가 엔코더 간에 번갈아 펑처링된다(이 경우에 제2 분자 다항식 엔코딩은 존재하지 않는다는 것에 유의)2) For rate 1 /, parity bits are alternately punctured between encoders (note that there is no second molecular polynomial encoding in this case).
도 31은 세트 A 구성 엔코더에 대한 블럭도를 도시한다. 도 31에서, (쉬프트 레지스터(3106)에 접속된) 모듈러 가산기(3104,3108), 및 (쉬프트 레지스터(3114)에 접속된) 모듈러 가산기(3116)는 8진 15 또는 이진 1101을 나타내는 분자 다항식용 엔코딩 장치를 구비한다.Figure 31 shows a block diagram for a set A configuration encoder. In FIG. 31, the modular adders 3104, 3108 (connected to the shift register 3106), and the modular adder 3116 (connected to the shift register 3114) represent a molecular polynomial representing octal 15 or binary 1101. It is provided with an encoding device.
모듈러 가산기(3104,3108,3112 및 3116)는 도 19와 유사한 방식으로 쉬프트 레지스터(3106,3110 및 3114) 및 X(t)의 내용을 더한다.Modular adders 3104, 3108, 3112 and 3116 add the contents of shift registers 3106, 3110 and 3114 and X (t) in a manner similar to FIG.
레이트 1/2 터보 코드 및 레이트 1/3 터보 코드의 시뮬레이트된 성능은, (8 디코더 반복을 갖는) 본 발명에서 설계된 8-상태 콘벌류션 코드가 출원인에 의해 만들어진 시뮬레이션 데이터에 따라 공지된 최상의 256-상태 콘벌류션 코드에 대해, 레이트 1/2에서 약 1/6㏈, 및 레이트 1/3에서 약 2.0㏈의 성능 이득(BER)을 갖는다는 것을 도시한다.The simulated performance of rate 1/2 turbo code and rate 1/3 turbo code is based on the best 256-known 8-state convolutional code designed in the present invention (with 8 decoder iterations) known according to the simulation data produced by the applicant. For the state convolutional code, it has a performance gain (BER) of about 1/6 dB at rate 1/2 and about 2.0 dB at rate 1/3.
이와 같이, 세트 A의 터보 코드는, 중요한 성능 파라메타에 대해 시뮬레이트될 때 최상의 공지된 256-상태 콘벌류션 코드에 대한 성능에 비교된다.As such, the turbo code of set A is compared to the performance for the best known 256-state convolutional code when simulated for significant performance parameters.
레이트 1/3의 유니버셜 구성 코드로부터 유도된 레이트-호환 세트: 세트 B(레이트 1/2,1/3,1/4,1/5)Rate-compatible set derived from universal configuration code of rate 1/3: set B (rates 1 / 2,1 / 3,1 / 4,1 / 5)
레이트 1/3의 유니버셜 구성 코드를 결정하는 경우에서와 같이, 레이트 1/3의 최상의 구성 코드로부터 유도된 "세트 B"의 레이트-호환 생성기 다항식에 대해 부수적인 출력 분자 다항식이 필요하다.As in the case of determining the universal construction code of rate 1/3, an additional output molecular polynomial is needed for the "set B" rate-compatible generator polynomial derived from the best configuration code of rate 1/3.
따라서, 제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에 대한 이들 생성기 다항식을 구비한다.Thus, the second best individual rate 1/2 configuration code is selected from Table 2. As before, this method results in two (2) octal pairs overlapping. Octal pairs, octal 13-15 and octal 13-17 all provide uniformly superior performance. By joining two (2) pairs together, three (3) generator polynomials with three-octal octets 13-15 / 17 are provided. The denominator polynomial is 1 + D 2 + D 3 (13 octal), the first molecular polynomial is 1 + D 2 + D 3 (15 octal), and the second molecular polynomial is 1 + D + D 2 + D 3 (8 Decimal 17). The preferred design for set B has these generator polynomials for all interleaver depths, and turbo code rates 1/2, 1/3, 1/4 and 1/5.
세트 B에서, 레이트 1/3 구성 엔코더로부터 작성된 레이트 1/3 및 레이트 1/2 터보 코드는 유니버셜 레이트 1/2 구성 엔코더로부터 작성된 세트 A내의 동일한 1/3 및 1/2 터보 코드로, 세트 A와 세트 B 간의 호환성을 보존한다.In set B, the rate 1/3 and rate 1/2 turbo codes generated from the rate 1/3 configuration encoder are the same 1/3 and 1/2 turbo codes in set A created from the universal rate 1/2 configuration encoder, Preserve compatibility between and set B.
펑처링 패턴들은 세트 B의 임의의 상위 레이트 터보 코드로 송신된 모든 비트들이 또한 세트 B의 임의의 낮은 코드 레이트로 송신되도록 설계되어 있다.The puncturing patterns are designed such that all bits transmitted at any higher rate turbo code of set B are also transmitted at any lower code rate of set B.
시뮬레이션에 의해 데모된 예시적인 바람직한 패턴 및 설계 원리는 다음과 같다:Exemplary preferred patterns and design principles demonstrated by simulation are as follows:
1) 레이트 1/5 - 펑처링 없음;1) rate 1/5-no puncturing;
2) 레이트 1/4 - 두번째 분자 패리티 비트 n2를 번갈아 펑처링함2) Rate 1/4-alternately punctures second molecular parity bit n 2
3) 레이트 1/3 - 두번째 분자 패리티 n2를 항상 펑처링함3) Rate 1/3-always punctures second molecular parity n 2
4) 레이트 1/2 - 두번째 분자 패리티 비트 n2를 항상 펑처링하고 첫번째 분자 패리티 비트 n1를 항상 펑처링함4) Rate 1/ 2- always puncture the second molecular parity bit n 2 and always puncture the first molecular parity bit n 1
레이트 1/4 패턴의 경우, 구성 엔코더의 두개(2) 출력 아암(arms)중 약한 아암이 번갈아 펑처링된다.In the case of the rate 1/4 pattern, the weaker arms of the two (2) output arms of the constituent encoder are alternately punctured.
레이트 1/3 패턴의 경우, 두개(2)의 구성 엔코더 출력중 약한 출력이 번갈아 펑처링된다.In the case of the rate 1/3 pattern, the weak outputs of the two (2) constituent encoder outputs are alternately punctured.
레이트 1/2의 경우, 두개(2)의 구성 엔코더 출력중 약한 출력이 엔코더 모두에 대해 항상 펑처링되고, 센 출력이 펑처링된다.For rate 1/2, the weaker of the two (2) constituent encoder outputs are always punctured for both encoders and the strong output is punctured.
낮은 터보 코드 레이트로 최적화된 레이트-호환 세트Rate-compatible set optimized for low turbo code rate
상위 코드 레이트가 우세한 모드 터보 코드인 경우, 세트 B가 엄격한 레이트-호환성이 모든 코드 레이트에 요구될 때에 바람직한 설계 선택이 된다.If the higher code rate is the dominant mode turbo code, then set B is the preferred design choice when strict rate-compatibility is required for all code rates.
하위 레이트와 상위 레이트의 터보 코드 간의 레이트-호환성이 필요하지 않을 때, 하위 터보 코드 레이트로 모두 최적화된 터보 코드 세트 C 및 세트 D가 유용하다.When rate-compatibility between lower rate and higher rate turbo codes is not needed, turbo code set C and set D, both optimized for lower turbo code rate, are useful.
이전에 설명한 바와 같이 표 2의 결과에 기초하여 선택되는 표 3에 열거된 후보 구성 코드에 기초하여, 레이트 1/4 및 1/5에 대한 최적의 터보 코드가 선택된다.Based on the candidate configuration codes listed in Table 3, which are selected based on the results of Table 2 as described previously, the optimal turbo codes for rates 1/4 and 1/5 are selected.
표 3의 구성 코드 제1 또는 8진수 세트 A에 대한 기초이다. 그러나, 하위 레이트가 상위 레이트와 함께 사용되지 않은 경우에, 레이트 1/4 펑처링 패턴이 레이트 1/2 또는 1/3 코드의 그것이 되어야 하는 조건을 제거함으로써, 새로이 최적화된 1/4 터보 코드를 얻기 위해 네개(4)의 서로 다른 펑처링 패턴의 각각을 갖는, 표 3의 각각의 세개(3)의 마더 터보 코드 3인조(triad)가 고려된다.It is the basis for the configuration code first or octal set A in Table 3. However, when the lower rate is not used with the higher rate, the newly optimized 1/4 turbo code is removed by removing the condition that the rate 1/4 puncturing pattern should be that of the rate 1/2 or 1/3 code. Each of the three (3) mother turbo code triads of Table 3, with each of four (4) different puncturing patterns, is considered.
상술한 바와 같이, 터보 코드 A,B 및 C는 도 10, 11 및 12의 각각의 성능 곡선(1010,1110 및 1210)으로부터 최적인 것으로 밝혀진다.As mentioned above, turbo codes A, B and C are found to be optimal from the respective performance curves 1010, 1110 and 1210 of FIGS.
이전과 같이, 이들 펑처링 패턴은 또한 1024,2048 및 3072의 부수적인 다른 인터리버 프레임 크기에 대해 마더 코드 3인조 제1에 기초하여 터보 코드의 성능을 시뮬레이트함으로써 다른 인터리버에서 증명된다. 도 13은 시뮬레이션의 샘플 결과를 도시하고, 1024 비트에서의 기본 방법론을 확인한다.As before, these puncturing patterns are also demonstrated in other interleavers by simulating the performance of turbo codes based on mother code triad first for ancillary other interleaver frame sizes of 1024, 2048 and 3072. 13 shows sample results of the simulation and confirms the basic methodology at 1024 bits.
다음에, 도 14는 512 비트에서의 선택된 펑처링 패턴과 정합하는 3인조의 성능에 대응하는 샘플을 도시한다. 도 14 및 다른 인터리버 크기에 대한 유사한 결과로부터, 모든 시뮬레이트된 인터리버 깊이의 최상의 전체적인 BER 성능이 최종 설계 기준으로서 사용되어 최적의 후보를 결정한다.Next, FIG. 14 shows a sample corresponding to the performance of a triad that matches the selected puncturing pattern at 512 bits. From similar results for FIG. 14 and other interleaver sizes, the best overall BER performance of all simulated interleaver depths is used as the final design criterion to determine the best candidate.
레이트 1/4 터보 코드로부터 유도된 레이트-호환 세트: 세트 C(레이트 1/5,1/4,1/3)Rate-compatible set derived from rate 1/4 turbo code: set C (rates 1/5, 1/4, 1/3)
터보 코드 세트 C는 도 14의 성능 곡선(1310) 및 다른 인터리버 크기에 대한 유사한 곡선에 따라, 도 9로부터 코드 제1 및 패턴 제1(터보 코드 C)를 구현한다.Turbo code set C implements code first and pattern first (turbo code C) from FIG. 9, in accordance with the performance curve 1310 of FIG. 14 and similar curves for different interleaver sizes.
터보 코드 세트 C는 분모 다항식 1+D+D2+D3, 제1 분자 다항식 n1, 1+D2+D3, 및 제2 분자 다항식 n2,1+D+D2를 포함하는 표 3으로부터 생성기 다항식을 구비한다. 이전에 설명한 바와 같이 방법론에 일치하는 시뮬레이션으로부터의 최적의 펑처링 패턴은 다음과 같다:Turbo code set C is a table comprising denominator polynomial 1 + D + D 2 + D 3 , first molecular polynomial n 1 , 1 + D 2 + D 3 , and second molecular polynomial n 2, 1 + D + D 2 Generator polynomial from 3. As explained previously, the optimal puncturing pattern from a simulation consistent with the methodology is:
1) 레이트 1/5의 경우 - 어떠한 펑처링도 없음1) For rate 1/5-no puncturing
2) 레이트 1/4의 경우 - 두번째 분자 다항식을 번갈아 펑처링함,2) rate 1/4-alternately punctures the second molecular polynomial,
3) 레이트 1/3의 경우 - 두번째 분자 다항식을 항상 펑처링함.3) For rate 1/3-always puncture the second molecular polynomial.
레이트 1/4 터보 코드로부터 유도된 레이트-호환 세트: 세트 D(레이트 1/5,1/4)Rate-compatible set derived from rate 1/4 turbo code: set D (rates 1/5, 1/4)
터보 코드 세트 D는 모든 인터리버 깊이 및 터보 코드 레이트 1/4 및 1/5에 대한 단일 구성 코드를 구비한다.Turbo code set D has a single configuration code for all interleaver depths and turbo code rates 1/4 and 1/5.
터보 코드 세트 D는 도 14의 성능 곡선(1420) 및 다른 인터리버 크기의 유사 곡선에 따라 도 9로부터의 패턴 제2(터보 코드 A)를 갖는 코드 제1을 구현한다.Turbo code set D implements code first with pattern second (turbo code A) from FIG. 9 according to the performance curve 1420 of FIG. 14 and similar curves of different interleaver sizes.
이 세트는 분모 다항식 d, 1+D+D3, 제1 분자 다항식 n1, 1+D2+D3, 및 제2 분자 다항식 n2,1+D+D2+D3를 포함하는 생성기 다항식을 구비한다.This set includes a generator comprising a denominator polynomial d, 1 + D + D 3 , a first molecular polynomial n 1 , 1 + D 2 + D 3 , and a second molecular polynomial n 2, 1 + D + D 2 + D 3 It has a polynomial.
이전에 설명하고 방법론에 일치하는, 시뮬레이션으로부터의 최적의 펑처링 패턴은 다음과 같다:The optimal puncturing pattern from simulation, previously described and consistent with the methodology, is as follows:
1) 레이트 1/5의 경우 - 어떠한 펑처링도 없음1) For rate 1/5-no puncturing
2) 레이트 1/4의 경우 - 출력 1/2를 번갈아 펑처링함.2) For rate 1/4-alternately puncture the output 1/2.
512 내지 3072 비트의 선택된 인터리버 깊이의 레이트 1/4 FER 최적화 터보 코드의 성능을 샘플 도면 32 및 유사 연구에서의 콘벌류션 코드에 비교한다.The performance of the rate 1/4 FER optimized turbo code of the selected interleaver depth of 512 to 3072 bits is compared to the convolutional code in sample figure 32 and similar studies.
보다 복잡한 펑처링 패턴을 콘벌류션 코딩에 사용하여 각각의 레이트-호환 세트에서의 기본 터보 코드의 그것 이상의 임의의 코드 레이트를 달성할 수 있다.More complex puncturing patterns can be used for convolutional coding to achieve any code rate above that of the base turbo code in each rate-compatible set.
예를 들어, 5/12와 같은 1/2 또는 중간 레이트 이상의 레이트가 달성될 수 있다. 펑처링 패턴의 적절한 선택으로, 이는 흔히 에러 교정 성능을 희생시키지 않고 수행될 수 있다.For example, rates above 1/2 or intermediate rates, such as 5/12, can be achieved. With the proper choice of puncturing pattern, this can often be done without sacrificing error correction performance.
레이트-호환 터보 코드의 적용Application of Rate-Compliant Turbo Codes
본 발명에 설명된 레이트-호환 터보 코드의 예시적인 적용은, 코드 레이트가 이용가능한 물리적 채널에 정합하도록 선택된 레이트 정합을 위한 것이다. 레이트 정합 스킴에서, 데이터 서비스는 동일한 기본적인 엔코딩을 사용하지만, 특히 서로 다른 데이터 서비스에 대해 서비스 명세의 품질이 다르다면 동일한 물리적 채널을 사용할 수 있다.An example application of the rate-compatible turbo code described in the present invention is for rate matching selected so that the code rate matches the available physical channel. In a rate matching scheme, data services use the same basic encoding, but may use the same physical channel, especially if the quality of service specification is different for different data services.
본 발명에 따르면, 서로 다른 펑처링 패턴을 선택하여 물리적 채널과 호환가능한 코드 레이트를 생성할 수 있다. 만일 펑처링 패턴들이 레이트-호환가능하면, 코드 레이트의 선택은 단일의 적절한 시점에 단일 결정 유닛에의해 완료될 필요가 없다. 그 대신에, 이 결정은 결정 유닛에 걸쳐서는 물론 시간에 있어서도 분산될 수 있다. 터보 엔코더는 먼저 시스템에 의해 지원될 가장 낮은 코드 레이트에 대응하는 코드화 출력 시퀀스를 발생한다. 예를 들어, 모든 가능한 패리티 비트들이 초기에 출력될 것이다. 다음에, 초기 펑처링은 예를 들면, 소정의 데이터 서비스에 대한 Qos(Quality-of-service) 고려에 응답해서 하나의 펑처링 유닛에 의해 수행될 것이다. 이 시나리오에서, 데이터 서비스는 예를 들어, 해당 범위 내의 최고 품질이 시스템에서 이용가능한 가장 낮은 가능한 코드 레이트를 필요로 하지 않지만 일부의 중간 코드 레이트를 필요로 하고, 해당 범위 내의 최하 품질이 한층 높은 코드 레이트를 허용할 수 있는 Qos의 범위를 허용할 수 있다. 제1 펑처링 유닛은 데이터 서비스의 Qos 범위 내의 최고 품질을 제공하기 위해 가장 낮은 레이트에 대응하는 펑처링 패턴에 따라 코드화된 비트를 제거한다. 펑처링되지 않은 코드화 데이터는 부수적인 처리를 위해 시스템의 나머지로 출력된다. 후속하는 처리에서, 다이나믹 트래픽 관리 고려에 기초하여 해당 메시지에 대해 코드 레이트를 보다 높게 조정하도록 결정된다. 예를 들어, 상위 우선순위의 데이터 서비스로부터의 메시지를 수용하기 위해, 해당 데이터 서비스에 정상적으로 연관된 물리적 채널에 대해 잠정적인 필요에 따라, 보다 작은 페이로드를 갖는 물리적 채널이 대체될 것이다. 상위 코드 레이트는 새로운 코드 레이트에 연관된 펑처링 패턴에 따라 제2 펑처링을 수행함으로써 달성된다. 펑처링 패턴이 레이트-호환가능하기 때문에, 제1 펑처링 유닛에 의해 삭제된 코드화 비트를 재생할 필요가 없고, 제2 펑처링 유닛은 단순히 제1 펑처링 유닛에 의해 삭제되지 않은 상위 레이트의 펑처링 패턴에 의해 명시된 비트를 삭제한다.According to the present invention, different puncturing patterns may be selected to generate code rates compatible with physical channels. If the puncturing patterns are rate-compatible, the selection of code rate need not be completed by a single decision unit at a single appropriate time. Instead, this decision can be distributed throughout the decision unit as well as in time. The turbo encoder first generates a coded output sequence that corresponds to the lowest code rate to be supported by the system. For example, all possible parity bits will be output initially. Next, initial puncturing will be performed by one puncturing unit, for example, in response to a quality-of-service (Qos) consideration for a given data service. In this scenario, the data service, for example, does not require the lowest possible code rate available in the system, but the highest quality within that range requires some intermediate code rate, and the lowest quality code within that range is even higher. It can allow a range of Qos that can tolerate rates. The first puncturing unit removes the bits coded according to the puncturing pattern corresponding to the lowest rate to provide the highest quality within the Qos range of the data service. Unpunctured coded data is output to the rest of the system for additional processing. In subsequent processing, it is determined to adjust the code rate higher for the message based on the dynamic traffic management considerations. For example, to accommodate messages from higher priority data services, physical channels with smaller payloads will be replaced, depending on the potential needs for the physical channels normally associated with that data service. The higher code rate is achieved by performing a second puncturing according to the puncturing pattern associated with the new code rate. Since the puncturing pattern is rate-compatible, there is no need to play the coded bits deleted by the first puncturing unit, and the second puncturing unit is simply a higher rate puncturing not erased by the first puncturing unit. Delete the bit specified by the pattern.
본 발명에서 설명된 레이트-호환 터보 코드의 제2 예시적인 적용은 ARQ 프로토콜에 기초한 에러 제어와 같은 증가 중복 스킴이다. 이들 스킴에서, 터보 엔코더는 먼저 시스템에서 이용가능한 가장 높은 코드 레이트에 대응하는 코드화 출력을 발생한다. 코드화 출력이 통신 채널상으로 전송되면, 수신기는 메시지를 성공적으로 디코드할 수 있거나 할 수 없을 수 있다. 만일 메시지가 성공적으로 디코드되면, 수신기는 전형적으로 송신기에 부정 확인응답(NAK)를 송신하여, 해당 패킷의 디코딩을 보조하는 부수적인 송신을 요청한다. 레이트-호환 채널 엔코딩에 의해, 해당 패킷에 대해 하위 레이트의 호환가능한 엔코딩중의 하나에 의해 발생된 잉여의 엔코드된 비트가 수신기의 디코더에 이용가능한 정보를 증가시키도록 보내질 수 있다. 이 디코더는 해당 패킷에 대해 수신된 본래의 정보와 함께 새로운 정보를 사용하여 디코딩을 수행한다. 그 효과는 만일 본래 패킷이 하위 레이트의 코드로서 엔코드되었는 지이다. 이 프로세스는 패킷이 성공적으로 디코드될 때까지 반복될 수 있다. 각각의 재 전송시 잉여 코드화 비트를 송신함으로써, 재전송에 필요한 트래픽 부하가 크게 저하된다.A second exemplary application of the rate-compatible turbo code described in the present invention is an incremental redundancy scheme such as error control based on the ARQ protocol. In these schemes, the turbo encoder first generates a coded output corresponding to the highest code rate available in the system. If the encoded output is sent on a communication channel, the receiver may or may not be able to successfully decode the message. If the message is successfully decoded, the receiver typically sends a negative acknowledgment (NAK) to the transmitter, requesting an additional transmission that aids in decoding the packet. By rate-compatible channel encoding, the excess encoded bits generated by one of the lower rate compatible encodings for that packet may be sent to increase the information available to the decoder of the receiver. This decoder performs decoding using the new information along with the original information received for that packet. The effect is if the original packet was encoded as a lower rate code. This process can be repeated until the packet has been successfully decoded. By sending the redundant coded bits at each retransmission, the traffic load required for retransmission is greatly reduced.
비록 본 발명이 특정 실시예 및 그 응용에 의해 설명되었지만, 기술분야의 숙련자는 특허청구범위에 개시된 본 발명의 범위를 벗어나지 않고 무수히 많은 변형이 이루어질 수 있다.Although the invention has been described in terms of specific embodiments and applications thereof, numerous modifications may be made by those skilled in the art without departing from the scope of the invention as set forth in the claims.
〈부록〉<Appendix>
Claims (17)
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 true KR20010052246A (en) | 2001-06-25 |
| KR100347501B1 KR100347501B1 (en) | 2002-08-03 |
Family
ID=22272169
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020007011264A Expired - Fee Related KR100347501B1 (en) | 1999-02-11 | 1999-02-11 | Optimized rate-compatible turbo encoding |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP1072122A1 (en) |
| KR (1) | KR100347501B1 (en) |
| AU (1) | AU2673299A (en) |
| WO (1) | WO2000048353A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101014898B1 (en) * | 2002-01-07 | 2011-02-15 | 지멘스 악티엔게젤샤프트 | Method and apparatus for transmitting data in which bit rate adaptation model is signaled between transmitter and receiver |
| KR101296020B1 (en) * | 2002-12-16 | 2013-08-12 | 인터디지탈 테크날러지 코포레이션 | Detection, avoidance and/or correction of problematic puncturing patterns in parity bit streams used when implementing turbo codes |
Families Citing this family (7)
| 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 |
| EP1046236B1 (en) | 1998-08-17 | 2016-02-24 | Dtvg Licensing, Inc | Turbo code interleaver with near optimal performance |
| AU5685499A (en) | 1998-08-27 | 2000-03-21 | Hughes Electronics Corporation | Method for a general turbo code trellis termination |
| KR100442685B1 (en) | 2000-10-21 | 2004-08-02 | 삼성전자주식회사 | Apparatus and method for generating codes in communication system |
| CN1268062C (en) * | 2001-02-13 | 2006-08-02 | 三星电子株式会社 | Apparatus and method for generating code in a communication system |
| KR100678580B1 (en) | 2005-10-14 | 2007-02-02 | 삼성전자주식회사 | Apparatus and Method for Improving Turbo Code Performance in Communication Systems |
Family Cites Families (2)
| 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 (en) * | 1997-08-22 | 1998-12-10 | Siemens Ag | Service quality estimation method for channels of digital transmission system |
-
1999
- 1999-02-11 KR KR1020007011264A patent/KR100347501B1/en not_active Expired - Fee Related
- 1999-02-11 AU AU26732/99A patent/AU2673299A/en not_active Abandoned
- 1999-02-11 EP EP99906939A patent/EP1072122A1/en not_active Ceased
- 1999-02-11 WO PCT/US1999/002995 patent/WO2000048353A1/en active IP Right Grant
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101014898B1 (en) * | 2002-01-07 | 2011-02-15 | 지멘스 악티엔게젤샤프트 | Method and apparatus for transmitting data in which bit rate adaptation model is signaled between transmitter and receiver |
| KR101296020B1 (en) * | 2002-12-16 | 2013-08-12 | 인터디지탈 테크날러지 코포레이션 | Detection, avoidance and/or correction of problematic puncturing patterns in parity bit streams used when implementing turbo codes |
| KR101409948B1 (en) * | 2002-12-16 | 2014-06-20 | 인터디지탈 테크날러지 코포레이션 | Detection, avoidance and/or correction of problematic puncturing patterns in parity bit streams used when implementing turbo codes |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2673299A (en) | 2000-08-29 |
| KR100347501B1 (en) | 2002-08-03 |
| WO2000048353A1 (en) | 2000-08-17 |
| EP1072122A1 (en) | 2001-01-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6370669B1 (en) | Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes | |
| US9300330B2 (en) | Sets of rate-compatible universal turbo codes nearly optimized over various rates and interleaver sizes | |
| US6430722B1 (en) | Forward error correction scheme for data channels using universal turbo codes | |
| JP4298170B2 (en) | Partitioned deinterleaver memory for map decoder | |
| JP4563456B2 (en) | Transmitting apparatus, encoding apparatus, and decoding apparatus | |
| Lee et al. | Application and standardization of turbo codes in third-generation high-speed wireless data services | |
| KR100739182B1 (en) | A mobile communication terminal providing a space-time HARV technique and a method thereof | |
| EP1199835A2 (en) | Apparatus and method for generating codes in communications system | |
| KR100347501B1 (en) | Optimized rate-compatible turbo encoding | |
| JP2001251199A (en) | Transmission device, communication system and communication method | |
| EP1950902B1 (en) | Forward error correction scheme for data channels using turbo codes | |
| HK1123408B (en) | Forward error correction scheme for data channels using turbo codes | |
| Xu et al. | Iterative decoding for geran mbms |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0105 | International application |
St.27 status event code: A-0-1-A10-A15-nap-PA0105 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U12-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20050724 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20050724 |