throbber
(12) United States Patent
`Tong et al.
`
`USOO6732316B1
`(10) Patent No.:
`US 6,732,316 B1
`(45) Date of Patent:
`May 4, 2004
`
`(54) DATA INTERLEAVER AND METHOD OF
`INTERLEAVING DATA
`
`(75) Inventors: Wen Tong, Ottawa (CA); Catherine
`Leretaille, Paris (FR)
`(73) Assignee: Nortel Networks Limited, St. Laurent
`(CA)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(*) Notice:
`
`(21) Appl. No.: 09/531,470
`(22) Filed:
`Mar 20, 2000
`(30)
`Foreign Application Priority Data
`Mar. 19, 1999
`(CA) ............................................. 2266283
`(51) Int. Cl. ............................................... H03M 13700
`(52) U.S. Cl. ........................................ 714/756; 714/701
`(58) Field of Search ................................. 714/756, 755,
`714/701, 702
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`9/2001 Lee et al. ................... 714/788
`6,289,486 B1
`6,304,991 B1 * 10/2001 Rowitch et al.
`... 714/755
`6,334,197 B1 12/2001 Eroz et al. ....................... 12/1
`6,442,728 B1
`8/2002 Cui et al. .......................... 8/2
`6.543,013 B1 * 4/2003 Li et al. .......
`... 714/701
`6,553,516 B1
`4/2003 Suda et al. ................. 714/702
`
`6,637,000 B2 * 10/2003 Rowitch et al. ............ 714/755
`* cited by examiner
`Primary Examiner Phung M. Chung
`(74) Attorney, Agent, or Firm Mintz, Levin, Cohn, Ferris,
`Glovsky and Popeo, P.C.
`(57)
`ABSTRACT
`Interleaving of data Symbols comprises permuting rows and
`columns of a matrix of N, rows and N. columns, in which
`data Symbols to be interleaved are represented row by row,
`in accordance with:
`
`Row Permutation
`Column Permutation
`
`I (k)
`(T)
`Ic
`
`ICl + f (k) modN.
`
`where I(k) represents a data Symbol with a row index k, k
`is an integer from 1 to NO, is an integer, f(1) is a non-zero
`function of a column index 1, 1 is an integer from 1 to N, I (1)
`represents a data Symbol with the column index 1, C is an
`integer, f(k) is Zero or a function of the row index k, and
`modn, and modn represent modulo-N, and modulo-N
`arithmetic respectively, interleaved data Symbols being
`derived from the matrix column by column. A data inter
`leaver 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 inter
`leaving in a 3rd generation CDMA wireleSS communications
`System.
`
`37 Claims, 2 Drawing Sheets
`
`LINEAR
`ADDRESSED
`WRE-N
`
`
`
`
`
`
`
`COLUMN
`COUNTER
`
`ROW
`COUNER
`
`CLK
`
`

`

`U.S. Patent
`
`May 4, 2004
`
`Sheet 1 of 2
`
`US 6,732,316 B1
`
`14
`
`18
`
`2O
`
`22
`
`24
`
`26
`
`28
`
`3O
`
`32
`
`TRANSPORT CHANNEL
`MULTIPLEXER
`
`SEGMENTATION
`
`12
`
`22
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`MULTIPLEXER
`
`RATE MATCHING
`
`
`
`FIRST (INTER-FRAME OR
`CHANNEL) INTERLEAVER
`
`RADIO FRAME
`SEGMENTATION
`
`PHYSICAL CHANNEL
`SEGMENTATION
`
`T.
`
`OTHER
`SERVICES
`
`10
`
`34
`
`36
`
`Fig. 1
`PRIOR ART
`
`SERVICE MULTIPLEXER
`
`SECOND (NTRA-FRAME)
`NTERLEAVER
`
`SEGMENTATION & MAPPNG .
`
`

`

`U.S. Patent
`
`May 4, 2004
`
`Sheet 2 of 2
`
`US 6,732,316 B1
`
`LINEAR
`ADDRESSED
`WRITE-IN
`
`NTERLEAVED DATA
`
`40
`
`68
`
`CLK
`
`OUTPUT
`
`WORKING
`MEMORY
`
`
`
`a-Herra
`
`62
`
`READ ADDRESS
`COMBINER
`
`44
`
`COLUMN
`COUNTER
`
`ROW
`COUNTER
`
`CLK
`
`Fig. 2
`
`

`

