function y=signalgenenator(oct_coe)
% oct_coe=23;%将g(x)改成八进制的给进去
coe_alg=de2bi(oct2dec(oct_coe));%
sta_con=coe_alg(end:-1:2);%反馈的连 接状态向量,舍去输出的反馈链接
position=find(sta_con==1);%%得到抽头 位置
order=length(sta_con);%寄存器阶数
period=2^order-1;
reg=ones(1,order);%寄存器赋初值
tem=xor(reg(position(1)),reg(position (2)));
mSequence=[];
for i=3:length(position)
tem=xor(reg(position(i)),tem);% 循环异或抽头有效的寄存器值
end
for j=1:period;%m 序列的周期
for k=2:order;
reg(k-1)=reg(k);
end
reg(order)=tem;
tem=xor(reg(position(1)),reg (position(2)));
for v=3:length(position)
tem=xor(reg(position(v)),tem);
end
mSequence(j)=tem;% 将每次循环异 或后的值作为 m 序列的输出 end mSequence
end
y= mSequence;
根据给的g(x)不同输出不同的m序列