通信基础学习知识原理2FSK课程教学设计.doc
.课程设计数字原理课程设计报告班 级: 姓 名: 学 号: 指导教师: 成 绩: 电子与信息工程学院信息与通信工程系目录引 言11 软件介绍21.1 Matlab介绍21.2 Simulink介绍22 2FSK的调制与解调32.1 2FSK的调制原理32.2 2FSK的解调原理43 仿真系统模型的设计53.1仿真思路53.2 程序和仿真结果53.3 Simulink仿真模型图83.4 结果分析113.4.1 Matlab仿真结果分析113.4.2 simulink仿真结果分析12结论13参 考 文 献14附录A MATLAB仿真程序15引 言移频键控(FSK)是数据传输中最常用的一种调制方式,FSK方法简单,易于实现,抗噪声和抗衰落性能较强。FSK主要应用于中低速数据传输以及衰落信道和频带较宽的信道中。本次课程设计主要运用MATLAB软件,在Simulink平台下建立仿真模型,实现模拟基带信号经2FSK调制与解调的传输过程,通过分析比较调制与解调输出波形,理解2FSK调制原理。在分别加入高斯白噪声,观察对波形的影响,并对其进行分析总结。1 软件介绍1.1 Matlab介绍Matlab1是一种解释性执行语言,具有强大的计算、仿真、绘图等功能。由于它使用简单,扩充方便,尤其是世界上有成千上万的不同领域的科研工作者不停的在自己的科研过程中扩充Matlab的功能,使其成为了巨大的知识宝库。科研工作者通常可以通过Matlab来学习某个领域的科学知识,这就是Matlab真正在全世界推广开来的原因。目前的Matlab版本已经可以方便的设计漂亮的界面,它可以像VB等语言一样设计漂亮的用户接口,同时因为有最丰富的函数库(工具箱),所以计算的功能实现也很简单,进一步受到了科研工作者的欢迎。另外,,Matlab和其他高级语言也具有良好的接口,可以方便的实现与其他语言的混合编程,进一步拓宽了Matlab的应用潜力。可以说,Matlab已经也很有必要成为大学生的必修课之一,掌握这门工具对学习各门学科有非常重要的推进作用。1.2 Simulink介绍Simulink2是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。Simulink是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。它支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。2 2FSK的调制与解调2.1 2FSK的调制原理数字频率调制又称频移键控,记作FSK,二进制频移键控记作2FSK3。2FSK产生方法有两种:(1) 模拟法:即用数字基带信号作为调制信号进行调频。(2) 键控法:用数字基带信号g(t)及其反相g(t)分别控制两个开关门电路,以此对两个载波发生器进行选通,如图2-1所示。图2-1 键控法产生2FSK信号的原理图两个独立的作为作为两个频率发生器,它们受控于输入的二进制输入信号,二进制输入信号通过两个选通开关,控制一个载波通过。调制器各点的波形如图2-2所示。图2-2 调制器各点的波形从图2-2可以看出b是a的反相码,c是载波f1,d是载波f2,g为2FSK的调制输出信号。2.2 2FSK的解调原理2FSK信号的常用解调方法4是采用如图2-3所示的非相干解调(包络检波)和相干解调。其解调原理是将2FSK信号分解为上下两路的2ASK信号分别进行调解,然后进行判决。(a)非相干解调(b)相干解调图2-3 2FSK信号解调原理图3 仿真系统模型的设计3.1仿真思路先确定采样频率fs和两个载波频率的值f1,f2,产生2FSK信号,然后进行调制与解调。(1)写出输入已经信号的表达式S(t)。由于S(t)中有反码的存在,则需要将信号先反转后在从原信号和反转信号中进行抽样。写出已调信号的表达式S(t)。(2)在2FSK的解调过程中,信号首先通过带通滤波器,设置带通滤波器的参数,后用一维数字滤波函数filter对信号S(t)的数据进行滤波处理。输出经过带通滤波器后的信号波形。由于已调信号中有两个不同的载波(1,2),则经过两个不同频率的带通滤波器后输出两个不同的信号波形H1,H2。(3)经过带通滤波器后的2FSK信号再经过相乘器(cos1,cos2),两序列相乘的MATLAB表达式y=x1.*x2SW=Hn.*Hn,输出得到相乘后的两个不同的2FSK波形h1,h2。(4)经过相乘器输出的波形再通过低通滤波器,设置低通滤波器的参数,用一维数字滤波韩式filter对信号的数据进行新的一轮的滤波处理。输出经过低通滤波器后的两个波形(sw1,sw2)。(5)将信号sw1和sw2同时经过抽样判决器,分别输出st1,st2。其抽样判决器输出的波形为最后的输出波形st。对抽样判决器经定义一个时间变量长度i,当st1(i)>=st2(i)5时,则st=0,否则st=st2(i).其中st=st1+st2。(6)使用MATLAB编程(m文件)完成系统的仿真。3.2 程序和仿真结果仿真程序见附录A。仿真图像如下图3-1 MATLAB仿真图图3-2 MATLAB仿真图图3-3 MATLAB仿真图图3-4 MATLAB仿真图图3-5 MATLAB仿真图3.3 Simulink仿真模型图2FSK信号的Simulink仿真模型图如下:图3-6 Simulink仿真模型图其中sin wave和sin wave1是两个频率分别为f1和f2的载波,Pulse Generator模块是信号源,NOT实现反相,再经过相乘器和相加器生成2FSK信号,然后接带通滤波器与低通滤波器完成调制与解调,又接入Error Rate calculation实现误码率的计算。参数设置如下表3-1 Simulink仿真各模型的参数设置 模块 参数 Sine Wave1 Amplitude:1 Frequency:25 Sine Wave2 Amplitude:1 Frequency:45 Sine Wave3 Amplitude:1 Frequency:25 Sine Wave4 Amplitude:1 Frequency:45Pulse Generator Amplitude:1 Period:2 Pulse width:1 Sample time:1Analog Filter Filter order:8 Lower passband edge frequency:15Design1 Upper passband edge frequency:35AnalogFilter Filter order:8 Lower passband edge frequency:35Design2 Upper passband edge frequency:55Analog Filter Filter order:8 Passband edge frequency:35 Design3Analog Filter Filter order:8 Passband edge frequency:55 Design4Gaussian Noise Mean value:0 Variance:1 Initial seed:41 Generator Sample time:1经过以上参数的设定后就可以进行系统的仿真,其各点的时间波形如下:图3-7 Simulink仿真各点的波形由仿真系统中的误码率计算可知:此系统的误码率为0提高噪声影响,将Gaussian Noise Generator中的Variance“1”改为“10”,得到波形如下图所示:图3-8 改变参数后各点的波形由仿真系统中的误码率计算可知:此系统的误码率为0.1再次提高噪声影响,将Gaussian Noise Generator中的Variance“1”改为“100”得到波形如下图所示图3-9 修改参数后得到的各点的波形由仿真系统中的误码率计算可知:此系统的误码率为0.33.4 结果分析 3.4.1 Matlab仿真结果分析本实验对信号2FSK采用相干解调进行解调。2FSK信号的调制解调原理是通过带通滤波器将2FSK信号分解为上下两路2FSK信号后分别解调,然后进行抽样判决输出信号。设“1”符号对应载波频率f1,“0”符号对应载波频率f2。采用两个带通滤波器来区分中心频率分别为f1和f2的信号。中心频率为f1的带通滤波器之允许中心频率为f1的信号频谱成分通过,滤除中心频率为f2的信号频谱成分。接收端上下支路两个带通滤波器的输出波形中H1,H2。在H1,H2波形中在分别含有噪声18 n1,n2,其分别为高斯白噪声ni经过上下两个带通滤波器的输出噪声窄带高斯噪声,其均值同为0,方差同为(n)2,只是中心频率不同而已。其抽样判决是直接比较两路信号抽样值的大小,可以不专门设置门限。判决规制应与调制规制相呼应,调制时若规定“1”符号对应载波频率f1,则接收时上支路的抽样较大,应判为“1”,反之则判为“0”。 3.4.2 simulink仿真结果分析本次课程设计实现了2FSK的调制与解调过程。通过误码率为0的分析,可能是系统自身的原因造成的或者系统没有多大的误差,但根据示波器的波形看出初始的时候有一些失真原因可能是初始信号不稳定造成的。通过改变信噪比,系统的误码率升高,噪声干扰越大,相应的波形失真越严重,误码率越高。本实验用一个逻辑比较器替代抽样判决模块,简化了模块。结论本次课程设计主要涉及到了通信原理和MATLAB的相关知识与运用,是自己更深刻理解了调制与解调的团里和实现方法,以及基本掌握了MATLAB的基本应用。在课程设计的过程中,又重温了2FSK的调制与解调等知识,更加熟悉了MATLAB里面的Simulink工具箱学会了独立建立模型,分析调制与解调结果,和加入噪声的情况,通过自己的不断调试,更好的理解了噪声对信道的影响。在本次课程设计中,除了获得了一些收获外,我还感到了自身的一些不足。对于在matlab中实现编程对于我来说确实是有一些困难的,受限于这样的原因,所以只好从网上找到与其对应的程序,通过修改参数,收货了波形的仿真,对于这方面的不足,还需要加强这方面的学习。总体来说,通过这次课程设计,使我拓宽了知识面,锻炼了实际操作能力,综合素质得到了提高,进一步加深了对专业的认识和激发了对本专业的兴趣参 考 文 献1 张化光,孙秋野.MATLAB/Simulink实用教程.北京:人民邮电出版社,20092 姚俊,马松辉.Simulink建模与仿真基础,北京:西安电子科技大学出版社,20023 樊昌信,曹丽娜.通信原理.北京:国防工业出版社,20064 达新宇.通信原理与课程设计.北京:北京邮电大学出版社,2003 附录A MATLAB仿真程序fs=2000; %抽样频率dt=1/fs;f1=20; %载波1频率f2=50; %载波2频率a=round(rand(1,10); %随机信号g1=a;g2=a; %信号反转,和g1反向g11=(ones(1,2000)*g1; %抽样g1a=g11(:);g21=(ones(1,2000)*g2;g2a=g21(:);t=0:dt:10-dt;t1=length(t);fsk1=g1a.*cos(2*pi*f1.*t);fsk2=g2a.*cos(2*pi*f2.*t);fsk=fsk1+fsk2; %产生的信号no=0.01*randn(1,t1); %噪声sn=fsk+no;subplot(311);plot(t,no); %噪声波形title(噪声波形)ylabel(幅度)subplot(312);plot(t,fsk);title(产生的波形)ylabel(幅度)subplot(313);plot(t,sn);title(将要通过滤波器的波形)ylabel(幅度的大小)xlabel(t)figure(2) %FSK解调b1=fir1(101,1/800 20/800);b2=fir1(101,40/800 60/800); %设置带通参数H1=filter(b1,1,sn);H2=filter(b2,1,sn); %经过带通滤波器后的信号subplot(211);plot(t,H1);title(经过带通滤波器f1后的波形)ylabel(幅度)subplot(212)plot(t,H2);title(经过带通滤波器f2后的波形)ylabel(幅度)xlabel(t)sw1=H1.*H1;sw2=H2.*H2; %经过相乘器figure(3)subplot(211);plot(t,sw1);title(经过相乘器h1后的波形)ylabel(幅度)subplot(212);plot(t,sw2);title(经过相乘器h2后的波形)ylabel(幅度)xlabel(t)bn=fir1(101,2/800 10/800); %经过低通滤波器figure(4)st1=filter(bn,1,sw1);st2=filter(bn,1,sw2);subplot(211);plot(t,st1);title(经过低通滤波器sw1后的波形)ylabel(幅度)subplot(212);plot(t,st2);title(经过低通滤波器sw2后的波形)ylabel(幅度)xlabel(t) %判决for i=1:length(t)if(st1(i)>=st2(i)st1(i)=0;else st1(i)=st2(i);endendfigure(5)st=st1+st2;subplot(211);plot(t,st);title(经过抽样判决器后的波形)ylabel(幅度)subplot(212);plot(t,sn);title(原始的波形)ylabel(幅度) xlabel(t)