Methods and apparatus for encoding and decoding of data using concatenated polarization adjusted convolutional codes
View Patent ↗An encoder receives a concatenated encoder input block d, splits d into an outer code input array a, and encodes a using outer codes to generate an outer code output array b. The encoder generates, from b, a concatenated code output array x using a layered polarization adjusted convolutional (LPAC) code. A decoder counts layers and carries out an inner decoding operation for a layered polarization adjusted convolutional (LPAC) code to generate an inner decoder decision {tilde over (b)} i from a concatenated decoder input array y and a cumulative decision feedback ({circumflex over (b)} 1 , {circumflex over (b)} 2 , . . . , {circumflex over (b)} i−1 ). The decoder carries out an outer decoding operation to generate from {tilde over (b)} i an outer decoder decision â i , and carries out a reencoding operation to generate a decision feedback {circumflex over (b)} i from â i , where the number of layers is an integer greater than one, with a concatenated decoder output block {circumflex over (d)} being generated from outer decoder decisions.
1. A concatenated encoder apparatus for use in a communication system, the concatenated encoder comprising:
an outer encoder configured to receive a concatenated encoder input block d, split the concatenated encoder input block d into an outer code input array a, and encode the outer code input array a in accordance with a plurality of outer codes to generate an outer code output array b; and
an inner encoder configured to generate, from the outer code output array b, a concatenated code output array x in accordance with a layered polarization adjusted convolutional (LPAC) code, and send the concatenated code output array x to a channel,
wherein the plurality of outer codes comprises at least two outer codes, wherein the LPAC code comprises at least two layers.
2. The concatenated encoder apparatus of claim 1 , wherein the inner encoder is further configured to compute a precoding array c from the outer code output array b and insert the precoding array c into the data container array v.
3. The concatenated encoder apparatus of claim 1 , wherein the LPAC code comprises a data index set and a partition of the data index set into a plurality of layer index sets ( 1 , 2 , . . . , L ), wherein the plurality of layer index sets ( 1 , 2 , . . . , L ) are chosen in accordance with a score function, wherein the score function is one of a Hamming score function, a reliability score function, a decoding order score function, or a combination thereof.
4. A concatenated decoder apparatus for use in a communication system, the concatenated decoder apparatus comprising:
a layer counter configured to count a number of layers;
an inner decoder configured to carry out an ith layer inner decoding operation in accordance with a layered polarization adjusted convolutional (LPAC) code to generate an ith inner decoder decision {tilde over (b)} i from a concatenated decoder input array y and an (i−1)th cumulative decision feedback ({circumflex over (b)} 1 , {circumflex over (b)} 2 , . . . , {circumflex over (b)} i−1 );
an outer decoder configured to carry out an ith layer outer decoding operation to generate from the ith inner decoder decision {tilde over (b)} i an ith outer decoder decision â i ; and
a reencoder configured to carry out an ith layer reencoding operation to generate an ith decision feedback {circumflex over (b)} i from the ith outer decoder decision â i ,
wherein the number of layers is equal to an integer m, wherein the integer m is greater than one, and wherein the outer decoder is further configured to generate a concatenated decoder output block {circumflex over (d)} from outer decoder decisions (â 1 , â 2 , . . . , â m ) and send the concatenated decoder output block {circumflex over (d)} to a destination.
5. The concatenated decoder apparatus of claim 4 , wherein at least one of the ith layer inner decoding operations comprises employing a sequential decoder for decoding the LPAC code.
6. The concatenated decoder apparatus of claim 5 , wherein the sequential decoder is equipped with a computational time-out limit.
7. A concatenated encoder method for use in a communication system, the concatenated encoder method:
at an outer encoder, receiving a concatenated encoder input block d, splitting the concatenated encoder input block d into an outer code input array a, and encoding the outer code input array a in accordance with a plurality of outer codes to generate an outer code output array b; and
at an inner encoder, generating, from the outer code output array b, a concatenated code output array x in accordance with a layered polarization adjusted convolutional (LPAC) code, and sending the concatenated code output array x to a channel,
wherein the plurality of outer codes comprises at least two outer codes, wherein the LPAC code comprises at least two layers.
8. The concatenated encoder method of claim 7 , further comprising:
at the inner encoder, computing a precoding array c from the outer code output array b and inserting the precoding array c into the data container array v.
9. The concatenated encoder method of claim 7 , wherein the LPAC code comprises a data index set and a partition of the data index set into a plurality of layer index sets ( 1 , 2 , . . . , L ), wherein the plurality of layer index sets ( 1 , 2 , . . . , L ) are chosen in accordance with a score function, wherein the score function is one of a Hamming score function, a reliability score function, a decoding order score function, or a combination thereof.
10. A concatenated decoder method for use in a communication system, the concatenated decoder method comprising:
counting a number of layers;
at an inner decoder, carrying out an ith layer inner decoding operation in accordance with a layered polarization adjusted convolutional (LPAC) code to generate an ith inner decoder decision {tilde over (b)} i from a concatenated decoder input array y and an (i−1)th cumulative decision feedback ({circumflex over (b)} 1 , {circumflex over (b)} 2 , . . . , {circumflex over (b)} i−1 );
at an outer decoder, carrying out an ith layer outer decoding operation to generate from the ith inner decoder decision {tilde over (b)} i an ith outer decoder decision â i ; and
at a reencoder, carrying out an ith layer reencoding operation to generate an ith decision feedback {circumflex over (b)} i from the ith outer decoder decision â i ,
wherein the number of layers is equal to an integer m, wherein the integer m is greater than one, the concatenated decoder method further comprising, at the outer decoder, generating a concatenated decoder output block {circumflex over (d)} from outer decoder decisions (â 1 , â 2 , . . . , â m ) and sending the concatenated decoder output block {circumflex over (d)} to a destination.
11. The concatenated decoder method of claim 10 , wherein at least one of the ith layer inner decoding operations comprises employing a sequential decoder for decoding the LPAC code.
12. The concatenated decoder method of claim 11 , wherein the sequential decoder is equipped with a computational time-out limit.