1. Field of the Invention
The present invention relates to generally to data transmission and reception in communication systems, and, more particularly, to rate matching and interleaving blocks of data in an LTE transport channel.
2. Description of the Related Art
Rate matching by interleaving is a commonly employed technique in telecommunication systems. Interleaving generally comprises receiving a block of data having a given block length, and rearranging the order of data values in the block. Interleaving may be employed, for example, to remove non-random sequences of values in a data stream, or may be employed to reduce effects of burst errors inserted into the block of data as the block of data passes through a transmission medium.
For example, interleaving is an important subprocess within rate matching in the Third Generation Partnership Project Long Term Evolution (“3GPP LTE”) transport channel. 3GPP LTE is a collaboration between telecommunications corporations and associations, to create a globally applicable third generation (“3G”) mobile phone system specification. The 3GPP LTE specification employs rate matching to support the Quality of Service (“QoS”) requirements of multiple transport channels.
Each of the interleaved sub-blocks Vsys 140, Vp1142 and Vp2144 is provided to Bit Collector 110. Bit Collector 110 provides collected bits block (“Wk”) 150 by first inserting bits of Vsys sub-block 140, and then interleaving bits of Vp1142 and bits of Vp2144. Bits of Vp1142 and bits of Vp2144 are interleaved such that the first bit is collected from Vp1142, the second bit is collected from Vp2144, and so on, until all the bits have been interleaved into block Wk 150.
Block Wk 150 is provided to Bit Selector 112. Bit Selector 112 selects the physical bits to be transmitted (“Ek”) 160. Bit Selector 112 is necessary because the number of valid bits in block Wk 150 may exceed the number of bits available in the physical layer of the transport channel and because block Wk 150 includes dummy bits. For example, to support the maximum data rate of the 3GPP LTE specification, as many as 60% of the valid bits are not selected for the physical layer. Thus, at the maximum data rate, only 40% of valid bits are selected and transmitted, but 100% of the valid bits have been interleaved by the sub-block interleavers 104, 106 and 108 and collected by Bit Collector 110.
Bit Selector 112 sequentially reads bits from block Wk 150 until the number of selected bits is equal to the number of bits available in the physical layer. The bits in block Wk 150 include dummy bits, and as bits are sequentially read in, each bit must be checked to determine whether it is a valid bit or a dummy bit, as only valid bits need be selected and transmitted. Dummy bits are not selected to be transmitted and are pruned. Valid hits are provided as Ek 160 and are provided to the physical layer.
At step 210 a bit from the collected bit is read and an index pointer is incremented to point to the next bit. Thus, at step 212, a test determines on a bit-by-bit basis whether each collected bit is a valid bit or a dummy bit. If the test of step 212 determines the bit is not a valid bit (i.e. a dummy bit), the dummy bits are not selected and the next bit is read at step 210. If the test of step 212 determines the bit is a valid bit, the bit is sent to the physical layer at step 214. At step 216, a test determines if the maximum number of bits supported by the physical layer has been selected. If the test of step 216 determines the maximum number of bits has not been selected, then the next bit is read at step 210. If the test of step 216 determines the maximum number of bits available for the physical layer has been reached, any remaining valid bits are not selected and the process is ended at step 217. As indicated by dashed block 220, steps 210, 212, 214, 216 and 217 are collectively performed, for example, by Bit Selector 112 of
In an exemplary embodiment, the present invention provides for rate matching with an encoded sequence of data bits. The encoded sequence of data bits is divided into two or more sub-blocks, with each of the sub-blocks having at least one column of bits. Each column of bits includes a set of valid bits. A set of dummy bits is generated and is appended to each column of each sub-block. A starting point index for the set of valid bits within each sub-block is generated and the number of bits supported by the physical layer is determined. Only the valid bits of each sub-block are interleaved, based on each starting point index, until either i) there are no valid bits remaining, or ii) the number of interleaved bits reaches the number of bits supported by the physical layer. All dummy bits and any valid bits in excess of the number of bits supported by the physical layer are omitted.
Other aspects, features, and advantages of the present invention will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which like reference numerals identify similar or identical elements.
Embodiments of the present invention provide rate matching and interleaving for an LTE transport channel. The present invention requires fewer processor operations than prior art rate matching, as will be described below.
In one exemplary embodiment, indices 312, 314, and 316 may be determined for all of the columns of each sub-block at the same time, and, thus, might be an array of indices. Alternatively, indices 312, 314, and 316 may be determined as necessary on a column-by-column basis as each column of the respective sub-block is interleaved, as will be discussed in greater detail below. Moreover, indices 312, 314, and 316 may be determined prior to, during, or after insertion of the dummy bits. In an exemplary embodiment, each sub-block has 32 columns.
Within rate-matcher and interleaver 350, the columns of each sub-block, including dummy bits, are permuted according to the relationship defined in section 5.1.4.1.1 of the 3GPP TS, and the data in each sub-block, excluding dummy bits, is read out, column by column, according to a predefined permutation table. Dummy bits are omitted from the output bits by skipping to the starting locations indicated by starting indices 312, 314 and 316 for the valid bits for the current column of each respective sub-block. For example, the permutation relationship for the systematic and parity1 sub-blocks is predefined by the 3GPP TS as follows: <0, 16, 8, 24, 4, 20, 12, 28, 2, 18, 10, 26, 6, 22, 14, 30, 1, 17, 9, 25, 5, 21, 13, 29, 3, 19, 11, 27, 7, 23, 15, 31>, where the numbers correspond to the column number of the sub-block. Thus, for the systematic and parity1 sub-blocks, the first column to be read out is column 0, the second column to be read out is column 16, and so on. The permutation relationship for the parity2 sub-block is defined in the 3GPP TS by a formula, which after simplification becomes: parity2 permutation=(parity1 permutation+1) modulo(32). Thus, for the parity2 sub-block, the first column to be read out is column 1, the second column to be read out is column 17, and so on, with column 0 being the last column to be read out for the parity2 sub-block.
Thus, in one exemplary embodiment, index 312 is determined so as to point to the first valid bit in each column of the systematic sub-block Vsys 340, index 314 is determined so as to point to the first valid bit in each column of parity1 sub-block Vp1342 and index 316 is determined so as to point to the first valid bit in each column of parity2 sub-block Vp2344. In an alternative exemplary embodiment, indices 312, 314 and 316 are determined for the columns within each respective sub-block on a column-by-column basis before interleaving of each respective column begins.
Rate-matcher and interleaver 350 continues to read out valid interleaved output bits, Ek 160, as described above until the maximum number of bits available in the physical layer has been reached or until there are no more valid bits. If there a fewer valid bits than the maximum number of bits in the physical layer, previously read out valid bits will be duplicated until the maximum number of bits available in the physical layer is reached. Once the number of bits included in output bits Ek 160 is equal to the maximum number of bits available in the physical layer, any remaining valid bits are not interleaved, are not sent to the physical layer, and are discarded. Valid bits Ek 160 are thus rate-matched for the physical layer and are provided to the physical layer for transmission. Many processor cycles are saved by excluding dummy bits and non-selected bits from the rate-matching and interleaving process.
Rate-matcher and interleaver 350 continues to read out valid interleaved output bits, Ek 160 as described above until the maximum number of bits available in the physical layer has been reached at step 506. Because no dummy bits are included, all of the interleaved output bits are valid, and thus all of the interleaved output bits may be provided to the physical layer at step 508 until the maximum number of bits available in the physical layer is reached. Once the number of bits included in output bits Ek 160 is equal to the number of bits in the physical layer, any remaining valid bits are not interleaved and are not provided to the physical layer. Many processor cycles are saved by excluding dummy bits and non-selected bits from the rate-matching and interleaving process. As indicated by dashed block 522, steps 504, 506 and 508 collectively form rate-matching and interleaving process 520, which is performed by rate-matcher and interleaver 350 of
Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments. The same applies to the term “implementation.”
While the exemplary embodiments of the present invention have been described with respect to processes of circuits, including possible implementation as a single integrated circuit, a multi-chip module, a single card, or a multi-card circuit pack, the present invention is not so limited. As would be apparent to one skilled in the art, various functions of circuit elements may also be implemented as processing blocks in a software program. Such software may be employed in, for example, a digital signal processor, micro-controller, or general-purpose computer.
The present invention can be embodied in the form of methods and apparatuses for practicing those methods. The present invention can also be embodied in the form of program code embodied in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of program code, for example, whether stored in a storage medium, loaded into and/or executed by a machine, or transmitted over some transmission medium or carrier, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits. The present invention can also be embodied in the form of a bit stream or other sequence of signal values electrically or optically transmitted through a medium, stored magnetic-field variations in a magnetic recording medium, etc., generated using a method and/or an apparatus of the present invention.
Although the elements in the following method claims, if any, are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence.
As used herein in reference to an element and a standard, the term “compatible” means that the element communicates with other elements in a manner wholly or partially specified by the standard, and would be recognized by other elements as sufficiently capable of communicating with the other elements in the manner specified by the standard. The compatible element does not need to operate internally in a manner specified by the standard.
Also for purposes of this description, the terms “couple,” “coupling,” “coupled,” “connect,” “connecting,” or “connected” refer to any manner known in the art or later developed in which energy is allowed to be transferred between two or more elements, and the interposition of one or more additional elements is contemplated, although not required. Conversely, the terms “directly coupled,” “directly connected,” etc., imply the absence of such additional elements.