《2FSK数字传输系统仿真及设计.doc》由会员分享,可在线阅读,更多相关《2FSK数字传输系统仿真及设计.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2FSK数字传输系统仿真及设计摘要:2FSK是利用数字基带信号控制载波的频率来传送信息,是数字通信中使用较早的一种调制方式。本课程设计利用MATLAB软件来实现对2FSK数字调制解调器的仿真与设计。2FSK解调有两种方法,即相干解调法和非相干解调法。本课程设计详细阐述了2FSK数字调制解调器的实现及系统性能分析。通过MATLAB软件中调试出仿真结果,实现了一串二进制序列的调制与解调仿真,并得到了良好的仿真波形图。关键词:2FSK;相干解调;数字传输系统;MATLAB仿真目 录第1章 绪论11.1 课题研究的背景和意义11.2 课题研究的主要内容和结构安排1第2章 MATLAB简介2第3章 2F
2、SK的基本原理33.1 2FSK数字系统的调制原理33.2 FSK的解调方式43.2.1 非相干解调43.2.2 相干解调43.2.3 2FSK的功率谱和带宽53.3 2FSK抗噪声性能分析5第4章 2FSK仿真实现64.1 程序调试64.2 MATLAB仿真分析64.3 系统性能分析9第4章 小结10参考文献11附 录12成都学院(成都大学)课程设计报告第1章 绪论1.1 课题研究的背景和意义数字基带信号是低通型信号,其功率谱集中在零频附近,它可以直接在低通型信道中传输,然而,实际信道很多是带通型的,数字基带信号无法直接通过带通型信道。因此,在发送端需要把数字基带信号的频谱搬移到带通信道的通
3、带范围内,以便信号在带通型信道中传输,这个频谱的搬移过程称为数字调制,相应地,在接受端需要将已调信号搬回来,还原为基带信号,这个反搬移过程叫数字解调。本课程设计目的在于熟悉2FSK调制及相干解调过程,通过Matlab软件予以仿真测试验证,并作一定的误码分析。1866年利用海底电缆实现了跨大西洋的越洋电报通信。1876年贝尔发明了电话,利用电信号实现了语音信号的有线传递,使信息的传递变的既迅速又准确,这标志着模拟通信的开始,由于它比电报更便于交流使用,所以直到20世纪这种采用模拟技术的电话通信技术比电报的到了更为迅速和广泛的发展。1937年瑞威斯发明的脉冲编码调制标志数字通信的开始。20世纪60
4、年代以后集成电路、电子计算机的出现,使得数字通信迅速发展。在70年代末在全球发展起来的模拟移动电话在90年代中期被数字移动电话所代替,现有的模拟电视也正在被数字电视所代替。数字通信的高速率和大容量等各方面的优越性也使人们看到了它的发展前途。1.2 课题研究的主要内容和结构安排本次课程设计主要研究内容如下:(1) 设计出2FSK数字通信系统的结构,包括信源,调制,发送滤波器模块,信道,接受滤波器模块以及信宿; (2) 根据通信原理,设计出各个模块的参数(例如码速率,滤波器的截止频率等); (3) 用SystemView 或 Matlab实现该数字通信系统; (4) 观察仿真并进行波形分析(眼图,
5、和星座图); (5) 系统的性能评价(分析误码率)。在本文中,首先在绪论中对课题研究的背景意义、研究的主要内容和章节安排做了详细的阐述,并在第2章对2FSK的基本原理、实现方法、相干和非相干解调以及噪声分析的进行了详细介绍。第3章介绍了MATLAB软件、程序调试和性能分析。第4章总结了本课程设计的经验和心得。第2章 MATLAB简介美国Mathworks公司于1967年推出了矩阵实验室“Matrix Laboratory”(缩写为Matlab)这就是Matlab最早的雏形。开发的最早的目的是帮助学校的老师和学生更好的授课和学习。从Matlab诞生开始,由于其高度的集成性及应用的方便性,在高校中
6、受到了极大的欢迎。由于它使用方便,能非常快的实现科研人员的设想,极大的节约了科研人员的时间,受到了大多数科研人员的支持,经过一代代人的努力,目前已发展到了7.X版本。 Matlab是一种解释性执行语言,具有强大的计算、仿真、绘图等功能。由于它使用简单,扩充方便,尤其是世界上有成千上万的不同领域的科研工作者不停的在自己的科研过程中扩充Matlab的功能,使其成为了巨大的知识宝库。可以毫不夸张的说,哪怕是你真正理解了一个工具箱,那么就是理解了一门非常重要的科学知识。科研工作者通常可以通过Matlab来学习某个领域的科学知识,这就是Matlab真正在全世界推广开来的原因。目前的Matlab版本已经可
7、以方便的设计漂亮的界面,它可以像VB等语言一样设计漂亮的用户接口,同时因为有最丰富的函数库(工具箱),所以计算的功能实现也很简单,进一步受到了科研工作者的欢迎。另外,,Matlab和其他高级语言也具有良好的接口,可以方便的实现与其他语言的混合编程,进一步拓宽了Matlab的应用潜力。可以说,Matlab已经也很有必要成为大学生的必修课之一,掌握这门工具对学习各门学科有非常重要的推进作用。第3章 2FSK的基本原理3.1 2FSK数字系统的调制原理数字频率调制又称频移键控,记作FSK;二进制频移键控记作2FSK 。2FSK信号的产生方法有两种:(1) 模拟法,即用数字基带信号作为调制信号进行调频
8、,如图3-1所示。(2) 键控法,用数字基带信号及其反相分别控制两个开关门电路,以此对两个载波发生器进行选通,如图3-2所示。二进制数据载波载波2FSK输出信号图3-1 2FSK模拟法产生原理框图如图3-1所示,2FSK调制就是使用两个不同的频率的载波信号来传输一个二进制信息序列。可以用二进制“1”来对应于载频f1,而“0”用来对应于另一相载频w2的已调波形,而这个可以用受矩形脉冲序列控制的开关电路对两个不同的独立的频率源w1、f2进行选择。图3-2 2FSK键控法产生原理框图如图3-2所示,频移键控是利用载波的频率来传递数字信号,在2FSK中,载波的频率随着二进制基带信号在f1和f2两个频率
9、点间变化,频移键控是利用载波的频移变化来传递数字信息的。在2FSK中,载波的频率随基带信号在f1和f2两个频率点间变化。故其表达式为: (3-1)2FSK信号可以看作两个不同载频的ASK信号的叠加,因此2FSK信号的时域表达式又可以写成: (3-2)3.2 FSK的解调方式2FSK的解调方式有两种:相干解调方式和非相干解调方式。3.2.1 非相干解调经过调制后的2FSK数字信号通过两个频率不同的带通滤波器f1、f2滤出不需要的信号,然后再将这两种经过滤波的信号分别通过包络检波器检波,最后将两种信号同时输入到抽样判决器同时外加抽样脉冲,最后解调出来的信号就是调制前的输入信号。2FSK信号的包络解
10、调,由于2FSK信号可看作是两个2ASK信号之和,所以2FSK解调器由两个并联的2FSK解调器组成。其原理图如图3-3所示:输出带通滤波器抽样脉冲包络检波器带通滤波器包络检波器抽样判决器输入 图3-3 非相干解调原理框图我们取图3-3的一部分分析如图3-4所示的2ASK包络解调原理图:图3-4 2ASK包络解调原理框图3.2.2 相干解调根据已调信号由两个载波f1、f2调制而成,则先用两个分别对f1、f2带通的滤波器对已调信号进行滤波,然后再分别将滤波后的信号与相应的载波f1、f2相乘进行相干解调,再分别低通滤波、用抽样信号进行抽样判决器即可。3.2.3 2FSK的功率谱和带宽2FSK信号的功
11、率谱既有连续谱又有离散谱,离散谱位于两个载波频率f1和f2在2FSK调调制中,功率谱连续谱分布在f1和f2附近,若取功率谱第一个零点以内的成分计算带宽,显然2FSK信号的带宽为: (3-3)3.3 2FSK抗噪声性能分析包络解调器的误码率,必须首先求出上、下两个支路中包络检波器输出端信号瞬时值的概率密度函数。当发送信息“”时,接收端收到频率为f1的载波为。此信号能通过上支路中的带通滤波器,但无法通过下支路中的带通滤波器,所以上支路带通滤波器的输出是信号和窄带高斯噪声的叠加,而下支路带通滤波器的输出却只有窄带高斯噪声。则有:上支路包络检波器输出值服从莱斯分布,下支路包络检波器输出的瞬时值服从瑞利
12、分布,所以上下两个支路的取样值、的概率密度函数为: (3-4) (3-5)判决器的作用是比较两个取样值和,当时,判“”,判决是正确的,不产生误码;当时,判“”,判决错误,产生误码,即发“”错判成了“”。由概率论知识可知,“”码错判成“”码的概率为: (3-6)则有: (3-7)由于发“0”和发“1”码相同,所以有: (3-8)第4章 2FSK仿真实现4.1 程序调试具体的程序代码请参考附录,在做信号调制模块时,多次调制都未成功,经过复查发现,振荡器的频率和需要为的倍数才能够在一个时间单位内出现完整波形。在做解调模块时,MATLAB仿真中的带通滤波器失真较大经反复调试其上限频率和下限频率之后,使
13、其失真明显减小。解调最后部分抽样判决不知如何实现,经询问老师得以解决。最后在计算机误码率时,其中MATLAB一个计算误码率的模块始终出现错误,最终没有找到出错原因,决定用代码来实现其功能。4.2 MATLAB仿真分析2FSK数字系统的调制的仿真调试图如图4-1所示。图4-1 基带信号与载波信号模拟波形图在图4-1中,基带信号s1周期设为1.5s的周期性方波,载波信号1为周期100s的正弦波,载波信号2为周期250s的正弦波。经过调试后所得到无噪声波形图,将基带信号反向后得到与基带信号同周期的另一新方波s2。s1与载波信号1相乘,载波信号2与s2相乘,得到如图4-2所示波形。图4-2 调制信号模
14、拟波形图图4-2中,在无干扰的情况下,可以看到s1*st1、s2*st2的波形图。在基带信号为0处,s1*st1已调信号相应处为0,为1时,基带信号与载波信号1的波形相同,s2*st2调制后波形与之相似。将两个已调制信号叠加后就得到2FSK信号。从图中可以清楚看到2FSK信号的产生过程以及波形图的情况。在加入高斯白噪声后的以调信号眼图如图4-3所示。幅度噪声可能会导致逻辑1的电压或功率电平垂直波动,低于样点,导致逻辑1码错误地标为逻辑0码,即误码。抖动描述了相同的效应,但它是水平波动。抖动或定时噪声可能会导致码的边沿在水平方向中的样点内波动,导致错误。眼图的抖动较大,在其交点处直方图都变成了一
15、个像素宽的交点块投射到时间轴上的投影。图4-3 加入高斯噪声的已调信号眼图如图4-4所示,加入高斯噪声后的已调信号明显与为加入时的信号在边界处变得模糊,这时需要选择特定的解调方式来减小误差。图4-4 加入高斯白噪声后的已调信号相干解调无码明显优于非相干解调,因为其解调时采用的时钟与调制时候的时钟是一致的,如图4-5所示,才采用相干解调时得到的原二进制序列。图4-5 相干解调后的二进制序列由于相干解调过程比较麻烦,而且需要解调时与原来载波同相同频率的函数,所以在图4-6中采用非相干解调。图4-6 非相干解调后的信号经比较可知,相干解调比非相干解调的误码率要小的多。4.3 系统性能分析对于数字传输
16、系统而言,最重要的性能指标就是误码率。在白色高斯噪声信道中,误码率决定于监控体制和接收端的信噪比。对于2FSK调制与解调系统,相干解调的误码率小于非相干解调的误码率。其中,相干检测法的误码率为: (3-1)当信噪比很大时,式(3-1)可近似的表示为: (3-2)非相干解调法采用包络检波法接收信号,其误码率为: (3-3)根据上面的两个式子,本系统相干检测法的误码率为: (3-4)而非相干包络检波法的误码率为: (3-5)显然,相干解调性能优于非相干解调。且2FSK信号占用频带宽,在信道中的兼容性好。第4章 小结通过对matlab7.0软件的了解与运用,并在理论指导下,我完成了这次设计的任务。在
17、本次实验中我遇到过很多的问题,通过上网查阅资料得以解决。其运行结果如前面所示,较好的完成了这次课程设计。由于信道干扰及码间干扰的影响,存在着一定的误码率。当信道的信噪比提高时,误码率下降。在学习通信原理理论基础后,我们又在此基础上通过利用MATLAB仿真真正的看到了通信中传输信息的一系列的问题。比如说要使信号不失真的能够传输到接收端就要考虑很多的因数。在发送端要注意噪声的加入,尽量的减少噪声进入信道中,以免在接收端使信号失真度过大而不能够恢复成原来的信号。而在接收端,采用哪种解调方式能够更好的恢复出原来的信号。对于不同的解调方式有相干解调和非相干解调。相干解调一般是在接收端使接收的信号通过一个
18、相乘器,同时乘上一个与原调制信号同频同相的载波,再通过低通滤波器滤出不需要的信号,然后再经过抽样、量化和编码最终得到原调制信号。对于非相干解调可以将接收的信号通过包络检波器,然后再经过抽样、量化和编码最终也可以得到原调制信号。这次课程设计同时也给了我一个复习基础知识的机会,懂得了把书本和实践想结合才能学得更好。让我懂得了在学习的过程中带着问题去学会,可以在一定程度上提高学习的效率。由于我们的知识水平有限,在学习与实践的过程中难免会出现一些问题,我们必须要学会怎样联系实际去解决问题。通过此次毕业设计,我不仅把知识融会贯通,而且丰富了大脑,同时在查找资料的过程中也了解了许多课外知识,开拓了视野,认
19、识了将来电子的发展方向,使自己在通信专业知识方面有了质的飞跃。总之,这次课程设计我收获很多,提升了我在通信方面的兴趣!参考文献1 黄葆华,杨晓静,牟华坤.通信原理M.陕西:西安电子科技大学出版社,20072 曹弋.MATLAB课程及实训M.北京:机械工业出版社,20083 樊昌信.通信原理教程M.北京:电子工业出版社,20064 刘波,文忠,曾涯.MATLAB信号处理M.北京:电子工业出版社,20065 张卫刚,徐国平.通信原理与通信技术M.北京:电子工业出版社,20026 孙亮.MATLAB语言与控制系统方真M.北京:工业大学出版社,2006附 录源程序代码Fc=10; %载频 Fs=40;
20、 %系统采样频率 Fd=1; %码速率 N=Fs/Fd; df=10; numSymb=25;%进行仿真的信息代码个数 M=2; %进制数 SNRpBit=60;%信噪比 SNR=SNRpBit/log2(M);%60 seed=12345 54321; numPlot=15; x=randsrc(numSymb,1,0:M-1);%产生25个二进制随机码 figure(1) stem(0:numPlot-1,x(1:numPlot),bx); title(二进制随机序列) xlabel(Time); ylabel(Amplitude); %调制 y=dmod(x,Fc,Fd,Fs,fsk,M
21、,df);%数字带通调制 numModPlot=numPlot*Fs; %15*40 t=0:numModPlot-1./Fs;%数组除法(仿真时间) figure(2) plot(t,y(1:length(t),b-); axis(min(t) max(t) -1.5 1.5); title(调制后的信号) xlabel(Time); ylabel(Amplitude); %在已调信号中加入高斯白噪声 randn(state,seed(2); %生成-2到+2之间的随机数矩阵 y=awgn(y,SNR-10*log10(0.5)-10*log10(N),measured,dB); figur
22、e(3) plot(t,y(1:length(t),b-);%画出经过信道的实际信号 axis(min(t) max(t) -1.5 1.5); title(加入高斯白噪声后的已调信号) xlabel(Time); ylabel(Amplitude);%相干解调 figure(4) z1=ddemod(y,Fc,Fd,Fs,fsk/eye,M,df); title(相干解调后的信号的眼图) %带输出波形的相干M元频移键控解调 figure(5) stem(0:numPlot-1,x(1:numPlot),bx); hold on; stem(0:numPlot-1,z1(1:numPlot),
23、ro); hold off; axis(0 numPlot -0.5 1.5); title(相干解调后的信号原序列比较) legend(原输入二进制随机序列,相干解调后的信号) xlabel(Time); ylabel(Amplitude); %非相干解调 figure(6) z2=ddemod(y,Fc,Fd,Fs,fsk/eye/noncoh,M,df); title(非相干解调后的信号的眼图) %带输出波形的非相干M元频移键控解调 figure(7) stem(0:numPlot-1,x(1:numPlot),bx); hold on; stem(0:numPlot-1,z2(1:nu
24、mPlot),ro); hold off; axis(0 numPlot -0.5 1.5); title(非相干解调后的信号) legend(原输入二进制随机序列,非相干解调后的信号) xlabel(Time); ylabel(Amplitude);%误码率统计 errorSym ratioSym=symerr(x,z1); figure(8) simbasebandex(0:1:5); title(相干解调后误码率统计) errorSym ratioSym=symerr(x,z2); figure(9) simbasebandex(0:1:5); title(非相干解调后误码率统计) %滤
25、除高斯白噪声 Delay=3;R=0.5;PropD=0; %滞后3s yf,tf=rcosine(Fd,Fs,fir,R,Delay); %升余弦函数 yo2,to2=rcosflt(y,Fd,Fs,filter,yf); t=0:numModPlot-1./Fs; figure(10) plot(t,y(1:length(t),r-); hold on; plot(to2,yo2,b-);%滤出带外噪声 hold off; axis(0 30 -1.5 1.5); xlabel(Time); ylabel(Amplitude); legend(加入高斯白噪声后的已调信号,经过升余弦滤波器后的已调信号) title(升余弦滤波前后波形比较) eyediagram(yo2,N);%眼图 title(加入高斯白噪声后的已调信号的眼图)