工程师:
您好。
在解LTE的PUSCH信道时遇到个奇怪的现象,麻烦您指点指点。参照TS 36.213 Table 7.1.7.2.1-1 (V9.0.0),PRB数为100,将解速率匹配后数据导入协处理器(通过matlab比对,导入数据正确),此时:
1.当TBS index小于等于20时,TCP2_BaseParams中maxIter =1时,译码正确(minIter=1)。在maxIter >1时,随着maxIter 的增大,译码结果错误率越来越大。
2.当TBS index为21开始,即使maxIter =1,译码结果也有一定的错误比特。
想向您确认一下:
1.TCP2支持LTE中各个MCS的译码吗?
2.按理说,随着maxIter 的增大,译码正确率不应该降低才对?难道是因为解速率匹配的关系,导致打孔的位置和WCDMA协议中打孔位置不同,从而不能解对?
另外,如果仅考虑译码,将matlab编码生成的数直接用TCP2译码,没有任何打孔,maxIter 的增大不会对译码结果产生影响。
Andy Yin1:
maxIter是指定最大迭代次数,如果设定截止标准为CRC,maxIter设定为最大的数,不会对译码的结果产生影响,怀疑可能是其他的配置或者输入数据有问题。
zhi zhang1:
回复 Andy Yin1:
没有设定截止标准为CRC,只是以maxlter作为截止标准。
输入数据也没有问题,已经和正确的仿真代码check过。
配置如下所示:
t_struConfigBase.frameLen = t_uiFrameLength; t_struConfigBase.inputSign = TCP2_INPUT_SIGN_NEGATIVE; t_struConfigBase.intFlag = INTERLEAVER_LOAD_FLAG; t_struConfigBase.maxIter = 1; t_struConfigBase.maxStarEn = 0; t_struConfigBase.standard = TCP2_STANDARD_3GPP; t_struConfigBase.crcLen = 0; t_struConfigBase.crcPoly = 0; t_struConfigBase.minIter = 1; t_struConfigBase.numCrcPass = 0; t_struConfigBase.outParmFlag = OUT_PARAM_READ_FLAG; t_struConfigBase.outputOrder = TCP2_OUT_ORDER_31_0; t_struConfigBase.prologRedEn = FALSE; t_struConfigBase.prologSize = 32 t_struConfigBase.rate = TCP2_RATE_1_3; t_struConfigBase.snr = 0; for(i = 0; i < 16; i++) { t_struConfigBase.extrScaling[i] = 2; }