图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功能是生成伪随机序列 %time:2016_1_13 %edit by:柴宁 function[mseq]=m_sequence(fbconnection) n=length(fbconnection); N=2^n-1; % register=[zeros(1,n-1) 1]; register=[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); for j=2:n, newregister(j)=register(j-1); end; register=newregister; mseq(i)=register(n); end
图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功能是生成伪随机序列 %time:2016_1_13 %edit by:柴宁 function[mseq]=m_sequence(fbconnection) n=length(fbconnection); N=2^n-1; % register=[zeros(1,n-1) 1]; register=[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); for j=2:n, newregister(j)=register(j-1); end; register=newregister; mseq(i)=register(n); end
|
请发表评论