The key technology of 5G new air interface-channel coding

Channel coding
concept The
  channel coding process includes adding cyclic redundancy check (CRC, Cyclic Redundancy Check), code block segmentation (Code Block Segmentation), error correction coding Forward Error Correcting Coding, rate adaptation (Rate Matching), code block connection (Code Block Concatenation), data interleaving (Interleave), data scrambling (Scrambling) and other components. Where the error correction coding is most important. Error correction coding ensures that the receiving end can automatically correct errors that occur during data transmission through the smallest possible redundancy overhead. Under the same bit error rate, the smaller the overhead required, the higher the coding efficiency.

Turbo, LDPC, Polar coding comparison
  Turbo
  In order to reach the limit of channel capacity defined by Shannon formula, various channel coding techniques are called research hotspots. Among them, the Turbo code has excellent performance, which can be very close to the limit of Shannon's theory. Widely used in 3G and 4G. The basic principle of Turbo code encoder is shown in Figure 1. The encoder structure includes two parallel recursive system convolutional code encoders (Recursive Systematic Convolutional Code), separated by an internal interleaver (Interleaver). Encoder 1 directly encodes the information sequence group of the source, and encoder 2 encodes the information sequence group interleaved by the interleaver. The information bit directly enters the multiplexer all the way, and the other passes through the two encoders to obtain two information redundancy sequences, which are then appropriately combined and pass through the channel after the information bit.
Insert picture description here
Insert picture description here
The more iterations of Turbo code decoding, the higher the decoding accuracy, but when reaching a certain number of iterations, the bit error rate will tend to stabilize.
  Turbo summarizes
  Turbo code coding is relatively simple, it has some advantages in code length, code rate flexibility and code rate compatible adaptive retransmission. However, due to the need for iterative decoding, its decoder is relatively complicated and requires a large amount of computing power. In addition, the decoding requires time delay due to iteration. Therefore, for occasions with high real-time requirements, the direct application of Turbo codes will be limited. In addition, Turbo codes use sub-optimal decoding algorithms and have a certain level of error. Turbo code is more suitable for longer code length applications, but the longer the code length, the greater the decoding complexity and delay, which limits its practicality. In general, Turbo code has excellent performance and relatively simple coding structure, but its decoding complexity is relatively high. This code is one of the key technologies for 3G and 4G commercial use, and its research and application have been very mature.

  LDPC
   LDPC is a linear block error correction code with a sparse check matrix. Its characteristic is that its parity check matrix (H matrix) has low density. Because its H matrix has sparseness, it produces a larger minimum distance (dmin) and also reduces the complexity of decoding. The performance of this code can also be very close to the Shannon limit. The existing research results show that the performance of the best LDPC code found in the experiment is only 0.0045dB away from the Shannon theoretical limit.
  Compared with Turbo, the advantages of LDPC
  (1) The decoding of LDPC codes can use a low-complexity parallel iterative decoding algorithm based on a sparse matrix, and the amount of computation is lower than that of Turbo code decoding algorithms. And because of the parallel structure, it is easier to implement in hardware, and the decoding delay is small. Therefore, it is more suitable for high-speed and large file packages.
  (2) The code rate of the LDPC code can be constructed arbitrarily, with greater flexibility.
  (3) LDPC codes have a lower error level and can be used in wired communications, deep space communications, and disk storage industries that require very high bit error rates.
  Currently, LDPC codes have been used in communication systems such as 802.11n, 802.16e, and DVB-S2. During the discussion of 3GPP R15, many companies around the world reached a consensus under a unified comparison criterion to determine the LDPC code as the coding scheme for the 5G eMBB scene data channel.
  Polar
  is a linear block code proposed based on the channel polarization theory, which is a strict structure code for the Binary Symmetric Channel (BSC). Theoretically, it can achieve ideal channel capacity and error-free leveling under lower decoding complexity, and the larger the code length, the more obvious its advantages. Polar code is the only encoding method that can reach Shannon's limit so far.
  How Polar works
  It includes three parts: channel combination, channel decomposition and channel polarization. Among them, channel combination and channel polarization are completed during encoding, and channel decomposition is completed during decoding. The core of Polar coding theory is the channel polarization theory. The principle process is shown in Figure 3, and its coding is achieved by performing linear polarization conversion on the channel in a repeated iteration.
