KR20000066448A - Tutbo Interleaver designing Method using PN Sequence - Google Patents

Tutbo Interleaver designing Method using PN Sequence Download PDF

Info

Publication number
KR20000066448A
KR20000066448A KR1019990013555A KR19990013555A KR20000066448A KR 20000066448 A KR20000066448 A KR 20000066448A KR 1019990013555 A KR1019990013555 A KR 1019990013555A KR 19990013555 A KR19990013555 A KR 19990013555A KR 20000066448 A KR20000066448 A KR 20000066448A
Authority
KR
South Korea
Prior art keywords
sequence
column
interleaver
turbo
pien
Prior art date
Application number
KR1019990013555A
Other languages
Korean (ko)
Inventor
홍성권
윤영우
Original Assignee
서평원
엘지정보통신 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서평원, 엘지정보통신 주식회사 filed Critical 서평원
Priority to KR1019990013555A priority Critical patent/KR20000066448A/en
Publication of KR20000066448A publication Critical patent/KR20000066448A/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • H03M13/2714Turbo interleaver for 3rd generation partnership project [3GPP] universal mobile telecommunications systems [UMTS], e.g. as defined in technical specification TS 25.212
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0602Systems characterised by the synchronising information used
    • H04J3/0605Special codes used as synchronising signal
    • H04J3/0611PN codes

Landscapes

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

Abstract

PURPOSE: A design method and apparatus for turbo interleaver by using the random characteristics of a PN sequence is provided to maximize the performance with minimum memory. CONSTITUTION: Turbo codes are binary error-correcting codes built from the parallel concatenation of two recursive systematic convolutional codes and are used as a feedback decoder. A design method for a turbo interleaver in a cellular communication system using turbo codes comprises the steps of: assigning PN sequence code into the column bits and bit reversing of the row bits of the interleaver; assigning the initial index to the current column and generating the PN sequence corresponding to the current column length; and initializing the next column within the range of current PN sequence generation. The apparatus for the turbo interleaver comprises a counter(110), a bit reverse part(120), a linear feedback shift register(130), and a column initial index(100).

Description

피엔 시퀀스를 이용한 터보 인터리버 설계 방법{Tutbo Interleaver designing Method using PN Sequence}Turbo Interleaver designing method using PN Sequence

본 발명은 차세대 이동 통신에 관한 것으로, 특히 터보 코드를 사용하는 차세대 이동 통신 시스템에서 피엔 시퀀스(PN Sequence)의 랜덤 특성을 이용하여 터보 인터리버를 설계하는 방법에 관한 것이다.The present invention relates to a next generation mobile communication, and more particularly, to a method of designing a turbo interleaver using random characteristics of a PN sequence in a next generation mobile communication system using a turbo code.

일반적으로 터보 코드(turbo code)는 1993년 'Berrou' 에 의해 발표된 이래 획기적인 성능을 인정한 많은 사람들에 의해 집중적으로 연구되고 있다.In general, turbo code has been intensively studied by many people who have recognized breakthrough performance since it was published by Berrou in 1993.

수 만 정도의 크기를 가지는 랜덤 인터리버(random interleaver)를 사용하는 터보 코드의 성능은 섀넌 리미트(Shannon limit)에 거의 근접하는 것으로 알려져 있다. 즉, 1/2 터보 코드에 대해 약 0.7㏈에서 비트 에러율(BER)이 10-5에 근접하는 오류 정정 능력을 가지는 것으로 알려져 있다.Turbo code performance using random interleavers with sizes of tens of thousands is known to be close to the Shannon limit. That is, it is known that the bit error rate (BER) is close to 10 −5 at about 0.7 Hz for a 1/2 turbo code.

하지만 아주 큰 크기의 랜덤 인터리버를 사용하는 터보 코드의 경우 매우 빠른 전송율과 긴 지연을 감수해야 하므로, 장거리 우주 통신(deep space communication)을 제외한 다른 응용 분야에 적용하기에는 부적절하였다.However, turbo codes using very large random interleavers have very high data rates and long delays, making them unsuitable for applications other than deep space communication.

이에 따라 기존의 매우 복잡한 채널 부호를 사용함으로써 얻을 수 있는 성능을 수 백 정도 크기의 인터리버를 사용하는 터보 코드로 얻기 위한 노력이 계속되었고, 결국 200 정도의 크기(200비트 이하의 프레임 길이)를 가지는 인터리버를 사용함으로써 이동 통신 환경 하에서 터보 코드를 사용하여 음성 전송이 가능하게 되었다.As a result, efforts have been made to obtain the performance that can be obtained by using a conventionally complex channel code with a turbo code using an interleaver of several hundreds of sizes. The use of an interleaver enables voice transmission using turbo codes under mobile communication environments.

도 1 은 일반적인 터보 코드의 프레임 구조를 나타낸 도면이다.1 is a diagram illustrating a frame structure of a general turbo code.

도 1 에 도시된 터보 코드의 프레임 구조는 8kbps의 음성 서비스를 위한 프레임 규격의 예를 나타낸 것으로, 터보 코드의 프레임 구조를 설계하기에 앞서 이와 같은 프레임 규격을 결정할 필요가 있다.The frame structure of the turbo code shown in FIG. 1 shows an example of a frame standard for a voice service of 8 kbps, and it is necessary to determine such a frame standard before designing the frame structure of the turbo code.

도시된 프레임은 10ms 단위이며, 실제 전송율은 9.6kbps이다.The illustrated frame is in 10 ms units and the actual data rate is 9.6 kbps.

