您的位置首页生活百科

用matlab求单位阶跃函数的傅立叶变换

用matlab求单位阶跃函数的傅立叶变换

的有关信息介绍如下:

用matlab求单位阶跃函数的傅立叶变换

傅立叶变换常常应用于在信号处理,其在信号处理中有着很重要的位置。下面我们就介绍一种最简单的傅立叶变换,即单位阶跃函数的傅立叶变换。然后用matlab实现单位阶跃函数的傅立叶变换。

傅立叶变换简介

傅立叶变换是一种线性的积分变换,常在将信号在时域(或空域)和频域之间变换时使用,在物理学和工程学中有许多应用。时域中的信号函数f(t)与他在频域中的傅立叶变换F(w)可用如下图的数学表达式表示他们之间的关系。

函数指令简介

在matlab中提供了两种完成傅立叶变换的途径,可以直接调用指令fourier和ifourier进行傅立叶变换。此外用户还可以利用第一步的定义,利用积分指令int进行傅立叶变换。下面是fourier和ifourier指令的调用语法。下图是matlab提供的帮助信息。

Fw=fourier(ft,t,w) %求“时域”函数ft的Fourier变换Fw

ft=ifourier(Fw,w,t) %求“频域”函数Fw的Fourier反变换ft

利用指令求傅立叶变换

这里我们先用heaviside(单位阶跃函数)指令生成了单位阶跃函数,然后用fourier指令进行傅立叶变换。具体指令及结果如下(下图):

syms t w

ut=heaviside(t);

UT=fourier(ut)

求傅立叶反变换进行验算

这一步我们用反傅立叶变换指令ifourier,进行反变换来验证,然后简化表达式。结果如下图:

Ut=ifourier(UT,w,t)

SUt=simple(Ut)

画单位阶跃函数曲线(代码)代码如下:

t=-2:0.01:2;

ut=heaviside(t);

kk=find(t==0);

plot(double(t(kk)),double(ut(kk)),'.r','MarkerSize',30)

hold on

ut(kk)=NaN;

plot(double(t),double(ut),'-r','LineWidth',3)

plot(double([t(kk),t(kk)]),double([ut(kk-1),ut(kk+1)]),'or','MarkerSize',10)

hold off

grid on

axis([-2,2,-0.2,1.2])

xlabel('\fontsize{14}t'),ylabel('\fontsize{14}ut')

title('\fontsize{14}Heaviside(t)')

画单位阶跃函数曲线(图像)下图就是 Heaviside(t) 定义的单位阶跃函数。

如果本经验对你有帮助,记得点有用、收藏、评论哦!欢迎点击右边,分享给好友!