`1
`DATA INTERLEAVER AND METHOD OF
`INTERLEAVING DATA
`
`US 6,732,316 B1
`
`2
`arithmetic respectively, interleaved data Symbols being
`derived from the matrix column by column.
`Preferably f(1)=ml where m is an integer; for example m
`is 1 or is approximately equal to N/N. If f(k) is not Zero,
`then preferably f(k)=nk where n is an integer, for example
`n=1. Conveniently C, is the largest prime number less than
`N/2, and C is the largest prime number less than N/2.
`The actual number of data symbols to be interleaved need
`not be exactly equal to N,N- but can be a little less than this,
`in which case preferably the method further comprises the
`Step of determining one or more matrix positions in which
`data Symbols to be interleaved are not represented, inter
`leaved data Symbols not being derived from Such determined
`matrix positions.
`The invention also provides a data symbol interleaver
`arranged for carrying out a method as recited above.
`Another aspect of the invention provides a data inter
`leaver comprising: a memory arranged to Sequentially Store
`up to NN data symbols to be interleaved at respective
`addresses, where N and N are integers greater than 1; a
`counter arranged to provide an index 1 from 1 to Nc, and a
`counter arranged to provide an indeX from 1 to Nr for each
`value of the indeX 1; a circuit arranged to determine a first
`value (Cl--nkmodN and a second value Clk+mlmodN,
`where C, C, and m are positive integers and n is a positive
`integer or Zero, and modn, and modN represent modulo-N,
`and modulo-N arithmetic respectively; and an address com
`biner arranged to combine the first value as a more signifi
`cant part and the Second value as a leSS Significant part of a
`read address for reading interleaved data Symbols from the
`memory.
`The data interleaver can further comprise an address
`decoder responsive to at least one read address produced by
`the address combiner at which a data symbol to be inter
`leaved is not stored in the memory for inhibiting reading
`from the memory from Such address. In this case conve
`niently the data interleaver further includes a first-in, first
`out buffer arranged to buffer interleaved data symbols read
`from the memory.
`The invention further provides a channel interleaver for a
`communications System including a data rate matching
`circuit which performs puncturing of data Symbols, com
`prising a data interleaver as recited above.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The invention will be further understood from the fol
`lowing description with reference to the accompanying
`drawings, in which:
`FIG. 1 illustrates a known arrangement for Service mul
`tiplexing and channel interleaving in a 3rd generation
`CDMA communications system; and
`FIG. 2 illustrates an implementation of an interleaver in
`accordance with an embodiment of this invention.
`
`DETAILED DESCRIPTION
`Referring to FIG. 1, there is illustrated a known arrange
`ment for Service multiplexing and channel interleaving in a
`3rd generation CDMA radio communications system. The
`arrangement includes a Service multiplexer 10 which Serves
`to multipleX together a plurality of data Signal Streams,
`referred to as main stream services or QoS (Quality of
`Service) channels, which are Supplied via respective service
`blocks 12 only one of which is illustrated. Each service
`block 12 is supplied at inputs 14 with a plurality of con
`Stituent input signals, which may for example comprise any
`of various types of Signals. Such as voice, data, and multi
`
`5
`
`15
`
`This invention relates to data interleavers and to methods
`of interleaving data Symbols, and is particularly concerned
`with a So-called channel interleaver for interleaving data
`Symbols in a communications System.
`BACKGROUND
`It is well known to perform interleaving of data in a
`communications System using forward error correction
`(FEC) in order, on deinterleaving, to distribute errors to
`facilitate their correction. Typically, Such interleaving uses a
`block interleaver to interleave blocks of data. So-called
`turbo coding (parallel concatenated convolutional coding)
`uses an interleaver between inputs to two convolutional
`coders which produce respective parity bits from the input
`data before and after interleaving. With increasing attention
`being given to the use of turbo coding, particularly in
`wireleSS communications Systems, attention has also been
`given to the form of the interleaver.
`So-called 3rd generation CDMA (code division multiple
`access) wireless communications Systems are also being
`developed which require a channel or inter-frame interleaver
`which operates to interleave or permute data in blockS
`corresponding to the radio frame duration, typically 10 ms.
`For example, a multi-stage block interleaver (MIL) has been
`proposed for channel (inter-frame) interleaving and for
`intra-frame interleaving.
`However, in Such Systems the channel interleaver either
`precedes or follows a rate matching function which Serves to
`match various data rates to the radio frame rate, and which
`typically involves puncturing (omission) of data Symbols. It
`is necessary to avoid consecutive puncture of adjacent data
`symbols of coded blocks of data symbols, but the multi
`Stage interleaver Suffers from a problem in this respect. A
`So-called potential punturing grid (PPG) concept has been
`proposed to correct this problem, but the choice of an
`appropriate PPG depends on variables such as the frame
`size, number of frames, puncturing rate, and puncturing
`position.
`Accordingly, it would be desirable to provide an inter
`leaver which maximizes the distances by which adjacent
`punctured data Symbols are separated, for arbitrary punc
`turing rates and puncturing positions, without any PPG.
`An object of this invention is to provide an improved data
`interleaver and method of interleaving data Symbols.
`SUMMARY OF THE INVENTION
`According to one aspect, this invention provides a method
`of interleaving data Symbols comprising permuting rows and
`columns of a matrix of N, rows and N. columns, in which
`data Symbols to be interleaved are represented row by row,
`in accordance with:
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`Row Permutation
`Column Permutation
`
`I (k)
`(T)
`Ic
`
`ICl + f (k) modN.
`
`where I(k) represents a data Symbol with a row index k, k
`is an integer from 1 to N, O, is an integer, f(1) is a non-zero
`function of a column index 1, 1 is an integer from 1 to N, (1)
`represents a data Symbol with the column indeX l, C is an
`integer, f(k) is Zero or a function of the row index k, and
`modn, and modn represent modulo-N, and modulo-N
`
`60
`
`65
`
`

`