오류 정정 비트(CRC : Cyclic Redundancy Check)(4)는 10-6의 비트 에러율(BER)이 요구되는 정보 데이터(2)를 음성 대역으로 전송할 때, 자동 재전송 요구(ARQ : Automatic Retransmission Request)를 위한 오류 검사에 사용되도록 삽입된다.Cyclic Redundancy Check (CRC) (4) is used for automatic retransmission request (ARQ) when transmitting information data (2) requiring a bit error rate (BER) of 10 -6 to a voice band. Inserted for use in error checking.

도 2 는 일반적인 터보 코드 부호기의 구조를 나타낸 블록구성도이다.2 is a block diagram showing the structure of a typical turbo code coder.

터보 코드 부호기 내에는 입력되는 프레임 크기(N비트)와 같은 크기를 가지는 인터리버(10)가 존재하며, 터보 코드 부호기에는 두 개의 간단한 순환 컨벌루션 부호기(Recursive Convolutional Code)(20,30)를 병렬로 연결함으로써 N비트의 프레임으로 이루어진 입력을 이용하여 패리티 심볼(parity symbol)을 만드는 구조로 되어 있다.There is an interleaver 10 having the same size as the input frame size (N bits) in the turbo code encoder, and two simple cyclic convolutional codes (20, 30) are connected in parallel to the turbo code encoder. Thus, a parity symbol is formed by using an input composed of N-bit frames.

여기서, 인터리버(10)는 제2 순환 컨벌루션 부호기(30)로 입력되는 프레임의 순서를 바꿔 주는 역할을 하며, 입력 프레임의 크기와 동일한 크기(N비트)를 갖는다.Here, the interleaver 10 changes the order of the frames input to the second cyclic convolution encoder 30 and has the same size (N bits) as the size of the input frame.

따라서, 터보 코드 부호기의 출력(y1k,y2k)은 제1 순환 컨벌루션 부호기(20)의 출력(y1k) 뿐만 아니라 인터리버(10)를 통해 변형된 출력(y2k)으로 인해 이중의 패리티 정보를 지니게 된다.Accordingly, the outputs y 1k and y 2k of the turbo code encoder are dual parity information due to not only the output y 1k of the first cyclic convolutional encoder 20 but also the output y 2k modified through the interleaver 10. Will have.

도 2 에 도시된 터보 코드 부호기의 구조는 전송율을 1/2로 하기 위해 각 순환 컨벌루션 부호기(20,30)의 출력(y1k,y2k)을 번갈아 가며 전송하는 일 예를 보인 것이다.The structure of the turbo code encoder shown in FIG. 2 shows an example of alternately transmitting the outputs y 1k and y 2k of the respective cyclic convolutional encoders 20 and 30 so as to reduce the transmission rate to 1/2.

도 3 은 일반적인 터보 코드 복호기의 구조를 나타낸 블록구성도이다.3 is a block diagram showing the structure of a typical turbo code decoder.

일반적으로 터보 코드의 복호화 기법에서는 최대 사후(Maximun a Posteriori ; 이하, MAP 이라 약칭함) 복호기(50,70) 또는 소프트 출력 비터비 알고리즘(Soft-Output Viterbi Algorithm ; 이하, SOVA 라 약칭함) 복호기(미도시)를 이용하여 원래의 정보를 복원하게 된다.In general, a turbo code decoding technique includes a maximum post-Maximum a posteriori (hereinafter abbreviated as MAP) decoder (50, 70) or a soft-output Viterbi Algorithm (hereinafter referred to as SOVA) decoder. Original information) is restored.

여기서, SOVA 복호기는 MAP 복호기에 비해 하드웨어 복잡성은 상대적으로 낮으나, 성능 면에서는 떨어진다. 예로써 비트 에러율(BER)이 10-4이고 메모리가 4인 경우 MAP 복호기가 SOVA 복호기에 비해 0.7㏈ 정도 더 우수한 성능을 나타낸다.Here, the SOVA decoder has a relatively low hardware complexity compared to the MAP decoder, but is poor in performance. For example, when the bit error rate (BER) is 10 -4 and the memory is 4, the MAP decoder performs about 0.7 dB better than the SOVA decoder.

도 3 은 MAP 복호기(50,70)를 사용하는 터보 코드 복호기의 일 예로써, MAP 복호기(50,70)를 이용하여 반복 복호를 수행하는 구조로 되어 있으며, 반복 복호시 MAP 복호기(50,70)사이에서 부가 정보 비트(extrinsic information)(Zk)의 교환이 이루어진다.3 is an example of a turbo code decoder using the MAP decoders 50 and 70 and has a structure in which iterative decoding is performed using the MAP decoders 50 and 70. The MAP decoders 50 and 70 perform repeated decoding. Exchange of additional information bits Z k .

여기서, 부가 정보 비트(Zk)는 초기에는 "0"의 값을 가지지만 복호가 반복되면서 점점 정확한 값으로 교환이 이루어져, 반복 복호의 횟수가 증가함에 따라 비트 에러율(BER)이 점점 향상되는 장점이 있다.Here, the additional information bit (Z k ) initially has a value of "0", but is replaced with a more accurate value as the decoding is repeated, so that the bit error rate (BER) is gradually improved as the number of repeated decoding increases. There is this.

