KR20050022511A - output address calculator of turbo interleaver - Google Patents

output address calculator of turbo interleaver Download PDF

Info

Publication number
KR20050022511A
KR20050022511A KR1020030061015A KR20030061015A KR20050022511A KR 20050022511 A KR20050022511 A KR 20050022511A KR 1020030061015 A KR1020030061015 A KR 1020030061015A KR 20030061015 A KR20030061015 A KR 20030061015A KR 20050022511 A KR20050022511 A KR 20050022511A
Authority
KR
South Korea
Prior art keywords
output
value
output address
counter
bits
Prior art date
Application number
KR1020030061015A
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 KR1020030061015A priority Critical patent/KR20050022511A/en
Publication of KR20050022511A publication Critical patent/KR20050022511A/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/276Interleaving address generation
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

PURPOSE: An output address calculator of a turbo interleaver is provided to reduce address obtaining time by omitting time required for obtaining ineffective addresses. CONSTITUTION: A counter(21) outputs a first binary value having a length of n+5 bits and a second binary value which is added by one from the first binary value. The two outputs of the counter are used to refer to a table by using the value n as indexes. First and second interleaver output address calculation blocks(20,30) output temporary output addresses according to a selected value and an accumulated value. A multiplexer(40) selects an effective output address from the output values of the first and calculates an output address of a turbo interleaver.

Description

터보 인터리버의 출력 주소 산출기{output address calculator of turbo interleaver}Output address calculator of turbo interleaver

본 발명은 이동 통신 시스템에 관한 것으로, 특히 터보 코드를 사용하는 부호 단에서 터보 인터리버의 출력 주소를 산출하는 터보 인터리버의 출력 주소 산출기 및 그를 이용한 출력 주소 산출 방법에 관한 것이다.The present invention relates to a mobile communication system, and more particularly, to an output address calculator of a turbo interleaver for calculating an output address of a turbo interleaver at a code stage using a turbo code, and a method of calculating an output address using the same.

CDMA 2000에서의 순방향 통화링크 구성은 IS-95의 순방향 통화링크에서 사용하는 1.25MHz를 멀티 캐리어(1.25MHz*3)로 사용하므로 주파수 대역폭이 5MHz인 광대역(Broad band)으로 전송한다.In the CDMA 2000, the forward call link configuration uses 1.25MHz, which is used in the IS-95 forward call link, as a multicarrier (1.25MHz * 3), and thus transmits a broadband band having a frequency bandwidth of 5MHz.

CDMA 2000 시스템의 채널 통화링크에서 IS-95보다 보강된 기능으로는 채널 인코딩시 16Kbps 이상은 터보코드(Turbo Code)를 사용할 수 있도록 하여 고속 통신에 대비하였다.The enhanced feature of IS-95 in the channel call link of the CDMA 2000 system is that more than 16Kbps of Turbo code can be used for channel encoding for high speed communication.

CDMA 2000 터보코드는 무선구간에서 발생한 데이터 에러를 수신측에서 복원하기 위하여 전송대상의 데이터에 오류를 처리할 수 있는 부분을 추가하는 방법을 순방향 오류 정정(forward error correction)이라고 하는데, IS-95에서는 산발적인 에러에 강한 복원력을 갖는 컨벌루션 코드가 사용되고, IS-2000에서는 고속 데이터를 위하여 터보코드를 병행하여 사용한다.In CDMA 2000 turbo code, a method of adding an error handling part to data to be transmitted in order to recover a data error occurring in a wireless section at a receiver is called forward error correction. A convolutional code with strong resilience against sporadic errors is used, and the IS-2000 uses a turbo code for high speed data.

이와 같은 터보 코드(turbo code)는 오류 정정 부호(error correction code) 중에서 가장 우수한 것 중에 하나이며, 기존의 컨벌루션 코드에 비해서 구현이 복잡하지만 성능이 우수하여 고속 데이터 전송에 주로 사용된다.Such a turbo code is one of the best among error correction codes, and it is mainly used for high-speed data transmission because of its complicated implementation but superior performance compared to a conventional convolutional code.

상기 터보 디코더의 한 부분인 터보인터리버는 전송정보 비트의 순서를 바꾸어 주는 역할을 하며, N 정보 비트의 프레임과 동일한 크기를 가진다. The turbo interleaver, which is part of the turbo decoder, changes the order of transmission information bits and has the same size as a frame of N information bits.

IS-2000 이동 통신 시스템에서 사용하는 터보 부호기(Turbo encoder)에서 터보 인터리버의 출력 주소를 산출하는 구조는 도 1과 같다.A structure of calculating an output address of a turbo interleaver in a turbo encoder used in an IS-2000 mobile communication system is shown in FIG. 1.

도 1은 종래 기술에 따른 출력 주소 산출을 위한 터보 인터리버의 기본 개념을 설명하기 위한 블록 구성도이다.1 is a block diagram illustrating a basic concept of a turbo interleaver for output address calculation according to the prior art.