`US 6,732,316 B1
`
`3
`media Signals. These input signals may have arbitrary trans
`mission rates, frame sizes, and other parameters. The input
`Signals have CRC (cyclic redundancy check) codes added in
`blocks 16 and are multiplexed together in a transport chan
`nel multiplexer 18. The multiplexed signals are Segmented,
`for encoding, in a Segmentation block 20, and the Segmented
`Signals are Subjected to FEC (forward error correction)
`coding in FEC blocks 22. The encoded signals are multi
`plexed in a multiplexer 24 and Subjected to rate matching
`(puncturing (deletion) of redundant symbols or repetition
`(stuffing) of additional symbols) in a block 26 to match the
`data rate to the radio communications rate (or So-called air
`rate) with frames of 10 ms duration. Primarily in order to
`Separate adjacent Symbols to reduce the adverse effects of
`errors due to fading in the radio channel, the data Symbols
`are interleaved in a first interleaver 28, which is referred to
`as a channel or inter-frame interleaver because it operates to
`permute blocks each of 10 ms of data symbols. Although in
`FIG. 1 the interleaver 28 is shown following the rate
`matching block 26, the positions of these functions may be
`interchanged. For example, these functions may be in the
`order shown in FIG. 1 for downlink transmission of signals
`from a central Station, and may be in the reversed order for
`uplink transmission of Signals to the central Station.
`Following the functions 26 and 28, the resulting rate
`matched and interleaved Signals are Segmented for radio
`frames and physical channels in Segmentation blockS 30 and
`32 respectively to produce the Signals for multiplexing by
`the multiplexer 10. Signals output by the multiplexer 10 are
`interleaved by a second interleaver 34 the outputs of which
`are Segmented and mapped to dedicated physical channels in
`a Segmentation and mapping block 36 for communications
`via a CDMA radio communications path in known manner.
`The present invention is directed to implementations of
`the first interleaver 28, and is particularly concerned with
`providing an implementation of the first interleaver 28 with
`a performance that is Sufficiently good to enable the Second
`interleaver 34 to be omitted or reduced to a simple shuffling
`operation. This is desirable in particular because the Second
`interleaver 34 has the potential to degrade the interleaving
`performed by each first interleaver 28, whereas each first
`interleaver 28 can be optimized for its particular rate
`matched data Stream and QoS. Alternatively, the Second
`interleaver 34 can also be implemented as an interleaver in
`accordance-with an embodiment of this invention, the
`parameters of both interleavers being chosen to provide an
`optimized performance of the Overall arrangement.
`Accordingly, the first interleaver 28 is implemented as an
`algebraic interleaver providing a good random Spreading
`property which facilitates Straightforward rate matching by
`puncturing and Symbol repetition. Accordingly, the multiple
`encoded Symbol blocks for each QoS channel are mapped
`into a 2-dimensional matrix and are Subjected to linear
`congruential rules to permute the rows and columns of the
`matrix to implement the interleaving function. A maximum
`interleaving depth and time span can be determined by
`Searching a set of best parameters. The interleaver conse
`quently has a relatively simple form without disadvantages
`of known interleavers, Such as requiring large memory sizes
`for look-up tables or inadequately accommodating the rate
`matching function.
`Although the following description refers to rows and
`columns of a matrix, it should be understood that this is for
`convenience and clarity, that the rows and columns can be
`interchanged without changing the function of the
`interleaver, and that in practice and as described below the
`interleaver can operate by equivalent control of read or write
`
`4
`addressing of memory locations of a linear memory in which
`data Symbols are Stored, without any actual movement of the
`Stored data Symbols among the memory locations.
`An interleaver in accordance with embodiments of this
`invention operates to implement the following Steps:
`1. Represent a number N of encoded blocks of data symbols
`each of length N data Symbols as a matrix of N. rows and
`N. columns.
`2. Permute the rows and columns of the matrix in accor
`dance with:
`
`Row Permutation
`Column Permutation
`
`I (k)
`I (T)
`
`IC, k + f (?) modN,
`ICl + f (k) modN.
`
`where I(k) represents a data symbol with a row index k,
`k is an integer from 1 to N, O, is a row permutation
`parameter and is an integer, f(1) is a positive function
`of a column index 1, 1 is an integer from 1 to N, I (1)
`represents a data Symbol with the column indeX l, C is
`a column permutation parameter and is an integer, f(k)
`is a positive function of the row indeX k, and modn, and
`modn represent modulo-N and modulo-N arithmetic
`respectively.
`3. Derive interleaved data symbols from the matrix column
`by column.
`In the row permutation of step 2, f(1) #0 to avoid punc
`turing of consecutive data Symbols due to the rate matching.
`For example, the function f(1)=ml where m is a constant
`integer, for example m=1 So that f(1)=l. The column per
`mutation of Step 2 can use bit reversal as is known in the art,
`or the function f(k) can be zero. Alternatively, for example,
`the function f(k)=nk where n is a constant integer, for
`example n=1 So that f(k)=k. It can be appreciated that the
`order in which the row and column permutations of Step 2
`are performed is arbitrary, i.e. either the row permutation or
`the column permutation can be performed first, or both
`permutations can be performed contemporaneously.
`In a first embodiment of the invention described below,
`for example the parameter C, is chosen to be the largest
`prime number less than LN/2, the parameter C is chosen
`to be the largest prime number less than LN/2, m=LN./NJ,
`and n=0. The symbols
`refer to rounding down to an
`integer.
`In this example, N=8, N=10, CL=3, C=3,m=1, and n=0.
`Thus, in step 1, 80 data symbols, identified by the numbers
`1 to 80 in the following tables, in eight 10 ms coded blocks
`each of 10 coded symbols, are represented row by row in a
`10 by 8 matrix with the row index k and the column index
`l, as shown by Table 1:
`
`TABLE 1.
`
`1.
`
`k
`
`1.
`
`2
`
`3
`
`1.
`2
`3
`4
`5
`6
`7
`8
`9
`10
`
`1.
`9
`17
`25
`33
`41
`49
`57
`65
`73
`
`2
`10
`18
`26
`34
`42
`50
`58
`66
`74
`
`3
`11
`19
`27
`35
`43
`51
`59
`67
`75
`
`4
`
`4
`12
`2O
`28
`36
`44
`52
`60
`68
`76
`
`5
`
`5
`13
`21
`29
`37
`45
`53
`61
`69
`77
`
`6
`
`7
`
`8
`
`6
`14
`22
`30
`38
`46
`54
`62
`7O
`78
`
`7
`15
`23
`31.
`39
`47
`55
`63
`71
`79
`
`8
`16
`24
`32
`40
`48
`56
`64
`72
`8O
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`