그런데 터보 코드 복호기는 그 자체에 인터리버(60)와 디인터리버(80,90)를 포함하고 있어서, 복잡성이 그만큼 높아진다.By the way, the turbo code decoder itself includes the interleaver 60 and the deinterleaver 80, 90, so that the complexity is high.

지금까지 설명한 종래의 터보 코드 부호기 및 복호기의 성능은 발생 다항식, 인터리빙 알고리즘 및 인터리버의 크기에 따라 변한다.The performance of the conventional turbo code encoder and decoder described so far varies depending on the size of the generated polynomial, the interleaving algorithm and the interleaver.

예로써, 대수 유사율(log-likelihood ratio)을 출력하는 MAP 복호기(50,70)의 경우 많은 계산 과정과 많은 메모리를 필요로 하기 때문에, 계산량 및 메모리 사용을 줄이기 위해 발생 다항식으로 E 함수를 사용하게 된다. E 함수는 주어진 구속장(Constraint length)에서 좋은 성능을 나타내는 구성 부호들을 찾는데 사용되는 발생 다항식이다.For example, MAP decoders 50 and 70 that output log-likelihood ratios require a lot of computation and memory, so use the E function as the generated polynomial to reduce computation and memory usage. Done. The E function is a generator polynomial used to find construct codes that perform well at a given constraint length.

인터리빙 알고리즘으로는, 블록 인터리빙(Block interleaving), 대각 인터리빙(helical interleaving) 및 랜덤 인터리빙(random interleaving)이 있는데, 블록 인터리빙과 대각 인터리빙은 비교적 간단한 인터리빙 알고리즘이며 랜덤 인터리빙이 터보 코드에 대해 가장 우수한 성능을 나타내는 알고리즘이다.Interleaving algorithms include block interleaving, diagonal interleaving, and random interleaving. Block interleaving and diagonal interleaving are relatively simple interleaving algorithms, and random interleaving provides the best performance for turbo code. The algorithm to represent.

그러나 입력되는 프레임 크기가 작은 경우 터보 코드에 대해 랜덤 인터리빙 알고리즘이 적용된다면 항상 좋은 성능을 얻을 수 있는 것만은 아니다.However, when the input frame size is small, if the random interleaving algorithm is applied to the turbo code, it is not always possible to obtain good performance.

따라서 인터리버의 크기도 또한 고려해야 하는데, 일반적으로는 동일한 반복 복호 회수에서 인터리버의 크기가 클수록 비트 에러율(BER) 성능이 향상됨을 알 수 있다. 하지만 터보 코드 부호기 또는 복호기의 복잡성을 고려해야 하며, 예로서 터보 코드 복호기의 효율성을 고려해 볼 때 인터리버의 가장 적당한 크기는 2048 정도이다.Therefore, the size of the interleaver should also be considered. In general, the larger the size of the interleaver at the same iterative decoding number, the better the bit error rate (BER) performance is. However, the complexity of the turbo code encoder or decoder should be taken into consideration, and considering the efficiency of the turbo code decoder as an example, the most suitable size of the interleaver is about 2048.

이와 같이 인터리버는 터보 코드 부호기 또는 복호기의 성능을 결정하는데 중요한 요소로써 작용한다.As such, the interleaver acts as an important factor in determining the performance of the turbo code encoder or decoder.

따라서 터보 인터리버를 설계함에 있어서, 비트 에러율(BER), 계산량, 요구되는 메모리, 'On the fly' 기능 및 'reverse order' 기능 등을 고려해야 한다.Therefore, when designing the turbo interleaver, it is necessary to consider bit error rate (BER), calculation amount, required memory, 'on the fly' function and 'reverse order' function.

다시 말하자면, 터보 코드 복호기에서 사용되는 MAP 복호기 또는 SOVA 복호기는 많은 계산량이 요구되기 때문에, 인터리빙 알고리즘의 계산량을 최소로 하는 방향으로 설계되어야 한다.In other words, since the MAP decoder or SOVA decoder used in the turbo code decoder requires a large amount of calculation, the MAP decoder or SOVA decoder should be designed in a direction that minimizes the calculation amount of the interleaving algorithm.

또한, 터보 코드가 큰 크기의 블록 단위로 부호화될 경우에는 길쌈 코드에 대해 상대적인 이득을 갖게 되기 때문에, 보다 큰 크기의 블록 단위로 부호화 및 복호화가 이루어지도록 하며, 이러한 블록에 대한 인터리빙 어드레스를 지정할 때는 최소의 메모리를 사용하는 방향으로 설계되어야 한다.In addition, when a turbo code is encoded in a block of a large size, it has a relative gain with respect to the convolutional code. Therefore, encoding and decoding are performed in a block of a larger size. When specifying an interleaving address for such a block, It should be designed to use the least memory.

참고로, 'On the fly' 기능은 부호화 또는 복호화가 정해진 일정 클록 내에서 이루어지도록 터보 인터리버의 어드레스를 일정 클록 단위로 출력하는 기능이며, 'reverse order' 기능은 터보 코드 복호기에서 MAP 알고리즘으로 디코딩이 이루어질 때 재귀적으로 계산되는 상태 매트릭값(state metric)에 대한 계산이 추가적인 버퍼의 요구 없이 이루어지도록 하는 기능이다.For reference, the 'On the fly' function outputs the address of the turbo interleaver in a predetermined clock unit so that encoding or decoding is performed within a predetermined clock. The 'reverse order' function is decoded by the MAP algorithm in the turbo code decoder. This is a function that allows calculation of state metric, which is calculated recursively when done, without requiring additional buffers.

