实验一 MATLAB对连续信号与系统的时域分析
一、实验目的:
1、学习MATLAB语言的编程方法及熟悉MATLAB指令。
2、深刻理解卷积运算,利用离散卷积实现连续卷积运算。
3、学会用MATLAB求解系统的零状态响应、冲激响应及阶跃响应的方法。
二、实验内容与步骤。
1、 编写程序Q2_1,完成f1(t)与f2(t)两函数的卷积运算。 其中:f1(t)?e?2tu(t),f2(t)?u(t)?u(t?4)在一个图形窗口中,画出f1(t)、f2(t)以
及卷积结果。要求每个坐标系有标题、坐标轴名称。 程序如下:
t0 = -3;t1 = 5;dt = 0.01; t = t0:dt:t1;
x = exp(-2*t).*ut(t); h = ut(t)-ut(t-4);
y = dt*conv(x,h); subplot(221)
plot(t,x), grid on, title('Signal x(t)'), axis([t0,t1,-0.2,1.2]) subplot(222)
plot(t,h), grid on, title('Signal h(t)'), axis([t0,t1,-0.2,1.2]) subplot(212)
t = 2*t0:dt:2*t1;
plot(t,y), grid on, title('The convolution of x(t) and h(t)'), axis([2*t0,2*t1,-0.1,0.6]), xlabel('Time t sec');
Signal x(t)11Signal h(t)0.50.50-20240-2024The convolution of x(t) and h(t)0.40.2
0-6-4-202Time t sec46810
2、 编写程序Q2_2。若系统模型为:
y''(t)?3y'(t)?4y(t)?f'(t)?3f(t) 其中 f(t)?e?tu(t)
零状态响应4求零状态响应,画出波形。并与手工计算的零状态响应比较。 程序如下:
t0=0;t1=7;dt=0.01; a=[1 0 3 4];b=[1 3]; sys=tf(b,a); t=t0:dt:t1;
f=exp(-t).*ut(t); y=lsim(sys,f,t); plot(t,y);
title('零状态响应'); xlabel('Time(sec)'); ylabel('y(t)');
20-2y(t)-4-6-8-1001234Time(sec)5673、编写程序Q2_3。已知某连续系统的微分方程为:2y''(t)?绘出该系统的冲激响应和阶跃响应的波形。 程序如下: a=[2 1 8];b=[1]; t=0:0.1:10;
0.3y=impulse(b,a,t);
subplot(211); 0.2plot(t,y);
0.1title('单位冲激响应 ');
0y=step(b,a,t);
-0.1subplot(212);
plot(t,y); -0.201title('单位阶跃响应 ');
xlabel('Time(sec)')
0.4
0.3
0.2
0.1y'(t)?8y(t)?f(t),
单位冲激响应 2345678910单位阶跃响应
00123456Time(sec)78910
4、编写程序Q2_4。验证卷积的相关性质。 验证性质:x(t)*?(t)?x(t).选择信号x(t)的数学表达式为:x(t)、δ(t)和x(t)*δ(t)的波形. 程序如下:
t0=-2;t1=5;dt=0.01; t = t0:dt:t1;
x = exp(-2*t).*ut(t); n=length(t); h=zeros(1,n);
h(1,(0-t0)/dt+1)=1/dt;
y = dt*conv(x,h); subplot(221)
plot(t,x), grid on, title('Signal x(t)'), axis([t0,t1,-0.2,1.2]) subplot(222)
plot(t,h), grid on, title('Signal h(t)'), axis([t0,t1,-0.2,110]) subplot(212)
t = 2*t0:dt:2*t1;
plot(t,y), grid on, title('The convolution of x(t) and h(t)'), axis([2*t0,2*t1,-0.1,1.5]), xlabel('Time t sec');
Signal x(t)1100800.560400-2024200-2024Signal h(t)The convolution of x(t) and h(t)1.510.50-4-2024Time t sec6810
5、length()、ones()两条指令的作用是什么?说明其格式。
答:length()指令是求向量的长度,length(x)返回向量x的长度,相当与求非空数组和空矩阵大小的最大值。
Ones()指令全1矩阵,例如ones(n)表示一个n行n列的全1矩阵! 6、(选作题)在知识扩展中,令输入信号为高频信号和低频信号的叠加(例如
f(t)?sin(2?t)?0.1sin(50?t)),通过滤波器电路,查看输出信号和输入信号的波形。初
步了解滤波器的作用。 程序如下:
t0=0;t1=5;dt=0.01;
a=[1 70.7 2500];b=[2500]; sys=tf(b,a); t=t0:dt:t1;
f=sin(2*pi*t)+0.1*sin(50*pi*t); y=lsim(sys,f,t); subplot(211) plot(t,f);
title('f=f=sin(2*pi*t)+0.1*sin(50*pi*t)'); subplot(212); plot(t,y);
title('滤波波形') xlabel('Time(sec)'); ylabel('y(t)');
f=f=sin(2*pi*t)+0.1*sin(50*pi*t)210-1-200.511.522.5滤波波形33.544.5521y(t)0-1-200.511.522.53Time(sec)3.544.55
三、实验心得:
通过这次实验我掌握了MATLAB语言的编程方法及熟悉MATLAB指令,虽然在实验前已经做了充分的准备,在宿舍自己的电脑上操作过一遍。但在实验过程中还是碰到一些不懂的地方,但经过老师的指点,最终还是把它完成了。也理解了卷积运算,利用离散卷积实现连续卷积运算,掌握了用MATLAB求解系统的零状态响应、冲激响应及阶跃响应的方法。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库信号与系统实验报告 4个实验合在线全文阅读。
相关推荐: