GB2400776A - method of using an algebraic interleaver for turbo encoding/decoding - Google Patents
method of using an algebraic interleaver for turbo encoding/decoding Download PDFInfo
- Publication number
- GB2400776A GB2400776A GB0308438A GB0308438A GB2400776A GB 2400776 A GB2400776 A GB 2400776A GB 0308438 A GB0308438 A GB 0308438A GB 0308438 A GB0308438 A GB 0308438A GB 2400776 A GB2400776 A GB 2400776A
- Authority
- GB
- United Kingdom
- Prior art keywords
- communication unit
- algebraic
- interleaved
- interleaver
- row
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2703—Coding, 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/271—Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2703—Coding, 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/271—Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
- H03M13/2714—Turbo interleaver for 3rd generation partnership project [3GPP] universal mobile telecommunications systems [UMTS], e.g. as defined in technical specification TS 25.212
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/275—Interleaver wherein the permutation pattern is obtained using a congruential operation of the type y=ax+b modulo c
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/276—Interleaving address generation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
- H04L1/0066—Parallel concatenated codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0071—Use of interleaving
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0067—Rate matching
- H04L1/0068—Rate matching by puncturing
- H04L1/0069—Puncturing patterns
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
A method (400) for coding one or more data blocks in a communication unit comprises the step of performing an intra row permutation operation in an algebraic interleaver (215, 320, 345) or de-interleaver (335, 350). A permutation is performed on a matrix comprising bits or symbols of said one or more data blocks arranged in a number of rows and a number of columns. The method further comprises the step of calculating (420) an index value (m) of a sequence s(m) based on a sequence of values (g(i)) by iteratively performing a number of modulo addition operations for intra-row permutation. Advantageously, by performing intra row calculations using modulo arithmetic in an algebraic interleaver, a reduction of computational complexity in an interleaving operation is achieved.
Description
i 2400776 - 1 - COMMUNICATION UNIT AND METHOD OF ENCODING/DECODING DATA
THEREIN
Field of the Invention
This invention relates to communication units employing an interleaver/deinterleaver in a coding operation. The invention is applicable to, but not limited to, a third generation communication unit utilising a turbo coding technique.
Background of the Invention
Third generation (3G) wireless communication systems, for example the third generation partnership project (3GPP), support speech and data communication. In the field of this invention, coding techniques are commonly applied to such speech and data to overcome various impairments: . induced by the communication channel. In particular, À A convolutional codes are well known and are widely used.
An improved coding technique has appeared, referred to as....
turbo-coding'. This coding technique provides very good performance for acceptable complexity and delay and is. . therefore superior to classical coding schemes. . . The interleaver/de-interleaver functions are known to be an essential part of the turbo coding scheme, as confirmed in the document "Near Shannon limit error- correcting coding and encoding: Turbo-codes", authored by C. Berrou, A. Glavieux and P. Thitimajshima, International Conference on Communications, ICC 93. An interleaved is a device that carries out a mathematical operation of a permutation on an ordered set of objects.
20002/MA-P2/GB/Kofman À 2 - In the context of digital communication systems, these objects are symbols that are transmitted on a channel.
An example of the operation of the internal interleaved for turbo coding is specified in 3GPP Specifications 25.212, "Multiplexing and channel coding", Section 4.2.3.2.3, September 1999 {1}. In this document, the interleaved is of variable size and the procedure described is applicable to a sequence length in the range [40, 5114]. The interleaving operation is carried out on a rectangular matrix of rows and columns, with dimensions that depend on the size of the data block. The permutation is carried out first on bits in each row (termed intra-row permutation) and then on the rows themselves (termed inter-row permutation).
To understand the context of the present invention, let Àe us consider an ordered set of objects X = {X1, X2, X3, , À . XK}. A permutation on this set is a function P(k) (where À 1S k S K), which changes the order of the objects in the set. Thus, if a given permutation P(k) is applied on the... . ordered set X, then the result of the operation is an ordered set Y = {Y1, Y2, Y3' ,YK} , such that: À À:.
Yk = xj [ 1] and j = P(k) [2] Where: 1S k, j S K. Evidently, the permutation operation is reversible, i.e. an inverse permutation, denoted by Pi (k), always exists.
20002/MA-P2/GB/Kofman - 3 - The application of the inverse permutation p-1 (k) on the ordered set Y provides the original ordered set X. The application of the inverse permutation is generally referred to as de-interleaving.
In a turbo encoder, a constituent encoder is applied on both an original block of information symbols and on a permutated block of symbols. The performance achieved by the turbo coding scheme depends, to a large extent, on the choice of the interleaved. However, the design of a good interleaved, particularly for a turbo-coding scheme is known to be an extremely difficult task. The difficulty primarily emanates from the fact that an optimal interleaver is dependent upon the constituent encoders used in the coding scheme as well as on other parameters of the system.
Known information theory suggests that a good interleaved.
for a turbo-coding scheme should resemble a 'random' À A permutation, i.e. a permutation that has no particular structure. Furthermore, practical implementation of....
turbo encoders/decoders has confirmed that good interleavers do indeed resemble random permutations, in. . contrast to algebraic (otherwise known as 'structured') .2.
interleavers that are generally less preferred for use in a turbo coding scheme. For example, a row-column interleaved, which is typically implemented in many communication systems, renders poor performance when used in a turbo-coding scheme. The row-column interleaves is implemented by writing the data into a matrix row-by-row and reading the data columnby-column.
20002/MA-P2/GB/Kotman 4 - Thus, a good interleaved for a particular turbo coding scheme should be designed by applying an elaborate design algorithm. The output of the design is a permutation P(k). In a practical communication system, it would be necessary to store, in both the transmitter and the receiver, a look-up table of the ordered set of integers obtained by applying the permutation P(k) on the ordered set of natural numbers {1, 2, ... , Kl.
The storage of the permutation P(k) in a look-up table in the transmitter and in the receiver is rather problematic if the size of the data block is large, which is usually the case in a turbo-coding scheme. Moreover, in some communication systems the size of the data block K is not fixed. This entails the need for storing several independently designed permutations, one for every valid value of K. For example, the standard of the Third Generation WCDMA cellular system allows data blocks in À. À
the range 40 < K < 5114. Furthermore, the use of stored À permutations implies repeated access to the look-up table A. for carrying out the operations of interleaving and de- . . interleaving.
À::::e To avoid the implementation difficulties induced by using...
stored permutations, it is desirable to apply an alternative approach. An algebraic interleaved is an interleaved in which the permutation function can be implicitly expressed by an algebraic expression. Thus, in an algebraic interleaves, the values of P(k) and of P 1 (k) for every integer k, (1< k < K) can be readily calculated, rather than retrieved from a look-up table.
20002/MA-P2/GB/Kofman However, the design of an algebraic interleaved is also a complicated task. A good algebraic interleaved is a simple algebraic expression that can be applied, for example as an interleaved in a turbo coding scheme, so that the performance of the coding scheme is reasonably close to the performance achieved when using a properly designed quasi-random interleaved. An algebraic interleaved for the 3GPP WCDMA cellular system is also specified in {1}.
In an algebraic interleaved, the operation of interleaving is carried out once for every data block in the turbo encoder. Both interleaving and deinterleaving are carried out a large number of times in the decoder of a turbo-coding scheme. It is therefore extremely desirable to design an improved coding algorithm, for example, for use in a turbo encoder/decoder, which has low computational complexity. À À À À .
Statement of Invention.,
In accordance with a first aspect of the present invention, there is provided a method for coding one or À more data blocks, as claimed in Claim 1. À . In accordance with a second aspect of the present invention, there is provided a data communication system, as claimed in Claim 7.
In accordance with a third aspect of the present invention, there is provided a storage medium storing processor-implementable instructions, as claimed in Claim 9.
20002/MA-P2/GB/Kofman - 6 - In accordance with a fourth aspect of the present invention, there is provided a communication unit, as claimed in Claim 10.
In accordance with a fifth aspect of the present invention, there is provided a communication unit as claimed in Claim 12.
In accordance with a sixth aspect of the present invention, there is provided an integrated circuit as claimed in Claim 17.
Further aspects of the present invention are as claimed in the dependent Claims.
In summary, the present invention proposes an efficient implementation of an algebraic interleaver/de-interleaver À. À À
that can be used in a turbo encoder or turbo decoder. In À I. particular, the inventive concepts present a mechanism for performing intra row or inter-row permutations in an....
algebraic interleaver/de-interleaver by simplifying a determination of addresses (bit positions) in a matrix of À columns and rows of stored data using modulo additions. . .. . The proposed mechanism is more computationally efficient
than the known prior art.
Brief Description of the Drawing.
Exemplary embodiments of the present invention will now be described, with reference to the accompanying drawings, in which: 20002/MA-P2/GB/Kofman 7 FIG. l illustrates a data communication unit adapted in accordance with the preferred embodiment of the present invention; FIG. 2 illustrates a block diagram of a turbo encoder architecture with algebraic interleaved adapted in accordance with the preferred embodiment of the present invention; FIG. 3 illustrates a block diagram of a turbo decoder architecture with algebraic interleaver/de- interleaver adapted in accordance with the preferred embodiment of the present invention; and FIG. 4 illustrates a flowchart for calculating an address (bit position) for intra row permutation, in accordance with the preferred embodiment of the present invention. . ,
Description of Preferred oddment À '
The preferred embodiment of the present invention will be À ..
described with reference to a subscriber unit capable of turbo encoding/decoding, for example, a subscriber unit..
operating on a universal mobile telecommunication À .: standard (UMTS) wireless communication system. In particular, the invention is applicable to the Third Generation Partnership Project (3GPP) specification for wideband code-division multiple access (WCDMA) standard relating to the UTRAN radio Interface (described in the 3GPP 25.xxx series of specifications). However, it is within the contemplation of the invention that the inventive concepts hereinafter described are equally applicable to any device in any other wireless or wired 20002/MA-P2/GB/Kotman - 8 communication systems, for example, a base station in a UMTS or a CDMA2000 or a 3GPP2 system, where an algebraic interleaver/de-interleaver can be applied in the encoding/decoding process.
A skilled artisan would further appreciate that the inventive concepts hereinafter described apply equally to encoding and/or decoding operations using an algebraic interleaved and/or de-interleaver. As such, the expression 'algebraic interleaved' is hereinafter used to encompass all such functions and applications.
Turning now to FIG. l, there is shown a block diagram of a wireless subscriber unit lOO, generally termed a user equipment (UK) or mobile terminal (MT) in UMTS parlance, adapted to support the inventive concepts of the preferred embodiments of the present invention. Although, the preferred embodiment of the present invention is À À described with reference to a subscriber unit lOO, it is À equally applicable in a wireless serving communication...
unit that encodes/decodes data, such as a Node-B. ...
As known in the art, and described here for completeness, À . the UE lOO contains an antenna 102 preferably coupled to À . a duplex filter or antenna switch 104 that provides isolation between receive and transmit chains within the UE lOO. The receiver chain llO, as known in the art, includes receiver front-end circuitry 106 (effectively providing reception, filtering and intermediate or base band frequency conversion). The front-end circuit is serially coupled to a signal processing function 108. In the preferred embodiment of the present invention, a portion of the signal processing function 108 is 20002/MA-P2/GB/Kofman _ 9 configured as a turbo encoder 109 to provide turbo- encoding of transmit signals, and as a turbo decoder 117 to provide turbo- decodlog of received signals, as further described below with respect to FIG. 3. Notably, the turbo encoder 109 employs one or more algebraic interleavers and the turbo decoder 117 employs one or more algebraic interleavers/de-interleavers. In practice, the signal processing function 108, in the context of the present invention, will perform numerous other signal processing tasks (not shown), such as: symbol timing recovery, demodulation, de-multiplexing, de-interleaving, re-ordering, etc. An output from the signal processing function is provided to a suitable output device 111, such as a screen or flat panel display. The receiver chain 110 also includes received signal strength indicator (RSSI) circuitry 112, .. . which in turn is coupled to a controller 114 for..
maintaining overall UE control. The controller 114 is also coupled to the receiver front-end circuitry 106 and..
the signal processing function 108 (generally realised by À ..
a digital signal processor (DSP) or dedicated hardware À.
such as an application specific integrated circuit À.
(ASIC)). The controller is also coupled to a memory À .: element 116 that stores operating regimes, such as decoding/encoding functions, synchronization patterns, code sequences and the like. It is within the contemplation of the invention that the memory element 116, and/or a further memory element may be included within the signal processing function 108 and/or turbo encoder 109 and/or turbo decoder 117. In a transmitter context, the turbo encoder 309 provides turbo-encoded signals for transmission to a remote receiving unit.
20002/MA-P2/GB/Kofman - 10 For completeness, as regards the transmit chain 120, this essentially includes an input device 120, such as a keypad, coupled in series through signal processing function 108, transmitter/modulation circuitry 122 and a power amplifier 124 to the antenna 102. In practice, the signal processing function 108, in the context of the present invention, will perform numerous signal processing tasks (not shown) in addition to turbo encoding, such as modulating, multiplexing and interleaving the bit-stream for transmission. The transmitter/modulation circuitry 122 and the power amplifier 124 are operationally responsive to the controller. Furthermore, a timer 118 is operably coupled to the controller 114 to control the timing of operations (transmission or reception of time-dependent signals) within the UE 100. Of course, the various components.. . within the UE 100 can be realised in discrete or integrated component form, with an ultimate structure À based on design, size and cost considerations. A. In accordance with the preferred embodiment of the invention, one or more algebraic interleavers/de- À interleavers of the turbo encoder 109 or the turbo À .. .
decoder 117, together with related information stored in the associated memory element 116, have been adapted to incorporate the inventive concepts described below.
FIG. 2 illustrates a generic block diagram of a 'turbo encoder' 200 that can be adapted in accordance with the preferred embodiment of the present invention. The turbo encoder 200 is comprised of two constituent encoders 220, 225 and an algebraic interleaved 215. The constituent 20002/MA-P2/GB/Kotman À 11 encoders 220, 225 are commonly convolutional encoders.
The input to the first encoder is a block of 'K' information bits 205. In principle, more than two constituent encoders may be used, with each additional encoder preceded by an algebraic interleaved.
The turbo encoder outputs three types of bits: (i) The block of 'K' information bits, which are transmitted as "non- coded" bits. These bits are commonly referred to as "systematic bits" 210.
(ii) The block of 'K' bits 230 generated by the first constituent encoder 220.
(iii) The block of 'K' bits 235 generated by the second constituent encoder 225.
The 2*K bits generated by the two constituent encoders. . 220, 225 are commonly referred to as "parity bits" 230, 235. 20...
The fundamental feature of the turbo encoder is that the.. À..-
second constituent encoder 225 operates on the bits presented at the input to the turbo encoder after the À À algebraic interleaved 215 has processed the data block. À .: Thus, the information bits 205 are encoded twice: once in the original order and once after permutation by the algebraic interleaved 215. The design of the algebraic interleaved 215 is of paramount significance as the features of the algebraic interleaved 215 have a large effect on the performance of the turbo-coding scheme.
A parallel-to-serial device may multiplex the systematic bits 210 and the parity bits 230, 235 at the output of 20002/MA-P2/GB/Kofman - 12 the turbo encoder before they are transmitted over the channel. The coding rate of the generic scheme in FIG. 2 is, for example, one-third, whereby three code bits are transmitted for every information bit. To increase the coding rate, a known technique of puncturing can be applied. By transmitting only one parity bit for every information bit, the coding rate can be increased to 1/2.
The puncturing may be carried out by the optional switch 240 in FIG. 2, which alternates between the two streams of parity bits 230, 235. In this manner, only half of the 2K parity bits are transmitted.
The use of turbo codes requires a decoder with higher complexity than that of a conventional decoder used for convolutional codes. A generic block diagram of a "turbo decoder" 300, that can be adapted in accordance with the preferred embodiment of the present invention, is, . illustrated in FIG. 3. Systematic bits/symbols 210, ..
together with parity bits/symbols 230 are received from the first encoder over a noisy channel, and are input to A. a first a-posterior) probability (APP) module 340. À .' The extrinsic information 315 that is output from the À.
first APP module (APP module-1) 340 is input to an.. .: interleaved 345. Systematic bits/symbols 210 are also input directly to a second algebraic interleaved 320.
The outputs from the first algebraic interleaved 345 and second algebraic interleaved 320, together with parity bits 235 from the second encoder, are input to a second APP module (APP module-2) 325. Upon each iteration of the process, the extrinsic information 330, output from APP module-2 325, is input into a de-interleaver 335.
The output of the de-interleaver 335 is input to APP 20002/MA-P2/GB/Kofman module-1 340, as shown. However, for the first iteration, zeros are input into APP module-1 340 instead of the de- interleaver output.
In a straightforward implementation of the known iterative forwardbackward decoding algorithm, as performed by the APP Module-1 340 of the generic turbo decoder 300 of FIG. 3, the following procedures are carried out in each iteration: (i) Computation of the branch metrics for the entire received sequence of channel symbols.
(ii) Computation of forward path metrics, by processing the received sequence from start to end, i.e., (Yl9Y2999YL9999YK) (iii) Computation of backward path metrics, by processing the received sequence from end to start, i.e. . . (YK'YK-,YK-291,Yk',,TYI), once the data block has been.
received.
(iv) Computation of the a-posterior) ..
probabilities (APPs) using the branch metrics, the.. :.
forward path metrics and the backward path metrics. An....
improved mechanism for APP computation is described in co-pending UK Patent Application GB 0224667.6, the Applicant of which is Modem-Art Limited=.
The salient feature of any turbo decoding algorithm is therefore the application of iterative decoding. Once APP Module-2 325 has completed its operation, the extrinsic information 330 generated by APP Module-2 325 is fed back to APP Module-1 340, which processes the data again in order to generate new extrinsic information that can be provided to APP Module 325 for further processing.
20002/MA-P2/GB/Kofman - 14 A single round of processing of the data by both APP Modules 325, 340 is referred to as one iteration. The performance of the coding scheme usually improves as the number of iterations increases. In a practical scheme, the total number of iterations is generally constrained by considerations of complexity and tolerable delay in the decoder design.
In the encoder 200 of FIG. 2, the information has been algebraically interleaved 215 before being encoded by the second constituent encoder 225. Consequently, in FIG. 3, the extrinsic information 315 at the output of APP Module-1 340 has to be algebraically interleaved 345 before being fed to APP Module-2 325. For the same reason, the received systematic bits/symbols 210 have to be algebraically interleaved 320. Evidently, the extrinsic information 330 at the output of APP Module-2., e 325 has to be de-interleaved 335 before it is provided to..
APP Module-1 340 as a-priori information.
After completing several iterations, the final decision ' '.
355 of the turbo decoder is derived by taking the de À.d interleaved (in algebraic de-interleaver 350) a- .. À
posterior) probabilities output from APP Module-2 325. .. À All that is needed for the final decision on a particular bit is to determine the sign of the computation made by APP Module-2 325.
Notably, in accordance with the preferred embodiment of the present invention, the algebraic interleaved and algebraic de-interleaver functions of the turbo encoder and turbo decoder 300 have been adapted to reduce l 20002 /-P2 /GB/Kofman their complexity when compared to known interleaver/de- interleaver operations.
The adaptation of the algebraic interleaver/de interleaved functions of the turbo encoder/decoder, together with the memory element 116 within the UE 100, ! can be realised in discrete or integrated component form.
Furthermore, new signal processing or memory functionality may be added to a conventional UE (or Node B). Alternatively, existing processing functions of a I conventional communication unit may be adapted, for example by reprogramming one or more processors therein. I As such, the adaptation of, for example, the signal processing function 108 and/or turbo encoder 109 and/or turbo decoder 117 in the preferred embodiment of the present invention, may be implemented in the form of processorimplementable instructions stored on a storage medium, such as a floppy disk, hard disk, programmable '.
read-only memory (PROM), random access memory (RAM) or À any combination of these or other storage media. ... e
The algebraic interleaver/de-interleaver of the preferred embodiment of the present invention is incorporated in I,.
both the encoder and the decoder of the turbo coding,,.
scheme. Notably, the interleaving procedure is carried out in the encoder, whilst both interleaving and de- interleaving are carried out in the decoder.
The operation of the adapted algebraic interleaver/de interleaved of the turbo encoder 109 is described further with respect to the flowchart of FIG. 4.
20002/MA-P2/GB/Kofman À 16 The algebraic interleaver/de-interleaver of the present invention is functionally equal to, but less complex than, the algebraic interleaved specified in {1}.
An inherent part of the intra-row permutation algorithm for obtaining valid permutations is to use a modulo! operation. The basic features of the module operation, as specified in {11, are: (+)mod)=[amod)+p mod()]mod() [3] ()mod(y)=[amod(y) [modO]mod(y) [4] 1 The permutation operation of the interleaved is carried out on a rectangular matrix of 'R' rows and 'C' columns, as known in the art. The number of rows 'R' depends on the size of the data block and, for example in the..
preferred embodiment of the present invention, is..
selected from the set {5,10,20}. The number of columns 'C' also depends on the size of the data block and, for À.
example in the preferred embodiment of the present,..
invention, is selected from the set {p, p-l, and p+l). ....
The parameter 'p' is a prime number that depends on the.. . size of the data block. The parameter 'p' is selected '. À from a set of fifty-two prime numbers in the range [7 p c 257] that are listed in Table 2 of {1}. The details for the determination of the parameters (R. C, p) are also provided in {1}. If RC > K, then 'K-RC' dummy bits/symbols are inserted at the end of the data sequence of length K. These dummy bite/symbols are discarded after the de-interleaving process.
20002/Mq-P2/GB/Kofman However, it is within the contemplation of the present invention that the inventive concepts herein described are applicable to any parameter selection for an interleaver/de-interleaver. Furthermore, it is envisaged that the set of prime numbers used, as given in {1}, may be varied, for example by extending prime numbers beyond p = 257.
A sequence s(m), where O < m S p-2, is a "base sequence" used for intrarow permutations. This sequence of length p-1' is constructed iteratively, as also specified in s(O) = 1 s(m) = [(m -1)] mod(p) [5] 1<m< p-2 15. . The parameter v is an integer parameter, referred to in {1} as the "primitive root". This parameter depends on...
the prime number p as specified in Table 2 of {1}. ..
Another sequence that is used by the permutation À algorithm is a sequence of length R. {r(i)}, where O i À ,'..
< R-1. This is a sequence of prime numbers chosen from the same list of fifty-two prime numbers that is used for determining the parameter p. The primary formula for determining the intra row permutation is the formula for calculation of U(i,j).
This is the calculation of the original bit position of the j bit in the i row after intra-row permutation.
Accordingly, the value of U(i,j) is given by: 20002/MA-P2/GB/Kotman - 18 if C-p-l: U(i, j) = s[( jr(i))mod(p -1)] - I if C=p: U(i, j) = s[( jr(i))mod(p -1)] U(i, p - 1) - O [6] if C=p+l: U(i, j) = s[(jr(i))mod(p-1)] U(i, p - 1) = 0 U(i,p) = p O< JO p-2 O < i R The formula for U(i,j) is then applied repeatedly. As illustrated above, the sequence s(m) depends on both the row index 'i' and on the column index 'j' as: . . À À. À À À
m(i,j)=(jr(i))mod(p-1) [7] À: As shown, direct application of equation [7] , as proposed...
in {1}, requires multiplication and application of the...
module function. À.
The effect of randomness of the interleaved in {1} is achieved by carrying out two types of permutation: (i) Intra-row permutation: In this permutation, the C entries in each of the R rows of the R*C matrix are "mixed" by calculating U(i, j), as specified in equation [6]. U(i, j) is the original bit position in the R*C matrix of the j bit in the i row 20002/MA-P2/GB/Kofman after intra-row permutation. Thus, the bit in row i and column U(i, j) is mapped to the j column in row i.
(ii) Inter-row permutation: In this permutation, the R rows of the matrix are permutated by applying inter-row permutation. This permutation is fixed and specified in {1}. For R = 5 and R = 10, the order of the rows is just reversed. For R = 20, the Standard in {1} specified a look-up table for inter-row permutation.
Evidently, whenever the interleaver/de-interleaver procedure is invoked, RC values of the U(i, j) are calculated. Since RC > K, a large number of calculations are therefore required to perform intra row permutations. A. . The inventors of the present invention have recognized and appreciated that it is therefore worthwhile to find À..
an efficient method for calculating U(i, j). ...
Hence, in accordance with the preferred embodiment of the present invention, a low-complexity mechanism for '' calculating U(i, j) for the Intra-row permutation, and in particular calculating the index of the sequence s(m), is proposed. As indicated earlier in equation [7], the sequence s(m) depends on the row index 'i' and on the column index 'j'. By applying the identity given by equation [4], the preferred algorithm results in: m(i, j) = [ j mod(p-l).r(i)mod(p-l)]mod(p-l) =[jr(i)mod(p-l)]mod(p-l) [8] =[jg(i)]mod(p-l) 20002/MA-P2/GB/Kofman The equality in the second line of equation [8] is based on the observation that (O < j < p - 2).
Notably, in the third line of equation [8], the following definition isused: g(i)=r(i)mod(P-l) [9] OSiR-I By applying the above methodology, only the sequence g(i) is required in the calculations. This is in contrast to the methodology proposed in the standard {l}, which defined the sequence r(i) to be calculated. As clearly illustrated above, it is advantageous to store the sequence g(i), rather than the sequence r(i). À. :-.
Furthermore, the calculation of the index m of the.. . . sequence s(m) is used for intra-row permutation on the À.
i row (where O < i < R - l). This calculation can now. :.
be carried out iteratively by using equation [7] and applying the identity of equation [3], as illustratedÀ below in equation [lO].. . . m(i,O)=0 m(i,l)=g(i) m(ii+l)=[(i+l)g(i)]mod(p-l) [lo] =[(ig(i)mod(p-l)+g(i)mod(p-l)]mod(p-l) = [m(i, j) + g(i)]mod(p-l) 2< j< p-2 It is noteworthy that, by definition: 20002/MA-P2/GB/Kofman O<m(i,j)<P2 [11] O<g(i)<p-2 Therefore, equation [10] yields: m(i,j+l)=[m(i,j)+g(i)]m d(P-1) m(i,j)+g(i) m(i,j)+g(i)<P l [12] lm(ij)+g(i)-(p-l) m(i,j)+g(i)2P-] 2< j< p-2 Thus, instead of calculating U(i, jJ for the Intra-row permutation equation using a large number of 'multiplication' operations (jr(i)) and respective applications of a module operation mod(p-1), as proposed lee in {1}, the present invention proposes to use equation,. . . [12]. À:.
Advantageously, equation [12] requires just the operation À ..
of one addition alone (or together with one subtraction) .., À - to calculate the index m of the sequence s(m) and is.
therefore significantly less complex to implement. It is noteworthy that both approaches require retrieving a value from memory, i.e. the direct method proposed in {1} requires retrieving the value of r(i), whilst the proposed method requires retrieving the value of g(i).
Assuming that the function g(i), (O c i < R-1) has been determined and stored in memory, the calculation of the addresses U(i, j), where O S j < p-2 for a given row 'i', can be calculated in the manner illustrated in the flowchart 400 of FIG. 4. The flowchart 400 commences at 20002/MA-P2/GB/Kofman - 22 step 405 by selecting the first row 'i=0'. For this row, the index m is initialized by retrieving from memory each value of g(i) for a particular column, in step 410.
Further initialization values are preferably set, for example U(i, 0)=0, U(i, p-1)=0, U(i, p)=p and 'j=0'. The next column is selected by incrementing the column index j', in step 415. A calculation of 'm' is then made, in step 420, using equation [12] above.
If the column index indicates the final column in the matrix, then U(i, j) is set to s(m)-1, in step 425.
Otherwise, U(i, j) is set to the sequence s(m). In this manner, the original bit position of the j bit in the i row of the R*C matrix is determined after intra row permutation. If the column value is not the final column in the matrix, in step 430, then the next column is, À.
selected by incrementing the column index 'j' in step.
415, and another calculation of 'm' is made. A. .,
If the column index indicates C=p-2, in step 430, then a À determination is made as to whether the row index 'i' I. indicates the last row in the matrix, in step 435. If the row 'i' is not the last row in the matrix in step 435, the row index 'i' is incremented in step 440 and the index values for 'm' are initialized using the new row index in step 410. If the row index 'i' indicates the last row in the matrix in step 435, then the process for calculating the addresses (bit positions) of U(i, j) following intra-row permutation is complete, for this set of calculations, as shown in step 445.
Note that, in the flowchart, U(i, I) is only relevant for C≥p and U(i, pl) is only relevant to C=p+1.
20002/MA-P2/GB/Kofman - 23 It is within the contemplation of the present invention that the inventive concepts herein described can be applied to any application that requires an algebraic interleaver/de-interleaver and are therefore not limited to turbo-coding. Furthermore, it is envisaged that integrated circuit manufacturers are able to manufacture integrated circuits to perform coding functions employing the algebraic interleaving operations, as hereinbefore described.
As indicated above, it is within the contemplation of the present invention that the inventive concepts herein described are equally applicable to an interleaved design as well as a de-interleaver design. Furthermore, it is within the contemplation of the invention that the inventive concepts can be applied in an encoder as well: . ' as a decoder. Additionally, it is envisaged that the À A. algebraic permutation method of the present invention may be applied to an inter-row as well as, or rather than, ....
the intra-row calculation.
A skilled artisan would appreciate that the.' . aforementioned application to, and use of the term, 'rows', would apply equally to columns in other configurations. Hence, the term 'row', as used in the present invention, should be construed as encompassing configurations where the algebraic permutations are calculated for any other dimension such as columns.
In conclusion, it will be understood that by performing intra row permutations in an algebraic interleaver/de- interleaver using module additions, in the manner 20002/MA-P2/GB/Kofman - 24 described above, a reduction of computational complexity, when compared to known techniques, is achieved.
Whilst the specific and preferred implementations of the embodiments of the present invention are described above, it is clear that one skilled in the art could readily apply variations and modifications of such inventive concepts.
Thus, a method for encoding and/or decoding (sometimes referred to as coding) one or more data blocks, a data communication system and a communication unit have been described, whereby the disadvantages associated with known prior art arrangements have been substantially alleviated. À À À À. À À .
À . .. À- À À À À À
Claims (19)
- 20002/MA-P2/GB/Kofman - 25 Claims 1. A method (400) for coding one or moredata blocks in a communication unit, the method comprising the step of: performing an intra row permutation operation in an algebraic interleaved (215, 320, 345) or de- interleaver (335, 350) of said communication unit wherein said permutation is performed on a matrix comprising bits or symbols of said one or more data blocks arranged in a number of rows and a number of columns; wherein the method is characterized by the step of: calculating (420) an index value (m) of a sequence s(m) based on a sequence of values (g(i)) by iteratively performing a number of addition or modulo addition operations for intra-row permutation in said algebraic interleaved (215, 320, 345) or de-interleaver: . (335, 350). À I.
- 2. The method (400) for coding one or more data; blocks according to Claim 1, wherein the method is..further characterized by the step of storing in a memory. . element a sequence of values (g(i)) relating to a row,' ' index multiplied by a modulo operation.
- 3. The method (400) for coding one or more data blocks according to Claim 1 or Claim 2, wherein the method is further characterized by the step of retrieving said sequence of values (g(i)) from a memory element to perform said intra row permutation.
- 4. The method (400) for coding one or more data blocks according to any preceding Claim, wherein the step 20002/MA-P2/GB/Kotman - 26 of calculating an index value (m) further comprises the step of calculating (425) an original bit position (U(i,j)) in a row (i) using said calculated index value (m) after intra row permutation.
- 5. The method (400) for coding one or more data blocks according to any preceding Claim, wherein said steps are performed in a turbo encoder or turbo decoder of said communication unit employing an algebraic interleaved (215, 320, 345) or de-interleaver (335, 350).
- 6. The method (400) for coding one or more data blocks according to any preceding Claim, wherein said steps are performed in a base transceiver station, such as a Node-B, or a subscriber unit, such as a user equipment, for example configured for operation on a UMTS,. . À À or a 3GPP wireless communication system.
- 7. A data communication system having one or more...elements adapted to facilitate the method of any of the, ..preceding Claims. .... :-: :
- 8. The data communication system according to Claim ' '.: 7, wherein the data communication system is a 3GPP or CDMA2000 or a 3GPP2 or UMTS wireless communication system.
- 9. A storage medium (116) storing processor implementable instructions for controlling a processor to carry out the method of any of Claims 1 to 6.
- 10. A communication unit (100) adapted to perform the method of any of preceding Claims 1 to 6.20002/MA-P2/GB/Kofman - 27
- 11. The communication unit (100) according to Claim 10, wherein the communication unit (100) is a Node-B or user equipment configured for operation on a UMTS or a 3GPP or a CDMA2000 or a 3GPP2 wireless communication system.
- 12. A communication unit (100) for coding one or more data blocks, the communication unit (100) comprising: a receiver for receiving one or more data blocks; and an encoder (109) or decoder (117), operably coupled to said receiver, comprising an algebraic interleaver (215, 320, 345) or deinterleaver (335, 350) for performing an intra row permutation on a matrix comprising bits or symbols of said one or more data blocks arranged in a number of rows and a number of columns; ..wherein the communication unit (100) is characterized by: said algebraic interleaved (215, 320, 345) or de- .,.interleaved (335, 350) calculating an index value (m) of.a sequence (s(m)) to determine said permutation based on a sequence of values (g(i)) by iteratively performing a number of modulo addition operations. À .
- 13. The communication unit (100) according to Claim 12, wherein the communication unit (100) is further characterized by a memory element (116), operably coupled to said encoder (109) and arranged to store said sequence of values (g(i)) that relate to a row index multiplied by I a module operation such that said sequence of values (g(i)) can be retrieved from said memory element (116) to perform said intra row permutation.20002tMA-P2/GB/Kofman - 28
- 14. The communication unit (100) according to Claim 12 or Claim 13, wherein the communication unit is further characterized by said algebraic interleaved (215, 320, 345) or de-interleaver (335, 350) calculating an original bit position (U(i,j)) of a bit in a row (i) using said calculated index value (m) after intra row permutation.
- 15. The communication unit (100) according to any of preceding Claims 12 to 14, wherein the communication unit (100) is further characterized by said encoder (109) or decoder (117) being a turbo encoder or turbo decoder employing an algebraic interleaved (215, 320, 345) or de interleaver (335, 350).
- 16. The communication unit (100) according to any of preceding Claims 12 to 15, wherein said communication unit (100) is a base transceiver station, such as a Node- À.B or a subscriber unit, such as a user equipment, for À example configured for operation on a UMTS or a 3GPP or a...CDMA2000 or a 3GPP2 communication system. ..
- 17. An integrated circuit performing the decoding À ' method steps of any of Claims 1 to 6, or used in the À ,...communication unit of any of Claims 10 to 16.
- 18. A method (400) for coding substantially as hereinbefore described with reference to, and/or as I illustrated by, FIG. 4 of the accompanying drawings.
- 19. A communication unit (100) substantially as hereinbefore described with reference to, and/or as illustrated by, FIG. 1 or FIG. 2 or FIG. 3 of the accompanying drawings.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0308438A GB2400776A (en) | 2003-04-14 | 2003-04-14 | method of using an algebraic interleaver for turbo encoding/decoding |
PCT/IB2004/001112 WO2004095766A1 (en) | 2003-04-14 | 2004-04-13 | Communication unit and method of encoding/decoding data therein |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0308438A GB2400776A (en) | 2003-04-14 | 2003-04-14 | method of using an algebraic interleaver for turbo encoding/decoding |
Publications (2)
Publication Number | Publication Date |
---|---|
GB0308438D0 GB0308438D0 (en) | 2003-05-21 |
GB2400776A true GB2400776A (en) | 2004-10-20 |
Family
ID=9956648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB0308438A Withdrawn GB2400776A (en) | 2003-04-14 | 2003-04-14 | method of using an algebraic interleaver for turbo encoding/decoding |
Country Status (2)
Country | Link |
---|---|
GB (1) | GB2400776A (en) |
WO (1) | WO2004095766A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100008214A1 (en) * | 2004-12-31 | 2010-01-14 | Isabelle Siaud | Interleaving with iterative calculation of interleaving addresses |
CN101043284B (en) * | 2007-04-10 | 2011-04-20 | 中兴通讯股份有限公司 | Interleaver of TURBO coder in WCDMA system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442728B1 (en) * | 1999-01-11 | 2002-08-27 | Nortel Networks Limited | Methods and apparatus for turbo code |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6543013B1 (en) * | 1999-04-14 | 2003-04-01 | Nortel Networks Limited | Intra-row permutation for turbo code |
KR100393608B1 (en) * | 2000-09-29 | 2003-08-09 | 삼성전자주식회사 | An internal interleaver of the turbo decoder in an umts system and method for interleaving thereof |
US6845482B2 (en) * | 2001-02-28 | 2005-01-18 | Qualcomm Incorporated | Interleaver for turbo decoder |
-
2003
- 2003-04-14 GB GB0308438A patent/GB2400776A/en not_active Withdrawn
-
2004
- 2004-04-13 WO PCT/IB2004/001112 patent/WO2004095766A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442728B1 (en) * | 1999-01-11 | 2002-08-27 | Nortel Networks Limited | Methods and apparatus for turbo code |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100008214A1 (en) * | 2004-12-31 | 2010-01-14 | Isabelle Siaud | Interleaving with iterative calculation of interleaving addresses |
US8194527B2 (en) * | 2004-12-31 | 2012-06-05 | France Telecom | Interleaving with iterative calculation of interleaving addresses |
CN101043284B (en) * | 2007-04-10 | 2011-04-20 | 中兴通讯股份有限公司 | Interleaver of TURBO coder in WCDMA system |
Also Published As
Publication number | Publication date |
---|---|
WO2004095766A1 (en) | 2004-11-04 |
GB0308438D0 (en) | 2003-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5133760B2 (en) | Random access multi-direction CDMA2000 turbo code interleaver | |
JP4326956B2 (en) | Method and apparatus for encoding data bits in parallel | |
KR20110009232A (en) | Pruned bit-reversal interleaver | |
JP2004531116A (en) | Interleaver for turbo decoder | |
WO2000035103A9 (en) | Turbo code interleaver using linear congruential sequences | |
WO2000059117A1 (en) | Generalized address generation for bit reversed random interleaving | |
CN115315908A (en) | Method, system and apparatus for segmented Polarization Adjusted Convolutional (PAC) codes | |
KR100899732B1 (en) | Space-efficient turbo decoder | |
JP2010016861A (en) | Memory architecture for map decoder | |
US7573962B1 (en) | Diversity code combining scheme for turbo coded systems | |
JP2004533175A (en) | Method and apparatus for complementary encoder / decoder | |
US7873897B2 (en) | Devices and methods for bit-level coding and decoding of turbo codes | |
CN114826284A (en) | Iterative decoding method based on extended Turbo code and continuous phase modulation | |
Imran | Software implementation and performance of UMTS turbo code | |
CN101753261B (en) | Coder, decoder and coding and decoding methods | |
GB2400776A (en) | method of using an algebraic interleaver for turbo encoding/decoding | |
RU2301492C2 (en) | Method and device for transmitting voice information in digital radio communication system | |
CN108880569B (en) | Rate compatible coding method based on feedback grouping Markov superposition coding | |
JP2005130199A (en) | Communication terminal device and communication method | |
US20060048035A1 (en) | Method and apparatus for detecting a packet error in a wireless communications system with minimum overhead using embedded error detection capability of turbo code | |
Malenko | Implementation of Reed-Solomon RS (255,239) Code | |
KR102334420B1 (en) | Method for encoding and decodong using distributed crc-polar codes and apparatus for performing the same | |
KR20070112326A (en) | High code rate turbo coding method for the high speed data transmission and therefore apparatus | |
Kim et al. | Performance analysis of UWB systems with non-binary turbo code in multi-user environments | |
KR100407328B1 (en) | Channel coder of mobile communication system and encoding method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WAP | Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1) |