Search

US-12621006-B2 - Batch dynamic successive cancellation flip decoding of polar codes

US12621006B2US 12621006 B2US12621006 B2US 12621006B2US-12621006-B2

Abstract

The present application relates to batch dynamic successive cancellation flip decoding of polar codes. In an example, an apparatus processes candidate codewords by using the batch dynamic successive cancellation flip decoding. The processing can include detecting a CRC failure for decoding a candidate codeword by using successive cancellation decoding. A list of flip patterns is generated for this candidate codeword and, similarly, for each of CRC-failed candidate codewords. These codewords are further batched decoded by iteratively selecting one of the flip patterns across the lists of flip patterns, decoding the corresponding candidate codeword and, if unsuccessful, updating metrics related to the flip pattern in a next decoding iteration. The batch decoding can be repeated until an expected number of codewords are successfully decoded or a maximum number of decoding iterations is reached.

Inventors

  • Arman Fazeli Chaghooshi
  • Louay Jalloul
  • Mohamad Mansour

Assignees

  • APPLE INC.

Dates

Publication Date
20260505
Application Date
20241018

Claims (20)

  1. 1 . A method comprising: storing a first list of first flip patterns corresponding to a first candidate codeword, wherein the first list is generated based on a successive cancellation decoding procedure for polar codes and is stored based on a cyclic redundancy check (CRC) failure; storing a second list of second flip patterns corresponding to a second candidate codeword, the first candidate codeword and the second candidate codeword generated according to a polar codes encoding procedure; selecting a flip pattern of the first list and the second list, the flip pattern corresponding to one of the first flip patterns or one of the second flip patterns; and decoding a codeword by at least using the flip pattern in a successive cancellation flip decoding procedure for polar codes.
  2. 2 . The method of claim 1 , wherein the flip pattern is selected based on a metric associated with the successive cancellation decoding procedure for polar codes.
  3. 3 . The method of claim 2 , wherein the flip pattern is selected further based on soft bits associated with the first candidate codeword.
  4. 4 . The method of claim 1 , wherein the codeword is decoded in a current decoding iteration, and wherein the method further comprises: prior to selecting the flip pattern, updating metrics based on a previous decoding iteration, wherein each one of the metrics corresponds to a different pattern of the first list and the second list, and wherein the flip pattern is selected based on an updated metric that corresponds to the flip pattern.
  5. 5 . The method of claim 1 , wherein the codeword is decoded in a current decoding iteration, wherein the flip pattern is a first flip pattern, and wherein the method further comprises: prior to selecting the first flip pattern and based on a previous decoding iteration, removing a second flip pattern from the first list or the second list to form a set of remaining flip patterns, wherein the first flip pattern is selected from the set.
  6. 6 . The method of claim 1 , wherein the codeword is decoded in a current decoding iteration, and wherein the method further comprises: determining that, in the current decoding iteration, an output of the successive cancellation flip decoding procedure for polar codes passes a CRC, wherein the codeword corresponds to the output.
  7. 7 . The method of claim 6 , wherein the flip pattern is a first flip pattern, wherein the codeword is a first successfully decoded codeword that is output from a current decoding iteration, and wherein the method further comprises: determining that a search for one or more additional codewords is to continue; and successfully decoding a second codeword by at least using, in a next decoding iteration, a second flip pattern in the successive cancellation flip decoding procedure for polar codes.
  8. 8 . The method of claim 7 , further comprising: removing the first flip pattern from the first list or the second list to form a set of remaining flip patterns; and selecting the second flip pattern from the set for use in the next decoding iteration.
  9. 9 . The method of claim 8 , further comprising: prior to selecting the second flip pattern, updating metrics based on the current decoding iteration, wherein each one of the metrics corresponds to a different pattern of the set, and wherein the second flip pattern is selected based on an updated metric that corresponds to the second flip pattern.
  10. 10 . The method of claim 7 , wherein a first total number “Qmax” of decoding iterations is defined per candidate codeword and is smaller than or equal to a second total number “Tmax” of decoding iterations allowed for attempting to decode multiple candidate codewords.
  11. 11 . The method of claim 1 , wherein the codeword is decoded in a current decoding iteration, and wherein the method further comprises: prior to the current decoding iteration, determining that an output of the successive cancellation flip decoding procedure for polar codes fails a CRC; and prior to the current decoding iteration, determining that a total number “Tmax” of decoding iterations allowed for attempting to decode multiple candidate codewords has not been reached, wherein the current decoding iteration is performed based on the CRC being failed and the total number “Tmax” not being reached.
  12. 12 . The method of claim 1 , wherein the second list is generated based on another successive cancellation decoding procedure for polar codes and is stored based on another CRC failure.
  13. 13 . The method of claim 11 , wherein the total number “Tmax” is defined based on an expected number of codewords to be decoded.
  14. 14 . An apparatus comprising: processing circuitry configured to: access a plurality of lists of flip patterns, each list of the plurality of lists corresponding to a different candidate codeword that is generated according to a polar codes encoding procedure, wherein a first list of the plurality of lists is generated based on a successive cancellation decoding procedure for polar codes and is stored based on a cyclic redundancy check (CRC) failure; select a flip pattern of the plurality of lists, the flip pattern corresponding to one of the flip patterns; and decode a codeword by at least using the flip pattern in a successive cancellation flip decoding procedure for polar codes.
  15. 15 . The apparatus of claim 14 , wherein the codeword corresponds to downlink control information (DCI) sent in a physical downlink control channel (PDCCH), and wherein the successive cancellation flip decoding procedure for polar codes corresponds to blind DCI decoding.
  16. 16 . The apparatus of claim 14 , wherein a total number of candidate codewords to be decoded is up to forty-four.
  17. 17 . The apparatus of claim 14 , wherein first lists corresponds to a first candidate codeword and has a different size than a second list of flip patterns corresponding to a second candidate codeword.
  18. 18 . One or more computer-readable storage media storing instructions that, upon execution by one or more processors, cause operations comprising: accessing a plurality of lists of flip patterns, each list of the plurality of lists corresponding to a different candidate codeword that is generated according to a polar codes encoding procedure, wherein a first list of the plurality of lists is generated based on a successive cancellation decoding procedure for polar codes and is stored based on a cyclic redundancy check (CRC) failure; selecting a flip pattern of the plurality of lists, the flip pattern corresponding to one of the flip patterns; and decoding a codeword by at least using the flip pattern in a successive cancellation flip decoding procedure for polar codes.
  19. 19 . The one or more computer-readable storage media of claim 18 , wherein the operations further comprise: attempting to decode a candidate codeword by at least using the successive cancellation decoding procedure; determining that an output of the successive cancellation decoding procedure corresponds to the CRC failure; and generating, based on the CRC failure, the first list corresponding to the candidate codeword.
  20. 20 . The one or more computer-readable storage media of claim 18 , wherein the codeword is decoded in a plurality of iterations, wherein a different flip pattern from the plurality of lists is selected at each decoding iteration.

