IP Library Granted Patent US 10,601,446
Granted Patent B2
US 10,601,446 · App. 14/994,503 · Granted Mar 24, 2020

Encoding method, and decoding method

Inventor: Yutaka Murakami (Kanagawa, JP)
Assignee: SUN PATENT TRUST
H03M13/116H03M13/036H03M13/1111H03M13/1154H03M13/23H03M13/616H03M13/635
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 10,601,446
App. No.
14/994,503
Granted
Mar 24, 2020
Kind
B2
Abstract

An encoding method generates an encoded sequence by performing encoding of a given coding rate according to a predetermined parity check matrix. The predetermined parity check matrix is a first parity check matrix or a second parity check matrix. The first parity check matrix corresponds to a low-density parity check (LDPC) convolutional code using a plurality of parity check polynomials. The second parity check matrix is generated by performing at least one of row permutation and column permutation with respect to the first parity check matrix. An eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressible by using a predetermined mathematical formula.

Claims (836)

1. A transmitting method for a transmitter, the transmitter including a non-transitory memory storing a program and a hardware processor, the hardware processor executing the program and causing the transmitter to perform the transmitting method comprising:

generating an encoded sequence with a fixed-length LDPC code block corresponding to a variable-length frame comprising: n−1 information sequences denoted as X 1 through X n−1 ; and a parity sequence denoted as P, by encoding the n−1 information sequences at a (n−1)/n coding rate according to a predetermined parity check matrix having m×z rows and n×m×z columns, n being an integer no less than two, m being an integer no less than two, and z being a natural number;

modulating the encoded sequence to generate modulated signals; and

transmitting the modulated signals over a wired or wireless communication channel to a receiver, wherein

the predetermined parity check matrix is a first parity check matrix or a second parity check matrix, the first parity check matrix corresponding to a low-density parity check (LDPC) convolutional code using a plurality of parity check polynomials, the second parity check matrix generated by performing at least one of row permutation and column permutation with respect to the first parity check matrix, and

given e denoting an integer no less than zero and no greater than m×z−1, α denoting an integer no less than one and no greater than m×z, and i being a variable denoting an integer that is no less than zero and no greater than m−1 and satisfies i=e % m where % denotes a modulo operator,

when e≠α−1, an eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressed as

(

D

b

1

,

i

+

1

)

P

(

D

)

+

k

=

1

n

-

1

{

(

1

+

j

=

1

rk

D

ak

,

i

,

j

)

X

k

(

D

)

}

=

0

(

Math

.

1

)

where b l,i is a natural number, and

when e=α−1, the eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressed as

P

(

D

)

+

k

=

1

n

-

1

{

(

1

+

j

=

1

rk

D

ak

,

(

α

-

1

)

%

m

,

j

)

X

k

(

D

)

}

=

0

(

Math

.

2

)

where, in Math. 1 and Math. 2,

p denotes an integer no less than one and no greater than n−1, q denotes an integer no less than one and no greater than r p , and r p denotes an integer no less than three,

D denotes a delay operator, X p (D) denotes a polynomial representation of an information sequence X p among the n−1 information sequences, and P(D) denotes a polynomial representation of the parity sequence P, and

a p,i,q denotes a natural number, and

when x and y are integers no less than one and no greater than r p and satisfy x≠y, a p,i,x ≠a p,i,y holds true for all x and y

in Math. 1 and Math. 2,

X k (D) has no less than four terms,

a 1,g,1 % m=v 1,1 and a 1,g,2 % m=v 1,2 , where v 1,1 and v 1,2 are fixed numbers, hold true for all g, where g is an integer no less than zero and no greater than m−1, and

a greatest common divisor of v s,1 and m is one, and a greatest common divisor of v s,2 and m is one, where s is an integer no less than one and no greater than n−1, and v s,1 , v s,2 are integers no less than one and no greater than m−1 and α=1,

wherein the parity check polynomials define by Math 1 and Math 2 determine positioning of ones and zeros in the first parity check matrix that suppress the occurrence of short loops in a Tanner graph and improve error correction.

