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

1.傅立叶变换简介

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

blob.png

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

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

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

blob.png

3.利用指令求傅立叶变换,这里我们先用heaviside(单位阶跃函数)指令生成了单位阶跃函数,然后用fourier指令进行傅立叶

变换。具体指令及结果如下(下图):

syms t w

ut=heaviside(t); 

UT=fourier(ut)  

UT =

pi*dirac(-w) - i/w 

blob.png

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

Ut=ifourier(UT,w,t)

SUt=simple(Ut)     

Ut =

(pi + pi*(2*heaviside(t) - 1))/(2*pi)

SUt =

heaviside(t)  

blob.png

5.%画单位阶跃函数曲线(代码)

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)') 

blob.png

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

blob.png