matlab产生m序列代码

%%%产生m序列
function[seq]=mseq(connections,registers,len)%registers为寄存器初值序列,connections为各个寄存器的反馈连接取值序列(0/1)(不包括第一个寄存器)
m=length(connections);
L=2^m-1;%m序列周期长度
if len==0
    len=L;%len需要输出序列的长度
end
fan=0;
for i=1:len
    seq(i)=registers(m);%seq(i)为输出(第m个寄存器的值)
    for j=1:m
        fan=fan+connections(j)*registers(j);
        fan=(mod(fan,2));%fan为第一个寄存器移位输入1或0
    end
    for t=m:-1:2%寄存器移位
        registers(t)=registers(t-1);
    end
    registers(1)=fan;
    fan=0;
end
上一篇:阿里云ACE 同城 活动 总结


下一篇:北京阿里云ACE态势感知大屏体验黑客攻击与防御