`

`S
`The row permutation I,(k)=3k+lmod 10 produces a
`result as shown by the following Table 2:
`
`6
`The row permutation I,(k)=3k+lmod10 then produces a
`result as shown by the following Table 5:
`
`US 6,732,316 B1
`
`TABLE 2
`
`1.
`
`TABLE 5
`
`1.
`
`k
`
`1.
`
`25
`49
`73
`17
`41
`65
`9
`33
`57
`1
`
`2
`
`34
`58
`2
`26
`50
`74
`18
`42
`66
`10
`
`3
`
`43
`67
`11
`35
`59
`3
`27
`51
`75
`19
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`1O
`
`4
`
`52
`76
`2O
`44
`68
`12
`36
`60
`4
`28
`
`5
`
`61
`5
`29
`53
`77
`21
`45
`69
`13
`37
`
`6
`
`7O
`14
`38
`62
`6
`3O
`54
`78
`22
`46
`
`7
`
`79
`23
`47
`71
`1S
`39
`63
`7
`31
`55
`
`8
`
`8
`32
`56
`8O
`24
`48
`72
`16
`40
`64
`
`The column permutation I(l)=31)mod8 then produces a
`result as shown by the following Table 3:
`
`TABLE 3
`
`1.
`
`k
`
`1.
`
`43
`67
`11
`35
`59
`3
`27
`S1
`75
`19
`
`2
`
`0
`14
`38
`62
`6
`3O
`54
`78
`22
`46
`
`3
`
`25
`49
`73
`17
`41
`65
`9
`33
`57
`1.
`
`1
`2
`3
`4
`5
`6
`7
`8
`9
`10
`
`4
`
`52
`76
`2O
`44
`68
`12
`36
`60
`4
`28
`
`5
`
`79
`23
`47
`71
`15
`39
`63
`7
`31
`55
`
`6
`
`34
`S8
`2
`26
`50
`74
`18
`42
`66
`10
`
`7
`
`61
`5
`29
`S3
`77
`21
`45
`69
`13
`37
`
`8
`
`8
`32
`56
`8O
`24
`48
`72
`16
`40
`64
`
`In Step 3, the data Symbols are derived column by column
`from Table 3, i.e., with the interleaved order 43, 67, ...,
`19, 70, 14, . . . , 40, 64.
`In a second embodiment of the invention, with Nis8 as
`is typically the case for an arrangement as described above
`with reference to FIG. 1, the parameter C is chosen to be 1
`if Ns3 and is chosen to be 3 if N is from 4 to 8, the
`parameter C, is chosen as above to be the largest prime
`number less than LN/2, the parameter m=N/8, and n=1.
`Thus with N=8 and N=10 as in Table 1 above, C=3, C=3,
`and m=1.
`The column permutation I (1)=31 +kmod8 produces
`from Table 1 a result as shown by the following Table 4:
`
`TABLE 4
`
`1.
`
`k
`
`1.
`
`2
`
`3
`
`4
`13
`22
`31
`40
`41
`50
`59
`68
`77
`
`7
`16
`17
`26
`35
`44
`53
`62
`71
`80.
`
`2
`11
`20
`29
`38
`47
`56
`57
`66
`75
`
`1.
`2
`3
`4
`S
`6
`7
`8
`9
`10
`
`4
`
`5
`14
`23
`32
`33
`42
`51
`60
`69
`78
`
`5
`
`8
`9
`18
`27
`36
`45
`54
`63
`72
`73
`
`6
`
`3
`12
`21
`30
`39
`48
`49
`58
`67
`76
`
`7
`
`6
`15
`24
`25
`34
`43
`52
`61
`7O
`79
`
`8
`
`1.
`10
`19
`28
`37
`46
`55
`64
`65
`74
`
`k
`
`1.
`
`31
`50
`77
`22
`41
`68
`13
`40
`59
`4
`
`2
`
`35
`62
`7
`26
`53
`8O
`17
`44
`71
`16
`
`3
`
`47
`66
`11
`38
`57
`2
`29
`56
`75
`2O
`
`1.
`2
`3
`4
`5
`6
`7
`8
`9
`1O
`
`4
`
`51
`78
`23
`42
`69
`14
`33
`60
`5
`32
`
`5
`
`63
`8
`27
`54
`73
`18
`45
`72
`9
`36
`
`6
`
`67
`12
`39
`58
`3
`3O
`49
`76
`21
`48
`
`7
`
`79
`24
`43
`70
`15
`34
`61
`6
`25
`52
`
`8
`
`1.
`28
`55
`74
`19
`46
`65
`1O
`37
`64
`
`In Step 3, the data Symbols are derived column by column
`from Table 5, i.e., with the interleaved order 31, 50, ...,
`4, 35, 62,..., 37, 64).
`Numerous other combinations of the parameters C, C,
`m, and n can be chosen to result in different interleaved
`results, for example the parameters C. and C, may have
`larger values Such as 5, 7, etc. and may be different from one
`another.
`FIG. 2 illustrates an implementation of an interleaver 28
`in accordance with an embodiment of this invention. AS
`illustrated in FIG. 2, the interleaver includes a working
`memory 40 with two halves, alternately used in known
`manner for writing into and reading from the memory, each
`for storing the NN data symbols represented in the matrix
`as described above, these data Symbols being written into the
`memory linearly corresponding to the row-by-row organi
`zation of the matrix illustrated by Table 1 above. A modulo
`N. row counter 42 is responsive to a clock signal CLK to
`provide a count representing the row index k, and a carry
`output of this counter 42 is Supplied to a modulo-N column
`counter 44 to provide a count representing the column index
`1. The count of the column counter 44 is supplied to
`multipliers 46 and 48 which are also supplied with the
`parameters C and m respectively to produce products
`representing Cl and ml respectively, and the count of the
`row counter 42 is supplied to multipliers 50 and 52 which
`are also Supplied with the parameters n and C, respectively
`to produce products representing nk and Clk respectively.
`An adder 54 adds the outputs of the multipliers 46 and 50,
`and an adder 56 adds the outputs of the multipliers 48 and
`52. The outputs of the adders 54 and 56 are reduced to
`modulo-N and modulo-N forms respectively by modulo
`functions 58 and 60 respectively, each of which can com
`prise comparison and Subtraction functions. Outputs of the
`functions 58 and 60 are combined in a combiner 62 to
`produce an address for reading the respective data Symbol in
`its interleaved sequence from the memory 40. As illustrated
`in FIG. 2, the read address is supplied to the memory 40 via
`a Switch 64 which is provided as described below.
`If the number of rows N is a power of two, then the
`combiner 62 can Simply combine the output of the function
`60 as the least significant bits, and the output of the function
`58 as the most significant bits, of the read address for the
`memory 40; equivalently the output of the function 60 is
`added by the combiner 62 to N times the output of the
`function 58. It can be appreciated that if m=1 then the
`multiplier 48 is not required, if n=1 then the multiplier 50 is
`not required, and if n=0 then neither the multiplier 50 nor the
`adder 54 is required. Accordingly, the implementation of the
`interleaver can be even simpler than that illustrated in FIG.
`2.
`
`1O
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`

