 Click on image to update the captcha.

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this user should be reported.

# Rate-matching in 5G: What & Why?

Let’s first understand why we need such a module in 5G.

Rate matching gets you the exact number of bits after channel encoding that are being transmitted. Let’s assume we have some resources allocated for a particular channel and we also know the information bits to be transmitted on these resources. When we say resources we mean time (OFDM symbols), frequency (subcarriers), and space (streams, layers).

For example, let’s assume we have 50 bits to be transmitted over a PRB with QPSK modulation. These 50 bits go through the channel encoder which has a base code rate of 1/3, therefore, the number of bits after channel encoding is 150. The resources we had were single PRB = 12 subcarriers * 14 symbols = 168 REs. Each RE carries one modulated symbol, so in total 168 * 2 = 336 bits (with QPSK) can be transmitted over the allocated single PRB.

Remember we had only 150 bits, whereas the resources, we have can carry 336 bits. One simple way to fill this gap is to repeat the encoded bits until they become 336 bits. We are rate-matching the encoded bits to the allocated resources, and the code rate is = 50/336 ~0.1488. Originally we had 50 information bits and we are transmitting 336 bits.

What if we had 150 information bits to be transmitted over the same resources mentioned above (1 full PRB with QPSK modulation)? In this case, the bits after the channel encoder are 150*3 = 450 (assuming a 1/3 base code rate), but the resources we have can carry only 336 bits. One simple way to match this is to drop the 114 extra bits (= 450 – 336) and transmit only the 336 bits, which is known as puncturing/shortening. In this case, we are rate-matching with code rate 150/336 ~ 0.4464.

In 5G 3gpp specification 3GPP TS 38.212 V15.5.0, section 5.4 this above-mentioned process is known as bit selection.

What are the possible minimum and maximum resources for a transport block?

Now the question comes, for the given number of information bits what are the maximum or minimum resources we can have? We are actually asking about the possible maximum and minimum code rates.

We can’t have radio resources less than the information bits we are transmitting. From the above example of 150 information bits, the resources can’t be less than 150 bits. That means the code rate can’t be greater than one (The Shannon capacity theorem). In 5G the maximum code rate is defined as 948/1024 ~ 0.9258 for PDSCH/PUSCH. That means for 150 information bits, we can have radio resources as low as 150 * (1024/948) ~ 162 bits.

There is no such limit on maximum radio resources. We can repeat the encoded bits as many times as we want. The minimum code rate defined for PDSCH/PUSCH is 30/1024 ~ 0.03. That means for 150 information bits, we can have radio resources of as many as 5120 bits. In fact, the code rates of PBCH, PDCCH, and PUCCH are very low.

Rate matching has 2 functions: bit selection and bit interleaving.

Bit interleaving:

Bit interleaving makes sure that the encoded bits are not in the same sequence when they are being transmitted over the air.

What happens if we don’t do bit-interleaving? Suppose a burst error occurs (a corruption of a large number of consecutive data bits) in the system. Burst errors are comparatively difficult to correct at the receiver by the decoder. Bit-interleaving avoids it. It changes the sequence of the transmitted bits.

If you find any error in the post or you want to further discuss/understand, feel free to reach us: Contact Us