This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Polar rate matching


rm = nrRateMatchPolar(enc,K,E)
rm = nrRateMatchPolar(enc,K,E,ibil)



rm = nrRateMatchPolar(enc,K,E) returns the rate-matched output of length E for the polar-encoded input enc and information block length K, as specified in TS 38.212 Section 5.4.1 [1]. In this syntax, coded-bit interleaving is disabled. Use this syntax for downlink (DL) configuration.

rm = nrRateMatchPolar(enc,K,E,ibil) controls coded-bit interleaving. To enable coded-bit interleaving, set ibil to true. Use this syntax for uplink (UL) configuration with coded-bit interleaving enabled.


collapse all

Create a polar encoded random block of 512 bits and perform polar rate matching. Specify an information block of 56 bits and a rate-matched output of 864 bits.

N = 2^9;            
K = 56;             
E = 864;           
in = randi([0 1],N,1);
out = nrRateMatchPolar(in,K,E)
out = 864×1


Input Arguments

collapse all

Polar-encoded message, specified as a column vector of binary values.

The length of the polar-encoded message, N, is a power of two. For more information, see TS 38.212 Section 5.3.1.

  • For DL configuration, N ≤ 512.

  • For UL configuration, N ≤ 1024.

Data Types: double | int8

Length of information block in bits, specified as a positive integer. K includes the CRC bits if applicable

Data Types: double

Rate-matched output length in bits, specified as a positive integer.

  • If 18 ≤ K ≤ 25, E must be in the range K + 3 < E ≤ 8192.

  • If K > 30, E must be in the range K < E ≤ 8192.

Data Types: double

Coded-bit interleaving, specified as false or true.

  • For DL configuration, specify false.

  • For UL configuration, specify true.

Data Types: logical

Output Arguments

collapse all

Rate-matched output data, returned as an E-by-1 column vector of binary values. rm inherits its data type from the encoded message enc.

Data Types: double | int8


[1] 3GPP TS 38.212. “NR; Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced in R2018b