连续时间信号卷积运算的MATLAB实现

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

连续时间信号卷积运算的MATLAB 实现

一、实验目的

(1)理解掌握卷积的概念及物理意义。

(2)理解单位冲激响应的概念及物理意义。

二、实验原理

根据前述知识,连续信号卷积元素按定义为

()()()()()121

2f t f t f t f f t d τττ

-∞

=*=

-⎰

卷积计算可以通过信号分段求和来实现,即

()()()()()()()121

2

1

2

lim k f t f t f t f f t d f k f t k τττ∞

∆→=-∞

-∞

=*=

-=∆⋅-∆⋅∆

∑⎰

如果只求当t n =∆(n 为整数)时()f t 的值()f n ∆,则由上式可得

()()()()()1

2

1

2

k k f n f k f n k f k f n k ∞∞

=-∞

=-∞

∆=

∆⋅∆-∆=∆⋅∆⋅-⋅∆⎡⎤⎣⎦

∑∑

式中的()()

1

2

k f k f n k ∞

=-∞

∆⋅∆-∆∑实际上就是连续信号

()

1f t 和

()

2f t 经等时间间隔∆均匀抽样的离散序列

()1f k ∆和

()

2f k ∆的卷积和。当∆足够小时,

()

f n ∆就是卷积积分的结

果——连续时间信号()

f t 的较好的数值近似。

三、实验内容

1、实验参考程序

以下是MA TLAB 实现连续信号卷积的通用函数sconv()。 function [f,k]=sconv(f1,f2,k1,k2,p) f=conv(f1,f2); f=f*p;

k0=k1(1)+k2(1);

k3=length(f1)+length(f2)-2; k=0:p:k3*p; subplot(2,2,1) plot(k1,f1) title('f1(t)') xlabel('t')

ylabel('f1(t)') subplot(2,2,2) plot(k2,f2) title('f2(t)') xlabel('t')

ylabel('f2(t)') subplot(2,2,3) plot(k,f);

h=get(gca,'position') h(3)=2.5*h(3);

set(gca,'position',h)

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

已知两连续时间信号如图所示,使用MATLAB 求

()()()

12f t f t f t =*,并绘出

()

f t 的

时域波形图。

实现上述过程的MA TLAB 命令如下: p=0.5; k1=0:p:2; f1=0.5*k1; k2=k1; f2=f1;

[f,k]=sconv(f1,f2,k1,k2,p)

运行得出结果。上述命令绘制的波形图在图中示出:

图1.1

以上给出了时间间隔为p=0.5时的处理效果。而图1.2给出了抽样时间间隔p=0.05时的处理结果。可见,当抽样时间p 足够小时,函数sconv()的计算结果就是连续时间卷积

()()()

12f t f t f t =*的较好数值近似。

图1.2 2、习题练习(P34-1.11(a),(b))

已知两连续时间信号如图所示,使用MATLAB求

()()()

12

f t f t f t

=*

,并绘出

()

f t

时域波形图。

(a)输入以下MATLAB命令:p=0.001;

k1=0:p:2;

f1=heaviside(k1)-heaviside(k1-1);

k2=0:p:2;

f2=0.5*k2;

[f,k]=sconv(f1,f2,k1,k2,p

运行得出结果:

(b)输入以下MA TLAB命令:

p=0.001;

k1=-1:p:1;

f1=-abs(k1)+1;

k2=0:p:2;

f2=heaviside(k1)-heaviside(k1-1);

[f,k]=sconv(f1,f2,k1,k2,p)

运行得出结果:

四、实验心得

通过本次实验我学会使用MA TLAB软件,并用软件实现了的连续时间信号的卷积运算,且进一步理解了卷积的概念和物理意义,对我以后学习卷积知识有了很大的帮助。

相关文档
最新文档