종래 기술에 따른 터보 인터리버의 출력 주소 산출기의 기본 구성은, 도시된 바와 같이 비트 반전 블록(bit reverse)(1)과, 룩업 테이블(lookup table)(2)과, 1 가산 및 n 최하위 비트 선택 블록(add 1 and select the n LSB)(3)과, 곱셈 및 n 최하위 비트 선택 블록(Multiply and select the n LSBs)(4)과, 절사 블록(discard if input ≥Nturbo)(5)으로 구성된다.The basic configuration of the output address calculator of the turbo interleaver according to the prior art is, as shown, a bit reverse block 1, a lookup table 2, one addition and n least significant bit selection. Block (add 1 and select the n LSB) (3), multiply and select the n LSBs (4), and trim block (discard if input ≥ N turbo ) (5). do.

상기한 터보 인터리버에서 사용되는 파라미터들을 표 1에서 나타내고 있다.The parameters used in the turbo interleaver are shown in Table 1.

우선, 터보인터리버 파라미터 n(Nturbo ≤2n-5를 만족하는 가장 작은 정수)을 정한다.First, the turbointerleaver parameter n (the smallest integer that satisfies N turbo ≤ 2 n-5 ) is determined.

이어서, (n + 5)비트 카운터(6)를 0으로 초기화한 후, (n + 5)비트 카운터(6)에서의 n 비트의 최상위비트(MSB) 값에 1가산 및 n 최하위 비트 선택 블록(3)에서 1을 더하고 여기에서 n 비트 LSB 값을 구하여 곱셈 및 n 최하위 비트 선택 블록(4)으로 출력한다. Subsequently, after initializing the (n + 5) bit counter 6 to 0, 1 addition to the most significant bit (MSB) value of the n bits in the (n + 5) bit counter 6 and n least significant bit selection block ( Add 1 in 3), find the n-bit LSB value, and output it to the multiplication and n least significant bit selection block (4).

또한 (n + 5)비트 카운터(6)의 5 비트 LSB 어드레스에 해당되는 룩업 테이블(2)의 값을 표1에서 구하여 곱셈 및 n 최하위 비트 선택 블록(4)으로 출력한다. In addition, the value of the lookup table 2 corresponding to the 5-bit LSB address of the (n + 5) bit counter 6 is obtained from Table 1 and output to the multiplication and n least significant bit selection block 4.

그러면, 곱셈 및 n 최하위 비트 선택 블록은 1가산 및 n 최하위비트 선택 블록(3)이 출력값만큼 룩업 테이블(2)의 출력값을 누적하여 더하고 이 값의 하위 n 비트의 값을 구하여 절사블록(5)으로 출력한다.Then, the multiplication and the n least significant bit selection block add one cumulative number and the n least significant bit selection block 3 by accumulating the output value of the lookup table 2 by the output value, and calculating the value of the lower n bits of this value. Will print

또한 비트 반전 블록(1)에서는, (n + 5)비트 카운터(6)의 5 비트 LSB 어드레스(i4,...i0)에 해당되는 비트 반전(bit-reverse)(i0,...i4)값을 구하여 절사 블록(5)으로 출력한다.In addition, the bit inversion block (1) In, (n + 5), the bit counter (6) a 5-bit LSB address (i4, ... i0) bit reversed (bit-reverse) corresponding to the (i0, ... i4) The value is obtained and output to the trimming block (5).

절사블록(5)에서는 비트 반전 블록(1)에서의 비트 반전값을 최상위 비트 값(MSB)으로 하고, 곱셈 및 n 최하위 비트 선택 블록(4)에서의 출력값을 최하위 비트(LSB)로 하는 임시 어드레스(i0,...i4)를 구한다.In the trimming block 5, a temporary address whose bit inversion value in the bit inversion block 1 is the most significant bit value MSB and the output value in the multiplication and n least significant bit selection block 4 is the least significant bit LSB. Find (i 0, ... i4 ).

절사블록(5)에서는 임시 어드레스의 값이 설정된 터보인터리버 파라미터Nturbo보다 작으면 이것을 터보인터리버의 출력 주소로 선택하고, 아니면 임시 어드레스 값을 버리고, (n+5) 비트 카운터(6)의 출력 값을 하나씩 증가시키면서 출력 주소를 선택하거나, 버리게 된다.In the trimming block 5, when the value of the temporary address is smaller than the set turbo interleaver parameter N turbo , it is selected as the output address of the turbo interleaver, otherwise the temporary address value is discarded, and the output value of the bit counter 6 is (n + 5). Increments by one to select or discard the output address.

도 2는 도 1에 나타낸 터보 인터리버의 리소스를 최소화하여 구현한 터보 인터리버의 블록 구성도이다.FIG. 2 is a block diagram of a turbo interleaver implemented by minimizing the resources of the turbo interleaver shown in FIG. 1.

도 2에 나타낸 터보 인터리버의 출력 주소 산출기는 표1에 해당되는 ROM형태의 룩업 테이블(12), 최하위 4 비트 선택 블록(13), 디먹스(14), 4 누적 블록(15), 먹스(16) 및 절사 블록(17)으로 구성된다.The output address calculator of the turbo interleaver shown in FIG. 2 includes a ROM-shaped lookup table 12, a least significant four bit selection block 13, a demux 14, a four accumulation block 15, and a mux 16 corresponding to Table 1. ) And the cutting block 17.

