nrRateMatchPolar

Polar rate matching

Description

example

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.

Examples

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

     1
     1
     0
     1
     1
     0
     0
     1
     1
     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

References

[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