2. A receiving method for a receiver, the receiver including a non-transitory memory storing a program and a hardware processor, the hardware processor executing the program and causing the receiver to perform the receiving method comprising:

receiving modulated signals over a wired or wireless communication channel from a transmitter;

demodulating the modulated signals to generate an encoded sequence with a fixed-length LDPC code block corresponding to a variable-length frame comprising: n−1 information sequences denoted as X 1 through X n-1 ; and a parity sequence denoted as P, by encoding the n−1 information sequences at a (n−1)/n coding rate according to a predetermined parity check matrix having m×z rows and n×m×z columns, n being an integer no less than two, m being an integer no less than two, and z being a natural number; and

decoding the encoded sequence according to the predetermined parity check matrix by employing belief propagation (BP), wherein

the predetermined parity check matrix is a first parity check matrix or a second parity check matrix, the first parity check matrix corresponding to a low-density parity check (LDPC) convolutional code using a plurality of parity check polynomials, the second parity check matrix generated by performing at least one of row permutation and column permutation with respect to the first parity check matrix, and

given e denoting an integer no less than zero and no greater than m×z−1, α denoting an integer no less than one and no greater than m×z, and i being a variable denoting an integer that is no less than zero and no greater than m−1 and satisfies i=e % m where % denotes a modulo operator,

when e≠α−1, an eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressed as

(

D

b

1

,

i

+

1

)

P

(

D

)

+

k

=

1

n

-

1

{

(

1

+

j

=

1

rk

D

ak

,

i

,

j

)

X

k

(

D

)

}

=

0

(

Math

.

1

)

where b 1,i is a natural number, and

when e=α−1, the eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressed as

P

(

D

)

+

k

=

1

n

-

1

{

(

1

+

j

=

1

rk

D

ak

,

(

α

-

1

)

%

m

,

j

)

X

k

(

D

)

}

=

0

(

Math

.

2

)

where, in Math. 1 and Math. 2,

p denotes an integer no less than one and no greater than n−1, q denotes an integer no less than one and no greater than r p , and r p denotes an integer no less than three,

D denotes a delay operator, X p (D) denotes a polynomial representation of an information sequence X p among the n−1 information sequences, and P(D) denotes a polynomial representation of the parity sequence P, and

a p,i,q denotes a natural number, and

when x and y are integers no less than one and no greater than r p and satisfy x≠y, a p,i,x ≠a p,i,y holds true for all x and y

in Math. 1 and Math. 2,

X k (D) has no less than four terms,

a 1,g,1 % m=vii and a 1,g,2 % m=v 1,2 , where v 1,1 and v 1,2 are fixed numbers, hold true for all g, where g is an integer no less than zero and no greater than m−1, and

a greatest common divisor of v s,1 and m is one, and a greatest common divisor of v s,2 and m is one, where s is an integer no less than one and no greater than n−1, and v s,1 , v s,2 are integers no less than one and no greater than m−1 and α=1,

wherein the parity check polynomials define by Math 1 and Math 2 determine positioning of ones and zeros in the first parity check matrix that suppress the occurrence of short loops in a Tanner graph and improve error correction.

3. A transmitting device comprising:

a transmitter including a non-transitory memory storing a program and a hardware processor, the hardware processor executing the program and causing the transmitter to:

generate an encoded sequence with a fixed-length LDPC code block corresponding to a variable-length frame comprising: n−1 information sequences denoted as X 1 through X n-1 ; and a parity sequence denoted as P, by encoding the n−1 information sequences at a (n−1)/n coding rate according to a predetermined parity check matrix having m×z rows and n×m×z columns, n being an integer no less than two, m being an integer no less than two, and z being a natural number;

modulate the encoded sequence to generate modulated signals; and

transmit the modulated signals over a wired or wireless communication channel to a receiver, wherein

the predetermined parity check matrix is a first parity check matrix or a second parity check matrix, the first parity check matrix corresponding to a low-density parity check (LDPC) convolutional code using a plurality of parity check polynomials, the second parity check matrix generated by performing at least one of row permutation and column permutation with respect to the first parity check matrix, and