`

`7
`It may be desired to interleave data symbols in arbitrary
`sized frames that are not an integer multiple of N. In this
`case, the number of rows of the matrix is Selected to
`accommodate all of the data symbols of the frame to be
`interleaved, and the last few (less than N) memory locations
`in the working memory 40 are not written into. In order to
`omit the data symbols of these memory locations from the
`interleaved data symbols, the interleaver of FIG. 2 also
`includes a decoder 66 which detects these memory locations
`in the read address output of the combiner 62, and upon Such
`detection opens the Switch 64 to prevent reading of data
`from the memory 40 in respect of these locations. In order
`to provide a constant data output rate within each frame of
`interleaved data symbols read out from the memory 40, the
`interleaver of FIG. 2 further includes a FIFO (first-in,
`first-out) memory 68 via which the interleaved data symbols
`are supplied to an output of the interleaver, the FIFO 68
`being pre-filled at the Start of each interleaved data Symbol
`frame and having a size (e.g. up to N.) Sufficient to allow for
`the non-read, and hence omitted, memory locations.
`AS can be appreciated from the above description, the
`interleaver has a relatively simple Structure So that it can be
`easily implemented, it does not require Significant memory
`other than the working memory 40, it can easily operate in
`real time, and it can accommodate arbitrary data frame sizes.
`In addition, a corresponding deinterleaver can have Substan
`tially the same Structure, So that it is also conveniently and
`easily implemented.
`Although particular embodiments and examples of the
`invention have been described above, it can be appreciated
`that numerous modifications., variations, and adaptations
`may be made without departing from the Scope of the
`invention as defined in the claims.
`What is claimed is:
`1. A method of interleaving data Symbols comprising the
`Steps of:
`Storing data Symbols to be interleaved in a memory
`having Storage locations representing rows and col
`umns of a matrix of N, rows and N columns, the data
`symbols to be interleaved being represented row by
`row in Said matrix;
`reading the Stored data Symbols from the Storage locations
`of the memory in an interleaved manner as interleaved
`data symbols by deriving the interleaved data symbols
`column by column of a permutation of the matrix So
`that the interleaved data Symbols are arranged in accor
`dance with:
`
`Row Permutation
`Column Permutation
`
`I (k) = C, k + f (?) modN,
`I (T) = Clel + f (k) modN.
`
`where 1,0k) represents a data Symbol with a row index k, k
`is an integer from 1 to N, O, is an integer, f(1) is a non-zero
`function of a column index I, I is an integer from 1 to N,
`55
`I(I) represents a data symbol with the column index I, C, is
`an integer, f(k) is Zero or a function of the row index k, and
`modN, and modN represent modulo-N, and module N.
`arithmetic respectively.
`2. A method as claimed in claim 1 wherein f(1)=ml where
`m is an integer.
`3. A method as claimed in claim 2 wherein f(k)=nk where
`n is an integer.
`4. A method as claimed in claim 3 wherein n=1.
`5. A method as claimed in claim 2 wherein m=1.
`6. A method as claimed in claim 2 wherein m is approxi
`mately equal to N,N.
`
`65
`
`60
`
`US 6,732,316 B1
`
`1O
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`8
`7. A method as claimed in claim 1 wherein f(k) is zero.
`8. A method as claimed in claim 1 wherein C, is the largest
`prime number less than N/2.
`9. A method as claimed in claim 1 wherein C is the largest
`prime number less than N/2.
`10. A method as claimed in claim 1 wherein a number of
`data symbols to be interleaved is less than NN, the method
`further comprising the Step of determining one or more
`matrix positions in which data Symbols to be interleaved are
`not represented, interleaved data Symbols not being derived
`from Such determined matrix positions.
`11. A data Symbol interleaver arranged for carrying out a
`method as claimed in claim 1.
`12. A method of claim 1, further comprising puncturing
`the data Symbols to be interleaved, Separating adjacent ones
`of the punctured data Symbols in accordance with the
`interleaving.
`13. An apparatus of interleaving data Symbols, compris
`ing:
`a means for permuting rows and columns of a matrix of
`N. rows and N. columns, in which data symbols to be
`interleaved are presented row by row, in accordance
`with:
`
`row permutation (k) = alk + f(i)mod N,
`column permutation
`(i) = al+ f(k)mod N.
`
`where 1,0k) represents a data Symbol with a row index k, k
`is an integer from 1 to N, O, is an integer, f(1) is a non-zero
`function of a column index 1, I is an integer from 1 to N,
`l(l) represents a data Symbol with the column index 1, C is
`an integer, f(k) is a Zero or a function of the row index k,
`and modN, and modN represent modulo-N and modulo-N
`arithmetic respectively, interleaved data Symbols being
`derived from the matrix column by column.
`14. The apparatus of claim 13, wherein f(i)=ml, where m
`is an integer.
`15. The apparatus of claim 14, wherein m=1.
`16. The apparatus of claim 14, wherein m is approxi
`mately equal to N/N.
`17. The apparatus of claim 13, wherein f(k) is zero.
`18. The apparatus of claim 13, wherein f(k)=nk, where n
`is an integer.
`19. The apparatus of claim 18, wherein n=1.
`20. The apparatus of claim 13, wherein C, is the largest
`prime number less than N/2.
`21. The apparatus of claim 13, wherein C is the largest
`prime number less than N/2.
`22. The apparatus of claim 13, wherein a number of data
`symbols to be interleaved is less than N.N.
`23. The apparatus of claim 13 further comprising:
`a means for determining one or more matrix positions in
`which data symbols to be interleaved are not
`represented, interleaved data Symbols not being derived
`from Such determined matrix positions.
`24. A method for Symbol interleaving arranged to be
`carried by an apparatus of claim 13.
`25. An apparatus for interleaving data Symbols compris
`Ing:
`a memory arranged to Store data Symbols to be
`interleaved, the memory having Storage locations rep
`resenting rows and columns of a matrix of N, rows and
`N. columns, the data Symbols to be interleaved being
`represented row by row in Said matrix;
`an address circuit for reading the Stored data Symbols in
`an interleaved manner as interleaved data Symbols from
`
`

