Why Do We Need Rate Matching 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).
A Concrete Example: Repetition
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.
Code rate = 50 / 336 โ 0.1488
A Concrete Example: Puncturing / Shortening
What if we had 150 information bits to be transmitted over the same resources (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. This is known as puncturing/shortening. In this case, we are rate-matching with code rate 150/336 โ 0.4464.
Code rate = 150 / 336 โ 0.4464
In the 5G 3GPP specification 3GPP TS 38.212 V15.5.0, Section 5.4, this process is known as bit selection.
Maximum and Minimum Code Rates
Now the question comes: for a 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 example above with 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).
| Limit | Code Rate | Value | Applies to |
|---|---|---|---|
| Maximum code rate | 948/1024 | โ 0.9258 | PDSCH/PUSCH |
| Minimum code rate | 30/1024 | โ 0.03 | PDSCH/PUSCH |
| Very low code rate | < 30/1024 | โ | PBCH, PDCCH, PUCCH |
For 150 information bits with max code rate: resources as low as 150 ร (1024/948) โ 162 bits. With minimum code rate: resources as high as 5120 bits โ you can repeat the encoded bits as many times as needed.
Rate Matching = Bit Selection + Bit Interleaving
Rate matching actually has two distinct functions:
1. Bit Selection
As described above โ this handles the mapping of the encoded bits to exactly the number of bits that fit in the allocated radio resources, using either repetition or puncturing depending on whether you have too few or too many encoded bits.
2. Bit Interleaving
Bit interleaving makes sure that the encoded bits are not in the same sequence when they are being transmitted over the air.
Why is this necessary? 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 this problem. It changes the sequence of the transmitted bits so that consecutive encoded bits are spread across non-consecutive positions in the transmitted sequence. This turns a burst error into scattered individual bit errors, which the channel decoder can handle far more effectively.
After: [b0, b3, b1, b4, b2, b5, ...] โ same error now scattered โ easier to correct
Summary
Rate matching is a fundamental building block of the 5G NR Physical Layer. Every channel โ PDSCH, PUSCH, PDCCH, PBCH, PUCCH โ goes through rate matching to ensure the exact number of bits required by the radio resources is produced, and that these bits are interleaved to be robust against burst errors.
The key takeaway: rate matching = bit selection (repetition or puncturing) + bit interleaving, as defined in 3GPP TS 38.212, Section 5.4.