이러한 터보 인터리버의 설계 조건을 충족시키는 인터리버들로는, 휴즈 네트워크 시스템사(HNC : Hughes Network Systems)의 GF 인터리버, 퀄컴(Qualcomm)의 LCS 인터리버, 모토롤라(Motorola)의 PN 인터리버, NTT 도코모(Docomo)의 MIL 인터리버 등을 들 수 있다.Interleavers that meet the design requirements of these turbo interleavers include GF interleavers from Hughes Network Systems (HNC), LCS interleavers from Qualcomm, PN interleavers from Motorola, and MIL from NTT Docomo. Interleaver etc. are mentioned.

이러한 인터리버들은 각기 기능적인 측면에서 상대적인 장단점을 가지는데, 표 1에는 상기 나열된 인터리버들의 상대적인 특징을 나타내었다.Each of these interleavers has relative advantages and disadvantages in terms of functionality. Table 1 shows the relative characteristics of the interleavers listed above.

성능Performance 계산량Calculation 메모리Memory 'on the fly''on the fly' 'reverse order''reverse order' HNSHNS 보통usually 보통usually 열등Inferior 지원support 지원support LCSLCS 우수Great 보통usually 보통usually 지원support 지원support MotorolaMotorola 보통usually 보통usually 우수Great 지원support 지원support MILMIL 우수Great 열등Inferior 열등Inferior ?? ??

상기 나열된 터보 인터리버들을 설계함에 있어서 상기한 상대적인 특징들을 종합해 보면, 타사 제품에 비해 상대적으로 열등한 측면을 고려하여 추후 최소한의 계산량 및 메모리로 보다더 우수한 성능과 기능을 지원해 주는 터보 인터리버의 개발이 요구된다.In the design of the above-mentioned turbo interleavers, the above-mentioned relative features are combined. Therefore, the development of a turbo interleaver that provides better performance and function with minimum computation and memory in the future is required considering the relatively inferior aspect compared to other products. do.

본 발명의 목적은 상기한 점을 감안하여 안출한 것으로, 피엔 시퀀스의 랜덤 특성을 이용하여 최소한의 메모리 사용으로 최대의 성능을 발휘할 수 있는 터보 인터리버의 설계 방법을 제공하는데 있다.Disclosure of Invention An object of the present invention is to provide a design method of a turbo interleaver capable of exhibiting maximum performance with minimum memory usage by using random characteristics of a PEN sequence.

상기한 목적을 달성하기 위한 본 발명에 따른 피엔 시퀀스를 이용한 터보 인터리버 설계 방법의 특징은, 터보 코드 복호기에서 사용되는 하나 또는 그 이상의 인터리버를 설계할 때, 피엔 시퀀스를 각 열(column)별로 랜덤하게 발생시키기 위한 발생 다항식, 상기 발생되는 피엔 시퀀스의 초기 인덱스 및 각 열(column)별 인덱스 증분을 고려하여 일정 크기의 인터리버가 설계된다는 것이다.A feature of the turbo interleaver design method using the PEN sequence according to the present invention for achieving the above object is that when designing one or more interleavers used in the turbo code decoder, the PEN sequence is randomly selected for each column. The interleaver of a predetermined size is designed in consideration of a generation polynomial for generating, an initial index of the generated PEN sequence, and an index increment for each column.

또한 본 발명에 따른 피엔 시퀀스를 이용한 터보 인터리버 설계 방법의 특징은, 터보 코드를 사용하며, 하나 또는 그 이상의 인터리버를 구비한 복호기에 있어서, 상기 인터리버의 행 비트에 대해 비트 역전시킴과 동시에 상기 인터리버의 열 비트에 피엔 시퀀스를 부여하는 단계와; 현재 열의 피엔 시퀀스에 초기 인덱스를 가하고, 이후 해당 길이의 피엔 시퀀스를 발생하는 단계와; 상기 현재 열의 피엔 시퀀스의 발생 범위 내에서 해당 길이의 다음 열의 피엔 시퀀스 발생이 초기화되는 단계를 포함하여 이루어진다는 것이다.In addition, a feature of the turbo interleaver design method using the PEN sequence according to the present invention is a decoder using a turbo code, and having one or more interleavers, in which the bit is inverted for the row bits of the interleaver, Assigning a Pien sequence to the ten bits; Adding an initial index to the Pien sequence of the current column, and then generating a Pien sequence of the corresponding length; And generating an initialization of the next sequence of the next column of the corresponding length within the generation range of the current sequence of the current column.

바람직하게는, 상기 다음 피엔 시퀀스 발생의 초기화 단계 이후 일정 길이의 다음 피엔 시퀀스가 순차적으로 발생되며, 다음 피엔 시퀀스 발생의 초기화 단계는, 상기 현재 열의 초기 인덱스에 일정 인덱스 증분이 부과된 다음 열의 초기 인덱스가 생성됨에 따라 수행된다.Preferably, after the initialization step of the next generation of the next PIEN sequence, the next PIEN sequence of a predetermined length is generated sequentially, the initializing step of the next PIEN sequence generation, the initial index of the next column imposes a constant index increment on the initial index of the current column Is performed as is generated.

여기서, 상기 다음 열의 초기 인덱스를 생성하는데 필요한 상기 인덱스 증분은 현재 열의 피엔 시퀀스 발생 범위 내에서 기억된다.Here, the index increment necessary to generate the initial index of the next column is stored within the range of occurrences of the Pien sequence of the current column.