Description

BACKGROUND Communications and data storage can implement techniques to detect and correct errors that may occur during communications or storage. For example, a base station can apply an encoding algorithm to information for transmission to a user equipment (UE). The UE can implement a decoding algorithm when processing information received from the base station. Similarly, memory write and read can implement encoding and decoding algorithms for information stored in memory. Ultimately, the decoded information needs to correspond to the original information. Nonetheless, for various reasons (including noise, interference, etc.), errors may exist. The coding and/or decoding algorithms can reduce the error rates. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 illustrates an example of a network environment in accordance with some embodiments. FIG. 2 illustrates examples of a system for error detection and correction in accordance with some embodiments. FIG. 3 illustrates performances examples of various polar decoding algorithms in accordance with some embodiments. FIG. 4 illustrates examples of frame error rates in accordance with some embodiments. FIG. 5 illustrates performance examples of dynamic successive cancellation flip decoding in accordance with some embodiments. FIG. 6 illustrates other performance examples of dynamic successive cancellation flip decoding in accordance with some embodiments. FIG. 7 illustrates examples of numbers of decoding attempts in dynamic successive cancellation flip decoding in accordance with some embodiments in accordance with some embodiments. FIG. 8 illustrates an example of a batch dynamic successive cancellation flip decoder in accordance with some embodiments. FIG. 9 illustrates performance examples of different decoding techniques including dynamic successive cancellation flip decoding in accordance with some embodiments in accordance with some embodiments. FIG. 10 illustrates power consumption examples of different decoding techniques including dynamic successive cancellation flip decoding in accordance with some embodiments. FIG. 11 illustrates block error rate examples of different decoding techniques including dynamic successive cancellation flip decoding in accordance with some embodiments. FIG. 12 illustrates power consumption examples of different decoding techniques including dynamic successive cancellation flip decoding in accordance with some embodiments. FIG. 13 illustrates an example of an operational flow/algorithmic structure for batch dynamic successive cancellation flip decoding in accordance with some embodiments. FIG. 14 illustrates another example of an operational flow/algorithmic structure for batch dynamic successive cancellation flip decoding in accordance with some embodiments. FIG. 15 illustrates an example of receive components in accordance with some embodiments. FIG. 16 illustrates an example of a UE in accordance with some embodiments. FIG. 17 illustrates an example of a base station in accordance with some embodiments. DETAILED DESCRIPTION Embodiments of the present disclosure relate to, among other things, batch dynamic successive cancellation flip decoding of polar codes. In an example, a user equipment (e.g., a modulator/demodulator (modem) thereof) processes information received from a base station. The processing includes decoding candidate codewords. A candidate codeword can correspond to information (e.g., control information) that the base station encodes using particular error correction codes (e.g., polar codes). The processing can include attempting to decode the candidate codewords such that, in case of a decoding success, one or more codewords are successful decoded and the relevant information is determined. The decoding can use a batch dynamic successive cancellation flip decoding procedure. This procedure iteratively decodes the candidate codewords. In each decoding iteration, one of the candidate codewords can be selected and a flip pattern is chosen from a list of flip patterns corresponding to the selected candidate word to facilitate the decoding. Metrics associated with the candidate codewords are updated at each decoding iteration. Different candidate codewords can be selected through the decoding iterations such that the decoding is not trapped in processing an irrelevant candidate codeword. By doing so, it may be possible to improve the decoding performance (e.g., block error rate and power consumption) relative to other decoding techniques while also improving the decoding latency on average. These and other advantageous technical effects are further described herein below. In the interest of clarity of explanation, various embodiments are described in connection with codewords that encode downlink control information (DCI) and with blind DCI detection. However, the embodiments are not limited as such and can similarly and equivalently apply to decoding other types of information. Such information can be stored in a me