cing convolutional and turbo codes in previous generations. In 5G NR, polar codes are identified as another promising capacity-achieving coding technique. Polar codes have been adopted in 5G standardization process. For example, 3GPP incorporates polar codes for both uplink and downlink control information communication service, such as enhanced mobile broadband (eMBB), massive machine type communications (mMTC), and ultra-reliable and low latency communications (URLLC). Channel codes for 5G NR should be flexible to support the variable rate and length for both data and control packets. To address that, LDPC has developed several variations, such as quasi-cyclic (QC) LDPC codes for better rate matching and interleaving, as well as parallelism for efficient encoding and decoding [59]; Multi-edge (ME) LDPC mainly for throughput improvement and can scale well in larger block lengths. On the other hand, newly introduced polar code takes advantage of channel polarization, a natural behavior due to signal propagation. Correspondingly, encoding is recursively performed by the channel transformation matrix and creates channels that are either perfectly noiseless or completely noisy. A detailed tutorial of polar codes can be found in [16]. 1.2.1.3 Massive MIMO Massive MIMO refers to applying large-scale antenna elements at transmitter and/or receiver side, usually the number of antenna is hundreds or more. MIMO can exploit spa- tial diversity or multiplexing, and improve system reliability (for example, lower bit error rate) and throughput, respectively. Compared with legacy MIMO system, massive MIMO brings significant improvements in diversity and multiplexing to fully exploit wireless channel characteristics. One prominent aspect is massive MIMO can generate very narrow beams toward the receiver side. Hence, it can not only increase reception power, but also benefit network capacity and coverage, and ultimately provide better user experience. These benefits come at a price. Like MIMO, performance gain from massive MIMO 