이와 같은 터보 인터리버의 맨 앞단에 존재하는 (n+5)비트 카운터(11)의 5 비트의 LSB는 룩업 테이블(12)의 입력 값으로 들어간다. 그리고 이 카운터(11)의 n 비트의 MSB에는 다시 1을 더하여 이중 하위 n 비트만을 가지고 4비트 누산 블록(15)에 넣는다. The 5-bit LSB of the (n + 5) bit counter 11 existing at the front end of the turbo interleaver enters the input value of the lookup table 12. The n-bit MSB of this counter 11 is added to 1 again, and only a double lower n-bit is added to the 4-bit accumulation block 15.

이 4비트 누산 블록(15)에서의 출력값의 하위 n 자리의 값을 출력 주소의 하위 n 비트 값으로 하고, 앞에서 룩업 테이블(12)에 입력으로 들어간 5 비트를 비트 리버스(bit-reverse) 한 값이 출력 주소의 상위 5비트 값이다. The value of the lower n digits of the output value in this 4-bit accumulation block 15 as the lower n-bit value of the output address, and the value which bit-reverses the five bits entered into the lookup table 12 earlier. The high five bits of this output address.

절사 블록(17)에서는 이렇게 구한 (n+5) 비트의 출력 주소가 Nturbo 보다 작다면 유효한 터보 인터리버의 출력 주소가 되고, 그렇지 않으면 이 값은 버리고 다시 입력단의 카운터를 하나 증가시켜서 유효한 출력 주소를 구한다.In truncation block 17, if the output address of the (n + 5) bits thus obtained is smaller than N turbo , it becomes the output address of a valid turbo interleaver. Otherwise, this value is discarded and the counter of the input stage is incremented again to obtain a valid output address. Obtain

모두 Nturbo 개의 출력값을 구할때까지 입력단의 카운터를 증가시키면서 유효한 출력 주소를 순차적으로 구한다.In order to obtain N turbo outputs, the valid output address is sequentially obtained by incrementing the counter of the input stage.

구한 출력 주소 값이 유효하지 않다면 카운터를 하나 증가시키게 되는데, 그 다음에 구한 출력 주소 값은 반드시 유효한 어드레스가 된다.If the obtained output address value is not valid, the counter is incremented by one. Then, the obtained output address value is a valid address.

이와 같은 종래 기술에 있어서는, 도 1에서와 같이 터보 인터리버의 기본 개념을 그대로 하드웨어로 구현한다면 앞서 설명한 대로 곱셈기, 룩업테이블 등의 하드웨어 리소스를 차지할 뿐 아니라, 결과로 얻은 어드레스가 정해진 일정한 값을 초과한다면, 그 결과 값을 버리고 다시 출력 주소를 구함으로써 터보 인터리버 어드레스를 구하기 위한 시간 소모가 크다. In such a prior art, if the basic concept of the turbo interleaver is implemented in hardware as shown in FIG. 1, as well as occupying hardware resources such as a multiplier and a lookup table as described above, and the resulting address exceeds a predetermined value. Therefore, the time required to obtain the turbo interleaver address is large by discarding the result and obtaining the output address again.

터보인터리버의 구조상 카운터를 증가시켜 가면서 구한 어드레스 값이 최대값을 초과해서 그 값을 버리고 다시 카운터를 하나 더 증가시켜서 출력 주소를 구해야 하는 경우가 아주 빈번하게 발생한다. 따라서 이 유효하지 않은 어드레스를 구하는 시간 때문에 터보 인터리버에 소요되는 시간이 증가하게 되고 이는 결국 시스템 성능 저하로 이어지게 된다. Due to the structure of the turbointerleaver, the address value obtained by increasing the counter exceeds the maximum value, discards the value, and increases the counter one more time to obtain the output address. Therefore, the time required to obtain an invalid address increases the time required for the turbo interleaver, which in turn leads to a decrease in system performance.

본 발명은 상기한 점을 감안하여 안출한 것으로, 터보 부호기에 사용되는 터보 인터리버의 출력 주소 산출 구조에서 곱셈 및 n 최하위비트 선택 블록(Multiply and select the n LSBs) 경로에서의 처리 속도를 향상시키기 위한 터보 인터리버의 출력 주소 산출기 및 그를 이용한 출력 주소 산출 방법을 제공하기 위한 것이다.SUMMARY OF THE INVENTION The present invention has been made in view of the above, and is intended to improve processing speed in multiply and n least-bit select block paths in an output address calculation structure of a turbo interleaver used in a turbo encoder. An output address calculator of a turbo interleaver and an output address calculation method using the same are provided.

또한 본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시 예들의 상세한 설명을 통해 명백해 질 것이다.Further objects, features and advantages of the present invention will become apparent from the detailed description of the embodiments with reference to the accompanying drawings.

이와 같은 본 발명의 일 특징에 따르면, (n+5) 비트 길이의 이진 값을 출력시키는 카운터 출력과 상기 카운터의 출력에 1을 더한 출력값을 각각 입력받아 이를 상기 n 값에 따른 각각의 인덱스별 테이블 값을 참조하여 선택 및 누적된 값에 따라 각각의 임시 출력 주소를 출력하는 제 1, 제 2 인터리버 출력 주소 산출 블록의 출력값 중 유효한 출력 주소 값을 선택하여 터보 인터리버의 출력 주소를 산출한다.According to one aspect of the present invention, a counter output for outputting a binary value having a (n + 5) bit length and an output value obtained by adding 1 to the output of the counter are respectively received, and this is a table for each index according to the n value. The output address of the turbo interleaver is calculated by selecting a valid output address value among the output values of the first and second interleaver output address calculation blocks which output respective temporary output addresses according to the selected and accumulated values with reference to the value.

