Interleaving of data symbols comprises permuting rows and columns of a
matrix of N.sub.r rows and N.sub.c columns, in which data symbols to be
interleaved are represented row by row, in accordance with:
Row Permutation I.sub.r (k) = [.alpha..sub.r k + f.sub.c
(l)]modN.sub.r
Column Permutation I.sub.c (l) = [.alpha..sub.c l + f.sub.r
(k)]modN.sub.c
where I.sub.r (k) represents a data symbol with a row index k, k is an
integer from 1 to N.sub.r, .alpha..sub.r is an integer, f.sub.c (l) is a
non-zero function of a column index l, l is an integer from l to N.sub.c,
I.sub.c (l) represents a data symbol with the column index 1,
.alpha..sub.c is an integer, f.sub.r (k) is zero or a function of the row
index k, and modN.sub.r and modN.sub.c represent modulo-N.sub.r and
modulo-N.sub.c arithmetic respectively, interleaved data symbols being
derived from the matrix column by column. A data interleaver comprises a
memory for sequentially storing data symbols to be interleaved and a
relatively simple circuit for determining read addresses for the
interleaved data symbols. the data interleaver is particularly suited for
channel interleaving in a 3rd generation CDMA wireless communications
system.
|
|
|