WO2007045642A1 - Intelligent table-driven interleaving - Google Patents

Intelligent table-driven interleaving Download PDF

Info

Publication number
WO2007045642A1
WO2007045642A1 PCT/EP2006/067478 EP2006067478W WO2007045642A1 WO 2007045642 A1 WO2007045642 A1 WO 2007045642A1 EP 2006067478 W EP2006067478 W EP 2006067478W WO 2007045642 A1 WO2007045642 A1 WO 2007045642A1
Authority
WO
WIPO (PCT)
Prior art keywords
sub
blocks
data bits
block
interleaving
Prior art date
Application number
PCT/EP2006/067478
Other languages
French (fr)
Inventor
Wensheng Huang
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Priority to CN2006800388059A priority Critical patent/CN101292430B/en
Priority to EP06807329A priority patent/EP1938459A1/en
Priority to KR1020087009273A priority patent/KR101084821B1/en
Publication of WO2007045642A1 publication Critical patent/WO2007045642A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • 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/2792Interleaver wherein interleaving is performed jointly with another technique such as puncturing, multiplexing or routing
    • 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/275Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
    • 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/2767Interleaver wherein the permutation pattern or a portion thereof is stored
    • 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/2782Interleaver implementations, which reduce the amount of required interleaving memory

Definitions

  • This invention relates generally to a digital communication system, and more particularly to interleavers and de-interleavers in a wireless digital communication system.
  • Convolutional codes represent one type of error control code used by digital communication systems to detect and correct bit errors. Convolutional codes effectively detect and correct random bit errors that occur when individual bits in the transmitted bit sequence are corrupted. Random errors are typically isolated and may be caused by noise in the communication channel. However, convolutional codes are susceptible to burst errors, which occur when the receiver receives a series of adjacent or closely spaced bits in error.
  • digital communication systems may include an interleaver and de-interleaver.
  • the interleaver maps input bit positions in an input data block to corresponding output bit positions in an output data block according to a known interleaving pattern.
  • the interleaver reorders the bits to spread the bits over time. This reordering effectively spreads long burst errors over the output data block(s) to make the burst errors appear as independent random bit errors.
  • Communication systems typically use either a look-up method or a calculation method to perform interleaving and de-interleaving.
  • the look-up method uses an interleaving table containing pre-calculated mapping values for each input bit.
  • the values in the interleaving table map the bits in an input data block to output bit positions in an output data block.
  • the interleaver/de-interleaver determines the output bit position for each input bit by a simple look-up operation.
  • Implementing the look-up method requires minimal processing resources, but requires a relatively large amount of memory.
  • the calculation method uses an interleaving algorithm to calculate the output bit positions for each bit in the input data block in real time, and may be used when the mapping function can be expressed in closed form. While the calculation method requires little to no memory, it does require more processing resources.
  • an interleaver uses a reduced interleaving table to generate interleaved output data blocks from input data blocks.
  • the interleaver uses a reduced interleaving table to generate interleaved output data blocks from input data blocks.
  • the interleaving circuit includes a grouping circuit and a permuting circuit.
  • the grouping circuit groups the bits of each data block into a plurality of sub-blocks, while the permuting circuit generates permuted sub-blocks by independently permuting the data bits in each sub-block using the reduced interleaving table.
  • the interleaver may also include a mapping circuit that maps the bits from each permuted sub-block to an output data block.
  • the bits in each output data block may comprise bits from different input data blocks.
  • the interleaver may be used to interleave bits on the full-rate speech channel.
  • the grouping circuit groups the 456 data bits of an input data block into 8 sub-blocks, where each sub- block includes 57 data bits.
  • the permuting circuit permutes the bits in each sub- block using the reduced interleaving table to generate permuted sub-blocks.
  • the mapping circuit maps the bits from the first four permuted sub-blocks to even positions in a first output data block, and maps the bits from the last four permuted sub-blocks to odd positions in a second output data block.
  • Figure 1 illustrates a block diagram of a mobile communication device in which the channel encoder/decoder of the present invention could be used.
  • Figure 2 illustrates a block diagram of an exemplary channel encoder according to the present invention.
  • Figure 3 illustrates a block diagram of an exemplary channel decoder according to the present invention.
  • Figure 4 illustrates a block diagram of an exemplary interleaver according to the present invention.
  • Figure 5 illustrates a process diagram for the exemplary interleaver according to the present invention.
  • Figure 6 illustrates an exemplary reduced interleaving table for the interleaver of the present invention.
  • FIGS. 7 A and 7B illustrate a graphical representation of an exemplary permuting process according to the present invention. Detailed Description
  • the present invention relates to wireless communications between a mobile communication device and a wireless network. While the following describes the present invention in terms of a single mobile communication device, those skilled in the art will appreciate that the present invention applies to multiple mobile communication devices that transmit and receive wireless signals within a wireless network.
  • FIG. 1 illustrates a mobile communication device generally indicated by number 10.
  • Mobile communication device 10 comprises a system controller 12 that controls the overall operation of the mobile communication device 10, a memory 14 to store programs and data needed for operation, a transmitter 20 to transmit signals, and a receiver 30 to receive signals.
  • a duplexer or switch 16 couples transmitter 20 and receiver 30 to a common antenna 18 to permit full duplex operation.
  • Transmitter 20 receives source data streams from an information source, processes the source data streams to generate transmit signals suitable for transmission over a radio channel, and modulates the transmit signals onto an RF carrier.
  • transmitter 20 includes a source encoder 22, a channel encoder 24, and a modulator 26.
  • the source encoder 22 removes redundancy or randomizes the source data streams to produce information data blocks that have been optimized for maximum information content.
  • the source encoder 22 may comprise a speech encoder to encode speech for transmission over the communication channel.
  • the information stream from the source encoder 22 is passed to the channel encoder 24.
  • the channel encoder 24 introduces an element of redundancy into the information stream to generate a coded output.
  • the redundancy added by the channel encoder 24 serves to enhance the error correction capability of the communication system.
  • a receiver 30 can detect and correct bit errors that may occur during transmission.
  • channel encoder 24 interleaves the coded bits to generate an interleaved output data block, i.e., an output data block.
  • Modulator 26 receives and modulates a radio block (i.e., 1 16 bits) generated from the output data block (i.e., 1 14 bits) from the channel encoder 24 to generate waveforms that suit the physical nature of the communication channel and that can be efficiently transmitted over the communication channel.
  • Typical modulation schemes comprise 16-QAM, 8-PSK, A- PSK, and the like.
  • Receiver 30 receives signals transmitted from a far-end device that have been corrupted by passage through the communication channel, and reconstructs the original source data streams from the received signals.
  • the receiver 30 includes a demodulator 32, channel decoder 34, and source decoder 36.
  • Demodulator 32 processes the received signals and generates received bit sequences, which may comprise hard or soft values for each received bit. If a received signal is transmitted without error through the communication channel, the demodulated signal will be identical to the corresponding output data block at the output of channel encoder 24. In actual practice, the communication channel introduces bit errors into the received signals.
  • Channel decoder 34 uses the redundancy added by the channel encoder 24 to detect and correct these bit errors.
  • a source decoder 36 reconstructs the information signals from the output of channel decoder 34.
  • the difference between the reconstructed information signals and the original information signals provide a measure of the distortion introduced by the communication system.
  • Figures 2 and 3 illustrate an exemplary channel encoder 24 and decoder 34, respectively.
  • Channel encoder 24 ( Figure 2) includes an encoder 40 to encode an information sequence provided by the source encoder 22, and an interleaver 50 to reorder the data block of coded bits output by encoder 40.
  • the encoder 40 may, for example, comprise a convolutional encoder or block encoder.
  • the interleaver 50 reorders the bits output by the encoder 40, as discussed further below, to spread the coded bits over time to render them more resistant to burst errors.
  • Channel decoder 34 ( Figure 3) comprises a de-interleaver 60 followed by a decoder 62.
  • the de-interleaver 60 reverses the process performed by interleaver 50. In the absence of bit errors, the input sequence to the de-interleaver 60 would be the sequence output by interleaver 50. As such, the bits in the output data block from the de-interleaver 60 are the same as the coded bits output by the channel encoder 40 except for any bit errors that may have occurred during transmission.
  • the output bit sequence from de-interleaver 60 is input to the decoder 62 for error detection and/or correction.
  • interleavers and de-interleavers perform the interleaving and de-interleaving processes using an interleaving algorithm (calculation method) or a full interleaving table (look-up table method).
  • the calculation method is processor intensive and the look-up table method is memory intensive.
  • the present invention balances the use of the processing and memory resources by iteratively using a reduced interleaving table 15 to facilitate the interleaving and de-interleaving processes, respectively.
  • the "reduced interleaving table” represents an interleaving table with fewer values than the full interleaving table used in conventional interleavers. As such, the reduced interleaving table 15 requires less memory than a full interleaving table.
  • Interleaver 50 By iteratively using the reduced interleaving table 15, interleaver 50 generates output data blocks equivalent to those that would be generated using a full interleaving table. While the following describes the present invention in the context of an interleaving operation performed by an interleaver 50, those skilled in the art would recognize that the same interleaving techniques may be used by the de-interleaver 60 at the receiver 30 to de-interleave received data blocks.
  • Figure 4 illustrates a block diagram for one exemplary interleaver 50 according to the present invention. Interleaver 50 comprises a grouping circuit 52, a permuting circuit 54, and a mapping circuit 56.
  • Grouping circuit 52 groups the bits in the n th data block B(n) into b sub-blocks, b s (n, Q:b- ⁇ ), while permuting circuit 54 generates permuted sub-blocks b p (n, O:b-1) by independently permuting the bits in each sub-block using the reduced interleaving table 15.
  • Mapping circuit 56 maps the bits in the permuted sub-blocks b p (n, O:b-1) to bit positions in one or more output data blocks T b .
  • Figures 5 - 7 illustrate the interleaving process of the present invention for the full-rate speech channel in GSM systems.
  • interleaver 50 is not limited to this specific implementation or to these specific types of data blocks.
  • the input data block for the full-rate speech channel comprises 456 bits.
  • the sub-block may be given by mod(fc, 8).
  • Permuting circuit 54 generates the permuted sub-blocks b p (n, 0:7) by independently permuting the bits in each sub-block using reduced interleaving table 15, as discussed in further detail below.
  • Mapping circuit 56 maps the bits in each permuted sub-block to one or more output data blocks T b .
  • mapping circuit 56 maps the bits in the first four permuted sub-blocks b p (n, 0:3) corresponding to input data block n to even positions in a first output data block T b (n), and maps the bits in the last four permuted sub-blocks b p (n, 4:7) corresponding to input data block n to odd positions in a subsequent output data block T b (n+1 ).
  • Figure 6 illustrates an exemplary reduced interleaving table 15 applicable to
  • Permuting circuit 54 applies the reduced interleaving table 15 to each sub-block generated by grouping circuit 52 to generate the permuted sub-blocks. In particular, permuting circuit 54 identifies a start position for each sub- block and applies the reduced interleaving table 15 to the sub-block from the corresponding starting position. If the end of the table is reached before completing the permuting operation, the permuting circuit 54 returns to the beginning of the reduced interleaving table 15 to continue the permuting process, as shown in Figure 7B for b s (n, 1 ).
  • Figures 7 A and 7B graphically illustrate the permuting process for the first and second sub-blocks of the n th input data block, b s (n, O) and b s (n, 1 ).
  • permuting circuit 54 For b s (n, 0), permuting circuit 54 identifies table position 0 as the start position for b s (n, 0).
  • permuting circuit 54 applies the permuting pattern in reduced interleaving table 15, starting from table position 0, to each bit in b s (n, 0) to generate the first permuted sub-block b p (n, 0).
  • permuting circuit 54 moves the first bit in b s (n, 0) to bit position 0 in b p (n, 0), the second bit in b s (n, 0) to bit position 50 in b p (n, 0), etc.
  • permuting circuit 54 shifts the start position to apply the permuting pattern to each bit in b s (n, 1 ) starting from table position 50, as graphically shown in Figure 7B.
  • permuting circuit 54 movies the first bit in b s (n, 1 ) to bit position 49 in b p (n, 0), the second bit in b s (n, 0) to bit position 42 in b p (n, 0), etc. This process continues for each sub-block until permuting circuit 54 has independently permuted each of the sub-blocks for a given input data block.
  • mapping circuit 56 maps the bits in the permuted sub-blocks b p (n, 0:7) to one or more output data blocks.
  • an exemplary output data block T b comprises four transmission bursts T 1 , where each transmission burst contains 1 14 bits.
  • mapping circuit 56 maps the bits in the first four permuted sub-blocks from a first permuted sub-block, b p (0, 0:3), to even bit positions in corresponding transmission bursts of the first output data block, T b (0).
  • mapping circuit 56 maps the bits from b p (0, 0) to the even bit positions in the first transmission burst T 1 (O), the bits from b p (0, 1 ) to the even bit positions in T 1 (I ), etc. Mapping circuit 56 also maps the bits in the last four permuted sub-blocks b p (0, 4:7) to odd bit positions in the corresponding transmission bursts of the second output data block, T b (1 ).
  • mapping circuit 56 maps the bits from b p (0, 4) to the odd bit positions in the first transmission burst T 1 (O) of T b (1 ), the bits from b p (0, 5) to the odd bit positions in the second transmission burst T 1 (I ) of T b (1 ), etc.
  • mapping circuit 56 maps the bits in the first four permuted sub-blocks of the second data block b p (1 , 0:3) to even bit positions in the corresponding transmission bursts of the second output data block T b (1 ), and maps the bits in the last four permuted sub-blocks b p (1 , 4:7) to odd bit positions in the corresponding transmission bursts of the third output data block T b (2).
  • interleaver 50 uses a reduced interleaving table 15 to generate interleaved output data blocks equivalent to those generated by a conventional full interleaving table. The following explains in more detail how the reduced interleaving table 15 is derived from the full interleaving table.
  • a conventional full-rate speech interleaver may interleave the data bit in the k xh position of the n th input data block B to the/ 1 position in a t transmission burst T 1 of a output data block T b according to:
  • Equations (2) and (3) represent one example of a closed form block diagonal interleaving function.
  • the first part of Equation (3) permutes the data and forces the interleaver to fill half of the output data block with interleaved bits from a current data block.
  • the second part of Equation (3) determines if the bit in the k ih position of the input data block goes into an even or an odd position in the output data block.
  • a conventional interleaving system requires an interleaving table derived from Equation (3), where the resulting interleaving table has 456 values, one for each of the bits in the input data block.
  • the present invention separates the interleaving process into three independent steps: the grouping step performed by grouping circuit 52, the permuting step performed by permuting circuit 54, and the mapping step performed by mapping circuit 56, as shown in Figure 5 and discussed above. It will be appreciated that grouping circuit 52 and mapping circuit 56 generally implement the second half of Equation (3), leaving the first half of Equation (3) for permuting circuit 54.
  • Equation (4) mod(49fc,57) may be rewritten to reference the bit
  • Equation (4) generates a permuting pattern that repeats for each sub-block, where each repeated pattern is offset from the previous repeated pattern.
  • the reduced interleaving table of the present invention may also be used in other control channel interleavers or in AMR (Adaptive Multi- Rate) interleavers to interleave data bits from an input data block over 4 half- transmission bursts (Variant I), over 6 transmission bursts (Variant II), or over 4 full- transmission bursts (Variant III).
  • Variant I half- transmission bursts
  • Variant II Over 6 transmission bursts
  • Variant III full- transmission bursts
  • the interleaver 50 of the present invention may use the reduced interleaving table 15 as discussed above to permute the bits in the sub-blocks generated by grouping circuit 52.
  • grouping circuit 52 groups the bits into 4 sub-blocks instead of 8 sub- blocks, where each sub-block comprises 57 bits.
  • the permuting and mapping functions are the same as described above.
  • Equations (8) - (10) interleaves half of the bits in the input data block into the even positions of 4 transmission bursts in a first output data block, and the remaining bits in the input data block into the odd positions of 4 transmission bursts in a second output data block.
  • the last two transmission bursts from the first output data block are combined with the last two transmission bursts of the second output data block to form 2 full transmission bursts in between the remaining 4 half transmission bursts.
  • the interleaver 50 of the present invention may use the same reduced interleaving table 15 discussed above to implement Variant Il because Equation (10) is equivalent to Equation (3).
  • mapping circuit 56 performs a slightly different mapping process than described above. More particularly, mapping circuit 56 maps bits from b p (n, 0:1 ) to even positions in the first two transmission bursts of the first output data block and maps bits from b p (n, 4:5) to odd positions in the first two transmission bursts of the second output data block. In addition, mapping circuit 56 maps bits from b p (n, 2:3) to even positions in the last two transmission bursts of the first output data block, and maps bits from b p (n, 6:7) to odd positions in the last two transmission bursts of the first output data block.
  • the interleaver 50 of the present invention may use the same reduced interleaving table 15 discussed above.
  • grouping circuit 52 groups the input data bits into 8 sub-blocks using a modulo process
  • permuting circuit 54 permutes the data bits in the sub-blocks using reduced interleaving table 15, as discussed above.
  • mapping circuit 56 maps the bits from the first four permuted sub- blocks to even positions in the corresponding transmission bursts of an output data block, and maps the bits from the last four permuted sub-blocks to odd positions in the corresponding transmission bursts of the same output data block.
  • the above describes using a reduced interleaving table 15 to interleave data bits in an input data block.
  • the exemplary reduced interleaving table 15 described above includes 57 values. Because the conventional interleaving table includes 456 values, the present invention reduces the memory requirements for the interleaving table by at least a factor of 8. Further, because memory 14 reserves 16 bits for each interleaving table value and because the values s in reduced interleaving table 15 require only 6 bits, additional memory savings may be achieved by combining two values into one 16 bit word. As a result, memory 14 only needs to store 27 words to store the entire reduced interleaving table 15.
  • memory 14 stores a compressed version of the reduced interleaving table.
  • memory 14 may store only the first 8 values (0, 50, 43, 36, 29, 22, 15, and 8) of reduced interleaving table 15 as seed values.
  • permuting circuit 54 recreates the reduced interleaving table 15 from the 8 stored seed values as part of the permuting process.
  • the interleaver 50 of the present invention provides a better balance between memory and processing resources when compared to conventional interleavers.
  • a conventional interleaver performs two operations on each input data bit (interleave and shift), while the interleaver of the present invention performs three operations on each input data bit (grouping, permuting, and mapping).
  • the present invention increases the processing requirements of the interleaving operation only by a factor of 1 .5.
  • the memory requirements for reduced interleaving table 15 are reduced at least by a factor of 8.
  • the interleaver of the present invention significantly reduces the memory requirements of an interleaving process with minimal impact to the processing resources of the transmitter 24.
  • the reduced interleaving table may be used by a single transceiver to implement different interleaving processes, such as any of the embodiments and/or variants described above.
  • this interleaver in terms of a full-rate speech channel. Together with the variants discussed above, this interleaver can also process control channels, including FACCH, SACCH, and SACCH/TP. This interleaver can also process an adjustable rate multi-channel (ARM), including ONSET and SID-Update channels.
  • ARM adjustable rate multi-channel
  • the interleaver described above also applies to E-FACCH for an enhanced circuit-switched data mode, and to GPRS CS1 -4 channels and for EGPRS MCS1 -4 channels.
  • the interleaver of the present invention applies to any interleaving process that includes a block diagonal interleaving process defined by a closed-form interleaving function.