바람직하게 상기 n은 터보 인터리버 파라미터이다.Preferably the n is a turbo interleaver parameter.

여기서 상기 출력 주소를 산출하는 단계는, 상기 (n+5) 비트 카운터에서의 초기 카운터 출력과 이에 1을 더한 출력 값을 각각 제 1, 제 2 터보 인터리버 출력 주소 산출 블록으로 출력하는 단계와, 상기 제 1, 제 2 터보 인터리버 출력 주소 산출 블록에서 각각에서 상기 카운터의 하위 5비트 값에 해당되는 룩업테이블의 n 비트의 값을 구하는 단계와, 상기 카운터의 상위 n 비트에 해당되는 룩업테이블의 출력값을 선택하여 출력하고 이를 누적하여 더하고, 이 값의 하위 n 비트의 값을 구하여 출력하는 단계와, 상기 제 1, 제 2 터보 인터리버 출력 주소 산출 블록 각각의 절사블록에서 상기 카운터의 하위 5 비트의 비트 리버스 값을 구하여 이를 상위 5비트로 하고, 상기 누적 블록에서 구한값을 하위 n 비트로 하는 제 1 터보 인터리버 출력 주소 산출 블록의 제 1 임시 출력 주소와, 제 2 터보 인터리버 출력 주소 산출 블록의 제 2 임시 출력 주소를 각각 구하는 단계와, 상기 제 1, 제 2 터보 인터리버 출력 주소 산출 블록에서 구한 값이 유효한지를 판단하여 유효한 경우 상기 출력 주소로 사용한다.The calculating of the output address may include outputting an initial counter output from the (n + 5) bit counter and an output value obtained by adding 1 to the first and second turbo interleaver output address calculation blocks, respectively, Obtaining n-bit values of the lookup table corresponding to the lower 5-bit values of the counter in each of the first and second turbo interleaver output address calculation blocks, and outputting the output values of the look-up table corresponding to the upper n bits of the counter. Selecting, outputting, accumulating and adding the result, and obtaining and outputting the value of the lower n bits of the value; and reversing the bits of the lower five bits of the counter in the trimming block of each of the first and second turbo interleaver output address calculation blocks. A first turbo interleaver output address calculation block that obtains a value and makes it the upper 5 bits and uses the value obtained in the accumulation block as the lower n bits. Obtaining a temporary output address and a second temporary output address of the second turbo interleaver output address calculation block, and determining whether the values obtained from the first and second turbo interleaver output address calculation blocks are valid and valid if the output addresses are valid. Used as.

상기한 바와 같은 본 발명의 다른 특징에 따르면, (n+5) 비트 길이의 이진 값과 상기 이진 값에 1을 더한 출력값을 각각 출력시키는 카운터와, 상기 각각의 출력값에 상기 n 값에 따른 각각의 인덱스별 테이블 값을 참조하여 선택 및 누적된 값에 따라 각각의 임시 출력 주소를 출력하는 제 1, 제 2 인터리버 출력 주소 산출 블록과, 상기 제 1, 제 2 인터리버 출력 주소 산출 블록의 출력값 중 유효한 출력 주소 값을 선택하여 터보 인터리버의 출력 주소를 산출하는 먹스를 포함하여 구성된다.According to another aspect of the present invention as described above, a counter for outputting a binary value of (n + 5) bit length and an output value obtained by adding 1 to the binary value, and each of the output values according to the n value Valid output among the first and second interleaver output address calculation blocks for outputting respective temporary output addresses according to the selected and accumulated values by referring to the table values for each index, and the output values of the first and second interleaver output address calculation blocks. It is configured to include a mux for selecting the address value to calculate the output address of the turbo interleaver.

바람직하게 상기 제 1, 제 2 인터리버 출력 주소 산출 블록 각각은, 상기 (n+5) 비트 길이의 이진 값을 출력시키는 카운터 출력 중 하위 5비트들을 인덱스로 하여, 상기 n 값에 따른 각 인덱스별 테이블 값을 저장하는 룩업 테이블과, 상기 카운터에서 출력되는 n 비트의 최상위 비트에 해당되는 상기 룩업 테이블의 출력값의 하위 n 비트를 선택하는 n비트 선택 블록과, 상기 선택 블록의 출력값을 누적하는 n 비트 누적 블록 및 상기 카운터의 출력 중 하위 5비트들의 비트 인버스 값을 상위 5비트로 하고, 상기 n 비트 누적 블록에서 출력되는 출력값을 하위 n 비트로 하는 임시 출력 주소를 구하여 상기 먹스로 출력하는 절사 블록으로 구성된다.Preferably, the first and second interleaver output address calculation blocks each have a lower five bits of a counter output for outputting a binary value having the (n + 5) bit length as an index, and each index table according to the n value. A lookup table for storing values, an n-bit selection block for selecting the lower n bits of the output value of the lookup table corresponding to the most significant bit of the n bits output from the counter, and an n-bit accumulation for accumulating the output values of the selection block And a truncation block that obtains a temporary output address of which the bit inverse value of the lower 5 bits among the outputs of the counter is the upper 5 bits, and outputs the output value output from the n bit accumulation block as the lower n bits and outputs the mux.

