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

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

一 实验目的

学习MATLAB语言的编程方法及熟悉MATLAB指令;

深刻理解卷积运算,利用离散卷积实现连续卷积运算;

二 实验内容

完成与两函数的卷积运算

其中:在一个图形窗口中,画出、以及卷积结果。要求每个坐标系有标题、坐标轴名称。

>> 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)');

若系统模型为:

其中

求零状态响应,画出波形(函数本身画出一幅图,自己再画出一幅输入波形图)。

a=[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)');

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)');

三 实验原理:

离散卷积和:

调用函数:conv()

为离散卷积和,

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

对任意输入:设非零区间n1~n2,长度L1=n2-n1+1;非零区间m1~m2,长度L2=m2-m1+1。则:非零区间从n1+m1开始,长度为L=L1+L2-1,所以S(K)的非零区间为:n1+m1~ n1+m1+L-1。

连续卷积和离散卷积的关系:

计算机本身不能直接处理连续信号,只能由离散信号进行近似:

设一系统(LTI)输入为,输出为,如图所示。

t

若输入为f(t):

得输出:

当时:

所以:

如果只求离散点上的f 值

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

连续卷积坐标的确定:

设非零值坐标范围:t1~t2,间隔P

非零值坐标范围:tt1~tt2,间隔P

非零值坐标:t1+tt1~t2+tt2

0

1

2

3

4

5

6

7

8

9

10

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

t(sec)

f(t)

LTI

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值