扩频通信实验及完整代码.docx
- 文档编号:1676581
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:17
- 大小:140.15KB
扩频通信实验及完整代码.docx
《扩频通信实验及完整代码.docx》由会员分享,可在线阅读,更多相关《扩频通信实验及完整代码.docx(17页珍藏版)》请在冰豆网上搜索。
扩频通信实验及完整代码
《扩频通信》实验报告
题目:
扩频通信系统仿真
指导教师:
学号:
姓名:
专业:
1、跳频通信系统原理介绍
跳频扩频系统是用伪随机码序列构成跳频指令来控制频率合成器,在多个频率中进行有选择的频移键控。
与直扩系统相比,调频系统中的伪随机序列并不是直接传输,而是用来选择信道。
调频系统的组成框图如下图所示:
图中,扩频调制器是一个上变频器,扩频解调器是一个下变频器。
频率合成器A和频率合成器B分别为上变频器和下变频器提供本振信号,他们的输出信号在调频码的控制下按照统一规律跳变。
2、实验目的
学习扩频通信系统技术理论基础及调频序列扩频系统基本原理,并设计出跳频扩频通信系统模型。
此通信系统具体包括信源模块、信息调制模块、扩频码产生模块、扩频模块、信道模块、解扩模块、信息解调模块。
三、程序设计流程图
4、仿真环境
本次扩频通信系统的仿真是用MATLABR2012a模拟实现的,用MATLAB编程来实现对扩频通信系统的仿真。
5、模块源代码及仿真波形
本系统主要包括信源发出的基带信号、发送端产生的扩频码(PN码)、频率合成器产生待调制的载频信号、FSK调制、接收端产生的扩频码、频率合成器产生和发送端相同的载频信号、FSK解调,其中频率合成器产生的载频信号频率受到扩频码的控制,本系统中由频率合成器产生1000Hz、1050Hz、1150Hz三种频率的载频。
(1)调频系统调制模块
A)%%产生信源输出的信息序列(双极性不归零码)
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([02-22]);
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.*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([0100-infinf]);
C)%%FSK调制后,低通滤波
cof_low=fir1(64,25/fs);
SignalFSK_1=filter(cof_low,1,SignalFSK);
figure(3)
plot(time,SignalFSK_1);
title('FSK调制后经过低通滤波器的波形');
xlabel('time(seconds)');
axis([02-22]);
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([0100-infinf]);
(2)混频模块
%%
%混频1
fc1=1000;Tc=1/fc1;%频点:
1000
[Carrier,time]=gensig('sin',Tc,EndTime,Ts);%产生扩频载波1
MixSignal1=SignalFSK_1.*Carrier;
%混频2
fc2=1050;Tc=1/fc2;%频点:
1050
[Carrier,time]=gensig('sin',Tc,EndTime,Ts);%产生扩频载波2
MixSignal2=SignalFSK_1.*Carrier;
%混频3
fc3=1150;Tc=1/fc3;%频点:
1150
[Carrier,time]=gensig('sin',Tc,EndTime,Ts);%产生扩频载波3
MixSignal3=SignalFSK_1.*Carrier;
figure(5)
plot(time,MixSignal1,time,MixSignal2,'r',time,MixSignal3,'k');
title('混频后的波形');
xlabel('time(seconds)');
axis([02-22]);
(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]/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([02-22]);
(4)解扩模块
A)%%接收端解扩
fc=1000;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([02-11]);
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('time(seconds)');
axis([02-11]);
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([0100-infinf]);
C)%%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_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([02-22]);
D)%%抽样判决
Sampletime=0.25/Ts;
Message=[];
Num=0;
while(Num<2/Ts)
if(mod(Num,Sampletime)==0)
Message=[Messageones(1,Sampletime+1)*sign(sum(rDeFSK(Num+1):
(Num+Sampletime)))];
end
Num=Num+Sampletime;
end
figure(12);
plot((1:
length(Message))/fs,Message);
title('输出端恢复的信息');
xlabel('time(seconds)');
axis([02-22]);
六、附录(完整源代码)
clc
clearall
%调频通信过程
%给出三个频点,滤波后仅对第一个频点进行解扩
%初始化
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(seconds)');
axis([02-22]);
%%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([0100-infinf]);
%%FSK调制后,低通滤波
cof_low=fir1(64,25/fs);
SignalFSK_1=filter(cof_low,1,SignalFSK);
figure(3)
plot(time,SignalFSK_1);
title('FSK调制后经过低通滤波器的波形');
xlabel('time(seconds)');
axis([02-22]);
YSignalFSK_1=fft(SignalFSK_1,nfft);
PSignalFSK_1=YSignalFSK_1.*conj(YSignalFSK_1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 实验 完整 代码