WO2008060843A2 - Imbricateur pour turbo-codage - Google Patents

Imbricateur pour turbo-codage Download PDF

Info

Publication number
WO2008060843A2
WO2008060843A2 PCT/US2007/082804 US2007082804W WO2008060843A2 WO 2008060843 A2 WO2008060843 A2 WO 2008060843A2 US 2007082804 W US2007082804 W US 2007082804W WO 2008060843 A2 WO2008060843 A2 WO 2008060843A2
Authority
WO
WIPO (PCT)
Prior art keywords
swapping
cycle
indexes
processor
interleaver
Prior art date
Application number
PCT/US2007/082804
Other languages
English (en)
Other versions
WO2008060843A3 (fr
Inventor
Jean Sidon
Mihael S. Bercovici
Yaron Shemesh
Original Assignee
Motorola, Inc.
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 Motorola, Inc. filed Critical Motorola, Inc.
Publication of WO2008060843A2 publication Critical patent/WO2008060843A2/fr
Publication of WO2008060843A3 publication Critical patent/WO2008060843A3/fr

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • H03M13/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/2739Permutation polynomial interleaver, e.g. quadratic permutation polynomial [QPP] interleaver and quadratic congruence interleaver
    • 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/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
    • 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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations

Definitions

  • TITLE INTERLEAVER FOR USE IN TURBO CODING
  • the present invention relates to an interleaver for use in turbo coding.
  • the present invention relates to a quadratic congruence interleaver suitable for use in turbo coding in forward error correction in a digital communication system.
  • Digital communication systems particularly for specialized uses such as applications of the emergency and public safety services, need to perform accurately and reliably in the presence of noise and interference.
  • Forward error correction ( ⁇ FEC ) coding is a known way of helping to achieve this goal.
  • Forward error correction coding also called ⁇ channel coding'
  • This known structure is introduced by a coder (encoder) associated with a transmitter that is to transmit a signal including the data sequence.
  • the coder inserts redundant (or ⁇ parity' ) bits into the data stream, thereby providing an output formed of a longer sequence of data bits, called a ⁇ codeword' .
  • a decoder associated with a receiver which receives the signal is able to extract the original data sequence and to detect and correct errors caused by corruption during communication without requesting retransmission of the original data.
  • a powerful known form of forward error correction coding is turbo coding.
  • a turbo coder includes a combination of at least two component encoders.
  • the turbo coder also includes an interleaver (also sometimes referred to as a ⁇ permuter' or a ⁇ shuffler') .
  • the interleaver is a processor that receives data and re-arranges it in a different order using a programmed re-arrangement operation.
  • a first of the component encoders and the interleaver receive each block of input data.
  • the first component encoder and the interleaver receive each input data block in parallel in a mode known as a ⁇ parallel concatenation' mode.
  • the interleaver processes the input data block and delivers the processed block to a second of the component encoders.
  • the first and second component encoders thereby generate different sets of code bits based upon the input data block. This provides diversity to the coded data sequence being transmitted.
  • any interleaving processing pattern can be adopted for use by the interleaver, different patterns can result in significant differences in the communication bit-error rate. Therefore, the interleaver design contributes significantly to the overall error correction performance of the turbo code system.
  • the turbo decoding procedure must employ as many component decoders associated with the receiver as component encoders associated with the transmitter. These decoders may be concatenated in a serial fashion and may be joined by a series of interleavers and de-interleavers in a feedback loop arrangement.
  • the decoding procedure is iterative by sending decoded data round the feedback loop in a number of iterations to improve the quality of the data, i.e. to improve the probability of the data being correct.
  • turbo codes can achieve a bit-error rate that approaches the theoretical Shannon limit.
  • interleavers are known in the prior art.
  • interleavers are typically selected which provide a combination of desirable computational properties.
  • Such interleavers include pseudo-random or deterministic interleavers.
  • An example of such a known deterministic interleaver is the Takeshita-Costello interleaver which is described in the paper, herein referred to as Reference 1, entitled 'New Deterministic Interleaver Designs for Turbo Codes, by Oscar Y. Takeshita and Daniel J. Costello Jr., published in IEEE Transactions on Information Theory, Vol. 46., No. 6, September 2000.
  • This interleaver is known to be suitable for use in a convolutional turbo coder in its parallel concatenation mode for forward error correction.
  • This interleaver provides an operation which has a relatively low mathematical complexity, but its known implementation in a real time environment is relatively complex .
  • FIG. 1 is a block schematic diagram of an interleaver embodying the invention.
  • FIG. 2 is a flow chart of a method embodying the invention employed in the interleaver of FIG. 1.
  • FIG. 3 is a block schematic diagram of an illustrative turbo coder embodying the invention.
  • FIG. 4 is a block schematic diagram of an illustrative turbo decoder embodying the invention.
  • FIG. 5 is a block schematic diagram of a transceiver of a digital communication terminal embodying the invention.
  • FIG. 6 is a block schematic diagram of a digital wireless communication system adapted in accordance with an embodiment of the invention.
  • relational terms such as 'first' and 'second' , 'top' and 'bottom' , and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions.
  • the terms 'comprises', 'comprising' , or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
  • An element preceded by 'comprises ...a' does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.
  • embodiments of the invention described herein may be comprised of one or more conventional processors and unique stored program instructions that control the one or more processors to implement, in conjunction with certain non-processor circuits, some, most, or all of the functions of interleavers and their use in turbo coding for communication between a first terminal and a second terminal.
  • these functions may be interpreted as steps of a method of operation to perform interleaving in turbo coding in communication between a first terminal and a second terminal.
  • some or all functions could be implemented by a state machine that has no stored program instructions, or in one or more application specific integrated circuits (ASICs) , in which each function or some combinations of certain of the functions are implemented as custom logic.
  • ASICs application specific integrated circuits
  • quadratic congruence interleavers are powerful interleavers because they can give a performance similar to random interleavers.
  • ETSI European Telecommunications Standards Institute
  • this type of interleaver is to be used in a turbo encoder in the parallel concatenation mode.
  • ETSI European Telecommunications Standards Institute
  • a quadratic congruence interleaver also known as a ⁇ Takeshita - Costello' interleaver
  • data elements e.g. bits or symbols each of which can have different possible values
  • the interleaver re-arranges the data elements using an algebraically derived permutation table defining permutations of pairs of data elements whose positions are to be swapped.
  • the interleaver may construct the permutation table by use of an index mapping function giving for each of L re-arrangement cycles sequences c m defining the position of pairs of the data elements to be swapped.
  • Equation 1 is equivalent to a quadratic congruence condition for c m .
  • the permutation table which results is equivalent to constructing a permutation vector in which the elements are shifted left by an amount equal to h.
  • step b of Algorithm 1 a series of re-arrangement cycles are to be applied to a block of data of length K. Each of these cycles is identified by an index i.
  • a series of algorithmic operations is presented by Algorithm 1 defining pairs of elements to be swapped for each cycle. Algorithm 1 implies that the swapping of pairs of elements in each cycle is carried out as a series of individual swapping steps. Carried out in this way step b requires many individual swapping operations carried out serially. The number of swapping operations is related to the size of the block of data elements to be re-arranged. For example, in accordance with the TETRA Release 2 standards, K can be up to 5,536. In a hardware (programmable logic) implementation, this requires typically 5536/2 clock cycles.
  • the interleaver 100 embodying the invention comprises a re-arrangement processor 101 which is operably connected to a computing processor 103 operably connected in turn to a memory 104.
  • a block 105 of K input data bits b is applied to the rearrangement processor 103.
  • the block 105 may be a sub- block of a larger block of data bits that has to be re- arranged in steps or cycles of operation by the interleaver 100.
  • Each of the K input data bits b of the block 105 is applied in parallel to the re-arrangement processor 103.
  • the block 105 is shown as having K input data bits b having position indexes from 0 to K-I. For illustrative simplicity, four (i.e.
  • each of the input data bits b is indicated in FIG. 1 in brackets following each designation of b, i.e. as 0,... xl,... x2 , ... ⁇ l , ... y2 ... K-I respectively.
  • the input data bits b having the bracketed position indexes xl, x2, yl and y2 are the bits which are candidates to be swapped. These bits are not necessarily adjacent in position in the block 105 of K bits as indicated by dots between the various data bits b.
  • the input data bits b having the bracketed position indexes xl, x2, yl and y2 are re-arranged in position by the rearrangement processor 101 in each of L re-arrangement cycles, where L is an integer herein referred to as the ⁇ loop limit' and is equal to (S-2)/2, where S is as defined earlier.
  • the data bits b are re-arranged to form a block 107 of output data bits.
  • the data bits of the block 107 of output data bits are as shown in FIG. 1, in which the indexes in brackets of the output data bits refer to the positions of the corresponding input bits b in the block 105.
  • the swapping operations between pairs of bits b required in each of the re-arrangement cycles may be defined by swapping indexes.
  • the swapping indexes associated with each of bits b(xl), b(x2), b(yl) and b(y2) are indicated respectively as Xl, X2, Yl and Y2.
  • the swapping index Xl defines the position index of the input data bit b (if any) with which the data bit b(xl) is to be swapped in a given cycle.
  • the swapping index X2 defines the position index of the input data bit b (if any) with which the data bit b(x2) is to be swapped, and so on.
  • the values of the swapping indexes Xl, X2, Yl and Y2 are computed by the computing processor 101 to give output blocks 107 for each re-arrangement cycle which are equivalent to output data as obtained by the operation of Algorithm 1.
  • the computing processor 101 is provided with the following inputs: (i) an input Co which is a parameter for the index calculation, having an initial value of zero;
  • an input i which is a value of the current cycle index; this may be provided by a cycle counter (not shown) ;
  • an input indicating the ⁇ loop limit' which is a limit L of the number of re-arrangement cycles; this input is an integer equal to the number (S-2)/2.
  • the computing processor 103 operates in a manner described with reference to FIG. 2 to compute for each cycle a sequence c m as defined earlier and, from the sequence, pairs of bits b to be re-arranged in each cycle.
  • the computing processor 103 indicates to the rearrangement processor 101 the computed pairs, e.g. using an indication provided in the form of values of the swapping indexes Xl, X2, Yl and Y2.
  • the re-arrangement processor 101 applies the swapping operations defined by the indication from the computing processor 103. Multiple swapping operations are carried out in parallel by the re-arrangement processor 101.
  • FIG. 2 is a flow chart of an illustrative method 200 of operation of the interleaver 100 in accordance with an embodiment of the invention.
  • the method 200 comprises multiple re-arrangement cycles or iterations each indicated by a cycle index i.
  • Each cycle begins at a step 201.
  • the cycle index is indicated in a step 203 by input to the computing processor 103 of a value of i for the current cycle.
  • the computing processor 103 determines if the value of i for the current cycle is less than a loop limit which is equal to (S-2)/2. If step 205 produces a ⁇ No' result, i.e. a determination that the loop limit has been reached, processing for the current block of input data ends at a step 207.
  • step 205 produces a ⁇ Yes' result, i.e. a determination that the loop limit has not been reached, the method 200 proceeds to a step 209.
  • step 209 the computing processor 103 calculates values of swapping indexes for the current cycle i.
  • the computing processor 103 uses a set of relationships, obtained by inspection of Algorithm 1, to compute values of the swapping indexes.
  • the swapping indexes are specifically Xl, X2, Yl and Y2 as defined earlier, the relationships used are as follows: Xl is given by (Co + i) mod S; X2 is given by (Co + 2i + 1) mod S; Yl is given by (c 0 + S/2) mod S; Y2 is given by (c 0 + 2i + 1 + S/2) mod S.
  • the parameters Co, i and S are as defined earlier.
  • the calculations of step 209 are carried out in parallel (in contrast to the serial procedure implied by Algorithm 1), for a plurality of bit pairs, in a hardware implementation.
  • a step 211 the computing processor 103 compares each of the swapping index values calculated in step 211 with the value K, the number of data bits in the block 107 of input data bits, to determine whether each swapping index is less than or not less than K.
  • the comparisons for each of the swapping indexes with the value K are carried out in parallel in a single step operation in step 211.
  • Each calculated swapping index is not used further if it is found in step 211 to be not less than K.
  • Each calculated swapping index is used further if it is found in step 211 to be less than K.
  • the computing processor 103 identifies a combination of the swapping indexes which are less than K.
  • the swapping indexes Xl, X2, Yl and Y2 as described earlier there are four (or, in general p) such indexes giving sixteen (or, in general, 2 P ) such combinations possible.
  • a step 215 the computing processor 103 selects and applies a logical rule of an algorithm to determine which pairs of bits to swap.
  • the algorithm essentially has a different logical rule for each of the possible combinations which can be identified in step 213.
  • the rules to be applied are obtained by inspection of Algorithm 1.
  • the algorithm applied by the computing processor 103 instantly selects and applies the rule corresponding to that combination. This may be done by the algorithm looking in parallel at every one of the possible combinations from step 213 to find which one is currently 'true' and then operating a corresponding rule defined in the algorithm in response to the particular 'true' finding.
  • the computing processor 103 may for example include a lookup table or a multiplexer to implement the algorithm in step 215.
  • step 215 if all of the indexes Xl, X2, Yl and Y2 are found in step 211 to be less than K, then step 213 will identify the combination of the four indexes Xl, X2, Yl and Y2 as usable, and step 215 determines by application of the rule corresponding to this combination that b(xl) should be swapped with b(yl), and b(x2) should be swapped with b(y2).
  • step 215 determines by application of the rule corresponding to this combination that only b(x2) should be swapped with b(y2) .
  • any calculated swapping index is found in step 211 to be less than K it can and will be used in swapping. However, if one of the calculated indexes (say Xl) is unusable (i.e. not less than K) , while the index with which it should pair (say Yl) as identified in the rule selected in step 215 is usable (i.e. is less than K) a swap cannot be carried out between them. If there is stored in the memory 104 any usable index from previous calculations of the indexes, it is used by pairing with Yl for a swap. This possibility, the use of any unused usable swapping index, is indicated in FIG. 2 as a step 217.
  • a block of input data bits e.g. as illustrated by the block 105 in FIG. 1, is provided to the re-arrangement processor 101.
  • the computing processor 103 provides to the re-arrangement processor 101 an indication of the pairs of bits in the input block that the re-arrangement processor 101 has to swap, as determined by the computing processor 103 in steps 209 to 215. Only the swapping indexes of bits that have to be swapped may be indicated in step 223.
  • Each input indicates the indexes of the pair(s) of bits, e.g. b(xl) with b(yl) and b(x2) with b(y2), to be swapped (if any) .
  • the minimum information that needs to be indicated by the computing processor 103 to the re- arrangement processor 101 consists of the swapping indexes of the pairs of bits that are to be swapped.
  • the re-arrangement processor 101 swaps the pairs of input bits indicated in step 223.
  • Step 225 is carried out as a single parallel operation in which all swaps are carried out together.
  • a block of output data bits is provided by the rearrangement processor 101, e.g. as illustrated by the block 107 in FIG. 1. This block includes output data bits which have been swapped in position in step 225.
  • step 225 the method returns to step 201 to begin the next cycle having a cycle index i+1, where i is the index of the cycle which has just ended.
  • a different output block 107 of data is produced. Since each of steps 209, 211, 223 and 225 in the method 200 is carried out as a parallel operation, the number of overall steps required to achieve an output equivalent to that produced by Algorithm 1 may be considerably reduced compared with use of serial operations, particularly serial swapping operations, contemplated in the prior art. Beneficially, this allows the interleaver 100 to operate more rapidly using fewer processing resources.
  • FIG. 3 is a block schematic diagram of an illustrative turbo coder 300 embodying the invention.
  • An input data stream is delivered from a digital signal processor (not shown) via a connection 301.
  • the input data stream represents information to be communicated, e.g. speech information or text, picture or video information.
  • the input data stream comprises a series of discrete, consecutive blocks of data upon each of which the turbo coder 300 operates.
  • the input data stream is applied in parallel to a first component encoder, Encoder 1 303 and an interleaver 305.
  • Each data block of the input data stream is encoded in a known manner by the Encoder 1 303 and is also rearranged by the interleaver 305 in a manner embodying the invention described earlier with reference to FIGS. 1 and 2 to form a re-arranged data block.
  • Each of the re-arranged data blocks is delivered to a second component encoder, Encoder 2 307 and is encoded in a known manner by the Encoder 2 307.
  • a codeword constructor 309 receives three input signals derived from the input data stream.
  • a first input signal delivered via the connection 301 is provided by the unprocessed input data stream.
  • a second input signal is delivered via a connection 311 from the Encoder 1 303 and is a series of data blocks which have been encoded by the Encoder 1 303.
  • a third input signal is delivered via a connection 313 from the Encoder 2 307 and is a series of re-arranged data blocks which have been encoded by the Encoder 2 307.
  • the codeword constructor 309 uses its three input signals in a known manner to produce output data comprising a series of code words each containing components from each of the three input signals to the codeword constructor 309.
  • FIG. 4 is a block schematic diagram of an illustrative turbo decoder 400 embodying the invention.
  • the turbo decoder 400 receives input data comprising a demodulated signal comprising communicated code words.
  • the input data is delivered to a codeword deconstructor 401 which produces three output signals corresponding respectively to the three input signals employed in the code word constructor 309 shown in FIG. 3.
  • a first output signal Sl which comprises unencoded data is applied to a first decoder, Decoder 1 405 via a connection 407.
  • a second output signal S2 which comprises data encoded by the Encoder 1 303 (FIG. 3) is applied to the Decoder 1
  • a third output signal S3 which comprises data encoded by the Encoder 2 307 is applied to a second decoder, Decoder 2 411 via a connection 413.
  • the Decoder 1 405 is serially coupled via an interleaver 415 to the Decoder 2 411.
  • a cycle of a loop processing operation in the turbo decoder 400 proceeds as follows.
  • the Decoder 1 405 decodes and uses the encoded data of the signal S2 correlated with the decoded data of the signal Sl to produce statistical information relating to a bit error rate of received data.
  • the statistical information is delivered to the Decoder 2 411.
  • the Decoder 2 411 decodes and uses the encoded data of the signal S3 correlated with the unencoded data of the signal Sl re-arranged by the interleaver 415 to produce statistical information relating to a bit error rate of received data.
  • the interleaver 415 operates in the manner embodying the invention described earlier with reference to FIGS. 1 and 2.
  • the Decoder 2 411 produces an output signal including statistical information produced by the Decoder 1 405 and improved by the Decoder 2 411 which is delivered via a two-way switch 417 and a de-interleaver 419 to a feedback loop 421 which applies the signal back to the Decoder 1 405.
  • the output signal provided by the Decoder 2 411 also includes decoded data which corresponds to the unencoded but re-arranged data delivered from the interleaver 305 to the Encoder 2 307 (FIG. 3) .
  • the de-interleaver 419 produces a reverse re-arrangement of the data to provide an input signal S4 for the Decoder 1 405 which corresponds to a processed version of the unencoded data of the signal Sl.
  • the Decoder 1 405 uses the statistical information it receives and the processed version of the encoded data of the signal S4 delivered via the feedback loop 421 to improve the reliability of the input unencoded data of the signal Sl. Another cycle of the loop processing operation which has been described then begins. Several cycles may be applied successively for each block of data received, the gathered statistical information and reliability of the data improving with each cycle.
  • the switch 417 is operated to divert the output signal produced by the Decoder 2 411 via a de-interleaver 423 to a bit estimator 425. Like the de-interleaver 419, the de-interleaver 423 produces a reverse re-arrangement of the decoded data produced by the Decoder 2.
  • the de-interleavers 419 and 423 may in practice be provided by a single interleaver. Each of the de-interleavers 419 and 423 may be provided by an interleaver operating in the manner embodying the invention described earlier with reference to FIGS. 1 and 2.
  • the signal Sl comprising unencoded data from the codeword deconstructor 401 is also delivered to the bit estimator 425 via a connection 427.
  • the bit estimator 425 uses the respective inputs it receives to estimate which bits in the unencoded data of the signal Sl require correction.
  • the bit estimator 425 produces output data including bits corrected by the bit estimator 425 based upon error estimations made by the bit estimator 425.
  • FIG. 5 is a block schematic diagram of an illustrative transceiver 500 embodying the invention.
  • the transceiver 500 is suitable for use in a mobile digital wireless communication terminal and includes a transmitter chain 501 and a receiver chain 503 either one of which can be selected to be in operation for a given operational period in a transmitting mode or a receiving mode respectively.
  • the transmitter chain 501 includes an input transducer 505 which in a transmitting mode receives input information to be communicated, e.g. speech from a user.
  • the input information is applied in the form of an input electronic signal to an input signal processor 507 which provides preliminary signal processing, e.g. to enhance signal quality of the electronic signal.
  • An output signal from the input signal processor 507 comprises a digital data signal which is delivered in the form of consecutive data blocks to a turbo coder 509 which includes an interleaver embodying the invention, e.g. as described earlier with reference to FIGS. 1 and 2.
  • the turbo coder 509 may for example be the turbo coder 300 shown in FIG. 3.
  • An output from the turbo coder 509 in the form of a series of code words is delivered to an RF modulator 511 which uses the code words to modulate an RF carrier signal.
  • An output from the RF modulator 511 comprising a modulated RF signal is amplified by a power amplifier 513 and is delivered via a circulator 515 (or switch or like device) to an antenna 517.
  • the amplified modulated RF signal is transmitted over-the-air by the antenna 517 to a receiver of another terminal (not shown) .
  • the antenna 517 receives a modulated RF signal sent over-the- air by a transmitter of another terminal (not shown) .
  • the antenna 517 delivers the received signal to the receiver chain 503 via the circulator 515.
  • a filter/amplifier 519 provides front end RF channel filtering and amplification of the received signal.
  • the received signal after filtering and amplification is delivered to a demodulator 521 which downconverts the RF signal to baseband frequency to extract information added to the RF signal as a modulation signal when it was transmitted.
  • the demodulator 521 produces a digital output which is a series of code words corresponding to the series formed in a coder similar to the coder 509 of the transmitter that transmitted the signal.
  • the output signal from the demodulator 521 is applied to a turbo decoder 523 including one or more interleavers embodying the invention, e.g. as described earlier with reference to FIGS. 1 and 2.
  • the turbo decoder 523 may be the turbo decoder 400 shown in FIG. 4.
  • Output data from the turbo decoder 523 is further processed in an output signal processor 525, e.g. to enhance the quality of the signal represented by the data, and is delivered to an output transducer 527, e.g. a speaker where the transducer 527 is to deliver output speech information to a user.
  • FIG. 6 is a block schematic diagram of a wireless communication system 600 embodying the invention.
  • the system 600 includes a mobile station 601 and a mobile station 603.
  • Each of the mobile stations 601 and 603 may be a mobile radio, a portable telephone, a wireless enabled pda (personal digital assistant) or the like.
  • the mobile station 601 may communicate with the mobile station 603 via a base station 605 in which case the system 100 is a cellular or trunked mobile communication system. This communication is established via a radio link 607 between the mobile station 601 and the base station 605 and a radio link 609 between the base station 605 and the mobile station 603.
  • the mobile station 601 may communicate directly with the mobile station 603 via a direct radio link 611.
  • Each of the mobile stations 601 and 603 includes a transceiver which may be the transceiver 500 as shown in FIG. 5.
  • the mobile station 601 includes a turbo coder embodying the invention, e.g. the turbo coder 300, which encodes the data to be communicated
  • the mobile station 603 includes a turbo decoder embodying the invention, e.g. the turbo decoder 400, which decodes the communicated data when received.
  • the turbo coder of the mobile station 601 and the turbo decoder of the mobile station 603 form a forward error correction code system in communication between the mobile station 601 and the mobile station 603.
  • a digital signal processor including the interleaver 100 may be in the form of a suitable programmed microprocessor such as one using ASIC (Application Specific Integrated Circuit) technology or FGPA (Field Programmable Gate Array) technology.
  • ASIC Application Specific Integrated Circuit
  • FGPA Field Programmable Gate Array

Landscapes

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

Abstract

La présente invention concerne un imbricateur (100) servant à réorganiser dans chacun des L cycles d'un premier ensemble de K éléments de données pour donner un deuxième ensemble de K éléments de données au moyen d'un vecteur de permutation qui, sur la base du calcul d'une séquence cm dans chaque cycle, définit un nombre pair de paires de positions d'éléments du premier ensemble à échanger, cm respectant une condition de congruence quadratique. Un processeur (103) calcule pour chacun des L cycles une valeur de la séquence cm, et, sur la base de la valeur, un ensemble d'indices indiquant au moins deux paires d'éléments à échanger, à la suite de quoi, un processeur (101) échange dans chaque cycle les paires d'éléments indiquées, l'échange des paires dans chaque cycle s'effectuant en bloc en une opération d'échanges parallèles.
PCT/US2007/082804 2006-11-15 2007-10-29 Imbricateur pour turbo-codage WO2008060843A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0622764A GB2443866B (en) 2006-11-15 2006-11-15 Interleaver for use in turbo coding
GB0622764.9 2006-11-15

Publications (2)

Publication Number Publication Date
WO2008060843A2 true WO2008060843A2 (fr) 2008-05-22
WO2008060843A3 WO2008060843A3 (fr) 2008-08-07

Family

ID=37605323

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/082804 WO2008060843A2 (fr) 2006-11-15 2007-10-29 Imbricateur pour turbo-codage

Country Status (2)

Country Link
GB (1) GB2443866B (fr)
WO (1) WO2008060843A2 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060031737A1 (en) * 2004-02-19 2006-02-09 Trellisware Technologies, Inc. Method and apparatus for communications using improved turbo like codes
US20060251184A1 (en) * 2000-09-12 2006-11-09 Broadcom Corporation, A California Corporation Parallel concatenated code with soft-in-soft-out interactive turbo decoder

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6603412B2 (en) * 2001-06-08 2003-08-05 Texas Instruments Incorporated Interleaved coder and method
EP1401108A1 (fr) * 2002-09-12 2004-03-24 STMicroelectronics N.V. Dispositif électronique pour éviter des accès conflictuels en écriture pendant l'entrelacement, en particulier une architecture pour entrelacement simultané optimisé pour décodage turbo à haut débit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060251184A1 (en) * 2000-09-12 2006-11-09 Broadcom Corporation, A California Corporation Parallel concatenated code with soft-in-soft-out interactive turbo decoder
US20060031737A1 (en) * 2004-02-19 2006-02-09 Trellisware Technologies, Inc. Method and apparatus for communications using improved turbo like codes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CALDERBANK A.R.: 'The art of signaling: fifty years of coding theory' IEEE TRANSACTIONS ON INFORMATION THEORY, [Online] vol. 44, no. 6, pages 2561 - 2595 Retrieved from the Internet: <URL:http://www.users.ece.utexas.edu/~jandrews/ee381v/supp_reading/calderbank_ecc_tutorial.pdf> *

Also Published As

Publication number Publication date
GB0622764D0 (en) 2006-12-27
WO2008060843A3 (fr) 2008-08-07
GB2443866A (en) 2008-05-21
GB2443866B (en) 2009-08-26

Similar Documents

Publication Publication Date Title
KR101275962B1 (ko) 무선 통신 시스템에서 다단 순환 중복 검사 코드
CN109075799B (zh) 极化Polar码的编译码方法及装置
WO2016082142A1 (fr) Procédé et appareil d&#39;adaptation de débit pour code polaire, et dispositif de communication sans fil
US11171741B2 (en) Polar code transmission method and apparatus
US9154165B2 (en) Apparatus and method for transmitting data using a CTC (convolutional turbo code) encoder in a mobile communication system
CN110890894A (zh) 级联编码的方法和装置
EP1820276A2 (fr) Turbodecodeur comprenant un heritage de repere pour le decodage d&#39;une version redondante d&#39;un bloc de donnees
EP1834411A1 (fr) Entrelacement/ des entrelacement a occupation efficace de la memoire, utilisant la periodicite de la fonction de mappage
US10581464B2 (en) Encoder device, decoder device, and methods thereof
US6522704B1 (en) Data reception apparatus and data reception method
WO2018228592A1 (fr) Procédé et dispositif de traitement d&#39;entrelacement pour codes polaires
Rosenqvist et al. Implementation and evaluation of Polar Codes in 5G
EP2175581B1 (fr) Système de communication avec turbo codage/décodage
KR100799147B1 (ko) 디코딩 방법 및 장치
CN108696283B (zh) 数据编码和译码的方法和装置
CN108809485B (zh) 一种编码的方法和装置
WO2008060843A2 (fr) Imbricateur pour turbo-codage
JP2001251199A (ja) 送信装置、通信システム及びその方法
EP2728755B1 (fr) Implementation efficace d&#39;un entrelaceur à permutation polynomiale quadratique (QPP) pour traitement parallèle utilisant des paramètres d&#39;entrelacement sous forme quotient-reste
US20120326898A1 (en) Coding and Decoding by Means of a Trellis Coded Modulation System
US6742158B2 (en) Low complexity convolutional decoder
US20040163030A1 (en) Iterative error correcting system
KR101456299B1 (ko) 무선통신 시스템에서 인터리빙 방법
EP1445885B1 (fr) Procédé et appareil de poinçonnage de symboles de code
US9425826B2 (en) Interleaver employing quotient-remainder reordering

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07863589

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07863589

Country of ref document: EP

Kind code of ref document: A2