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.

C6670 VCP2 测试例程

你好,

   我要使用C6670的VCP2 。但在MCSDK 2.0.x中未找到相关的测试例程,TCP2的测试例程倒是都全。

 请问是否有C6670的VCP2测试程序便于验证其功能?

  为了验证其功能,我移植了6455的VCP2 测试例程(来自6455 CSL下,功能测试正确)到C6670,但在软件仿真下未输出正确译码结果。

 请专家指导下。代码见附件。

谢谢.

6670 VCP2TEST.rar
  • fei wang,

    您好!

    请参考附件6670的例子。

    6670VCP2.zip
  •   谢谢你的帮助。

    我已经在6670上软件仿真测试这个程序,确实可正确译码出结果。

    另外有个问题请教下,上面例程译码帧长为300,我现在要译码帧长512,速率1/2,约束长度7,结合VCP2 datasheet发现这超过了不滑窗处理的最大长度378。所以需要设置滑窗参数R、C,但我在程序中并未发现有这方面参数设置,通过观察寄存器VCPIC2、VCPIC3中又有赋值,是否它们不需设置?

    VCP参数如下,禁止了tbConvrgMode,使用tailBitEnable

     vcpBaseParams.rate = VCP2_RATE_1_2;   //wf,10.11.2

       vcpBaseParams.constLen = CONSTRAINT_LEN;   //  7

       vcpBaseParams.frameLen = FRAME_LENGTH;     //512

       vcpBaseParams.yamTh = 0;

       vcpBaseParams.stateNum = 0;    

       vcpBaseParams.tbConvrgMode = FALSE;        //wf.11.4

       vcpBaseParams.decision = VCP2_DECISION_HARD;

       vcpBaseParams.readFlag = 1;    

       vcpBaseParams.tailBitEnable = TRUE;     //wf.11.4

       vcpBaseParams.traceBackIndex = 0;

       vcpBaseParams.outOrder = 0;

  • Fei wang你好:

    关于R、C的配置在User Guide里面有详细的说明,我摘抄如下:

    1. Determine the convergence length C = N*(K - 1).

    2. Determine the number of sliding windows: Nsw= ceil(f/[(r + c)max - c]).

    3. Determine the reliability length: R = m × ceil[f/(Nsw × m)].

    4. If hard decisions are being used and R > 1920 or if soft decisions are being used

    and R > 248, then increment the number of sliding windows and go back to step 3.

    按照你这里的计算,K=7时,N可以等于3,6,9,12,15,18中的任意1个,这里N值越大,那么就越精确,但是计算耗时也就越长。建议折中取6

    则按照步骤1:C = 6*6=36

    步骤2:Nsw = ceil(512/(378-36)) = 2,说明需要2个窗

    步骤3中,m=6,(这个也是查表得出的), R = 6*ceil(512/(2*6)) = 258

    R = 258满足步骤四,故此可以得出R和C的结果

     

    我将VCP2的User Guide附上,请参考。谢谢!

    sprugv6_VCP2.pdf
  • 你好,能留个联系方式么,我现在VCP这边也搞不定,想请教你一下。我邮箱zhonghlei@gmail.com

  • 您好!您能把MCSDK 2.0.x中的TCP2的测试例程发给我吗,邮箱:992839215@qq.com,非常感谢!

    • 您好!
      我现在也正在6670上测试VCP2,请问您上传的例程是在在哪个版本的CCS下做的测试,我在5.0.3版本上跑过一个例程,总是报各种错误,我的邮箱cherishcn123@sina.cn,请您帮我看一下是CCS版本的问题还是配置问题,望您有空不吝指教谢谢!
    • 您好!
      我现在也正在6670上测试VCP2,请问您上传的例程是在在哪个版本的CCS下做的测试,我在5.0.3版本上跑过一个例程,总是报各种错误,我的邮箱cherishcn123@sina.cn,请您帮我看一下是CCS版本的问题还是配置问题,望您有空不吝指教谢谢!

  • 我看了下你的截图,你的问题是没有将CSL的库链接进去。

    你要更改编译选项中的链接库部分。

  • 问题已经解决了,现在编译通过了,谢谢!

  • 你好,请问附件中VCP2_BER例程中函数TestVCP2()运行时最少需要多少cycles,我用-03优化后测量的还挺大的。

  • King Wang你好,我想问一下,VCP例程中的测试流程为:生成source,卷积编码,调制,加噪声,然后将加噪声的数据直接送给BM函数计算分支度量,将BM送入VCP之后,解出我们的source,对于此流程有几点困惑,希望您能解答一下:

    1.TD LTE 中采用的是咬尾卷积编码,编码之后还进行了交织和速率匹配,调制,不同于我们目前采用的卷积码,请问VCP支持吗,要在现有例程上作何修改?

    2.为什么调制,加噪之后的数据不经过解调直接进行BM计算呢?BM计算函数的输入数据是什么样的?是不是在接收端,应该要解调,解扰,解速率匹配,再把这个结果作为输入给BM呢?

  • 你好,请问在user guide: sprugv6_VCP2的 2.7.1 Branch Metrics Calculations的推导过程是怎样的呢?非常感谢!

    Rate 1/3: there are 4 branch metrics per symbol period

    – BM0(t) = r0(t) + r1(t) + r2(t)

    – BM1(t) = r0(t) + r1(t) - r2(t)

    – BM2(t) = r0(t) - r1(t) + r2(t)

    – BM3(t) = r0(t) - r1(t) - r2(t)

    where r(t) is the received codeword (3 symbols, r 0(t) is the symbol corresponding to the encoder upper branch, see Figure 2-5).

  • 您是怎么解决的呢,我也遇到了同样的问题

  • 导入工程后,有修改路径还是报这种错误,有没有人遇到同样的问题。