1、目 录摘 要3第一章 前 言41.1 专业设计任务及要求41.2 Matlab简介41.3 Matlab下的simulink简介41.4 通信系统模型5第二章 FSK调制解调原理及MATLAB仿真62.1 FSK信号产生原理62.1.1 2FSK信号的产生:62.1.2 2FSK信号的频谱特性:72.2 FSK调制原理72.3 FSK解调原理92.4仿真思路102.5 仿真程序112.6 输出波形及结果分析13结果分析17第三章 用SIMULINK仿真FSK调制解调193.1 用Simulink仿真FSK调制193.1.1 Simulink仿真FSK调制框图193.1.2参数设置193.1.3
2、仿真波形203.2 用Simulink仿真FSK解调223.2.1 Simulink仿真FSK解调框图223.2.2参数设置223.2.3仿真波形及分析24第五章 结论26参考文献27摘 要本设计是基于MATLAB来实现调制与解调的仿真。主要设计思想是利用MATLAB和MATLAB集成环境下Simulink的仿真平台,这个强大的数学软件工具方便快捷灵活的功能实现数字调制解调中的频率调制与解调的设计。首先,先阐述了通信系统的模型,以及FSK信号的产生原理,调制与解调的基本原理。然后分别设计了FSK调制框图和解调框图,实现了Matlab程序仿真和Simulink系统仿真,在解调部分各信号都是采用相
3、干解调、非相干解调的方法,同时在没有噪声的情况下和存在噪声的基础上分别对信号进行调制与解调,并且在解调的过程中都对整个系统的误码率在display模块中有所显示,得到了比较准确的结果,进而在存在噪声和不存在噪声时进行对比,对结果进行了详尽而且准确的分析。最后给出了一些结论:信道中的噪声大小严重影响通信质量。在通信中,要保证通信质量高,必须信道信噪比要高。在低信噪比信道中,必须想其它办法克服,如信道编码等。FSK(Frequency-shift keying)是信息传输中使用得较早的一种调制方式,它的主要优点是: 实现起来较容易,抗噪声与抗衰减的性能较好。在中低速数据传输中得到了广泛的应用。 第
4、一章 前 言1.1 专业设计任务及要求1了解并掌握FSK调制与解调的基本原理;2在通信原理课程的基础上设计与分析简单的通信系统;3学会利用MATLAB7.0编写程序进行仿真,根据实验结果能分析所设计系统的性能。4学习MATLAB的基本知识,熟悉MATLAB集成环境下Simulink的仿真平台。5利用通信原理相关知识在仿真平台中设计FSK调制与解调仿真系统并用示波器观察解调后的波形6在指导老师的指导下,独立完成课程设计的全部内容,能正确的阐述和分析设计和实验结果。1.2 Matlab简介Matlab是一种解释性执行语言,具有强大的计算、仿真、绘图等功能。由于它使用简单,扩充方便,尤其是世界上有成
5、千上万的不同领域的科研工作者不停的在自己的科研过程中扩充Matlab的功能,使其成为了巨大的知识宝库。Matlab可以方便的设计漂亮的界面,可以像VB等语言一样设计漂亮的用户接口,同时因为有最丰富的函数库(工具箱),所以计算的功能实现也很简单,进一步受到了科研工作者的欢迎。另外,Matlab和其他高级语言也具有良好的接口,可以方便的实现与其他语言的混合编程,进一步拓宽了Matlab的应用潜力。可以说,Matlab已经也很有必要成为大学生的必修课之一,掌握这门工具对学习各门学科有非常重要的推进作用。1.3 Matlab下的simulink简介Simulink是实现动态系统建模、仿真和分析的一个集
6、成环境。它的存在使得Matlab的功能进一步扩展。它支持连续离散及两者混合的线性和非线性系统,也支持多重采样率的多速率系统。Simulink为用户提供了用方框图进行建模的图形接口,采用这种结构画模型就像用笔和纸来画一样容易。与传输的仿真软件包用微分方程和差分方程建模相比,具有更直观、方便、灵活的优点。1.4 通信系统模型通信系统就是传递信息所需要的一切技术设备和传输媒质的总和,包括信息源、发送设备、信道、接收设备和信宿(受信者),它的一般模型如图1-1所示。图1-1 通信系统一般模型通信系统可分为数字通信系统和模拟通信系统。数字通信系统是利用数字信号来传递消息的通信系统,其模型如图1-2所示,
7、图1-2 数字通信系统模型模拟通信系统是利用模拟信号来传递消息的通信系统,模型如图1-3所示。图1-3 模拟通信系统模型数字通信系统较模拟通信系统而言,具有抗干扰能力强、便于加密、易于实现集成化、便于与计算机连接等优点。因而,数字通信更能适应对通信技术的越来越高的要求。近二十年来,数字通信发展十分迅速,在整个通信领域中所占比重日益增长,在大多数通信系统中已代替模拟通信,成为当代通信系统的主流。第二章 FSK调制解调原理及Matlab仿真2.1 FSK信号产生原理2.1.1 2FSK信号的产生: 2FSK是利用数字基带信号控制在波的频率来传送信息。例如,1码用频率f1来传输,0码用频率f2来传输
8、,而其振幅和初始相位不变。故其表示式为 式中,假设码元的初始相位分别为和;和为两个不同的码元的角频率;幅度为A为一常数,表示码元的包络为矩形脉冲。 2FSK信号的产生方法有两种:(1) 模拟法,即用数字基带信号作为调制信号进行调频。如图1-1(a)所示。(2) 键控法,用数字基带信号及其反相分别控制两个开关门电路,以此对两个载波发生器进行选通。如图1-1(b)所示。这两种方法产生的2FSK信号的波形基本相同,只有一点差异,即由调频器产生的2FSK信号在相邻码元之间的相位是连续的,而键控法产生的2FSK信号,则分别有两个独立的频率源产生两个不同频率的信号,故相邻码元的相位不一定是连续的。 (a)
9、 (b) 图1-1 2FSK信号产生原理图 由键控法产生原理可知,一位相位离散的2FSK信号可看成不同频率交替发送的两个2ASK信号之和,即 其中是脉宽为的矩形脉冲表示的NRZ数字基带信号。 其中,为的反码,即若,则;若,则。2.1.2 2FSK信号的频谱特性: 由于相位离散的2FSK信号可看成是两个2ASK信号之和,所以,这里可以直接应用2ASK信号的频谱分析结果,比较方便,即 2FSK信号带宽为 式中,是基带信号的带宽。2.2 FSK调制原理二进制频率调制是用二进制数字信号控制正弦波的频率随二进制数字信号的变化而变化。由于二进制数字信息只有两个不同的符号,所以调制后的已调信号有两个不同的频
10、率f1和f2,f1对应数字信息“1”,f2对应数字信息“0”。二进制数字信息及已调载波如图2-1所示。图2-1 2FSK信号在2FSK信号中,当载波频率发生变化时,载波的相位一般来说是不连续的,这种信号称为不连续2FSK信号。相位不连续的2FSK通常用频率选择法产生,如图2-2所示:图2-2 2FSK信号调制器两个独立的振荡器作为两个频率发生器,他们受控于输入的二进制信号。二进制信号通过两个与门电路,控制其中的一个载波通过。调制器各点波形如图2-3所示:图2-3 2FSK调制器各点波形由上图可知,波形g是波形e和f的叠加。所以,二进制频率调制信号2FSK可以看成是两个载波频率分别为f1和f2的
11、2ASK信号的和。2.3 FSK解调原理FSK相关调制解调的原理图如下: 输入的信号为: 其中n是n的反码。2.4仿真思路1.首先要确定采样频率fs和两个载波频率的值f1,f2。2.写出输入已经信号的表达式S(t)。由于S(t)中有反码的存在,则需要将信号先反转后在从原信号和反转信号中进行抽样。写出已调信号的表达式S(t)。3.在2FSK的解调过程中,信号首先通过带通滤波器,设置带通滤波器的参数,后用一维数字滤波函数filter对信号S(t)的数据进行滤波处理。输出经过带通滤波器后的信号波形。由于已调信号中有两个不同的载波(1, 2),则经过两个不同频率的带通滤波器后输出两个不同的信号波形H1
12、,H2。4.经过带通滤波器后的2FSK信号再经过相乘器(cos1,cos2),两序列相乘的MATLAB表达式y=x1.*x2 SW=Hn.*Hn ,输出得到相乘后的两个不同的2FSK波形h1,h2。5.经过相乘器输出的波形再通过低通滤波器,设置低通滤波器的参数,用一维数字滤波函数filter对信号的数据进行新的一轮的滤波处理。输出经过低通滤波器后的两个波形(sw1,sw2)。6.将信号sw1和sw2同时经过抽样判决器,分别输出st1,st2。其抽样判决器输出的波形为最后的输出波形st。对抽样判决器经定义一个时间变量长度i,当st1(i)=st2(i)时,则st=0,否则st=st2(i).其中
13、st=st1+st2。2.5 仿真程序%程序如下:% 2FSK仿真 程序clc; clear;set(findobj(Color,0.800 0.800 0.800),Color,w);%设置背景白fs=2000; %采样频率dt=1/fs;f1=20;f2=120; %两个信号的频率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*
14、pi*f1.*t);fsk2=g2a.*cos(2*pi*f2.*t);fsk=fsk1+fsk2; %产生的信号no=0.0*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(幅度 A);xlabel(时间t);figure(2);b1=fir1(101,10/800 20/800);b2=f
15、ir1(101,90/800 110/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(幅度)subpl
16、ot(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)
17、=st2(i) st(i)=0; else st(i)=st2(i) ; endendfigure(5)subplot(211);plot(t,st);title(经过抽样判决器后的波形);ylabel(幅度)subplot(212);plot(t,sn);title(原始的波形);ylabel(幅度);xlabel(t)%加入噪声后no=0.3*randn(1,t1); %噪声sn=fsk+no;figure(6)subplot(311);plot(t,no); title(噪声波形);ylabel(噪声幅度); %噪声波形subplot(312);plot(t,fsk);title(信号)
18、;ylabel(信号幅度);subplot(313);plot(t,sn);title(叠加有噪声的信号);ylabel(幅度 A);xlabel(时间t);figure(7);b1=fir1(101,10/800 20/800);b2=fir1(101,90/800 110/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的波
19、形);ylabel(幅度);xlabel(t)sw1=H1.*H1;sw2=H2.*H2; %经过相乘器figure(8)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(9)st1=filter(bn,1,sw1);st2=filter(bn,1,sw2);subplot(211);plot(t,st1);title(经过低
20、通滤波器sw1后的波形);ylabel(幅度)subplot(212);plot(t,st2);title(经过低通滤波器sw2后的波形);ylabel(幅度);xlabel(t)%判决for i=1:length(t) if(st1(i)=st2(i) st(i)=0; else st(i)=st2(i); endendfigure(10)subplot(211);plot(t,st);title(经过抽样判决器后的波形);ylabel(幅度)subplot(212);plot(t,sn);title(原始的波形);ylabel(幅度);xlabel(t)set(findobj(Color,
21、0.800 0.800 0.800),Color,w);%设置背景白%程序完;2.6 输出波形及结果分析对于噪声强度系数为0(未加噪声)时,执行上述程序得到以下5个图形。图2-5( a)没有噪声时的波形图2-5( b) 带通滤波后的波形图2-5( c)相乘后的波形图2-5( d)低通滤波后的波形图2-5( e)判决后的波形图2-5 噪声为0(没有噪声)时的波形而对于噪声强度系数(方差)为0.3时,执行上述程序又可得到另外5个图形。图2-6( a)没有噪声时的波形图2-6( b) 带通滤波后的波形图2-6( c)相乘后的波形图2-6( d)低通滤波后的波形图2-6( e)判决后的波形图2-6 噪
22、声方差为0.3时的波形 结果分析 2FSK信号的调制解调原理是通过带通滤波器将2FSK信号分解为上下两路2FSK信号后分别解调,然后进行抽样判决输出信号。本实验对信号2FSK采用相干解调进行解调。对于2FSK系统的抗噪声性能,本实验采用同步检测法。设“1”符号对应载波频率f1,“0”符号对应载波频率f2。在原理图中采用两个带通滤波器来区分中心频率分别为f1和f2的信号。中心频率为f1的带通滤波器之允许中心频率为f1的信号频谱成分通过,滤除中心频率为f2的信号频谱成分。 接收端上下支路两个带通滤波器的输出波形中H1,H2。在H1,H2波形中在分别含有噪声n1,n2,其分别为高斯白噪声ni经过上下
23、两个带通滤波器的输出噪声窄带高斯噪声,其均值同为0,方差同为(n)2,只是中心频率不同而已。 其抽样判决是直接比较两路信号抽样值的大小,可以不专门设置门限。判决规制应与调制规制相呼应,调制时若规定“1”符号对应载波频率f1,则接收时上支路的抽样较大,应判为“1”,反之则判为“0”。 在(0,Ts)时间内发送“1”符号(对应1),则上下支路两个带通滤波器输出波形H1,H2。H1,H2分别经过相干解调(相乘低通)后,送入抽样判决器进行判决。比较的两路输入波形分别为上支路st1=a+n1,下支路st2=n2,其中a为信号成分;n1和n2均为低通型高斯噪声,其均值为零,方差为(n)2。当st1的抽样值
24、st1(i)小于st2的抽样值st2(i),判决器输出“0”符号,造成将“1”判为“0”的错误。第三章 用Simulink仿真FSK调制解调3.1 用Simulink仿真FSK调制3.1.1 Simulink仿真FSK调制框图用Simulink 仿真FSK 调制的框图如下:图3-1 2FSK信号的simulink模型方框图其中sine wave 和sine wave1是两个频率分别为f1和f2的载波,PulseGenerator模块是信号源,NOT实现方波的反相,最后经过相乘器和相加器生成2FSK信号。3.1.2参数设置各参数设置如下: 图3-2 载波sin wave 的参数设置载波f1的参数
25、:其中幅度为1,f1=20Hz,采样时间为0.002s,见图3-2。载波f1的参数:其中幅度为1,f1=120Hz,采样时间为0.002s,见图3-3。图3-3 载波sin wave1的参数设置信号源s(t)选择了基于采样的PulseGenerator信号模块其参数设置如下:图3-4 方波信号模块参数设置其中方波是幅度为1,周期为3,占1比为33%的基于采样的信号。3.1.3仿真波形经过以上参数的设置,运行后得到各点的时间波形如下:图3-5 2FSK信号调制各点的时间波形由上图可看出经过f1和f2两个载波的调制,2FSK信号有明显的频率上的差别。另外,用参数f1=10和f2=20再次运行后,波
26、形见图3-6,2FSK信号有明显的频率上的差别。图3-6 2FSK信号调制各点的时间波形(f1=10和f2=20)3.2 用Simulink仿真FSK解调3.2.1 Simulink仿真FSK解调框图用Simulink 仿真FSK 解调的原理图如下:图3-7 2FSK信号的simulink解调模型方框图其中包含随机二进制序列产生模块、M-FSK 基带调制模块、信道模块、M-FSK 基带解调模块、误码率计算模块、Scope模块、Display模块、比较模块、Dlay模块。3.2.2参数设置a) 随机二进制序列产生模块贝努力二进制序列产生器,用来产生调制二进制信号.要设置的参数两个,一个是Prob
27、ability of a zero即二进制中”0”产生的概率,设置成0.5;另一个是Sample time即每秒发送多少个脉冲,这个值可以由仿真后的Scope中的数据与仿真时间相除得到,可以任意设置。这里设置成1/20,即一秒发送20个脉冲。b) M-FSK 基带调制模块作用是用来产生两个载频信号来调制二进制脉冲序列,实现2FSK的调制功能。 主要的参数有:M-ary number,指的是载频的个数,由于本设计中需要2个载频,所以设为2。Frequency separation,指的两个载频的间隔频率,高置适中即可,设为100HZ。c) M-FSK 基带解调模块由于是实现解调功能,所以主要参数
28、相应的要高置成一样,即M-ary number为2;Frequency separation设为100HZ。d) 信道模块作用是用模拟一个加性高斯白噪声信道。主要参数:Mode,有Eb/no、Es/no、SNR等几种选择,都是表示信道中噪声对信号的大小,这里设为SNR,大小不同,信道中噪声对信号的大小就不同,SNR越大信道中噪声对信号就越小,误码率就小,这个大小仿真后的scope 模块中看到,可以从-5dB到5dB变化。e) 误码率计算模块用来计算接收到的信号的差错率,输出结果有三组,依次是差错率、已检到的错误比特数、统计的总比特数;主要参数:Receive delay表示接收信号的延迟时间,
29、用来等待所有输入端信号的到达。在这里1s就够了,所以设为1;Output data,指的是输出端的形式,根据后面接的什么决定,由于此设计中接的是scope模块,所以设为Port。f) Scope模块作用是显示输出信号的结果。主要参数:Number of axes,表示坐标系的数目,由于有3个输入端,所以设为3。g) Display模块作用是显示输出信号的结果。主要参数:Format,用一来设置显示结果的格式,如:整数、科学计数,这里设为short_e。h) Relational Operator模块作用是实现系统中的比较运算,比较二进序列产生器发出的信号与解调后的信号,若两个信号相同,则输出0
30、,否则输出1。主要参数:relational operator设为=。i) Dlay模块用来延迟。默认参数即可 。3.2.3仿真波形及分析在对系统模块参数与系统仿真参数设置之后,接下来对系统进行仿真分析。图38是最终在Scope端得到不同信号的数字波形图。图中三个波形分别是解调后的bit 波形、原始bit波形和两者不同比较的波形,SNR参数为-4dB。从图中可以看到,当信噪比很低时,解调结果有错误。同时,在图3-7上的显示模块上,也可看到差错率、已检到的错误比特数、统计的总比特数分别为0.005,1,200,即200个比特中游一个错误。图38、频移键控 Simulink仿真结果图(SNR=-4
31、dB)当SNR参数为4dB时,结果如图3-9。从图中可以看到,当信噪比较高时,解调结果正确,没有错误。同时,在图3-9上的显示模块上,也可看到差错率、已检到的错误比特数、统计的总比特数分别为0.0,0,200。图39、Simulink仿真结果图(SNR=4dB)第五章 结论以上分别用Matlab程序仿真和Simulink 系统仿真实现了2-FSK的仿真实验。通过实验,我们发现,无论是程序仿真还是系统仿真,信道中的噪声大小严重影响通信质量。随着模块的参数的不同,最终得到的误码率也不同。模块中的信噪比的值的不同最终的误码率有很大的变化。当此值很小的时候,输出的误码率就大,在调制与解调的过程中出现出错的几率就很大。当逐渐增大此值,误码率就减小。值越大最终的误码率就有可能为0。因此,在通信中,要保证通信质量高,必须信道信噪比要高。在低信噪比信道中,必须想其它办法克服,如信道编码等。参考文献1 啜刚,王文博,常永宇,全庆一移动通信原理与系统M北京:北京邮电大学出版设,20052 樊昌信,曹丽娜通信原理(第6版)M国防工业出版社,2009.13 王立宁等MATLAB与通信仿真M人民邮电出版社,2000. 4 孙屹,吴磊编著, Simulink通信仿真开发手册,国防工业出版社, 2003.