`

`US 6,732,316 B1
`
`the Storage locations of the memory So that the inter
`leaved data Symbols are derived column by column
`from a permutation of the matrix in accordance with:
`
`Row Permutation
`Column Permutation
`
`I (k)
`(T)
`Ic
`
`ICl + f (k) modN.
`
`where 1,0k) represents a data Symbol with a row index k, k
`is an integer from 1 to N, O, is an integer, f(1) is a non-zero
`function of a column index 1, I is an integer from 1 to N,
`l(l) represents a data Symbol with the column index 1, C.;
`is an integer, f(k) is Zero or a function of the row index k,
`and modN, and modN represent modulo-N and modulo-N
`arithmetic respectively.
`15
`26. The apparatus of claim 25, wherein f(1)=ml, where m
`is an integer.
`27. The apparatus of claim 26, wherein m=1.
`28. The apparatus of claim 26, wherein m is approxi
`mately equal to N/N.
`29. The apparatus of claim 25, wherein f(k) is zero.
`30. The apparatus of claim 25, wherein f(k)=nk, where n
`is an integer.
`
`10
`31. The apparatus of claim 30, wherein n=1.
`32. The apparatus of claim 25, wherein C, is the largest
`prime number less than N/2.
`33. The apparatus of claim 25, wherein C is the largest
`prime number less than N/2.
`34. The apparatus of claim 25, wherein a number of data
`symbols to be interleaved is less than N.N.
`35. The apparatus of claim 34 further comprising:
`a generator for determining of one or more matrix posi
`tions in which data symbols to be interleaved are not
`represented, interleaved data Symbols not being derived
`from Such determined matrix positions.
`36. A method for symbol interleaving arranged to be
`carried by an apparatus of claim 25.
`37. The apparatus of claim 25, wherein the memory
`includes Storage of adjacent data Symbols that are punctured,
`the interleaver being configured to Separate the adjacent data
`Symbols that are punctured by a distance in accordance with
`the interleave.
`
`

`

`UNITED STATES PATENT AND TRADEMARK OFFICE
`CERTIFICATE OF CORRECTION
`
`PATENT NO. : 6,732,316 B1
`DATED
`: May 4, 2004
`INVENTOR(S) : Wen Tong et al.
`
`Page 1 of 1
`
`It is certified that error appears in the above-identified patent and that said Letters Patent is
`hereby corrected as shown below:
`
`Column 8
`Line 47, “...Nf2...' Should be -- ...N/2... --.
`Line 52, "... 13...' Should be -- ...22... --.
`
`Column 10
`Line 3, “...Nf2...' Should be -- ...N/2... --.
`Line 7, "...N.N...' Should be -- ...N.N... --.
`
`Signed and Sealed this
`
`Seventeenth Day of August, 2004
`
`WDJ
`
`JON W. DUDAS
`Acting Director of the United States Patent and Trademark Office
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket