1、扩频通信实验及完整代码扩频通信实验报告题 目: 扩频通信系统仿真 指导教师: 学 号: 姓 名: 专 业: 1、跳频通信系统原理介绍跳频扩频系统是用伪随机码序列构成跳频指令来控制频率合成器,在多个频率中进行有选择的频移键控。与直扩系统相比,调频系统中的伪随机序列并不是直接传输,而是用来选择信道。调频系统的组成框图如下图所示:图中,扩频调制器是一个上变频器,扩频解调器是一个下变频器。频率合成器A和频率合成器B分别为上变频器和下变频器提供本振信号,他们的输出信号在调频码的控制下按照统一规律跳变。2、实验目的学习扩频通信系统技术理论基础及调频序列扩频系统基本原理,并设计出跳频扩频通信系统模型。此通信
2、系统具体包括信源模块、信息调制模块、扩频码产生模块、扩频模块、信道模块、解扩模块、信息解调模块。三、程序设计流程图4、仿真环境本次扩频通信系统的仿真是用MATLAB R2012a模拟实现的,用MATLAB编程来实现对扩频通信系统的仿真。5、模块源代码及仿真波形本系统主要包括信源发出的基带信号、发送端产生的扩频码(PN码)、频率合成器产生待调制的载频信号、FSK调制、接收端产生的扩频码、频率合成器产生和发送端相同的载频信号、FSK解调,其中频率合成器产生的载频信号频率受到扩频码的控制,本系统中由频率合成器产生1000Hz、1050Hz、1150Hz三种频率的载频。(1)调频系统调制模块A)% 产
3、生信源输出的信息序列(双极性不归零码)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(seconds);axis(0 2 -2 2);B)% 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
4、.*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);C)% FSK调制后,低通滤波cof_low=fir1(64,25/fs);SignalFSK_1=filter(cof_low,1,SignalF
5、SK);figure(3)plot(time,SignalFSK_1);title(FSK调制后经过低通滤波器的波形);xlabel(time(seconds);axis(0 2 -2 2);YSignalFSK_1= fft(SignalFSK_1,nfft);PSignalFSK_1 = YSignalFSK_1.*conj(YSignalFSK_1)/nfft;f = fs*(0:nfft/2)/nfft;figure(4);plot(f,PSignalFSK_1(1:nfft/2+1);title(FSK调制后经过低通滤波的频谱);xlabel(frequency (Hz);axis(
6、0 100 -inf inf);(2)混频模块% %混频1fc1=1000;Tc=1/fc1;%频点:1000Carrier,time = gensig(sin,Tc,EndTime,Ts); %产生扩频载波1MixSignal1=SignalFSK_1.*Carrier;%混频2fc2=1050;Tc=1/fc2;%频点:1050Carrier,time = gensig(sin,Tc,EndTime,Ts); %产生扩频载波2MixSignal2=SignalFSK_1.*Carrier;%混频3fc3=1150;Tc=1/fc3;%频点:1150Carrier,time = gensig
7、(sin,Tc,EndTime,Ts); %产生扩频载波3MixSignal3=SignalFSK_1.*Carrier;figure(5)plot(time,MixSignal1,time,MixSignal2,r,time,MixSignal3,k);title(混频后的波形);xlabel(time(seconds);axis(0 2 -2 2);(3)带通滤波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/
8、fs);yMixSignal2=filter(cof_band,1,MixSignal2);cod_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(seconds);axis(0 2 -2 2);(4)解扩模块A)%接收端解扩fc=1000;Tc=1/fc;Carrier,time=gensi
9、g(sin,Tc,EndTime,Ts);%产生扩频载波Sign_rec=Sign_send;ySign_rec=Sign_rec.*Carrier;figure(8);plot(time,ySign_rec);title(解扩后的信号);xlabel(time(second);axis(0 2 -1 1);B)% 低通滤波,取下边频yrr=ySign_rec;cof_low=fir1(64,25/fs);Sign_rec_1=filter(cof_low,1,ySign_rec);figure(9);plot(time,Sign_rec_1);title(解扩后的下边频的信号);xlabel
10、(time(seconds);axis(0 2 -1 1);YSign_rec_1=fft(Sign_rec_1,nfft);PSign_rec_1=YSign_rec_1.*conj(YSign_rec_1)/nfft;f=fs*(0:nfft/2)/nfft;figure(10);plot(f,PSign_rec_1(1:nfft/2+1);title(解扩后的下边频频谱);xlabel(frequency(Hz);axis(0 100 -inf inf);C)% FSK解码cof_f0=fir1(64,f0-0.25,f0+0.25/fs);cof_f1=fir1(64,f1-0.25,
11、f1+0.25/fs);DeFSK0=filter(cof_f0,1,Sign_rec_1);DeFSK1=filter(cof_f1,1,Sign_rec_1);rDeFSK0=DeFSK0.*u0;rDeFSK1=DeFSK1.*u1;rDeFSK=rDeFSK0-rDeFSK1;figure(11);plot(time,rDeFSK);title(抽样判决前的信号);xlabel(time (seconds);axis(0 2 -2 2);D)%抽样判决Sampletime=0.25/Ts;Message=;Num=0; while(Num2/Ts) if(mod(Num,Samplet
12、ime)=0) Message=Message ones(1,Sampletime+1)*sign(sum(rDeFSK(Num+1):(Num+Sampletime); end Num=Num+Sampletime; endfigure(12);plot(1:length(Message)/fs,Message);title(输出端恢复的信息);xlabel(time(seconds);axis(0 2 -2 2);六、附录(完整源代码)clcclear all%调频通信过程%给出三个频点,滤波后仅对第一个频点进行解扩%初始化Ts=0.00001;fs=1/Ts;EndTime=2-Ts;
13、%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(seconds);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=u
14、1.*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_1=filter(cof_low,1,SignalFS
15、K);figure(3)plot(time,SignalFSK_1);title(FSK调制后经过低通滤波器的波形);xlabel(time(seconds);axis(0 2 -2 2);YSignalFSK_1= fft(SignalFSK_1,nfft);PSignalFSK_1 = YSignalFSK_1.*conj(YSignalFSK_1)/nfft;f = fs*(0:nfft/2)/nfft;figure(4);plot(f,PSignalFSK_1(1:nfft/2+1);title(FSK调制后经过低通滤波的频谱);xlabel(frequency (Hz);axis(0
16、 100 -inf inf);% %混频1fc1=1000;Tc=1/fc1;%频点:1000Carrier,time = gensig(sin,Tc,EndTime,Ts); %产生扩频载波1MixSignal1=SignalFSK_1.*Carrier;%混频2fc2=1050;Tc=1/fc2;%频点:1050Carrier,time = gensig(sin,Tc,EndTime,Ts); %产生扩频载波2MixSignal2=SignalFSK_1.*Carrier;%混频3fc3=1150;Tc=1/fc3;%频点:1150Carrier,time = gensig(sin,Tc,
17、EndTime,Ts); %产生扩频载波3MixSignal3=SignalFSK_1.*Carrier;figure(5)plot(time,MixSignal1,time,MixSignal2,r,time,MixSignal3,k);title(混频后的波形);xlabel(time(seconds);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);yMixS
18、ignal2=filter(cof_band,1,MixSignal2);cod_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(seconds);axis(0 2 -2 2);% 传输信道Sign_send=yMixSignal;Sign_rec=Sign_send;%接收端解扩fc=100
19、0;Tc=1/fc;Carrier,time=gensig(sin,Tc,EndTime,Ts);%产生扩频载波Sign_rec=Sign_send;ySign_rec=Sign_rec.*Carrier;figure(8);plot(time,ySign_rec);title(解扩后的信号);xlabel(time(second);axis(0 2 -1 1);% 低通滤波,取下边频yrr=ySign_rec;cof_low=fir1(64,25/fs);Sign_rec_1=filter(cof_low,1,ySign_rec);figure(9);plot(time,Sign_rec_1
20、);title(解扩后的下边频的信号);xlabel(time(seconds);axis(0 2 -1 1);YSign_rec_1=fft(Sign_rec_1,nfft);PSign_rec_1=YSign_rec_1.*conj(YSign_rec_1)/nfft;f=fs*(0:nfft/2)/nfft;figure(10);plot(f,PSign_rec_1(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)
21、;cof_f1=fir1(64,f1-0.25,f1+0.25/fs);DeFSK0=filter(cof_f0,1,Sign_rec_1);DeFSK1=filter(cof_f1,1,Sign_rec_1);rDeFSK0=DeFSK0.*u0;rDeFSK1=DeFSK1.*u1;rDeFSK=rDeFSK0-rDeFSK1;figure(11);plot(time,rDeFSK);title(抽样判决前的信号);xlabel(time (seconds);axis(0 2 -2 2);%抽样判决Sampletime=0.25/Ts;Message=;Num=0; while(Num2/Ts) if(mod(Num,Sampletime)=0) Message=Message ones(1,Sampletime+1)*sign(sum(rDeFSK(Num+1):(Num+Sampletime); end Num=Num+Sampletime; endfigure(12);plot(1:length(Message)/fs,Message);title(输出端恢复的信息);xlabel(time(seconds);axis(0 2 -2 2);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1