Encoding method, and decoding method
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.
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.