跳频通信基于matlab跳频通信系统仿真含Matlab源码 967期
Posted 紫极神光
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跳频通信基于matlab跳频通信系统仿真含Matlab源码 967期相关的知识,希望对你有一定的参考价值。
一、简介
1 扩频通信基础
2 跳频通信原理
二、源代码
clc;clear;
g=40;fs=100000;
r=-10;delay=0;
sig1=round(rand(1,g)); %产生随机信号源
signal1=[];
for k=1:g %离散点化
if sig1(1,k)==0
sig=-ones(1,1000); % bit 0设置1000个样点
else
sig=ones(1,1000); % bit 1设置1000个样点
end
signal1=[signal1 sig];
end
figure(1)
plot(signal1,\'b\',\'linewidth\',1); %信源波形
grid on;
axis([-100 1000*g -1.5 1.5]);
title(\'信号源\')
T0=200; f0=1/T0;
T1=400; f1=1/T1;
u0=gensig(\'sin\',T0,1000*g-1,1);
u0=rot90(u0); u1=gensig(\'sin\',T1,1000*g-1,1);
u1=rot90(u1); y0=u0.*sign(-signal1+1);
y1=u1.*sign(signal1+1);
SignalFSK=y0+y1; % 生成的FSK信号
figure(2);
% subplot(2,1,1);
plot(SignalFSK) % FSK信号的时域波形
axis([-100 1000*g -3 3]);
title(\'SignalFSK\')
% % FSK信号频谱
% subplot(2,1,2)
% Plot_f(SignalFSK ,fs);
% title(\'FSK调制后的频谱\');
t1=(0:100*pi/999:100*pi);
t2=(0:110*pi/999:110*pi);
t3=(0:120*pi/999:120*pi);
t4=(0:130*pi/999:130*pi);
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);
c2=cos(t2);
c3=cos(t3);
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=[]; %用户一载波
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
function seq = Mcreate( prim_poly )
connections=de2bi(prim_poly);
N=length(connections);
tmp1=fliplr(connections);
con=tmp1(2:N);
m=length(connections)-1;
L=2^m-1;
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:m)=registers(1:m-1);
registers(1)=tmp2;
end;
end
function Plot_f( SignalFSK ,fs)
nfft=fs+1;
Y = fft(SignalFSK,nfft);
PSignalFSK = Y.* conj(Y)/nfft;
f = fs*(0:nfft/2)/nfft;
axis([0 10000 -inf inf]);
end
三、运行结果
四、备注
版本:2014a
完整代码或代写加1564658423
以上是关于跳频通信基于matlab跳频通信系统仿真含Matlab源码 967期的主要内容,如果未能解决你的问题,请参考以下文章
怎样使用matlab进行跳频通信干扰方面的仿真?(在线等,请高手进啊!!!)