- 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.
nrDCIEncode versus physical layer subcomponents
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Saffan
2023-5-4
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:
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Physical Channels 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!