바람직하게 상기 카운터는, 상기 상위 자리 수에 해당하는 n 비트들이 유효 값을 갖는 초기 값부터 시동된다.Advantageously, the counter starts from an initial value where n bits corresponding to the upper digit have a valid value.

이하 본 발명에 따른 터보 인터리버의 출력 주소 산출기 및 그를 이용한 출력 주소 산출 방법에 대한 바람직한 일 실시 예를 첨부된 도면을 참조하여 설명한다.Hereinafter, a preferred embodiment of an output address calculator of a turbo interleaver and an output address calculation method using the same according to the present invention will be described with reference to the accompanying drawings.

본 발명에서는 출력 주소를 구하면서 결과로 나올 출력 주소가 Nturbo를 초과할지를 미리 계산하고, 나온 결과 어드레스가 유효하지 않은 경우의 출력 값도 함께 모두 계산하여 그 중에서 유효한 출력 주소 값을 선택함으로써 터보 인터리버 어드레스를 구하는데 소비되는 시간을 줄이기 위한 구현 방법이다.In the present invention, the turbo interleaver is obtained by calculating the output address in advance and calculating whether the resulting output address exceeds N turbo , calculating all the output values when the resulting address is invalid, and selecting a valid output address value therefrom. This is an implementation method for reducing the time spent in obtaining an address.

도 3은 본 발명에 따른 출력 주소 산출을 위한 터보 인터리버의 블록 구성도이다.3 is a block diagram of a turbo interleaver for output address calculation according to the present invention.

본 발명에 따른 출력 주소 산출을 위한 터보 인터리버의 출력 주소 산출기는 (n+5) 비트 길이의 이진 값을 출력시키는 카운터(21) 출력 중 하위 5비트들을 인덱스로 하여, 상기 n 값에 따른 각 인덱스별 테이블 값을 저장하는 룩업 테이블(22)과, 상기 카운터(21)에서 출력되는 n 비트의 최상위 비트에 해당되는 상기 룩업 테이블(22)의 출력값의 하위 n 비트를 선택하는 n비트 선택 블록(23)과, 상기 선택 블록(23)의 출력값을 누적하는 n 비트 누적 블록(24) 및 상기 카운터의 출력 중 하위 5비트들의 비트 인버스 값을 상위 5비트로 하고, 상기 n 비트 누적 블록(25)에서 출력되는 출력값을 하위 n 비트로 하는 임시 출력 주소를 구하는 절사 블록(27)으로 구성된 제 1 터보 인터리버 출력 주소 산출 블록(20)과, 상기 제 1 터보 인터리버 블록(20)과 동일한 구성을 갖고 있는 룩업 테이블(32)과, n비트 선택 블록(33)과, n 비트 누적 블록(34) 및 절사 블록(37)으로 구성된 제 2 인터리버 출력 주소 산출 블록(30)과, 상기 제 1, 제 2 인터리버 출력 주소 산출 블록(20,30) 각각의 절사 블록(27,37)의 임시 출력 주소 중 유효한 임시 출력 주소를 출력시키는 먹스(40)로 구성된다. The output address calculator of the turbo interleaver for output address calculation according to the present invention uses the lower 5 bits as an index among the outputs of the counter 21 for outputting a binary value having a (n + 5) bit length. A lookup table 22 for storing a separate table value and an n-bit selection block 23 for selecting the lower n bits of an output value of the lookup table 22 corresponding to the most significant bit of the n bits output from the counter 21; ), And the n-bit accumulation block 24 accumulating the output value of the selection block 23 and the bit inverse value of the lower five bits among the outputs of the counter as the upper five bits, and output from the n-bit accumulation block 25. A first turbo interleaver output address calculation block 20 composed of a truncation block 27 for obtaining a temporary output address having a lower output n bit as an output value, and the same configuration as that of the first turbo interleaver block 20 A second interleaver output address calculation block 30 consisting of an up table 32, an n-bit selection block 33, an n-bit accumulation block 34, and a truncation block 37, and the first and second interleavers. The output address calculation block 20, 30 is composed of a mux 40 for outputting a valid temporary output address of the temporary output addresses of the trimming blocks 27, 37, respectively.

이와 같은 구성을 갖고 있는 본 발명에 따른 터보 인터리버는 제 1, 제 2 터보 인터리버 출력 주소 산출 블록(20,30)에서 구한 출력 주소 값이 유효하지 않은 어드레스인 경우, 그 다음에 입력단의 카운터를 하나 증가시켜서 구한 출력 주소는 반드시 유효한 어드레스가 되는 것을 이용하는 것으로, 출력 주소를 구하는 부분이 하나가 아니라 입력 카운터에서 카운터에 2를 더해서 출력 주소를 구하는 부분까지의 블록을 병렬로 하나 더 구현하여 한번에 2개의 출력 주소를 구하고, 각각을 Nturbo 값과 한번에 비교함으로써 항상 유효한 어드레스를 구하는 것이다. 그러므로 유효하지 않은 어드레스를 구하는데 들어가는 시간을 0으로 할 수 있어 터보인터리버 블록에서 소요되는 시간을 현저히 줄일 수 있다.The turbo interleaver according to the present invention having such a configuration, when the output address value obtained in the first and second turbo interleaver output address calculation blocks 20 and 30 is an invalid address, then sets a counter at the input stage. The output address obtained by incrementing is used to be a valid address. Instead of obtaining one output address, add two blocks in parallel from the input counter to the counter to obtain the output address in parallel. By finding the output addresses and comparing each with the N turbo value at once, you always get a valid address. Therefore, the time required to obtain an invalid address can be zero, which can significantly reduce the time required for the turbointerleaver block.

