-
下载了论坛的6670VCP2.zip例程,对第一个VCP2_BER历程进行了测试,其中参数是1/3,约束长度为9,运行没有问题!
但是经过修改,参数是1/3,约束长度为7,卷积编码生成多项式是[133, 171, 165],
将TestVCP2()中的
if (VcpConfigParms.poly0) poly[0] = VcpConfigParms.poly0|0x100;
if (VcpConfigParms.poly1) poly[1] = VcpConfigParms.poly1|0x100;
if (VcpConfigParms.poly2) poly[2] = VcpConfigParms.poly2|0x100;
if (VcpConfigParms.poly3) poly[3] = VcpConfigParms.poly3|0x100; 修改为if (VcpConfigParms.poly0) poly[0] = VcpConfigParms.poly0|0x40;
if (VcpConfigParms.poly1) poly[1] = VcpConfigParms.poly1|0x40;
if (VcpConfigParms.poly2) poly[2] = VcpConfigParms.poly2|0x40;
if (VcpConfigParms.poly3) poly[3] = VcpConfigParms.poly3|0x40;还将VCP2_genParams()函数中mask = 0x00FF;修改了的mask = 0x003F;
还修改了VCP2_Channel_Density.h的
#define VCP2_POLY0_FOR_CONST7_RATE_1_3 0544
#define VCP2_POLY1_FOR_CONST7_RATE_1_3 0624
#define VCP2_POLY2_FOR_CONST7_RATE_1_3 0764修改为#define VCP2_POLY0_FOR_CONST7_RATE_1_3 0133
#define VCP2_POLY1_FOR_CONST7_RATE_1_3 0171
#define VCP2_POLY2_FOR_CONST7_RATE_1_3 0165#define VCP2_POLY2_FOR_CONST7_RATE_1_3 0000
但是经过VCP2译码的结果不对!
感觉在约束长度K=9时,修改生成多项式后,译码结果都是对的!但是修改了约束长度K后,译码怎么修改都不对!
望老师查找下问题!谢谢!
TING TING LAI:
Qi Yang1,你好,请问你这个问题解决了么?我也遇到了和你相同的问题,误码率达到了0.5左右 ,也就是说没有实现译码功能。如果解决了的话,能不能告诉一下怎么修改这个例程呢?非常感谢