Polar Codes with Memory
Wenyue Zhou, Qiang Liu, Yifei Shen, Xiaofeng Zhou, Chuan, Zhang, Yaohua Xu, Liping Li

TL;DR
This paper introduces polar codes with memory (PCM), which enhance error correction by sharing mutual information bits between consecutive blocks, significantly reducing packet error rate and latency across various decoding schemes.
Contribution
The paper proposes PCM, a novel coding scheme that improves error correction and latency performance, compatible with multiple decoding algorithms, and demonstrates hardware implementations.
Findings
PER decreases quadratically with PCM
PCM achieves comparable PER to higher-list SCL decoding
Hardware decoders significantly reduce latency and increase throughput
Abstract
Polar codes with memory (PCM) are proposed in this paper: a pair of consecutive code blocks containing a controlled number of mutual information bits. The shared mutual information bits of the succeeded block can help the failed block to recover. The underlying polar codes can employ any decoding scheme such as the successive cancellation (SC) decoding (PCM-SC), the belief propagation (BP) decoding (PCM-BP), and the successive cancellation list (SCL) decoding (PCM-SCL). The analysis shows that the packet error rate (PER) of PCM decreases to the order of PER squared while maintaining the same complexity as the underlying polar codes. Simulation results indicate that for PCM-SC, the PER is comparable to (less than 0.3 dB) the stand-alone SCL decoding with two lists for the block length . The PER of PCM-SCL with lists can match that of the stand-alone SCL decoding with …
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsError Correcting Code Techniques · Advanced Wireless Communication Techniques · DNA and Biological Computing
Polar Codes with Memory
Wenyue Zhou, Qiang Liu, Yifei Shen, Xiaofeng Zhou, Chuan Zhang, Yaohua Xu, and Liping Li This work was supported in part by the National Natural Science Foundation of China through grant 61501002, in part by the Natural Science Project of Ministry of Education of Anhui through grant KJ2015A102, and in part by the Talents Recruitment Program of Anhui University.Wenyue Zhou, Yaohua Xu and Liping Li are with the Key Laboratory of Intelligent Computing and Signal Processing, Ministry of Education, Anhui University, Hefei, China ([email protected]). Qiang Liu, Yifei Shen, Xiaofeng Zhou and Chuan Zhang are with the National Mobile Communications Research Laboratory, Southeast University, Nanjing, China ([email protected])
Abstract
Polar codes with memory (PCM) are proposed in this paper: a pair of consecutive code blocks containing a controlled number of mutual information bits. The shared mutual information bits of the succeeded block can help the failed block to recover. The underlying polar codes can employ any decoding scheme such as the successive cancellation (SC) decoding (PCM-SC), the belief propagation (BP) decoding (PCM-BP), and the successive cancellation list (SCL) decoding (PCM-SCL). The analysis shows that the packet error rate (PER) of PCM decreases to the order of PER squared while maintaining the same complexity as the underlying polar codes. Simulation results indicate that for PCM-SC, the PER is comparable to (less than 0.3 dB) the stand-alone SCL decoding with two lists for the block length . The PER of PCM-SCL with lists can match that of the stand-alone SCL decoding with lists. Two hardware decoders for PCM are also implemented: the in-serial (IS) decoder and the low-latency interleaved (LLI) decoder. For , synthesis results show that in the worst case, the latency of the PCM LLI decoder is only of the adaptive SCL decoder with , while the throughput is improved by 13 times compared to it.
Index Terms:
polar codes, successive cancellation decoding, mutual information bits, interleaved decoder, polar codes with memory.
I Introduction
Polar codes invented by Arıkan [1] have been proven to be a coding scheme that can achieve the capacity of symmetric binary-input discrete memoryless channels (B-DMCs) with low complexity of encoding and successive cancellation (SC) decoding. Nevertheless, on account of the insufficient polarization, the error-correcting performance of moderate length polar codes under SC decoding is unsatisfactory [2, 3]. To acquire better finite-length performance, successive cancellation list (SCL) decoding was proposed in [4, 5, 3] and it is comparable to low-density parity-check (LDPC) codes in terms of error-correcting performance. Belief propagation (BP) was an alternative decoding algorithm [6, 2, 7] over the factor graph of polar codes. It has better performance than the SC decoding and supports parallel decoding. But the bit error rate (BER) performance of polar codes with BP decoding is still inferior to the SCL decoding (shown in this paper).
In this paper, a new construction scheme of polar codes is proposed by sharing a controlled number of information bits between two consecutive encoding blocks. The input stream is divided into an odd stream and an even stream. In the encoding process, the corresponding odd and even blocks share a fraction of information bits, which are called mutual information bits in this paper. Cyclic redundancy check (CRC) bits are attached to the information bits in each block. The encoding of these two blocks can be done sequentially or in parallel. In the decoding process, only when one of the pair is decoded correctly, the succeeded block can provide the estimations of the mutual information bits to the failed block. With a proper design of the positioning of the mutual information bits, the failed block can be recovered with another round of decoding.
Since the two consecutive blocks share mutual information bits, it is like there is some memory in the encoding process. Therefore, we call the proposed scheme polar codes with memory (PCM) to differentiate this scheme from the traditional polar encoding scheme. In addition, this scheme can be directly extended to () blocks. Based on this, a general PCM is proposed in this paper, which reduces the effective code rate loss while maintaining the same order of PER, compared with the direct extension of PCM. Analysis shows that the packet error rate (PER) of PCM is only square of that of the underlying polar codes. Note that this great performance improvement comes with a complexity the same as the underlying polar codes. The decoding of PCM can be implemented by the SC, BP, or SCL decoding. In other words, the decoding complexity of PCM is the complexity of the underlying SC, BP, or SCL decoding. For ease of description, PCM-SC- is used to refer to the PCM employing the SC decoding and two blocks sharing mutual information bits. Similarly, PCM-BP- and PCM-SCL- refer to two blocks sharing mutual information bits, each block employing the BP and SCL decoding, respectively. In addition, PCM-SC- () refers to the general PCM employing the SC decoding with blocks.
The simulation results show that the PER of PCM-SC-2 is only 0.3 dB away from the stand-alone SCL decoding with ( being the list size) for the studied case in the paper. The performance of PCM-BP-2 can achieve the same performance of the stand-alone SCL decoding with . In addition, the performance of PCM-SCL-2 with lists matches the performance of the stand-alone SCL decoding with lists. Two hardware architectures are also proposed in the paper: an in-serial (IS) architecture and a low-latency interleaved (LLI) architecture. Implementation results show that for the block length 256, the proposed LLI architecture for PCM with the SC decoding has lower latency and higher throughput compared to the adaptive SCL decoder () [8].
The rest of the paper is organized as follows. Section II is on the basics of polar codes. Section III introduces the proposed PCM scheme. Specifically, Section III-A introduces the encoding process of PCM, Section III-B is about the corresponding decoding process, and in Section III-C, the optimal strategy to position mutual information bits is proposed. The error performance of PCM is analyzed in Section III-D. The application of a BP or SCL decoder to PCM is introduced in Section III-E. We also compare PCM with Turbo codes in Section III-F. Moreover, we extend the PCM to blocks in Section IV. In Section V, the simulation results are provided to validate the proposed PCM. In Section VI, the hardware architectures of PCM decoding are implemented. The concluding remarks are provided at the end.
II Preliminaries of Polar Codes
Denote as an -length vector . Let denote a symmetric B-DMC, with the input alphabet , the output alphabet , and the channel transition probability , , . Let () denote the block code length. The generator matrix of polar codes is , which is given by . Here denotes the bit-reversal permutation matrix, F=\bigl{[}\begin{smallmatrix}1&0\\ 1&1\end{smallmatrix}\bigr{]}, and represents the -th Kronecker power of over the binary field . The codewords can be obtained by , where is the source vector, consisting of information bits and frozen bits (the fixed information in the source vector). The codeword is transmitted over independent copies of , written as , with a transition probability .
Channel polarization process has two parts: channel combining and channel splitting. Channel combining is a phase that combines copies of in a recursive manner to produce a vector channel , with . Channel splitting is an operation splitting back into a set of binary-input channels , . The -th such channel is called bit channel (meaning the channel that bit virtually experiences). According to [1], (the capacity of bit channel ) converges to either 0 or 1 as tends to infinity, and the fraction of the bit channels with capacity 1 approaches .
With finite block lengths, not all bit channels are fully polarized. The principle of polar codes is to choose the most reliable bit channels among bit channels to convey information bits. The other bits are called frozen bits which are fixed to be transmitted on the rest channels. The good information set is denoted as and complementary set is . Denote as a subvector of the vector that takes elements of it from the set .
The SC decoder is proposed in [1] and it recursively computes the likelihood ratio (LR) of bit from
[TABLE]
where is the estimation of bits . The SC decoder generates the estimate of bit () from
[TABLE]
The decoding complexity of SC is [1].
III Polar Codes with Memory
In this section, the encoding of PCM and the decoding strategies are introduced, which improves the performance of polar codes under the SC, BP or SCL decoding.
III-A Encoding with Memory
The top-level scheme is shown in Fig. 1. Let denote the number of CRC bits in each block and these CRC bits are part of the information bits. Then there are pure information bits in each block. Let be the number of the mutual information bits , and the number of the rest information bits is denoted as .
In the encoding process, a frame of sequential input bits is first divided into chunks of the length . Then each chunk is divided into two blocks: Block Odd (with bits) and Block Even (with bits). Block Even then takes the bits from Block Odd to form an input vector with the length for its CRC generation. In this way, there are clearly mutual information bits which are both included in Block Odd and Block Even. These mutual information bits are placed at the same indices, and the mutual information set is denoted as . The input bit stream arrangement is shown in Fig. 2.
The encoding of the two blocks can be done sequentially or in parallel as seen from Fig. 1, where both the CRC attachment and the polar encoding are performed to Block Odd and Block Even alternatively, under the control of a switch.
III-B The Decoding Process
The symbols of encoded code blocks are transmitted over the symmetric B-DMC channel , and the noisy version of them are observed at the receiver side. The receiver collects chucks of samples with a length of : the first samples for Block Odd and the rest for Block Even. The SC decoder generates an estimate for each block. The CRC check module returns a check result for each block. The possible check results are:
- •
Case : Both Block Odd and Block Even are decoded correctly;
- •
Case : Block Odd is decoded correctly but Block Even is decoded incorrectly;
- •
Case : Block Odd is decoded incorrectly while Block Even is decoded correctly;
- •
Case : Both Blocks are decoded incorrectly.
For Case 1 and Case 2, since Block Odd is decoded correctly, the estimations of the mutual information bits are stored in the memory for possible re-use by the second round of decoding of Block Even. For Case 1, since Block Even is also decoded correctly, there is no need for any more actions. For Case 2, Block Even is decoded incorrectly, a new round of SC decoding for Block Even can be carried out. For Case 3 and Case 4, since Block Odd is decoded incorrectly, the initial LR values of this block need to be saved for a possible new round of decoding. For Case 3, the correctly decoded Block Even can provide the estimations of the mutual information bits to Block Odd, invoking a new round of SC decoding of Block Odd. For Case 4, since Block Even is also decoded incorrectly, there is nothing the decoder can do for both blocks.
A more detailed description of the decoding process when a new round of SC decoding occurs is as follows. The estimations of the mutual information bits from the correctly decoded block are fed to the incorrectly decoded block. Take Case 2 as an example. Here the decoder of Block Even can repeat the SC decoding up to the first bit in . When it reaches to the first bit with the index , then the decoder takes this bit as a frozen bit: no matter what the calculated LR value is for , it is assigned to the decision taken from Block Odd. The SC decoding process goes on until the end, treating all bits in as frozen bits. The re-decoding of Block Odd in Case 3 is the same as that of Case 2.
III-C Positioning of Mutual Information Bits
Every two consecutive transmitting blocks share mutual information bits. The positioning of mutual information bits is to find an optimal way in assigning these mutual information bits to the input of the two blocks (Block Odd and Block Even). Here “optimal” means the best system error performance. The exact formulation is derived as follows. The size of set is and the subvector contains the mutual information bits. Theoretically, there are ways to choose the set . Assume the information set is ordered in the ascending order with respect to the bit channel reliability. In other words, there exists the relationship of , where is the error probability of the -th information bit. The following proposition states an optimal way to achieve the best union bound.
Proposition 1**.**
Supposing the information set is ordered in the ascending order with respect to the bit channel reliability, then the set containing the first elements of the set as the mutual information bits indices can produce the minimum union bound.
Proof.
Define the PER over the information set as . Then its union bound [9] is
[TABLE]
With a pair of consecutive code blocks, when re-decoding is performed for either of them, it is equivalent to the case that the information set of the other block is . This is because one block is decoded correctly and the mutual information bits are now considered as frozen bits for another block. In such circumstance, the union bound for the incorrectly decoded block is:
[TABLE]
Supposing set is any other mutual information set, so the equivalent information set of the incorrect block can be similarly derived as . So we can get
[TABLE]
Because set contains the indices corresponding to the largest error probabilities in , it is obvious that
[TABLE]
Therefore,
[TABLE]
It means that the union bound of is smaller than . Since is arbitrary, we can conclude that has the smallest union bound. ∎
III-D Error Performance Analysis
In this section, the error performance of PCM is analyzed. Here we omit the inside argument of for compactness. Instead, the symbol is used to represent the underlying PER of polar codes with the information set . The PER of PCM consists of two parts:
- •
Part 1: Block Odd and Block Even are both decoded incorrectly, corresponding to Case 4 in Section III-B.
- •
Part 2: The re-decoding of Block Even (Case 2) or Block Odd (Case 3) fails.
For Part 1, the error probability is . For Part 2, supposing the PER of the re-decoding is , the error probability is therefore . The PER of PCM is therefore:
[TABLE]
With the optimal placement of the mutual information bits in Section III-C, there must be some blocks which can be recovered with the help of additional frozen bits. Representing by , where can be obtained empirically for now, Eq. (10) can be rewritten as:
[TABLE]
By Eq. (11), it is shown that with the same complexity of the SC decoding, PCM can achieve a PER which is on the order of the underlying PER squared.
III-E Decoding with a BP or SCL Decoder
In the proposed PCM, the SC decoding can be perfectly replaced by the BP or SCL decoding. For Case 2 and Case 3, only one block is decoded correctly. The correctly decoded block can provide correct decisions of the mutual information bits to be used by the incorrectly decoded block. Here note that for the BP decoding, the best way to use these correct decisions is to treat the mutual information bits as frozen bits, instead of using the soft values of them. The reason is simple: by treating them as frozen bits, the initial LR values of these bits are equivalently set to be infinity, which is definitely better than using finite soft LR values from the correctly decoded block. As for the SCL decoding, the mutual information bits are treated as frozen bits directly. Therefore, even with the BP or SCL decoding for PCM, the mutual information bits are used in the same way as the PCM employing the SC decoding.
III-F Comparison with Turbo Codes
The encoding of PCM shares a certain amount of information bits between a pair of consecutive blocks. This can be compared with Turbo codes with two parallel identical encoders. Compared to Turbo codes, there are several differences.
First, all the incoming information bits go through two identical encoders for Turbo codes. While PCM only shares a fraction of information bits between two encoding blocks, enabling a flexible code rate configuration. The second difference is that PCM does not constantly exchange soft information between two blocks in the decoding process. Instead, only when one block fails and the other succeeds, estimations of the mutual information bits are fed from the succeeded block to the failed block. The information pass can be considered as a sporadic procedure: the average percent of all additional rounds of decoding is only (denoted as )
[TABLE]
Compared with stand-alone polar codes, the additional decoding can result in a significant reduction in PER as shown in Eq. (11), and it accounts for only a small percentage of the overall decoding operations.
IV General Polar Codes with Memory
In Section III, PCM is proposed where two consecutive blocks share a controlled number of information bits. A natural question arises: can we extend this scheme to polar blocks and possibly achieve a better error performance? The direct extension of the encoding scheme from two blocks to blocks () is first analyzed in this section. Then an improved encoding scheme is proposed which achieves the same order of the PER while improves the overall code rate of the direct extension. This improved version is called general PCM in this paper.
IV-A Direct Extension of Polar Codes with Memory
The PER of PCM in Section III-D is , where each chunk contains two blocks. When this scheme is extended to blocks with each containing mutual information bits, the PER consists of the following parts:
- •
Part 1: Only one block is decoded incorrectly, and the new round of the decoding fails again;
- •
Part 2: Two blocks are decoded incorrectly, and at least one block in the new round of decoding fails again;
- •
…
- •
Part : All of the blocks are decoded incorrectly.
For Part 1, because the re-decoding of the failed block fails again, there is one block error among polar blocks. The PER in this case is therefore:
[TABLE]
For Part 2, with two blocks failed, the final block error among blocks consists of two case: 1) one of the re-decoded blocks fails and 2) both of the re-decoded blocks are decoded incorrectly. Therefore, the PER is:
[TABLE]
Generally, for Part , , the error probability is:
[TABLE]
For Part , because all of the blocks are decoded incorrectly, the error probability is simply . Accumulating the error probability of each part and simplifying the formula, the PER of the direct extension of PCM is obtained:
[TABLE]
Replacing by in Eq. (16), we can obtain a new PER:
[TABLE]
With a relatively small , the new PER is dominated by , which corresponds to the situation when only one block is decoded incorrectly. All the other parts have terms on the order of at least . Based on this fact, a general encoding scheme in next section is proposed to deal with the case where one block is decoded incorrectly among blocks. For all the other cases, no re-decoding is performed. This enables the scheme to still maintain the same PER order while improves the overall code rate.
IV-B The General Polar Codes with Memory
In this section, a general encoding scheme of PCM is proposed. From the discussions in the previous section, it can be seen that the direct extension of the encoding scheme does not increase the minimum order of the PER. The PER performance is limited by the error event that there is only one failed block among blocks. All the other error events have lower PER level. If the encoding scheme is designed to only recover the limiting error event while ignoring those error events with lower PER level, then the overall effective code rate can be improved.
For the direct extension of PCM, the effective overall code rate is
[TABLE]
with a rate loss of , where denotes the code rate of the underlying polar codes. To reduce the rate loss of the direct extension of PCM, a general encoding scheme is proposed. Fig. 3 shows such an input bit arrangement of the general PCM, where each chunk contains blocks. In Fig. 3, the first blocks have their own information bits, no mutual information bits are shared among them. However, for each of these blocks, information bits are taken out and added together (modulo two addition). The resultant bits are put as the mutual information bits for the last block. So the input bit arrangement of the general PCM can be shown as follows:
[TABLE]
where , denotes the mutual information bits of block . The positioning of the mutual information bits for all blocks follows Proposition 1: they are put as those most poorly protected information bits in each block.
In this way, the effective code rate of the general PCM is:
[TABLE]
With a large , the fractional rate loss is negligible with a constant . However, a large comes with a higher decoding complexity. Trade-off can always be made between a small rate loss and a lower decoding latency.
The design of the general encoding scheme can recover the mutual information bits of the failed block if all other blocks in the chunk are decoded successfully: . This scheme can not correct more than one block error among blocks. When there is only one incorrectly decoded block, the correct mutual information bits can be recovered and a new round of decoding can be performed.
For the general PCM, the new round of decoding occurs only when one block is decoded incorrectly, the PER of our proposed scheme is:
[TABLE]
which can be rewritten by replacing by :
[TABLE]
Comparing Eq. (17) and Eq. (22), the general PCM scheme has negligible performance loss compared with the direct extension scheme.
V Simulation Results
In this section, we provide simulation results to show the performance of PCM. The channel is the additive white Gaussian noise (AWGN) channel. The block length of the polar codes is , and the number of underlying information bits is , including a 12-bit CRC with a generator polynomial . The code rate of the underlying polar codes is therefore . The number of mutual information bits shared between two consecutive blocks is set as .
Fig. 4 reports the BER performance of the PCM with two consecutive blocks sharing mutual information bits. The effective code rate of the PCM-SC-2 is . For a fair comparison, the code rate of the stand-alone polar codes with SC, BP, and SCL decoding is adjusted as , and the stand-alone polar codes with SC and BP decoding also contain a 12-bit CRC. For the stand-alone SCL decoding, the list size is simulated for both and . It is observed that the PCM-SC- outperforms the traditional SC and BP decoding by about 0.41 dB and 0.22 dB at BER=, respectively. In addition, PCM-SC-2 achieves a comparable performance (less than 0.3 dB) as the SCL decoding with at the same BER level. On the other hand, the PCM-BP- achieves the same performance as the SCL decoding with when dB. Fig. 5 shows the corresponding PER performance, and the trend is consistent with that shown in Fig. 4.
Fig. 6 shows the simulated PER of the PCM-SC-2 and the PER analyzed in Eq. (11). Here the maximum (6.9) and the minimum (0.38) values of are found from the simulations, producing the and in Fig. 6. It is observed that the PER performance of the PCM-SC-2 follows the lower bound for small values (less than 3 dB), and it follows the upper bound for large values (larger than 3 dB), which indicates that the PER performance of the PCM-SC-2 is on the level of PER squared of the underlying polar codes.
Fig. 7 reports the PER performance of the PCM employing the SCL decoding. It is shown that the PCM-SCL-2 with achieves the same performance as the stand-alone SCL decoding with when dB. And the PCM-SCL-2 with and outperform the stand-alone SCL decoding with and by about 0.1 dB and 0.15 dB at PER=, respectively.
The good performance of PCM comes at an additional round of decoding, as shown by Eq. (12). Fig. 8 shows the ratio of the additional decoding to the overall decoding for the same system in Figs. 4 and 5. The curve labeled as shown in this figure is the PER of the underlying polar codes. The success rate of the additional decoding is also provided in this figure, shown by the line with asterisks. It can be seen that for dB, the additional decoding rate and the additional success rate are matched. What is important is that the additional decoding efforts are controlled by the PER of the underlying polar codes: the curve also matches closely with the other two curves for large . This can be seen from Eq. (12): when is small ( approaches 1), the additional decoding rate is determined by . The decoding failure rate of PCM is therefore left with an order of .
Fig. 9 presents the PER curves of the general PCM with , and the parameters are the same as those in Fig. 4. By applying the proposed general encoding scheme, the PER of PCM-SC-3 can be represented as follows:
[TABLE]
According to Eq. (20), the code rate of PCM-SC- is , so the stand-alone polar codes with SC, BP, and SCL decoding all have the same adjusted code rate as . It can be seen that PCM-SC-3 is about 0.18 dB worse compared with the stand-alone SCL with at PER= level.
VI Hardware Architecture
In this section, two hardware architectures for PCM-SC-2 are proposed—the IS architecture and the LLI architecture. The IS architecture is based on the SC decoder proposed in [10], where the processing elements (PEs) are designed with pre-computation. The proposed architecture is capable of performing both SC decoding and PCM-SC-2 decoding. The LLI architecture is inspired by the 2-interleaved SC polar decoder [11], and it can reduce decoding latency remarkably with only a small increase in hardware consumption compared with the IS architecture.
VI-A In-serial PCM-SC-2 Decoder
In order to increase hardware utilization and reduce computational complexity, the decoder processes the data in the form of log-likelihood ratio (LLR) instead of LR. The top-level architecture of the proposed IS PCM-SC-2 decoder is shown in Fig. 10. It mainly consists of five modules: the LLR memory module, the SC decoder module, the CRC check module, the feedback module, and the bit memory module. Compared with the conventional SC decoder [10], the LLR memory module and the bit memory module are additional.
The LLR memory is used to store LLRs which are needed for Case 2 and Case 3. The bit memory module is an important module in the architecture. In the conventional SC decoder, the location and the content of frozen bits are set in advance. When the bit memory receives a frozen bit, it neglects it, and this frozen bit is sent to the feedback module directly. In the PCM-SC-2 decoder, when Block Odd and Block Even are decoded in the first round, they are decoded in the same way as in a conventional SC decoder. When Block Odd or Block Even passes the CRC check, the bit memory immediately stores the mutual information bits of this block. When it comes to Case 2 and Case 3, the bit memory will read mutual information bits and treat them as frozen bits in the second round decoding of the failed block. In this way, the mutual information bits estimates from the correctly decoded block are effectively fed to the bit memory of incorrectly decoded block.
VI-B Low-latency Interleaved PCM-SC-2 Decoder
It should be noticed that when it comes to Case 2 and Case 3, the decoding latency of the IS PCM-SC-2 decoder is times of the conventional SC decoder. When Block Odd or Block Even performs a new round of decoding, the computation of LLRs is redundant before the first erroneous mutual information bit. Based on this, an LLI architecture employing interleaved decoding is proposed and shown in Fig. 11, which is introduced as follows.
For a conventional -bit SC decoder, there are stages—Stage 1 to Stage , with only one stage being active in a clock cycle. As described in [11], a 2-interleaved SC decoder can decode two polar blocks simultaneously. Inspired by this, the LLI architecture is proposed. The main idea is that when Block Odd is being decoded in Stage , Block Even can be decoded in Stage since this stage is idle for Block Odd. The decoding process of the two blocks will conflict in the last stage—Stage , because every block needs to stay in Stage for two clock cycles. Therefore, an additional PE is needed in this stage. As shown in Fig. 11, LLI PCM-SC-2 decoder has an extra PE in the Stage . In addition, two independent bit memories and feedback modules are designed for Block Odd and Block Even, in order to decode them simultaneously. Fig. 12 shows the PE of the LLI PCM-SC-2 decoder. It has two additional registers which are used to store LLRs of the two blocks, compared with that of the IS PCM-SC-2 decoder.
With the proposed design, whenever a mutual information bit in Block Even is decoded, it can be compared with the mutual information bit of the same location in Block Odd (which was decoded one clock cycle before). If the two bits are different, all intermediate LLR values of the two blocks, which are stored in the registers, will be immediately sent to the breakpoint memory, and then the decoding process continues. When it comes to Case 2 or Case 3, the incorrectly decoded block starts the second round of decoding from the position of the first different mutual information bit, and the intermediate LLRs are directly read from the breakpoint memory instead of being calculated. In the studied case of PCM with the same parameters as those of Fig. 4, the indices of the first mutual bit and the last mutual bit are 32 and 209, respectively. It means that if the second round of decoding is required, the computation of the LLRs before the -th bit is avoided in the worst case, and the computation of the LLRs before the -th bit is avoided in the best case.
VI-C Implementation Results
The two decoders are implemented on the Xilinx ZNYQ-7000 field-programmable gate array (FPGA) platform. The latency of the LLI decoder is lower than that of the IS decoder, and it is reduced nearly by half in the first round of decoding, due to the interleaved decoding for Block Odd and Block Even. It is also reduced in the second round of decoding, because the LLI decoder can begin with the first erroneous mutual information bit. Fig. 13 shows the reduction rate of the average latency for the LLI PCM-SC-2 decoder in the second round of decoding, and the number of the samples is 100000 at each . It is remarkable that the LLI PCM-SC-2 decoder can reduce the latency of the second round decoding by and at dB and dB, respectively. Fig. 14 shows the average latency of the two decoders. It can be seen that the average latency of the LLI PCM-SC-2 decoder is approximately half of that of the IS PCM-SC-2 decoder because the latency reduction rates are both around in the first round and the second round.
Table I shows the synthesis results comparison of different polar decoders for , including the IS and LLI PCM-SC-2 decoders, the combinational SC decoder in [12], and the adaptive SCL decoder [8] with and . As shown in Table I, the IS PCM-SC-2 decoder consumes the least hardware resources, although the maximum throughput is inferior to the others. The total consumptions (FF and LUT) of the IS PCM-SC-2 decoder and the LLI PCM-SC-2 decoder are only and of the consumption of SC decoder in [12], respectively. The hardware consumption of the LLI PCM-SC-2 decoder is and of the consumption of adaptive SCL decoder with and , respectively. The reason is that the SCL decoder needs SC decoder modules while the proposed architecture only needs one. Moreover, the decoders in [8] and [12] use additional RAM and Block RAMs, which increases the consumption of hardware resources, while the proposed PCM-SC-2 decoders do not.
Table I also shows the range of the latency and the throughput of the PCM-SC-2 decoders and the adaptive SCL decoder. It is observed that the minimum latency and the maximum throughput of the LLI PCM-SC-2 decoder are comparable to those of the adaptive SCL decoder with , and are slightly superior to those of the adaptive SCL decoder with . As for the worst situation, the maximum latency of the LLI PCM-SC-2 decoder is only and of the adaptive SCL decoder with and , and the minimum throughput is improved by more than 13 and 15 times compared to them, respectively.
VII Conclusion
In this paper, PCM employing the SC, BP, or SCL decoding is proposed. By sharing a certain amount of mutual information bits between a pair of blocks, this scheme can bring down the PER to the square of the underlying polar codes. Results show that for the block length 256, the proposed PCM-SC-2 and PCM-BP-2 decoders can match the PER of the stand-alone SCL decoder with two lists. The PER performance of PCM-SCL-2 decoder with lists can match the PER of the stand-alone SCL decoder with lists. In the meantime, the proposed LLI hardware architecture for PCM can achieve 13 times more throughput compared to the adaptive SCL decoder with two lists when the block length in the worst case.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] E. Ar ı italic-ı \i kan, “Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,” IEEE Trans. Inf. Theory , vol. 55, no. 7, pp. 3051–3073, 2009.
- 2[2] N. Hussami, S. Korada, and R. Urbanke, “Performance of polar codes for channel and source coding,” in Proc. IEEE Int. Symp. Inf. Theory , June 2009, pp. 1488–1492.
- 3[3] I. Tal and A. Vardy, “List decoding of polar codes,” IEEE Trans. Inf. Theory , vol. 61, no. 5, pp. 2213–2226, 2015.
- 4[4] K. Niu and K. Chen, “CRC-aided decoding of polar codes,” IEEE Commun. Lett. , vol. 16, no. 10, pp. 1668–1671, October 2012.
- 5[5] K. Chen, K. Niu, and J. Lin, “Improved successive cancellation decoding of polar codes,” IEEE Trans. Commun. , vol. 61, no. 8, pp. 3100–3107, August 2013.
- 6[6] E. Ar ı italic-ı \i kan, “A performance comparison of polar codes and reed-muller codes,” IEEE Commun. Lett. , vol. 12, no. 6, pp. 447–449, 2008.
- 7[7] A. Eslami and H. Pishro-Nik, “On bit error rate performance of polar codes in finite regime,” in Proc. Annual Allerton Conf. on Commun., Control, Computing (Allerton) , 2010, pp. 188–194.
- 8[8] A. Süral and E. Ar ı italic-ı \i kan, “An FPGA implementation of successive cancellation list decoding for polar codes,” Ph.D. dissertation, Bilkent Univ., Ankara, 2016.
