实验3

时间:2022-11-20 22:33:33 作者:壹号 字数:8761字

信号与系统

班级:学号: 姓名:

实验三 连续时间信号的频域分析

一、 实验目的

1.熟悉傅里叶变换的性质 2.熟悉常见信号的傅里叶变换

3.了解傅里叶变换的MATLAB实现方法

二、 实验原理

傅里叶变换是信号分析 的最重要的内容之一。从已知信号f(t)求出相应的频谱函数

F(j?)的数学表示为:

F(j?)?????f(t)e?j?tdt

f(t)的傅里叶变换存在的充分条件是f(t)在无限区间内绝对可积,即f(t)满足下式:

????f(t)dt??

但上式并非傅里叶变换存在的必要条件。在引入广义函数概念之后,使一些不满足绝对可积条件的函数也能进行傅里叶变换。 傅里叶反变换的定义为:f(t)?12?????F(j?)ej?td?。

在这一部分的学习中,大家都体会到了这种数学运算的麻烦。在MATLAB语言中有专门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在MATLAB中实现。在MATLAB中实现傅里叶变换的方法有两种,一种是利用MATLAB中的Symbolic Math Toolbox提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换的数值计算实现法。下面分别介绍这两种实现方法的原理。 1.直接调用专用函数法

①在MATLAB中实现傅里叶变换的函数为:

F=fourier( f ) 对f(t)进行傅里叶变换,其结果为F(w) F=fourier(f,v) 对f(t)进行傅里叶变换,其结果为F(v) F=fourier( f,u,v ) 对f(u)进行傅里叶变换,其结果为F(v) ②傅里叶反变换

f=ifourier( F ) 对F(w)进行傅里叶反变换,其结果为f(x) f=ifourier(F,U) 对F(w)进行傅里叶反变换,其结果为f(u) f=ifourier( F,v,u ) 对F(v)进行傅里叶反变换,其结果为f(u) 由于MATLAB中函数类型非常丰富,要想了解函数的意义和用法,可以用mhelp命令。如在命令窗口键入:mhelp fourier回车,则会得到fourier的意义和用法。 注意: (1)在调用函数fourier( )及ifourier( )之前,要用syms命令对所有需要用到的变量(如t,u,v,w)等进行说明,即要将这些变量说明成符号变量。对fourier( )中的f及ifourier( )中的F也要用符号定义符sym将其说明为符号表达式。

(2)采用fourier( )及fourier( )得到的返回函数,仍然为符号表达式。在对其作图时要用ezplot( )函数,而不能用plot()函数。

(3)fourier( )及fourier( )函数的应用有很多局限性,如果在返回函数中含有δ(ω)等函数,则ezplot( )函数也无法作出图来。另外,在用fourier( )函数对某些信号进行变换时,其返回函数如果包含一些不能直接表达的式子,则此时当然也就无法作图了。这是fourier( )函数的一个局限。另一个局限是在很多场合,尽管原时间信号f(t)是连续的,但却不能表示成符号表达式,此时只能应用下面介绍的数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算法所求的频谱函数只是一种近似值。

例① 求门函数f(t)??(t?1)??(t?1)的傅里叶变换,并画出幅度频谱图

MATLAB程序如下:

syms t w %定义两个符号变量t,w Gt=sym('Heaviside(t+1)-Heaviside(t-1)'); %产生门宽为2的门函数

Fw=fourier(Gt,t,w); %对门函数作傅氏变换求F(jw)

FFw=maple('convert',Fw,'piecewise'); %数据类型转换,转为分段函数,此处可以去掉

FFP=abs(FFw); %求振幅频谱| F(jw)|

ezplot(FFP,[-10*pi 10*pi]);grid; %绘制函数图形,并加网格 axis([-10*pi 10*pi 0 2.2]) %限定坐标轴范围

运行结果:Fw= exp(i*w)*(pi*Dirac(w)-i/w)-exp(-i*w)*(pi*Dirac(w)-i/w)

% Dirac(w)为δ(ω),即傅立叶变换结果中含有奇异函数,故绘图前需作函数类型

转换

FFw= -i*exp(i*w)/w+i*exp(-i*w)/w % FFw为复数

FFP= abs(-i*exp(i*w)/w+i*exp(-i*w)/w) %求FFw的模值

例② 求函数F(j?)?1的傅里叶反变换f(t) 21?? MATLAB程序如下:

…… 此处隐藏1154字 ……

(1) 求出f1(t)??(2t?1)??(2t?1)的频谱函数F1(jω),请将它与上面门宽为2的门函数

f(t)??(t?1)??(t?1)的频谱进行比较,观察两者的特点,说明两者的关系。

MATLAB程序如下:

syms t w %定义两个符号变量t,w Gt=sym('Heaviside(2*t+1)-Heaviside(2*t-1)'); %产生门宽为2的门函数

Fw=fourier(Gt,t,w); %对门函数作傅氏变换求F(jw) FFw=maple('convert',Fw,'piecewise'); %数据类型转换,转为分段函数,此处可以去掉

FFP=abs(FFw); %求振幅频谱| F(jw)| ezplot(FFP,[-10*pi 10*pi]);grid; %绘制函数图形,并加网格 axis([-10*pi 10*pi 0 2.2]); %限定坐标轴范围 Fw= exp(i*w)*(pi*Dirac(w)-i/w)-exp(-i*w)*(pi*Dirac(w)-i/w) ;

% Dirac(w)为δ(ω),即傅立叶变换结果中含有奇异函数,故绘图前需作函数类型转换