【matlab相关】m序列的原理及实现

1、matlab 中实现

https://blog.csdn.net/u011639609/article/details/51472577

亲测可以实现

function [mseq] = m_sequence(fbconnection, initregister)
n = length(fbconnection);
N = 2^n-1;
register = initregister; %定义移位寄存器的初始状态
newregister = zeros(1, n);
mseq = zeros(1, N);

for i = 1:N
    mseq(i) = register(n);
    newregister(1)= mod(sum(fbconnection.*register),2);
    newregister(2:n) = register(1:n-1);
    register=newregister;
end

应用为 

b=m_sequence([0 1 1],[1 0 1]);

2、simulink中实现

【matlab相关】m序列的原理及实现_第1张图片

 1/z 初始条件不同,即为不同的寄存器的连接系数,该m序列周期为31

 

你可能感兴趣的:(matlab相关)