Methods and apparatus for decoding of polar codes
AssigneePolaran Haberlesme Teknolojileri Anonim Sirketi
InventorErdal Arikan
Life of this patent
Estimating the term…
Abstract
A team polar decoder (TPD) includes polar decoders (PPDs) connected to a channel, and a team decision maker (TDM) connected to the PPDs and a destination. Component polar decoders (CPDs) decode a polar code in accordance with a polar code. Each CPD receives a noisy code block (NCB) from the channel, and decodes the NCB in consecutive steps to obtain a decoded transform input block (DTIB). Each CPD is generates, at an end of the decoding step, a candidate decoded data block from the DTIB by a data-demapping operation that is an inverse of a data-mapping operation applied at a polar encoder, then sends the CDDB to the TDM, which receives the CDDBs from the PPDs, generates a decoded data block (DDB), and sends the DDB to the destination.
Claims8
A team polar decoder (TPD) apparatus for use in a communication system, the TPD apparatus comprising:
- a plurality of polar decoders (PPDs), connected to a channel;
- and
- a team decision maker (TDM) connected to the PPDs and a destination,
- wherein the PPDs comprise an mth component polar decoder (CPD) for each value m∈[1, M] of a CPD index, wherein M is a number of CPDs, wherein [1, M] is a CPD index set,
- wherein the PPDs are configured to decode a polar code in accordance with a partition (I1, I2, . . . , IS) of a polar code index set [1, N], wherein N is a code length for the polar code, wherein S is a partition size,
- wherein, for each m∈[1, M], the mth CPD is configured to receive a noisy code block (NCB) y from the channel, and decode the NCB y in S consecutive steps to obtain an mth decoded transform input block (DTIB) û(m)=(û1(m), û2(m), . . . , ûN(m)), wherein, for each s∈[1, S], in an sth step of decoding, the mth CPD decodes an (m, s)th segment ûIs(m)=ûi(m):i∈Is) of the mth DTIB û(m),
- wherein, for each s∈[1, S], in the sth step of decoding, the mth CPD computes an (m, s)th metric γs(m) and decodes the (m, s)th segment ûIs(m) in accordance with an identifier vIs of a subinterval in an (m, s−1)th partition of an (m, s−1)th interval into disjoint subintervals such that the subinterval with identifier vIs contains an (m, s−1)th position variable qs−1(m), wherein the (m, s−1)th partition of the (m, s−1)th interval is chosen in accordance with an (m, s)th splitting distribution Qs(m), wherein the (m, s)th splitting distribution Qs(m) is a probability distribution on a set of all possible values of the (m, s)th segment ûIs(m),
- wherein the mth CPD is associated with an (m, s)th team Ts(m) for each s∈[0, S], wherein the (m, s)th team Ts(m) is a subset of the CPD index set [1, M], wherein, for s∈[1, S], the (m, s)th team Ts(m) contains a CPD index h∈[1, M] if and only if, for each j∈[1, s], the (h, j)th segment ûIj(h) of the hth DTIB û(h) decoded by the hth CPD has the same value as the (m, j)th segment ûIj(m) of the mth DTIB û(m) decoded by the mth CPD, wherein the (m, 0)th team T0(m) equals the CPD index set [1, M],
- wherein, for any s∈[1, S], the (m, s)th metric γs(m), the (m, s−1)th interval, the (m, s−1)th partition of the (m, s−1)th interval, and the (m, s)th splitting distribution Qs(m) are common to all members of the (m, s−1)th team Ts−1(m) in the sense that, for any CPD index h∈Ts−1(m), the (h, s)th metric γs(h) equals the (m, s)th metric γs(m), the (h, s−1)th interval equals the (m, s−1)th interval, the (h, s−1)th partition of the (h, s−1)th interval is the same as the (m, s−1)th partition of the (m, s−1)th interval, and the (h, s)th splitting distribution Qs(h) is the same as the (m, s)th splitting distribution Qs(m),
- wherein, for each m∈[1, M], the mth CPD is further configured to generate, at an end of the Sth step of decoding, an mth candidate decoded data block (CDDB) d(m) from the mth DTIB û(m) by a data-demapping operation and send the mth CDDB {circumflex over (d)}(m) to the TDM, wherein the data-demapping operation is an inverse of a data-mapping operation applied at a polar encoder (PE) in the communication system, wherein the plurality of CDDBs ({circumflex over (d)}(1), {circumflex over (d)}(2), . . . , {circumflex over (d)}(M)) contain at least two distinct CDDBs, and
- wherein the TDM is configured to receive the plurality of CDDBs ({circumflex over (d)}(1), {circumflex over (d)}(2), . . . , {circumflex over (d)}(M)) from the PPDs, generate a decoded data block (DDB) {circumflex over (d)}, and send the DDB d to the destination.
A method performed by a team polar decoder (TPD) apparatus in a communication system, the method comprising:
- receiving, at a plurality of polar decoders (PPDs) connected to a channel, a noisy code block (NCB) y from the channel;
- and
- decoding, using a team decision maker (TDM) connected to the PPDs and a destination, the NCB y,
- wherein the PPDs comprise an mth component polar decoder (CPD) for each value m∈[1, M] of a CPD index, wherein M is a number of CPDs, wherein [1, M] is a CPD index set,
- wherein the PPDs are configured to decode a polar code in accordance with a partition I1, I2, . . . , IS) of a polar code index set [1, N], wherein N is a code length for the polar code, wherein S is a partition size,
- wherein, for each m∈[1, M], the mth CPD is configured to receive the noisy code block (NCB) y from the channel, and decode the NCB y in S consecutive steps to obtain an mth decoded transform input block (DTIB) ũ(m)=(ũ1(m), ũ2(m), . . . , ũN(m)), wherein, for each s∈[1, S], in an sth step of decoding, the mth CPD decodes an (m, s)th segment ũIs(m)=ũi(m):i∈Is) of the mth DTIB ũ(m),
- wherein, for each s∈[1, S], in the sth step of decoding, the mth CPD computes an (m, s)th metric γs(m) and decodes the (m, s)th segment ũIs(m) in accordance with an identifier vIs of a subinterval in an (m, s−1)th partition of an (m, s−1)th interval into disjoint subintervals such that the subinterval with identifier vIs contains an (m, s−1)th position variable qs−1(m), wherein the (m, s−1)th partition of the (m, s−1)th interval is chosen in accordance with an (m, s)th splitting distribution Qs(m), wherein the (m, s)th splitting distribution Qs(m) is a probability distribution on a set of all possible values of the (m, s)th segment ũIs(m),
- wherein the mth CPD is associated with an (m, s)th team Ts(m) for each s∈[0, S], wherein the (m, s)th team Ts(m) is a subset of the CPD index set [1, M], wherein, for s∈[1, S], the (m, s)th team Ts(m) contains a CPD index h∈[1, M] if and only if, for each j∈[1, s], the (h, j)th segment ũIj(h) of the hth DTIB û(h) decoded by the hth CPD has the same value as the (m, j)th segment ũIj(m) of the mth DTIB ũ(m) decoded by the mth CPD, wherein the (m, 0)th team T0(m) equals the CPD index set [1, M],
- wherein, for any s∈[1, S], the (m, s)th metric γs(m), the (m, s−1)th interval, the (m, s−1)th partition of the (m, s−1)th interval, and the (m, s)th splitting distribution Qs(m) are common to all members of the (m, s−1)th team Ts−1(m) in the sense that, for any CPD index h∈Ts−1(m), an (h, s)th metric γs(h) equals the (m, s)th metric γs(m), the (h, s−1)th interval equals the (m, s−1)th interval, the (h, s−1)th partition of the (h, s−1)th interval is the same as the (m, s−1)th partition of the (m, s−1)th interval, and the (h, s)th splitting distribution Qs(h) is the same as the (m, s)th splitting distribution Qs(m),
- wherein, for each m∈[1, M], the mth CPD is further configured to generate, at an end of the Sth step of decoding, an mth candidate decoded data block (CDDB) d(m) from the mth DTIB û(m) by a data-demapping operation and send the mth CDDB {circumflex over (d)}(m) to the TDM, wherein the data-demapping operation is an inverse of a data-mapping operation applied at a polar encoder (PE) in the communication system, wherein the plurality of CDDBs ({circumflex over (d)}(1), {circumflex over (d)}(2), . . . , {circumflex over (d)}(M)) contain at least two distinct CDDBs, and
- wherein the TDM is configured to receive the plurality of CDDBs ({circumflex over (d)}(1), {circumflex over (d)}(2), . . . , {circumflex over (d)}(M)) from the PPDs, generate a decoded data block (DDB) {circumflex over (d)}, and send the DDB d to the destination.
Dependencies are inferred from the claim text.