利用MATLAB实现信号的时域卷积
一.引言
MATLAB具有强大的图形处理功能及符号运算功能,为实现信号的可视化以及时域分析提供了强有力的工具,所以我们要利用MATLAB编程辅助分析与计算。现在我们利用MATLAB 编程辅助计算连续时间信号、离散时间信号的卷积。
我们利用MATLAB编制一个M函数dconv(),该函数可以计算离散序列x1n和x2n的卷积xn=x1n*x2n,此程序要计算xn,返回xn
现在我们再利用MATLAB编制一个计算连续时间信号卷积积分的M函数ddconv(),此函数要计算出两个连续信号f1(t)和f2(t)的卷积积分f (t)的近似值,并绘制f1(t)、f
二.基本原理
对于信号的时域卷积有:
(1)离散时间信号的卷积和:它的定义为,离散时间信号x1n和
x
设序列x1n在区间n1~ n2非零,序列x2n在m1~ m2非零,那么就有x
那么由上可知,在利用MATLAB的 conv()函数的时候就要注意其卷积后的区间长度已经发生变化,在绘制卷积后的图像的时候就要有意识的先减去扩大的区间长度,不然绘制的卷积后的时域图像就是错误的,和横坐标不是正确的对应关系,并且我们在使用conv()函数的时候要先构造x1n和x2
对于连续的时间信号f1(t)和f2
f
那么可以用分段求和来实现,即:
f
令t=n?t
f
当?t足够小的时候,fn?t的结果就是连续时间信号ft的较好的近似值。所以当用MATLAB实现f1t和f2t的卷积积分的时候要先对f1t和f2t以?t的间隔进行采样&