nrDCIEncode versus physical layer subcomponents
이전 댓글 표시
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);
답변 (1개)
Saffan
2023년 5월 4일
0 개 추천
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.
카테고리
도움말 센터 및 File Exchange에서 Text Detection and Recognition에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!