Insert picture description here
  Polar selects that part of the channel that tends to be completely noise-free bit channels to send the information bits output by the source, and sends frozen bits (known bits, such as 0) on the full-noise bit channel with a capacity of 0. Through this coding structure, it is guaranteed The information is concentrated in a better bit channel for transmission, thereby reducing the possibility of errors in the channel transmission process and ensuring the correctness of information transmission. The Polar code is encoded in this way. When the code length N tends to infinity, Polar codes can approach the theoretical channel capacity. The complexity of its codec is proportional to N log N.
  Advantages of Polar code
  (1) Compared with Turbo code, it has higher gain. Under the premise of the same bit error rate, the measured Polar code has a lower SNR requirement than Turbo code by 0.5~1.2dB;
  (2) Polar code There is no error leveling, and the reliability is higher than Turbo code. For future 5G URLLC and other application scenarios (such as telemedicine, autonomous driving, industrial control and unmanned driving, etc.), it can truly achieve high reliability;
   (3) Polar code encoding The decoding complexity is low, and a decoding scheme based on SC (Successive Cancellation) or SCL (SC List) can be adopted to obtain performance close to maximum likelihood decoding at the cost of lower decoding complexity.

  Disadvantages of Polar code
  (1) Its minimum Hamming distance is small, which may affect decoding performance to a certain extent.
  (2) The time delay of SC decoding is longer, and the parallel decoding method can alleviate this problem.
In general, Polar codes have a good balance of performance and complexity, and have advantages in the case of short and medium code lengths. Its code rate adjustment mechanism is very granular, that is, the length of its information block can be increased or decreased according to bits. In addition, its complexity, throughput, and decoding delay also have good indicators.

  Channel coding (R15)
  in 5G NR In 5G NR, the operation object of channel coding is mainly the transmission channel (TrCH) and the data block of control information. Refer to Table 1 and Table 2 for details of the channel coding used for each transmission channel and control information defined in R15 by 3GPP.
Insert picture description here
  5G NR uses the Quasi-Cyclic LDPC code for the data channel, and uses a rate-compatible structure for use in the HARQ protocol. The control information part uses Polar code when the payload (Payload) is greater than 11bit. When the payload is less than or equal to 11bit, the channel coding adopts the Reed-Muller code.

  Transmission channel
  coding The process of transmission channel coding is shown in Figure 4 below.
Insert picture description here
  Adding CRC is to add a CRC check code after the data block so that the receiving end can detect whether the received data is wrong. The size of the CRC check code block depends on the size of the transmission data block. For transmission data blocks larger than 3824 bits, the check code uses 24-bit CRC; for transmission data blocks less than or equal to 3824 bits, 16-bit CRC is used . At the receiving end, by judging whether there is an error in the received data, and then using the HARQ protocol to determine whether to require the sending end to resend the data.
  Code block segmentation is to cut the transmission data block exceeding a certain size into several smaller data blocks, and separate the subsequent error correction coding. The divided data blocks will be calculated and additional CRC check codes are added.
  The channel coding uses Quasi-cyclic LDPC code.
  The purpose of rate matching is to adjust the number of bits that have undergone channel coding to adapt to the corresponding allocated PDSCH or PUSCH resources (the number of bits carried).
  The code blocks output by the rate matching can be modulated and sent via the transmitter after being sequentially cascaded.

  Control channel coding
  Both the uplink and downlink control channels use Polar codes.   The entire channel coding process of the
   uplink and
uplink control information UCI is shown in Figure 5 below.
Insert picture description here
  First, the control information to be transmitted is divided into code blocks and the code block CRC check code is added. Polar code is used for channel error correction coding. Rate matching matches the channel-coded data from the rate to the allocated physical channel resources. The code block cascade connects the data blocks in sequence, and then sends them through modulation.
  Downlink
  entire channel coding process downlink control information (DCI) is shown in Fig.
Insert picture description here
  First, add a CRC check code to the control information to be transmitted. After scrambling, the scrambling sequence uses the terminal radio network temporary identification number (RNTI, Radio Network Temporary Identity). The purpose of this is to enable the receiving side (terminal) to know at the same time through the CRC check code and the scrambling sequence The correctness of the data and whether the terminal is the correct recipient of the information reduces the number of bits that need to be sent through the PDCCH. Polar code is used for channel error correction coding. Rate matching matches the channel-coded data to the allocated physical channel resources from the rate, and subsequent data blocks can be sequentially QPSK modulated and then sent by the transmitter.
Reference documents

Guess you like

Origin blog.csdn.net/lilliana/article/details/106780822