즉 우선 병렬로 연속하는 제 1, 제 2 터보 인터리버 출력 주소 산출 블록(20,30)의 출력 주소를 각각 구하기 위해서 먼저 입력 단의 (n+5)비트 카운터(21)의 출력값은 초기 카운터 출력과 이에 1을 더한 출력 값을 각각 제 1, 제 2 터보 인터리버 출력 주소 산출 블록(20,30)으로 출력한다.That is, first, in order to obtain the output addresses of the first and second turbo interleaver output address calculation blocks 20 and 30 consecutively in parallel, first, the output value of the (n + 5) bit counter 21 of the input stage is equal to the initial counter output. The output value plus 1 is output to the first and second turbo interleaver output address calculation blocks 20 and 30, respectively.

제 1, 제 2 터보 인터리버 출력 주소 산출 블록(20,30)에서는 카운터(21)의 하위 5비트 값에 해당되는 룩업테이블(22,32)의 n 비트의 값을 구한다. In the first and second turbo interleaver output address calculation blocks 20 and 30, n-bit values of the look-up tables 22 and 32 corresponding to the lower 5-bit values of the counter 21 are obtained.

또한 카운터(21)의 상위 n 비트에 해당되는 만큼 룩업테이블(22??32)의 출력값을 선택 블록(23,33)에서 선택하여 출력하면, 누적 블록(25,35)에서는 이를 누적하여 더하고, 이 값의 하위 n 비트의 값을 구하여 출력한다. In addition, when the output values of the lookup table 22 ?? 32 are selected in the selection blocks 23 and 33 and output as much as the upper n bits of the counter 21, the accumulation blocks 25 and 35 accumulate and add them. Get the value of the lower n bits of this value and output it.

이때 각각의 절사블록(27,28)에서는 카운터(21)의 하위 5 비트의 비트 리버스 값을 구하고, 이를 상위 5비트로 하고, 누적 블록(25,35)에서 구한값을 하위 n 비트로 하는 제 1 터보 인터리버 출력 주소 산출 블록(20)의 제 1 임시 출력 주소와, 제 2 터보 인터리버 출력 주소 산출 블록(30)의 제 2 임시 출력 주소를 각각 구한다. At this time, each truncation block (27, 28) obtains the bit reverse value of the lower 5 bits of the counter 21, makes it the upper 5 bits, and uses the first turbo obtained by making the value obtained in the accumulation blocks (25, 35) the lower n bits. The first temporary output address of the interleaver output address calculation block 20 and the second temporary output address of the second turbo interleaver output address calculation block 30 are obtained, respectively.

제 1, 제 2 터보 인터리버 출력 주소 산출 블록(20,30)에서 구한 값이 Nturbo보다 작으면 버리고, 그렇지 않으면 출력 주소로 사용한다.If the value obtained in the first and second turbo interleaver output address calculation blocks 20 and 30 is smaller than N turbo, the value is discarded. Otherwise, it is used as an output address.

그리고 이와 같은 과정을 카운터(21)를 증가시켜 가면서 되풀이하여 터보 인터리버의 출력 주소를 계속하여 구한다. This process is repeated while increasing the counter 21 to continuously obtain the output address of the turbo interleaver.

이상에서 설명한 바와 같은 본 발명에 따른 터보 인터리버의 출력 주소 산출기는 유효하지 않은 어드레스를 구하느라 소요된 시간을 줄이므로 어드레스를 구하기 위한 시간을 현저히 줄일 수 있다. 즉, 터보인터리버에서 유효하지 않은 출력 어드레스 값이 아주 빈번하게 출력으로 나오는 관계로 이에 따른 시간을 줄인다면 터보인터리버에서 소요되는 시간을 현저히 줄일 수 있어 전체 시스템 성능을 향상할 수 있다.As described above, the output address calculator of the turbo interleaver according to the present invention reduces the time required for obtaining an invalid address, thereby significantly reducing the time for obtaining an address. That is, since the output address that is not valid in the turbo interleaver is output to the output very frequently, the time required for the turbo interleaver can be significantly reduced, thereby improving overall system performance.

또한 더욱 속도를 빠르게 하여 성능을 향상시키기 위해서 병렬로 터보인터리버를 2개가 아니라 더 많이 구현한다면 터보인터리버의 성능을 더 향상시킬수 있다.In addition, if you implement more than two turbointerleavers in parallel to speed up and improve performance, you can further improve the performance of the turbointerleaver.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.

따라서, 본 발명의 기술적 범위는 실시 예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.

도 1은 종래 기술에 따른 출력 주소 산출을 위한 터보 인터리버의 기본 개념을 설명하기 위한 블록 구성도1 is a block diagram illustrating a basic concept of a turbo interleaver for output address calculation according to the prior art.

