Method of interleaving/deinterleaving in a communication system

Information

  • Patent Application
  • 20030237030
  • Publication Number
    20030237030
  • Date Filed
    June 21, 2002
    22 years ago
  • Date Published
    December 25, 2003
    21 years ago
Abstract
A method of performing interleaving or deinterleaving in a communication system having at least one interleaver at the transmitter and at least one deinterleaver at the receiver. The method includes interleaving or deinterleaving the input bit sequence xn as follows: yn=xπn, n=0, . . . , N−1, using a bridge function between πn and n, n=0, . . . , N−1, based on a spline linear model. When the system includes a first and a second interleaving or deinterleaving, the method is performed for both. When the second interleaving or deinterleaving includes adding padding bits, the location in the interleaved or deinterleaved bit sequence of the padding bits is determined and interleaving or deinterleaving for the determined locations is skipped.
Description


BACKGROUND AND SUMMARY OF THE INVENTION

[0001] The present invention relates generally to communication systems of coded data and, more specifically, to an improvement in interleaving and deinterleaving of the data.


[0002] Although the present invention will be described with respect to 3rd generation wideband code division multiple access (3G WCDMA) system, the same method can be used for interleaving and/or deinterleaving in other systems. Also for sake of brevity, the method will be described for interleavers, but is also used with deinterleavers. General and specific references will also be made to the 3G WCDMA standard 3GPP TS 25.212: “Multiplexing and channel coding (FDD).”


[0003] In communication systems, most of the well-known codes have been developed to combat against the noise that is assumed to be statistically independent. Typical channel model causing this type of noise would be AWGN (Additive White Gaussian Noise) channel. However, there are some physical channels that show bursty error characteristics, such as mutipath fading channel, in which fading often causes the signal to fall below the noise level and, thus, results in the burst type of error. For reference, see J. Proakis, Digital Communications, McGraw-Hill, 2001.


[0004] The role of interleaving is to shuffle (or to randomize) the positions of errors introduced in channels and, thus, mitigate the effects of burst type noise.


[0005] There are two channel interleavers for 3G WCDMA, namely first and second interleavers. The first interleaver takes a role of inter-frame (in transport channel) interleaving and the second interleavers for intra-frame (in physical channel) interleaving.


[0006] The classical block interleaver writes input data along the rows of a temporary matrix, and read out along the columns of the matrix. The first and second interleavers designed for CDMA are basically a block interleaver with inter-column permutations.


[0007] The present invention is a method of performing interleaving or deinterleaving in a communication system having at least one interleaver at the transmitter and at least one deinterleaver at the receiver. The method includes interleaving or deinterleaving the input bit sequence xn as follows: yn=xπn, n=0, . . . , N−1, using a bridge function between πn and n, n=0, . . . , N−1, based on a spline linear model. The bridge function is
1πnrj=C×n-j×N+PC(j),


[0008] j=0,1, . . . , C−1, where PC(j) is the permutation pattern and rj denotes the sets of discrete time intervals. Thus, the interleaving or deinterleaving is
2ynrj=xC×n-j×N+PC(j),


[0009] When the system includes a first and a second interleaving or deinterleaving, the method is performed for both. When the second interleaving or deinterleaving includes adding padding bits, the location in the interleaved or deinterleaved bit sequence of the padding bits is determined and interleaving or deinterleaving for the determined locations is skipped. Wherein y has an index m, and x has an index n, the index m is not increased, and the index n is increased for determined locations of padding.


[0010] The method can be performed without forming a matrix of the bit sequence and in software.


[0011] These and other aspects of the present invention will become apparent from the following detailed description of the invention, when considered in conjunction with accompanying drawings.







BRIEF DESCRIPTION OF THE DRAWINGS

[0012]
FIG. 1 is a block diagram of the transport channel procedure of the 3G WCDMA system defined in 3GPP TS 25.212.


[0013]
FIG. 2 is a flow chart of a method of first/second interleaving incorporating the principles of the present invention.







DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] The 3G WCDMA transmitter is shown in FIG. 1. A cycle redundant check (CRC) processes the bit sequence a and produces the CRC attached bit sequence b. A transport block (TrBk) concatenation and code block segmentation is performed before channel coding and produces o. Channel coding block produces encoded bits c. Radio frame equalization produces sequence t. There is a first interleaver whose output d is processed by radio frame segmentation and rate matching producing sequences e and f, respectively. Next, transport channel (TrCH) multiplexing produces a sequence s, which is a coded composite transport channel (CCTrCH). Next, physical channel segmentation produces sequence u, which is transmitted through a second interleaver to produce sequence v. Finally, physical channel mapping is performed to produce physical channels PhCH.


[0015] The first interleaver operation as described in the CDMA standard 3GPP TS 25.212: “Multiplexing and channel coding (FDD)” is as follows:


[0016] The input bit sequence to the first interleaver is denoted by x0, x1, x2, . . . , xN−1, , where N is the number of bits.


