USRE43212E1 - Turbo interleaving apparatus and method - Google Patents

Turbo interleaving apparatus and method Download PDF

Info

Publication number
USRE43212E1
USRE43212E1 US10/973,100 US97310004A USRE43212E US RE43212 E1 USRE43212 E1 US RE43212E1 US 97310004 A US97310004 A US 97310004A US RE43212 E USRE43212 E US RE43212E
Authority
US
United States
Prior art keywords
row
information bits
frame
permuting
last
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.)
Expired - Lifetime
Application number
US10/973,100
Inventor
Min-goo Kim
Beong-Jo Kim
Soon-Jae Choi
Young-Hwan Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26635221&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=USRE43212(E1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to US10/973,100 priority Critical patent/USRE43212E1/en
Application granted granted Critical
Publication of USRE43212E1 publication Critical patent/USRE43212E1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/2771Internal interleaver for turbo codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/2703Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/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/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/276Interleaving address generation
    • H03M13/2764Circuits therefore
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • 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

Definitions

  • the present invention relates generally to a turbo encoder used for radio communication systems (including satellite, ISDN, digital cellular, W-CDMA, and IMT-2000 systems), and in particular, to an internal interleaver of a turbo encoder.
  • radio communication systems including satellite, ISDN, digital cellular, W-CDMA, and IMT-2000 systems
  • an interleaver used for a turbo encoder randomizes an address of input information word and improves a distance property of a codeword.
  • a turbo code will be used in a supplemental channel (or data transmission channel) of IMT-2000 (or CDMA-2000) and IS-95C air interfaces and in a data channel of UMTS (Universal Mobile Telecommunication System) proposed by ETSI (European Telecommunication Standards Institute).
  • UMTS Universal Mobile Telecommunication System
  • ETSI European Telecommunication Standards Institute
  • the invention relates to an error correction code which greatly affects performance improvement of the existing and future digital communication systems.
  • turbo interleaver For an existing internal interleaver for a turbo encoder (hereinafter, referred to as a turbo interleaver), there have been proposed various interleavers such as PN (Pseudo Noise) random interleaver, random interleaver, block interleaver, non-linear interleaver, and S-random interleaver.
  • PN Pulseudo Noise
  • interleavers are mere algorithms designed to improve their performances in terms of scientific researches rather than implementation. Therefore, when implementing an actual system, the hardware implementation complexity must be taken into consideration. A description will now be made of properties and problems associated with the conventional interleaver for the turbo encoder.
  • Performance of the turbo encoder is dependent upon its internal interleaver.
  • an increase in the input frame size i.e., the number of information bits included in one frame
  • an increase in interleaver size causes a geometric increase in calculations. Therefore, in general, it is not possible to implement the interleaver for the large frame size.
  • the interleavers are implemented by determining conditions satisfying several given criteria.
  • the criteria are as follows:
  • the minimum free distance of the turbo code varies according to the type of the input codeword. That is, when the input information word has a specific sequence pattern defined as a critical information sequence pattern (CISP), the free distance of the output code symbols generated from the turbo encoder has a very small value. If the input information word has a Hamming weight 2 , the CISP occurs when the input information word has two information bits of ‘1’ and can also occur when the input information word has 3 or more information bits of ‘1’. However, in most cases, when the input information word has 2 information bits of ‘1’, the minimum free distance is formed and most error events occur in this condition.
  • CISP critical information sequence pattern
  • the turbo encoder generally uses RSC (Recursive Systematic Convolutional Codes) encoders for the component encoders shown in FIG. 1 (described further below).
  • RSC Recursive Systematic Convolutional Codes
  • a primitive polynomial should be used for a feedback polynomial (gf(x) of FIG. 1 ) out of the generator polynomials for the component encoder. Therefore, when the number of the memories of the RSC encoder is m, a feedback sequence generated by the feedback polynomial continuously repeats the same pattern at a period of 2 m ⁇ 1.
  • the turbo interleaver randomly disperses the CISP input information word so as to prevent a decrease in the free distance at the output symbol of the other component RSC encoder.
  • the above-stated properties are fundamental features of the known turbo interleaver.
  • the information word has the minimum Hamming weight, when the input information word has the Hamming weight 2 .
  • the fact that the CISP can be generated even when the input information word has the Hamming weight 1 i.e., when the input information word has one information bit of ‘1’) was overlooked, when the information word input to the turbo encoder had the type of a block comprised of frames.
  • a prime interleaver designated as the working model of the turbo code interleaver specified by the present UMTS standard exhibits such problems, thus having a degraded free distance property.
  • the implementation algorithm of the model PIL turbo interleaver include 3 stages, of which the second stage, which plays the most important role, performs random permutation on the information bits of the respective groups.
  • the second stage is divided into three cases of Case A, Case B and Case C, and the Case B always involves the case where the free distance is decreased due to the event where the input information word has the Hamming weight 1 .
  • the Case C involves a possibility that such an event will occur.
  • the detailed problems will be described later with reference to the PIL.
  • the turbo interleaver should be designed to guarantee the optimal interleaver performance by taking the limitations into consideration. That is, the required interleaver should be able to guarantee uniform performance for the various interleaver sizes, while satisfying the above-stated properties. More recently, there have been proposed several types of the interleavers for a PCCC (Parallel Concatenated Convolutional Codes) turbo interleaver, and a LCS (Linear Congruential Sequence) turbo interleaver has been provisionally decided as the turbo interleaver in the IMT-2000 (or CDMA-2000) and IS-95C specifications.
  • PCCC Parallel Concatenated Convolutional Codes
  • LCS Linear Congruential Sequence
  • the present invention proposes a solution of the turbo interleaver's problems, and a new method for implementing the turbo interleaver.
  • the invention shows the PIL interleaver which is a working assumption of the UMTS turbo interleaver, and proposes a solution of this interleaver's problem.
  • an object of the present invention to provide an interleaving device and method for analyzing properties of a turbo interleaver and a property of a critical information sequence pattern (CISP) to improve performance of the turbo interleaver.
  • CISP critical information sequence pattern
  • PIL prime interleaver
  • a 2-dimensional interleaving method comprising dividing a frame of input information bits into a plurality of groups and sequentially storing the divided groups in a memory; permuting the information bits of the groups according to a given rule and shifting an information bit existing at the last position of the last group to a position preceding the last position; and selecting the groups according to a predetermined order, and selecting one of the information bits in the selected group.
  • FIG. 1 is a diagram illustrating a general parallel turbo encoder
  • FIG. 2 is a diagram illustrating a general interleaver
  • FIG. 3 is a diagram illustrating a general deinterleaver
  • FIG. 4 is a diagram illustrating a method for generating a critical information sequence pattern (CISP) in a turbo interleaver
  • FIG. 5 is a diagram illustrating another method for generating the CISP in the turbo interleaver
  • FIG. 6 is a diagram illustrating a method for solving a problem occurring when generating the CISP of FIG. 4 ;
  • FIG. 7 is a diagram illustrating a method for solving a problem occurring when generating the CISP of FIG. 5 ;
  • FIG. 8 is a diagram illustrating another method for solving a problem occurring when generating the CISP in the turbo interleaver
  • FIG. 9 is a diagram illustrating a method for generating the CISP in a 2-dimensional turbo interleaver
  • FIG. 10 is a diagram illustrating a method for solving a problem occurring when generating the CISP of FIG. 7 ;
  • FIG. 11 is a block diagram illustrating an interleaving device for suppressing the CISP according to an embodiment of the present invention.
  • FIG. 12 is a flow chart for explaining an interleaving process of a modified PIL(Prime Interleaver) according to an embodiment of the present invention.
  • the specification will present the problems occurring when an input information word, which is one of the design criteria used in the existing turbo interleaver/deinterleaver, is processed on a frame unit basis, and then analyze an affect that the CISP with a Hamming weight 1 has on the Hamming weight of the output code symbols.
  • the specification will propose a method for solving the problems and verify the performance difference through analysis of the minimum free distance.
  • FIG. 1 shows a structure of a general parallel turbo encoder, which is disclosed in detail in U.S. Pat. No. 5,446,474 5,446,747, issued on Aug. 29, 1995, which is hereby incorporated by reference.
  • the turbo encoder includes a first component encoder 111 for encoding input frame data, an interleaver 112 for interleaving the input frame data, and a second component encoder 113 for encoding an output of the interleaver 112 .
  • a known RSC (Recursive Systematic Convolutional CODES) encoder is typically used for the first and second component encoders 111 and 113 .
  • the first RSC component encoder 111 will be referred to as RSC 1 and the second RSC component encoder 113 will be referred to as RSC 2 .
  • the interleaver 112 has the same size as the input information bit frame, and rearranges the sequence of the information bits provided to the second component encoder 113 to reduce a correlation between the information bits.
  • FIGS. 2 and 3 show fundamental structures of the general interleaver and deinterleaver, respectively.
  • An address generator 211 generates a read address for changing the sequence of input data bits according to an input frame data size L and an input clock, and provides an interleaver memory 212 with the generated read address.
  • the interleaver memory 212 sequentially stores input data in a write mode of operation, and outputs the stored data according to the read address provided from the address generator 211 in a read mode of operation.
  • a counter 213 counts the input clock and provides the clock count value to the interleaver memory 212 as a write address.
  • the interleaver sequentially stores input data in the interleaver memory 212 in the write mode of operation, and outputs the data stored in the interleaver memory 212 according to the read address provided from the address generator 211 in the read mode of operation.
  • An address generator 311 generates a write address for restoring the sequence of input data bits to the original sequence according to an input frame data size L and an input clock, and provides a deinterleaver memory 312 with the generated write address.
  • the deinterleaver memory 312 stores input data according to the write address provided from the address generator 311 in the write mode of operation, and sequentially outputs the stored data in the read mode of operation.
  • a counter 313 counts the input clock and provides the clock count value to the deinterleaver memory 312 as a read address.
  • the deinterleaver has the same structure as the interleaver but has the reverse operation of the interleaver.
  • the deinterleaver is merely different from the interleaver in that the input data has different sequences in both the read and write modes. Therefore, for convenience, the description below will be made with reference to the interleaver only.
  • the turbo code is a linear block code
  • a new information word obtained by adding a non-zero information word to an input information word has the same codeword distribution property. Therefore, even though the property is developed based on the all-zero information word, the same performance will be given as compared with the performance determined using the non-zero information word.
  • the input information word is the all-zero codeword. That is, performance of the turbo code will be analyzed on the assumption that the input information word has all zero bits and only a given information bit is ‘1’.
  • a primitive polynomial may be used for a feedback polynomial out of a generator polynomial for the component encoder.
  • a feedback sequence generated by the feedback polynomial continuously repeats the same pattern at a period of 2 m ⁇ 1.
  • the same information bits are exclusive-ORed, so that the state of the RSC encoder becomes an all-zero state henceforth, thus generating the output symbols of all 0's.
  • the Hamming weight of the codeword generated by the RSC encoder has the constant value of 1 after this event. That is, it means that the free distance of the turbo code is maintained after this time, and the CISP becomes a main cause of a reduction in the free distance of the turbo encoder.
  • the turbo interleaver randomly disperses the CISP input information word so as to prevent a decrease in the free distance at the output symbol of the other component RSC encoder.
  • X(t) indicates an input information bit at a time t of the input information word.
  • m(t), m(t ⁇ 1) and m(t ⁇ 2) indicate 3 memory states of the RSC encoder, respectively.
  • Equation 1 shows the relationship between the RSC 1 and the RSC 2 in terms of the Hamming weight or free distance of the turbo encoder.
  • HW(Output code sequence) HW(RSC 1 code sequence)+HW(RSC 2 code sequence) [Equation 1] where HW is the Hamming weight.
  • Equation 1 a Hamming weight balance between RSC 1 and RSC 2 is very important.
  • the minimum free distance of the turbo code is generated for the minimum Hamming weight of the input information word, when the IIR (Infinite Impulse Response) characteristic of the RSC encoder is taken into consideration.
  • the minimum free distance is provided when the input information word has the Hamming weight 2 , as mentioned above.
  • the minimum free distance occurs when the input information word has the Hamming weight 3 , 4 , 5 . . . , as well as when the input information word has the Hamming weight 2 . This occurs when the input information word is received on a frame unit basis, as follows.
  • the Hamming weight of the input information word becomes 1.
  • the number of the symbols ‘1’ output from the RSC 1 becomes very small, because there is no more input information word.
  • the weight is slightly increased. Since the constant weight is added, this will be so excluded from an analysis of the interleaver. In this case, it is noted from Equation 1 that the RSC 2 should generate a great number of the output symbols ‘1’ to increase the total free distance.
  • the cross-hatching parts indicate the positions where the input information bit is ‘1’, and the other parts indicate the positions where the input information bit is ‘0’.
  • the turbo interleaver shifts (or permutes) the position of the input information word, where the original symbol of the RSC 1 is ‘1’, to the last position of the frame after interleaving, the number of the output symbols ‘1’ generated from the RSC 2 will be very small. In this case, since the RSC 1 and the RSC 2 generate a very small number of the output symbols ‘1’ in accordance with Equation 1, the total free distance decreases drastically. However, if, as shown in FIG.
  • the turbo interleaver shifts the position of the input information word, where the original symbol of the RSC 1 is ‘1’, to the first position or a position near the leading position of the frame after interleaving, the number of the output symbols ‘1’ generated from the RSC 2 will be increased. This is because a plurality of symbols ‘1’ are output through (N ⁇ h) state transitions of the RSC 2 encoder, where N is the interleaver size and h is a number of ‘1’. In this case, the RSC 2 generates a great number of the output symbols ‘1’, thereby increasing the total free distance.
  • the Hamming weight of the input information word is 2. Even in this case, the number of the output symbols ‘1’ generated from the RSC 1 becomes very small, since there is no more input information bit. Therefore, in accordance with Equation 1, the RSC 2 should generate a great number of the output symbols ‘1’ to increase the total free distance. However, if, as shown in FIG. 6 wherein two symbols located at the ending position of the frame are 1's and the other symbols are all 0's, then the Hamming weight of the input information word is 2. Even in this case, the number of the output symbols ‘1’ generated from the RSC 1 becomes very small, since there is no more input information bit. Therefore, in accordance with Equation 1, the RSC 2 should generate a great number of the output symbols ‘1’ to increase the total free distance. However, if, as shown in FIG.
  • the turbo interleaver shifts the position of the above two symbols to the ending position (or somewhere near to the ending position) of the frame even after interleaving, the RSC 2 will also generate a small number of the output symbols ‘1’.
  • This principle can be expanded to the case where the turbo interleaver operates in the frame mode shown in FIG. 8 wherein a plurality of information bits ‘1’ exist at the ending period (or duration) of the frame and the other information bits are all 0's. Even in this case, the total free distance is increased by shifting the information bits exiting at the ending position of the frame to the leading position of the frame or to positions nearer to the leading position, as shown in FIG. 8 .
  • the turbo code is the linear block code, even the new information word obtained by adding a non-zero information word to such an information word has the same property. Therefore, a description below will be made on the basis of the all-zero information word.
  • the 1-dimensional interleaver performs interleaving, regarding the input information frame as a group, as shown in FIGS. 4 to 8 .
  • the 2-dimensional interleaver performs interleaving by dividing the input information frame into a plurality of groups.
  • FIG. 9 shows 2-dimensional interleaving wherein the input information word has the Hamming weight 1 .
  • the input information bits are sequentially written in the respective groups (or rows). That is, the input information bits are sequentially written in the groups (or rows) r 0 , r 1 , . . . , r(R ⁇ 1). In each group, the input information bits are sequentially written from the left to the right. Thereafter, a turbo interleaving algorithm randomly changes the positions of R ⁇ C elements (i.e., input information bits), where R is the number of rows, C is the number of columns or, equivalently, the number of information bits in a group.
  • R ⁇ C elements i.e., input information bits
  • the turbo interleaving algorithm such that the information bit located at the last position (or the rightmost position) of the last group should be located at the foremost position, if possible, during output.
  • the input information bit located at the last position may be shifted to the foremost position (or close thereto) of the corresponding group.
  • Condition 1 and Condition 2 can be normalized in a k-dimensional turbo interleaver (where k>2) as well as the 2-dimensional interleaver.
  • FIG. 10 shows a case where the input information word has the Hamming weight of over 2.
  • the information bits located at the last position of the last group are shifted to the leading positions of the last group by interleaving.
  • the detailed shifting (or interleaving) rule is determined according to an algorithm for a specific interleaver.
  • the invention presents Condition 1 and Condition 2 which should be necessarily satisfied in determining the interleaving rule.
  • the actual size of the PIL interleaver becomes a value determined by R ⁇ C, which is larger than C K.
  • Pj indicates an initial seed value given for an a jth row vector, and is initially given by the algorithm.
  • the usage of these patterns is as follows; when the number of input information bit K is 320 to 480 bit perform group selection pattern p A , when the number of input information bit K is 481 to 530 bit perform group selection pattern p c , when the number of input information bit K is 531 to 2280 bit perform group selection pattern p A , when the number of input information bit K is 2281 to 2480 bit perform group selection pattern p B , when the number of input information bit K is 2481 to 3160 bit perform group selection pattern p A , when the number of input information bit K is 3161 to 3210 bit perform group selection pattern p B , and when the number of input information bit K is 3211 to 5114 bit perform group selection pattern p A .
  • the group selection pattern is as follow;
  • algorithm step B-5 may be modified by performing an additional step after step B-5 as follows.
  • the invention presents six methods of B-5-1) to B-5-6), by way of example. Among these, an optimal performance can be determined through simulations in the light of the properties of the turbo interleaver.
  • FIGS. 11 and 12 show a block diagram and a flow chart according to an embodiment of the present invention, respectively.
  • a row vector permutation block (or row vector permutation index generator) 912 generates an index for selecting a row vector according to counting of a row counter 911 , and provides the generated index to a high address buffer of the address buffer 918 .
  • the row vector permutation block 912 is a group selector for sequentially or randomly selecting, when the input information word is divided into a plurality of groups, the divided groups.
  • a column vector permutation block (or column vector's elements permutation index generator) 914 generates, depending on a modified PIL algorithm 915 , an index for permuting the positions of the elements in the corresponding row vector (or group) according to counting of a column counter 913 , and provides the generated index to a low address buffer of the address buffer 918 .
  • the column vector permutation block 914 is a randomizer for permuting the position of the information bits in the group, which were sequentially stored in the order of input, according to a given rule.
  • a RAM (Random Access Memory) 917 stores temporary data generated in the process of the program.
  • a look-up table 916 stores parameters for interleaving and the primitive root. The addresses obtained by row permutation and column permutation (i.e., the addresses stored in the address buffer 918 ) are used as addresses for interleaving.
  • FIG. 12 shows a flow chart of the modified PIL algorithm.
  • a description below relates to the second stage, Case-B, in the PIL algorithm.
  • a primitive root g 0 is selected from a given random initialization constant table, in step 1011 .
  • a base sequence C(i) for randomizing the elements (or information bits) of the group is generated using the following formula.
  • step 1019 the elements of an jth group are randomized in the following method.
  • C j (p ⁇ 1) 0
  • one of B-5-1) to B-5-6) is selected to permute (or shift) the information bits existing at the last position of the frame to other positions after interleaving.
  • B-5-1) means that the positions of the first information bit and the last information bit in the last group are exchanged with each other.
  • B-5-2) means that the last two information bits in the last group are exchanged with each other.
  • B-5-3) means that for every group, the information bit existing at the last position and the information bit existing at the foremost position are exchanged with each other.
  • B-5-4) means that for every group, the positions of the last two information bits are exchanged.
  • B-5-5) means that for every group, an optimal position k for a given interleaving rule is searched to exchange a position of the information bit existing at the last position of each row with a position of the information bit existing at the position k.
  • B-5-6) means that for the last group, an optimal position k for a given interleaving rule is searched to exchange a position of the information bit existing at the last position with a position of the information bit existing at the position k.
  • Table 2 below shows a weight spectrum of the PIL interleaver before modification
  • Table 3 below shows a weight spectrum of the PIL interleaver after modification.
  • K indicates the size of the input information frame
  • Dfree(1) indicates a free distance calculated with the CISP for which the input information word has the Hamming weight 1
  • Dfree(2) indicates a free distance calculated with the CISP for which the input information word has the Hamming weigh 2 .
  • Dfree(1) of the original PIL interleaver is indicated by 25/39/49/53/57/ . . . in Table 2, and this means that the minimum free distance is 25 and the next minimum free distance is 39.
  • the minimum free distance is determined according to the free distance by the CISP with the Hamming weight 1 .
  • the invention uses the B-5-1) method in this example. That is, Dfree(1) is improved by removing the CISP with the Hamming 1 .
  • Table 2 shows a weight spectrum of the PIL interleaver before modification.
  • Table 3 shows a weight spectrum of the PIL interleaver after modification, where one modification step is selected and used for all frames.
  • min pl 2538
  • min pl 3683
  • min pl 942
  • min pl 963, Min.
  • the novel turbo encoder suppresses a decreases in the free distance dfree caused by one or more information bits of ‘1’ located at the last period of a data frame input to the component encoder, using the internal interleaver, thereby contributing to implementation of a turbo encoder with high performance.

