Polar Codes for 5G Bin Li, Senior Technical Expert Huawei Technologies NASIT, San Diego, August 13th, 2015 Bin Li, Senior Technical Expert Huawei Technologies
Contents Polar Codes for 5G Performance Comparisons Low-Complexity Parallel SC-List Decoder Latency and Power Reduction
Polar Codes for 5G Encoder: Polar concatenated with CRC Decoder: Adaptive SC-List decoder
Polar Codes for 5G Polar concatenated with CRC Increase minimum distance of Polar codes Adaptive SC-List decoder SC-List provides ML-approaching decoding Adaptive SC-List provides latency/power reduction
Flexible Coding Rate and Block Size Flexible coding rate K/N arbitrarily increase/decrease K for any given N Flexible block size N perform bit-reversal puncturing to obtain a polar code with any arbitrary block size
Puncturing of Polar Codes Bit-reversal puncture of Polar code It is extremely difficult to find a “good” puncture pattern to obtain a punctured polar code Alternatively we propose a simple solution: Puncture Polar codes first ; Select the frozen and information bits.
Puncturing of Polar Codes Bit-reversal puncture: For example, N=16, 4 bits to be punctured, (X0000,X1000,X0100,X1100) Compute reliabilities of (U0,U1,…,U N-1) Select K most reliable bits as information bits.
Puncturing of Polar Codes Rate Matching Puncture Frozen bit 000 000 Frozen bit X1 001 100 Frozen bit X2 010 010 Good bit U1 X3 011 110 Frozen bit 100 001 Good bit U2 X4 101 101 Good bit U3 X5 110 011 Good bit U4 X6 111 111 N=6, K=4, R=2/3 Bit Reversal Order
Capacity-Achieving Polar HARQ HARQ: Incremental Freezing After m transmissions, the reliabilities of all information bits are computed based on all received data. The most unreliable information bits are encoded and sent at the next transmission.
Polar HARQ: Incremental Freezing Polar code (16,12) with 4 transmissions
Polar HARQ: Incremental Freezing 2nd Polar (16,6): If it is decoded correctly, after feedback, the 1st Polar (16,12) becomes a (16,6) code 3rd Polar (16,4): if it is decoded correctly, after feedback, the 2nd (16,12) becomes a (16,4) code, after the decoding and feedback, 1st (16,12) becomes a (16,4) code
Polar HARQ: Capacity-Achieving 1st (N,RN) is a capacity-achieving code of rate R 2nd Polar (N,RN/2) is a capacity-achieving code of rate R/2, 3rd Polar (N,RN/3) is a capacity-achieving code of rate R/3 4th Polar (N,RN/4) is a capacity-achieving code of rate R/4
Polar HARQ: Incremental Freezing Same bit ordering at all encoders for soft combining
Polar HARQ: Joint Decoding Soft combining at decoder
Contents Polar Codes for 5G Performance Comparisons Low-Complexity Parallel SC-List Decoder Latency and Power Reduction
Polar and Binary LDPC, N=256, R=1/2 0.8dB gain when L=32768
RM-Polar and Non-Binary LDPC,N=128,R=1/2 [1] Baldi-Bianchi-Chiaraluce…, “Advanced channel coding for space mission telecommand links”, IEEE VTC 2013 Fall
Polar and Theoretical Limit N=2048, R=1/2, 0.25dB from theoretical limit
Polar Replaces LTE-turbo Polar can use the 24-bit CRC at SC-List decoder “for free”
Polar and LTE-turbo, N=256, K=88 Polar uses 24-bit CRC in LTE standard
Polar and LTE-turbo, N=2048, K=1024 Polar uses 24-bit CRC in LTE standard
Contents Polar Codes for 5G Performance Comparisons Low-Complexity Parallel-List Decoder Latency and Power Reduction
Parallel SC-List Decoder In order to increase decoding throughput Parallel decoder observes multiple bits at each decoding time
Sorting Problem of Parallel SC-List Decoder List Size L=32 2 bits per decoding time, 4*L=128 4 bits per decoding time, 16*L=512 The sorting of 512 paths to obtain the top 32 is very complex
Decision-Aided Algorithm According to Polar principle, all information bits have different reliabilities; Divide the information bits into two sets; Good bits having higher reliabilities; Bad bits having lower reliabilities.
Decision-Aided Algorithm If both U2k-1 and U2k are good bits, each survival path only output one path: max{Pr(0,0), Pr(0,1), Pr(1,0), Pr(1,1)}; If both U2k-1 is a bad bit and U2k is a good bits, each survival path outputs two paths: max{Pr(0,0), Pr(0,1)}; max{Pr(1,0), Pr(1,1)};
Decision-Aided Algorithm (2048, 1040) + 16-bit CRC, R=1/2, 4 bits per decoding time 75% and 80% of 1040 information bits are selected as good bits
Decision-Aided Algorithm Bit patterns of Polar code (2048, 1040) Good-bit patterns for each bit pattern
Decision-Aided Algorithm Complexity (M*M) (M*log2(M)) No Decision 57640 14836 Decision-Aided (75%) 2664=4.6%*57640 1140=7.7%*14836 Decision-Aided (80%) 1352=2.4%*57640 660=4.5%*14836 Complexity is M*M and M*log2(M), M is sorting number Decision-aided has 20 times lower complexity
Contents Polar Codes for 5G Performance Comparisons Low-Complexity Parallel-List Decoder Latency and Power Reduction
Power Reduction by Adaptive LIST Adaptive list increases list size L until CRC passes L increases, L={1,2,4,8,16,32}, 90% can be decoded with L=1 The average list size is very small This average complexity reduction saves power
Power Reduction by Adaptive LIST Before After Complexity: 8192/2.47=3316 Adaptive list reduces average power significantly
A Simple Architecture of Adaptive List L=1 (SC) can decode 90% of frames SC is much faster than L=32 When CRC passes at SC, L=32 is stopped Computation power can be greatly reduced
Performance ~ Block Size, R=1/3 2x 4x Polar needs 1/4~1/2 block sizes of turbo
Performance ~ Block Size, R=1/2 2x 2x 8x 4x Polar needs 1/8~1/2 block sizes of turbo
Performance ~ Block Size, R=3/4 4x 2x 2x 8x 8x 4x Polar needs 1/8~1/4 block sizes of turbo