[0017] Here, N is guaranteed to be an integer multiple of the number of radio frames in the time transmission intervals (TTI). The output bit sequence from the block interleaver is derived as follows:


[0018] (1)Select the number of columns C from Table 1 depending on the TTI. The columns are numbered 0, 1, . . . , C−1 from left to right.


[0019] (2)Determine the number of rows of the matrix, R defined as:




R=N/C.




[0020] The rows of the matrix are numbered 0, 1, . . . , R−1 from top to bottom.


[0021] (3)Write the input bit sequence into the R×C matrix row by row:
3&AutoLeftMatch;[x0x1x2xC-1xCxC+1xC+2x2×C-1x(R-1)×Cx(R-1)×C+1x(R-1)×C+2xR×C-1]


[0022] (4) Perform the inter-column permutation for the matrix based on the pattern <PC(j)>jε{0,1, . . . , C−1} shown in Table 1, where PC (j) is the original column position of the j-th permuted column. After permutation of the columns, the bits are denoted by
4{yn}n=0N-1:5&AutoLeftMatch;[y0yRy2×Ry(C-1)×Ry1yR+1y2×R+1y(C-1)×R+1yR-1y2×R-1y3×R-1yC×R-1]


[0023] (5) Read the output bit sequence y0, y1, y2, . . . , yC×R−1 of the block interleaver column by column from the inter-column permuted R×C matrix.
1TABLE 1Inter-column permutation patterns for 1st interleavingInter-column permutation patternsTTINumber of columns C<PC(0), PC(1), . . . , PC(C − 1)>10 ms1<0>20 ms2<0, 1>40 ms4<0, 2, 1, 3>80 ms8<0, 4, 2, 6, 1, 5, 3, 7>


[0024] The second interleaver is also a block interleaver, and its structure and interleaver operation are similar to the first interleaver, except that it uses a fixed number of columns for forming interleaver matrix and has to handle padding and pruning dummy bits. Those dummy bits are required if input bit size is not a multiple of the number of columns in the second interleaver.


[0025] The second interleaver operation as described in the CDMA standard 3GPP TS 25.212: “Multiplexing and channel coding (FDD)” is as follows:


[0026] Let the input bit sequence of size M to the second interleaver is denoted by
6{um}m=0M-1.


[0027] (1) Assign the number of columns of the interleaver matrix, C2, as C2=30.


[0028] (2) Determine the number of rows of the matrix, R2, by
7R2=MC2,


[0029] where ┌.┐ denotes the ceiling operation.


[0030] (3) Write the input bit sequence u0, u1, . . . , uM−1 into the R2×C2 matrix row-by-row starting with bit yo in column 0 of row 0:
8&AutoLeftMatch;[y0y1y2yC2-1yC2yC2+1yC2+2y2×C2-1y(R2-1)×C2y(R2-1)×C2+1y(R2-1)×C2+2yR2×C2-1]


[0031] where yk=uk for k=0,1, 2, . . . , M−1 and if R2×C2>M, the dummy bits are padded such that yk=0 or 1 for k=M, M+1, . . . , R2×C2−1. These dummy bits are pruned away from the output of the matrix after the inter-column permutation.


[0032] (4) Perform the inter-column permutation for the matrix based on the pattern <P2(j)>jε{0,1 , . . . , C2−1} that is shown in table 2, where P2(j) is the original column position of the j-th permuted column. After permutation of the columns, the bits are denoted by y′k.
9&AutoLeftMatch;&AutoLeftMatch;[y0y1y2yC2-1yC2yC2+1yC2+2y2×C2-1y(R2-1)×C2y(R2-1)×C2+1y(R2-1)×C2+2yR2×C2-1]


[0033] (5) The output of the block interleaver is the bit sequence read out column by column from the inter-column permuted R2×C2 matrix. The output is pruned by deleting dummy bits that were padded to the input of the matrix before the inter-column permutation, i.e. bits y′k that corresponds to bits yk with k>M are removed from the output.
2TABLE 2Inter-column permutation pattern for 2nd interleavingNumber of columnsInter-column permutation patternC2<P2(0), P2(1), . . . , P2(C2 − 1)>30<0, 20, 10, 5, 15, 25, 3, 13, 23, 8, 18, 28, 1, 11, 21,6, 16, 26, 4, 14, 24, 19, 9, 29, 12, 2, 7, 22, 27, 17>


[0034] The method, as illustrated in FIG. 2, begins with the bit sequence X at input 10. The first interleaving is performed using a spline linear model at 12. The interleaved bit sequence is Y. After other processing, a second interleaving may be performed. The bit sequence U has L bits added at 14. Next, there is a determination of the location of the padding bits in the second interleaved bit sequence at 16. Then, a second interleaving is performed using the spline linear model, except at the determined bit locations at 18. The resulting bit sequence V is outputted at 20. The specific process of performing the first and second interleaving is described in the following.


[0035] The method for the interleaving is performed in software and without forming an actual matrix of the bit sequence. It is uses a bridge function base on a spline linear model.


