信号与系统实验一(信号的时域分析)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一信号的时域分析
一、实验目的:
1. 熟悉MATLAB 软件的使用
2. 学会信号的多种表示形式和信号的可视化;
3. 熟悉MATLAB中信号的基本运算和卷积运算。
二、实验时数:2学时
三、实验相关知识:
信号按照自变量的取值是否连续可分为连续时间信号和离散时间信号。对一维时间信号进行时域分析,首先需要将信号随时间变化的规律用二维曲线表示出来。对于简单信号可以通过手工绘制其波形,但对于复杂的信号,手工绘制信号波形显得十分困难,且难以绘制精确的曲线。
1、连续时间信号的描述
在 MATLAB中通常用三种方法来产生并表示连续时间信号,即采用符号运算工具箱来描述信号;采用向量表示法来描述信号;采用Simulink工具来描述并产生信号。
(1)采用MATLAB软件符号运算工具箱来描述信号
方法一:符号函数图形计算器
在MATLAB 环境下输入命令funtool,则会产生三个视窗,如所示。
图1 符号函数图形计算器
●figure No.1:可轮流激活,显示f函数的计算结果。
●figure No.2:可轮流激活,显示g函数的计算结果。
●figure No.3 :函数运算器,其功能有:f,g 可输入函数表达式;x 是自变量,在缺省时绘制在[-2pi,2pi]的范围内的函数图形,在figure No.1 或figure No.2产生相应的波形。
方法二:符号运算表示法
如果信号可以用一个表达式来表示它,则我们可用ezplot命令(缺省的区间为[-2*pi, 2*pi])绘制出信号的波形,例如对于连续信号f(t)=sin(πt/4),我们可以用符号表达式表示为:
f=sym('sin(pi/4*t)');
然后用 ezplot命令绘制其波形:
ezplot(f,[-16,16]);
该命令绘制的信号波形如错误!未找到引用源。所示。
图 1 符号运算表示法表示信号
(2)采用向量表示法来描述信号
用适当的MATLAB 中的向量来表示信号,该信号可以利用MATLAB 的绘图命令绘制出直观的信号波形。
对于连续时间信号f(t),可以用两个行向量f和t来表示,其中向量t是形如t=t1:dt:t2的MATLAB命令定义的时间范围向量,t1为信号起始时间,t2为信号终止时间,dt为时间间隔。向量f为连续信号f(t)在向量t所定义的时间点上的样值。
下面分析连续时间信号f(t)=e-0.3t sin(t),可用如下的两个变量表示:
t= -10:0.5:10;
f= exp(-0.3*t) .* sin(t);
用上述向量对连续信号进行表示后,就可以用plot命令来绘制出信号的时域波形。plot命令可将点与点间用直线连接,当点与点间的距离很小时,绘出的波形就成了光滑的曲线。MATLAB命令如下:
plot(t,f);
title('f(t)= exp(-0.3*t) .* sin(t)');
grid on(添加网格线)
xlabel('t');
绘出的信号波形错误!未找到引用源。所示。当把时间间隔dt取得较小(例如为0.01)时,就可得到f(t)较好的近似波形,如错误!未找到引用源。所示。
图 2 dt = 0.5时的波形图3 dt = 0.01时的波形
常见连续信号的向量表示法描述
grid on:为图形添加网格线
xlabel('t (s)') :为图形的x轴添加注释,引号内字符串为注释内容
ylabel('y(t)') :为图形的y轴添加注释,引号内字符串为注释内容
title('y(t)=sint') :为图形添加标题,引号内字符串为标题内容
subplot是将多个图画到一个平面上的工具。其中,m表示是图排成m行,n表示图排成n 列,也就是整个figure中有n个图是排成一行的,一共m行,如果m=2就是表示2行图。p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。
(3)采用MATLAB软件的Simulink工具来描述并产生信号
在MATLAB的命令视窗下输入simulink指令,则会打开Simulink Library Browser窗口,如错误!未找到引用源。所示。在左边栏Libraries中Simulink下有多个子库,其中Source 是信号源子库,Sinks是显示器子库。
图 4 Simulink库浏览器
选择主菜单File下New中Model,弹出untitled窗口,子库中的任何模块都可以拖动到untitled视窗中,用鼠标把模块用连线按输入输出关系连接起来,就构成了仿真系统。在untitled视窗的菜单选simulation中的start,开始进行仿真,仿真执行完毕后,示波器上会显示出信号波形。
如产生正弦波f(t)=3sin(t)+2,则可以得到如错误!未找到引用源。所示波形:
图 5 Simulink产生的正弦波
2、离散时间序列的描述
一般来说,离散时间信号用f(k)表示,其中变量k为整数,代表离散的采样时间点,f(k)可表示为:f(k)={…,f(-2), f(-1), f(0), f(1), f(2), …}。在用MATLAB 绘制离散时间信号波形时,要使用专门绘制离散数据的stem命令,而不用plot
命令。如序列
(){1,2,1,3,2,4,1} k f k ==--↑
在MATLAB 中应表示为: k=[-2,-1,0,1,2,3,4]; %或是k=-2:4; f= [1,2,-1,3,2,4,-1]; 用如下stem 命令绘图: stem(k,f); xlabel('k'); ylabel('f(k)'); grid on
则得到对应的序列波形图,如图7 所示。
图7 序列波形图
对于用函数表达式表示的离散信号,可以用向量表示法进行描述。离散信号的产生与连续信号的产生相同,而绘制离散信号时应采用stem 命令绘图。 常见离散信号的向量表示法描述