Abstract

A 2-dimensional interleaving method is disclosed. The method comprises dividing a frame of input information bits into a plurality of groups and sequentially storing the divided groups in a memory; permuting the information bits of the groups according to a given rule and shifting an information bit existing at the last position of the last group to a position preceding the last position; and selecting the groups according to a predetermined order, and selecting one of the information bits in the selected group.

Description

PRIORITY
This application claims priority to an application entitled “Turbo Interleaving Apparatus and Method” filed in the Korean Industrial Property Office on May 19, 1999 and assigned Serial No. 99-18928 and an application filed in the Korean Industrial Property Office on May 21, 1999 and assigned Serial No. 99-18560, the contents of which are hereby incorporated by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to a turbo encoder used for radio communication systems (including satellite, ISDN, digital cellular, W-CDMA, and IMT-2000 systems), and in particular, to an internal interleaver of a turbo encoder.
2. Description of the Related Art
In general, an interleaver used for a turbo encoder randomizes an address of input information word and improves a distance property of a codeword. In particular, it has been decided that a turbo code will be used in a supplemental channel (or data transmission channel) of IMT-2000 (or CDMA-2000) and IS-95C air interfaces and in a data channel of UMTS (Universal Mobile Telecommunication System) proposed by ETSI (European Telecommunication Standards Institute). Thus, a method for embodying an interleaver for this purpose is required. In addition, the invention relates to an error correction code which greatly affects performance improvement of the existing and future digital communication systems.
For an existing internal interleaver for a turbo encoder (hereinafter, referred to as a turbo interleaver), there have been proposed various interleavers such as PN (Pseudo Noise) random interleaver, random interleaver, block interleaver, non-linear interleaver, and S-random interleaver. However, so far, such interleavers are mere algorithms designed to improve their performances in terms of scientific researches rather than implementation. Therefore, when implementing an actual system, the hardware implementation complexity must be taken into consideration. A description will now be made of properties and problems associated with the conventional interleaver for the turbo encoder.
Performance of the turbo encoder is dependent upon its internal interleaver. In general, an increase in the input frame size (i.e., the number of information bits included in one frame) enhances the effectiveness of the turbo encoder. However, an increase in interleaver size causes a geometric increase in calculations. Therefore, in general, it is not possible to implement the interleaver for the large frame size.
Therefore, in general, the interleavers are implemented by determining conditions satisfying several given criteria. The criteria are as follows:
    • Distance Property: The distance between adjacent codeword symbols should be maintained to a certain extent. This has the same function as a codeword distance property of the convolutional code, and as a criterion indicating this, a minimum free distance is used which is a value of a codeword path or a codeword sequence with the minimum Hamming weight out of the code symbol sequences (or codeword paths) output on the trellis. In general, it is preferable that the interleaver should be designed to have the longer free distance, if possible.
    • Random Property: A correlation factor between output word symbols after interleaving should be much lower than a correlation factor between original input word symbols before interleaving. That is, randomization between the output word symbols should be completely performed. This makes a direct effect on the quality of extrinsic information generated in continuous decoding.
Although the above criteria are applicable to a general turbo interleaver, it is difficult to clearly analyze the properties when the interleaver increases in size.
In addition, another problem occurring when designing the turbo interleaver is that the minimum free distance of the turbo code varies according to the type of the input codeword. That is, when the input information word has a specific sequence pattern defined as a critical information sequence pattern (CISP), the free distance of the output code symbols generated from the turbo encoder has a very small value. If the input information word has a Hamming weight 2, the CISP occurs when the input information word has two information bits of ‘1’ and can also occur when the input information word has 3 or more information bits of ‘1’. However, in most cases, when the input information word has 2 information bits of ‘1’, the minimum free distance is formed and most error events occur in this condition. Therefore, when designing the turbo interleaver, an analysis is generally made on the case where the input information word has the Hamming weight 2. A reason that the CISP exists is because the turbo encoder generally uses RSC (Recursive Systematic Convolutional Codes) encoders for the component encoders shown in FIG. 1 (described further below). To improve performance of the turbo encoder, a primitive polynomial should be used for a feedback polynomial (gf(x) of FIG. 1) out of the generator polynomials for the component encoder. Therefore, when the number of the memories of the RSC encoder is m, a feedback sequence generated by the feedback polynomial continuously repeats the same pattern at a period of 2m−1. Therefore, if an input information word ‘1’ is received at the instance corresponding to this period, the same information bits are exclusive-ORed, so that the state of the RSC encoder becomes an all-zero state henceforth, thus generating the output symbols of all 0's. This means that the Hamming weight of the codeword generated by the RSC encoder has a constant value after this event. That is, the free distance of the turbo code is maintained after this time, and the CISP becomes a main cause of a reduction in the free distance of the turbo encoder, whereas, as noted above, a larger free distance is desirable.
In this case (in the prior art of turbo interleaver), to increase the free distance, the turbo interleaver randomly disperses the CISP input information word so as to prevent a decrease in the free distance at the output symbol of the other component RSC encoder.
The above-stated properties are fundamental features of the known turbo interleaver. However, for the CISP, it is conventional that the information word has the minimum Hamming weight, when the input information word has the Hamming weight 2. In other words, the fact that the CISP can be generated even when the input information word has the Hamming weight 1 (i.e., when the input information word has one information bit of ‘1’) was overlooked, when the information word input to the turbo encoder had the type of a block comprised of frames.
For example, a prime interleaver (PIL) designated as the working model of the turbo code interleaver specified by the present UMTS standard exhibits such problems, thus having a degraded free distance property. That is, the implementation algorithm of the model PIL turbo interleaver include 3 stages, of which the second stage, which plays the most important role, performs random permutation on the information bits of the respective groups. The second stage is divided into three cases of Case A, Case B and Case C, and the Case B always involves the case where the free distance is decreased due to the event where the input information word has the Hamming weight 1. In addition, even the Case C involves a possibility that such an event will occur. The detailed problems will be described later with reference to the PIL.
In conclusion, when various interleaver sizes are required and the hardware implementation complexity is limited in the IMT-2000 or UMTS system, the turbo interleaver should be designed to guarantee the optimal interleaver performance by taking the limitations into consideration. That is, the required interleaver should be able to guarantee uniform performance for the various interleaver sizes, while satisfying the above-stated properties. More recently, there have been proposed several types of the interleavers for a PCCC (Parallel Concatenated Convolutional Codes) turbo interleaver, and a LCS (Linear Congruential Sequence) turbo interleaver has been provisionally decided as the turbo interleaver in the IMT-2000 (or CDMA-2000) and IS-95C specifications. However, most of these turbo interleavers have the problems of the CSIP with Hamming weight 1, and the details of implementing these turbo interleavers are still not defined. Therefore, the present invention proposes a solution of the turbo interleaver's problems, and a new method for implementing the turbo interleaver. In addition, the invention shows the PIL interleaver which is a working assumption of the UMTS turbo interleaver, and proposes a solution of this interleaver's problem.
To sum up, the prior art has the following disadvantages.
    • (1) The turbo interleaver is designed for the infinite frame size on the basis of the CISP for which the input information word has the Hamming weight 2, without considering the fact that determining the CISP according to the type of the input information word is limited to the frame size. However, in an actual system, the frame has a finite size, thus causing a decrease in the free distance of the turbo code.
    • (2) In designing the existing turbo interleaver, the fact that the input information word may have Hamming weight 1 was not considered. In other words, for the finite frame size, the turbo interleaver design rule should be determined in consideration of the fact that the minimum free distance generated in the PCCC turbo encoder is determined by the CISP having the Hamming weight 1. However, this was not fully considered for the existing turbo interleavers.
    • (3) The Prime interleaver (PIL) designated as the working assumption of the turbo code interleaver defined by the UMTS specification involves such problems, thus having degraded free distance performance.