도 1 은 일반적인 터보 코드의 프레임 구조를 나타낸 도면.1 is a diagram illustrating a frame structure of a general turbo code.

도 2 는 일반적인 터보 코드 부호기의 구조를 나타낸 블록구성도.2 is a block diagram showing the structure of a typical turbo code coder.

도 3 은 일반적인 터보 코드 복호기의 구조를 나타낸 블록구성도.3 is a block diagram showing the structure of a typical turbo code decoder.

도 4 는 본 발명에 따른 터보 인터리버의 구조를 나타낸 블록구성도.Figure 4 is a block diagram showing the structure of a turbo interleaver according to the present invention.

도 5 및 도 6 은 본 발명에 따른 터보 인터리버를 사용할 경우에 성능 비교를 나타낸 그래프.5 and 6 are graphs showing a performance comparison when using the turbo interleaver according to the present invention.

*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

100 : 종렬 초기 인덱스부(column initial index)100: column initial index

110 : 카운터 120 : 비트 역전부(bit reverse)110: counter 120: bit reverse

130 : LFSR(Linear Feedback Shift Register)130: Linear Feedback Shift Register (LFSR)

이하, 본 발명에 따른 피엔 시퀀스를 이용한 터보 인터리버 설계 방법에 대한 바람직한 일 실시 예를 첨부된 도면을 참조하여 설명한다.Hereinafter, a preferred embodiment of a turbo interleaver design method using a PEN sequence according to the present invention will be described with reference to the accompanying drawings.

본 발명에서는 앞에서 언급된 모토롤라사의 PN 인터리버와 비교해 볼 때, 피엔 시퀀스를 이용하여 메모리의 사용은 유지되면서 보다 우수한 성능을 발휘할 수 있는 터보 인터리버의 설계 방법을 제시한다.Compared to the aforementioned Motorola PN interleaver, the present invention proposes a design method of a turbo interleaver that can exhibit better performance while maintaining memory use using a PEN sequence.

도 4 는 본 발명에 따른 터보 인터리버의 구조를 나타낸 블록구성도이다.4 is a block diagram showing the structure of a turbo interleaver according to the present invention.

도 4를 참조하면, 본 발명의 터보 인터리버는 그 크기가 M*N인 경우로, 행의 크기(M)는 2m형태를 가지고 열의 크기(N)는 2n-1 의 형태를 갖는다.Referring to FIG. 4, the turbo interleaver of the present invention has a size of M * N. The size of the row M has a shape of 2 m and the size of the column N has a shape of 2 n −1.

이러한 터보 인터리버에 초기 클록(0)부터 순차적인 클록이 카운터(110)를 거쳐 입력되면, 이 입력들은 m비트의 상위 비트와 n비트의 하위 비트로 나뉘어진다.When the sequential clock is input to the turbo interleaver from the initial clock 0 through the counter 110, these inputs are divided into upper bits of m bits and lower bits of n bits.

상위 m비트는 비트 역전부(120)에서 비트 역전(bit reversing) 되고, 선형 궤환 쉬프트 레지스터(Linear Feedback Shift Register ; 이하, LFSR 라 약칭함)(130)는 2m기간 동안 레지스터 천이를 통하여 n비트의 피엔 시퀀스를 발생시킨다.The upper m bits are bit reversed in the bit inversion 120, and the Linear Feedback Shift Register (hereinafter abbreviated as LFSR) 130 is n bits through the register transition for a 2 m period. To generate the Pien sequence.

이렇게 발생된 피엔 시퀀스는 발생 다항식에서 초기값을 갖는데, 이는 복호화가 이루어지는 블록에 대한 인터리빙 어드레스 발생 최초 시점에서 이루어진다.The generated PEN sequence has an initial value in the generation polynomial, which is performed at the first time of the interleaving address generation for the block in which the decoding is performed.

또한 LFSR(130)의 각 플립플롭(flip-flop)을 이진값으로 볼 때 피엔 시퀀스는 1부터 2n-1 까지의 범위를 갖기 때문에, 인터리빙 어드레스가 '0'부터 지정되기 위해서는 LFSR(130)로 출력되는 피엔 시퀀스에 '-1'를 합산하여 결국 n비트의 피엔 시퀀스를 만들어낸다.In addition, when the flip-flop of the LFSR 130 is viewed as a binary value, the PIEN sequence has a range from 1 to 2 n -1, so that the interleaving address is designated from '0' so that the LFSR 130 can be assigned. '-1' is added to the Pien sequence outputted as to generate an n-bit Pien sequence.

이와 같은 n비트의 피엔 시퀀스는 비트 역전부(120)에서 비트 역전(bit reversing)된 m비트와 합산되고, 이 합산값이 복호되는 블록에 대한 전체 인터리빙 어드레스값으로 지정된다.This n-bit PN sequence is summed with the m bits bit-reversed in the bit inversion unit 120, and the sum value is designated as the total interleaving address value for the block to be decoded.

이 때, 상위 m비트는 2m형태이므로 피엔 시퀀스의 형태(2n-1)와 일치되지 않는다.At this time, since the upper m bits are in the form of 2 m , they do not coincide with the form (2 n -1) of the Pien sequence.

이는 행과 열의 주기 특성이 일치하지 않는 것을 나타내며, 이를 보상하기 위해 비트 역전(bit reversing)된 m비트값의 일부를 빼주게 된다.This indicates that the period characteristics of the row and column do not match, and to compensate for this, a part of the bit reversing m bit value is subtracted.

