- 1、本文档共42页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信号与系统实验总结信号与系统实验总结
实验一 利用MATLAB进行信号的表示及运算
一、实验目的
1、学会用MATLAB表示常用连续或离散信号的方法;
2、学会用MATLAB进行信号基本运算的方法。
二、实验原理及内容
1、连续信号的MATLAB表示
MATLAB提供了大量的生成基本信号的函数。最常用的指数信号、正(余)弦信号是MATLAB的内部函数,即使不安装任何工具箱也可直接调用。
(1)指数信号
指数信号在MATLAB中用函数表示。首先,按照需要在一定时间范围内生成一些时间点,然后调用该函数计算这些点的函数值,最后画出其波形图即可。其程序及波形如下:
A=1;a=-0.4;
t=0:0.001:10;
ft=A*exp(a*t);
plot(t,ft)
(2)正弦信号
正弦信号的产生方法与指数信号类似,其程序及波形如下:
A=1;
w0=2*pi;
phi=pi/6;
t=0:0.001:8;
ft=A*sin(w0*t+phi);
plot(t,ft)
axis([0,2,-1.2,1.2]);
(3)抽样信号
抽样信号在MATLAB中用sinc函数表示,其定义为
其程序及波形如下:
t=-3*pi:pi/100:3*pi;
ft=sinc(t/pi);
plot(t,ft);
axis([-10,10,-0.5,1.2]);
(4)矩形脉冲信号
矩形脉冲信号在MATLAB中可调用rectpuls函数产生,其调用格式为
用以产生一个幅度为1,宽度为width且以t=0为对称轴的矩形波。Width的默认值为1。其程序及波形如下:
t=0:0.001:4;
T=1;
ft=rectpuls(t-2*T,T);
plot(t,ft);
axis([0,4,0,1.5])
(5)三角波脉冲信号
三角波脉冲信号在MATLAB中可调用tripuls函数产生,其调用格式为
用以产生一个幅度为1,宽度为width的三角波。其程序及波形如下:
t=-3:0.001:3;
ft=tripuls(t,4,0.5);
plot(t,ft);
2、离散信号的MATLAB表示
(1)指数序列
离散指数序列的形式为,可以用MATLAB中的数组幂运算实现。其程序及波形如下:
k=0:10;A=1;a=-0.6;
fk=A*a.^k;
stem(k,fk,’.’);
axis([-1,11,-1,1.2]);
(2)正弦序列
离散正弦序列的MATLAB产生方法与连续信号相同,但图形显示方法不同,是用stem函数画出的。其程序及波形如下:
k=0:39;
fk=sin(pi/6*k);
stem(k,fk,’.’);
axis([-1,40,-1.5,1.5])
(3)单位阶跃序列
单位阶跃序列是时间无限的序列,而计算机只能表示有限的序列,所以MATLAB只能在有限的时间范围内产生近似的单位阶跃序列。其程序及波形如下:
k=-50:50;
uk=[zeros(1,50),ones(1,51)];
stem(k,uk,.);
axis([-60,60,0,1.5])
3、信号基本运算的MATLAB实现
(1)信号的尺度变换、翻转、平移
信号的尺度变换、翻转、平移运算,实际上是函数自变量的运算。在信号的尺度变换和中,函数的自变量乘以一个常数,在MATLAB中可用算术运算符“*”来实现。在信号翻转和运算中,函数的自变量乘以一个负号,在MATLAB中可以直接写出。在信号平移和运算中,在MATLAB中可用算术运算符“+”或“-”来实现。对于图1-5所示的三角波,和的程序和波形如下:
t=-3:0.001:3;
ft=tripuls(t,4,0.5);
subplot(3,1,1);
plot(t,ft);
title(f(t));
ft1=tripuls(2*t,4,0.5);
subplot(3,1,2);
plot(t,ft1);
title(f(2t));
ft2=tripuls(2-2*t,4,0.5);
subplot(3,1,3);
plot(t,ft2);
title(f(2-2t))
(2)离散序列的差分与求和
离散序列的差分,在MATLAB中用diff函数来计算。离散序列的求和运算与离散序列的相加运算不同,离散序列的相加运算是把不同离散序列进行相加,而离散序列的求和是将某时刻范围内的所有该序列值进行相加,在MATLAB中用sum函数来计算。
例1-1 用MATLAB计算指数信号()的能量。
解:离散信号的能量定义为
其MATLAB程序如下:
k=0:10;A=1;a=-0.6;
fk=A*a.^k;
W=sum(abs(fk).^2)
程序运行结果为:
W=1.5625
(3)连
文档评论(0)