Encoding method and encoder for generating a low-density parity check convolutional code and decoder for decoding a low-density parity check convolutional code using belief propagation
View Patent ↗An encoding method changes an encoding rate of an erasure correcting code. One cycle is defined as 12k bits (wherein k represents a natural number) which is an encoding output using LDPC-CC with an encoding rate of ½, and includes information and parity. From the one cycle, only the information is arranged in the output order of the encoding output to obtain 6k bit information X6i, X6i+1, X6i+2, X6i+3, X6i+4, X6i+5, . . . , X6(i+k−1) X6(i+k−1)+1, X6(i+k−1)+2, X6(i+k−1)+3, X6(i+k−1)+4, and X6(i+k−1)+5. Known information is inserted in 3k pieces of information (Xj) among the 6k bit information, so that when 3k pieces of mutually different j is divided by 3, there is a remainder of 0 regarding k pieces, there is a remainder of 1 regarding k pieces, and there is a remainder of 2 regarding k pieces, to thereby obtain the parity from the information containing the known information.
1. An encoding method of generating a low-density parity check convolutional code of a coding rate of ⅓ and a time varying period of 3 from a low-density parity check convolutional code of a coding rate of ½ and a time varying period of 3, the low-density parity check convolutional code of the coding rate of ½ and the time varying period of 3 being defined based on:
a first parity check polynomial in which (a1%3, a2%3, a3%3) and (b1%3, b2%3, b3%3) are any of (0, 1, 2), (0, 2, 1), (1, 0, 2), (1, 2, 0), (2, 0, 1) and (2, 1, 0) of a parity check polynomial represented by equation 1-1;
a second parity check polynomial in which (A1%3, A2%3, A3%3) and (B1%3, B2%3, B3%3) are any of (0, 1, 2), (0, 2, 1), (1, 0, 2), (1, 2, 0) and (2, 0, 1), (2, 1, 0) of a parity check polynomial represented by equation 1-2; and
a third parity check polynomial in which (α1%3, α2%3, α3%3) and (β1%3, β2%3, β3%3) are any of (0, 1, 2), (0, 2, 1), (1, 0, 2), (1, 2, 0), (2, 0, 1) and (2, 1, 0) of a parity check polynomial represented by equation 1-3, wherein c % d (where c and d are any integers) represents a remainder after dividing c by d, the method comprising the steps of:
inserting, using an encode circuit, known information into 3k pieces of information Xj (where j's are any indexes of 6i, 6i+1, 6i+2, . . . , 6(i+k−1)+3, 6(i+k−1)+4, 6(i+k−1)+5, and j's are different from each other) of 6 k bits of information X 6i , X 6i+1 , X 6i+2 , X 6i+3 , X 6i+4 , X 6i+5 , . . . , X 6(i+k−1) , X 6(i+k−1)+1 , X 6(i+k−1)+2 , X 6(i+k−1)+3 , X 6(i+k−1)+4 , X 6(i+k−1)+5 such that, of remainders after dividing values of the 3k different indexes j's by 3, the number of remainders which become 0 is k, the number of remainders which become 1 is k and the number of remainders which become 2 is k, the 6k bits of information made by extracting information from information part of one period of encoded outputs including the information part and parity part, and by arranging the extracted information in output order of the encoded outputs, the one period of the encoded outputs composed of 12k (k is a natural number) bits of the information part and the parity part which are the encoded outputs using the low-density parity check convolutional code of a coding rate of ½; and
obtaining, using the encode circuit, the parity part from the information including the known information,
wherein:
the equation 1-1 is
( D a1 +D a2 +D a3 ) X ( D )+( D b1 +D b2 +D b3 ) P ( D )=0,
the equation 1-2 is
( D A1 +D A2 +D A3 ) X ( D )+( D B1 +D B2 +D B3 ) P ( D )=0; and
the equation 1-3 is
( D α1 +D α2 +D α3 ) X ( D )+( D β1 +D β2 +D β3 ) P ( D )=0,
where:
X(D) is a polynomial representation of information X and P(D) is a parity polynomial representation;
a1, a2 and a3 are integers (where a1≠a2≠a3) and b1, b2 and b3 are integers (where b1≠b2≠b3);
A1, A2 and A3 are integers (where A1≠A2≠A3) and B1, B2 and B3 are integers (where B1≠B2≠B3); and
α1, α2 and α3 are integers (where α1≠α2≠α3) and β1, β2 and β3 are integers (where β1≠β2≠β3).
2. An encoder that creates a low-density parity check convolutional code from a convolutional code, comprising a computing section that computes a parity part using the encoding method according to claim 1 .
3. A decoder that decodes a low-density parity check convolutional code using belief propagation, the decoder comprising:
a row processing computing section that performs row processing computation using a check matrix corresponding to the parity check polynomials used for the encoder according to claim 2 ;
a column processing computing section that performs column processing computation using the check matrix; and
a determining section that estimates a codeword using computation results in the row processing computing section and the column processing computing section.