IP Library Granted Patent US 10,547,331
Granted Patent B2
US 10,547,331 · App. 15/787,247 · Granted Jan 28, 2020

Encoding method, decoding method

Inventor: Yutaka Murakami (Kanagawa, JP)
Assignee: SUN PATENT TRUST
H03M13/255H03M13/036H03M13/1111H03M13/1154H03M13/23H03M13/256H03M13/616H03M13/617H03M13/635H03M13/09
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,547,331
App. No.
15/787,247
Granted
Jan 28, 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 (891)

1. An encoding method in a transmission device, the method comprising:

the transmission device

acquiring n−1 information sequences denoted as X 1 through X n-1 ;

generating, according to a program stored in memory, an encoded sequence comprising: the n−1 information sequences; 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 odd number no less than two, and z being a natural number; and

transmitting the encoded sequence to a reception device over a communication channel, wherein

the (n−1)×m×z bit of data sequence is inputted to a shift register, and the parity sequence is calculated by using the value held in the shift register according to the 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 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

,

i

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

r

k

,

(

α

-

1

)

%

m

D

a

k

,

(

α

-

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,i , and r p,i denotes an integer no less than two,

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,i and satisfy x≠y, a p,i,x ≠a p,i,y holds true for all x and y, and

when s=p, and v s,1 and v s,2 are odd numbers less than m, a p,i,q satisfies both a s,i,1 % m=v s,1 and a s,i,2 % m=v s,2 for all i, and

α=1.

2. A decoding method comprising:

a transmission device generating, according to a program stored in memory, an encoded sequence 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 odd number no less than two, and z being a natural number;

the transmission device transmitting the encoded sequence to a reception device over a communication channel;

the reception device receiving the encoded sequence; and

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

the (n−1)×m×z bit of data sequence is inputted to a shift register, and the parity sequence is calculated by using the value held in the shift register according to the 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 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

,

i

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

r

k

,

(

α

-

1

)

%

m

D

a

k

,

(

α

-

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,i , and r p,i denotes an integer no less than two,

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,i and satisfy x≠y, a p,i,x ≠a p,i,y holds true for all x and y, and

when s=p, and v s,1 and v s,2 are odd numbers less than m, a p,i,q satisfies both a s,i,1 % m=v s,1 and a s,i,2 % m=v s,2 , and

α=1.

3. A transmission device comprising:

an acquiring unit acquiring n−1 information sequences denoted as X 1 through X n-1 ;

an encoder generating, according to a program stored in memory, an encoded sequence comprising: the n−1 information sequences; 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 odd number no less than two, and z being a natural number; and

a transmitter transmitting the encoded sequence to a reception device over a communication channel, wherein

the (n−1)×m×z bit of data sequence is inputted to a shift register, and the parity sequence is calculated by using the value held in the shift register according to the 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 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

,

i

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

r

k

,

(

α

-

1

)

%

m

D

a

k

,

(

α

-

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,i , and r p,i denotes an integer no less than two,

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,i and satisfy x≠y, a p,i,x ≠a p,i,y holds true for all x and y, and

when s=p, and v s,1 and v s,2 are odd numbers less than m, a p,i,q satisfies both a s,i,1 % m=v s,1 and a s,i,2 % m=v s,2 for all i, and

α=1.

4. A reception device comprising:

a receiver that receives an encoded sequence transmitted over a communication channel by a transmission device; and

a decoder that decodes the encoded sequence encoded according to a predetermined encoding method, the predetermined encoding method comprising:

the transmission device

acquiring n−1 information sequences denoted as X 1 through X n-1 ;

generating, according to a program stored in memory, the encoded sequence comprising: the n−1 information sequences; 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 odd number no less than two, and z being a natural number; and

transmitting the encoded sequence to the reception device over the communication channel,

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

the (n−1)×m×z bit of data sequence is inputted to a shift register, and the parity sequence is calculated by using the value held in the shift register according to the 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 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

,

i

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

r

k

,

(

α

-

1

)

%

m

D

a

k

,

(

α

-

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,i , and r p,i denotes an integer no less than two,

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,i and satisfy x≠y, a p,i,x ≠a p,i,y holds true for all x and y, and

when s=p, and v s,1 and v s,2 are odd numbers less than m, a p,i,q satisfies both a s,i,1 % m=v s,1 and a s,1,2 % m=v s,2 , and

α=1.

5. A non-transitory computer-readable storage medium having recorded thereon a program, the program to be executed by a computer to cause the computer to perform a predetermined encoding process in a transmission device, the predetermined encoding process comprising:

the transmission device

acquiring n−1 information sequences denoted as X 1 through X n-1 ;

generating an encoded sequence comprising: the n−1 information sequences; 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 odd number no less than two, and z being a natural number; and

transmitting the encoded sequence to a reception device over a communication channel, wherein

the (n−1)×m×z bit of data sequence is inputted to a shift register, and the parity sequence is calculated by using the value held in the shift register according to the 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 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

,

i

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

r

k

,

(

α

-

1

)

%

m

D

a

k

,

(

α

-

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,i , and r p,i denotes an integer no less than two,

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,i and satisfy x≠y, a p,i,x ≠a p,i,y holds true for all x and y, and

when s=p, and v s,1 and v s,2 are odd numbers less than m, a p,i,q satisfies both a s,i,1 % m=v s,1 and a s,i,2 % m=v s,2 for all i, and

α=1.

6. A non-transitory computer-readable storage medium having recorded thereon a program, the program to be executed by a computer to cause the computer to execute a decoding process in a reception device that decodes an encoded sequence encoded by a predetermined encoding method, the predetermined encoding method comprising:

a transmission device

acquiring n−1 information sequences denoted as X 1 through X n-1 ;

generating the encoded sequence comprising: the n−1 information sequences; 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 odd number no less than two, and z being a natural number; and

transmitting the encoded sequence to the reception device over a communication channel,

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

the (n−1)×m×z bit of data sequence is inputted to a shift register, and the parity sequence is calculated by using the value held in the shift register according to the 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 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

,

i

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

r

k

,

(

α

-

1

)

%

m

D

a

k

,

(

α

-

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,i , and r p,i denotes an integer no less than two,

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,i and satisfy x≠y, a p,i,x ≠a p,i,y holds true for all x and y, and

when s=p, and v s,1 and v s,2 are odd numbers less than m, a p,i,q satisfies both a s,i,1 % m=v s,1 and a s,i,2 % m=v s,2 , and

α=1.

Priority Claims (3)
JP 2011-164262 · Jul 27, 2011 · national
JP 2011-250402 · Nov 16, 2011 · national
JP 2012-009455 · Jan 19, 2012 · national
Continuity (5)
Continuation 15162897 · May 24, 2016
Continuation 14926539 · Oct 29, 2015
Continuation 14722767 · May 27, 2015
Continuation 13980654
Related Publication 20180062667A1 · Mar 1, 2018