Channel Interleaver for Polar Coder
Forward error correction is used in 5G for correction of bits in error. 5G supports primarily three channel coders:
The details about the input-output interface of the Mapper modules is provided below.
- class toolkit5G.Ratematcher.PolarCoder.ChannelInterleaver[source]
This module implements the channel interleaver used by rate matcher of Polar codec detailed in section 5.4.1.3 of [3GPPTS38212Polar]. This module is enabled in 5G by setting \(\text{I}_\text{BIL}\) flag.
- Parameters:
None
- Input:
input_bits ([…,E], np.number) – Input bits to be interleaved.
- Output:
[…,E], np.number – Interleaver bits.
- Attributes:
interleavePattern ([E, 1], int where E is the number of bits passed as inputs for interleaving.) – Defines the Interleaving pattern as defined in section 5.4.1.3 of [3GPPTS38212Polar].
- Raises:
ValueError – “[Error-ChannelInterleaver]: ‘input_bits’ should be NumPy array of numbers!”
The details about the input-output interface of the Mapper modules is provided below.
- class toolkit5G.Ratematcher.PolarCoder.ChannelDeInterleaver[source]
This module implements the channel De-interleaver which is used to undo the effect of channel interleaver defined in section 5.4.1.3 of [3GPPTS38212Polar]. This module is enabled in 5G by setting \(\text{I}_\text{BIL}\) flag.
- Parameters:
None
- Input:
input_bits ([…,E], np.number) – Input bits to be de-interleaved.
- Output:
[…,E], np.number – De-interleaver bits.
- Attributes:
interleavePattern ([E, 1], int where E is the number of bits passed as inputs for de-interleaving.) – Defines the Interleaving pattern as defined in section 5.4.1.3 of [3GPPTS38212Polar].
- Raises:
ValueError – “[Error-ChannelDeInterleaver]: ‘input_bits’ should be NumPy array of numbers!”