资源描述:
《实验三 连续时间信号的频域分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、信号与系统班级:学号:姓名:实验三 连续时间信号的频域分析一、 实验目的1.熟悉傅里叶变换的性质2.熟悉常见信号的傅里叶变换3.了解傅里叶变换的MATLAB实现方法二、 实验原理傅里叶变换是信号分析的最重要的内容之一。从已知信号求出相应的频谱函数的数学表示为:的傅里叶变换存在的充分条件是在无限区间内绝对可积,即满足下式:但上式并非傅里叶变换存在的必要条件。在引入广义函数概念之后,使一些不满足绝对可积条件的函数也能进行傅里叶变换。 傅里叶反变换的定义为:。 在这一部分的学习中,大家都体会到了
2、这种数学运算的麻烦。在MATLAB语言中有专门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在MATLAB中实现。在MATLAB中实现傅里叶变换的方法有两种,一种是利用MATLAB中的SymbolicMathToolbox提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换的数值计算实现法。下面分别介绍这两种实现方法的原理。1.直接调用专用函数法①在MATLAB中实现傅里叶变换的函数为:l F=fourier(f) 对f(t)进行傅里叶变换,其结果为F(w)l
3、 F=fourier(f,v) 对f(t)进行傅里叶变换,其结果为F(v)l F=fourier(f,u,v) 对f(u)进行傅里叶变换,其结果为F(v)②傅里叶反变换l f=ifourier(F) 对F(w)进行傅里叶反变换,其结果为f(x)l f=ifourier(F,U) 对F(w)进行傅里叶反变换,其结果为f(u)l f=ifourier(F,v,u) 对F(v)进行傅里叶反变换,其结果为f(u) 由于MATLAB中函
4、数类型非常丰富,要想了解函数的意义和用法,可以用mhelp命令。如在命令窗口键入:mhelpfourier回车,则会得到fourier的意义和用法。 注意:(1)在调用函数fourier()及ifourier()之前,要用syms命令对所有需要用到的变量(如t,u,v,w)等进行说明,即要将这些变量说明成符号变量。对fourier()中的f及ifourier()中的F也要用符号定义符sym将其说明为符号表达式。(2)采用fourier()及fourier()得到的返回函数,仍然为符号表达式。在对其作图时要用
5、ezplot()函数,而不能用plot()函数。(3)fourier()及fourier()函数的应用有很多局限性,如果在返回函数中含有δ(ω)等函数,则ezplot()函数也无法作出图来。另外,在用fourier()函数对某些信号进行变换时,其返回函数如果包含一些不能直接表达的式子,则此时当然也就无法作图了。这是fourier()函数的一个局限。另一个局限是在很多场合,尽管原时间信号f(t)是连续的,但却不能表示成符号表达式,此时只能应用下面介绍的数值计算法来进行傅氏变换了,当然,大多数情况下,用数值计算
6、法所求的频谱函数只是一种近似值。例①求门函数的傅里叶变换,并画出幅度频谱图MATLAB程序如下:symstw %定义两个符号变量t,wGt=sym('Heaviside(t+1)-Heaviside(t-1)'); %产生门宽为2的门函数Fw=fourier(Gt,t,w); %对门函数作傅氏变换求F(jw)FFw=maple('convert',Fw,'piecewise'); %数据类型转
7、换,转为分段函数,此处可以去掉FFP=abs(FFw); %求振幅频谱
8、F(jw)
9、ezplot(FFP,[-10*pi10*pi]);grid; %绘制函数图形,并加网格axis([-10*pi10*pi02.2]) %限定坐标轴范围运行结果:Fw=exp(i*w)*(pi*Dirac(w)-i/w)-exp(-i*w)*(pi*Dirac(w)-i/w)%Dirac(w)为δ(ω),即傅立叶变换结果中含有奇异
10、函数,故绘图前需作函数类型转换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(t) MATLAB程序如下:symstw %定义两个符号变量t,wFw=sym('1/(1+w^2)');