📄 msequence.m
字号:
%m序列生成函数msequence.m
%输入:本原多项式表中的8进制数
%输出:m序列
function mseq=msequence(prim);
data=de2bi(oct2dec(prim));%8进制本原多项式直接转换成2进制。
data=data(end-1:-1:1);%2进制本原多项式位数顺序颠倒并去掉最后一位(其恒为1)。
n=length(data);%该序列的级数
N=2^n-1;%该序列的长度
register=ones(1,n); %n级移位寄存器赋初值全“1”
mseq=zeros(1,N);
mseq(1)=register(n);%读取寄存器的最后一位值,即寄存器的输出
for i=2:N
newregister=mod(sum(data.*register),2);%输出反馈
for j=2:n
newregister(j)=register(j-1);%逐级右移
end
register=newregister;%寄存器赋新值
mseq(i)=register(n);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -