bch matlab,求助!关于matlab中BCH码的弱问题
自己在編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
所以我不能理解阿
明白了,十分感謝你的耐心解答。
總結
以上是生活随笔為你收集整理的bch matlab,求助!关于matlab中BCH码的弱问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unix/Linux/BSD命令大全|实
- 下一篇: python程序精确法求解反应谱,傅里叶