given e denoting an integer no less than zero and no greater than m×z−1, α denoting an integer no less than one and no greater than m×z, and i being a variable denoting an integer that is no less than zero and no greater than m−1 and satisfies i=e % m where % denotes a modulo operator,

when e≠α−1, an eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressed as

(

D

b

1

,

i

+

1

)

P

(

D

)

+

k

=

1

n

-

1

{

(

1

+

j

=

1

rk

D

ak

,

i

,

j

)

X

k

(

D

)

}

=

0

(

Math

.

1

)

where b 1,i is a natural number, and

when e=α−1, the eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressed as

P

(

D

)

+

k

=

1

n

-

1

{

(

1

+

j

=

1

rk

D

ak

,

(

α

-

1

)

%

m

,

j

)

X

k

(

D

)

}

=

0

(

Math

.

2

)

where, in Math. 1 and Math. 2,

p denotes an integer no less than one and no greater than n−1, q denotes an integer no less than one and no greater than r p , and r p denotes an integer no less than three,

D denotes a delay operator, X p (D) denotes a polynomial representation of an information sequence X p among the n−1 information sequences, and P(D) denotes a polynomial representation of the parity sequence P, and

a p,i,q denotes a natural number, and

when x and y are integers no less than one and no greater than r p and satisfy x≠y, a p,i,x ≠a p,i,y holds true for all x and y

in Math. 1 and Math. 2,

X k (D) has no less than four terms,

a 1,g,1 % m=v 1,1 and a 1,g,2 % m=v 1,2 , where v 1,1 and v 1,2 are fixed numbers, hold true for all g, where g is an integer no less than zero and no greater than m−1, and

a greatest common divisor of v s,1 and m is one, and a greatest common divisor of v s,2 and m is one, where s is an integer no less than one and no greater than n−1, and v s,1 , v s,2 are integers no less than one and no greater than m−1 and α=1,

wherein the parity check polynomials define by Math 1 and Math 2 determine positioning of ones and zeros in the first parity check matrix that suppress the occurrence of short loops in a Tanner graph and improve error correction.

4. A receiving device comprising:

a receiver that includes a non-transitory memory storing a program and a hardware processor, the hardware processor executing the program and causing the receiver to execute a receiving method comprising:

receiving modulated signals over a wired or wireless communication channel from a transmitter;

demodulating the modulated signals to generate an encoded sequence with a fixed-length LDPC code block corresponding to a variable-length frame comprising: n−1 information sequences denoted as X 1 through X n−1 ; and a parity sequence denoted as P, by encoding the n−1 information sequences at a (n−1)/n coding rate according to a predetermined parity check matrix having m×z rows and n×m×z columns, n being an integer no less than two, m being an integer no less than two, and z being a natural number; and

decoding the encoded sequence according to the predetermined parity check matrix by employing belief propagation (BP), wherein

the predetermined parity check matrix is a first parity check matrix or a second parity check matrix, the first parity check matrix corresponding to a low-density parity check (LDPC) convolutional code using a plurality of parity check polynomials, the second parity check matrix generated by performing at least one of row permutation and column permutation with respect to the first parity check matrix, and

given e denoting an integer no less than zero and no greater than m×z−1, α denoting an integer no less than one and no greater than m×z, and i being a variable denoting an integer that is no less than zero and no greater than m−1 and satisfies i=e % m where % denotes a modulo operator,

when e≠α−1, an eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressed as

(

D

b

1

,

i

+

1

)

P

(

D

)

+

k

=

1

n

-

1

{

(

1

+

j

=

1

rk

D

ak

,

i

,

j

)

X

k

(

D

)

}

=

0

(

Math

.

1

)

where b 1,i is a natural number, and

when e=α−1, the eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressed as

P

(

D

)

+

k

=

1

n

-

1

{

(

1

+

j

=

1

rk

D

ak

,

(

α

-

1

)

%

m

,

j

)

X

k

(

D

)

}

=

0

