US2013318416A1PendingUtilityA1

Rate Matching And Channel Interleaving For A Communications System

41
Assignee: TONG WENPriority: Apr 13, 1999Filed: Nov 21, 2012Published: Nov 28, 2013
Est. expiryApr 13, 2019(expired)· nominal 20-yr term from priority
H03M 13/275H04L 1/0052H03M 13/635H04L 1/0068H03M 13/00H03M 13/2764H04L 1/0071H03M 13/2957H03M 13/276H03M 13/2792H03M 13/2739H04L 1/0041H03M 13/271
41
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method, an apparatus, and a computer program product for matching a rate of data bits to a desired rate by deletion of redundant data bits or repetition of data bits are disclosed. In a non-interleaved matrix of the data bits, a pattern of bits to be deleted or repeated to provide the desired data rate is determined. An address of each bit in the pattern in a manner inverse to the interleaving process is decoded to produce a respective address of the bit in the matrix. The respective bit in the interleaved data bits is deleted or repeated depending upon the respective address. The address decoding is performed in the same manner as a coding of addresses for producing the interleaved data bits from the non-interleaved matrix of the data bits.

Claims

exact text as granted — not AI-modified
1 - 17 . (canceled) 
     
     
         18 . A computer-implemented method for matching a rate of data bits, comprising
 receiving a data stream containing systematic coded data bits, first parity coded data bits, and second parity coded data bits;   interleaving each of the systematic coded data bits, the first parity coded data bits, and the second coded data bits separately from each other, without determining a pattern of data bits to be deleted prior to interleaving;   providing, based on the interleaving, the interleaved systematic coded data bits, the interleaved first parity coded data bits, and the interleaved coded data bits for matching of the rate of data bits; and   performing matching of the rate of data bits by
 deleting at least one interleaved parity data bit, wherein the at least one interleaved parity data bit includes an interleaved first parity coded data bit and an interleaved second parity coded data bit, without deleting systematic coded data bits; and 
 repeating at least on interleaved data bit, wherein the at least one interleaved data bit includes the at least one interleaved systematic data bit and the at least one interleaved parity data bit; 
   wherein at least one of the receiving, the interleaving, the providing, and the performing is performed by at least one processor.   
     
     
         19 . The method according to  claim 18 , wherein the repeating further comprises
 repeating at least one interleaved parity data bit with a greater repetition factor than any repetition factor of at least one interleaved systematic data bit.   
     
     
         20 . The method according to  claim 18 , further comprising
 shuffling a plurality of data bits by inserting data bits of a first data stream into a second data stream to result in a shuffled data stream, wherein the first data stream and the second data stream include at least one of a stream of the systematic coded data bits, a stream of the first parity coded data bits, and a stream of the second coded data bits.   
     
     
         21 . The method according to  claim 20 , further comprising
 adding data bits of a third data stream into the shuffled data stream to produce a new shuffled data stream, wherein the third data stream includes at least one of a stream of the systematic coded data bits, a stream of the first parity coded data bits, and a stream of the second coded data bits; and,   recursively performing the adding function for each data stream in excess of three data streams.   
     
     
         22 . The method according to  claim 18 , wherein the receiving further comprises
 receiving the data stream, wherein the data bits are produced by a parallel concatenated convolutional coder.   
     
     
         23 . The method according to  claim 18 , wherein interleaving further comprises
 generating an address for each interleaved data bit, wherein the interleaving of the generated addresses for the interleaved data bits is performed before the deleting and the repeating;   wherein the deleting or the repeating of the interleaved data bits is performed based on the generated address for each interleaved data bit.   
     
     
         24 . The method according to  claim 18 , wherein the interleaving further comprises
 permuting rows and columns of a matrix of N r  rows and N c  columns, in which data bits to be interleaved are represented row by row, in accordance with:
     I   r ( k )=[α r   k+f   c ( l )] mod  N   r ,  Row Permutation
 
     I   c ( l )=[α c   l+f   r ( k )] mod  N   c   Column Permutation
 
   
       wherein
 I r (k) represents a data bit with a row index k, 
 k is an integer from 1 to N r , α r  is an integer, 
 f c (l) is a non-zero function of a column index l, 
 l is an integer from 1 to N x , 
 I c (l) represents a data bit with the column index l, 
 α c  is an integer, 
 f r (k) is zero or a function of the row index k, and 
 mod N r  and mod N c  represent modulo-N r  and modulo-N c  arithmetic respectively, interleaved data bits being derived from the matrix column by column. 
 
     
     
         25 . The method according to  claim 24 , wherein f c (l)=ml+[N r +1] mod 2, where m is an integer. 
     
     
         26 . The method according to  claim 25 , wherein m is approximately equal to N r /N c . 
     
     
         27 . The method according to  claim 24 , wherein f r (k)=2k+[N c +1] mod 2. 
     
     
         28 . The method according to  claim 24 , wherein α r  is the largest prime number less than N r /log 2 (log 2 (N r )). 
     
     
         29 . A system comprising:
 at least one programmable processor; and   a machine-readable medium storing instructions that, when executed by the at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
 receiving a data stream containing systematic coded data bits, first parity coded data bits, and second parity coded data bits; 
 interleaving each of the systematic coded data bits, the first parity coded data bits, and the second coded data bits separately from each other, without determining a pattern of data bits to be deleted prior to interleaving; 
 providing, based on the interleaving, the interleaved systematic coded data bits, the interleaved first parity coded data bits, and the interleaved coded data bits for matching of the rate of data bits; and 
 performing matching of the rate of data bits by
 deleting at least one interleaved parity data bit, wherein the at least one interleaved parity data bit includes an interleaved first parity coded data bit and an interleaved second parity coded data bit, without deleting systematic coded data bits; and 
 repeating at least on interleaved data bit, wherein the at least one interleaved data bit includes the at least one interleaved systematic data bit and the at least one interleaved parity data bit. 
 
   
     
     
         30 . The system according to  claim 29 , wherein the repeating further comprises
 repeating at least one interleaved parity data bit with a greater repetition factor than any repetition factor of at least one interleaved systematic data bit.   
     
     
         31 . The system according to  claim 29 , wherein the operations further comprise
 shuffling a plurality of data bits by inserting data bits of a first data stream into a second data stream to result in a shuffled data stream, wherein the first data stream and the second data stream include at least one of a stream of the systematic coded data bits, a stream of the first parity coded data bits, and a stream of the second coded data bits.   
     
     
         32 . The system according to  claim 31 , further comprising
 adding data bits of a third data stream into the shuffled data stream to produce a new shuffled data stream, wherein the third data stream includes at least one of a stream of the systematic coded data bits, a stream of the first parity coded data bits, and a stream of the second coded data bits; and,   recursively performing the adding function for each data stream in excess of three data streams.   
     
     
         33 . The system according to  claim 29 , wherein the receiving further comprises
 receiving the data stream, wherein the data bits are produced by a parallel concatenated convolutional coder.   
     
     
         34 . The system according to  claim 29 , wherein interleaving further comprises
 generating an address for each interleaved data bit, wherein the interleaving of the generated addresses for the interleaved data bits is performed before the deleting and the repeating;   wherein the deleting or the repeating of the interleaved data bits is performed based on the generated address for each interleaved data bit.   
     
     
         35 . The system according to  claim 29 , wherein the interleaving further comprises
 permuting rows and columns of a matrix of N r  rows and N c  columns, in which data bits to be interleaved are represented row by row, in accordance with:
     I   r ( k )=[α r   k+f   c ( l )] mod  N   r ,  Row Permutation
 
     I   c ( l )=[α c   l+f   r ( k )] mod  N   c   Column Permutation
 
   
       wherein
 I r (k) represents a data bit with a row index k, 
 k is an integer from 1 to N r , α r  is an integer, 
 f c (l) is a non-zero function of a column index l, 
 l is an integer from 1 to N c , 
 I c (l) represents a data bit with the column index l, 
 α c  is an integer, 
 f r (k) is zero or a function of the row index k, and 
 mod N r  and mod N c  represent modulo-N r  and modulo-N c  arithmetic respectively, interleaved data bits being derived from the matrix column by column. 
 
     
     
         36 . The system according to  claim 35 , wherein f c (l)=ml+[N r +1] mod 2, where m is an integer. 
     
     
         37 . The system according to  claim 36 , wherein m is approximately equal to N r /N c . 
     
     
         38 . The system according to  claim 35 , wherein f r (k)=2k+[N c +1] mod 2. 
     
     
         39 . The system according to  claim 35 , wherein α r  is the largest prime number less than N r /log 2 (log 2 (N r )). 
     
     
         40 . A computer program product comprising a machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
 receiving a data stream containing systematic coded data bits, first parity coded data bits, and second parity coded data bits;   interleaving each of the systematic coded data bits, the first parity coded data bits, and the second coded data bits separately from each other, without determining a pattern of data bits to be deleted prior to interleaving;   providing, based on the interleaving, the interleaved systematic coded data bits, the interleaved first parity coded data bits, and the interleaved coded data bits for matching of the rate of data bits; and   performing matching of the rate of data bits by
 deleting at least one interleaved parity data bit, wherein the at least one interleaved parity data bit includes an interleaved first parity coded data bit and an interleaved second parity coded data bit, without deleting systematic coded data bits; and 
 repeating at least on interleaved data bit, wherein the at least one interleaved data bit includes the at least one interleaved systematic data bit and the at least one interleaved parity data bit. 
   
     
     
         41 . The computer program product according to  claim 40 , wherein the repeating further comprises
 repeating at least one interleaved parity data bit with a greater repetition factor than any repetition factor of at least one interleaved systematic data bit.   
     
     
         42 . The computer program product according to  claim 40 , wherein the operations further comprise
 shuffling a plurality of data bits by inserting data bits of a first data stream into a second data stream to result in a shuffled data stream, wherein the first data stream and the second data stream include at least one of a stream of the systematic coded data bits, a stream of the first parity coded data bits, and a stream of the second coded data bits.   
     
     
         43 . The computer program product according to  claim 42 , wherein the operations further comprise
 adding data bits of a third data stream into the shuffled data stream to produce a new shuffled data stream, wherein the third data stream includes at least one of a stream of the systematic coded data bits, a stream of the first parity coded data bits, and a stream of the second coded data bits; and,   recursively performing the adding function for each data stream in excess of three data streams.   
     
     
         44 . The computer program product according to  claim 40 , wherein the receiving further comprises
 receiving the data stream, wherein the data bits are produced by a parallel concatenated convolutional coder.   
     
     
         45 . The computer program product according to  claim 40 , wherein interleaving further comprises
 generating an address for each interleaved data bit, wherein the interleaving of the generated addresses for the interleaved data bits is performed before the deleting and the repeating;   wherein the deleting or the repeating of the interleaved data bits is performed based on the generated address for each interleaved data bit.   
     
     
         46 . The computer program product according to  claim 40 , wherein the interleaving further comprises
 permuting rows and columns of a matrix of N r  rows and N c  columns, in which data bits to be interleaved are represented row by row, in accordance with:
     I   r ( k )=[α r   k+f   c ( l )] mod  N   r ,  Row Permutation
 
     I   c ( l )=[α c   l+f   r ( k )] mod  N   c   Column Permutation
 
   
       wherein
 I r (k) represents a data bit with a row index k, 
 k is an integer from 1 to N r , α r  is an integer, 
 f c (l) is a non-zero function of a column index l, 
 l is an integer from 1 to N c , 
 I c (l) represents a data bit with the column index l, 
 α c  is an integer, 
 f r (k) is zero or a function of the row index k, and 
 mod N r  and mod N c  represent modulo-N r  and modulo-N c  arithmetic respectively, interleaved data bits being derived from the matrix column by column. 
 
     
     
         47 . The computer program product according to  claim 46 , wherein f c (l)=ml+[N r +1] mod 2, where m is an integer. 
     
     
         48 . The computer program product according to  claim 47 , wherein m is approximately equal to N r /N c . 
     
     
         49 . The computer program product according to  claim 46 , wherein f r (k)=2k+[N c +1] mod 2. 
     
     
         50 . The computer program product according to  claim 46 , wherein α r  is the largest prime number less than N r /log 2 (log 2 (N r )).

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.