连续时间信号的卷积运算word资料5页
- 格式:doc
- 大小:47.00 KB
- 文档页数:5
第 1 页 实验二 连续时间信号的卷积运算与LTI系统的时域分析
实验人:Mr.yan
1 实验目的
(1)熟悉卷积的定义和表示;
(2)掌握利用计算机进行卷积运算的原理和方法;
(3)熟悉连续信号卷积运算函数conv的应用。
(4)熟悉连续LTI系统在典型激励信号下的响应及其特征;
(5)掌握连续LTI系统单位冲激响应的求解方法;
(6)掌握用卷积法计算连续时间系统的零状态响应;
(7)能够应用Matlab对系统进行时域分析。
2 实验原理
(1)卷积的定义、卷积的几何解法、卷积积分的应用(求系统的零状态响应)
(2)对于一般的n阶LTI连续系统,如果n的数值比较小时,可以通过解析的方法得到响应。但是,对于高阶系统,手工运算比较困难,要利用一些计算工具软件。
3 涉及的Matlab函数
(1)conv函数:实现信号的卷积运算。
调用格式:w=conv(u,v)计算两个有限长度序列的卷积。
说明:该函数假定两个序列都从零开始。
(2)lsim函数:计算并画出系统在任意输入下的零状态响应。
调用格式:lsim(b,a,x,t)
其中:a和b是由描述系统的微分方程系数决定的表示该系统的两个行向量;x和t是表示输入信号的行向量。该调用格式将会绘出由向量a和b所定义的连续系统在输入为向量x和t所定义的信号时,系统的零状态响应的时域仿真波形,且时间范围与输入信号相同。
(3)impulse函数:计算并画出系统的冲激响应。
调用格式:impulse(b,a)
该调用格式以默认方式绘出向量a和b定义的连续系统的冲激响应的时域波形。
impulse(b,a,t)
该调用格式将绘出向量a和b定义的连续系统在0-t时间范围内的冲激响应波形。
impulse(b,a,t1:p:t2)
该调用格式将绘出向量a和b定义的连续系统在t1-t2时间范围内,且以时间间隔p均匀取样的冲激响应波形。
(4)step函数:计算并画出系统阶跃响应曲线
调用格式:该函数与函数impulse()一样,也有相似的调用格式。
(5)roots函数:计算齐次多项式的根。
调用格式:R=roots(b),计算多项式b的根,R为多项式的根。
4 实验内容与方法
(1)下面为利用Matlab实现连续信号卷积的通用函数sconv(),该程序在计算出卷积积分的数值近似的同时,还绘出f(t)的时域波形图。
function[f,k] = sconv(f1,f2,k1,k2,p)
%计算连续信号卷积积分f(t)=f1(t)*f2(t)
%f:卷积积分f(t)的对应的非零样值向量;
%k:f(t)对应时间向量
%f1:f1(t) 非零样值向量; 第 2 页 %f2:f2(t) 非零样值向量;
%k1:f(1) 对应时间向量
%k2:f(2) 对应时间向量
%p:取样时间间隔
f = conv(f1,f2);
f = f*p;
k0 = k1(1)+k2(1);
k3 = length(f1)+length(f2)-2;
k = k0:p:k3*p;
subplot 311;
plot(k1,f1);
title('f1(t)')
xlabel('t')
ylabel('f1(t)')
subplot 312
plot(k2,f2)
title('f2(t)')
xlabel('t')
ylabel('f2(t)')
subplot 313
plot(k,f)
h = get(gca,'position');
h(3) = 2.5*h(3);
set(gca,'position');
title('f(t)=f1(t)*f2(t)');
xlabel('t')
ylabel('f(t)')
下面举例说明,如何利用上述子程序求解连续时间信号的卷积。
已知两连续时间信号如图2.28所示,试求二者的卷积,并画出其时域波形图。
源程序如下:
p = 0.005;
k1= 0:p:2;
f1 = 0.5*k1;
k2 = k1;
f2=f1;
[f,k]=sconv(f1,f2,k1,k2,p);
程序运行结果如图1所示
图1
(2)已知某连续系统的微分方程为28ytytytft。试绘出该系统的冲激响应和阶跃响应的波形。
源程序如下:
b = [1]; 第 3 页 a = [2 1 8];
subplot 121
impulse(b,a)
subplot 122
step(b,a)
程序运行结果如图2所示
图2
(2)描述某连续系统的微分方程为22ytytytftft。求当输入信号为25tfteut时,该系统的零状态响应y(t)。
源程序为:
a = [1 2 1];
b = [1 2];
p=0.01;
t = 0:p:5;
f = 5*exp(-2*t);
lsim(b,a,f,t);
ylabel('y(t)');
程序运行结果为图3所示
图3
5 实验要求
(1)在Matlab中输入程序,验证实验结果,并将实验结果存入指定存储区域。
(2)要求通过对验证性实验的练习,自行编制完整的实验程序,实现以下几种信号的模拟,并得出实验结果。
①计算以下信号的卷积function[f,k] =
sconv(f1,f2,k1,k2,p)
%计算连续信号卷积积分f(t)=f1(t)*f2(t)
%f:卷积积分f(t)的对应的非零样值向量;
%k:f(t)对应时间向量
%f1:f1(t) 非零样值向量;
%f2:f2(t) 非零样值向量;
%k1:f(1) 对应时间向量
%k2:f(2) 对应时间向量
%p:取样时间间隔
f = conv(f1,f2);
f = f*p;
k0 = k1(1)+k2(1);
k3 = length(f1)+length(f2)-2;
k = k0:p:k3*p;
subplot 311; plot(k1,f1);
title('f1(t)')
xlabel('t')
ylabel('f1(t)')
subplot 312
plot(k2,f2)
title('f2(t)')
xlabel('t')
ylabel('f2(t)')
subplot 313
plot(k,f)
h = get(gca,'position');
h(3) = 2.5*h(3);
set(gca,'position');
title('f(t)=f1(t)*f2(t)');
xlabel('t')
ylabel('f(t)') 第 4 页 源程序如下:
p = 0.005;
k1= 0:p:2;
f1 = 0.5*k1; k2 = k1;
f2=f1;
[f,k]=sconv(f1,f2,k1,k2,p);②计算以下信号的卷积function[f,k] =
sconv(f1,f2,k1,k2,p)
%计算连续信号卷积积分f(t)=f1(t)*f2(t)
%f:卷积积分f(t)的对应的非零样值向量;
%k:f(t)对应时间向量
%f1:f1(t) 非零样值向量;
%f2:f2(t) 非零样值向量;
%k1:f(1) 对应时间向量
%k2:f(2) 对应时间向量
%p:取样时间间隔
f = conv(f1,f2);
f = f*p;
k0 = k1(1)+k2(1);
k3 = length(f1)+length(f2)-2;
k = k0:p:k3*p;
subplot 311;
plot(k1-2,f1);
title('f1(t)')
xlabel('t')
ylabel('f1(t)')
subplot 312 plot(k2-2,f2)
title('f2(t)')
xlabel('t')
ylabel('f2(t)')
subplot 313
plot(k-4,f)
h = get(gca,'position');
h(3) = 2.5*h(3);
set(gca,'position');
title('f(t)=f1(t)*f2(t)');
xlabel('t')
ylabel('f(t)')
输入参数:p=0.01;
t=0:0.01:4;
f1=2*(stepfun(t,1)-stepfun(t,3))
% subplot(2,1,1),plot(t,f1);
axis([-2.1,2.1,-0.1,2.1]);
f2=stepfun(t,0)-stepfun(t,4);
%subplot(2,1,2),plot(t,f2);
axis([-2.1,2.1,-0.1,1.1]);
[f,k]=sconv(f1,f2,t,t,p);③描述某连续系统的微分方程为22ytytytftft。求当输入信号为22tfteut时,系统的零状态响应。a=[1,2,1];
b=[1,2];
p=0.01;
t = 0:p:5; f = 2*exp(-2*t);
lsim(b,a,f,t);
ylabel('y(t)');④描述某连续系统的微分方程为23ytytytft,试绘出该系统的冲激响应和阶跃响应的波形。%4
b = [1];
a = [2 1 -3];
subplot 121
impulse(b,a)
subplot 122