信号与系统个性化教育

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1一、实验目的1、掌握用MATLAB分析周期矩形脉冲频谱的方法。2、掌握非周期信号(方波)的频谱分析方法。3.掌握MATLAB软件在信号与系统课程中的应用。4.熟练掌握运用MATLAB软件求解信号与系统课程中的三大变换、卷积计算等知识。5.了解用MATLAB软件动态观察部分变换计算的计算过程。6.学会使用信号与系统实验箱进行信号的分解、合成、采样和滤波等处理。7.在老师的指导下,要求独立完成课程设计的全部内容,并按要求编写课程设计,能正确阐述和分析设计和实验结果。二、实训任务和要求利用MATLAB编程分析如图矩形脉冲函数(非周期信号)在-40~40rad/s区间的频谱。51012根据离散时间信号[]xn的Z变换定义:()[]nxzxnz,矩形脉冲信号的频谱为:F(j)=()jtftedt按MATLAB作数值计算的要求,它不能计算无限区间,根据信号波形的情况,将积分上下限定为0~10s,并将t分成N等份,用求和代替积分。这样,10111()()()1MMNNbbznbzYzHzXzaznaz(3)可写为12121F(j)=()[(),(),,()][,,,]nNjtjtjtjtiniftetftftfteeet(4)这说明求和的问题可以用()ft行向量乘以njte列向量来实现,式中t是t的增量,在程序中用dt表示。由于求一系列不同(程序中用用W表示)处的F值,都用同一公式,这就可以利用matlab中的元素群运算能力。类似地也可以得到傅里叶逆变换的数值计算式。三、实训过程与内容(一)MATLAB介绍及其特点、功能、优点1.1MATLAB的简单介绍和发展过程MATLAB,取自矩阵(Matrix)和实验室(Laboratory)两个英文单词的前三个字母,意即“矩阵实验室”。它是一种以矩阵作为基本数据单元的程序设计语言,提供了数据分析、算法实现与应用开发的交互式开发环境。MATLAB到今天已经历了近30年的发展过程。20世纪70年代中期,美国新墨西哥大学计算机系主任CleverMoler博士和其同事在美国国家自然科学基金的帮助下,开发了调用LINPACK和EISPACK的Fortran子程序。20世纪70年代后期,3Moler博士编写了相应的接口程序,并将其命名为MATLAB。1983年,JohnLittle和Moler、Bangert等一起合作开发了第2代专业版MATLAB。1984年Moler博士和一批数学专家、软件专家成立了MATHWORKS公司,继续MATLAB软件的研制和开发,并着力将软件推向市场。1993年,MATHWORKS公司连续推出了MATLAB3.x(第1个Windows版本)、MATLAB4.0.1997年,MATHWORKS公司推出了MATLAB5.0。2001年,MATHWORKS公司推出了MATLAB6.x。2004年,MATHWORKS公司推出了MATLAB7.0。1.2MATLAB功能及其应用MATLAB分为总包和若干个工具箱,随着版本的不断升级,它具有越来越强大的数值计算能力,更为卓越的数据可视化能力以及良好的符号计算功能,逐步发展成为各种学科、多种工作平台下功能强大的大型软件,获得广大科技工作者的普遍认可。一方面,MATLAB可以方便实现数值分析、优化分析、数据处理、自动控制、信号处理等领域的数学计算,另一方面,也可以快捷实现计算可视化、图形绘制、场景创建和渲染、图像处理、虚拟现实和地图制作等分析处理工作。在欧美许多高校,MATLAB已经成为线性代数、自动控制理论、概率论与数理统计、数字信号处理、时间序列分析、动态系统仿真等课程的基本教学工具,是攻读本科、研究生学位必须掌握的技能。在国内,这一语言也逐步成为一些大学工科专业学生的重要课程。1.3MATLAB的基本特点1.3.1.语言简单易学MATLAB是一种解释执行的语言,语句采用通用的数学形式,语法规则和一般结构化高级编程语言相差不大,并把编辑、编译、连接、执行功能融为一体,调试程序手段丰富、调试速度快,可以快速排除输入程序时书写、语法等方面的错误,具有一般语言基础的人可以较快掌握。1.3.2.代码短小高效MATLAB将矩阵作为最基本的数据单元、无须预先定义维数。函数是MATLAB中最基本、最重要的组成部分,而MATLAB将数学问题的许多算法编成库函数,具有能解决很多问题的工具箱,只要熟悉算法的基本特点、函数调用格式和参数具体意义等内容,调用现成函数就可以较快解决自己专业领域很多4问题,而不必再花很多时间去实现常规算法,使得所编写的代码文件简单短小、求解专业问题时高效方便。1.3.3.计算功能强大MATLAB语言具有强大的矩阵数值计算功能、可以方便地处理很多特殊矩阵,利用符号和函数可以对矩阵进行线性代数运算(加减乘除、转置、求逆),适用于大型数值算法的编成实现;工具箱中许多搞性能的数值计算算法,可以解决实际应用中的许多数学问题,尤其是与矩阵计算有关的问题。1.3.4.绘图非常方便MATLAB语言具有强大的绘图功能,有很多绘图函数命令,可以绘制一般的二维或三维图形(如线形图、条形图、饼图、直方图等),可以绘制工程特性较强的特殊图形(如玫瑰花图、极坐标图等),通过其可视化功能可以绘制一些用于数据分析的图形(如矢量图、等值线图、曲面图、切面图等),还可以生成快照并进行动画制作,使用MATLAB句柄图形对象结合绘图函数可以绘制自己最为满意的图形。1.3.5.扩充能力强大可扩展性是MATLAB的一个重要特点,MATLAB通常包括系统本身定义的大量库函数,用户也可以定义自己的函数、组成自己的工具箱,不仅进行数学运算时可以直接调用,而且库函数名称和用户文件保持一致,用户可以根据需要方便地建立和扩充库函数,方便地解决本领域内的计算问题。MATLAB提供了与Fortran、C/C++语言及一些应用程序(如Excel)的接口,利用MATLAB编译器和运行服务器还可以生成独立的可执行程序,使用户可以混合编程,也可以隐藏算法并避免依赖MATLAB平台环境。1.3.6.源程序具有开放性除了内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可以通过对源文件的修改以及加入自己的文件构成新的工具箱1.3.7.功能强大的工具箱MATLAB具有的一项重要特色是拥有功能强大的工具箱。MATLAB包括两个部分:核心部分和各种可选的工具箱。核心部分是数百个核心内部函数。其工5具箱又可以分成两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如controltoolbox、signalprocessingtoolbox、communicationtoolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。工具箱中的信号产生函数函数名功能函数名功能sawtooth产生锯齿波或三角波信号pulstran产生冲激串square产生方波信号rectpule产生非周期的方波信号sinc产生sinc函数波形tripuls产生非周期的三角波信号chirp产生调频余弦信号diric产生Dirichlet或周期sinc函数gauspuls产生高斯正弦脉冲信号gmonopuls产生高斯单脉冲信号vco电压控制振荡器系统模型的转换函数函数名功能说明函数名功能说明ss2tf状态空间模型转换为传递函数模型zp2tf零-极点增益模型转换为传递函数模型ss2zp状态空间模型转换为零-极点增益模型zp2ss零-极点增益模型转换为状态空间模型6ss2sos状态空间模型转换为二次分式模型zp2sos零-极点增益模型转换为二次分式模型tf2ss传递函数模型转换为状态空间模型sos2tf二次分式模型转换为传递函数模型tf2zp传递函数模型转换为零-极点增益模型sos2zp二次分式模型转换为零-极点增益模型tf2sos传递函数模型转换为二次分式模型sos2ss二次分式模型转换为状态空间模型1.3.8.帮助功能完整MATLAB采用基于HTML的自述文件,自述文件中不仅介绍了MATLAB语言,还对各种算法的理论基础与算法实现进行了比较详细的说明,并给出了相应的常规实例,帮助功能比较完整。(二)MATLAB语言平台简单介绍2.1程序编制步骤1.进入编译平台。在Windows上平台上双击桌面的MATLAB图标或者选择[开始]→[程序]→[MATLAB],均可以进入MATLAB编辑平台。2.编译m文件或者通过命令窗口输入适当的函数命令。3.若使用图形用户界面编程,则设计MATLAB下可视化程序界面(加入控件、对有关属性进行设置等)并编制相应的m文件。4.M文件有命令文件和函数文件两种形式,命令文件的变量均为全局变量且无参数传递,而函数文件一般由function命令开始,变量通常是局部变量,可以传递多个输入输出参数。5.执行编译过程并修改完善程序。2.2使用帮助文件MATLAB的函数命令很多,全部记住既不需要也不可能,这些函数可以通过以下两种方法学习。1.使用函数在线帮助。通常使用命令help,比如要知道函数sin的含义、格式、实例,可在命令窗口中键入helpsin。对于已知函数命令名称,但不熟悉其具体使用方法的命令来说,使用help命令时,函数命令名称通常都是小写字母。2.使用全部帮助。在MATLAB的自述文件中给出了MATLAB中的全部帮助,包括MATLAB语言介绍、函数命令含义与算法、工具箱说明、典型算例等。72.3图形用户界面编程过程此次实验系统的开发我主要使用图形用户界面进行编程操作,图形界面的外观设计的可视化编程过程如下:1.进入GUI(图形用户界面);2.添加图形对象;3.修改菜单属性;4.修改图形对象属性;5.编辑回调函数或命令;6.有关对象另存为图形文件。(三).m文件的编写MATLAB主要用到的脚本文件被命名为.m文件,其特点有4个:1.该文件的指令形式和前后位置,与解决同一问题时在指令窗口中输入的那组指令没有任何区别;2.MATLAB运行此脚本时,仅简单地从文件中读取每条指令,送到MATLAB中执行;3.同指令窗直接运行的指令一样,脚本文件的变量都是驻留在其基本内存空间中;4.文件名的扩展名为“.m”。M文件,实际上是就是一个普通文本文件,其中包含了MATLAB指令,而MATLAB指令由于与C语言相类似,所以易于上手,这也是MATLAB的易用性的体现。(四)MATLAB源程序如下:clear,tf=10;N=input;dt=10/N;t=[1:N]*dt;f=[ones(1,N/2),zeros(1,N/2)];wf=input;8Nf=input;w1=linspace(0,wf,Nf);dw=wf/(Nf-1);F1=f*exp(-j*t'*w1)*dt;w=[-fliplr(w1),w1(2:Nf)];F=[fliplr(F1),F1(2:Nf)];subplot(1,2,1),plot(t,f,'linewidth',1.5),gridonset(gcf,'color','w')axis([0,10,0,1.1])subplot(1,2,2),plot(w,abs(F),'linewidth',1.5)gridon程序运行结果:若时间分隔的点数N=256,需求得频率宽度wf=40,需求的频率点数Nf=64,所得结果所示。若取时间分隔的点数N=64,频数宽度=40,频谱点数Nf=256,则得结果所示。此时采取采样周期为dt=10/64s,对应的采样频率fs=1/dt=6.4Hz或s=40.2124rad/s。从图中可以看出高频频谱以s/2处为基准线的转迭,出现频率泄露。如下图所示9四实训总结与心得体会本系统基本实现了信号的基本运算、信号抽样、调制、系统

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功