Wireless communications systems, such as the third-generation (3G) of mobile telephone standards and technology are well known. Such 3G standards and technology have been developed by the Third Generation Partnership Project (3GPP). The 3rd generation of wireless communications has generally been developed to support macro-cell mobile phone communications. Communication systems and networks have developed towards a broadband and mobile system.
The 3rd Generation Partnership Project has developed the so-called Long Term Evolution (LTE) system, namely, an Evolved Universal Mobile Telecommunication System Territorial Radio Access Network, (E-UTRAN), for a mobile access network where one or more macro-cells are supported by a base station known as an eNodeB or eNB (evolved NodeB). More recently, LTE is evolving further towards the so-called 5G or NR (new radio) systems where one or more cells are supported by a base station known as a gNB (generalized NodeB).
In 3GPP there is a continual search for agreements on the implementation of new and relevant features for NR systems. The agreements are relevant to many options. One option of interest relates to the use of Polar coding for the eMBB (enhanced Mobile Broadband) UL/DL control channels. According to this option, CRC (cyclic redundancy check) codes will be utilized either within the coded block or external in another coded block in the case of concatenated polar codes. These CRC codes may be used to provide error detection for the blocks of data being transmitted and, in some implementations may also enable error correction.
Polar codes in 5G have been proven to achieve capacity by code construction for binary erasure channel (BEC). Encoding complexity is of O(Nlog2N) for a code block size N. Decoding complexity is of O(Nlog2N) with a successive cancellation (SC) decoder, and higher with more advanced decoder with better performance such as a List decoder O(LNlog2n). The implementation complexity of list decoder increases with increasing list size, especially with large block size. Furthermore, Polar codes are not parallelizable as Turbo and LDPC, and latency requirements for large block-lengths are questionable. However, Polar codes have been shown to outperform Turbo code and LDPC for short-block lengths with no error floor for List decoder, as NR control channel requires ultrareliability transmission.
In a communications system, encoding is generally used to improve the reliability of data transmission. The polar code is a linear block code which can provably achieve the Shannon capacity for a binary erasure channel with low complexity of encoding-decoding. Conceptually, polar codes split a physical channel up into a number of virtual channels. The reliability of each of the virtual channels (i.e. the likelihood of a bit transmitted on that channel will be successfully received) defined by a polar code differs from each other. However, generally, as the number of virtual channels defined by a polar code increases (e.g. as N goes to infinity), the reliability of each of the channels polarizes to become either very reliable (e.g. a perfect channel with capacity 1) or very unreliable (e.g. a useless channel with capacity 0). The virtual channels with the highest reliability are chosen for the transmission of information bits, whilst the other virtual channels are “frozen” and are not used for the transmission of information bits. The positions of data and frozen bits change with the polar code construction parameter  for the same code block size. Both the encoder and the decoder must utilize same locations of the frozen bits for a successful decoding meaning they should know either parameter  for code construction or a pre-defined set of frozen locations which is the outcome of the code construction.
As illustrated in FIG. 1, a polar code 120 of size N (whereby N=8 in FIG. 1) is generated by duplicating and combining n times the constructed transform starting from duplicating and combining the basic transform 110, to give N virtual channels, where N=2n. It should be noted that the symbol ⊕, as used in FIG. 1, represents the exclusive OR (XOR) operation. Of these channels, the four channels having the highest reliability are indicated as being “data” channels, whilst the four channels having the lowest reliability are indicated as being “frozen” channels, for a code rate R=½.
Various agreements have been made in this technical area, for example:—
Agreement:
                J CRC bits are provided (which may be used for error detection and may also be used to assist decoding and potentially for early termination)                    J may be different in DL and UL            J may depend on the payload size in the UL (0 not precluded)                        In addition, J′ assistance bits are provided in reliable locations (which may be used to assist decoding and potentially for early termination)        J+J′<=the number of bits required to satisfy the FAR target (nFAR)+6                    Working assumption:                            For DL, nFAR=16 (at least for eMBB-related DCI)                For UL, nFAR=8 or 16 (at least for eMBB-related UCI;                                    note that this applies for UL cases with CRC)            J′>0            Working assumption: J″<=2 additional assistance bits are provided in unreliable locations (which may be used to assist decoding and potentially for early termination)                            Can be revisited in RAN1#89 if significant benefit is shown from a larger value of J″ without undue complexity—companies are encouraged to additionally evaluate J″=8                                    The J′ (and J″ if any) bits may be CRC and/or PC and/or hash bits (downscope if possible)            Placement of the J, J′ (and J″ if any) assistance bits is FFS after the study of early termination techniques                            Appended?                Distributed?                evenly?                unevenly?Agreements (for very small block lengths):                                                K=1 (if channel coding is applied):                    Repetition code                        K=2 (if channel coding is applied):                    Simplex code                        3<=K<=11:                    LTE RM code                            Note that if NR requires a codeword size N that is not supported by the LTE RM code, then the LTE RM code will be extended by repetition as in LTE                                                12<=K:                    Polar code (single design for all control information sizes, except for possible omission of CRC bits for payloads <=−22 bits)Agreement for DCI:                        Maximum mother code size of Polar code, N=2n, is:                    Nmax,DCI=512 for downlink control informationWorking Assumption for UCI:                        Nmax,UCI=1024                    Optimise code design for K up to 200                            Also aim for code design that supports values of K up to 500 with good performance, typically using higher code rates                                                Without prejudice to the final design, companies are encouraged to investigate advanced code rate matching schemes until RAN1#88bis        Working assumption can be revisited at RAN1#88bis if it does not prove to be possible to generate a good code design with Nmax, UCI=1024Agreements:        Performance metrics (may be based on analytic derivation)                    BLER            FAR (with AWGN as input to the decoder)                        Polar codes for control channels support one of the following alternatives:                    Alt. 1: CRC+“basic polar” (i.e. as per above agreed description) codes                            1a: Longer CRC                                                e.g. (J+J′) bits CRC+basic polar                    1b: J bit CRC                            The J bits can be distributed                                    The CRC can be used for both error detection and error correction                        Alt. 2: J bits CRC+concatenated polar codes                    e.g. J bits CRC+J′ bits CRC+basic polar;                            J bits CRC+J′ bits distributed CRC+basic polar;                J bits CRC+PC bits+basic polar; (i.e. PC-Polar)                J bits CRC+Hash sequence+basic polar;                . . .                                    J bits CRC is only used for error detection                        
Polar coding is adopted for eMBB UL/DL control channels (LPDC was adopted as the coding scheme for eMBB UL/DL data channels). Coding scheme(s) for URLLC and mMTC is not yet defined.
Polar code will utilize CRC, either within the coded block or externally in another coded block in case of concatenated polar codes.