《信号与系统》实验指导书张建奇骆崇编写浙江工业大学之江学院信息工程分院2012年2月目录实验一MATLAB的基本使用 (1)一、实验目的 (1)二、实验原理 (1)三、实验内容与要求 (8)四、实验报告 (9)实验二时域波形的MATLAB实现 (10)一、实验目的 (10)二、预习要求 (10)三、实验原理 (10)四、实验内容与要求 (18)五、实验报告 (19)实验三用MATLAB对系统时域分析 (20)一、实验目的 (20)二、预习要求 (20)三、实验原理 (20)四、实验内容与要求 (29)实验一MATLAB的基本使用一、实验目的1、了解和掌握MATLAB的基本操作2、了解MATLAB的库函数3、会用MATLAB进行简单的操作。
二、实验原理1、界面操作MATLAB是“MATrix LABoratory”的缩写(矩阵实验室),它是由美国Mathworks公司于1984年正式推出的一种科学计算软件,由于其强大的功能,在欧美的一些大学里MATLAB已经成为许多诸如数字信号处理、自动控制理论等高级教程的主要工具软件,同时也成为理工科学生,必须掌握的一项基本技能。
当需要运行程序时,只需选择桌面上(或开始)中的MATLAB6.5应用程序图标即可通常情况下,MATLAB的工作环境主要由一下几个窗口组成:命令窗口(Command Window)工作区间浏览器(Workspace)历史命令窗口(Command History)图形窗口(Figure)文本编辑窗口(Editor)当前路径窗口(Current Directory)MATLAB的命令窗与命令操作当用户使用命令窗口进行工作时,在命令窗口中可以直接输入相应的命令,系统将自动显示信息。
例如在命令输入提示符“>>”后输入指令:>>t=[1,2,3;4,5,6;7,8,9];按回车键(Enter)后,系统即可完成对变量t的赋值。
MATALB提供了非常方便的在线帮助命令(help),它可提供各个函数的用法指南,包括格式、参数说明、注意事项及相关函数等内容。
2、图形窗MATLAB图形窗(Figure)主要用于显示用户所绘制的图形。
通常,只要执行了任意一种绘图命令,图形窗就会自动产生。
3、文本编辑窗文本编辑窗的作用就是用来创建、编辑和调试MATLAB相关文件(或称程序)(.M文件),它与一般的编辑调试器有相似的功能。
例sy.mMATLAB命令编辑有行命令方式和文件方式两种:1、行命令方式,即在命令窗口中一行一行地输入命令,计算机对每一行命令作出反应。
因此,只能编辑简单的程序,在命令窗口执行完一个程序后,程序自动消失,不能重复使用。
2、把程序写成一个由多行语句组成的文件(.M文件),让MATLAB来执行这个文件中的全部语句。
MATLAB文本编辑器的功能就是完成编写、修改和调试这种程序,程序执行完一次后可以重复使用。
MATLAB6.5 编辑窗4、MATLAB的基本语法1)变量及其赋值(1).赋值要求在MATLAB中,变量都代表矩阵。
列矢量可被当作只有一列的矩阵;行矢量也可被当作只有一个行的矩阵;标量(或常数)应看作1 1阶的矩阵。
在输入矩阵时,应遵循以下规则:(a)整个矩阵的值应放在方括号中:(b)同一行中各元素之间以逗号“,”或空格分开;(c)不同行的元素以分号“;”隔开。
例如,在MATLAB的命令窗口中输入:>>w=[1 2 3 ; 3 4 5 ; 6 7 8] (按回车键Enter)则显示结果为:w= 1 2 34 5 67 8 9如果不希望显示处理结果,可以在语句结尾加上分号“;”,这在编写M文件时非常有用。
例如利用表达式赋值,在语句结尾加上分号“;”:>>y=[-2.5*3, (1+2+4)/5, sqrt(2)] (按回车键Enter)显示结果为:y = -7.5000 1.4000 1.41422.)变量的元素的赋值在MATLAB中,变量的元素(即矩阵元)用圆括号“()”(也称为下标)来注明,一维矩阵(也称数组)中的元素用一个下标表示,二维矩阵由两个下标数构成,对三维矩阵则由三个下标数构成。
如w(2,3)表示变量w的第2行第3列元素。
在MATLAB中可以单独给元素赋值,例如>>w(2,3)=10; w(1,2)=1.5; (按回车键Enter)完成对矩阵w的第2行第3列和第1行第2列的元素赋值。
如给w的第4行全行赋值,可用冒号“:”。
例如,键入>>w(4, : )=[5, 3 , 2]回车则显示:w = 1.0000 1.5000 3.00003.00004.0000 10.00006.00007.00008.00005.0000 3.0000 2.0000(2)利用特殊矩阵和数组赋值例如产生一个矩形序列R20(n),可用ones函数完成:>>Rn=ones(1,20);表B-1 常见生成矩阵的函数(部分)2)复数的赋值方式MATLAB的每一个元素都可以是复数,实数是复数的特例。
复数的虚数部分用i或j表示。
例如,键入>>c=3+5.2i (按回车键Enter)显示结果:c= 3.0000+5.2000i>>z=[1+2j, 3+4j; 5+6j, 7+8j]或>>z=[1+2*j, 3+4*j; 5+6*j, 7+8*j]得:z= 1.0000+2.0000i 3.0000+4.0000i5.0000+6.0000i7.0000+8.0000i3)MATLAB内部特殊变量和常数在MATLAB内部中,为了处理方便定义了一些特殊的变量和常数。
1)变量ans:临时变量,通常表示当前的答案。
2)常数eps:表示浮点相对精度,按IEEE标准,3)、常数pi:表示圆周率4)、常数Inf:代表正无穷大,一般被0除或溢出则产生无穷大结果。
5)、虚数单位i,j:表示复数虚部单位,6)、NaN:表示非数值。
如当Inf-Inf,Inf/Inf,0*Inf,0/0均产生该结果。
4)运算符、复数运算及流程控制MATLAB的运算符可以分为3类。
(1)算术运算符算术运算符(2)关系运算符(3)进行逻辑运算优先级依次为:算术运算符、关系运算符、逻辑运算符。
三、实验内容与要求1、运行下列矩阵》》A=[1 2 3 4;5 6 7 8;9 8 7 6;5 4 3 2]2、将上矩阵以.m文件存储运行3、先生成两个矩阵A-[3 6 9 5;2 4 8 3;1 2 3 7;5 1 4 8;和B=[1 2 32;2 4 1 5;1 4 7 2;7 4 2 9],后求解A.*B,A./B,A.^B,A.\B4、运行下例程序%programA=1;w0=2*pi;phi=pi/6;t=0:0.001:8;ft=A*sin(w0*t+phi);plot(t,ft);5、运行下例程序%programn=0:10;A=1;a=-0.6;fn=A*a.^n;stem(n,fn);6、运行下列程序%programt=0:0.01:5;subplot(3,1,1);x= sawtooth(2*pi*t);plot(t,x); %产生周期为1的锯齿波subplot(3,1,2);t=0:0.001:4;T=1;ft=rectpuls(t-2*T,2*T);plot(t,ft); %产生矩形脉冲信号subplot(3,1,3);z= sawtooth(2*pi*t,0.5);plot(t,z); %产生周期为1的标准三角波四、实验报告1、写出运行结果。
2、画出4~6题的波形图。
3、分析各运行结果。
实验二时域波形的MATLAB实现一、实验目的1、了解时域波形的特点。
2、了解MATLAB的常用函数。
3、掌握用MATLAB产生各种时域波形。
二、预习要求1、熟悉数字信号处理中的常用信号波形。
2、熟悉MATLAB基本语句。
三、实验原理1.MATLAB基本知识1)连续时间基本绘图命令(1)figure命令:新建一个图形窗口,并自动给它排出序号。
格式:figure(2)subplot命令:将图形窗口分成n m个子图形窗口,并选择第p个子图形窗口作为当前图形窗口,供绘制函数作图使用。
格式:subplot(m,n,p)(3) 二维曲线绘制函数 plot格式一: plot(y)--输入一个数组的情况功能:如果y是一个数组,函数plot(y)给出线性直角坐标的二维图。
该二维图以y中元素的下标作为X坐标,y中元素的值作为Y坐标,一一对应画在X—Y坐标平面图上,而且将各点以直线相连。
格式二:plot(x,y)--输入两个数组的情况功能:绘出以x元素为横坐标、y元素为纵坐标的曲线。
数组x和y必须具有相同长度。
格式三:plot(y,’字符串’)或:plot(x, y,’字符串’)用户只需在plot的输入变量组后面,加一个单引号,在引号内部放入线型、颜色以及标记符号的标志符即可完成。
线型、颜色以及标记符号的标志符见表1。
表 12)离散时间序列的图形表示MATLAB提供了一条专用函数命令stem,其调用格式为:格式一:stem(x,’string’)功能:绘制序列x(n)的棒状图,横坐标为序列的下标序号。
棒的末端用“string”指定的标记符号表示,其中“string”可用标记符号如表1所示,缺省时末端用小圆圈“o ”表示。
格式二: stem(x,y, ’string’)功能:绘制序列x(n)的棒状图,横坐标由矢量x(n)指定。
2.MATLAB应用举例1)正弦信号调用函数:%programA=1;w0=2*pi; phi=pi/6; t=0:0.001:8;ft=A*sin(w0*t+phi); plot(t,ft);运行结果:2)抽样信号 tt t Sa ππ)sin()(=调用格式: Y=sinc(t)%programt=-3*pi:pi/100:3*pi; ft=sinc(t*pi); plot(t,ft);运行结果:3)矩形脉冲信号调用格式:Y=rectpuls(t,width)产生一个幅度为1,宽度为width以t=0为对称中心的矩形波。
Width的默认值为1.4)三角波信号调用格式:Y=tripuls(t,with,skew)With值为三角波宽度。
Skew 产生斜切为s的三角波。
S值的计算:最大值出现位置的横坐标与半边最大值的比值,S值的范围-1<s<1。
当S=0时为对称三角形。
当S>0波形在正半边,S<0时波形在负半边,5)周期方波信号信号的产生调用方式(1)x=Square(t);产生周期为π2,峰值为1±的方波(2)x= Square(t,duty));产生指定周期、峰值为1±的方波,duty为占空比。