1.2 Increasing The Throughput of Polar Decoders
1.2 Increasing The Throughput of Polar Decoders
FER
III. Maximum-Likelihood Nodes 10−3
βv = arg max (1 − 2x[i])αv[i]. (7) Simulations of a (2048, 1024) and a (32768, 29491) polar
x∈C
i=0 codes when transmitting random codewords over the additive
The complexity of (7) grows exponentially in the code di- white Gaussian noise (AWGN) channel using binary phase-
mension kv and linearly in the code length nv . Therefore, ML shift keying (BPSK) show that using the min-sum update
nodes N ML can only be used to replace N R nodes when rules with SSC and ML-SSC decoding has a negligible effect
computational resource constraints are met: calculating the on error-correction performance. These results are shown
in Fig. 3, where the ML-SSC decoder was subject to the
sum (1 − 2x[i])αv[i] for each of the 2kv candidate codewords
requires nv − 1 additions, where the signs of the operands are constraints kv = 4 and nv = 16.
determined by the value of x[i], and finding the codeword
with the maximum likelihood requires 2kv − 1 comparisons. V. Throughput
To formalize, an N ML node can replace an N R node v when It was observed that two factors significantly affect the
(2 + 1)(nv − 1) ≤ P.
kv
(8) decoding speed of SSC and ML-SSC: code rate R and code
length N. To quantify this effect, we use the information
Performing (7) when (8) is satisfied requires one time step. throughput per clock cycle, i.e. the number of information
Thus, the (8, 3) polar code can be decoded in seven time bits decoded divided by the number of clock cycles required
steps when using ML-SSC with nv = 2 and kv = 1—therefore, to complete the decoding operation. Unless otherwise stated,
P = 4 which is the minimum value required for SC and we used P = 256, kv = 4, and nv = 16. All the polar codes
SSC to achieve the aforementioned latencies—resulting in the were created for an AWGN channel with a noise variance
decoder graph in Fig. 2c where it is shown that one N ML σ 2 = 0.25 according to [7].
node, indicated by the striped pattern, replaced a subtree of The change in information throughput of SSC and ML-SSC
three nodes. decoding with respect to code rate shows a clear trend where
The operations required to perform (7) are already provided the throughput is proportional to R. Fig. 4 illustrates this trend
by the processing elements of [3], which contain comparators for a polar code of length N = 215 = 32768, where it can be
and adders. In addition, N ML nodes can use the same process- observed that SSC is 2.5 to 12.6 times faster than a semi-
ing elements already required by the N R nodes. Therefore, an parallel SC (SP-SC) decoder [3], and that ML-SSC is 5.3 to
ML-SSC decoder does not require any additional processing 20.5 times faster than SC. That is, ML-SSC is 1.6 to 3.4 times
elements beyond those already present in an SSC decoder. faster than SSC.
Since the aim of ML-SSC is to decrease decoding latency, To investigate the relation between code length and through-
not to improve error-correction performance, we chose (7) put, the information throughput of nine polar codes of lengths
over other ML decoding methods that have lower computa- varying from 211 to 219 is shown in Fig. 5 for code rates 0.5,
tional complexity but lower parallelism. 0.7, and 0.9. The information throughput of both the SSC and
728 IEEE COMMUNICATIONS LETTERS, VOL. 17, NO. 4, APRIL 2013
10 20 (15,16)
ML-SSC ML-SSC
SSC SSC (12,32)
(5,16) (7,8)
5 10
(4,8) (4,16)
(3,8)
5
(3,4)
(2,4)
0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 24 28 212 216 220
Code Rate (R) Computational Resources (P)
Fig. 4: Throughput of the ML-SSC, SSC, and SP-SC decoders Fig. 6: Throughput of the SSC and ML-SSC decoders when
for a code of length N = 215 at different rates. the number of available resources changes.
12 SP-SC (R = 0.5) of 9.1 bit/s/Hz, and running at a conservative 200 MHz will
achieve an information throughput of 9.1 × 200 = 1.82 Gbit/s.
9
VI. Conclusion
6
In this work, we presented an improved version of SSC
decoding that uses resource-constrained maximum-likelihood
nodes to increase decoding throughput by up to three times,
3 and by up to 25 times compared to semi-parallel SC decoding
using the same number of processing elements, paving the
0 10 way for multi-Gbit/s polar decoders.
2 211 212 213 214 215 216 217 218 219 220
Code Length (N)
Acknowledgment
Fig. 5: Throughput of the ML-SSC, SSC, and SP-SC decoders
The authors would like to thank Prof. Alexander Vardy and
for different codes of rates 0.5, 0.7, and 0.9.
Dr. Ido Tal at the University of California, San Diego for
helpful discussions.
ML-SSC decoders increases in a logarithmic manner in code
References
length. The rate of this increase is proportional to code rate.
ML-SSC was 4.9 to 29.3 times faster than SP-SC and 1.5 [1] E. Arıkan, “Channel polarization: a method for constructing capacity-
achieving codes for symmetric binary-input memoryless channels,” IEEE
to 2.3 times faster than SSC. The throughput improvement Trans. Inf. Theory, vol. 55, no. 7, pp. 3051–3073, 2009.
resulting from using N ML nodes for these codes is significant [2] C. Leroux, I. Tal, A. Vardy, and W. J. Gross, “Hardware architectures for
enough that the ML-SSC decoder with codes of rate = 0.5 successive cancellation decoding of polar codes,” in Proc. 2011 IEEE Int
Acoustics, Speech and Signal Processing Conf, pp. 1665–1668.
has a higher throughput than the SSC decoder with codes [3] C. Leroux, A. J. Raymond, G. Sarkis, and W. J. Gross, “A semi-parallel
of rate = 0.7, enabling the use of the lower rate codes—to successive-cancellation decoder for polar codes,” IEEE Trans. Signal
benefit from their better error-correction capabilities—without Process., vol. 61, no. 2, pp. 289–299, Jan. 15, 2013.
[4] A. Alamdar-Yazdi and F. R. Kschischang, “A simplified successive-
lowering the system’s throughput. cancellation decoder for polar codes,” IEEE Commun. Lett., vol. 15,
When P is increased for the (32768, 29491) code, the no. 12, pp. 1378–1380, 2011.
[5] C. Zhang, B. Yuan, and K. K. Parhi, “Reduced-latency SC polar decoder
throughput of SSC increases noticeably until P = 256. Past architectures,” in Proc. 2012 IEEE International Conference on Commu-
this point, the improvement decreases and is barely present nications, pp. 1–5.
when increasing P from 512 to 1024. ML-SSC shows contin- [6] E. Arıkan, “Systematic polar coding,” IEEE Commun. Lett., vol. 15, no. 8,
pp. 860–862, 2011.
ued improvement as P increases. This is expected as in the [7] I. Tal and A. Vardy, “How to construct polar codes,” arXiv [cs.IT], May
extreme, and impractical, case where P = (2k + 1)(n − 1), the 2011. Available: http://arxiv.org/abs/1105.6164
decoder will have sufficient resources to decode a received
vector in one time step. The effect of P on information
throughput is shown in Fig. 6.
It was noted that the structure of the polar code, affected
by the target channel quality, has a significant impact on the
speed of both the SSC and ML-SSC decoders. This is due to
the distribution of frozen bits, which affects the number of the
N 0 , N 1 , and N R nodes and the resulting decoder-tree size.