IP Library Granted Patent US 8,112,695
Granted Patent B2
US 8,112,695 · App. 12/226,776 · Granted Feb 7, 2012

Method for encoding data message K' for transmission from sending station to receiving station as well as method for decoding, sending station, receiving station and software

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,112,695
App. No.
12/226,776
Granted
Feb 7, 2012
Kind
B2
Abstract

Irregular LDPC codes have a construction which allows one to obtain a number of codes with different length from a single prototype code with a parity check matrix given by H=[Hz Hi], where Hz specifies the well-known zigzag pattern in the corresponding Tanner graph. The parity check matrices for longer codes are obtained as [Hz′Πdiag(Hi, . . . , Hi)], where Hz′ specifies a longer zigzag pattern depending on the number of matrices Hi used, and Π represents some permutation. This allows one to construct the decoder for a longer code by reusing hardware components developed for decoding the prototype code.

Claims (52)

1. A method for encoding a data message K′ for transmission from a sending station to a receiving station, comprising:

obtaining a matrix H i ′, where H i ′ is a w*m 0 ×w*(n 0 −m 0 ) matrix, by interleaving rows of a block-diagonal matrix H i ′ (w) having w matrices H i of dimension m 0 ×(n 0 −m 0 ) in the diagonal and 0 in all other positions, where w and n 0 are integer numbers, H=[H z H i ] is a parity check matrix of a code with length n 0 , and H z is a m 0 ×m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions; and

generating a codeword c′ of length n=w*n 0 by and/or mathematically writable as multiplication of the data message K′ with a generator matrix G′, c′=K′G′, where the generator matrix G′ is a solution of a matrix equation H′G′ T =0, with H′=[H z ′ H i ′], and H z ′ is a w*m 0 ×w*m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions.

2. The method according to claim 1 , further comprising encoding a data message K using a generator matrix G to generate a codeword c of length n 0 , c=KG, where the generator matrix G is a solution of a matrix equation HG T =0, with H=[H z H i ] and H z is a m 0 ×m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions.

3. The method according to claim 2 , further comprising obtaining H i by interleaving rows of a first matrix H u , which is a block matrix consisting of permutation matrices and zero matrices.

4. The method according to claim 3 , wherein the generator matrix G′ is given by G′=[((H z ′) −1 H i ′) T I].

5. The method according to claim 4 , wherein a rectangular interleaver is used for interleaving rows of the block-diagonal matrix H i ′ (w) , that is by using the permutation Π(i)=(i mod m 0 )w+└i/m 0 ┘,i=0 . . . wm 0 −1.

6. The method according to claim 5 , further comprising generating the first matrix H u by expansion of a template matrix P of dimension s×t, the expansion made by replacing all elements p ij of the template matrix P which satisfy the condition 0≦p ij <∞ with cyclic permutation matrices of dimension p×p, having a value 1 at positions (r,(p ij +r) mod p), with r=0 . . . p−1, i=0 . . . s−1 and j=0 . . . t−1, and replacing all other elements p ij which satisfy the condition p ij =∞ or p ij <0 with p×p zero matrices, where p ij are some integers.

7. The method according to claim 6 , wherein a rectangular interleaver is used for interleaving rows of the first matrix H u , that is by using the permutation

(

i

)

=

(

i

mod

p

)

s

+

i

p

,

i

=

0

...

sp

-

1.

8. A sending station, comprising;

an encoding unit encoding a data message K′ into a codeword c′ of length n=w*n 0 , where w and n 0 are integer numbers, and generating the codeword c′ is achieved by and/or mathematically writable as multiplication of the data message K′ with a generator matrix G′, c′=K′G′, and the generator matrix G′ is a solution of a matrix equation H′G′ T =0, with H′=[H z ′ H i ′], where H z ′ is a w*m 0 ×w*m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions and H i ′ is a w*m 0 ×w*(n 0 −m 0 ) matrix, where H i ′ is a matrix obtained by interleaving rows of a block-diagonal matrix H i ′ (w) having w matrices H i of dimension m 0 ×(n 0 −m 0 ) in the diagonal and 0 in all other positions, and H i is further chosen such that H=[H z H i ] is a parity check matrix of a code with length n 0 , where H z is a m 0 ×m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions.

9. A method for decoding a data message K′ from a codeword c′ received from a sending station, comprising:

