图3.5 线性反馈移位寄存器
MATLAB生成M序列伪随机码函数如下:
% 在 MATLAB 命令窗口中输入以下内容:% fbconnection=[0 1 1 0 1 0 0 0 0 0 0 0 0 0 0
% 1];原多项式系数:[d0, d1, d2...di];其中di是本原多项式
% mseq=m_sequence(fbconnection)之前的系数; %MSEQ
%M_Sequence.m函数是生成伪随机序列
%时间:2016_1_13
%编辑by:chaining
function[mseq] = m_sequence(fbConnection)
n=长度(fbconnection);
N=2^n-1;
%寄存器=[zeros(1,n-1) 1];
寄存器=[1 1 0 1 0 0 0 0 1 0 1 1 1 1 0 1]; %移位寄存器的初始状态,[r(i),r(i-1),r(i-2),...r(0)];
mseq(1)=register(n) ;
%m 序列的第一个输出符号
for i=2:N
newregister(1)=mod(sum(fbconnection.*register),2);
对于 j=2 :n,
newregister(j)=register(j-1);
结束;
寄存器=新寄存器;
mseq(i)=寄存器(n);
-->