谁有用matlab7.0 产生m序列和gold序列的程序啊?还有仿真图,能给我发下吗?
1个回答
展开全部
m序列:
function [mseq]= m_sequence(fbconnection);
n = length(fbconnection);
N = 2^n-1; %m序列的长度
register = [zeros(1,n - 1) 1]; %定义移位寄存巧者器的初始状态
mseq(1)= register(n); %m序列的第纯宽坦一个输出码元
for i = 2:N
newregister(1)= mod(sum(fbconnection.*register),2);%寄存器与反馈的模2和
for j = 2:n
newregister(j)= register(j-1);
end;
register = newregister; %移位后的寄存器
mseq(i) = register(n); %新的寄存做桐器输出
end
clear;
fbconnection=[0 1 0 0 1];
m_sequence=m_sequence(fbconnection);
stairs(m_sequence); %对m序列绘图
axis([0 35 -0.2 1.2]); grid on
GOLD序列:
clear all clc
%%%%%%GOLD序列的生成%%%%%%
r=6;N=2^r-1;
s1(1:6)=[1 0 0 0 0 0]; %initial value 1
s2(1:6)=[1 0 0 0 0 0]; %initial value 1
f1=[1 0 0 0 0 1 1]; %特征多项式f=x^6+x+1;
f2=[1 1 0 0 1 1 1]; %特征多项式f=x^6+x^5+x^2+x+1;
for n=r+1:N %creat pn 1
s1(n)=mod(sum(s1(n-r:n-1).*f1(1:r)),2);
end
for n=r+1:N %creat pn 2
s2(n)=mod(sum(s2(n-r:n-1).*f2(1:r)),2);
end
s=mod(s1+s2,2); %creat pn gold
gold_sequence_1 = s;
function [mseq]= m_sequence(fbconnection);
n = length(fbconnection);
N = 2^n-1; %m序列的长度
register = [zeros(1,n - 1) 1]; %定义移位寄存巧者器的初始状态
mseq(1)= register(n); %m序列的第纯宽坦一个输出码元
for i = 2:N
newregister(1)= mod(sum(fbconnection.*register),2);%寄存器与反馈的模2和
for j = 2:n
newregister(j)= register(j-1);
end;
register = newregister; %移位后的寄存器
mseq(i) = register(n); %新的寄存做桐器输出
end
clear;
fbconnection=[0 1 0 0 1];
m_sequence=m_sequence(fbconnection);
stairs(m_sequence); %对m序列绘图
axis([0 35 -0.2 1.2]); grid on
GOLD序列:
clear all clc
%%%%%%GOLD序列的生成%%%%%%
r=6;N=2^r-1;
s1(1:6)=[1 0 0 0 0 0]; %initial value 1
s2(1:6)=[1 0 0 0 0 0]; %initial value 1
f1=[1 0 0 0 0 1 1]; %特征多项式f=x^6+x+1;
f2=[1 1 0 0 1 1 1]; %特征多项式f=x^6+x^5+x^2+x+1;
for n=r+1:N %creat pn 1
s1(n)=mod(sum(s1(n-r:n-1).*f1(1:r)),2);
end
for n=r+1:N %creat pn 2
s2(n)=mod(sum(s2(n-r:n-1).*f2(1:r)),2);
end
s=mod(s1+s2,2); %creat pn gold
gold_sequence_1 = s;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询