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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

P (t) h (t)

(t)

lim
0
P
(t
)

lim
0
h
(t
)

h(t)
若输入为 f(t):

f (t) f (t) f (k)P (t k) k
f
(k )h
(t

k)


f
(
)h(t

)d
s(t) f1 (t) * f 2 (t) f1 ( ) f 2 (t )d
lim 0
f1 (k) f 2 (t k)
如果只求离散点上的 f 值 f (n)

f (n)
f1 (k) f 2 (n k)
f 2 (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 (k ) 非零区间 n1~n2,长度 L1=n2-n1+1; f 2 (k ) 非零区间 m1~m2,长度
L2=m2-m1+1。则: s(k ) f1 (k ) * f 2 (k ) 非零区间从 n1+m1 开始,长度为 L=L1+L2-1,所
以 S(K)的非零区间为:n1+m1~ n1+m1+L-1。 2、 连续卷积和离散卷积的关系: 计算机本身不能直接处理连续信号,只能由离散信号进行近似:
k

f1 (k) f 2[(n k)] k
所以,可以用离散卷积和 CONV()求连续卷积,只需 足够小以及在卷积和的基础上乘 以。
3、 连续卷积坐标的确定:
设 f1 (t) 非零值坐标范围:t1~t2,间隔 P
f 2 (t) 非零值坐标范围:tt1~tt2,间隔 P
得输出:

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




0
时:
f
(t)

lim
0
f
(t)

lim
0 k
f
(k ) P
(t

k)


f
(
)
(t
)d
所以:


y(t)

lim
0
y
(t)

lim
0
k
f1(t)=e-2*t*u(t) 0.9
f2(t)=u(t)-u(t-4) 1
f(t)=f1(t)*f2(t) 5
f1(t) f2(t) f(t)
0.8
0.9
4.5
0.7
0.8
4
0.7
ห้องสมุดไป่ตู้3.5
0.6
0.6
3
0.5
0.5
2.5
0.4
0.4
2
0.3
0.3
1.5
0.2
0.2
1
0.1
0.1
0.5
0
0
5
10
t(sec)
0.35
0.3
0.25
0.2
y(t)
0.15
0.1
0.05
0
0
1
2
3
4
5
6
7
8
9
10
t(sec)
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
6
7
8
9 10
t(sec)
三 实验原理: 1、 离散卷积和: 调用函数:conv()

S conv( f 1, f 2) f 1(i) f (k i) 为离散卷积和, i
其中,f1(k), f2 (k) 为离散序列,K=…-2, -1, 0 , 1, 2, …。但是,conv 函数只给出纵轴的序列 值的大小,而不能给出卷积的 X 轴序号。为得到该值,进行以下分析:
s(t) f1 (t) * f 2 (t) 非零值坐标:t1+tt1~t2+tt2
0
0
5
10
t(sec)
0
0
200 400
t(sec)
2、 若系统模型为:
y '' (t) 4 y ' (t) 4 y(t) f ' (t) 3 f (t) 其中
f (t) etu(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)');
实验五 使用 matlab 实现卷积的运算
一 实验目的 1、 2、
二 实验内容
学习 MATLAB 语言的编程方法及熟悉 MATLAB 指令; 深刻理解卷积运算,利用离散卷积实现连续卷积运算;
1、 完成 f1 (t) 与 f 2 (t) 两函数的卷积运算
其中: f1 (t) e2tu(t), f 2 (t) u(t) u(t 4) 在一个图形窗口中,画出 f1 (t) 、
相关文档
最新文档