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

更新时间:2023-09-06 11:33:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

信号与线性系统分析

实验四 使用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.0001; %定义时间间隔 t= 0:p:10;

%定义时间向量

f1=exp(-2*t).*u(t); %将f(t)表示出来 f2=u(t)-u(t-4);

f=conv(f1,f2);

subplot(1,2,1);

plot(t,f1,t,f2); title('f1=e^-2t*u(t)'' / ''f2=u(t)-u(t-4)');

xlabel('t(sec)'); % 这行代码是给出x坐标的标签 ylabel('f(t)');

grid on;

subplot(1,2,2);

plot(f); title('f=f1*f2');

xlabel('t(sec)'); % 这行代码是给出x坐标的标签 ylabel('f')

grid on

信号与线性系统分析

2、 若系统模型为:

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

零状态响应:

a= [1 4 4]; %将y(t)各阶导数的系数放在向量a中

b= [1 3]; %将f(t)各阶导数的系数放在向量b中

sys = tf(b, a); %求系统函数sys

td = 0.01; %定义时间间隔

t = 0 : td : 10; %定义时间向量

f = exp(-t).*u(t); %将f(t)表示出来

y = lsim(sys, f, t); %求系统的零状态响应y

plot(t, y); %绘出零状态响应的波形

xlabel('t(sec)'); % 这行代码是给出x坐标的标签

ylabel('y(t)'); % 这行代码是给出y坐标的标签

grid on

信号与线性系统分析

输入波形图:

a= [1 4 4]; %将y(t)各阶导数的系数放在向量a中

b= [1 3]; %将f(t)各阶导数的系数放在向量b中

sys = tf(b, a); %求系统函数sys

td = 0.01; %定义时间间隔

t = 0 : td : 10; %定义时间向量

f = exp(-t).*u(t);

plot(t,f);

xlabel('t(sec)'); % 这行代码是给出x坐标的标签

ylabel('f(t)');

grid on

信号与线性系统分析

三 实验原理:

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),如图所示。

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+1

本文来源:https://www.bwwdw.com/article/82yh.html

Top