도 2는 도 1에 나타낸 터보 인터리버의 리소스를 최소화하여 구현한 터보 인터리버의 블록 구성도2 is a block diagram of a turbo interleaver implemented by minimizing the resources of the turbo interleaver shown in FIG.

도 3은 본 발명에 따른 출력 주소 산출을 위한 터보 인터리버의 블록 구성도3 is a block diagram of a turbo interleaver for output address calculation according to the present invention.

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

20, 30 : 인터리버 출력 주소 산출 블록 20, 30: interleaver output address calculation block

21 : (n+1) 비트 카운터 22, 32 : 룩업 테이블21: (n + 1) bit counter 22, 32: lookup table

23,33 : 최하위 비트 선택 블록 24,34 : 디먹스23,33: least significant bit selection block 24,34: demux

25,35 : 누적 블록 26,36,40 : 먹스25,35: cumulative block 26,36,40: mux

27,37 : 절사 블록 27,37: Cutting Block

Claims (6)

(n+5) 비트 길이의 이진 값을 출력시키는 카운터 출력과 상기 카운터의 출력에 1을 더한 출력값을 각각 입력받아 이를 상기 n 값에 따른 각각의 인덱스별 테이블 값을 참조하여 선택 및 누적된 값에 따라 각각의 임시 출력 주소를 출력하는 제 1, 제 2 인터리버 출력 주소 산출 블록의 출력값 중 유효한 출력 주소 값을 선택하여 터보 인터리버의 출력 주소를 산출하는 것을 특징으로 하는 터보 인터리버의 출력 주소 산출 방법.Receives a counter output that outputs a binary value of (n + 5) bit length and an output value obtained by adding 1 to the output of the counter, respectively, and refers to the table value of each index according to the n value to a selected and accumulated value. And outputting the output address of the turbo interleaver by selecting a valid output address value among the output values of the first and second interleaver output address calculation blocks for outputting respective temporary output addresses. 제 1 항에 있어서, 상기 n은 터보 인터리버 파라미터인 것을 특징으로 하는 터보 인터리버의 출력 주소 산출 방법. The method of claim 1, wherein n is a turbo interleaver parameter. 제 1 항에 있어서, 상기 출력 주소를 산출하는 단계는, The method of claim 1, wherein the calculating of the output address comprises: 상기 (n+5) 비트 카운터에서의 초기 카운터 출력과 이에 1을 더한 출력 값을 각각 제 1, 제 2 터보 인터리버 출력 주소 산출 블록으로 출력하는 단계와;Outputting an initial counter output from the (n + 5) bit counter and an output value of 1 plus the first and second turbo interleaver output address calculation blocks, respectively; 상기 제 1, 제 2 터보 인터리버 출력 주소 산출 블록에서 각각에서 상기 카운터의 하위 5비트 값에 해당되는 룩업테이블의 n 비트의 값을 구하는 단계와; Obtaining n-bit values of a lookup table corresponding to the lower 5-bit values of the counter in each of the first and second turbo interleaver output address calculation blocks; 상기 카운터의 상위 n 비트에 해당되는 룩업테이블의 출력값을 선택하여 출력하고 이를 누적하여 더하고, 이 값의 하위 n 비트의 값을 구하여 출력하는 단계와;Selecting and outputting an output value of a lookup table corresponding to the upper n bits of the counter, accumulating and adding the output values, and obtaining and outputting a value of the lower n bits of the value; 상기 제 1, 제 2 터보 인터리버 출력 주소 산출 블록 각각의 절사블록에서 상기 카운터의 하위 5 비트의 비트 리버스 값을 구하여 이를 상위 5비트로 하고, 상기 누적 블록에서 구한값을 하위 n 비트로 하는 제 1 터보 인터리버 출력 주소 산출 블록의 제 1 임시 출력 주소와, 제 2 터보 인터리버 출력 주소 산출 블록의 제 2 임시 출력 주소를 각각 구하는 단계와;A first turbo interleaver which obtains a bit reverse value of the lower 5 bits of the counter from the trimming blocks of each of the first and second turbo interleaver output address calculation blocks, and sets it as the upper 5 bits, and sets the value obtained from the cumulative block as the lower n bits. Obtaining a first temporary output address of the output address calculation block and a second temporary output address of the second turbo interleaver output address calculation block, respectively; 상기 제 1, 제 2 터보 인터리버 출력 주소 산출 블록에서 구한 값이 유효한지를 판단하여 유효한 경우 상기 출력 주소로 사용하는 것을 특징으로 하는 터보 인터리버의 출력 주소 산출 방법.And determining whether a value obtained in the first and second turbo interleaver output address calculation blocks is valid and using the output address if the value is valid. (n+5) 비트 길이의 이진 값과 상기 이진 값에 1을 더한 출력값을 각각 출력시키는 카운터와;a counter for outputting a (n + 5) bit length binary value and an output value obtained by adding 1 to the binary value; 상기 각각의 출력값에 상기 n 값에 따른 각각의 인덱스별 테이블 값을 참조하여 선택 및 누적된 값에 따라 각각의 임시 출력 주소를 출력하는 제 1, 제 2 인터리버 출력 주소 산출 블록과;First and second interleaver output address calculation blocks configured to output respective temporary output addresses according to selected and accumulated values with reference to each index-specific table value according to the n value to each output value; 상기 제 1, 제 2 인터리버 출력 주소 산출 블록의 출력값 중 유효한 출력 주소 값을 선택하여 터보 인터리버의 출력 주소를 산출하는 먹스를 포함하여 구성됨을 특징으로 하는 터보 인터리버의 출력 주소 산출기.And a mux for selecting a valid output address value among output values of the first and second interleaver output address calculation blocks to calculate an output address of the turbo interleaver. 제 4 항에 있어서, 상기 제 1, 제 2 인터리버 출력 주소 산출 블록 각각은, The method of claim 4, wherein each of the first and second interleaver output address calculation blocks, 상기 (n+5) 비트 길이의 이진 값을 출력시키는 카운터 출력 중 하위 5비트들을 인덱스로 하여, 상기 n 값에 따른 각 인덱스별 테이블 값을 저장하는 룩업 테이블과, A lookup table that stores table values for each index according to the n value, using the lower 5 bits as an index among counter outputs for outputting the binary value having the (n + 5) bit length; 상기 카운터에서 출력되는 n 비트의 최상위 비트에 해당되는 상기 룩업 테이블의 출력값의 하위 n 비트를 선택하는 n비트 선택 블록과, An n-bit selection block for selecting the lower n bits of the output value of the lookup table corresponding to the most significant bit of the n bits output from the counter; 상기 선택 블록의 출력값을 누적하는 n 비트 누적 블록 및 상기 카운터의 출력 중 하위 5비트들의 비트 인버스 값을 상위 5비트로 하고, 상기 n 비트 누적 블록에서 출력되는 출력값을 하위 n 비트로 하는 임시 출력 주소를 구하여 상기 먹스로 출력하는 절사 블록으로 구성됨을 특징으로 하는 터보 인터리버의 출력 주소 산출기. N-bit accumulation block accumulating the output value of the selection block and the bit inverse value of the lower 5 bits among the outputs of the counter as the upper 5 bits, and obtaining a temporary output address having the output value output from the n-bit accumulation block as the lower n bits The output address calculator of the turbo interleaver, characterized in that composed of a cutting block output to the mux. 제 4 항에 있어서, 상기 카운터는,The method of claim 4, wherein the counter, 상기 상위 자리 수에 해당하는 n 비트들이 유효 값을 갖는 초기 값부터 시동되는 것을 특징으로 하는 터보 인터리버의 출력 주소 산출기.And n bits corresponding to the upper digit are started from an initial value having a valid value.
KR1020030061015A 2003-09-02 2003-09-02 output address calculator of turbo interleaver KR20050022511A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030061015A KR20050022511A (en) 2003-09-02 2003-09-02 output address calculator of turbo interleaver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030061015A KR20050022511A (en) 2003-09-02 2003-09-02 output address calculator of turbo interleaver

