课程设计任务书学生姓名:钟晓明专业班级:电信1006 指导教师:黄朝兵工作单位:题目:工程信号分析处理课程设计-基于MATLAB的二进制振幅键控调制(2ASK)与解调分析初始条件:1.Matlab6.5以上版本软件;2.先修课程:通信原理等;要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、利用MATLAB中的simulink工具箱中的模块进行二进制振幅键控(2ASK)调制与解调,观察波形变化;2、画出程序设计框图,编写程序代码,上机运行调试程序,记录实验结果(含计算结果和图表等),并对实验结果进行分析和总结;3、课程设计说明书按学校统一规范来撰写,具体包括:⑴目录;⑵理论分析;⑶程序设计;⑷程序运行结果及图表分析和总结;⑸课程设计的心得体会(至少800字,必须手写。
);⑹参考文献(不少于5篇)。
时间安排:周一、周二查阅资料,了解设计内容;周三、周四程序设计,上机调试程序;周五、整理实验结果,撰写课程设计说明书。
指导教师签名:年月日系主任(或责任教师)签名:年月日摘要 (I)1 Simulink简介 (1)1.1 Matlab简介 (1)1.2 Simulink介绍 (1)2 原理介绍 (3)2.1 二进制振幅键控(2ASK)调制原理 (3)2.2二进制振幅键控(2ASK)解调原理 (4)3 Simulink电路设计 (6)3.1 2ASK调制电路设计 (6)3.2 2ASK解调电路设计 (6)4 电路仿真 (9)4.1 2ASK调制电路仿真 (9)4.2 2ASK解调电路仿真 (10)4.3 结果分析 (11)5 MATLAB代码实现 (12)6 课程设计心得体会 (16)参考文献 (18)二进制振幅键控(2ASK)是一种常见的数字调制方式,通过振幅的不同来表达0或1。
其解调方式有非相干方式和相干方式。
本次课程设计通过使用Matlab 里的Simulink,利用其中不同功能的模块来构建了2ASK的调制电路与解调电路,进行了仿真,得到了仿真波形,并对结果进行了分析总结。
关键词:二进制振幅键控,Simulink,相干解调,仿真1 Simulink简介1.1 Matlab简介Simulink是Matlab中的一部分,首先简单介绍一下Matlab。
Matlab是Matrix Laboratory的缩写,意为矩阵实验室。
它具有强大的矩阵处理功能和绘图功能,进还能进行文字处理,绘图,建模仿真等功能。
Matlab已经发展成为多学科、多种工作平台的功能强大的大型软件。
Matlab的帮助功能很强大,自带有详细的帮助手册,基于HTML的完整的帮助功能,也可以用help命令来得到帮助信息。
程序语法与C语言类似,设计自由度大,方便我们编程。
Matlab有高级的程序环境,但程序环境很简单易用。
Matlab源程序具有很大的开放性。
Matlab有强大的的图形绘制功能。
Matlab还拥有功能强大的各种工具箱。
这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究,能极大地促进我们的学习研究工作。
1.2 Simulink介绍Simulink是Matlab中一个用来对动态系统进行建模、仿真和分析的软件包。
Simulink提供了一种图形化的交互环境来建模、分析和仿真各种动态系统,只需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不需要编写一行代码。
使用简单方便。
Simulink框图提供了交互性很强的仿真环境,既可以通过下拉菜单执行仿真,也可以通过命令行进行仿真。
菜单方式对于交互工作非常方便,而命令行方式对于运行一大类仿真如蒙特卡罗仿真非常有用。
Simulink的开放式结构允许用户扩展仿真环境的功能:采用MATLAB、FORTRAN和C代码生成自定义模块库,并拥有自己的图标和界面。
因此用户可以将使用FORTRAN或C编写的代码链接进来,或者购买使用第三方开发提供的模块库进行更高级的系统设计、仿真与分析。
Simulink的开放式结构允许用户扩展仿真环境的功能:采用MATLAB、FORTRAN和C代码生成自定义模块库,并拥有自己的图标和界面。
因此用户可以将使用FORTRAN或C编写的代码链接进来,或者购买使用第三方开发提供的模块库进行更高级的系统设计、仿真与分析。
由于Simulink可以直接利用MATLAB的诸多资源与功能,因而用户可以直接在Simulink下完成诸如数据分析、过程自动化、优化参数等工作。
工具箱提供的高级的设计和分析能力可以融入仿真过程。
Simulink具有以下特点:(1) 基于矩阵的数值计算。
(2) 高级编程语言。
(3) 图形与可视化。
2 原理介绍2.1 二进制振幅键控(2ASK )调制原理在振幅键控中载波幅度是随着基带信号的变化而变化的。
使载波在二进制基带信号1或0的控制下通或断,即用载波幅度的有或无来代表信号中的“1”或“0”,这样就可以得到2ASK 信号,这种二进制振幅键控方式称为通—断键控(OOK )。
一个二进制的振幅键控信号可以表示成一个单极性矩形脉冲序列与一个正弦型载波的相乘,即:∑-=nc s n t nT t g a e ωcos )]([0这里,g(t)是持续时间为T s 的矩形脉冲,而a n 的取值服从下述关系:⎩⎨⎧-=)1(,1,0P P a n 概率为概率为 则:∑-=ns n nT t g a t s )()(t t s e c ωcos )(0=2ASK 信号的产生方法比较简单。
首先,因2ASK 信号的特征是对载波的“通-断键控”,用一个模拟开关作为调制载波的输出通/断控制门,由二进制序列控制门的通断,=1时开关导通;=0时开关截止,这种调制方式称为通-断键控法。
其次,2ASK 信号可视为S(t)与载波的乘积,故用模拟乘法器实现2ASK 调制也是很容易想到的另一种方式,称其为乘积法或模拟幅度调制法。
如图2.1和2.2所示。
图2.1 模拟幅度调制方法c图2.2 键控方法通过调制生成的2ASK波形如图2.3所示:图2.3 2ASK信号时域波形2.2二进制振幅键控(2ASK)解调原理2ASK信号有两种基本的解调方式:非相干解调(包络检波法)和相干解调(同步检测法)。
相应的原理框图如图2.3、2.4.图2.4 非相干解调原理框图~载波S开关电路e0(t)图2.5 相干解调原理框图二进制振幅键控方式是数字调制中出现最早的,也是最简单的。
这种方法最初用于电报系统,但是抗噪声能力比较差,因此在数字通信中使用的不多。
但是它是研究其他数字调制方式的基础,因此应该熟悉它。
3 Simulink电路设计3.1 2ASK调制电路设计首先启动Matlab,输入Simulink并回车启动Simulink模块,然后添加模块。
本电路需要的模块如下:正弦波源,这里使用的是Signal Processing Blockset\DSP Sources\Sine Wave,设定其幅度为2V,频率为1Hz。
基带信号源,使用的是Communications Blockset\Comm Sources\Random Data Sources\Bernoulli Binary Generator,可以产生随机数字波形。
设置其Probability of a zero为0.5,每个方波为1秒。
乘法器,用的是Simulink\Math Operations\Product。
再加上三个示波器显示结果,示波器是Simulink\Sinks\Scope。
通过鼠标拖拽即可完成连线。
仿真电路如图3.1。
图3.1 2ASK调制电路3.2 2ASK解调电路设计2ASK解调电路使用相干解调法,电路的制作方法和调制电路一样,需要用到的模块有正弦波源,基带信号源,乘法器,示波器,这些和调制电路用的模块一样。
正弦波源频率改为50Hz。
抽样判决器用的是Signal Processing Blockset\Quantizers\Scalar Quantizer Encoder,设置其小于0.5V的电压编码为0,大于0.5V就编码为1。
其设置如图3.2。
图3.2 抽样判决器设置此外还需用到低通滤波器,使用的是Signal Processing Blockset\Filtering\Filtering\Filter Designs\Digital Filter Design,其设置如图3.2所示:图3.3 低通滤波器设置最后得到2ASK解调电路如图3.3所示:图3.4 2ASK解调电路4 电路仿真4.1 2ASK调制电路仿真在设计完电路后对电路的原理进行仿真测试,点击Start simulation按钮即可开始仿真,然后双击示波器就可以看见波形。
2ASK调制结果如图4.1到4.3所示:图4.1 正弦波图4.2 基带波型图4.3 2ASK波形4.2 2ASK解调电路仿真2ASK解调电路仿真方法同调制电路,结果如图4.4-4.7:图4.4 基带波形图4.5 2ASK波形图4.6 低通滤波后波形图4.7 抽样判决后波形4.3 结果分析在调制结果波形中,在基带波形为1的地方,对应的2ASK波形有和载波相同的正弦波,基带波形为0处,对应的2ASK波形也为0,符合二进制振幅键控的特点,说明该电路实现了2ASK波形的调制。
从解调结果波形,可以看出,2ASK波形经过与载波相乘,低通滤波后,已经有了基带波形的大致形状,但是有很多纹波,再经过抽样量化之后,就能调制出基带波形了。
调制后波形和调制前一样,说明电路工作正常。
5 MATLAB代码实现加入高斯噪声的2ASK的调制与相干解调仿真代码: clc;clear all;close all;%信源a=randint(1,15,2);t=0:0.001:0.999;m=a(ceil(15*t+0.01));subplot(511)plot(t,m);axis([0 1.2 -0.2 1.2]);title('2ASK调制与解调电信1006 钟晓明');%载波f=150;carry=cos(2*pi*f*t);%2ASK调制st=m.*carry;subplot(512);plot(t,st)axis([0 1.2 -1.2 1.2])title('2ASK信号')%加高斯噪声nst=awgn(st,70);%解调部分nst=nst.*carry;subplot(513)plot(t,nst)axis([0 1.2 -0.2 1.2]);title('乘以相干载波后的信号')%低通滤波器设计wp=2*pi*2*f*0.5;ws=2*pi*2*f*0.9;Rp=2;As=45;[N,wc]=buttord(wp,ws,Rp,As,'s'); [B,A]=butter(N,wc,'s');%低通滤波h=tf(B,A); %转换为传输函数dst=lsim(h,nst,t);subplot(514)plot(t,dst)axis([0 1.2 -0.2 1.2]);title('经过低通滤波器后的信号'); %判决器k=0.25;pdst=1*(dst>0.25);subplot(515)plot(t,pdst)axis([0 1.2 -0.2 1.2]);title('经过抽样判决后的信号')%频谱观察%调制信号频谱df=f;N=length(st);f=(-N/2:N/2-1)*df;sf=fftshift(abs(fft(st)));figure(2)subplot(411)plot(f,sf)title('调制信号频谱电信1006 钟晓明') %信源频谱mf=fftshift(abs(fft(m)));subplot(412)plot(f,mf)title('信源频谱')% 乘以相干载波后的频谱mmf=fftshift(abs(fft(nst)));subplot(413)plot(f,mmf)title('乘以相干载波后的频谱')%经过低通滤波后的频谱dmf=fftshift(abs(fft(dst)));subplot(414)plot(f,dmf)title('经过低通滤波后的频谱');图5.1图5.26 课程设计心得体会通过本次课程设计,我们主解了要了2ASK调制与解调原理,特别是2AS调制解调电路的MATLAB实现与调制性能分析,把通信原理等通信类科目的内容应用到本课程设计中来,进一步巩固复习通信原理,MATLA等课程,以达到融会贯通的目的。