SUMMARY OF THE INVENTION
It is, therefore, an object of the present invention to provide an interleaving device and method for analyzing properties of a turbo interleaver and a property of a critical information sequence pattern (CISP) to improve performance of the turbo interleaver.
It is another object of the present invention to provide an interleaving device and method for improving free distance performance of a turbo code for the case where an input information word has a Hamming weight 1 when the information word input to a turbo interleaver has a block type comprised of frames.
It is a further object of the present invention to provide an interleaving device and method for solving the problem that the free distance is decreased when an input information word has a Hamming weight 1 in a prime interleaver (PIL) that is the turbo interleaver specified in the UMTS specification.
To achieve the above objects, there is provided a 2-dimensional interleaving method comprising dividing a frame of input information bits into a plurality of groups and sequentially storing the divided groups in a memory; permuting the information bits of the groups according to a given rule and shifting an information bit existing at the last position of the last group to a position preceding the last position; and selecting the groups according to a predetermined order, and selecting one of the information bits in the selected group.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which:
FIG. 1 is a diagram illustrating a general parallel turbo encoder;
FIG. 2 is a diagram illustrating a general interleaver;
FIG. 3 is a diagram illustrating a general deinterleaver;
FIG. 4 is a diagram illustrating a method for generating a critical information sequence pattern (CISP) in a turbo interleaver;
FIG. 5 is a diagram illustrating another method for generating the CISP in the turbo interleaver;
FIG. 6 is a diagram illustrating a method for solving a problem occurring when generating the CISP of FIG. 4;
FIG. 7 is a diagram illustrating a method for solving a problem occurring when generating the CISP of FIG. 5;
FIG. 8 is a diagram illustrating another method for solving a problem occurring when generating the CISP in the turbo interleaver;
FIG. 9 is a diagram illustrating a method for generating the CISP in a 2-dimensional turbo interleaver;
FIG. 10 is a diagram illustrating a method for solving a problem occurring when generating the CISP of FIG. 7;
FIG. 11 is a block diagram illustrating an interleaving device for suppressing the CISP according to an embodiment of the present invention; and
FIG. 12 is a flow chart for explaining an interleaving process of a modified PIL(Prime Interleaver) according to an embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
A preferred embodiment of the present invention will be described herein below with reference to the accompanying drawings. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.
Prior to describing the invention, the specification will present the problems occurring when an input information word, which is one of the design criteria used in the existing turbo interleaver/deinterleaver, is processed on a frame unit basis, and then analyze an affect that the CISP with a Hamming weight 1 has on the Hamming weight of the output code symbols. Next, the specification will propose a method for solving the problems and verify the performance difference through analysis of the minimum free distance.
FIG. 1 shows a structure of a general parallel turbo encoder, which is disclosed in detail in U.S. Pat. No. 5,446,474 5,446,747, issued on Aug. 29, 1995, which is hereby incorporated by reference.
Referring to FIG. 1, the turbo encoder includes a first component encoder 111 for encoding input frame data, an interleaver 112 for interleaving the input frame data, and a second component encoder 113 for encoding an output of the interleaver 112. A known RSC (Recursive Systematic Convolutional CODES) encoder is typically used for the first and second component encoders 111 and 113. Hereinafter, the first RSC component encoder 111 will be referred to as RSC1 and the second RSC component encoder 113 will be referred to as RSC2. Further, the interleaver 112 has the same size as the input information bit frame, and rearranges the sequence of the information bits provided to the second component encoder 113 to reduce a correlation between the information bits.
FIGS. 2 and 3 show fundamental structures of the general interleaver and deinterleaver, respectively.
Referring to FIG. 2, an interleaver for interleaving frame data output from the first component encoder will be described. An address generator 211 generates a read address for changing the sequence of input data bits according to an input frame data size L and an input clock, and provides an interleaver memory 212 with the generated read address. The interleaver memory 212 sequentially stores input data in a write mode of operation, and outputs the stored data according to the read address provided from the address generator 211 in a read mode of operation. A counter 213 counts the input clock and provides the clock count value to the interleaver memory 212 as a write address. As describe above, the interleaver sequentially stores input data in the interleaver memory 212 in the write mode of operation, and outputs the data stored in the interleaver memory 212 according to the read address provided from the address generator 211 in the read mode of operation. Alternatively, it is also possible to change the sequence of the input data bits before storing them in the interleaver memory in the write mode of operation, and sequentially read the stored data in the read mode of operation.
Referring to FIG. 3, a deinterleaver will be described. An address generator 311 generates a write address for restoring the sequence of input data bits to the original sequence according to an input frame data size L and an input clock, and provides a deinterleaver memory 312 with the generated write address. The deinterleaver memory 312 stores input data according to the write address provided from the address generator 311 in the write mode of operation, and sequentially outputs the stored data in the read mode of operation. A counter 313 counts the input clock and provides the clock count value to the deinterleaver memory 312 as a read address. As described above, the deinterleaver has the same structure as the interleaver but has the reverse operation of the interleaver. The deinterleaver is merely different from the interleaver in that the input data has different sequences in both the read and write modes. Therefore, for convenience, the description below will be made with reference to the interleaver only.
In general, since the turbo code is a linear block code, a new information word obtained by adding a non-zero information word to an input information word has the same codeword distribution property. Therefore, even though the property is developed based on the all-zero information word, the same performance will be given as compared with the performance determined using the non-zero information word. Thus, a description below will be made with reference to the case where the input information word is the all-zero codeword. That is, performance of the turbo code will be analyzed on the assumption that the input information word has all zero bits and only a given information bit is ‘1’.
To improve performance of the turbo encoder, a primitive polynomial may be used for a feedback polynomial out of a generator polynomial for the component encoder. The feedback polynomial is given by expressing tapping which undergoes feedback in the RSC component encoders 111, 113 of FIG. 1 in a polynomial, and the feedback polynomial is defined as gf(x). If FIG. 1, gf(x)=1+x2+x3. That is, the highest order indicates the depth of a memory, and the rightmost connection determines whether the coefficient x3 of gf(x) is 0 or 1. Therefore, when the number of the memories for the RSC encoder is m, a feedback sequence generated by the feedback polynomial continuously repeats the same pattern at a period of 2m−1. Thus, when an input information word ‘1’ is received at the instant corresponding to this period (e.g., for m=3, when an input information word of ‘10000001 . . . ’ is received), the same information bits are exclusive-ORed, so that the state of the RSC encoder becomes an all-zero state henceforth, thus generating the output symbols of all 0's. This means that the Hamming weight of the codeword generated by the RSC encoder has the constant value of 1 after this event. That is, it means that the free distance of the turbo code is maintained after this time, and the CISP becomes a main cause of a reduction in the free distance of the turbo encoder.
In this case, to increase the free distance, the turbo interleaver randomly disperses the CISP input information word so as to prevent a decrease in the free distance at the output symbol of the other component RSC encoder. Table 1 below shows a feedback sequence generated from gf(x)=1+x2+x3. In Table 1, X(t) indicates an input information bit at a time t of the input information word. Further, m(t), m(t−1) and m(t−2) indicate 3 memory states of the RSC encoder, respectively. Here, since the number of memories is 3, the period is 23−1=7.
TABLE 1
m(t) m(t − 1) m(t − 2)
1 0 0 t = 0 X(0) = 1
0 1 0 t = 1 X(1) = 0
1 0 1 t = 2 X(2) = 0
1 1 0 t = 3 X(3) = 0
1 1 1 t = 4 X(4) = 0
0 1 1 t = 5 X(5) = 0
0 0 1 t = 6 X(6) = 0
1 0 0 t = 7 if X(7) = 1
0 0 0 t = 8
0 0 0 t = 9
. . .
. . .
From Table 1, it is noted that if X(t)=1 at time t=7, then m(t), m(t−1) and m(t−2) become all zero states henceforth. Therefore, the Hamming weight of the following output symbols becomes always zero. In this case, if the turbo interleaver provides the RSC2 with the input information sequence ‘10000001000 . . . ’ as it is, the Hamming weight of the output symbols at the following time of t=7 will not change thereafter even in the RSC2 using the same feedback polynomial, for the same reason. This causes a decrease in the free distance of the whole output symbols of the turbo encoder. To prevent this, the turbo interleaver changes the original input information sequence ‘10000001000 . . . ’ to an input information sequence of a different pattern (for example, changes a position of the information bit ‘1’ such as 110000000 . . . ) and provides the resulting sequence to the RSC2. Therefore, even though an increase in the Hamming weight is stopped in the RSC1, the Hamming weight continuously increases in the RSC2, so that the total free distance of the turbo encoder increases. This is because the feedback polynomial, having the infinite impulse response (IIR) filter type, continuously IN generates the infinite output symbol ‘1’ even for one input information bit ‘1’. Equation 1 below shows the relationship between the RSC1 and the RSC2 in terms of the Hamming weight or free distance of the turbo encoder.
HW(Output code sequence)=HW(RSC1 code sequence)+HW(RSC2 code sequence)  [Equation 1]
where HW is the Hamming weight.
From Equation 1, it is noted that a Hamming weight balance between RSC1 and RSC2 is very important. In particular, it is noted that the minimum free distance of the turbo code is generated for the minimum Hamming weight of the input information word, when the IIR (Infinite Impulse Response) characteristic of the RSC encoder is taken into consideration. In general, the minimum free distance is provided when the input information word has the Hamming weight 2, as mentioned above.
However, as described above, the minimum free distance occurs when the input information word has the Hamming weight 3, 4, 5 . . . , as well as when the input information word has the Hamming weight 2. This occurs when the input information word is received on a frame unit basis, as follows.
For example, when only the information bit located at the last position of the input information word, i.e., the last position of the frame, is ‘1’ and all the other information bits are 0's, the Hamming weight of the input information word becomes 1. In this case, the number of the symbols ‘1’ output from the RSC1 becomes very small, because there is no more input information word. Of course, when zero-tail bits are used, there exist two symbols but those are independently used rather than undergoing turbo interleaving. Therefore, it is assumed herein that the weight is slightly increased. Since the constant weight is added, this will be so excluded from an analysis of the interleaver. In this case, it is noted from Equation 1 that the RSC2 should generate a great number of the output symbols ‘1’ to increase the total free distance.
Now, with reference to FIGS. 4 to 10, a description will be comparatively made regarding the problems of the prior art and the solutions of the problems.
In FIGS. 4 to 10, the cross-hatching parts indicate the positions where the input information bit is ‘1’, and the other parts indicate the positions where the input information bit is ‘0’.
If, as shown in FIG. 4, the turbo interleaver shifts (or permutes) the position of the input information word, where the original symbol of the RSC1 is ‘1’, to the last position of the frame after interleaving, the number of the output symbols ‘1’ generated from the RSC2 will be very small. In this case, since the RSC1 and the RSC2 generate a very small number of the output symbols ‘1’ in accordance with Equation 1, the total free distance decreases drastically. However, if, as shown in FIG. 5, the turbo interleaver shifts the position of the input information word, where the original symbol of the RSC1 is ‘1’, to the first position or a position near the leading position of the frame after interleaving, the number of the output symbols ‘1’ generated from the RSC2 will be increased. This is because a plurality of symbols ‘1’ are output through (N−h) state transitions of the RSC2 encoder, where N is the interleaver size and h is a number of ‘1’. In this case, the RSC2 generates a great number of the output symbols ‘1’, thereby increasing the total free distance.
In addition to the decreased free distance occurring when the internal interleaver shifts the input information bit ‘1’ located at the last position of the frame to the last position of the frame as show in FIG. 4, if one of two information bits of ‘1’ located at the ending position of the frame are still located at (or near) the ending position of the frame even after interleaving as shown in FIG. 6, the total free distance will decrease.
For example, if the internal interleaver operations in the frame mode shown in FIG. 6 wherein two symbols located at the ending position of the frame are 1's and the other symbols are all 0's, then the Hamming weight of the input information word is 2. Even in this case, the number of the output symbols ‘1’ generated from the RSC1 becomes very small, since there is no more input information bit. Therefore, in accordance with Equation 1, the RSC2 should generate a great number of the output symbols ‘1’ to increase the total free distance. However, if, as shown in FIG. 6, the turbo interleaver shifts the position of the above two symbols to the ending position (or somewhere near to the ending position) of the frame even after interleaving, the RSC2 will also generate a small number of the output symbols ‘1’. However, if, as shown in FIG. 7, the turbo interleaver shifts the position of the above two symbols to the leading position (or somewhere near the leading position) of the frame, the RSC2 will generate a great number of the symbols ‘1’. That is, the RSC2 encoder outputs a plurality of the symbols ‘1’ through (N−h) state transitions (N=Interleaver Size, h=a number of symbol ‘1’). In this case, therefore, the RSC2 generates the increased number of output symbols ‘1’, thereby increasing the total free distance.
This principle can be expanded to the case where the turbo interleaver operates in the frame mode shown in FIG. 8 wherein a plurality of information bits ‘1’ exist at the ending period (or duration) of the frame and the other information bits are all 0's. Even in this case, the total free distance is increased by shifting the information bits exiting at the ending position of the frame to the leading position of the frame or to positions nearer to the leading position, as shown in FIG. 8. Of course, since the turbo code is the linear block code, even the new information word obtained by adding a non-zero information word to such an information word has the same property. Therefore, a description below will be made on the basis of the all-zero information word.
In conclusion, when designing the turbo interleaver, the following conditions as well as the random property and the distance property should be satisfied to guarantee performance of the turbo decoder and the free distance of the turbo encoder.
    • Condition 1: In designing every turbo interleaver, the information bits corresponding to a specific period from the last position of the frame should be shifted to the foremost position of the frame by interleaving to increase the free distance of the turbo code.
    • Condition 2: The information bits corresponding to the last position of the frame should be shifted to a position preceding the last position (if possible, to the leading position of the frame) by interleaving, to increase the free distance of the turbo code.
These conditions are applicable to a 2-dimensional turbo interleaver as well as the above-described 1-dimensional interleaver. The 1-dimensional interleaver performs interleaving, regarding the input information frame as a group, as shown in FIGS. 4 to 8. The 2-dimensional interleaver performs interleaving by dividing the input information frame into a plurality of groups. FIG. 9 shows 2-dimensional interleaving wherein the input information word has the Hamming weight 1.
As illustrated, the input information bits are sequentially written in the respective groups (or rows). That is, the input information bits are sequentially written in the groups (or rows) r0, r1, . . . , r(R−1). In each group, the input information bits are sequentially written from the left to the right. Thereafter, a turbo interleaving algorithm randomly changes the positions of R×C elements (i.e., input information bits), where R is the number of rows, C is the number of columns or, equivalently, the number of information bits in a group. In this case, it is preferable to design the turbo interleaving algorithm such that the information bit located at the last position (or the rightmost position) of the last group should be located at the foremost position, if possible, during output. Of course, depending on the order of selecting the groups, the input information bit located at the last position may be shifted to the foremost position (or close thereto) of the corresponding group. Further, Condition 1 and Condition 2 can be normalized in a k-dimensional turbo interleaver (where k>2) as well as the 2-dimensional interleaver.
FIG. 10 shows a case where the input information word has the Hamming weight of over 2. As shown, the information bits located at the last position of the last group are shifted to the leading positions of the last group by interleaving. Of course, the detailed shifting (or interleaving) rule is determined according to an algorithm for a specific interleaver. The invention presents Condition 1 and Condition 2 which should be necessarily satisfied in determining the interleaving rule.
Next, a description will be made of the PIL interleaver having the problems of the prior art document TS25.212 V1.0.0 (1999-2000), and then a further description will be made of a solution of the problems that the PIL interleaver has.
First stage, (1) determine a row number such that R=10 at the case of when the number of input information bit K is 481 to 530 (i.e., case (1)) and R=20 at the case of when the number of input information bit K is any other block length except 481 to 530 (i.e., case (2)), (2) determine a column number C such that in case 1 is (1), C=p=53 where, p=minimum prime number, and in case 2 is (2),
  • (i) find minimum prime number p such that, satisfying 0=<(p+1)−K/R
  • (ii) if (0=<p−K/R) then go to (iii), else C=p+1
  • (iii) if (0=<p−K/R) then C=p=1, else C=p.
A second stage, Case-B, if C=p+1 out of an interleaving algorithm for the PIL interleaver which was provisionally determined as the UMTS turbo interleaver will be first described. In Equation 2 below, R indicates the number of groups (or rows), and has a value of R=10 or R=20. Further, C indicates the size of each group and is determined by a the minimum prime number p which is closest to R/K satisfying 0=<(p+1)−K/R determined in Stage 1 according to a value K/R where K is the size of the actual input information bits of a frame. In Case-B, it is always that C=p+1. Therefore, the actual size of the PIL interleaver becomes a value determined by R×C, which is larger than C K. Further, Cj(i) indicates a position of the information bits obtained by randomly permuting the position of the input information bits in the group on the basis of an ith group, where i=0,1,2,3, . . . , p. In addition, Pj indicates an initial seed value given for an a jth row vector, and is initially given by the algorithm.
[Equation 2]
    • B-1) A primitive root g0 is selected from a given random initialization constant table (3GPP TS 25.212 table 2; table of prime number p and associated primitive root) such that g0 is a the primitive root of a field based on the prime number p.
    • B-2) Construct base sequence C(i) to be used for row vector randomization is generated using the following formula.
      C(i)=[g0×C(i−1)]mod p, i=1,2,3, . . . ,p−2, C(0)=1
    • B-3) Select the minimum prime integer set {qj, j=0,1,2, . . . , R−1} such that g.c.d {qj,p−1}=1, qj>6 and qj>q(j-1), where g.c.d is a greatest common divider and q0=1
    • B-4) {pj, j=0,1,2, . . . , R−1} which is a new prime number set is calculated from {qj, j=0,1,2, . . . , R−1} such that pp(j)=qj where, j=0, 1, . . . R−1 and p(j) is the inter-row permutation pattern defined in the third stage.
    • B-5) Elements of the jth intra-row permutation as following method.
      Cj(i)=C([i×pj]mod(p−1)), i=0,1,2,3, . . . , p−2,
      Cj(p−1)=0,
      and
      Cj(p)=p