Publications (1)

Publication Number Publication Date
KR20050022511A true KR20050022511A (en) 2005-03-08

Family

ID=37230359

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030061015A KR20050022511A (en) 2003-09-02 2003-09-02 output address calculator of turbo interleaver

Country Status (1)

Country Link
KR (1) KR20050022511A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866929B1 (en) * 2007-01-23 2008-11-04 (주)카이로넷 interleaved address generator, method thereof used in convolutional turbo codeCTC and interleaver used in CTC

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866929B1 (en) * 2007-01-23 2008-11-04 (주)카이로넷 interleaved address generator, method thereof used in convolutional turbo codeCTC and interleaver used in CTC

Similar Documents

Publication Publication Date Title
JP4101653B2 (en) Scaling demodulated data in interleaver memory
KR100350459B1 (en) Interleaving / deinterleaving apparatus and method of communication system
JP3447270B2 (en) Address generation apparatus and method for use in a turbo interleaver / deinterleaver
RU2216111C2 (en) Device and method for negotiation of transfer speed in data transmission system
EP1383246B1 (en) Modified Max-LOG-MAP Decoder for Turbo Decoding
JP2004531116A (en) Interleaver for turbo decoder
US8250446B2 (en) Decoder device and decoding method
KR20050022511A (en) output address calculator of turbo interleaver
JP2001217815A (en) Method for calculating optimum size of interleaver block for known length data pocket and interleaver for data packet
EP1692770B1 (en) Linear approximation of the max* operation for log-map decoding
US20030023919A1 (en) Stop iteration criterion for turbo decoding
KR100519335B1 (en) Channel Interleaving Method
KR100748501B1 (en) Graph decoding method using partial correction
JP3845822B2 (en) Data receiving method and apparatus
KR100595179B1 (en) output address calculator of turbo interleaver
KR100625242B1 (en) Apparatus and method for turbo decoder
KR20010001083A (en) Rate matching method for turbo code
US8667341B2 (en) Apparatus and method for determining interleaved address of turbo interleaver
KR20010113792A (en) Method and apparatus for decoding recursive convolutional symbols
KR20060071076A (en) A coding method of convolutional turbo code for high-speed personal internet system and apparatus thereof
WO2000057560A2 (en) Improved turbo decoder 1
KR20100027631A (en) A method for decoding data in a wireless communication system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application