(

Math

.

2

)

where, in Math. 1 and Math. 2,

p denotes an integer no less than one and no greater than n−1, q denotes an integer no less than one and no greater than r p , and r p denotes an integer no less than three,

D denotes a delay operator, X p (D) denotes a polynomial representation of an information sequence X p among the n−1 information sequences, and P(D) denotes a polynomial representation of the parity sequence P, and

a p,i,q denotes a natural number, and

when x and y are integers no less than one and no greater than r p and satisfy x≠y, a p,i,x ≠a p,i,y holds true for all x and y

in Math. 1 and Math. 2,

X k (D) has no less than four terms,

a 1,g,1 % m=v 1,1 and a 1,g,2 % m=v 1,2 , where v 1,1 and v 1,2 are fixed numbers, hold true for all g, where g is an integer no less than zero and no greater than m−1, and

a greatest common divisor of v s,1 and m is one, and a greatest common divisor of v s,2 and m is one, where s is an integer no less than one and no greater than n−1, and v s,1 , v s,2 are integers no less than one and no greater than m−1 and α=1,

wherein the parity check polynomials define by Math 1 and Math 2 determine positioning of ones and zeros in the first parity check matrix that suppress the occurrence of short loops in a Tanner graph and improve error correction.

5. A non-transitory computer-readable storage medium having recorded thereon a program, the program being executed by a computer so as to cause the computer to perform a predetermined transmitting process, the predetermined transmitting process comprising:

generating an encoded sequence with a fixed-length LDPC code block corresponding to a variable-length frame comprising: n−1 information sequences denoted as X 1 through X n−1 ; and a parity sequence denoted as P, by encoding the n−1 information sequences at a (n−1)/n coding rate according to a predetermined parity check matrix having m×z rows and n×m×z columns, n being an integer no less than two, m being an integer no less than two, and z being a natural number;

modulating the encoded sequence to generate modulated signals; and

transmitting the modulated signals over a wired or wireless communication channel to a receiver, wherein

the predetermined parity check matrix is a first parity check matrix or a second parity check matrix, the first parity check matrix corresponding to a low-density parity check (LDPC) convolutional code using a plurality of parity check polynomials, the second parity check matrix generated by performing at least one of row permutation and column permutation with respect to the first parity check matrix, and

given e denoting an integer no less than zero and no greater than m×z−1, α denoting an integer no less than one and no greater than m×z, and i being a variable denoting an integer that is no less than zero and no greater than m−1 and satisfies i=e % m where % denotes a modulo operator,

when e≠α−1, an eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressed as

(

D

b

1

,

i

+

1

)

P

(

D

)

+

k

=

1

n

-

1

{

(

1

+

j

=

1

rk

D

ak

,

i

,

j

)

X

k

(

D

)

}

=

0

(

Math

.

1

)

where b 1,i is a natural number, and

when e=α−1, the eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressed as

P

(

D

)

+

k

=

1

n

-

1

{

(

1

+

j

=

1

rk

D

ak

,

(

α

-

1

)

%

m

,

j

)

X

k

(

D

)

}

=

0

(

Math

.

2

)

where, in Math. 1 and Math. 2,

p denotes an integer no less than one and no greater than n−1, q denotes an integer no less than one and no greater than r p , and r p denotes an integer no less than three,

D denotes a delay operator, X p (D) denotes a polynomial representation of an information sequence X p among the n−1 information sequences, and P(D) denotes a polynomial representation of the parity sequence P, and

a p,i,q denotes a natural number, and

when x and y are integers no less than one and no greater than r p and satisfy x≠y, a p,i,x ≠a p,i,y holds true for all x and y

in Math. 1 and Math. 2,

X k (D) has no less than four terms,

a 1,g,1 % m=v 1,1 and a 1,g,2 % m=v 1,2 , where v 1,1 and v 1,2 are fixed numbers, hold true for all g, where g is an integer no less than zero and no greater than m−1, and