using a parity check matrix H′ to decode the codeword c′, where H′=[H z ′ H i ′], H z ′ is a w*m 0 ×w*m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions, the codeword c′ is of length n=w*n 0 , where w and n 0 are integer numbers, and the codeword c′ is generated by and/or mathematically writable as multiplication of the data message K′ with a generator matrix G′, c′=K′G′, where the generator matrix G′ is a solution of a matrix equation H′G′ T =0, and H i ′ is a w*m 0 ×w*(n 0 −m 0 ) matrix obtained by interleaving rows of a block-diagonal matrix H i ′ (w) having w matrices H i of dimension m 0 ×(n 0 −m 0 ) in the diagonal and 0 in all other positions, where H=[H z H i ] is a parity check matrix of a code with length n 0 , and H z is a m 0 ×m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions.

10. A receiving station, comprising

at least one unit decoding a codeword c′ received from a sending station, using a parity check matrix H′ to decode the codeword c′, where H′=[H z ′ H i ′], H z ′ is a w*m 0 ×w*m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions, the codeword c′ is of length n=w* n 0 , where w and n 0 are integer numbers, and the codeword c′ is generated by and/or mathematically writable as multiplication of the data message K′ with a generator matrix G′, c′=K′G′, where the generator matrix G′ is a solution of a matrix equation H′G′ T =0, and H i ′ is a w*m 0 ×w*(n 0 −m 0 ) matrix obtained by interleaving rows of a block-diagonal matrix H i ′ (w) having w matrices H i of dimension m 0 ×(n 0 −m 0 ) in the diagonal and 0 in all other positions, where H=[H z H i ] is a parity check matrix of a code with length n 0 , and H z is a m 0 ×m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions.

11. At least one computer-readable medium encoded with a computer program for encoding a data message K′ that when executed by a computer causes the computer to output a codeword c′ from an input data message K′, by a method comprising:

obtaining a matrix H i ′, where H i ′ is a w*m 0 ×w*(n 0 −m 0 ) matrix, by interleaving rows of a block-diagonal matrix H i ′ (w) having w matrices H i of dimension m 0 ×(n 0 −m 0 ) in the diagonal and 0 in all other positions, where w and n 0 are integer numbers, H=[H z H i ] is a parity check matrix of a code with length n 0 , and H z is a m 0 ×m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions; and

generating a codeword c′ of length n=w*n 0 by and/or mathematically writable as multiplication of the data message K′ with a generator matrix G′, c′=K′G′, where the generator matrix G′ is a solution of a matrix equation H′G′ T =0, with H′=[H z ′ H i ′], and H z ′ is a w*m 0 ×w*m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions.

12. At least one computer-readable medium encoded with a computer program for decoding a codeword c′, that when executed by a computer causes the computer to output a data message K′ from an input codeword c′, by a method comprising:

using a parity check matrix H′ to decode the codeword c′, where H′=[H z ′ H i ′], is a w*m 0 ×w*m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions, the codeword c′ is of length n=w*n 0 , where w and n 0 are integer numbers, and the codeword c′ is generated by and/or mathematically writable as multiplication of the data message K′ with a generator matrix G′, c′=K′G′, where the generator matrix G′ is a solution of a matrix equation H′G′ T =0, and H i ′ is a w*m 0 ×w*(n 0 −m 0 ) matrix obtained by interleaving rows of a block-diagonal matrix H i ′ (w) having w matrices H i of dimension m 0 ×(n 0 −m 0 ) in the diagonal and 0 in all other positions, where H=[H z H i ] is a parity check matrix of a code with length n 0 , and H z is a m 0 ×m 0 matrix with two adjacent diagonals of 1's having 0 in all other positions.

Assignments (3)
CHANGE OF NAME Recorded Nov 19, 2014
From: NOKIA SIEMENS NETWORKS GMBH & CO. KG
To: NOKIA SOLUTIONS AND NETWORKS GMBH & CO. KG
Reel/Frame 034294/0675 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2009
From: COSTA, ELENA; SCHULZ, EGON; TRIFONOV, PETR
To: NOKIA SIEMENS NETWORKS GMBH & CO. KG
Reel/Frame 023251/0049 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2009
From: COSTA, ELENA; SCHULZ, EGON; TRIFONOV, PETR
To: NOKIA SIEMENS NETWORKS GMBH & CO. KG
Reel/Frame 022323/0772 →