TI工程师:
你好!
我们在利用6670中的BCP模块时, mac模块算好TB块的大小是整数倍的cbsize,因此没有Kp和Km之分,我们对BCP参数进行如下改动:这里的numCodeBlocks实际为TB块的比特数/cb块的比特数。
codeBlkParams.numCodeBksKp = numCodeBlocks;
codeBlkParams.codeBkSizeKp = cbsize;
codeBlkParams.numCodeBksKm = 0;
codeBlkParams.codeBkSizeKm = 0;
NcbKm视为经过Turbo编码后3块数据的buffer大小。一块的数据经过分成numRows行*32列。配置方式如下,请问pRmParams->NcbKpCol和pRmParams->NcbKpRow代表什么意思?其公式如下:
numRows = ((pCodeBlkParams->codeBkSizeKp + 4) + 31)/32;
pRmParams->NcbKp= numRows * 32 * 3;
pRmParams->rvKpCol = (UInt32) (2 * ceil(pRmParams->NcbKp/(8.f * numRows)) * rvIndex+2);
pRmParams->NcbKpCol = ( pRmParams->NcbKp – numRows * 32 – 1)/( 2 * numRows);
pRmParams->NcbKpRow = ( pRmParams->NcbKp – numRows * 32 – 1)% (2 * numRows);
Andy Yin1:
这与LTE协议规定的速率匹配有关。在LTE速率匹配时,交织完后,输入到circular buffer的系统流按照Row*32的方式,校验流以交织的方式输入即校验流的Row‘=2*Row,直到填满circular buffer为止。所以进入circular buffer的比特数与Ncb有关,上述的NcbKpCol指的是校验流交织进入circular buffer占用的列数,NcbKpRow指交织校验流在circular buffer中最后一列所占的数。具体还需要参考LTE 速率匹配协议理解,当然也可以不用理解,直接按照上述公式计算参数即可。
MOON SU:
回复 Andy Yin1:
Andy Yin,
你好!
也就是说Turbo编码出来后分为信息流,校验流1和校验流2,信息流交织后从RV定义的位置开始全部送入循环buffer,校验流交织后两列全部送入循环buffer,(上述的NcbKpCol指的是校验流交织进入circular buffer占用的列数,NcbKpRow指交织校验流在circular buffer中最后一列所占的数。)是这样理解么?
期待你的回复~
苏明月
Andy Yin1:
回复 MOON SU:
对,这是LTE协议规定的。