matlab产生m序列代码

来源:互联网 发布:jsp mysql网上商城 编辑:程序博客网 时间:2024/06/04 18:23
%%%产生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
原创粉丝点击