1、跳频扩频通信系统的基本原理
2、跳频扩频通信系统的特点
(1)抗干扰性强、误码率低
由于利用了扩展频谱技术,将信号扩展到很宽的频带上,在接收端对扩频信号进行相关处理即带宽压缩,使其恢复成窄带信号。对干扰信号而言,由于与扩频信号不相关,则被扩展到一个很宽的频带上,使之进入信号通频带内的干扰功率大大降低,因而具有较强的抗干扰能力。扩频通信系统扩展的频谱越宽,即扩频增益越高,其抗干扰能力也就越强。对大多数人为干扰而言,扩频系统都具有
很强的对抗能力。
由于扩频系统优良的抗干扰性能,误码率很低,正常条件下可低到10-10, 最差条件下约10-6,完全能满足国内相关系统对通道传输质量的要求.
(2)安全保密、隐蔽性好
扩频通信也是一种保密通信。由于扩频信号在在相对较宽的频带上被扩展信号湮没在噪声里,一般不容易被发现,隐蔽性好。有的系统可在-20~-15dB 信噪比条件下工作,对方很难测出信号的参数,从而达到安全保密通信的目的。扩频信号还可以进行信息加密,如要截获和窃听扩频信号,则必须知道扩频系统用的伪随机码、密钥等参数,并与系统完全同步,这样就给对方设置了更多的障碍,从而起到了保护信息的作用。
(3)可进行多址通信
在发送端,充分利用各种不同码型的扩频码序列之间优良的自相关特性和互相关特性进行扩频调制,在接收端利用相关检测技术进行相关解扩提取出有用信号,就可以实现多个用户共享给定频带的码分多址技术。虽然扩频系统占据了很宽的频带来完成信息的传输,但其很强的多址能力保证了它的高的频谱利用率,其频谱利用率比单路单载波系统还要高得多。这种多址方式组网灵活,入网迅速,适合于机动灵活的战术通信和移动通信。
(4)抗多径干扰
无线通信中抗多径(发射的信号经多条不同路径传播) 干扰一直是难以解决的问题,利用扩频编码之间的相关特性,在接收端可以用相关技术从多径信号中提取分离出最强的有用信号,也可把多个路径来的同一码序列的波形相加使之得到加强,从而达到有效的抗多径干扰。
(5)精确测距
在扩频通信中如果扩展频谱很宽,则意味着所采用的扩频码速率很高,每个码片占用的时间就很短。当发射出去的扩频信号在被测物体反射回来后,在接收端解调出扩频码序列,然后比较收发两个码序列相位之差,就可以精确测出扩频信号往返的时间差,从而算出二者之间的距离。测量的精度决定于码片的宽度,也就是扩展频谱的宽度。码片越窄,扩展的频谱越宽,精度越高。
3、基于Matlab 的跳频扩频通信系统的建模与仿真
对于跳频扩频通信系统,主要包括信源发出的基带信号、发送端产生的扩频码(PN 码)、频率合成器产生待调制的载频信号、FSK 或ASK 调制(本系统采用FSK 调制)、接收端产生相同的扩频码、频率合成器产生和发送端相同的载波信号、FSK 解调。其中频率合成器产生的载频信号频率受到扩频码的控制,本此设计中由频率合成器产生1000Hz 、1050Hz 和1120Hz 三种频率的载频。跳频通信仿真程序流程图如图2。
源程序如下:
clc
clear all
%跳频通信过程
%给出3个频点,滤波后仅对第一个频点进行解扩
%初始化
Ts=0.00001;fs=1/Ts;
ENDTime=2-Ts;%2s
%产生信源输出的信息序列(双极性不归零)
Tm=0.25;fm=1/Tm; %码率
[u,time]=gensig('square',2*Tm,ENDTime,Ts);
y=2*(u-0.5);
figure(1)
plot(time,y);
title('信源输出的信息序列')
xlabel('time (sceonds)')
axis([0 2 -2 2])
%FSK调制
T0=0.1;f0=1/T0;
T1=0.2;f1=1/T1;
[u0,time]=gensig('sin',T0,ENDTime,Ts);
[u1,time]=gensig('sin',T1,ENDTime,Ts);
y0=u0.*sign(-y+1);
y1=u1.*sign(y+1);
SignalFSK=y0+y1;%FSK信号
%FSK调制的频谱
nfft=fs+1;
Y=fft(SignalFSK,nfft);
PSignalFSK=Y.*conj(Y)/nfft;
f=fs*(0:nfft/2)/nfft;
figure(2)
plot(f,PSignalFSK(1:nfft/2+1));
title('FSK调制后的频谱')
xlabel('frequency (Hz)')
axis([0 100 -inf inf])
%FSK调制后,低通滤波
cof_low=fir1(64,25/fs);
SignalFSK_l=filter(cof_low,1,SignalFSK);
figure(3)
plot(time,SignalFSK_l);
title('FSK调制后经过低通滤波的波形')
xlabel('time (sceonds)')
axis([0 2 -2 2])
YSignalFSK_1=fft(SignalFSK_l,nfft);
PSignalFSK=YSignalFSK_1.*conj(YSignalFSK_1)/nfft;
f=fs*(0:nfft/2)/nfft;
figure(4)
plot(f,YSignalFSK_1(1:nfft/2+1));
title('FFSK调制后经过低通滤波的频谱')
xlabel('frequency (Hz)')
axis([0 100 -inf inf])
%混频1
fc1=1000;Tc=1/fc1; %频点1000
[Carrier,time]=gensig('sin',Tc,ENDTime,Ts);%产生扩频载波1
MixSignal1=SignalFSK_l.*Carrier;
%混频2
fc2=1050;Tc=1/fc2; %频点1050
[Carrier,time]=gensig('sin',Tc,ENDTime,Ts);%产生扩频载波2
MixSignal2=SignalFSK_l.*Carrier;
%混频3
fc3=1150;Tc=1/fc3; %频点1150
[Carrier,time]=gensig('sin',Tc,ENDTime,Ts);%产生扩频载波3
MixSignal3=SignalFSK_l.*Carrier;
figure(5)
plot(time,MixSignal1,time,MixSignal2,'r',time,MixSignal3,'k');
title('混频后的波形')
xlabel('time (sceonds)')
axis([0 2 -2 2])
%带通滤波
cof_band=fir1(64,[fc1-12.5,fc1+12.5]/fs);
yMixSignal=filter(cof_band,1,MixSignal1);
cof_band=fir1(64,[fc2-12.5,fc2+12.5]/fs);
yMixSignal2=filter(cof_band,1,MixSignal2);
cof_band=fir1(64,[fc3-12.5,fc3+12.5]/fs);
yMixSignal3=filter(cof_band,1,MixSignal3);
figure(6)
plot(time,yMixSignal,time,yMixSignal2,'r',time,yMixSignal3,'k'); title('经过带通滤波器的混频信号')
xlabel('time (sceonds)')
axis([0 2 -2 2])
YMixSignal=fft(yMixSignal,nfft);
PMixSignal=YMixSignal.*conj(YMixSignal)/nfft;
f=fs*(0:nfft/2)/nfft;
%传输信道
Sign_send=yMixSignal;
Sign_rec=Sign_send;
%接收端解扩
fc=1000;Tc=1/fc;
[Carrier,time]=gensig('sin',Tc,ENDTime,Ts);%产生扩频载波
Sign_rec=Sign_send;
ySign_rec=Sign_rec.*Carrier;
figure(7)
plot(time,ySign_rec);
title('解扩后的信号')
xlabel('time (sceonds)')
axis([0 2 -1 1])
%低通滤波,取下边频;
yrr=ySign_rec;
cof_low=fir1(64,25/fs);
Sign_rec_l=filter(cof_low,1,ySign_rec);
figure(8)
plot(time,Sign_rec_l);
title('解扩后的下边频的信号')
xlabel('time (sceonds)')
axis([0 2 -1 1])
YSign_rec_1=fft(Sign_rec_l,nfft);
PSign_rec_l=YSign_rec_1.*conj(YSign_rec_1)/nfft;
f=fs*(0:nfft/2)/nfft;
figure(9)
plot(f,PSign_rec_l(1:nfft/2+1));
title('解扩后的下边频频谱')
xlabel('frequency (Hz)')
axis([0 100 -inf inf])
%FSK解码
cof_f0=fir1(64,[f0-0.25,f0+0.25]/fs);
cof_f1=fir1(64,[f1-0.25,f1+0.25]/fs);
DeFSK0=filter(cof_f0,1,Sign_rec_l);
DeFSK1=filter(cof_f1,1,Sign_rec_l);
rDeFSK0=DeFSK0.*u0;
rDeFSK1=DeFSK1.*u1;
rDeFSK=rDeFSK0-rDeFSK1;
figure(10)
plot(time,rDeFSK);
title('抽样判决信号')
xlabel('time (sceonds)')
axis([0 2 -2 2])
%抽样判决
Sampletime=0.25/Ts;
Message=[];
Num=0;
while(Num
if(mod(Num,Sampletime)==0)
Message=[Message
ones(1,Sampletime+1)*sign(sum(rDeFSK((Num+1):(Num+Sampletime))))]; end
Num=Num+Sampletime;
end
figure(11)
plot((1:length(Message))/fs,Message);
title('输出端恢复信息')
xlabel('time (sceonds)')
axis([0 2 -2 2])
仿真结果如下:
1、跳频扩频通信系统的基本原理
2、跳频扩频通信系统的特点
(1)抗干扰性强、误码率低
由于利用了扩展频谱技术,将信号扩展到很宽的频带上,在接收端对扩频信号进行相关处理即带宽压缩,使其恢复成窄带信号。对干扰信号而言,由于与扩频信号不相关,则被扩展到一个很宽的频带上,使之进入信号通频带内的干扰功率大大降低,因而具有较强的抗干扰能力。扩频通信系统扩展的频谱越宽,即扩频增益越高,其抗干扰能力也就越强。对大多数人为干扰而言,扩频系统都具有
很强的对抗能力。
由于扩频系统优良的抗干扰性能,误码率很低,正常条件下可低到10-10, 最差条件下约10-6,完全能满足国内相关系统对通道传输质量的要求.
(2)安全保密、隐蔽性好
扩频通信也是一种保密通信。由于扩频信号在在相对较宽的频带上被扩展信号湮没在噪声里,一般不容易被发现,隐蔽性好。有的系统可在-20~-15dB 信噪比条件下工作,对方很难测出信号的参数,从而达到安全保密通信的目的。扩频信号还可以进行信息加密,如要截获和窃听扩频信号,则必须知道扩频系统用的伪随机码、密钥等参数,并与系统完全同步,这样就给对方设置了更多的障碍,从而起到了保护信息的作用。
(3)可进行多址通信
在发送端,充分利用各种不同码型的扩频码序列之间优良的自相关特性和互相关特性进行扩频调制,在接收端利用相关检测技术进行相关解扩提取出有用信号,就可以实现多个用户共享给定频带的码分多址技术。虽然扩频系统占据了很宽的频带来完成信息的传输,但其很强的多址能力保证了它的高的频谱利用率,其频谱利用率比单路单载波系统还要高得多。这种多址方式组网灵活,入网迅速,适合于机动灵活的战术通信和移动通信。
(4)抗多径干扰
无线通信中抗多径(发射的信号经多条不同路径传播) 干扰一直是难以解决的问题,利用扩频编码之间的相关特性,在接收端可以用相关技术从多径信号中提取分离出最强的有用信号,也可把多个路径来的同一码序列的波形相加使之得到加强,从而达到有效的抗多径干扰。
(5)精确测距
在扩频通信中如果扩展频谱很宽,则意味着所采用的扩频码速率很高,每个码片占用的时间就很短。当发射出去的扩频信号在被测物体反射回来后,在接收端解调出扩频码序列,然后比较收发两个码序列相位之差,就可以精确测出扩频信号往返的时间差,从而算出二者之间的距离。测量的精度决定于码片的宽度,也就是扩展频谱的宽度。码片越窄,扩展的频谱越宽,精度越高。
3、基于Matlab 的跳频扩频通信系统的建模与仿真
对于跳频扩频通信系统,主要包括信源发出的基带信号、发送端产生的扩频码(PN 码)、频率合成器产生待调制的载频信号、FSK 或ASK 调制(本系统采用FSK 调制)、接收端产生相同的扩频码、频率合成器产生和发送端相同的载波信号、FSK 解调。其中频率合成器产生的载频信号频率受到扩频码的控制,本此设计中由频率合成器产生1000Hz 、1050Hz 和1120Hz 三种频率的载频。跳频通信仿真程序流程图如图2。
源程序如下:
clc
clear all
%跳频通信过程
%给出3个频点,滤波后仅对第一个频点进行解扩
%初始化
Ts=0.00001;fs=1/Ts;
ENDTime=2-Ts;%2s
%产生信源输出的信息序列(双极性不归零)
Tm=0.25;fm=1/Tm; %码率
[u,time]=gensig('square',2*Tm,ENDTime,Ts);
y=2*(u-0.5);
figure(1)
plot(time,y);
title('信源输出的信息序列')
xlabel('time (sceonds)')
axis([0 2 -2 2])
%FSK调制
T0=0.1;f0=1/T0;
T1=0.2;f1=1/T1;
[u0,time]=gensig('sin',T0,ENDTime,Ts);
[u1,time]=gensig('sin',T1,ENDTime,Ts);
y0=u0.*sign(-y+1);
y1=u1.*sign(y+1);
SignalFSK=y0+y1;%FSK信号
%FSK调制的频谱
nfft=fs+1;
Y=fft(SignalFSK,nfft);
PSignalFSK=Y.*conj(Y)/nfft;
f=fs*(0:nfft/2)/nfft;
figure(2)
plot(f,PSignalFSK(1:nfft/2+1));
title('FSK调制后的频谱')
xlabel('frequency (Hz)')
axis([0 100 -inf inf])
%FSK调制后,低通滤波
cof_low=fir1(64,25/fs);
SignalFSK_l=filter(cof_low,1,SignalFSK);
figure(3)
plot(time,SignalFSK_l);
title('FSK调制后经过低通滤波的波形')
xlabel('time (sceonds)')
axis([0 2 -2 2])
YSignalFSK_1=fft(SignalFSK_l,nfft);
PSignalFSK=YSignalFSK_1.*conj(YSignalFSK_1)/nfft;
f=fs*(0:nfft/2)/nfft;
figure(4)
plot(f,YSignalFSK_1(1:nfft/2+1));
title('FFSK调制后经过低通滤波的频谱')
xlabel('frequency (Hz)')
axis([0 100 -inf inf])
%混频1
fc1=1000;Tc=1/fc1; %频点1000
[Carrier,time]=gensig('sin',Tc,ENDTime,Ts);%产生扩频载波1
MixSignal1=SignalFSK_l.*Carrier;
%混频2
fc2=1050;Tc=1/fc2; %频点1050
[Carrier,time]=gensig('sin',Tc,ENDTime,Ts);%产生扩频载波2
MixSignal2=SignalFSK_l.*Carrier;
%混频3
fc3=1150;Tc=1/fc3; %频点1150
[Carrier,time]=gensig('sin',Tc,ENDTime,Ts);%产生扩频载波3
MixSignal3=SignalFSK_l.*Carrier;
figure(5)
plot(time,MixSignal1,time,MixSignal2,'r',time,MixSignal3,'k');
title('混频后的波形')
xlabel('time (sceonds)')
axis([0 2 -2 2])
%带通滤波
cof_band=fir1(64,[fc1-12.5,fc1+12.5]/fs);
yMixSignal=filter(cof_band,1,MixSignal1);
cof_band=fir1(64,[fc2-12.5,fc2+12.5]/fs);
yMixSignal2=filter(cof_band,1,MixSignal2);
cof_band=fir1(64,[fc3-12.5,fc3+12.5]/fs);
yMixSignal3=filter(cof_band,1,MixSignal3);
figure(6)
plot(time,yMixSignal,time,yMixSignal2,'r',time,yMixSignal3,'k'); title('经过带通滤波器的混频信号')
xlabel('time (sceonds)')
axis([0 2 -2 2])
YMixSignal=fft(yMixSignal,nfft);
PMixSignal=YMixSignal.*conj(YMixSignal)/nfft;
f=fs*(0:nfft/2)/nfft;
%传输信道
Sign_send=yMixSignal;
Sign_rec=Sign_send;
%接收端解扩
fc=1000;Tc=1/fc;
[Carrier,time]=gensig('sin',Tc,ENDTime,Ts);%产生扩频载波
Sign_rec=Sign_send;
ySign_rec=Sign_rec.*Carrier;
figure(7)
plot(time,ySign_rec);
title('解扩后的信号')
xlabel('time (sceonds)')
axis([0 2 -1 1])
%低通滤波,取下边频;
yrr=ySign_rec;
cof_low=fir1(64,25/fs);
Sign_rec_l=filter(cof_low,1,ySign_rec);
figure(8)
plot(time,Sign_rec_l);
title('解扩后的下边频的信号')
xlabel('time (sceonds)')
axis([0 2 -1 1])
YSign_rec_1=fft(Sign_rec_l,nfft);
PSign_rec_l=YSign_rec_1.*conj(YSign_rec_1)/nfft;
f=fs*(0:nfft/2)/nfft;
figure(9)
plot(f,PSign_rec_l(1:nfft/2+1));
title('解扩后的下边频频谱')
xlabel('frequency (Hz)')
axis([0 100 -inf inf])
%FSK解码
cof_f0=fir1(64,[f0-0.25,f0+0.25]/fs);
cof_f1=fir1(64,[f1-0.25,f1+0.25]/fs);
DeFSK0=filter(cof_f0,1,Sign_rec_l);
DeFSK1=filter(cof_f1,1,Sign_rec_l);
rDeFSK0=DeFSK0.*u0;
rDeFSK1=DeFSK1.*u1;
rDeFSK=rDeFSK0-rDeFSK1;
figure(10)
plot(time,rDeFSK);
title('抽样判决信号')
xlabel('time (sceonds)')
axis([0 2 -2 2])
%抽样判决
Sampletime=0.25/Ts;
Message=[];
Num=0;
while(Num
if(mod(Num,Sampletime)==0)
Message=[Message
ones(1,Sampletime+1)*sign(sum(rDeFSK((Num+1):(Num+Sampletime))))]; end
Num=Num+Sampletime;
end
figure(11)
plot((1:length(Message))/fs,Message);
title('输出端恢复信息')
xlabel('time (sceonds)')
axis([0 2 -2 2])
仿真结果如下: