用MATLAB生成PN序列(m序列)
mseq.m函数
8进制转2进制
输入反馈系数
如7阶m序列的反馈系数\((203)_8\)转换为二进制,为\((10000011)_2\),此时在命令行中输入:
m = mseq([1 0 0 0 0 0 1 1]);
mseq([1 0 0 0 0 0 1 1]);中的输入1 0 0 0 0 0 1 1代表各寄存器的初始状态,即本原多项式D7+D6+D5+D4+D3+D2+D1+1中各项的系数。选用不同的初始状态值对应不同的本原多项式,也会得到不同的m序列。
如果选用D7+D3+1,则只需调用mseq([0 0 1 0 0 0 1]),即可得到对应的m序列。原文链接:https://blog.csdn.net/Huuc6/article/details/115773266
7位二进制数就是7阶m序列,与\(D^n\)的对应关系如上,本原多项式中的+1项另算,即任何级数的m序列的本原多项式的最后一项都是+1。
可以通过primpoly()函数获得n阶m序列的所有本原多项式:
primpoly(n,'all');