| CPC H03M 13/373 (2013.01) [G05D 1/0217 (2013.01); H03M 13/3738 (2013.01); B60W 30/06 (2013.01); B60W 40/06 (2013.01); B60W 2555/20 (2020.02); G08G 1/144 (2013.01); G08G 1/146 (2013.01); G08G 1/148 (2013.01); H03M 13/253 (2013.01); H03M 13/29 (2013.01); H03M 13/2936 (2013.01)] | 9 Claims |

|
1. A digital electronic circuit, tangibly embodying a program of instructions executed by the digital electronic circuit to perform method steps for simplified successive cancellation list (SSCL) error decoding of S-polar codes, the method steps comprising:
receiving a signal that comprises a plurality of frames through a digital electronic communication channel;
performing error correction on the plurality of frames to generate a corrected plurality of frames; and
outputting data included in the corrected plurality of frames to the digital electronic communication channel,
wherein performing the error correction comprises
generating, from the plurality of frames, a perfect binary tree with 2N−1 nodes based on an S-polar code of length N=2n, wherein n is a non-negative integer,
wherein the S-Polar code is a generalized concatenated code (GCC) including Reed-Solomon (RS) codes as outer codes and polar codes as inner codes,
wherein information is encoded into an N×J array using S−1 outer codes and S inner codes in S stages, and at each stage s of the S stages, information bits and parities from a previous outer code of a previous stage (s−1) are encoded into n=Kouts+1−Kouts codewords C(s) and stored as n rows of the array, C(s) being a codeword at stage s, Kouts representing an amount of data in an outer codeword at stage s, and the n rows of the array being mapped into a coset array in which an s+1th outer code for systematically encoding t=kouts−kouts+1 columns of the coset array, and parities of the encoded codewords being transmitted to a next inner code for encoding, and wherein S and J are non-negative integers;
providing a node v in a decoding path l at a depth d in the perfect binary tree with a vector αv(l) of length 2d of soft information from a parent node vp, the decoding path l being a lth path in a list of L paths through the binary tree, 1≤l≤L;
computing, for every path in a list of paths in the binary tree, a vector αvl(l) length 2d-1 of soft information for a left child, vl of node v;
providing the node v with a vector of length βvl(l) of length 2d-1 of hard decisions from the left child and using vector βvl(l), together with αv(l), to create a soft information vector αvl(l) of length 2d-1 and passing the soft information vector αvl(l) to a right child of the node v;
providing the node v with a vector βvr(l) of length 2d-1 of hard decisions from its right child and using the vector βvr(l) together with βvl(l), to create a hard decision vector βv of length 2d of hard decisions, and passing the hard decision vector βv to its parent node;
based on the node v being an ith leaf of the perfect tree, 0≤ i<2n, for each path in the list of paths, updating two path metrics according to
PMi(2l)=PMi-1(l)+ln(1+exp(−αv,i(l)))
and
PMi(2l+1)=PMi-1(l)+ln(1+exp(−αv,i(l))), wherein PMi(l) is a loglikelihood ratio of path l through leaf i, the leaf i representing a codeword of the GCC;
selecting L path of 2L paths as a lowest path metric, 2L paths obtained by expanding a current L paths with a 0 bit or with a 1 bit;
setting βr(l) to 0 based on an lth path being expanded by a 0 bit; and
setting βv(l) to 1 based on the lth path not being expanded by a 0 bit.
|