📄 m_seq.m
字号:
function mseq=m_seq(prim_poly);%{函数声明}
fbconnection=de2bi(oct2dec(prim_poly));
%de2bi---转换十进制为二进制
%oct2dec-------8进制转换为十进制
%因此以上语句的作用实际上是将8进制本原多项式直接转换成2进制。
fbconnection=fbconnection(end-1:-1:1);%2进制本原多项式位数顺序颠倒。
%就是从2进制数组的倒数第二位开始,反向生成新的数组。
n=length(fbconnection);%{length(z)表示求出z元素的个数,这个函数表示求出fbconnection的元素个数}
N=2^n-1;
register=ones(1,n);%n级移位寄存器赋初值全“1”,{ones表示赋值全为1}
mseq=zeros(1,N);%{zeros为赋值全为0}
mseq(1)=register(n);
for i=2:N
newregister(1)=mod(sum(fbconnection.*register),2);%
%第一,fbconnection.*register表示两个数组对应元素的相乘,
%第二,sum(a)表示将所乘得到的数组a中的每个元素相加
%第三mod(a,b)就是求的是a除以b的余数。比方说mod(7,3)=1,mod(11,6)=5
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 + -