Landscapes

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

Abstract

The present invention comprises an interleaver that uses a reduced interleaving table to generate interleaved output data blocks from input data blocks. By iteratively applying the reduced interleaving table to bits in the input data blocks, the interleaver generates output data blocks equivalent to those that would have been generated using a full-size interleaving table. According to one embodiment of the present invention, the interleaving circuit includes a grouping circuit, a permuting circuit, and a mapping circuit. The grouping circuit groups the bits of each data block into a plurality of sub-blocks, while the permuting circuit independently permutes the data bits in each sub-block using the reduced interleaving table to generate permuted sub-blocks. The mapping circuit maps the bits from each permuted sub-block to one or more output data blocks, where the bits in each output data block may comprise bits from different sub-blocks and/or different input data blocks.

Description

Intelligent Table-Driven Interleaving
Background
This invention relates generally to a digital communication system, and more particularly to interleavers and de-interleavers in a wireless digital communication system.
In digital communication, noise and interference cause bit errors to occur during transmission. In order to reduce these bit errors, digital communication systems typically use error control codes that enable the detection and/or correction of the bit errors at the receiver. These error control codes introduce controlled redundancy into the information transmitted over the communication channel, which can be used at the receiver to detect and/or correct the errors in the received signal. Convolutional codes represent one type of error control code used by digital communication systems to detect and correct bit errors. Convolutional codes effectively detect and correct random bit errors that occur when individual bits in the transmitted bit sequence are corrupted. Random errors are typically isolated and may be caused by noise in the communication channel. However, convolutional codes are susceptible to burst errors, which occur when the receiver receives a series of adjacent or closely spaced bits in error.
To enhance the burst error correction capabilities of error correcting codes, such as convolutional codes, digital communication systems may include an interleaver and de-interleaver. The interleaver maps input bit positions in an input data block to corresponding output bit positions in an output data block according to a known interleaving pattern. As a result, the interleaver reorders the bits to spread the bits over time. This reordering effectively spreads long burst errors over the output data block(s) to make the burst errors appear as independent random bit errors.
Communication systems typically use either a look-up method or a calculation method to perform interleaving and de-interleaving. The look-up method uses an interleaving table containing pre-calculated mapping values for each input bit. The values in the interleaving table map the bits in an input data block to output bit positions in an output data block. As a result, the interleaver/de-interleaver determines the output bit position for each input bit by a simple look-up operation. Implementing the look-up method requires minimal processing resources, but requires a relatively large amount of memory.
The calculation method uses an interleaving algorithm to calculate the output bit positions for each bit in the input data block in real time, and may be used when the mapping function can be expressed in closed form. While the calculation method requires little to no memory, it does require more processing resources.
Memory limitations often constrain the design of chip sets for digital communication systems more than limitations in the available processing resources. Therefore, in such systems, the look-up approach is inappropriate. However, because processing resources have higher power consumption and cost more than memory resources, achieving a better balance between memory and processing resources may help reduce the size and cost of chip sets for digital communications, and particularly for mobile digital communications.
Summary To decrease the memory required for storing an interleaving table, an interleaver according to the present invention uses a reduced interleaving table to generate interleaved output data blocks from input data blocks. By iteratively applying the reduced interleaving table to bits in the input data blocks, the interleaver generates one or more output data blocks equivalent to those that would have been generated using a conventional full-size interleaving table. According to one embodiment of the present invention, the interleaving circuit includes a grouping circuit and a permuting circuit. The grouping circuit groups the bits of each data block into a plurality of sub-blocks, while the permuting circuit generates permuted sub-blocks by independently permuting the data bits in each sub-block using the reduced interleaving table. The interleaver may also include a mapping circuit that maps the bits from each permuted sub-block to an output data block. The bits in each output data block may comprise bits from different input data blocks. In one exemplary embodiment, the interleaver may be used to interleave bits on the full-rate speech channel. According to this embodiment, the grouping circuit groups the 456 data bits of an input data block into 8 sub-blocks, where each sub- block includes 57 data bits. The permuting circuit permutes the bits in each sub- block using the reduced interleaving table to generate permuted sub-blocks. The mapping circuit maps the bits from the first four permuted sub-blocks to even positions in a first output data block, and maps the bits from the last four permuted sub-blocks to odd positions in a second output data block.
Brief Description of the Drawings Figure 1 illustrates a block diagram of a mobile communication device in which the channel encoder/decoder of the present invention could be used.
Figure 2 illustrates a block diagram of an exemplary channel encoder according to the present invention.
Figure 3 illustrates a block diagram of an exemplary channel decoder according to the present invention.
Figure 4 illustrates a block diagram of an exemplary interleaver according to the present invention.
Figure 5 illustrates a process diagram for the exemplary interleaver according to the present invention. Figure 6 illustrates an exemplary reduced interleaving table for the interleaver of the present invention.
Figures 7 A and 7B illustrate a graphical representation of an exemplary permuting process according to the present invention. Detailed Description
The present invention relates to wireless communications between a mobile communication device and a wireless network. While the following describes the present invention in terms of a single mobile communication device, those skilled in the art will appreciate that the present invention applies to multiple mobile communication devices that transmit and receive wireless signals within a wireless network.
Figure 1 illustrates a mobile communication device generally indicated by number 10. Mobile communication device 10 comprises a system controller 12 that controls the overall operation of the mobile communication device 10, a memory 14 to store programs and data needed for operation, a transmitter 20 to transmit signals, and a receiver 30 to receive signals. A duplexer or switch 16 couples transmitter 20 and receiver 30 to a common antenna 18 to permit full duplex operation. Transmitter 20 receives source data streams from an information source, processes the source data streams to generate transmit signals suitable for transmission over a radio channel, and modulates the transmit signals onto an RF carrier. To that end, transmitter 20 includes a source encoder 22, a channel encoder 24, and a modulator 26. The source encoder 22 removes redundancy or randomizes the source data streams to produce information data blocks that have been optimized for maximum information content. For example, the source encoder 22 may comprise a speech encoder to encode speech for transmission over the communication channel. The information stream from the source encoder 22 is passed to the channel encoder 24. The channel encoder 24 introduces an element of redundancy into the information stream to generate a coded output. The redundancy added by the channel encoder 24 serves to enhance the error correction capability of the communication system. By making use of the redundant information, a receiver 30 can detect and correct bit errors that may occur during transmission. In addition, channel encoder 24 interleaves the coded bits to generate an interleaved output data block, i.e., an output data block. Modulator 26 receives and modulates a radio block (i.e., 1 16 bits) generated from the output data block (i.e., 1 14 bits) from the channel encoder 24 to generate waveforms that suit the physical nature of the communication channel and that can be efficiently transmitted over the communication channel. Typical modulation schemes comprise 16-QAM, 8-PSK, A- PSK, and the like.
Receiver 30 receives signals transmitted from a far-end device that have been corrupted by passage through the communication channel, and reconstructs the original source data streams from the received signals. The receiver 30 includes a demodulator 32, channel decoder 34, and source decoder 36. Demodulator 32 processes the received signals and generates received bit sequences, which may comprise hard or soft values for each received bit. If a received signal is transmitted without error through the communication channel, the demodulated signal will be identical to the corresponding output data block at the output of channel encoder 24. In actual practice, the communication channel introduces bit errors into the received signals. Channel decoder 34 uses the redundancy added by the channel encoder 24 to detect and correct these bit errors. As a final step, a source decoder 36 reconstructs the information signals from the output of channel decoder 34. The difference between the reconstructed information signals and the original information signals provide a measure of the distortion introduced by the communication system. Figures 2 and 3 illustrate an exemplary channel encoder 24 and decoder 34, respectively. Channel encoder 24 (Figure 2) includes an encoder 40 to encode an information sequence provided by the source encoder 22, and an interleaver 50 to reorder the data block of coded bits output by encoder 40. The encoder 40 may, for example, comprise a convolutional encoder or block encoder. The interleaver 50 reorders the bits output by the encoder 40, as discussed further below, to spread the coded bits over time to render them more resistant to burst errors. Channel decoder 34 (Figure 3) comprises a de-interleaver 60 followed by a decoder 62. The de-interleaver 60 reverses the process performed by interleaver 50. In the absence of bit errors, the input sequence to the de-interleaver 60 would be the sequence output by interleaver 50. As such, the bits in the output data block from the de-interleaver 60 are the same as the coded bits output by the channel encoder 40 except for any bit errors that may have occurred during transmission. The output bit sequence from de-interleaver 60 is input to the decoder 62 for error detection and/or correction.
Conventional interleavers and de-interleavers perform the interleaving and de-interleaving processes using an interleaving algorithm (calculation method) or a full interleaving table (look-up table method). However, as discussed above, the calculation method is processor intensive and the look-up table method is memory intensive. The present invention balances the use of the processing and memory resources by iteratively using a reduced interleaving table 15 to facilitate the interleaving and de-interleaving processes, respectively. The "reduced interleaving table" represents an interleaving table with fewer values than the full interleaving table used in conventional interleavers. As such, the reduced interleaving table 15 requires less memory than a full interleaving table. By iteratively using the reduced interleaving table 15, interleaver 50 generates output data blocks equivalent to those that would be generated using a full interleaving table. While the following describes the present invention in the context of an interleaving operation performed by an interleaver 50, those skilled in the art would recognize that the same interleaving techniques may be used by the de-interleaver 60 at the receiver 30 to de-interleave received data blocks. Figure 4 illustrates a block diagram for one exemplary interleaver 50 according to the present invention. Interleaver 50 comprises a grouping circuit 52, a permuting circuit 54, and a mapping circuit 56. Grouping circuit 52 groups the bits in the nth data block B(n) into b sub-blocks, bs(n, Q:b-\), while permuting circuit 54 generates permuted sub-blocks bp(n, O:b-1) by independently permuting the bits in each sub-block using the reduced interleaving table 15. Mapping circuit 56 maps the bits in the permuted sub-blocks bp(n, O:b-1) to bit positions in one or more output data blocks Tb. To facilitate the following discussions, Figures 5 - 7 illustrate the interleaving process of the present invention for the full-rate speech channel in GSM systems. However, those skilled in the art will appreciate that interleaver 50 is not limited to this specific implementation or to these specific types of data blocks.
As shown in Figure 5, the input data block for the full-rate speech channel comprises 456 bits. Grouping circuit 52 groups the bits sequentially from an input data block B(n) into b = 8 sub-blocks bs(n, 0:7). For bit position k in the input data
block, the sub-block may be given by mod(fc, 8). Permuting circuit 54 generates the permuted sub-blocks bp(n, 0:7) by independently permuting the bits in each sub-block using reduced interleaving table 15, as discussed in further detail below. Mapping circuit 56 maps the bits in each permuted sub-block to one or more output data blocks Tb. According to one exemplary embodiment, shown in Figure 5, mapping circuit 56 maps the bits in the first four permuted sub-blocks bp(n, 0:3) corresponding to input data block n to even positions in a first output data block Tb(n), and maps the bits in the last four permuted sub-blocks bp(n, 4:7) corresponding to input data block n to odd positions in a subsequent output data block Tb(n+1 ). Figure 6 illustrates an exemplary reduced interleaving table 15 applicable to
GSM full-rate speech channels. Permuting circuit 54 applies the reduced interleaving table 15 to each sub-block generated by grouping circuit 52 to generate the permuted sub-blocks. In particular, permuting circuit 54 identifies a start position for each sub- block and applies the reduced interleaving table 15 to the sub-block from the corresponding starting position. If the end of the table is reached before completing the permuting operation, the permuting circuit 54 returns to the beginning of the reduced interleaving table 15 to continue the permuting process, as shown in Figure 7B for bs(n, 1 ).
Figures 7 A and 7B graphically illustrate the permuting process for the first and second sub-blocks of the nth input data block, bs(n, O) and bs(n, 1 ). For bs(n, 0), permuting circuit 54 identifies table position 0 as the start position for bs(n, 0). As shown in Figure 7A, permuting circuit 54 applies the permuting pattern in reduced interleaving table 15, starting from table position 0, to each bit in bs(n, 0) to generate the first permuted sub-block bp(n, 0). In particular, permuting circuit 54 moves the first bit in bs(n, 0) to bit position 0 in bp(n, 0), the second bit in bs(n, 0) to bit position 50 in bp(n, 0), etc. To permute the second sub-block bs(n, 1 ), permuting circuit 54 shifts the start position to apply the permuting pattern to each bit in bs(n, 1 ) starting from table position 50, as graphically shown in Figure 7B. In particular, permuting circuit 54 movies the first bit in bs(n, 1 ) to bit position 49 in bp(n, 0), the second bit in bs(n, 0) to bit position 42 in bp(n, 0), etc. This process continues for each sub-block until permuting circuit 54 has independently permuted each of the sub-blocks for a given input data block.
After permuting circuit 54 completes the permuting operation, mapping circuit 56 maps the bits in the permuted sub-blocks bp(n, 0:7) to one or more output data blocks. As shown in Figure 5, an exemplary output data block Tb comprises four transmission bursts T1, where each transmission burst contains 1 14 bits. In the exemplary embodiment shown in Figure 5, mapping circuit 56 maps the bits in the first four permuted sub-blocks from a first permuted sub-block, bp(0, 0:3), to even bit positions in corresponding transmission bursts of the first output data block, Tb(0). For example, mapping circuit 56 maps the bits from bp(0, 0) to the even bit positions in the first transmission burst T1(O), the bits from bp(0, 1 ) to the even bit positions in T1(I ), etc. Mapping circuit 56 also maps the bits in the last four permuted sub-blocks bp(0, 4:7) to odd bit positions in the corresponding transmission bursts of the second output data block, Tb(1 ). For example, mapping circuit 56 maps the bits from bp(0, 4) to the odd bit positions in the first transmission burst T1(O) of Tb(1 ), the bits from bp(0, 5) to the odd bit positions in the second transmission burst T1(I ) of Tb(1 ), etc. Similarly, mapping circuit 56 maps the bits in the first four permuted sub-blocks of the second data block bp(1 , 0:3) to even bit positions in the corresponding transmission bursts of the second output data block Tb(1 ), and maps the bits in the last four permuted sub-blocks bp(1 , 4:7) to odd bit positions in the corresponding transmission bursts of the third output data block Tb(2). This process repeats for each data block as the transmitter sequentially transmits a modulated version of each output data block. As discussed above, interleaver 50 uses a reduced interleaving table 15 to generate interleaved output data blocks equivalent to those generated by a conventional full interleaving table. The following explains in more detail how the reduced interleaving table 15 is derived from the full interleaving table.
A conventional full-rate speech interleaver may interleave the data bit in the kxh position of the nth input data block B to the/1 position in a t transmission burst T1 of a output data block Tb according to:
T1 (IJ) = B(^k), for k = 0,1,2,3,...,452, 453, 454, 455 , (1 )
where / = An + mod (k, 8) and (2)
7 = 2mod(49Jfc,57) + quotient((mod(Jfc,8)),4) . (3)
Equations (2) and (3) represent one example of a closed form block diagonal interleaving function. The first part of Equation (3) permutes the data and forces the interleaver to fill half of the output data block with interleaved bits from a current data block. The second part of Equation (3) determines if the bit in the kih position of the input data block goes into an even or an odd position in the output data block. To interleave the bits in a 456 data block, a conventional interleaving system requires an interleaving table derived from Equation (3), where the resulting interleaving table has 456 values, one for each of the bits in the input data block.
To reduce the size of the conventional interleaving table, the present invention separates the interleaving process into three independent steps: the grouping step performed by grouping circuit 52, the permuting step performed by permuting circuit 54, and the mapping step performed by mapping circuit 56, as shown in Figure 5 and discussed above. It will be appreciated that grouping circuit 52 and mapping circuit 56 generally implement the second half of Equation (3), leaving the first half of Equation (3) for permuting circuit 54.
As shown in Equation (4), mod(49fc,57) may be rewritten to reference the bit
positions in the sub-blocks.
mod(49£,57) = mod((49(8m + b) + 57),57) (4)
In Equation (4), m = 0, 1 , ... 56 and represents the bit positions in the bih sub-block.
Due to the modulo property of Equation (4), the permuting pattern generated for b=λ is an offset, repeated version of the permuting pattern generated for b=0. Similarly,
Equation (4) generates a permuting pattern for b=2 that is also an offset, repeated
version of the permuting pattern for b=λ . This holds true for each of the sub-blocks. Therefore, the right hand side of Equation (4) generates a permuting pattern that repeats for each sub-block, where each repeated pattern is offset from the previous repeated pattern. By creating a reduced interleaving table out of the repeated pattern, and by designating a different start position within the reduced interleaving table for each sub-block, the present invention creates a reduced interleaving table that may be reused to independently permute each sub-block of an input data block, and that uses less memory than the full interleaving table of a conventional interleaving system. The above describes a method and apparatus for interleaving bits of an input data block over 8 half-bursts (or two half-blocks). However, the present invention is not so limited. For example, the reduced interleaving table of the present invention may also be used in other control channel interleavers or in AMR (Adaptive Multi- Rate) interleavers to interleave data bits from an input data block over 4 half- transmission bursts (Variant I), over 6 transmission bursts (Variant II), or over 4 full- transmission bursts (Variant III).
Conventional interleavers interleave data over 4 half-transmission bursts (Variant I) according to: Tι (b, j) = B(n,k), for k = 4,5, 6,7,12,13,14,15,...,452, 453, 454, 455 , (5)
where b = 4n + mod(k,&) -4 , and (6)
7 = 2mod(49£,57) + quotient((mod(£,8)),4) . (7)
Because Equation (7) is equivalent to Equation (3), the interleaver 50 of the present invention may use the reduced interleaving table 15 as discussed above to permute the bits in the sub-blocks generated by grouping circuit 52. However, for this embodiment, grouping circuit 52 groups the bits into 4 sub-blocks instead of 8 sub- blocks, where each sub-block comprises 57 bits. The permuting and mapping functions are the same as described above.
Conventional interleavers interleave data over 6 transmission bursts (Variant II) according to:
Tι (b, j) = B(n,k) , for k = 0,1, 2, 3,..., 452, 453, 454, 455 , (8)
where b = 4n + moά{k,%) -4quotient([moά{k,%)) ,6} , and (9)
7 = 2mod(49£,57) + quotient((mod(£,8)),4) . (10)
The interleaving operation of Equations (8) - (10) interleaves half of the bits in the input data block into the even positions of 4 transmission bursts in a first output data block, and the remaining bits in the input data block into the odd positions of 4 transmission bursts in a second output data block. As part of the final interleaving process, the last two transmission bursts from the first output data block are combined with the last two transmission bursts of the second output data block to form 2 full transmission bursts in between the remaining 4 half transmission bursts. As with the Variant I, the interleaver 50 of the present invention may use the same reduced interleaving table 15 discussed above to implement Variant Il because Equation (10) is equivalent to Equation (3). Further, grouping circuit 52 and permuting circuit 54 perform the same grouping and permuting processes described above. However, for this variant, mapping circuit 56 performs a slightly different mapping process than described above. More particularly, mapping circuit 56 maps bits from bp(n, 0:1 ) to even positions in the first two transmission bursts of the first output data block and maps bits from bp(n, 4:5) to odd positions in the first two transmission bursts of the second output data block. In addition, mapping circuit 56 maps bits from bp(n, 2:3) to even positions in the last two transmission bursts of the first output data block, and maps bits from bp(n, 6:7) to odd positions in the last two transmission bursts of the first output data block.
Conventional interleavers interleave data over 4 full transmission bursts (Variant III) according to:
2; (fc, 7) = β(n,Jt) , for Jt = 0,l,2,3,...,452,453,454,455 , (1 1 )
where b = 4n + mod(k,4) , and (12)
7 = 2mod(49Jfc,57) + quotient((mod(Jfc,8)),4) . (13)
Again, because Equation (13) is equivalent to Equation (3), the interleaver 50 of the present invention may use the same reduced interleaving table 15 discussed above. Further, grouping circuit 52 groups the input data bits into 8 sub-blocks using a modulo process, and permuting circuit 54 permutes the data bits in the sub-blocks using reduced interleaving table 15, as discussed above. However, in this embodiment, mapping circuit 56 maps the bits from the first four permuted sub- blocks to even positions in the corresponding transmission bursts of an output data block, and maps the bits from the last four permuted sub-blocks to odd positions in the corresponding transmission bursts of the same output data block. The above describes using a reduced interleaving table 15 to interleave data bits in an input data block. The exemplary reduced interleaving table 15 described above includes 57 values. Because the conventional interleaving table includes 456 values, the present invention reduces the memory requirements for the interleaving table by at least a factor of 8. Further, because memory 14 reserves 16 bits for each interleaving table value and because the values s in reduced interleaving table 15 require only 6 bits, additional memory savings may be achieved by combining two values into one 16 bit word. As a result, memory 14 only needs to store 27 words to store the entire reduced interleaving table 15.
Further memory savings may be realized if memory 14 stores a compressed version of the reduced interleaving table. For example, memory 14 may store only the first 8 values (0, 50, 43, 36, 29, 22, 15, and 8) of reduced interleaving table 15 as seed values. According to this embodiment, permuting circuit 54 recreates the reduced interleaving table 15 from the 8 stored seed values as part of the permuting process. For example, permuting circuit 54 may recreate the reduced interleaving table 15 according to the following pseudo-code: seed = {0, 50, 43, 36, 29, 22, 15, and 8} for i = 0 to 6 { for j = 0 to 7 {
RIT [8*i + j] = seed [j] + i }
}
RIT(56) = 7 end It will be appreciated that other forms of recreating the reduced interleaving table 15 from seed values may also be implemented. The interleaver 50 of the present invention provides a better balance between memory and processing resources when compared to conventional interleavers. First, a conventional interleaver performs two operations on each input data bit (interleave and shift), while the interleaver of the present invention performs three operations on each input data bit (grouping, permuting, and mapping). As such, the present invention increases the processing requirements of the interleaving operation only by a factor of 1 .5. In addition, the memory requirements for reduced interleaving table 15 are reduced at least by a factor of 8. As such, the interleaver of the present invention significantly reduces the memory requirements of an interleaving process with minimal impact to the processing resources of the transmitter 24. In addition, the reduced interleaving table may be used by a single transceiver to implement different interleaving processes, such as any of the embodiments and/or variants described above.
The above generally describes the interleaver in terms of a full-rate speech channel. Together with the variants discussed above, this interleaver can also process control channels, including FACCH, SACCH, and SACCH/TP. This interleaver can also process an adjustable rate multi-channel (ARM), including ONSET and SID-Update channels. The interleaver described above also applies to E-FACCH for an enhanced circuit-switched data mode, and to GPRS CS1 -4 channels and for EGPRS MCS1 -4 channels. Generally, the interleaver of the present invention applies to any interleaving process that includes a block diagonal interleaving process defined by a closed-form interleaving function.
The present invention may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.