a greatest common divisor of v s,1 and m is one, and a greatest common divisor of v s,2 and m is one, where s is an integer no less than one and no greater than n−1, and v s,1 , v s,2 are integers no less than one and no greater than m−1 and α=1,

wherein the parity check polynomials define by Math 1 and Math 2 determine positioning of ones and zeros in the first parity check matrix that suppress the occurrence of short loops in a Tanner graph and improve error correction.

6. A non-transitory computer-readable storage medium having recorded thereon a program, the program being executed by a computer so as to cause the computer to execute a receiving process comprising:

receiving modulated signals over a wired or wireless communication channel from a transmitter;

demodulating the modulated signals to generate an encoded sequence with a fixed-length LDPC code block corresponding to a variable-length frame comprising: n−1 information sequences denoted as X 1 through X n−1 ; and a parity sequence denoted as P, by encoding the n−1 information sequences at a (n−1)/n coding rate according to a predetermined parity check matrix having m×z rows and n×m×z columns, n being an integer no less than two, m being an integer no less than two, and z being a natural number; and

decoding the encoded sequence according to the predetermined parity check matrix by employing belief propagation (BP), wherein

the predetermined parity check matrix is a first parity check matrix or a second parity check matrix, the first parity check matrix corresponding to a low-density parity check (LDPC) convolutional code using a plurality of parity check polynomials, the second parity check matrix generated by performing at least one of row permutation and column permutation with respect to the first parity check matrix, and

given e denoting an integer no less than zero and no greater than m×z−1, α denoting an integer no less than one and no greater than m×z, and i being a variable denoting an integer that is no less than zero and no greater than m−1 and satisfies i=e % m where % denotes a modulo operator,

when e≠α−1, an eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressed as

(

D

b

1

,

i

+

1

)

P

(

D

)

+

k

=

1

n

-

1

{

(

1

+

j

=

1

rk

D

ak

,

i

,

j

)

X

k

(

D

)

}

=

0

(

Math

.

1

)

where b 1,i is a natural number, and

when e=α−1, the eth parity check polynomial that satisfies zero, of the LDPC convolutional code, is expressed as

P

(

D

)

+

k

=

1

n

-

1

{

(

1

+

j

=

1

rk

D

ak

,

(

α

-

1

)

%

m

,

j

)

X

k

(

D

)

}

=

0

(

Math

.

2

)

where, in Math. 1 and Math. 2,

p denotes an integer no less than one and no greater than n−1, q denotes an integer no less than one and no greater than r p , and r p denotes an integer no less than three,

D denotes a delay operator, X p (D) denotes a polynomial representation of an information sequence X p among the n−1 information sequences, and P(D) denotes a polynomial representation of the parity sequence P, and

a p,i,q denotes a natural number, and

when x and y are integers no less than one and no greater than r p and satisfy x≠y, a p,i,x ≠a p,i,y holds true for all x and y

in Math. 1 and Math. 2,

X k (D) has no less than four terms,

a 1,g,1 % m=vi and a 1,g,2 % m=v 1,2 , where v 1,1 and v 1,2 are fixed numbers, hold true for all g, where g is an integer no less than zero and no greater than m−1, and

a greatest common divisor of v s,1 and m is one, and a greatest common divisor of v s,2 and m is one, where s is an integer no less than one and no greater than n−1, and v s,1 , v s,2 are integers no less than one and no greater than m−1 and α=1,

wherein the parity check polynomials define by Math 1 and Math 2 determine positioning of ones and zeros in the first parity check matrix that suppress the occurrence of short loops in a Tanner graph and improve error correction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2016
From: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA
To: SUN PATENT TRUST
Reel/Frame 038299/0213 →
Priority Claims (5)
JP 2011-010909 · Jan 21, 2011 · national
JP 2011-061161 · Mar 18, 2011 · national
JP 2011-097671 · Apr 25, 2011 · national
JP 2011-164261 · Jul 27, 2011 · national
JP 2011-250401 · Nov 16, 2011 · national
Continuity (3)
Continuation 14722490 · May 27, 2015
Continuation 13979571
Related Publication 20160126979A1 · May 5, 2016