다음은 비트 역전된 m비트와 합산되는 피엔 시퀀스의 발생 절차를 설명한다.The following describes the generation procedure of the Pien sequence that is summed with the bit inverted m bits.

이 절차는 종렬 초기 인덱스부(Column Initial Index)(100) 및 LFSR(130)에 의해 수행되며, 랜덤한 발생 특성을 나타내기 위한 것이다.This procedure is performed by the Column Initial Index 100 and the LFSR 130, and is intended to represent random occurrence characteristics.

먼저 2n-1의 주기 특성을 갖는 피엔 시퀀스를라 하고, 첫 번째 열의 초기 인덱스를 ninitial라 한다.First, a Pien sequence with a period characteristic of 2 n -1 The initial index of the first column is n initial .

본 발명에 따르면 종렬 초기 인덱스부(100)는 첫 번째 열을 제외한 각 열마다 바로 전 열의 초기 인덱스에 대한 일정 증분을 더해진 초기 인덱스를 부여한다.According to the present invention, the column initial index unit 100 assigns an initial index to each column except the first column by adding a predetermined increment to the initial index of the immediately preceding column.

따라서, 첫 번째 열의 초기 인덱스 ninitial에 의해 쉬프트된 피엔 시퀀스가이고 인덱스 증분이라면, k+1번째 열의 피엔 시퀀스는 다음과 같다.Thus, the Pien sequence shifted by the initial index n initial of the first column And the index increment If it is, the Pien sequence of the k + 1st column is as follows.

이러한 피엔 시퀀스는 순차적으로 발생하는 특성이 있으므로, 인덱스 증분을 각 열 범위에서 기억시켜 현재 열의 피엔 시퀀스에서 다음 열 피엔 시퀀스의 초기 인덱스를 알 수 있도록 한다.Since the PEN sequence has a characteristic of being sequentially generated, the index increment is stored in each column range so that the initial index of the next column PEN sequence of the current PEN sequence is known.

즉, 2m이하로 정의되는 인덱스 증분이인 경우에, k+2번째 열의 피엔 시퀀스의 초기 인덱스는에 존재한다는 것이다.That is, an index increment defined as 2 m or less If is, the Pien sequence in the k + 2th column The initial index of Will exist in.

예로써, 피엔 시퀀스에서 n=3, 인덱스 증분, 첫 번째 열의 피엔 시퀀스의 인덱스가 { 2 5 0 7 1 3 6 } 일 때 각 열의 피엔 시퀀스 발생 배열을 표 2에 예시하였다.For example, the Pien sequence N = 3, index increment In Table 2, the array of PY sequence generation of each column when the index of the PY sequence of the first column is {2 5 0 7 1 3 6} is illustrated.

행 열Row column 1One 22 33 44 55 66 77 88 1One 2(010)2 (010) 0(000)0 (000) 1(001)1 (001) 6(110)6 (110) 2(010)2 (010) 0(000)0 (000) 1(001)1 (001) 6(110)6 (110) 22 5(101)5 (101) 7(111)7 (111) 3(011)3 (011) 4(100)4 (100) 5(101)5 (101) 7(111)7 (111) 3(011)3 (011) 4(100)4 (100) 33 0(000)0 (000) 1(001)1 (001) 6(110)6 (110) 2(010)2 (010) 0(000)0 (000) 1(001)1 (001) 6(110)6 (110) 2(010)2 (010) 44 7(111)7 (111) 3(011)3 (011) 4(100)4 (100) 5(101)5 (101) 7(111)7 (111) 3(011)3 (011) 4(100)4 (100) 5(101)5 (101) 55 1(001)1 (001) 6(110)6 (110) 2(010)2 (010) 0(000)0 (000) 1(001)1 (001) 6(110)6 (110) 2(010)2 (010) 0(000)0 (000) 66 3(011)3 (011) 4(100)4 (100) 5(101)5 (101) 7(111)7 (111) 3(011)3 (011) 4(100)4 (100) 5(101)5 (101) 7(111)7 (111) 77 6(110)6 (110) 2(010)2 (010) 0(000)0 (000) 1(001)1 (001) 6(110)6 (110) 2(010)2 (010) 0(000)0 (000) 1(001)1 (001)

이와 같이 절차를 거쳐 발생된 n비트의 피엔 시퀀스는 비트 역전된 m비트와 합산되어의 크기를 갖는 인터리빙 어드레스를 구성하게 된다.The n-bit PN sequence generated in this manner is summed with the m-bit inverted bit. An interleaving address having a size of?

보다 상세하게는, 먼저 {0(000), 1(001), 2(010), 3(011), 4(100), 5(101), 6(110), 7(111)}로 되어 있던 터보 인터리버의 각 행에 비트 역전(bit reverse)을 가하고 동시에 각 열에 피엔 시퀀스를 부여하기 위해 초기 인덱스를 부여함으로써 {2(010), 5(101), 0(000), 7(111), 1(001), 3(011), 6(110), 4(100)}의 첫 번째 열의 피엔 시퀀스를 발생한다.More specifically, first, {0 (000), 1 (001), 2 (010), 3 (011), 4 (100), 5 (101), 6 (110), and 7 (111)} By applying a bit reverse to each row of the turbo interleaver and simultaneously giving an initial index to give each column a Pien sequence, {2 (010), 5 (101), 0 (000), 7 (111), 1 (001), 3 (011), 6 (110), 4 (100)} generate the Pien sequence of the first column.

