bch matlab,求助!关于matlab中BCH码的弱问题
自己在編BCH的編碼解碼程序,用matlab中的BCH碼函數(shù)檢驗(yàn)結(jié)果是否正確。
但出現(xiàn)的問(wèn)題想不明白:
在matlab中對(duì)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],
調(diào)用encode函數(shù)(code1 = encode(info ,15,7,'bch/binary');)
得到的結(jié)果應(yīng)該是生成多項(xiàng)式的順次移位才對(duì),為什么結(jié)果是
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);得到的生成多項(xiàng)式為
1 0 0 0 1 0 1 1 1
請(qǐng)教諸位高手,不勝感激!
后面都是零,沒(méi)有打出來(lái)
為什么是這個(gè)結(jié)果呢?
根據(jù)循環(huán)碼編碼的計(jì)算公式,對(duì)于([0 0 0 0 0 0 1]
i(x)= x^6;
而生成多項(xiàng)式g(x)= x^8 + x^7 + x^6 + x^4 + 1;
故碼值應(yīng)該為
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
假設(shè)高低位弄反了也不對(duì),從右往左是
1?? 1?? 1?? 0?? 1?? 0?? 0?? 0?? 1?? 0?? 0?? 0?? 0?? 0?? 0
而matlab的結(jié)果是如你所示的
0?? 0?? 0?? 1?? 0?? 1?? 1?? 1?? 0?? 0?? 0?? 0?? 0?? 0?? 1
所以我不能理解阿
明白了,十分感謝你的耐心解答。
總結(jié)
以上是生活随笔為你收集整理的bch matlab,求助!关于matlab中BCH码的弱问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Unix/Linux/BSD命令大全|实
- 下一篇: BCH编译码的matlab性能分析