A third stage, Perform the row-permutation based on the following p(j) (j=0,1,2 . . . , R−1) patterns, where p(j) is the original row position of the j-th permuted row. The usage of these patterns is as follows; when the number of input information bit K is 320 to 480 bit perform group selection pattern pA, when the number of input information bit K is 481 to 530 bit perform group selection pattern pc, when the number of input information bit K is 531 to 2280 bit perform group selection pattern pA, when the number of input information bit K is 2281 to 2480 bit perform group selection pattern pB, when the number of input information bit K is 2481 to 3160 bit perform group selection pattern pA, when the number of input information bit K is 3161 to 3210 bit perform group selection pattern pB, and when the number of input information bit K is 3211 to 5114 bit perform group selection pattern pA. The group selection pattern is as follow;
  • pA: {19, 9, 14, 4 0, 2, 5, 7, 12, 18, 10, 8, 13, 17, 3, 1, 16, 6, 15, 11} for R=20
  • pB: {19, 9, 14, 4 0, 2, 5, 7, 12, 18, 16, 13, 17, 15, 3, 1, 6, 11, 8, 10} for R=20
  • pc: {9,8,7,6,5,4,3,2,1,0} for R=10.
It should be noted herein that the last operation of B-5) is defined as Cj(p)=p. That is, this means that when the position of the input information bit before interleaving is p, the position of the input information bit is maintained at the position p even after PIL interleaving. Therefore, for the last group (j=19), the information bits CR-1(P)=C19(p) existing at the last position maintain the same position i=P which is the last position of the 19th group. Therefore, Condition 2 for designing the turbo interleaver is not satisfied.
That is, to solve the problem that the PIL interleaver has, algorithm step B-5) may be modified by performing an additional step after step B-5 as follows. The invention presents six methods of B-5-1) to B-5-6), by way of example. Among these, an optimal performance can be determined through simulations in the light of the properties of the turbo interleaver.
One of the following 6 methods are selected.
    • B-5-1) Positions of CR-1,(0) and CR-1(p) are interchanged. R=10 or 20
    • B-5-2) Positions of CR-1(p−1) and CR-1(p) are interchanged. R=10 or 20
    • B-5-3) For every j, positions of Cj(0) and Cj(p) are interchanged. j=0,1,2, . . . , R-1
    • B-5-4) For every j, positions of Cj(p−1) and Cj(p) are interchanged. j=0,1,2, . . , R−1
    • B-5-5) For every j, an optimal exchanging position k for the used interleaving algorithm is searched to interchange positions of Cj(k) and Cj(p).
    • B-5-6) For an (R−1)th row, an optimal exchanging position k for the used interleaving algorithm is searched to interchange positions of CR-1(k) and CR-1(p), where K is determined by simulation.