이 후 두 번째 열의 피엔 시퀀스를 발생하기 위해 인덱스 증분을 첫 번째 열의 피엔 시퀀스에 부과한다.The index increment is then imposed on the first column's pieen sequence to generate the second column's pieen sequence.

따라서, 첫 번째 열의 발생 범위에서 두 번째 열의 초기 인덱스를 알 수 있기 때문에, 첫 번째 열의 피엔 시퀀스가 발생되는 도중에 두 번째 열의 피엔 시퀀스가 발생을 시작하게 된다.Therefore, since the initial index of the second column in the occurrence range of the first column can be known, the Pien sequence of the second column starts to be generated during the generation of the first column.

결국 본 발명에서는 각 열에 인덱스 증분을 기억하도록 하여, 현재 열의 피엔 시퀀스 발생 범위 내에서 다음 열 피엔 시퀀스의 초기 인덱스를 알 수 있도록 하기 때문에, 인터리빙을 위해 사용되는 메모리를 최소화 할 수 있다.As a result, in the present invention, the index increment is stored in each column, so that the initial index of the next column Pien sequence can be known within the generation range of the Pien sequence of the current column, thereby minimizing the memory used for interleaving.

만약 터보 코드 복호기에서또는의 크기를 갖는 터보 인터리버를 사용할 경우에는, 펑쳐링(puncturing)에 의해 인터리빙 어드레스를 얻게 된다.If in turbo code decoder or In the case of using the turbo interleaver having the size of, the interleaving address is obtained by puncturing.

그런데 m비트의 비트 역전(bit reversing)을 통해 연속된 두 개의 인터리빙 어드레스에서는 펑쳐링(puncturing)이 발생하지 않기 때문에, 정해진 일정 클록 내에서 복호화가 이루어지도록 인터리빙 어드레스를 2클록 기준으로 출력하는 'On the fly' 기능을 제공한다.However, puncturing does not occur at two consecutive interleaving addresses through bit reversing of m bits, so that the interleaving address is output based on two clocks so that decoding is performed within a predetermined clock. the fly 'function.

특히 본 발명에 따른 터보 인터리버의 설계에 있어서, 가중치-2(weight-2)의 오류 발생을 줄이는 관점에서 이루어지고, 주어진 터보 인터리버의 크기에서 가중치-2의 오류 발생 또는 가중치-2의 해밍거리(hamming distance)를 최소화하는 관점에서 검색될 수 있다.In particular, in the design of the turbo interleaver according to the present invention, it is made in view of reducing the error occurrence of weight-2, and the error occurrence of weight-2 or the hamming distance of weight-2 in a given turbo interleaver size. It can be searched in terms of minimizing hamming distance.

다음의 표 3에는 본 발명에 따른 터보 인터리버의 크기별로 발생 다항식, 초기 인덱스 및 인덱스 증분을 검색한 결과이다.Table 3 below shows the results of searching the generated polynomial, the initial index, and the index increment for each turbo interleaver according to the present invention.

4040 8080 160160 320320 640640 12801280 25602560 38403840 51205120 발생 다항식Occurrence polynomial 1313 2323 2323 6767 6767 155155 103103 103103 211211 초기 인덱스Initial index 22 88 1One 1One 00 1One 1One 1010 66 인덱스 증분Index increment 44 1111 00 22 22 2929 00 00 2929 배열 구성Array configuration 8*78 * 7 8*158 * 15 16*1516 * 15 16*3116 * 31 32*3132 * 31 32*6332 * 63 64*6364 * 63 64*6364 * 63 64*12764 * 127

도 5 및 도 6 은 본 발명에 따른 터보 인터리버를 사용할 경우에 성능 비교를 나타낸 그래프이다.5 and 6 are graphs showing performance comparison when using the turbo interleaver according to the present invention.

터보 인터리버의 크기가 640 인 경우, 도 5 에는 덧셈성 백색 가우스 잡음(AWGN : Additive White Gaussian Noise) 환경에서의 성능 비교를 나타내었으며, 도 6 에는 비상관 레일라이 페이딩(Non-correlative Rayleigh Fading) 채널 환경에서의 성능 비교를 나타내었다.When the size of the turbo interleaver is 640, FIG. 5 shows a performance comparison in an Additive White Gaussian Noise (AWGN) environment, and FIG. 6 shows a non-correlative Rayleigh Fading channel environment. Performance comparison at

이상에서 설명한 바와 같이 본 발명의 피엔 시퀀스를 이용한 터보 인터리버 설계 방법에 따르면, 피엔 시퀀스를 이용하여 터보 인터리버를 구성하기 때문에 최소한의 메모리 사용된다는 효과가 있다.As described above, according to the turbo interleaver design method using the PEN sequence of the present invention, since the turbo interleaver is configured using the PEN sequence, there is an effect that the minimum memory is used.

또한, 최소한의 메모리 사용에도 불구하고 최고의 인터리빙 성능을 갖는다.It also has the best interleaving performance despite minimal memory usage.

Claims (3)

