用MATLAB产生m序列的移位寄存器怎么提取状态值呀?如cn=[0,0,1,0,0,0,1] 只知道生成m序列。。。菜鸟求救哇

[复制链接]
查看11 | 回复1 | 2011-5-10 22:02:12 | 显示全部楼层 |阅读模式
线性反馈移位寄存器每隔 4个同步时钟输出一个状态值作为均匀分布的随机数输入 ( 即线性反馈移位寄存器每变换 4个状态输出一次状态值 ).状态值是10进制数。
就是移位四次提取一个状态值输出,主要是时钟信号不知怎么加。如:
function [x]=mseq(connections,registers,len);
%**************************************************************************
% 此函数生成最大长度线性移位寄存器序列
% connections为特征多项式向量,registers为初始值向量
% len为所需序列长度,若为0则输出一个周期
%**************************************************************************
connections=[0 1 0 0 1];len=100;
m=length(connections);
registers=[zeros(1,m-1),1];
L=2^m-1;
%周期长度
if len==0

len=L;
end
fan=0;
for i=1:len ;

u=1:m;

n=[1:m];

z(n(u))=registers(u).*2.^(u-1);

x(i)=sum(z);

for j=1:m

fan=fan +connections(j)*registers(j);

fan=(mod(fan,2));

end

for t=m:-1:2%寄存器移位

registers(t)=registers(t-1);

end

registers(1)=fan;

fan=0;
end
我要这个程序每移位四次输出一个值,应该怎么改呀?这个是每移一位输出一个值。

回复

使用道具 举报

千问 | 2011-5-10 22:02:12 | 显示全部楼层
没有寄存器,只是一个软件,据我所知,matlab不是用于这样的实时处理的。不知道你想做什么
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行