0<1<C is the code block number, and K1 = K is the number of bits in the 1th code block. The code blocks are then delivered to the channel coding unit where each code block is individually encoded with the LDPC encoder. The encoded bits are denoted by du d(N,-1), in which N1 = 66Z- for LDPC base graph 1 and N = 50Z for LDPC base graph 2, where the value of the lifting factor Z is given in Table 4.7. The encoded bits for each code block are processed through the rate matching function. The total number of code blocks is denoted by C, and each code block is individually rate matched by setting ILBRM = 1, if RRC parameter rateMatching is set to limitedBufferRM; otherwise, by setting ILBRM 0. After the rate matching stage, the bits are denoted by ,fi(E1-1), where Er is the number of rate matched bits in the 1th code block. The input bit sequence to the code block concatenation module are the sequences {fik|l = 0, 1, 1; = 0, 1, E - 1} where E is the number of rate-matched bits in the 1th code block. The output bit sequence from the code block concatenation function is the sequence go, g1, gG-1 where G is the total number of coded bits for transmission. The code block concatenation function sequentially concatenate different rate-matched code blocks [7]. The NR supports UCI multiplexing on PUSCH when the UCI and PUSCH transmissions coincide in time, either due to transmission of an uplink TB or due to triggering of aperiodic CSI transmission without an uplink TB. The UCI carrying HARQ-ACK feedback with 1 or 2 bits is multiplexed by puncturing PUSCH. In all other cases, the UCI is multiplexed by rate matching PUSCH. In case of SUL, the UE is configured with two uplink carriers and one downlink carrier in the same cell. The uplink transmissions on the uplink carriers are controlled by the network to avoid overlapping PUSCH/PUCCH transmission in time- domain. Overlapping transmissions on PUSCH are avoided through scheduling, while over- lapping transmissions on PUCCH are avoided through configuration since PUCCH can only b