Polar rate recovering
Perform Polar Rate Recovery
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
ans = logical 0
llr — Log-likelihood ratio value input
column vector of real values
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
K — Length of information block in bits
Length of information block in bits, specified as a positive integer.
includes the CRC bits if applicable.
N — Length of polar-encoded message in bits
power of two
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 .
ibil — Coded-bit deinterleaving
false for DL (default) |
true for UL
Coded-bit deinterleaving, specified as
For DL configuration, specify
For UL configuration, specify
rec — Rate-recovered output
column vector of real numbers
Rate-recovered output, returned as an
N-by-1 column vector of
 3GPP TS 38.212. “NR; Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Introduced in R2018b