Claims

Claims We claim:
1 . A method of interleaving data bits from input bit positions in an input data block to output bit positions in one or more output data blocks, the method comprising: storing a reduced interleaving table; and interleaving the data bits in the input data block by iteratively applying the reduced interleaving table to the data bits.
2. The method of claim 1 wherein interleaving the data bits comprises: grouping the data bits of the input data block into a plurality of sub-blocks; and generating permuted sub-blocks by applying the reduced interleaving table to the data bits in each sub-block to independently permute the data bits in each sub-block.
3. The method of claim 2 further comprising identifying a start position in the reduced interleaving table for each sub-block.
4. The method of claim 3 wherein identifying the start position comprises identifying a different start position for each sub-block, wherein the identified start positions are evenly distributed through the reduced interleaving table.
5. The method of claim 3 wherein applying the reduced interleaving table to the data bits in each sub-block comprises applying the reduced interleaving table from each identified start position to the data bits in the corresponding sub-block.
6. The method of claim 5 wherein applying the reduced interleaving table to the data bits in each sub-block further comprises wrapping from an end of the reduced interleaving table to a beginning of the reduced interleaving table when applying the reduced interleaving table from a start position that differs from the beginning of the reduced interleaving table.
7. The method of claim 2 wherein interleaving the data bits further comprises mapping the data bits from each permuted sub-block to one or more output data blocks.
8. The method of claim 7 wherein mapping the permuted data bits comprises: mapping the data bits from a first number of the permuted sub-blocks to even positions in a first output data block; and mapping the data bits from a second number of the permuted sub-blocks to odd positions in the first output data block.
9. The method of claim 7 wherein mapping the permuted data bits comprises: mapping the data bits from a first number of the permuted sub-blocks to even positions in a first output data block; and mapping the data bits from a second number of the permuted sub-blocks to odd positions in a second output data block.
10. The method of claim 9 further comprising grouping data bits from a second data block into a second plurality of sub- blocks; generating a second set of permuted sub-blocks by applying the reduced interleaving table to the data bits in each of the second plurality of sub-blocks to independently permute the data bits in each of the second plurality of sub-blocks; mapping the data bits from a first number of the second plurality of permuted sub-blocks to even positions in the second output data block; and mapping the data bits from a second number of the second plurality of permuted sub-blocks to odd positions in a third output data block.
1 1. The method of claim 10 further comprising formatting the output data blocks according to a predefined communication standard.
12. The method of claim 2 wherein the input data block comprises a 456-bit data block.
13. The method of claim 12 wherein grouping the data bits comprises grouping the data bits of the input data block into 8 sub-blocks, wherein each sub-block includes 57 bits from the input data block.
14. The method of claim 12 wherein grouping the data bits comprises grouping the data bits of the input data block into 4 sub-blocks, wherein each sub-block includes 57 bits from the input data block.
15. The method of claim 12 wherein storing the reduced interleaving table comprises storing a reduced interleaving table having 57 values.
16. The method of claim 1 wherein the input data block comprises a data block for at least one of a full-rate speech channel, an adjustable multi-rate channel, a control channel for GSM, and for GPRS and EGPRS channels.
17. The method of claim 1 wherein storing the reduced interleaving table comprises storing a compressed version of the reduced interleaving table.
18. The method of claim 17 further comprising recreating the reduced interleaving table based on the compressed version of the reduced interleaving table.
19. The method of claim 1 wherein interleaving the data bits comprises interleaving the data bits in the input data block according to a modulo interleaving process.
20. The method of claim 1 wherein interleaving the data bits comprises implementing different interleaving processes to interleave the data bits in one or more input data blocks using the same reduced interleaving table.
21. An interleaver configured to interleave data bits from input bit positions in an input data block to output bit positions in one or more output data blocks, the interleaver comprising: memory for storing a reduced interleaving table; and an interleaving circuit configured to interleave the data bits in the input data block by iteratively applying the reduced interleaving table to the data bits.
22. The interleaver of claim 21 wherein the interleaving circuit comprises: a grouping circuit configured to group the data bits of the input data block into a plurality of sub-blocks; and a permuting circuit configured to generate permuted sub-blocks by applying the reduced interleaving table to the data bits in each sub-block to independently permute the data bits in each sub-block.
23. The interleaver of claim 22 wherein the permuting circuit is further configured to identify a start position in the reduced interleaving table for each sub-block.
24. The interleaver of claim 23 wherein the permuting circuit is configured to identify a different start position for each sub-block, wherein the identified start positions are evenly distributed through the reduced interleaving table.
25. The interleaver of claim 23 wherein the permuting circuit is configured to apply the reduced interleaving table from each identified start position to the data bits in the corresponding sub-block.
26. The interleaver of claim 25 wherein the permuting circuit is configured to wrap from an end of the reduced interleaving table to a beginning of the reduced interleaving table when applying the reduced interleaving table from a start position that differs from the beginning of the reduced interleaving table.
27. The interleaver of claim 22 wherein the interleaving circuit further comprises a mapping circuit configured to map the permuted bits from each sub-block to one or more output data blocks.
28. The interleaver of claim 27 wherein the mapping circuit is configured to: map the permuted data bits from a first number of the sub-blocks to even positions in a first output data block; and map the permuted data bits from a second number of the sub-blocks to odd positions in the first output data block.
29. The interleaver of claim 27 wherein the mapping circuit is configured to: map the data bits from a first number of the permuted sub-blocks to even positions in a first output data block; and map the data bits from a second number of the permuted sub-blocks to odd positions in a second output data block.
30. The interleaver of claim 29 wherein the grouping circuit is further configured to group data bits from a second input data block into a second plurality of sub- blocks, wherein the permuting circuit is further configured to generate a second set of permuted sub-blocks by applying the reduced interleaving table to the data bits in each of the second plurality of sub-blocks to independently permute the data bits in each of the second plurality of sub-blocks, and wherein the mapping circuit is further configured to: map the data bits from a first number of the second plurality of permuted sub- blocks to even positions in the second output data block; and map the data bits from a second number of the second plurality of permuted sub-blocks to odd positions in a third output data block.
31. The interleaver of claim 22 wherein the data block includes 456 data bits.
32. The interleaver of claim 31 wherein the grouping circuit is configured to group the data bits of the input data block into 8 sub-blocks, wherein each sub-block comprises 57 bits from the input data block.
33. The interleaver of claim 31 wherein the grouping circuit is configured to group the data bits of the input data block into 4 sub-blocks, wherein each sub-block comprises 57 bits from the input data block.
34. The interleaver of claim 31 wherein the memory stores a reduced interleaving table having 57 values.
35. The interleaver of claim 21 wherein the input data block comprises a data block for at least one of a full-rate speech channel, an adjustable multi-rate channel, a control channel for GSM, and for GPRS and EGPRS channels.
36. The interleaver of claim 21 wherein the memory stores a compressed version of the reduced interleaving table.
37. The interleaver of claim 36 wherein the interleaving circuit is further configured to recreate the reduced interleaving table based on the compressed version of the reduced interleaving table.
38. The interleaver of claim 21 wherein the interleaving circuit is configured to interleave the data bits of the input data block according to a modulo interleaving process.
39. The interleaver of claim 21 wherein the interleaving circuit is a de-interleaving circuit.
40. The interleaver of claim 21 wherein the interleaving circuit is configured to interleave the data bits in one or more input data blocks according to different interleaving processes using the same reduced interleaving table.
41. A method of de-interleaving data bits from input bit positions in one or more received data blocks to output bit positions in one or more output data blocks, the method comprising: storing a reduced interleaving table; and de-interleaving the data bits in the input data block by iteratively applying the reduced interleaving table to the data bits.
42. The method of claim 41 wherein de-interleaving the data bits comprises: un-mapping the data bits to generate one or more permuted sub-blocks; generating one or more un-permuted sub-blocks by independently applying the reduced interleaving table to the data bits in each permuted sub- block; and un-grouping the un-permuted sub-blocks into the data bits of the one or more output data blocks.
43. A de-interleaver configured to de-interleave interleaved data bits from input bit positions in one or more received data blocks to output bit positions in one or more output data blocks, the de-interleaver comprising: memory for storing a reduced interleaving table; and an interleaving circuit configured to de-interleave the data bits in the input data block by iteratively applying the reduced interleaving table to the data bits.
44. The de-interleaver of claim 43 wherein the interleaving circuit comprises: a mapping circuit configured to un-map the data bits to generate one or more permuted sub-blocks; a permuting circuit configured to generate one or more un-permuted sub- blocks by independently applying the reduced interleaving table to the data bits in each permuted sub-block; and a grouping circuit configured to un-group the data bits of the un-permuted sub-blocks into the data bits of the one or more output data blocks.
PCT/EP2006/067478 2005-10-19 2006-10-17 Intelligent table-driven interleaving WO2007045642A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2006800388059A CN101292430B (en) 2005-10-19 2006-10-17 Data bit interleaved method, interleaver, data bit de-interleaved method, and de-interleaver
EP06807329A EP1938459A1 (en) 2005-10-19 2006-10-17 Intelligent table-driven interleaving
KR1020087009273A KR101084821B1 (en) 2005-10-19 2006-10-17 Intelligent table-driven interleaving

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/253,407 US7793169B2 (en) 2005-10-19 2005-10-19 Intelligent table-driven interleaving
US11/253,407 2005-10-19

