# nrDCIEncode versus physical layer subcomponents

1 Ansicht (letzte 30 Tage)
Alireza am 3 Feb. 2023
Beantwortet: Saffan am 4 Mai 2023
I expect the MATLAB function nrDCIEncode to return the same output as when the chain of nrCRCEncode, nrPolarEncode, and nrRateMatchPolar functions are used for encoding DCI. In other words, rate_matched_dci_bits in the following code is expected to be equal to dcicw. But it is not! Why?
A = 64;
poly = '24C';
rnti = 100;
E = 864;
L = 24;
n_max = 9;
iil = true;
ibil = false;
K = A + L;
dci_bits = randi([0 1] , A , 1 , 'int8');
crc_attached_dci_bits = nrCRCEncode(dci_bits , poly , rnti);
polar_encoded_dci_bits = nrPolarEncode(crc_attached_dci_bits , E , n_max , iil);
rate_matched_dci_bits = nrRateMatchPolar(polar_encoded_dci_bits , K , E , ibil);
dcicw = nrDCIEncode(dci_bits , rnti , E);
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Antworten (1)

Saffan am 4 Mai 2023
Hi Alireza,
The reason for the difference comes from the implementation of "nrDCIEncode" function. The implementation in this function is different from the way you are encoding in the following ways:
• The “nrDCIEncode” function contains an additional step of prepending 24 ones to the input bits before calculating the CRC.
• It then removes the ones after CRC is calculated before proceeding to channel coding and rate matching.
Additionally, it also includes a step for converting the 24 CRC bits to a MSB first decimal representation using a binary-to-decimal conversion formula.
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Simscape Multibody finden Sie in Help Center und File Exchange

R2022a

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by