Main Content


Polar rate recovering



rec = nrRateRecoverPolar(llr,K,N) returns the rate-recovered output of length N for the soft input llr and information block length K, as specified in TS 38.212 Section 5.4.1 [1]. In this syntax, coded-bit deinterleaving is disabled. Use this syntax for downlink (DL) configuration.

rec = nrRateRecoverPolar(llr,K,N,ibil) controls coded-bit deinterleaving. To enable coded-bit deinterleaving, set ibil to true. Use this syntax for uplink (UL) configuration with coded-bit deinterleaving enabled.


collapse all

Create a polar encoded random block of 512 bits and perform polar rate matching using nrRateMatchPolar. Perform polar rate recovery. Verify the results are identical to the original polar encoded input.

Specify an information block of 56 bits and an output of 864 bits for rate matching.

N = 512;
K = 56;
E = 864;
in = randi([0 1],N,1);
rateMatched = nrRateMatchPolar(in,K,E);

Perform rate recovery of the rate-matched data and information block of 56 bits. The length of the rate-recovered output, N, is the same as the length of the original polar encoded message.

rateRecovered = nrRateRecoverPolar(rateMatched,K,N);

Verify that the rate recovered output is identical to the original polar encoded input in.

ans = logical

Input Arguments

collapse all

Log-likelihood ratio value input, specified as a column vector of real values. llr is the soft-demodulated input of length E, the same length as the rate-matched data vector before modulation.

Data Types: single | double

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

Data Types: double

Length of polar-encoded message in bits, specified as a power of two.

  • N ≤ 512 for DL configuration.

  • N ≤ 1024 for UL configuration.

For more details, see TS 38.212 Section 5.3.1 [1].

Data Types: double

Coded-bit deinterleaving, specified as false or true.

  • For DL configuration, specify false.

  • For UL configuration, specify true.

Data Types: logical

Output Arguments

collapse all

Rate-recovered output, returned as an N-by-1 column vector of real numbers.

Data Types: single | double


[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™.

Version History

Introduced in R2018b