附:博客中的仿真代码(我用matlab做了个代码模板的生成器,但还不太成熟,所以可能这代码看起来格式有点诡异,就凑合看吧,但功能是没有问题的,我用仿真验证过,可以支持LTE协议中定义的CRC_24A/CRC_24B/CRC_16/CRC_8,生成结果与matlab提供的库函数给出的结果完全一致)
%% description
%{
Name: Lte_CrcAdd
function: CRC attachmentinput parameter:
-> CrcPara_Stru,the parameter related with CRC attachement
-> InBitStream_Vec,the orignal bit stream
output parameter:
-> OutBitStream_Vec,the output bit stream with CRC
INFO: generated by code auto-generator in 2018-42-11 10:42:45 +0900
%}
function OutBitStream_Vec = Lte_CrcAdd(CrcPara_Stru, InBitStream_Vec)
%% NOTE
% TO BE ADDED
%% Check Input Parameter
% TO BE ADDED
%% set parameter
% TO BE ADDED
CrcType_Enum = CrcPara_Stru.CrcType_Enum;
InBitSByteNum = CrcPara_Stru.TBS/8;
% get the sequence length
if CrcType_Enum == 2%crctype_CRC_16_ENUM
CrcSeqLen = 16;
else
if CrcType_Enum == 3%crctype_CRC_8_ENUM
CrcSeqLen = 8;
else
CrcSeqLen = 24;
end
end
%% initialize output