我自己的理解是,llr数据顺序是先sys,放完后再放par1,最后par2. 尾比特顺序是三个交叉放置,即sys放第一个,par1放第一个,par2放第一个,sys放第二个,par1放第二个,par2放第二个,这样循环,输出顺序是从第一个32数据的最高位开始,依次向后。但按这种理解,导入自己的数据,译码结果不对。
后用例程中的输出结果进行turbo编码,输出结果光看尾比特就不对。
真实的排列顺序是咋样的呢?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
LLR的顺序是你说的那样,尾比特的是用来计算betastates,其排列顺序如Keystone_TCP3D.c中的Tcp3d_betaStates函数之前的输入参数注释,可以对照TCP3D计算betastates章节。
* \param[in] tailBits
* Tail Bits buffer of size 12. The tail bits are expected to be
* in the order Xt1[0],Pt1[0],Xt1[1],Pt1[1],Xt1[2],Pt1[2],Xt2[0],
* Pt2[0],Xt2[1],Pt2[1],Xt2[2],Pt2[2].
如果使用带BCP的器件的好,BCP会输出betastates,不需要在core上使用tail bit计算,也就是说对于带BCP时可以直接将bcp输出的betastates copy到TCP3D IC寄存器上即可。