터보 코드를 사용하며, 하나 또는 그 이상의 인터리버를 구비한 복호기에 있어서,In a decoder using a turbo code and having one or more interleavers, 상기 인터리버의 행 비트에 대해 비트 역전시킴과 동시에 상기 인터리버의 열 비트에 피엔 시퀀스를 부여하는 단계와;Bitwise inverting the row bits of the interleaver and assigning a PN sequence to the column bits of the interleaver; 현재 열의 피엔 시퀀스에 초기 인덱스를 가하고, 이후 해당 길이의 피엔 시퀀스를 발생하는 단계와;Adding an initial index to the Pien sequence of the current column, and then generating a Pien sequence of the corresponding length; 상기 현재 열의 피엔 시퀀스의 발생 범위 내에서 해당 길이의 다음 열의 피엔 시퀀스 발생이 초기화되는 단계를 포함하여 이루어지는 것을 특징으로 하는 터보 인터리버의 피엔 시퀀스 발생 방법.And generating an initialization of the next sequence of the next column of the corresponding length within the generation range of the current sequence of the current column. 터보 코드를 사용하며, 하나 또는 그 이상의 인터리버를 구비한 복호기에 있어서,In a decoder using a turbo code and having one or more interleavers, 상기 인터리버의 행 비트에 대해 비트 역전시킴과 동시에 상기 인터리버의 열 비트에 피엔 시퀀스를 부여하는 단계와;Bitwise inverting the row bits of the interleaver and assigning a PN sequence to the column bits of the interleaver; 현재 열의 피엔 시퀀스에 초기 인덱스를 가하고, 이후 해당 길이의 피엔 시퀀스를 발생하는 단계와;Adding an initial index to the Pien sequence of the current column, and then generating a Pien sequence of the corresponding length; 상기 현재 열의 피엔 시퀀스에 일정 인덱스 증분이 부과된 다음 열의 초기 인덱스를 생성시켜 해당 길이의 다음 열 피엔 시퀀스 발생이 초기화되는 단계를 포함하여 이루어지는 것을 특징으로 하는 터보 인터리버의 피엔 시퀀스 발생 방법.And generating an initial index of a next column after a predetermined index increment is applied to the current sequence of the current column. 터보 코드 복호기에서 사용되는 하나 또는 그 이상의 인터리버를 설계함에 있어서, 피엔 시퀀스를 각 열(column)별로 랜덤하게 발생시키기 위한 발생 다항식, 상기 발생되는 피엔 시퀀스의 초기 인덱스 및 각 열(column)별 인덱스 증분을 고려하여 일정 크기의 인터리버가 설계되는 것을 특징으로 하는 피엔 시퀀스를 이용한 터보 인터리버 설계 방법.In designing one or more interleavers used in the turbo code decoder, a generation polynomial for randomly generating the Pien sequence for each column, an initial index of the generated Pien sequence, and an index increment for each column Turbo interleaver design method using a Pien sequence, characterized in that the interleaver of a predetermined size is designed in consideration of.
KR1019990013555A 1999-04-16 1999-04-16 Tutbo Interleaver designing Method using PN Sequence KR20000066448A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990013555A KR20000066448A (en) 1999-04-16 1999-04-16 Tutbo Interleaver designing Method using PN Sequence

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990013555A KR20000066448A (en) 1999-04-16 1999-04-16 Tutbo Interleaver designing Method using PN Sequence

Publications (1)

Publication Number Publication Date
KR20000066448A true KR20000066448A (en) 2000-11-15

Family

ID=19580469

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990013555A KR20000066448A (en) 1999-04-16 1999-04-16 Tutbo Interleaver designing Method using PN Sequence

Country Status (1)

Country Link
KR (1) KR20000066448A (en)

Similar Documents

Publication Publication Date Title
KR100761306B1 (en) Decoding method and device
KR100671075B1 (en) Decoder, decoding system and method for decoding to facilitate the use of turbo coding
JP3730238B2 (en) Adaptive channel coding method and apparatus
Rowitch et al. On the performance of hybrid FEC/ARQ systems using rate compatible punctured turbo (RCPT) codes
US6289486B1 (en) Adaptive channel encoding method and device
US6754290B1 (en) Highly parallel map decoder
KR100876735B1 (en) Iterative decoding stop device and method in mobile communication system
US8572469B2 (en) Turbo decoder employing ARP (almost regular permutation) interleave and arbitrary number of decoding processors
US20080115034A1 (en) QPP Interleaver/De-Interleaver for Turbo Codes
KR19980064845A (en) Coding and decoding system using seed check bits
US6434203B1 (en) Memory architecture for map decoder
EP0887966A1 (en) Convolutional encoding method and system
US8473829B2 (en) Address generation for contention-free memory mappings of turbo codes with ARP (almost regular permutation) interleaves
Gilbert et al. Low complexity stopping criteria for UMTS turbo-decoders
KR100628201B1 (en) Method for Turbo Decoding
KR19990081470A (en) Method of terminating iterative decoding of turbo decoder and its decoder
EP1118158B1 (en) Memory architecture for map decoder
US9374109B2 (en) QPP interleaver/DE-interleaver for turbo codes
US9130728B2 (en) Reduced contention storage for channel coding
KR20000066448A (en) Tutbo Interleaver designing Method using PN Sequence
US7565594B2 (en) Method and apparatus for detecting a packet error in a wireless communications system with minimum overhead using embedded error detection capability of turbo code
JP2005167513A (en) Decoding device and decoding method
KR100645730B1 (en) Method for interleaving using magic matrix
KR100370780B1 (en) Coding/decoding method and apparatus of turbo code concatenated by Hamming code
Leanderson et al. Performance of incremental redundancy schemes with turbo codes

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20041203

Effective date: 20060629

Free format text: TRIAL NUMBER: 2004101005695; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20041203

Effective date: 20060629