FIGS. 11 and 12 show a block diagram and a flow chart according to an embodiment of the present invention, respectively.
Referring to FIG. 11, a row vector permutation block (or row vector permutation index generator) 912 generates an index for selecting a row vector according to counting of a row counter 911, and provides the generated index to a high address buffer of the address buffer 918. The row vector permutation block 912 is a group selector for sequentially or randomly selecting, when the input information word is divided into a plurality of groups, the divided groups. A column vector permutation block (or column vector's elements permutation index generator) 914 generates, depending on a modified PIL algorithm 915, an index for permuting the positions of the elements in the corresponding row vector (or group) according to counting of a column counter 913, and provides the generated index to a low address buffer of the address buffer 918. The column vector permutation block 914 is a randomizer for permuting the position of the information bits in the group, which were sequentially stored in the order of input, according to a given rule. A RAM (Random Access Memory) 917 stores temporary data generated in the process of the program. A look-up table 916 stores parameters for interleaving and the primitive root. The addresses obtained by row permutation and column permutation (i.e., the addresses stored in the address buffer 918) are used as addresses for interleaving.
FIG. 12 shows a flow chart of the modified PIL algorithm. A description below relates to the second stage, Case-B, in the PIL algorithm. Referring to FIG. 12, a primitive root g0 is selected from a given random initialization constant table, in step 1011. Thereafter, in step 1013, a base sequence C(i) for randomizing the elements (or information bits) of the group is generated using the following formula.
C(i)=[g0×C(i−1)]mod p, i=1,2,3, . . . ,p−2, C(0)=1
Thereafter, in step 1015, a minimum prime number set {qj, j=0,1,2, . . . , R−1} given for the algorithm is calculated. Then, in step 1017, a prime number set {pj=0,1,2, . . . , R−1} is calculated from the calculated minimum prime number set. Next, in step 1019, the elements of an jth group are randomized in the following method.
Cj(i)=c([i×pj]mod(p−1), i=0,1,2,3, . . . , p−2,
Cj(p−1)=0
Here, in order to increase the minimum free distance of the turbo encoder while randomizing the elements of the group, one of B-5-1) to B-5-6) is selected to permute (or shift) the information bits existing at the last position of the frame to other positions after interleaving.
B-5-1) means that the positions of the first information bit and the last information bit in the last group are exchanged with each other. B-5-2) means that the last two information bits in the last group are exchanged with each other. B-5-3) means that for every group, the information bit existing at the last position and the information bit existing at the foremost position are exchanged with each other. B-5-4) means that for every group, the positions of the last two information bits are exchanged. B-5-5) means that for every group, an optimal position k for a given interleaving rule is searched to exchange a position of the information bit existing at the last position of each row with a position of the information bit existing at the position k. Finally, B-5-6) means that for the last group, an optimal position k for a given interleaving rule is searched to exchange a position of the information bit existing at the last position with a position of the information bit existing at the position k.
By applying the modified algorithm to the PIL interleaver, it is possible to prevent a decrease in the free distance of the turbo encoder. Table 2 below shows a weight spectrum of the PIL interleaver before modification, and Table 3 below shows a weight spectrum of the PIL interleaver after modification.
In Tables 2 and 3, K indicates the size of the input information frame, Dfree(1) indicates a free distance calculated with the CISP for which the input information word has the Hamming weight 1, and Dfree(2) indicates a free distance calculated with the CISP for which the input information word has the Hamming weigh 2. For example, for K=600, Dfree(1) of the original PIL interleaver is indicated by 25/39/49/53/57/ . . . in Table 2, and this means that the minimum free distance is 25 and the next minimum free distance is 39. Similarly, Dfree(2)=38/38/42/ . . . means that the minimum free distance is 38. Therefore, it is noted that the minimum free distance is determined according to the free distance by the CISP with the Hamming weight 1. To prevent a decrease in the free distance by the CISP with the Hamming weight 1, the invention uses the B-5-1) method in this example. That is, Dfree(1) is improved by removing the CISP with the Hamming 1.
Table 2 below shows a weight spectrum of the PIL interleaver before modification.
TABLE 2
K Dfree(1) Dfree(2)
600 Pos. = 599, Min. Weight = 25 Pos. = 29, min_pl = 36, Min. Weight = 38
25/39/49/53/57/61/65/67/67/77/ 38/38/42/42/42/42/42/42/42/42/
640 Pos. = 630, Min. Weight = 25 Pos. = 440, min_pl = 447, Min. Weight = 40
25/37/53/53/53/69/71/73/75/77/ 40/40/42/42/44/44/46/46/46/48/
760 Pos. = 759, Min. Weight = 25 Pos. = 33, minpl = 40, Min. Weight = 38
25/41/57/57/59/69/75/77/81/83/ 38/38/38/42/42/42/42/44/44/50/
840 Pos. = 839, Min. Weight = 25 Pos. = 461, minpl = 468, Min. Weight = 36
25/45/57/65/65/79/79/83/85/87/ 36/38/40/42/42/42/44/46/46/46/
880 Pos. = 879, Min. Weight = 25 Pos. = 294, minpl = 308, Min. Weight = 40
25/47/57/61/65/71/83/89/93/93/ 40/44/46/46/46/48/54/56/56/58/
960 Pos. = 959, Min. Weight = 25 Pos. = 568, minpl = 575, Min. Weight = 36
25/45/61/65/69/71/73/87/87/89/ 36/38/38/42/42/42/42/44/44/46/
1080 Pos. = 1079, Min. Weight = 25 Pos. = 1016, minpl = 1030, Min. Weight = 42
25/49/61/65/67/77/85/89/93/97/ 42/42/46/48/48/50/52/52/54/54/
1200 Pos. = 1199, Min. Weight = 25 Pos. = 953, minpl = 967, Min. Weight = 38
25/53/65/69/85/85/89/89/95/103/ 38/38/42/42/42/42/46/48/50/50/
1240 Pos. = 1239, Min. Weight = 25 Pos. = 1053, minpl = 1060, Min. Weight = 38
25/53/67/69/71/85/93/93/103/105/ 38/38/40/40/42/42/46/46/46/48/
1360 Pos. = 1359, Min. Weight = 25 Pos. = 64, minpl = 71, Min. Weight = 38
25/57/65/73/85/91/93/105/107/107/ 38/42/42/42/42/44/46/46/46/50/
1440 Pos. = 1439, Min. Weight = 25 Pos. = 497, minpl = 504, Min. Weight = 36
25/53/63173/77/87/89/97/105/109/ 36/42/42/46/46/50/50/52/54/58/
1480 Pos. = 1479, Min. Weight = 25 Pos. = 1103, minpl = 1110, Min. Weight = 42
25/61/65/77/77/83/95/101/109/117/ 42/42/44/48/50/50/50/50/54/54/
1600 Pos. = 1599, Min. Weight = 25 Pos. = 315, minpl = 322, Min. Weight = 38
25/61/65/83/83/93/97/105/105/113/ 38/38/38/40/42/44/50/50/50/54/
1680 Pos. = 1679, Min. Weight = 25 Pos. = 504, minpl = 518, Min. Weight = 44
25/69/69/81/89/95/103/113/117/125/ 44/46/50/50/52/52/54/62/62/62/
1800 Pos. = 1799, Min. Weight = 25 Pos. = 1439, minpl = 1446, Min. Weight = 34
25/69/81/85/105/105/109/109/117/ 34/42/42/42/46/48/50/58/60/62/
1960 Pos. = 1959, Min. Weight = 25 Pos. = 1161, minpl = 1175, Min. Weight = 40
25/77/79/83/89/91/97/109/113/125/ 40/44/44/46/48/50/50/52/54/64/
2040 Pos. = 2039, Min. Weight = 25 Pos. = 1932, minpl = 1939, Min. Weight = 38
25/75/77/77/93/109/109/113/129/133/ 38/40/54/54/56/64/64/74/74/74/
2080 Pos. = 2079, Min. Weight = 25 Pos. = 928, minpl = 935, Min. Weight = 40
25/69/77/81/93/103/109/111/119/121/ 40/42/46/54/54/56/58/72/76/88/
2160 Pos. = 2159, Min. Weight = 25 Pos. = 644, minpl = 651, Min. Weight = 38
25/77/81/93/93/97/99/105/107/129/ 38/42/46/50/52/54/54/54/54/60/
2200 Pos. = 2199, Min. Weight = 25 Pos. = 1973, minpl = 1980, Min. Weight = 42
25/57/63/81/97/101/117/121/133/141/ 42/42/44/52/52/54/54/54/60/62/
2280 Pos. = 2279, Min. Weight = 25 Pos. = 1136, minpl = 1150, Min. Weight = 42
25/75/87/89/97/101/113/121/133/139/ 42/42/42/44/50/54/54/54/62/62/
2560 Pos. = 2559, Min. Weight = 25 Pos. = 1663, minpl = 1670, Min. Weight = 42
25/71/73/95/97/109/119/149/149/153/ 42/42/46/48/54/56/56/56/62/62/
2640 Pos. = 2639, Min. Weight = 25 Pos. = 1582, minpl = 1589, Min. Weight = 38
25/87/93/101/109/117/119/133/141/143/ 38/42/42/42/44/46/50/56/62/66/
2760 Pos. = 2759, Min. Weight = 25 Pos. = 820, minpl = 834, Min. Weight = 42
25/97/101/103/113/113/121/141/143/ 42/48/52/54/58/62/62/66/66/66/
2800 Pos. = 2799, Min. Weight = 25 Pos. = 412, minpl = 419, Min. Weight = 44
25/85/97/97/101/101/113/119/137/137/ 44/58/62/62/70/72/72/76/80/82/
3000 Pos. = 2999, Min. Weight = 25 Pos. = 2396, minpl = 2403, Min. Weight = 34
25/85/89/105/123/127/155/157/165/171/ 34/38/40/50/54/54/54/58/74/76/
3040 Pos. = 3039, Min. Weight = 25 Pos. = 604, minpl = 611, Min. Weight = 38
25/61/89/95/105/115/121/133/135/141/ 38/38/42/46/46/52/52/64/66/76/
3160 Pos. = 3159, Min. Weight = 25 Pos. = 2524, minpl = 2538, Min. Weight = 38
25/101/101/105/109/125/127/141/145/149/ 38/42/46/56/68/76/76/78/90/90/
3280 Pos. = 3279, Min. Weight = 25 Pos. = 3109, minpl = 3123, Min. Weight = 42
25/93/105/113/121/125/125/131/131/133/ 42/50/52/62/62/76/90/90/90/90/
3360 Pos. = 3359, Min. Weight = 25 Pos. = 3019, minpl = 3026, Min. Weight = 42
25/71/73/107/117/129/141/141/153/169/ 42/52/54/66/76/80/88/90/90/90/
3480 Pos. = 3479, Min. Weight = 25 Pos. = 1042, minpl = 1049, Min. Weight = 38
25/87/99/105/113/117/133/133/141/145/ 38/38/54/54/56/58/58/58/60/62/
3600 Pos. = 3599, Min. Weight = 25 Pos. = 1438, minpl = 1445, Min. Weight = 42
25/97/109/121/137/139/153/167/167/177/ 42/46/48/54/54/62/74/76/90,90/
3640 Pos. = 3639, Min. Weight = 25 Pos. = 3262, minpl = 3276, Min. Weight = 54
25/87/97/125/137/137/137/149/163/169/ 54/58/58/62/66/68/72/74/82/88/
3840 Pos. = 3839, Min. Weight = 25 Pos. = 759, minpl = 773, Min. Weight = 42
25/53/97/115/117/129/145/147/151/153/ 42/56/58/62/62/62/62/66/70/72/
3880 Pos. = 3879, Min. Weight = 25 Pos. = 383 minpl = 397, Min. Weight = 54
25/91/93/121/129/133/145/173/173/177/ 54/56/60/62/66/74/86/90/90/90/
3960 Pos. = 3959, Min. Weight = 25 Pos. = 1372 minpl = 1386, Min. Weight = 40
25/91/105/125/125/133/135/137/141/143/ 40/62/68/78/88/90/90/90/90/90/
4000 Pos. = 3999, Min. Weight = 25 Pos. = 797 minpl = 804, Min. Weight = 38
25/75/85/133/149/149/149/153/161/175/ 38/42/42/50/54/54/54/54/54/56/
4240 Pos. = 4239, Min. Weight = 25 Pos. = 3392, minpl = 3399, Min. Weight = 40
25/109/119/143/151/153/157/165/169/193/ 40/42/42/46/50/66/80/90/90/90/
4480 Pos. = 4479, Min. Weight = 25 Pos. = 892, minpl = 899, Min. Weight = 38
25/89/89/89/117/119/137/149/159/161/ 38/38/42/42/42/46/54/64/90/90/
4560 Pos. = 4559, Min. Weight = 25 Pos. = 1368, minpl = 1382, Min. Weight = 44
25/113/121/125/137/149/161/165/175/177/ 44/58/66/68/70/70/82/84/86/88/
4600 Pos. = 4599, Min. Weight = 25 Pos. = 3676, minpl = 3683, Min. Weight = 34
25/69/107/121/129/149/151/153/159/161/ 34/48/50/58/62/66/66/76/86/90/
4680 Pos. = 4679, Min. Weight = 25 Pos. = 928, minpl = 942, Min. Weight = 42
25/99/109/137/143/153/171/177/179/187/ 42/44/50/58/62/62/64/68/84/86/
4800 Pos. = 4799, Min. Weight = 25 Pos. = 949, minpl = 963, Min. Weight = 42
25/65/83/129/133/141/157/159/165/169/ 42/42/50/56/58/66/66/66/70/70/
4840 Pos. = 4839, Min. Weight = 25 Pos. = 3858, minpl = 3872, Min. Weight = 42
25/95/129/141/145/151/157/161/173/177/ 42/72/80/82/84/90/90/90/90/90/
5040 Pos. = 5039, Min. Weight = 25 Pos. = 4534, minpl = 4548, Min. Weight = 46
25/157/165/165/175/177/189/189/193/197/ 46/54/54/58/60/60/62/76/82/90/
5160 Pos. = 5159, Min. Weight = 25 Pos. = 2314, minpl = 2321, Min. Weight = 40
25/81/95/137/137/145/147/165/181/185/ 40/40/46/50/58/58/58/62/66/84/
5280 Pos. = 5279, Min. Weight = 25 Pos. = 1579, minpl = 1593, Min. Weight = 42
25/75/101/109/133/137/165/169/181/185/ 42/50/62/66/70/72/82/82/90/90/
5400 Pos. = 5399, Min. Weight = 25 Pos. = 5124, minpl = 5131, Min. Weight = 38
25/99/117/117/125/133/169/173/189/197/ 38/50/52/54/58/72/90/90/90/90/
5440 Pos. = 5439, Min. Weight = 25 Pos. = 4617, minpl = 4624, Min. Weight = 50
25/73/109/143/169/169/169/173/175/181/ 50/58/60/62/76/90/90/90/90/90/
5560 Pos. = 5559, Min. Weight = 25 Pos. = 4441, minpl = 4448, Min. Weight = 38
25/105/141/143/177/181/189/193/193/201/ 38/42/46/54/66/78/84/88/88/90/
5640 Pos. = 5639, Min. Weight = 25 Pos. = 1120, minpl = 1134, Min. Weight = 42
25/101/115/145/153/153/153/165/169/173/ 42/62/76/86/86/90/90/90/90/90/
5680 Pos. = 5679, Min. Weight = 25 Pos. = 851, minpl = 858, Min. Weight = 50
25/101/145/165/173/181/187/187/193/197/ 50/54/62/74/78/80/82/84/88/88/
5880 Pos. = 5879, Min. Weight = 25 Pos. = 4410, minpl = 4417, Min. Weight = 42
25/103/129/161/173/177/189/199/201/201/ 42/52/72/80/90/90/90/90/90/90/
6160 Pos. = 6159, Min. Weight = 25 Pos. = 5849, minpl = 5863, Min. Weight = 42
25/129/155/157/165/187/197/205/209/217/ 42/44/46/58/90/90/90/90/90/90/
6240 Pos. = 6239, Min. Weight = 25 Pos. = 305, minpl = 319, Min. Weight = 42
25/119/119/123/169/185/197/199/213/213/ 42/42/62/80/90/90/90/90/90/90/
6280 Pos. = 6279, Min. Weight = 25 Pos. = 5323, minpl = 5337, Min. Weight = 44
25/117/133/137/161/175/177/195/197/197/ 44/68/72/72/80/88/90/90,90/90/
6360 Pos. = 6359, Min. Weight = 25 Pos. = 5081, minpl = 5095, Min. Weight = 38
25/109/137/141/141/145/147/161/187/201/ 38/42/46/62/78/86/90/90/90/90/
6640 Pos. = 6639, Min. Weight = 25 Pos. = 3645, minpl = 3652, Min. Weight = 44
25/101/109/139/147/175/177/185/209/217/ 44/54/58/60/64/90/90/90/90/90/
6760 Pos. = 6759, Min. Weight = 25 Pos. = 6409, minpl = 6423, Min. Weight = 42
25/105/125/165/203/215/217/229/249/249/ 42/50/70/84/90/90/90/90,90/90/
6960 Pos. = 6959, Min. Weight = 25 Pos. = 5565, minpl = 5572, Min. Weight = 34
25/123/145/145/161/209/211/217/219/223/ 34/50/54/62/66/80/82/88/90/90/
7000 Pos. = 6999, Min. Weight = 25 Pos. = 3846, minpl = 3853, Min. Weight = 38
25/111/145/145/197/221/221/233/235/237/ 38/52/54/60/62/72/84/90/90/90/
7080 Pos. = 7079, Min. Weight = 25 Pos. = 2122, minpl = 2129, Min. Weight = 38
25/117/129/161/165/169/171/175/175/177/ 38/42/50/54/54/58/72/84/88/90/
7200 Pos. = 7199, Min. Weight = 25 Pos. = 6833, minpl = 6840, Min. Weight = 44
25/167/169/173/185/185/215/217/225/225/ 44/50/66/84/90/90/90/90/90/90/
7360 Pos. = 7359, Min. Weight = 25 Pos. = 1836, minpl = 1843, Min. Weight = 46
25/81/157/169/173/173/183/221/221/221/ 46/60/72/82/82/90/90/90/90/90/
7480 Pos. = 7479, Min. Weight = 25 Pos. = 1865, minpl = 1872, Min. Weight = 46
25/117/153/201/207/217/217/227/229/233/ 46/66/66/72/82/82/90/90/90/90/
7600 Pos. = 7599, Min. Weight = 25 Pos. = 1893, minpl = 1900, Min. Weight = 46
25/125/155/157/201/221/223/239/245/251/ 46/56/58/72/84/90/90/90/90/90/
7680 Pos. = 7679, Min. Weight = 25 Pos. = 2865, minpl = 2872, Min. Weight = 78
25/133/153/157/189/207/237/241/243/253/ 78/90/90/90/90/90/90/90/90/90/
7800 Pos. = 7799, Min. Weight = 25 Pos. = 1170, minpl = 1184, Min. Weight = 44
25/115/151/157/181/193/209/241/249/251/ 44/50/64/72/76/80/86/90/90/90/
7960 Pos. = 7959, Min. Weight = 25 Pos. = 398, minpl = 405, Min. Weight = 40
25/135/145/153/169/169/185/217/223/223/ 40/80/86/88/90/90/90/90/90/90/
8040 Pos. = 8039, Min. Weight = 25 Pos. = 7054, minpl = 7068, Min. Weight = 56
25/109/109/111/141/185/201/219/241/249/ 56/68/90/90/90/90/90/90/90/90/
Table 3 below shows a weight spectrum of the PIL interleaver after modification, where one modification step is selected and used for all frames.
TABLE 3
K Dfree(1)/PILSS Dfree(2)/PILSS
600 pos. = 569, Min. Weight = 39 pos. = 29, minpl = 36, Min. Weight = 38
39/41/49/53/57/61/65/67/67/77/ 38/38/42/42/42/42/42/42/42/42/
640 Pos. = 607, Min. Weight = 37 pos. = 440, minpl = 447, Min. Weight = 40
37/43/53/53/53/69/71/73/75/77/ 40/40/42/42/44/44/46/46/46/48/
760 Pos. = 721, Min. Weight = 41 pos. = 33, minpl = 40, Min. Weight = 38
41/45/57/57/59/69/75/77/81/83/ 38/38/38/42/42/42/42/44/44/50/
840 pos. = 797, Min. Weight = 45 pos. = 461, minpl = 468, Min. Weight = 36
45/45/57/65/65/79/79/83/85/87/ 36/38/40/42/42/42/44/46/46/46/
880 pos. = 835, Min. Weight = 47 pos. = 294, minpl = 308, Min. Weight = 40
47/49/57/61/65/71/83/89/93/93/ 40/44/46/46/46/48/54/56/56/58/62/
960 pos. = 911, Min. Weight = 45 pos. = 568, minpl = 575, Min. Weight = 36
45/49/61/65/69/71/73/87/87/89/ 36/38/38/42/42/42/42/44/44/46/
1080 pos. = 1025, Min. Weight = 49 pos. = 1016, minpl = 1030, Min. Weight = 42
49/53/61/65/67/77/85/89/93/97/ 42/42/46/48/48/50/52/52/54/54/
1200 pos. = 1139, Min. Weight = 25 pos. = 953, minpl = 967, Min. Weight = 38
53/59/65/69/85/85/89/89/95/103/ 38/38/42/42/42/42/46/48/50/50/
1240 pos. = 1177, Min. Weight = 53 pos. = 1053, minpl = 1060, Min. Weight = 38
53/57/67/69/71/85/93/93/103/105/ 38/38/40/40/42/42/46/46/46/48/
1360 pos. = 1291, Min. Weight = 53 pos. = 64, minpl = 71, Min. Weight = 38
57/61/65/73/85/91/93/105/107/107/ 38/42/42/42/42144/46/46/46/50/
1440 pos. = 1429, Min. Weight = 53 pos. = 497, minpl = 504, Min. Weight = 36
53/63/65/73/77/87/89/97/105/109/ 36/42/42/46/46/50/50/52/54/58/
1480 pos. = 1405, Min. Weight = 61 pos. = 1103, minpl = 1110, Min. Weight = 42
61/65/67/77/77/83/95/101/109/117/ 42/42/44/48/50/50/50/50/54/54/
1600 pos. = 1573, Min. Weight = 61 pos. = 315, minpl = 322, Min. Weight = 38
61/65/69/83/83/93/97/105/105/113/ 38/38/38/40/42/44/50/50/50/54/
1680 pos. = 1595, Min. Weight = 69 pos. = 504, minpl = 518, Min. Weight = 44
69/69/69/81/89/95/103/113/117/125/ 44/46/50/50/52/52/54/62/62/62/
1800 pos. = 1709, Min. Weight = 69 pos. = 1439, minpl = 1446, Min. Weight = 34
69/73/81/85/105/105/109/109/117/ 34/42/42/42/46/48/50/58/60/62/
1960 pos. = 1861, Min. Weight = 77 pos. = 1161, minpl = 1175, Min. Weight = 40
77/77/79/83/89/91/97/109/113/125/ 40/44/44/46/48/50/50/52/54/64/
2040 pos. = 2014, Min. Weight = 75 pos. = 1114, minpl = 1121, Min. Weight = 40
75/77/77/83/93/109/109/113/129/133/ 40/54/54/56/64/64/74/74/74/80/
2080 pos. = 2038, Min. Weight = 69 pos. = 928, minpl = 935, Min. Weight = 40
69/77/81/81/93/103/109/111/119/121/ 40/42/46/54/54/56/58/72/76/88/
2160 pos. = 2106, Min. Weight = 77 pos. = 644, minpl = 651, Min. Weight = 38
77/81/85/93/93/97/99/105/107/129/ 38/42/46/50/52/54/54/54/54/60/
2200 pos. = 2181, Min. Weight = 57 pos. = 1973, minpl = 1980, Min. Weight = 42
57/63/81/95/97/101/117/121/133/141/ 42/42/44/52/52/54/54/54/60/62/
2280 pos. = 2254, Min. Weight = 75 pos. = 1136, minpl = 1150, Min. Weight = 42
75/87/89/89/97/101/113/121/133/139/ 42/42/42/44/50/54/54/54/62/62/
2560 pos. = 2545, Min. Weight = 71 pos. = 1663, minpl = 1670, Min. Weight = 42
71/73/95/97/97/109/119/149/149/153/ 42/46/48/54/56/56/56/62/64/72/
2640 pos. = 2574, Min. Weight = 87 pos. = 1582, minpl = 1589, Min. Weight = 38
87/93/97/101/109/117/119/133/141/143/ 38/42/42/42/44/46/50/56/62/66/
2760 pos. = 2621, Min. Weight = 97 pos. = 820, minpl = 834, Min. Weight = 42
97/101/101/103/113/113/121/141/143/ 42/48/52/54/58/62/62/66/66/66/
2800 pos. = 2730, Min. Weight = 85 pos. = 412, minpl = 419, Min. Weight = 44
85/97/97/101/101/101/113/119/137/137/ 44/58/62/62/66/70/72/72/76/80/
3000 pos. = 2962, Min. Weight = 85 pos. = 2396, minpl = 2403, Min. Weight = 34
85/89/105/109/123/127/155/157/165/171/ 34/38/40/50/54/54/54/58/74/76/
3040 pos. = 3014, Min. Weight = 61 pos. = 604, minpl = 611, Min. Weight = 38
61/89/95/105/109/115/121/133/135/141/ 38/38/42/46/46/52/52/64/66/76/
3160 pos. = 3065, Min. Weight = 101 pos. = 2524, minpl = 2538, Min. Weight = 38
101/101/105/109/115/125/127/141/145/149/ 38/42/46/56/68/76/76/78/90/90/
3280 pos. = 3198, Min. Weight = 93 pos. = 3109, minpl = 3123, Min. Weight = 42
93/105/113/117/121/125/125/131/131/133/ 42/50/52/62/62/76/90/90/90/90/
3360 pos. = 3339, Min. Weight = 71 pos. = 3019, minpl = 3026, Min. Weight = 42
71/73/107/117/117/129/141/141/153/169/ 42/52/54/66/76/80/88/90/90/90/
3480 pos. = 3436, Min. Weight = 87 pos. = 1042, minpl = 1049, Min. Weight = 38
87/99/105/113/117/121/133/133/141/145/ 38/38/54/54/56/58/58/58/60/62/
3600 pos. = 3510, Min. Weight = 97 pos. = 1438, minpl = 1445, Min. Weight = 42
97/109/121/125/137/139/153/167/167/177/ 42/46/48/54/54/62/74/76/90/90/
3640 pos. = 3594, Min. Weight = 87 pos. = 3262, minpl = 3276, Min. Weight = 54
87/97/125/125/137/137/137/149/163/169/ 54/58/58/62/66/68/72/74/82/88/
3840 pos. = 3829, Min. Weight = 53 pos. = 759, minpl = 773, Min. Weight = 42
53/97/115/117/129/133/145/147/151/153/ 42/56/58/62/62/62/62/66/70/72/
3880 pos. = 3825, Min. Weight = 91 pos. = 383 minpl = 397, Min. Weight = 54
91/93/121/129/133/133/145/173/173/177/ 54/56/60/62/66174/86/90/90/90/
3960 pos. = 3910, Min. Weight = 91 pos. = 1372 minpl = 1386, Min. Weight = 40
91/105/125/125/133/135/137/137/141/143/ 40/62/68/78/88/90/90/90/90/90/
4000 pos. = 3977, Min. Weight = 75 pos. = 797 minpl = 804, .Min. Weight = 38
75/85/133/139/149/149/149/153/161/175/ 38/42/42/50/5454/54/54/54/56/
4240 pos. = 4134, Min. Weight = 109 pos. = 3392, minpl = 3399, Min. Weight = 40
109/119/143/145/151/153/157/165/169/193/ 40/42/42/46/50/66/80/90/90/90/
4480 pos. = 4405, Min. Weight = 89 pos. = 892, minpl = 899, Min. Weight = 38
89/89/89/117/119/137/149/149/159/161/ 38/38/42/42/42/46/54/64/90/90/
4560 pos. = 4446, Min. Weight = 113 pos. = 1368, minpl = 1382, Min. Weight = 44
113/121/125/137/149/155/161/165/175/177/ 44/58/66/68/70/70/82/84/86/88/
4600 pos. = 4561, Min. Weight = 69 pos. = 3676, minpl = 3683, Min. Weight = 34
69/107/121/129/149/151/153/153/159/161/ 34/48/50/58/62/66/66/76/86/90/
4680 pos. = 4656, Min. Weight = 99 pos. = 928, minpl = 942, Min. Weight = 42
99/109/137/143/153/171/171/177/179/187/ 42/44/50/58/62/62/64/68/84/86/
4800 pos. = 4765, Min. Weight = 65 pos. = 949, minpl = 963, Min. Weight = 42
65/83/129/133/141/157/159/161/165/169/ 42/42/50/56/58/66/66/66/70/70/
4840 pos. = 4780, Min. Weight = 95 pos. = 3858, minpl = 3872, Min. Weight = 42
95/129/141/145/151/157/161/163/173/177/ 42/72/80/82/84/90/90/90/90/90/
5040 pos. = 5029, Min. Weight = 157 pos. = 4534, minpl = 4548, Min. Weight = 46
157/165/165/165/175/177/189/189/193/197/ 46/54/54/58/60/60/62/76/82/90/
5160 pos. = 5140, Min. Weight = 81 pos. = 2314, minpl = 2321, Min. Weight = 40
81/95/137/137/145/147/165/169/181/185/ 40/40/46/50/58/58/58/62/66/84/
5280 pos. = 5285, Min. Weight = 75 pos. = 1579, minpl = 1593, Min. Weight = 42
75/101/109/133/137/165/169/173/181/185/ 42/50/62/66/70/72/82/82/90/90/
5400 pos. = 5332, Min. Weight = 99 pos. = 1883, minpl = 1890, Min. Weight = 50
99/117/117/125/133/169/173/179/189/197/ 50/52/54/58/72/90/90/90/90/90/
5440 pos. = 5394, Min. Weight = 73 pos. = 4617, minpl = 4624, Min. Weight = 50
73/109/143/169/169/169/173/175/177/181/ 50/58/60/62/76/90/90/90/90/90/
5560 pos. = 5520, Min. Weight = 105 pos. = 4441, minpl = 4448, Min. Weight = 38
105/141/143/177/181/181/189/193/193/201/ 38/42/46/54/6628/84/88/88/90/
5640 pos. = 5587, Min. Weight = 101 pos. = 1120, minpl = 1134, Min. Weight = 42
101/115/145/153/153/153/165/169/173/173/ 42/62/76/86/86/90/90/90/90/90/
5680 pos. = 5585, Min. Weight = 101 pos. = 851, minpl = 858, Min. Weight = 50
101/145/165/173/181/187/187/187/193/197/ 50/54/62/14/78/80/82/84/88/88/
5880 pos. = 5806, Min. Weight = 103 pos. = 4410, minpl = 4417, Min. Weight = 42
103/129/161/173/177/189/189/199/201/201/ 42/52/72/80/90/90/90/90/90/90/
6160 pos. = 6111, Min. Weight = 129 pos. = 5849, minpl = 5863, Min. Weight = 42
129/155/157/165/187/197/197/205/209/217/ 42/44/46/58/90/90/90/90/90/90/
6240 pos. = 6140, Min. Weight = 119 pos. = 305, minpl = 319, Min. Weight = 42
119/119/123/169/185/197/199/203/213/213/ 42/42/62/80/90/90/90/90/90/90/
6280 pos. = 6234, Min. Weight = 117 pos. = 5323, minpl = 5337, Min. Weight = 44
117/133/137/161/175/177/195/197/197/199/ 44/68/72/72/80/88/90/90/90/90/
6360 pos. = 6280, Min. Weight = 109 pos. = 5081, minpl = 5095, Min. Weight = 38
109/137/141/141/145/147/161/187/201/205/ 38/42/46/62/78/86/90/90/90/90/
6640 pos. = 6590, Min. Weight = 101 pos. = 3645, minpl = 3652, Min. Weight = 44
101/109/139/147/175/177/185/209/213/217/ 44/54/58/60/64/90/90/90/90/90/
6760 pos. = 6658, Min. Weight = 105 pos. = 670, minpl = 677, Min. Weight = 50
105/125/165/203/215/217/217/229/249/249/ 50/70/84/90/90/90/90/90/90/90/
6960 pos. = 6894, Min. Weight = 123 pos. = 5565, minpl = 5572, Min. Weight = 34
123/145/145/161/209/211/217/219/221/223/ 34/50/54/62/66/80/82/88/90/90/
7000 pos. = 6912, Min. Weight = 111 pos. = 3846, minpl = 3853, Min. Weight = 38
111/145/145/197/221/221/221/233/235/237/ 38/52/54/60/62/72/84/90/90/90/
7080 pos. = 7018, Min. Weight = 117 pos. = 2122, minpl = 2129, Min. Weight = 38
117/129/161/165/169/171/175/175/177/181/ 38/42/50/54/54/58/72/84/88/90/
7200 pos. = 6994, Min. Weight = 167 pos. = 6833, minpl = 6840, Min. Weight = 44
167/169/173/185/185/215/217/225/225/229/ 44/50/66184/90/90/90/90/90/90/
7360 pos. = 7298, Min. Weight = 81 pos. = 1836, minpl = 1843, Min. Weight = 46
81/157/169/173/173/183/221/221/221/229/ 46/60/72/82/82/90/90/90/90/90/
7480 pos. = 7386, Min. Weight = 117 pos. = 1865, minpl = 1872, Min. Weight = 46
117/153/201/207/217/217/227/229/233/233/ 46/66/66/72/82/82/90/90/90/90/
7600 pos. = 7528, Min. Weight = 125 pos. = 1893, minpl = 1900, Min. Weight = 46
125/155/157/201/221/223/239/241/245/251/ 46/56/58/72/84/90/90/90/90/90/
7680 pos. = 7526, Min. Weight = 133 pos. = 2865, minpl = 2872, Min. Weight = 78
133/153/157/189/207/237/241/241/243/253/ 78/90/90/90/90/90/90/90/90/90/
7800 pos. = 7702, Min. Weight = 115 pos. = 1170, minpl = 1184, Min. Weight = 44
115/151/157/181/193/209/241/245/249/251/ 44/50/64/72176/80/86/90/90/90/
7960 pos. = 7832, Min. Weight = 135 Pos. = 398, minpl = 405, Min. Weight = 40
135/145/153/169/169/185/217/223/223/237 40/80/86188/90/90/90190/90/90/
8040 pos. = 8006, Min. Weight = 109 pos. = 7054, minpl = 7068, Min. Weight = 56
109/109/111/141/185/201/219/241/249/253 56/68/90/90/90/90/90/90/90/90/
As described above, the novel turbo encoder suppresses a decreases in the free distance dfree caused by one or more information bits of ‘1’ located at the last period of a data frame input to the component encoder, using the internal interleaver, thereby contributing to implementation of a turbo encoder with high performance.
While the invention has been shown and described with reference to a certain preferred embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (32)