[0036] Let
10{πn}n=0N-1


[0037] denote the original input bit position of the n-th interleaved bit position. Then the interleaver operation can be described as yn=xπn, n=0, . . . , N−1 having a bridge function between πn and n, n=0, . . . , N−1, based on a spline linear model. The bridging function can be defined as
11πnrj=αrjn+βrj,


[0038] where n=0,1,2, . . . , N−1, and {rj: j=0,1,2, . . C−1} denote the sets of discrete time intervals,
12r0={0,1,2,,NC-1},r1={NC,NC+1,NC+2,,2NC-1},rC-1={(C-1)NC,(C-1)NC+1,(C-1)NC+2,,N-1}.(1)


[0039] For each rj, the parameters αrj and βrj are obtained as:


αrj=C, ∀j,


βrj=−j×N+PC(j).


[0040] That is, πn, regress over n by the following relation:
13πnrj=C×n-j×N+PC(j),j=0,1,,C-1.(2)


[0041] Now with the calculation of index in equation (2), the interleaving can be done by:
14ynrj=xC×n-j×N+PC(j),nrj.(3)


[0042] The second interleaver can be designed in the same way that the first interleaver is designed. However, since the dummy bit padding and pruning have to be considered, in addition to equation (3), another step is necessary. The location of the padding bits in the sequence needed to be identified and interleaving not performed at those locations.


[0043] Let Dd and d denote a set of dummy bit positions and the number of dummy bits, respectively. That is, Dd={R2×C2−1,R2×C2−2, . . . , R2×C2−d}, if 1≦d≦29.


[0044] Note that if M=R2×C2, then Dd becomes an empty set.


[0045] Let
15Ddshuffle


[0046] be modified Dd after column permutation in Table 2.


[0047] For the 3GPP second interleaver, the
16Ddshuffle


[0048] conditioned on d is given by,
17D0shuffle={empty},D1shuffle={R2×24-1},D2shuffle={R2×12-1,R2×24-1},D3shuffle={R2×12-1,R2×24-1,R2×29-1},D29shuffle={R2×2-1,R2×3-1,,R2×30-1}.(4)


[0049] Basically, the second interleaving can be done by equation (3), but because of dummy bits, another time index is required. One type of index, say m, is used for writing interleaved bits, and the other, say n, is for reading the input bits. Let U′ denote the zero padded input sequence to the 2nd interleaver.


[0050] If the dummy bit size is d, the proposed second interleaving procedure is as follows:


[0051] 1. Set the modified position vector,
18Ddshuffle={R2×k1-1,,R2×kd-1},


[0052] where k1=24, k2=12, k3=29 , . . . .


[0053] 2. If
19nDdshuffle,


[0054] interleave vm by
20vmrj=uC2×n-j×C2×R2+PC2(j),210m<M,0n(C2×R2),andr0={0,1,2,,R2-1},r1={R2,R2+1,R2+2,,2×R2-1},rC2-1={(C2-1)×R2,(C2-1)×R2+1,,C2×R2-1}.(5)


[0055] 3. If
22nDdshuffle,


[0056] skip interleaving and do not increase the interleaved array index m while increase n.


[0057] Although the present invention has been described and illustrated in detail, it is to be clearly understood that this is done by way of illustration and example only and is not to be taken by way of limitation. The first interleaver has an input sequence x and an output sequence y, and the second interleaver has an input sequence u and an output sequence v. With respect to the claims, both interleavers will use the same x,y notation. The spirit and scope of the present invention are to be limited only by the terms of the appended claims.


Claims
  • 1. A method of performing interleaving or deinterleaving in a communication system having at least one interleaver at the transmitter and at least one deinterleaver at the receiver, the method comprising: interleaving or deinterleaving the input bit sequence Xn as follows: yn=xπn, n=0, . . . , N−1, using a bridge function between πn and n, n=0, . . . , N−1, based on a spline linear model.
  • 2. The method of claim 1, wherein the bridge function is
  • 3. The method of claim 1, wherein the system includes a first and a second interleaving or deinterleaving and the method is performed for both.
  • 4. The method of claim 3, wherein the second interleaving or deinterleaving includes: adding padding bits; determining the location in an interleaved or deinterleaved bit sequence of the padding bits; and skip interleaving or deinterleaving for the determined locations.
  • 5. The method of claim 4, wherein y has an index m, and x has an index n; and the index m is not increased, and the index n is increased for determined locations of padding.
  • 6. The method of claim 1, wherein the interleaving or deinterleaving includes: adding padding bits; determining the location in an interleaved or deinterleaved bit sequence of the padding bits; and skip interleaving or deinterleaving for the determined locations.
  • 7. The method of claim 6, wherein y has an index m, and x has an index n; and the index m is not increased, and the index n is increased for determined locations of padding.
  • 8. The method of claim 1, wherein the method is performed without forming a matrix of the bit sequence.
  • 9. The method of claim 1, wherein the method is performed in software.