matlab伪随机码,Matlab生成M序列的伪随机码

图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

原文:http://www.cnblogs.com/sddai/p/5444802.html

你可能感兴趣的:(matlab伪随机码)