What is claimed is:
1. A turbo encoder comprising:
a first encoder configured for encoding a frame of K input information bits to generate first coded symbols;
an interleaver configured for
receivingsequentially writing the K information bits into a Row (R)×Column (C) rectangular matrix, row by row, starting in a first column of a first row,
intra row permuting positions of the K information bits in the R×C rectangular matrix in each row according to a given interleaving rule,
exchanging a position of an information bit in a last column of a last row with a position of an information bit in the first column of the last row, after the intra row permuting,
performing inter-row permutations of the R×C rectangular matrix, and
and interleaving the information bits position such that an information bit existing at the last position of the frame is shifted to a position preceding the last position for not generating Critical Information Sequence Pattern (CISP)reading out the information bits from the permuted R×C rectangular matrix, column by column, starting in the first row of the first column; and
a second encoder configured for encoding the interleaved read out information bits to generate second coded symbols,
wherein the R×C rectangular matrix includes R rows and C columns, K=R×C, and K indicates a number of the information bits included in the frame.
2. The turbo encoder as claimed in claim 1, wherein the interleaver comprises:
a controller for writing the information bits sequentially in memory and dividing the information bits into R groups each having the C information bits; permuting the an address of the an information bit written in a jth row (where, j=0,1,2, . . . , R−1) to positions Cj(i) in the row in accordance with an algorithm given by
i) C(i)=[g0×C(i−1)] mod p, i=1,2, . . . , (p−2) and C(0)=1
ii) Cj(i)=C([i×pj] mod (p−1)),
j=0,1,2, . . . , (R−1), i=0,1,2, . . . , (p−1 2), Cj(p−1)=0, and Cj(p)=p
iii) exchange CR-1(p) with CR-1(0)
where p (prime number) indicates a minimum prime number which is closest to K/R satisfying 0≦(p+1)−K/R, g0 (primitive root) indicates a predetermined number corresponding to an associated primitive root for p, and pj indicates a primitive number set.
3. The turbo encoder as claimed in claim 2, wherein the interleaver comprises:
a memory for storing the information bit frame sequentially;
a randomizer for permuting the address of the stored informnation bits according as shifting the address of an informnation bit existing at the last position to a position preceding the last position in the last group.
4. The turbo encoder as claimed in claim 3, wherein the randomizer exchanges an information bit address existing at the last position of the last group with an information bit address existing at a first position of the last group.
5. A device for permuting information bit addresses of an input frame which have R Row (R) groups, each of the R groups having C Column (C) information bits, in a prime interleaver (PIL) used as an internal interleaver for a turbo encoder, the device comprising:
a memory for storing the information bit frame sequentially; and
a randomizer for permuting the addresses of the information bit frame according to a given interleaving rule, and changing the exchanging an address of an a last information bit to a position preceding the position in the position with an address of an information bit existing at a first position of a last group, after the permuting.
6. The device as claimed in claim 5, wherein the randomizer exchanges an information bit position existing at the last position of the last group with an information bit position existing at a first position of the last group.
7. A device for interleaving a frame of K information bits which have R Row (R) groups, each of the R groups having C Column (C) information bits, in a PIL interleaver prime interleaver (PIL) used as an internal interleaver for a turbo encoder, the device comprising:
a controller for writing input information bits of a frame in a memory sequentially and permuting the position positions of the information bits written in a jth row (where, j can be 0,1,2, . . . , or R−1) to position Cj(i) in the row in accordance with an algorithm given by
i) permute a base sequence C(i)=[g0×C(i−1)] mod p, i=1,2, . . . , (p−2) and C(0)=1
ii) perform row permutation Cj(i)=C([i×pj] mod (p−1)),
j=0,1,2, . . . , (R−1), i=0,1,2, . . . , (p−1 2), Cj(p−1)=0, and Cj(p)=p
iii) exchange CR-1(p) with CR-1(0)
where p (prime number) indicates a minimum prime number which is closest to K/R satisfying 0≦(p+1)−K/R, g0 (primitive root) indicates a predetermined number corresponding to an associated primitive root for p, and pj indicates a primitive number set.
8. A 2-dimensional interleaving method comprising the steps of:
storing a frame of K input information bits into a memory sequentially and dividing an the information bits into R Row (R) groups, each of the R groups having C Column (C) information bits;
permuting the information bits addresses of the each group according to a given rule; and
changingexchanging an information bit address existing at thea last position of thea last group to a address preceding the last positionwith an information bit address existing at a first position of the last group, subsequent to the permuting.
9. A The 2-dimensional interleaving method as claimed in claim 8, wherein the permuting the information bits addresses, comprises:
determining a minimum prime number p which is closest to K/R satisfying 0≦(p+1)−K/R, sequentially writing input sequences of information bits of a frame in a memory;
selecting a primitive root g0 corresponding to the minimum prime number p, and generating a base sequence C(i) for intra-row permuting the input sequences written in the rows in accordance with

C(i)=[g0×C(i−1)] mod p, i=1,2, . . . , (p−2), and C(0)=1;
calculating a minimum prime integer set {qj}(j=0,1,2, . . . , R−1) by determining

g.c.d{qj,p−1}=1

qj>6, qj>q(j-1)
where g.c.d is a greatest common divider and q0=1;
intra-row permuting {qj} using

pP(j)=qj, j=0,1, . . . , R−1
where P(j) indicates a predetermined selecting order for selecting the R rows;
when C=p+1, permuting sequences in a jth row in accordance with

Cj(i)=C([i×pj] mod(p−1)),
where j=0,1,2, . . . , (R−1), i=0,1,2, . . . , (p−1 2), Cj(p−1)=0, and Cj(p)=p,
and if (K=C×R), then CR-1(p) is exchanged with CR-1(0).
10. The 2-dimensional interleaving method as claimed in claim 8, wherein an information bit address existing at the last position of the last group is exchanged with an information bit address existing at a first position of the last group.
11. A 2-dimensional interleaving method comprising the steps of:
writing input sequences of a frame of input information bits which have R Row (R) groups, each of the R groups having C Column (C) information bits, in a memory;
permuting the address addresses of the information bits written in the memory according to a given rule; and
shiftingexchanging an address of an information bit written in thea last position of thea last group to a position precedingwith an address of an information written in a first position of the last group, subsequent to the permuting.
12. The 2-dimensional interleaving method as claimed in claim 11, wherein the input sequence written in the last position of the last group is exchanged with an input sequence written in a first position of the last group.
13. A method for interleaving a frame of input information bits which have R Row (R) groups, each of the R groups having C Column (C) information bits, in a PIL interleaver prime interleaver (PIL) used as an internal interleaver for a turbo encoder, the method comprising the steps of:
a) permuting the information bits position positions of the groups according to a predetermined PIL interleaving rule; and
b) changing exchanging an information bit existing at the a last position of the frame to a position preceding the last position a last group with an information bit existing at a first position of the last group, subsequent to the permuting.
14. The method as claimed in claim 13, wherein an information bit position existing at the last position of the last group is exchanged with an information bit existing at a first position of the last group.
15. The method as claimed in claim 13, wherein in the step a and b), the information bits position positions of the frame written in an a jth row (where j=0,1,2, . . . , R−1) are permuted to positions Cj(i) in the row in accordance with the steps of an algorithm given by the steps of
i) calculating C(i)=[g0×c(i−1)] mod p, i=1,2, . . . , (p−2) and C(0)=1
ii) calculating Cj(i)=C([i×pj] mod(p−1)), where
j=0,1,2, . . . , (R−1), i=0,1,2, . . . , (p−1 2), Cj(p−1)=0, and Cj(p)=p
iii) exchanging CR-1(p) with CR-1(0)
where p (prime number) indicates a minimum prime number which is closest to K/R satisfying 0≦(p+1)−K/R, K indicates a number of the input information bits in the frame, g0 (primitive root) indicates a predetermined number corresponding to an associated primitive root for p, pj indicates a primitive number set, and cj(i) is the an input bit position of an ith output after the permutation of a jth row.
16. A 2-dimensional interleaving method comprising the steps of:
sequentially writing input sequences of information bits of the a frame in an R a Row (R)×C Column rectangular matrix;
selecting a primitive root g0 corresponding to the a minimum prime number p, and generating a base sequence c(i) for intra-row permuting the input sequences written in the rows of the R×C rectangular matrix in accordance with

C(i)=[g0×C(i−1)] mod p, i=1,2, . . . , (p−2), and C(0)=1;
calculating a minimum prime integer set {qj}(j=0,1,2, . . . , R−1) by determining

g.c.d{qj,p−1}=1

qj>6, qj>q(j-1)
where g.c.d is a greatest common divider and q0=1;
intra-row permuting {qj} using

pP(j)=qj, j=0,1, . . . , R−1
where P(j) indicates a predetermined selecting order for selecting the R rows;
when C=p+1, permuting sequences in a jth row in accordance with

