实验五 使用matlab实现卷积的运算

发布时间 : 星期四 文章实验五 使用matlab实现卷积的运算更新完毕开始阅读

实验五 使用matlab实现卷积的运算

一 实验目的

1、 2、

二 实验内容

学习MATLAB语言的编程方法及熟悉MATLAB指令; 深刻理解卷积运算,利用离散卷积实现连续卷积运算;

1、 完成f1(t)与f2(t)两函数的卷积运算 其中:f1(t)?e?2tu(t),f2(t)?u(t)?u(t?4)在一个图形窗口中,画出f1(t)、

f2(t)以及卷积结果。要求每个坐标系有标题、坐标轴名称。 >> p=0.1; t=0:p:10;

f1=exp(-2*t).*u(t); f2=u(t)-u(t-4); f=conv(f1,f2); subplot(1,3,1); plot(t,f1,'r');

title('f1(t)=e^-2*t*u(t)'); xlabel('t(sec)'); ylabel('f1(t)'); subplot(1,3,2); plot(t,f2,'g');

title('f2(t)=u(t)-u(t-4)'); xlabel('t(sec)'); ylabel('f2(t)'); subplot(1,3,3); plot(f);

title('f(t)=f1(t)*f2(t)'); xlabel('t(sec)'); ylabel('f(t)');

f1(t)=e2*t*u(t)0.90.80.70.610.90.80.70.60.5-f2(t)=u(t)-u(t-4)54.543.53f(t)=f1(t)*f2(t)f1(t)f2(t)0.50.4f(t)05t(sec)102.521.510.500.40.30.20.100.30.20.1005t(sec)100200t(sec)400

2、 若系统模型为:

y(t)?4y(t)?4y(t)?f(t)?3f(t) 其中 f(t)?eu(t) 求零状态响应,画出波形(函数本身画出一幅图,自己再画出一幅输入波形图)。

''''?ta=[1 4 4]; b=[1 3]; sys=tf(b,a); td=0.01; t=0:td:10;

f=exp(-t).*u(t); y=lsim(sys,f,t); plot(t,y);

xlabel('t(sec)'); ylabel('y(t)');

0.350.30.250.2y(t)0.150.10.050012345t(sec)678910

a= [1 4 4]; b= [1 3]; sys = tf(b, a); td = 0.01; t = 0 : td : 10; f = exp(-t).*u(t); plot(t,f);

xlabel('t(sec)'); ylabel('f(t)');

1 0.9 0.8 0.7 0.6 f(t) 0.5 0.4 0.3 0.2 0.1 0 0

1

2

3

4

5 t(sec)

6

7

8

9

10

三 实验原理: 1、 离散卷积和: 调用函数:conv()

S?conv(f1,f2)?i????f1(i)f(k?i)为离散卷积和,

?其中,f1(k), f2 (k) 为离散序列,K=…-2, -1, 0 , 1, 2, …。但是,conv函数只给出纵轴的序列值的大小,而不能给出卷积的X轴序号。为得到该值,进行以下分析:

对任意输入:设f1(k)非零区间n1~n2,长度L1=n2-n1+1;f2(k)非零区间m1~m2,长度L2=m2-m1+1。则:s(k)?f1(k)*f2(k)非零区间从n1+m1开始,长度为L=L1+L2-1,所以S(K)的非零区间为:n1+m1~ n1+m1+L-1。 2、 连续卷积和离散卷积的关系:

计算机本身不能直接处理连续信号,只能由离散信号进行近似: 设一系统(LTI)输入为

P?(t),输出为h(t),如图所示。

?P?(t) P?(t) h?(t) 1 ? LTI t ?

P?(t)?h?(t)

?(t)?limP?(t)?limh?(t)?h(t)

??0??0若输入为f(t):

f(t)?f?(t)?得输出:

k????f(?k)P(t?k?)?

??y?(t)?k????f(?k)h??(t?k?)?

??当??0时:f(t)?limf?(t)?lim??0??0k????f(?k)P(t?k?)???f(?)?(t??)d?

????

y(t)?limy?(t)?lim?f(?k)h?(t?k?)????0??0k???????f(?)h(t??)d?

所以:

s(t)?f1(t)*f2(t)??f1(?)f2(t??)d??lim??0?f

1(k?)f2(t?k?)?如果只求离散点上的f 值f(?n)

f(n?)?k?????f?1(k?)f2(n??k?)?

???f1(k?)f2[(n?k)?]k???所以,可以用离散卷积和CONV()求连续卷积,只需?足够小以及在卷积和的基础上乘以?。

3、 连续卷积坐标的确定:

设f1(t)非零值坐标范围:t1~t2,间隔P f2(t)非零值坐标范围:tt1~tt2,间隔P

s(t)?f1(t)*f2(t)非零值坐标:t1+tt1~t2+tt2

联系合同范文客服:xxxxx#qq.com(#替换为@)