The successive cancellation (SC) process in which symbols are decoded sequentially by processing some intermediate information is an essential component of various decoding algorithms used for polar codes and their variants. In some decoding schemes, we may need to redo this process from some specific symbol or from the first symbol. This operation is called rewinding. Rewinding the SC process seems trivial if we have access to all intermediate log-likelihood ratios (LLRs) and partial sums. However, as the block length increases, retaining all of the intermediate information becomes inefficient and impractical. Rewinding the SC process in a memory-efficient way is a problem that we address in this paper. As we store a fraction of all the intermediate information in the memory-efficient scheme, we may not be able to rewind the SC process to the target symbol index. The reason is that some of the stored intermediate information needed to decode the target symbol may have been overwritten. To recompute the lost information, we may need to rewind the process further. Before proposing the formal scheme for the rewinding process, we explore the known properties of the SC process based on the binary representation of the bit indices. Then, we introduce a new operator used for grouping the bit indices. This special grouping helps us in finding the closest bit index to the target index for rewinding. We also analytically prove that this approach gives access to the untouched intermediate information stored in the memory which is essential in resuming the SC process. Finally, we adapt the proposed approach to multiple rewinds and apply it to SC-flip decoding and shifted-pruning-based list decoding. The numerical evaluation of the proposed solution shows a significant reduction of ≥50% in the complexity of the additional decoding attempts at medium and high SNR regimes for SC-flip decoding and less for shifted-pruning based list decoding.
Read full abstract