Cj(i)=C([i×pj] mod(p−1)),
where j=0,1,2, . . . , (R−1), i=0,1,2, . . . , (p−1 2), Cj(p−1)=0, and Cj(p)=p,
and if (K=C×R), then CR-1(p) is exchanged with CR-1(0),
selecting R rows according to a predetermined order P(j), and selecting one input sequence from the selected row; and
providing the selected input sequence as a read address for interleaving the information bits of the input frame.
17. The turbo encoder as claimed in claim 1, wherein the interleaver is further configured for permuting addresses of the information bits written in a jth row, where, j=0, 1, 2, . . . , R−1, to positions Cj(i) in the row in accordance with an algorithm given by
i) C(i)=[g0×C(i−1)] mod p, i=1,2, . . . ,(p−2) and C(0)=1
ii) Cj(i)=C([i×pj] mod (p−1)), j=0,1,2, . . . ,(R−1), i=0,1,2, . . . ,(p−2), Cj(p−1)=0, and Cj(p)=p
iii) exchange CR-1(p) with CR-1(0)
where p indicates a minimum prime number satisfying 0≦(p+1)−K/R, g0 indicates an associated primitive root for p, and pj indicates a prime number set.
18. A device for permuting information bit addresses of an input frame, the input frame having Row (R) groups, each of the R groups having Column (C) information bits, the device being configured in an internal interleaver for a turbo encoder, the device comprising:
a memory configured for storing the information bits frame sequentially; and
a randomizer configured for
intra-row permuting an address of the stored information bits in each row according to a given interleaving rule,
exchanging an address of an information bit existing at a last position of a last group with an address of an information bit existing at a first position of the last group, after the intra-row permuting,
performing inter-row permutations, and
reading out the information bits, column by column, starting in the first row of the first column.
19. A device for interleaving a frame of K information bits, the frame having Row (R) groups, each the R groups having Column (C) information bits, the device comprising:
an interleaver for two-dimensional interleaving for a turbo encoder configured for sequentially writing input information bits of a frame in a memory and permuting positions of the information bits written in a jth row to a position Cj(i) in the row, where, j can be 0,1,2 . . . , or R−1, in accordance with an algorithm given by
iv) permute a base sequence C(i)=[g0×C(i−1)] mod p, i=1,2, . . . ,(p−2) and C(0)=1,
v) perform row permutation Cj(i)=C([i×pj] mod (p−1)), j=0,1.2, . . ,(R−1), i=0,1,2, . . . , (p−2), Cj(p−1)=0, and Cj(p)=p,
vi) exchange CR-1(p) with CR-1(0);
where K specifies a number of input information bits in a frame, p indicates a minimum prime number satisfying 0≦(p+1)−K/R, g0 indicates an associated primitive root for p, and pj indicates a prime number set.
20. The device according to claim 19, further comprising a randomizer configured for permuting the addresses of the stored information bits in accordance with exchanged positions of the stored information bits.
21. A two-dimensional interleaving method comprising the steps of:
sequentially storing a frame of K input information bits, the frame having Row (R) groups, each of the R groups having Column (C) information bits;
permuting information bit addresses of the each of the R groups according to a given interleaving rule; and
exchanging an address of an information bit existing at a last position of a last group with an address of an information bit existing at a first position of the last group, subsequent to the permuting.
22. The two-dimensional interleaving method as claimed in claim 21, wherein the step of permuting comprises:
determining a minimum prime number p satisfying 0≦(p+1)−K/R;
selecting a primitive root g0 associated with the minimum prime number p, and
generating a base sequence C(i) for intra-row permuting of the input sequences written in the rows in accordance with
C(i)=[g0×C(i−1)] mod p, i=1,2, . . . ,(p−2), and C(0)=1;
calculating a minimum prime integer set {qj}(j=0,1,2, . . . ,R−1) by determining
g.c.d{qj,p−1}=1
qj>6, qj>q(j-1)
where g.c.d is a greatest common divider and q0=1;
intra-row permuting {qj} using
pP(j)=qj, j=0,1, . . . ,R−1
where P(j) indicates a predetermined selecting order for selecting the R rows; and
when C=p+1, permuting sequences in a jth row in accordance with
Cj(i)=C([i×pj] mod (p−1)),
where j=0,1,2, . . . ,(R−1), i=0,1,2, . . . ,(p−2), Cj(p−1)=0, and Cj(p)=p,
and if (K=C×R), then CR-1(p) is exchanged with CR-1(0).
23. A two-dimensional interleaving method comprising the steps of:
writing input sequences of a frame of input information bits in a memory, the frame having Row (R) groups, each of the R groups having Column (C) information bits;
permuting addresses of the information bits written in the memory according to a given interleaving rule; and
exchanging an address of an information bit written in a last position of a last group with an information bit written in a first position of the last group, subsequent to the permuting.
24. A method for interleaving a frame of input information bits, the frame having Row (R) groups, each of the R groups having Column (C) information bits, the method for use in an internal interleaver of a turbo encoder, the method comprising the steps of:
a) permuting information bit positions of the groups according to predetermined interleaving rule; and
b) exchanging an information bit existing at a last position of a last group with an information bit existing at a first position of the last group.
25. The method as claimed in claim 24, wherein in the step a) and b), the R groups are rows and the information bits positions of the frame written in a jth row, where j=0,1,2, . . . ,R−1, are permuted with positions Cj(i) in the row in accordance with an algorithm given by
i) calculating C(i)=[g0×C(i−1)] mod p, i=1,2, . . . ,(p−2) and C(0)=1
ii) calculating Cj(i)=C([i×pj] mod (p−1)), where
j=0,1,2, . . . ,(R−1), i=0,1,2, . . . ,(p−2), Cj(p−1)=0, and Cj(p)=p
iii) exchanging CR-1(p) with CR-1(0)
where k specifies a number of input information bits in a frame, p indicates a minimum prime number satisfying 0≦(p+1)−K/R, g0 indicates an associated primitive root for p, pj indicates a prime number set, and Cj(i) is the input bit position of an ith output after the permutation of a jth row.
26. A two-dimensional interleaving method comprising the steps of:
sequentially writing input sequences of information bits of a frame in a Row (R)×Column (C) rectangular matrix, the frame having R groups, each of the R groups having C information bits;
selecting a primitive root g0 corresponding to a minimum prime number p satisfying 0≦(p+1)−K/R;
generating a base sequence C(i) for intra-row permuting the input sequences written in the rows in accordance with
C(i)=[g0×C(i−1)] mod p, i=1,2, . . . ,(p−2), and C(0)=1;
calculating a minimum prime integer set {qi}(j=0,1,2, . . . ,R−1) by determining
g.c.d{qj,p−1}=1
qj>6, qj>q(j-1)
where g.c.d is a greatest common divider and q0=1;
intra-row permuting {qj} using
pP(j)=qj, j=0,1, . . . ,R−1
where P(j) indicates a predetermined selecting order for selecting the R rows;
when C=p+1, permuting sequences in a jth row in accordance with
Cj(i)=C([i×pj] mod (p−1)),
where j=0,1,2, . . . ,(R−1), i=0,1,2, . . . ,(p−2), Cj(p−1)=0, and Cj(p)=p,
and if (K=C×R), then CR-1(p) is exchanged with CR-1(0),
selecting R rows according to a predetermined order P(j);
selecting an input sequence from the selected rows; and
providing the selected input sequence as read addresses for interleaving the information bits of the input frame.
27. A two-dimensional interleaving method comprising the steps of:
sequentially storing a frame of K input information bits, the frame having Row (R) groups, each of the R groups having Column (C) information bits;
permuting the information bits addresses of each of the R groups according to a given interleaving rule; and
exchanging an address of an information bit existing at a last position of a last group with an information bit existing at a first position of the last group, subsequent to the permuting.
28. A method for interleaving a frame of input information bits, the frame having Row (R) groups, each of the R groups having Column (C) information bits, the method for use in an internal interleaver of a turbo encoder, the method comprising the steps of:
a) permuting the information bit positions of the groups according to predetermined interleaving rule; and
b) exchanging an information bit position existing at a last position of a last group with an information bit existing at a first position of the last group.
29. The method as claimed in claim 28, wherein in the step a) and b), the R groups are rows and the information bit positions of the frame written in a jth row, where j=0, 1, 2, . . . , R−1, are permuted with positions Cj(i) in the row in accordance with the steps of an algorithm given by
i) calculating C(i)=[g0×C(i−1)] mod p, i=1, 2, . . . , (p−2) and C(0)=1
ii) calculating Cj(i)=C([i×pj] mod (p−1)), j=0, 1, 2, . . . , (R−1), i=0, 1, 2, . . . , (p−21), Cj(p−1)=0, and Cj(p−1)=p
iii) exchanging CR-1(p) with CR-1(0)
where K specifies a number of input information bits in a frame, p indicates a minimum prime number, which is closest to K/R while satisfying 0≦(p+1)−K/R, g0 indicates an associated primitive root for predetermined number corresponding to p, pj indicates a primitive prime number set and Cj(i) is the information bit position of an ith output after the permutation of a jth row.
30. A turbo encoder comprising:
a first encoder configured for encoding a frame of K input information bits to generate first coded symbols;
an interleaver configured for
sequentially writing the K input information bits into a Row (R)×Column (C) rectangular matrix, row by row, starting in a first column of a first row,
intra row permuting positions of the information bits in the R×C rectangular matrix in each row according to a given interleaving rule,
exchanging a position of an information bit in a last column of a last row with a position within the last row which precedes the last column, after the intra row permuting,
performing inter-row permutations of the R×C rectangular matrix, and
reading out the information bits from the permuted R×C rectangular matrix, column by column, starting in the first row of the first column; and
a second encoder configured for encoding the read out information bits to generate second coded symbols,
wherein the R×C rectangular matrix includes R rows and C columns, K=R×C, and K indicates a number of the input information bits included in the frame.
31. The turbo encoder as claimed in claim 30, wherein the turbo encoder is further configured to store the input information bits in a memory, to perform the interleaving of the information bits in the R×C rectangular matrix based on generated read addresses corresponding to the permuted R×C rectangular matrix, and to output the information bits from the memory using the generated read addresses.
32. The turbo encoder as claimed in claim 30, wherein the turbo encoder is further configured to exchange the position of the information bit in the last column of the last row with a position of an information bit in the first column of the last row.
US10/973,100 1999-05-19 2004-10-25 Turbo interleaving apparatus and method Expired - Lifetime USRE43212E1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/973,100 USRE43212E1 (en) 1999-05-19 2004-10-25 Turbo interleaving apparatus and method

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR19990018928 1999-05-19
KR1999-18928 1999-05-19
KR19990018560 1999-05-21
KR1999-18560 1999-05-21
US09/575,084 US6598202B1 (en) 1999-05-19 2000-05-19 Turbo interleaving apparatus and method
US10/973,100 USRE43212E1 (en) 1999-05-19 2004-10-25 Turbo interleaving apparatus and method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/575,084 Reissue US6598202B1 (en) 1999-05-19 2000-05-19 Turbo interleaving apparatus and method

Publications (1)

Publication Number Publication Date
USRE43212E1 true USRE43212E1 (en) 2012-02-21

Family

ID=26635221

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/575,084 Ceased US6598202B1 (en) 1999-05-19 2000-05-19 Turbo interleaving apparatus and method
US10/973,100 Expired - Lifetime USRE43212E1 (en) 1999-05-19 2004-10-25 Turbo interleaving apparatus and method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/575,084 Ceased US6598202B1 (en) 1999-05-19 2000-05-19 Turbo interleaving apparatus and method

Country Status (14)