Publications (1)

Publication Number Publication Date
WO2007045642A1 true WO2007045642A1 (en) 2007-04-26

Family

ID=35448293

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/067478 WO2007045642A1 (en) 2005-10-19 2006-10-17 Intelligent table-driven interleaving

Country Status (6)

Country Link
US (1) US7793169B2 (en)
EP (1) EP1938459A1 (en)
KR (1) KR101084821B1 (en)
CN (1) CN101292430B (en)
TW (1) TWI400914B (en)
WO (1) WO2007045642A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2429084A1 (en) * 2010-09-13 2012-03-14 Hughes Network Systems, LLC Method and apparatus for a parameterized interleaver design process

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7957418B2 (en) * 2007-07-31 2011-06-07 Research In Motion Limited Data burst communication techniques for use in increasing data throughput to mobile communication devices
US7886203B2 (en) * 2007-09-05 2011-02-08 Mindtree Consulting Ltd Method and apparatus for bit interleaving and deinterleaving in wireless communication systems
KR101110201B1 (en) * 2007-10-31 2012-02-15 연세대학교 산학협력단 Method and apparatus for paraller structured latin square interleaving in communication system
KR101726277B1 (en) 2015-07-14 2017-04-13 주식회사 아이에스엘코리아 Information service system and method using intelligent table
KR20220114920A (en) * 2021-02-09 2022-08-17 삼성전자주식회사 Apparatus and method for performing block interleaving for data transmission

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1039646A1 (en) * 1999-03-05 2000-09-27 Mitsubishi Electric France Interleaver device and method for interleaving a data set
US20020149496A1 (en) * 2001-04-17 2002-10-17 Anand Dabak Interleaved coder and method
US6493815B1 (en) * 1998-12-26 2002-12-10 Samsung Electronics, Co., Ltd. Interleaving/deinterleaving device and method for communication system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3652998A (en) * 1970-03-01 1972-03-28 Codex Corp Interleavers
JP3415693B2 (en) * 1993-12-23 2003-06-09 ノキア モービル フォーンズ リミテッド Interleaving process
DE59510902D1 (en) * 1994-03-07 2004-06-24 Siemens Ag Method and arrangement for transmitting block-coded information over several channels in a digital mobile radio system
US6529730B1 (en) * 1998-05-15 2003-03-04 Conexant Systems, Inc System and method for adaptive multi-rate (AMR) vocoder rate adaption
US6334197B1 (en) * 1998-08-17 2001-12-25 Hughes Electronics Corporation Turbo code interleaver with near optimal performance
AU4207800A (en) * 1999-04-09 2000-11-14 Sony Electronics Inc. Interleavers and de-interleavers
US6543013B1 (en) * 1999-04-14 2003-04-01 Nortel Networks Limited Intra-row permutation for turbo code
US6813252B2 (en) * 2000-01-07 2004-11-02 Lucent Technologies Inc. Method and system for interleaving of full rate channels suitable for half duplex operation and statistical multiplexing
US7564460B2 (en) * 2001-07-16 2009-07-21 Microsoft Corporation Systems and methods for providing intermediate targets in a graphics system
JP3823315B2 (en) * 2002-05-07 2006-09-20 ソニー株式会社 Encoding apparatus, encoding method, decoding apparatus, and decoding method
US7568145B2 (en) * 2004-04-15 2009-07-28 Libero Dinoi Prunable S-random interleavers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493815B1 (en) * 1998-12-26 2002-12-10 Samsung Electronics, Co., Ltd. Interleaving/deinterleaving device and method for communication system
EP1039646A1 (en) * 1999-03-05 2000-09-27 Mitsubishi Electric France Interleaver device and method for interleaving a data set
US20020149496A1 (en) * 2001-04-17 2002-10-17 Anand Dabak Interleaved coder and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2429084A1 (en) * 2010-09-13 2012-03-14 Hughes Network Systems, LLC Method and apparatus for a parameterized interleaver design process
US8527833B2 (en) 2010-09-13 2013-09-03 Hughes Network Systems, Llc Method and apparatus for a parameterized interleaver design process
US8601344B1 (en) 2010-09-13 2013-12-03 Hughes Network System, Llc Method and apparatus for a parameterized interleaver design process
EP2706667A1 (en) * 2010-09-13 2014-03-12 Hughes Network Systems, LLC Method and apparatus for a parameterized interleaver design process

