主程序代码:
t1=(0:100*pi/999:100*pi);%载波1
t2=(0:110*pi/999:110*pi);%载波2
t3=(0:120*pi/999:120*pi);%载波3
t4=(0:130*pi/999:130*pi);%载波4
t5=(0:140*pi/999:140*pi);
t6=(0:150*pi/999:150*pi);
t7=(0:160*pi/999:160*pi);
t8=(0:170*pi/999:170*pi);
c1=cos(t1);%载波1
c2=cos(t2);
c3=cos(t3);%载波3
c4=cos(t4);
c5=cos(t5);
c6=cos(t6);
c7=cos(t7);
c8=cos(t8);
adr1=Mcreate(1001203);
adr1=[adr1,adr1(1),adr1(2)];%用户地址为初始m序列
fh__seq1= [];
for k=1:g_
seq_1=adr1(3*k-2)*2^2+adr1(3*k-1)*2+adr1(3*k);
fh_seq1=[fh_seq1 seq_1]; %生成用户载波序列
end
spread_signal1=[]; %用户一载波
help_despread_signal1=[]; %辅助信号,解调时用
fhp=[];
for k=1:g
c=fh_seq1(k);
switch(c)
case(0)
spread_signal1=[spread_signal1 c8];
case(1)
spread_signal1=[spread_signal1 c1]; %形成随机载频序列
case(2)
spread_signal1=[spread_signal1 c2];
case(3)
spread_signal1=[spread_signal1 c3];
case(4)
spread_signal1=[spread_signal1 c4];
case(5)
spread_signal1=[spread_signal1 c5];
case(6)
spread_signal1=[spread_signal1 c6];
case(7)
spread_signal1=[spread_signal1 c7];
end
fhp=[fhp (500*c+5000)];
end
figure(3);
plot(fhp,'*');
title('跳频图案');
M序列:
function seq = Mcreate( prim_poly )
prim_poly;
connections=de2bi(prim_poly);
N=length(connections);
tmp1=fliplr(connections);
con=tmp1(2:N);
m=length(connections);
L=2^m-1;
tmp2=0;
registers=[zeros(1,m-1) 1];
%seq(1)=registers(m);
for ii=1:L
seq(ii)=registers(m);
%tmp2=registers*con';
tmp2=mod(tmp2,2);
registers(2:length(registers))=registers(1:length(registers)-1);
registers(1)=tmp2;
end
end
主要是这2行代码(主程序部分)无法再2008a上运行(一直显示busy)
adr1=Mcreate(1001203);
adr1=[adr1,adr1(1),adr1(2)];%用户地址为初始m序列