官方淘宝店 易迪拓培训 旧站入口
首页 > 无线通信 > 通信技术学习讨论 > 求助!关于matlab中BCH码的弱问题

求助!关于matlab中BCH码的弱问题

12-16
自己在编BCH的编码解码程序,用matlab中的BCH码函数检验结果是否正确。
但出现的问题想不明白:
在matlab中对info分别赋值 (info = [0 1 0 0 0 0 0];)
[1 0 0 0 0 0 0],
[0 1 0 0 0 0 0],
[0 0 1 0 0 0 0],
[0 0 0 1 0 0 0],
[0 0 0 0 1 0 0],
[0 0 0 0 0 1 0],
[0 0 0 0 0 0 1],
调用encode函数(code1 = encode(info ,15,7,'bch/binary');)
得到的结果应该是生成多项式的顺次移位才对,为什么结果是
1 0 0 0 1 0 1 1 1 0 0 0 0 0 0,
1 1 0 0 1 1 1 0 0 1 0 0 0 0 0,
0 1 1 0 0 1 1 1 0 0 1 0 0 0 0,
1 0 1 1 1 0 0 0 0 0 0 1 0 0 0,
0 1 0 1 1 1 0 0 0 0 0 0 1 0 0,
0 0 1 0 1 1 1 0 0 0 0 0 0 1 0,
0 0 0 1 0 1 1 1 0 0 0 0 0 0 1,
用genpoly = cyclpoly(15,7);得到的生成多项式为
1 0 0 0 1 0 1 1 1
请教诸位高手,不胜感激!

后面都是零,没有打出来

为什么是这个结果呢?
根据循环码编码的计算公式,对于([0 0 0 0 0 0 1]
i(x)= x^6;
而生成多项式g(x)= x^8 + x^7 + x^6 + x^4 + 1;
故码值应该为
c(x)= i(x)*g(x)=x^14 + x^13 + x^12 + x^10 + x^6;

0   0   0   0   0   0   1   0   0   0   1   0   1   1   1
假设高低位弄反了也不对,从右往左是
1   1   1   0   1   0   0   0   1   0   0   0   0   0   0
而matlab的结果是如你所示的
0   0   0   1   0   1   1   1   0   0   0   0   0   0   1
所以我不能理解阿

明白了,十分感谢你的耐心解答。

Top