Also Published As

Publication number Publication date
US7793169B2 (en) 2010-09-07
TWI400914B (en) 2013-07-01
US20070101210A1 (en) 2007-05-03
TW200727634A (en) 2007-07-16
KR101084821B1 (en) 2011-11-21
CN101292430A (en) 2008-10-22
CN101292430B (en) 2012-08-22
KR20080068660A (en) 2008-07-23
EP1938459A1 (en) 2008-07-02

Similar Documents

Publication Publication Date Title
US9467176B2 (en) Computationally efficient convolutional coding with rate-matching
US6064664A (en) Base-band interleaver for code division multiple access mobile telecommunication system
US7139261B2 (en) Data multiplexing method and data multiplexer, and data transmitting method and data transmitter
US5745497A (en) Convolutional interleaving/DE-interleaving method and apparatus for data transmission
JP4955049B2 (en) Block interleaving for turbo coding
US7793169B2 (en) Intelligent table-driven interleaving
EP1834411A1 (en) Memory efficient interleaving/de-interleaving utilising the periodicity of the mapping function
JP2005535210A (en) Coding and decoding for rate matching in data transmission
WO2004002046A2 (en) Method of interleaving/deinterleaving in a communication system
GB2327578A (en) Convolutional interleaver for preventing the transmission of unwanted data

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200680038805.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
REEP Request for entry into the european phase

Ref document number: 2006807329

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006807329

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: MX/a/2008/004235

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 1020087009273

Country of ref document: KR

Ref document number: KR

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2006807329

Country of ref document: EP