Country Link
US (2) US6598202B1 (en)
EP (6) EP1367728A1 (en)
JP (1) JP3359912B1 (en)
CN (6) CN1271796C (en)
AT (1) ATE349108T1 (en)
AU (1) AU752231B2 (en)
CA (1) CA2337918C (en)
CY (2) CY1105921T1 (en)
DE (2) DE60032441T2 (en)
DK (2) DK1367726T3 (en)
ES (2) ES2275508T3 (en)
IL (2) IL140661A (en)
PT (2) PT1097516E (en)
WO (1) WO2000070771A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120093013A1 (en) * 2009-06-24 2012-04-19 Zte Corporation Calculation Method and Device of Intra-Turbo Code Interleaver

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1271796C (en) 1999-05-19 2006-08-23 三星电子株式会社 Turbo-interleaving device and method
US6789218B1 (en) * 2000-01-03 2004-09-07 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US7302621B2 (en) * 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
JP2001285077A (en) * 2000-03-31 2001-10-12 Mitsubishi Electric Corp Device and method for communication
US6854077B2 (en) * 2000-08-05 2005-02-08 Motorola, Inc. Apparatus and method for providing turbo code interleaving in a communications system
FR2823923A1 (en) * 2001-04-18 2002-10-25 Koninkl Philips Electronics Nv Wireless connection system for two video units uses radio link between relay stations for remote control signals, and video signal
US7085969B2 (en) * 2001-08-27 2006-08-01 Industrial Technology Research Institute Encoding and decoding apparatus and method
JP3624874B2 (en) * 2001-11-19 2005-03-02 日本電気株式会社 Interleaving sequence generator, interleaver, turbo encoder, and turbo decoder
US7586993B2 (en) * 2001-12-06 2009-09-08 Texas Instruments Incorporated Interleaver memory selectably receiving PN or counter chain read address
JP3669433B2 (en) * 2001-12-25 2005-07-06 ソニー株式会社 Interleaving apparatus and interleaving method, encoding apparatus and encoding method, decoding apparatus and decoding method
JP2005536097A (en) 2002-08-13 2005-11-24 ノキア コーポレイション Symbol interleaving
CN1685620A (en) * 2002-09-25 2005-10-19 皇家飞利浦电子股份有限公司 Circuit for recursively calculating data
US20040103359A1 (en) * 2002-11-27 2004-05-27 Molina Robert Jose Dynamic real time generation of 3GPP turbo decoder interleaver sequence
KR100518295B1 (en) * 2003-03-14 2005-10-04 삼성전자주식회사 Digital communication system having a deinterleaver and a method deinterleaving thereof
EP1511212B1 (en) * 2003-08-29 2007-03-07 Mitsubishi Electric Information Technology Centre Europe B.V. Method for transmitting optimally interleaved data in a MIMO telecommunication system
US8077743B2 (en) * 2003-11-18 2011-12-13 Qualcomm Incorporated Method and apparatus for offset interleaving of vocoder frames
JP4539107B2 (en) * 2004-02-12 2010-09-08 富士通株式会社 Transmitting apparatus and bit arrangement method
JP4909498B2 (en) 2004-02-27 2012-04-04 日本電気株式会社 Interleave parameter calculation method / program / program recording medium / device, mobile phone
TWI237448B (en) * 2004-04-12 2005-08-01 Benq Corp Method for interleaving data frame and circuit thereof
KR20060004198A (en) * 2004-07-08 2006-01-12 삼성전자주식회사 Method and device for management buffer of block deinterleaver in mobile communication system
KR101131323B1 (en) * 2004-11-30 2012-04-04 삼성전자주식회사 Apparatus and method for channel interleaving in a wireless communication system
KR100912156B1 (en) * 2005-02-03 2009-08-14 파나소닉 주식회사 Parallel interleaver, parallel deinterleaver, and interleave method
KR100708474B1 (en) * 2005-09-15 2007-04-18 삼성전자주식회사 Modified linear congruence interleaver and its parameter selection method
DE102006026895B3 (en) * 2006-06-09 2007-11-08 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Convolution interleaver device for processing code word, has interlacing device changing sequence of interlacing units to receive interlaced code words, where interlacing device does not change sequence of symbols within interlacing units
US8379738B2 (en) 2007-03-16 2013-02-19 Samsung Electronics Co., Ltd. Methods and apparatus to improve performance and enable fast decoding of transmissions with multiple code blocks
US8386878B2 (en) 2007-07-12 2013-02-26 Samsung Electronics Co., Ltd. Methods and apparatus to compute CRC for multiple code blocks
US8296627B2 (en) * 2007-07-20 2012-10-23 Electronics And Telecommunications Research Institute Address generation apparatus and method of data interleaver/deinterleaver
CN101359977B (en) * 2007-08-02 2012-09-26 财团法人工业技术研究院 Method and apparatus suitable for data switching multiplexing
US8555148B2 (en) * 2007-09-18 2013-10-08 Samsung Electronics Co., Ltd. Methods and apparatus to generate multiple CRCs
US8161360B1 (en) * 2007-10-31 2012-04-17 Link—A—Media Devices Corporation Integrated interleaved codes
US8200733B1 (en) 2008-04-15 2012-06-12 Freescale Semiconductor, Inc. Device having interleaving capabilities and a method for applying an interleaving function
US20110047434A1 (en) * 2008-04-28 2011-02-24 Qualcomm Incorporated Wireless communication of turbo coded atsc m/h data with time diversity
US8982832B2 (en) * 2008-04-28 2015-03-17 Qualcomm Incorporated Wireless communication of turbo coded data with time diversity
US8612820B2 (en) * 2009-04-11 2013-12-17 Qualcomm Incorporated Apparatus and methods for interleaving in a forward link only system
DE102011006112B4 (en) * 2011-03-25 2024-01-18 Siemens Aktiengesellschaft Electrical switch and overcurrent trip module
US9160370B2 (en) * 2014-01-02 2015-10-13 Oracle International Corporation Single component correcting ECC using a reducible polynomial with GF(2) coefficients

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4802170A (en) 1987-04-29 1989-01-31 Matrox Electronics Systems Limited Error disbursing format for digital information and method for organizing same
US5446474A (en) 1994-01-19 1995-08-29 Lockheed Missiles & Space Company, Inc. Redeployable furlable rib reflector
US5446747A (en) 1991-04-23 1995-08-29 France Telecom Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder
US5483541A (en) 1993-09-13 1996-01-09 Trw Inc. Permuted interleaver
US5537420A (en) 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
US5548775A (en) 1993-12-30 1996-08-20 International Business Machines Corporation System and method for adaptive active monitoring of high speed data streams using finite state machines
KR970036265A (en) 1995-12-29 1997-07-22 한승준 Instrument panel in car with cushioning pad for knee protection
KR970060101A (en) 1996-01-24 1997-08-12 구자홍 The servo control device of the optical disk recording and reproducing device
RU2089045C1 (en) 1980-07-14 1997-08-27 Н.В.Филипс Глоэлампенфабрикен Pulse train decoder
WO1998011671A1 (en) 1996-09-13 1998-03-19 Globespan Technologies Inc. An improved system for coding signals
WO1999012265A1 (en) 1997-09-02 1999-03-11 Sony Corporation Turbo-coder/decoder and turbo-coding/decoding method
WO2000000504A1 (en) 1998-06-26 2000-01-06 Isis Pharmaceuticals, Inc. Antisense modulation of tnfr1 expression
US6035434A (en) * 1997-06-12 2000-03-07 Advanced Micro Devices, Inc. System and method for bit interleaving of half-rate speech data
US6101465A (en) * 1997-06-12 2000-08-08 Advanced Micro Devices, Inc. System and method for bit interleaving of full-rate speech data
WO2000070771A1 (en) 1999-05-19 2000-11-23 Samsung Electronics Co., Ltd. Turbo interleaving apparatus and method
US6289486B1 (en) * 1997-07-30 2001-09-11 Samsung Electronics Co., Ltd. Adaptive channel encoding method and device
US6304991B1 (en) 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
US6334197B1 (en) 1998-08-17 2001-12-25 Hughes Electronics Corporation Turbo code interleaver with near optimal performance
US6374386B1 (en) 1998-08-20 2002-04-16 Samsung Electronics Co., Ltd. Device and method for inserting previously known bits in input stage of channel encoder
US6487693B1 (en) 1998-08-06 2002-11-26 Samsung Electronics, Co., Ltd. Channel encoding/decoding in communication system
US6530059B1 (en) * 1998-06-01 2003-03-04 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communication Research Centre Tail-biting turbo-code encoder and associated decoder
US6704370B1 (en) * 1998-10-09 2004-03-09 Nortel Networks Limited Interleaving methodology and apparatus for CDMA

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100393608B1 (en) * 2000-09-29 2003-08-09 삼성전자주식회사 An internal interleaver of the turbo decoder in an umts system and method for interleaving thereof
CN100566185C (en) * 2002-12-16 2009-12-02 意大利电信股份公司 The address producing device and the method that are used for the interleaver of TURBO encoder

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2089045C1 (en) 1980-07-14 1997-08-27 Н.В.Филипс Глоэлампенфабрикен Pulse train decoder
US4802170A (en) 1987-04-29 1989-01-31 Matrox Electronics Systems Limited Error disbursing format for digital information and method for organizing same
US5446747A (en) 1991-04-23 1995-08-29 France Telecom Error-correction coding method with at least two systematic convolutional codings in parallel, corresponding iterative decoding method, decoding module and decoder
US5483541A (en) 1993-09-13 1996-01-09 Trw Inc. Permuted interleaver
US5548775A (en) 1993-12-30 1996-08-20 International Business Machines Corporation System and method for adaptive active monitoring of high speed data streams using finite state machines
US5446474A (en) 1994-01-19 1995-08-29 Lockheed Missiles & Space Company, Inc. Redeployable furlable rib reflector
US5537420A (en) 1994-05-04 1996-07-16 General Instrument Corporation Of Delaware Convolutional interleaver with reduced memory requirements and address generator therefor
KR970036265A (en) 1995-12-29 1997-07-22 한승준 Instrument panel in car with cushioning pad for knee protection
KR970060101A (en) 1996-01-24 1997-08-12 구자홍 The servo control device of the optical disk recording and reproducing device
WO1998011671A1 (en) 1996-09-13 1998-03-19 Globespan Technologies Inc. An improved system for coding signals
US6035434A (en) * 1997-06-12 2000-03-07 Advanced Micro Devices, Inc. System and method for bit interleaving of half-rate speech data
US6101465A (en) * 1997-06-12 2000-08-08 Advanced Micro Devices, Inc. System and method for bit interleaving of full-rate speech data
US6289486B1 (en) * 1997-07-30 2001-09-11 Samsung Electronics Co., Ltd. Adaptive channel encoding method and device
WO1999012265A1 (en) 1997-09-02 1999-03-11 Sony Corporation Turbo-coder/decoder and turbo-coding/decoding method
US6530059B1 (en) * 1998-06-01 2003-03-04 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communication Research Centre Tail-biting turbo-code encoder and associated decoder
WO2000000504A1 (en) 1998-06-26 2000-01-06 Isis Pharmaceuticals, Inc. Antisense modulation of tnfr1 expression
US6487693B1 (en) 1998-08-06 2002-11-26 Samsung Electronics, Co., Ltd. Channel encoding/decoding in communication system
US6334197B1 (en) 1998-08-17 2001-12-25 Hughes Electronics Corporation Turbo code interleaver with near optimal performance
US6374386B1 (en) 1998-08-20 2002-04-16 Samsung Electronics Co., Ltd. Device and method for inserting previously known bits in input stage of channel encoder
US6704370B1 (en) * 1998-10-09 2004-03-09 Nortel Networks Limited Interleaving methodology and apparatus for CDMA
US6304991B1 (en) 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence
WO2000070771A1 (en) 1999-05-19 2000-11-23 Samsung Electronics Co., Ltd. Turbo interleaving apparatus and method

Non-Patent Citations (42)

* Cited by examiner, † Cited by third party
Title
Amended Response in ITC Action (54 pp), Aug. 29, 2006.
Answer, Affirmative Defenses in Texas Action (27 pp), May 15, 2005.
Berrou et al., "Near Shannon Limit Error-Correcting Coding and Decoding: Turbo Codes (1)", 1993.
Brayer K., et al; Evaluation of Error Correction Block Encoding for High-Speed HF Data; IEEE Transactions On Communication Technology; vol. Com-15, No. 3, 371-382; Jun. 1967 (12 pp.).
Brayer, K.; The Improvement of Digital HF Communication Through Coding: I-Interleaved Cyclic Coding; IEEE, vol. Com-16, No. 6, 771-778, Dec. 1968 (8 pp.).
Commission Investigative Staffs Pre-Hearing Brief (14 pp), May 15, 2007.
Complaint of Samsung Telecommunications America LLP under Section 337 of the Tariff Act of 1930 before the International Trade Commission (ITC) (28 pp.), Jun. 2, 2006.
Complaint's Educational Submission Pursuant to Order No. 56 (6 pp), May 21, 2007.
Decision on Grant From Russian Patent Office With Translation 2002.
Dolinar, S., et al; Weight Distributions for Turbo Codes Using Random and Nonrandom Permutations; TDA Progress Report 42-122, pp. 56-65, Aug. 1995 (10 pp.).
Electronics Letters; Pages cover and 1547-1548; IEE vol. 25 No. 22, Oct. 1989 (3 pp.).
Eric K. Hall, et al: Stream-Oriented Turbo Codes; Vehicular Technology Conference. 1998 vol. 1, pp. 71-75.
Ericsson Inc. v. Samsung Electronics Co., Ltd., Civil Action No. 2:06-CV-00063-TJW; Document 13-1; pp. 1-27, May 15, 2006.
Ericsson Inc., Telefonaktiebolaget LM Ericsson, Sony Ericsson Mobile Communications AB, And Sony Ericsson Mobile Communications (USA) Inc.'s Second Supplemental Respons (20pp), Jan. 12, 2007.
Expert Report of Dr. Stephen B. Wicker regarding Invalidity of U.S. Patents Nos. 6,598,202 (143 pp), Jan. 26, 2007.
Expert Report of Richard Dale Wesel RE: U.S. Patent No. 6,598,202 (17 pp), 2007.
He et al., "Interleaver Design for Turbo Codes", International Conference on Information, Communications and Signal Processing, Sep. 9-12, 1997.
Heegard et al., "Turbo Coding", 1999.
Heegard, C., et al., Turbo Coding, Kluwer Int'l, 1999 (228 pp.).
International Search Report in PCT/KR00/00504 (3pages), 2000.
Kenneth Brayer et al.; Evaulation of Error Correction Block Encoding for High-Speed HF Data; IEEE; vol. Com-15, No. 3; Jun. 1967.
Kenneth Brayer; The Improvement of Digital HF Communication Through Coding: I-Interleaved Cyclic Coding; IEEE; vol. Com-16, No. 6; Dec. 1968.
Li et al., "Flattening Effect of Turbo Codes under Non-Terminated Conditions", Electronic Letters, Dec. 10, 1998, vol. 34, No. 25.
Melanie L. Kirkman; Videotaped Deposition Of Douglas Neal Rowitch; Henjum Goucher Reporting Services, L.P.; pp. 1-53, Dec. 5, 2006.
Memorandum in Support of Complainant's Motion to Supplement Complainant's Prehearing Statement to Respond to Respondent's New Technical Arguments (13 pp), 2007.
Motorola, "Complexity Analysis of the Motorola Turbo Code Interleaver", TSG-RAN Working Group 1 meeting #3, XP002194524, Mar. 22-26, 1999.
Nortel Networks: Low Complexity Alebraic Interleaver for UTRA Turbo Codes, ETSI SMG2 UMTS L1 Expert Group, Meeting #10, Espoo, Finland, Jan. 18-20, 1999.
Order granting stay in Texas Action (2 pp), Dec. 7, 2006.
Oscar Y. Takeshita, et al: New Classes of Algebraic Interleavers for Turbo-Codes; Information Theory, IEEE. Proceedings, 1998, p. 419.
Pre-hearing Statement of Complainants Samsung Telecommunications America LLP and Samsung Electronics Co. (57 pp), May 4, 2007.
Reply in Texas Action (32 pp), Jun. 29, 2006.
Respondent's Prehearing Statement (122 pp), 2007.
Respondent's Submissions in Response to Order No. 56, Item 2, Paragraphs 16-26 (44 pp), 2007.
Robertson, "Improving Decoder and Code Structure of Parallel Concatenated Recursive Systematic (Turbo) Codes", Sep. 1994.
Supplemental Rebuttal Expert Report of Dr. Stephen B. Wicker Regarding . . . And Comments on U.S. Patent No. 6,598,202 (16 pp), Apr. 6, 2007.
Technical Specification TS 25.212 V1.0.0 (1999-04); 3rd Generation Partnership Project (3GPP) (40 pp.).
Technical Specification TS 25.212 V2.0.0 (1996-06); 3rd Generation Partnership Project (3GPP) (38 pp.).
Technical Specification TS 25.212 v6.0.0 (2003-12); 3rd Generation Partnership Project (3GPP) (76 pp.).
Transcript (20 pp, containing pp. 1-46 (manuscript) and index) of Deposition of Douglas Neal Rowtich, Dec. 5, 2006.
Translation of KPA 18560, 1999, Korea (43 pp.).
TSG-RAN Working Group1 meeting #2; A Low Complexity and Flexible Turbo Interleaver with Good Performance; Yokohama 22-25, Feb. 1999 (7 pp.).
TSG-RAN Working Group1 meeting #3, Nynashamn, Sweden, 22-26 Mar. 1999; Report from Ad Hoc5, Mar. 24, 1999 (4 pp.).

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120093013A1 (en) * 2009-06-24 2012-04-19 Zte Corporation Calculation Method and Device of Intra-Turbo Code Interleaver

Also Published As

Publication number Publication date
DE60032441D1 (en) 2007-02-01
DK1097516T3 (en) 2007-01-29
EP1097516A4 (en) 2002-06-12
AU752231B2 (en) 2002-09-12
PT1367726E (en) 2013-05-10
EP1367728A1 (en) 2003-12-03
JP2003500885A (en) 2003-01-07
EP1367731A1 (en) 2003-12-03
EP1367726A1 (en) 2003-12-03
CN1271796C (en) 2006-08-23
CA2337918C (en) 2006-02-21
CN1520060A (en) 2004-08-11
WO2000070771A1 (en) 2000-11-23
AU4621300A (en) 2000-12-05
CA2337918A1 (en) 2000-11-23
EP1367729A1 (en) 2003-12-03
CN1271795C (en) 2006-08-23
ATE349108T1 (en) 2007-01-15
EP1097516B1 (en) 2006-12-20
CN1520058A (en) 2004-08-11
CN100442679C (en) 2008-12-10
CN1520044A (en) 2004-08-11
CN1520059A (en) 2004-08-11
IL140661A0 (en) 2002-02-10
JP3359912B1 (en) 2002-12-24
CY1114077T1 (en) 2016-07-27
EP1367730B1 (en) 2018-03-28
IL140661A (en) 2006-10-31
ES2408118T3 (en) 2013-06-18
CN1318225A (en) 2001-10-17
DK1367726T3 (en) 2013-05-06
PT1097516E (en) 2007-01-31
EP1367726B1 (en) 2013-02-20
ES2275508T3 (en) 2007-06-16
EP1367730A1 (en) 2003-12-03
CN1274096C (en) 2006-09-06
US6598202B1 (en) 2003-07-22
DE20023169U1 (en) 2003-04-24
IL169471A (en) 2010-04-29
IL169471A0 (en) 2007-07-04
EP1097516A1 (en) 2001-05-09
CN1171393C (en) 2004-10-13
CY1105921T1 (en) 2011-04-06
DE60032441T2 (en) 2007-06-06
CN100574116C (en) 2009-12-23
CN1497866A (en) 2004-05-19

Similar Documents

Publication Publication Date Title
USRE43212E1 (en) Turbo interleaving apparatus and method
US6591381B1 (en) 2-dimensional interleaving apparatus and method
US6304991B1 (en) Turbo code interleaver using linear congruential sequence
US6323788B1 (en) Interleaving apparatus and method for use in serial concatenated convolutional code encoder in a mobile communication system
US6668343B1 (en) Interleaving/deinterleaving device and method for communication system
JP2003152551A (en) Interleaving order generator, interleaver, turbo encoder and turbo decoder
US6543013B1 (en) Intra-row permutation for turbo code
US20060109158A1 (en) Addresses generation for interleavers in turbo encoders and decoders
KR100330234B1 (en) Turbo interleaving apparatus and method
RU2212103C2 (en) Turbo-interleaving device and method

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 12