当前位置:文档之家› 实验3 傅里叶变换及其性质

实验3 傅里叶变换及其性质

实验3 傅里叶变换及其性质1. 实验目的学会运用MATLAB 求连续时间信号的傅里叶(Fourier )变换;学会运用MATLAB 求连续时间信号的频谱图;学会运用MATLAB 分析连续时间信号的傅里叶变换的性质。

2. 实验原理及实例分析傅里叶变换的实现信号()f t 的傅里叶变换定义为: ()[()]()j t F F f t f t e dt ωω∞--∞==⎰, 傅里叶反变换定义为:11()[()]()2j t f t F F f e d ωωωωπ∞--∞==⎰。

信号的傅里叶变换主要包括MATLAB 符号运算和MATLAB 数值分析两种方 法,下面分别加以探讨。

同时,学习连续时间信号的频谱图。

MATLAB 符号运算求解法MATLAB 符号数学工具箱提供了直接求解傅里叶变换与傅里叶反变换的函 数fourier( )和ifourier( )。

Fourier 变换的语句格式分为三种。

(1) F=fourier(f):它是符号函数f 的Fourier 变换,默认返回是关于ω的函数。

(2) F=fourier(f,v):它返回函数F 是关于符号对象v 的函数,而不是默认的ω,即()()jvt F v f t e dt ∞--∞=⎰。

(3) F=fourier(f,u,v):是对关于u 的函数f 进行变换,返回函数F 是关于v 的函数,即()()jvu F v f t e du ∞--∞=⎰。

傅里叶反变换的语句格式也分为三种。

(1) f=ifourier(F):它是符号函数F 的Fourier 反变换,独立变量默认为ω,默认返回是关于x 的函数。

(2) f=ifourier(F,u):它返回函数f 是u 的函数,而不是默认的x 。

(3) f=ifourier(F,u,v):是对关于v 的函数F 进行反变换,返回关于u 的函数f 。

值得注意的是,函数fourier( )和ifourier( )都是接受由sym 函数所定义的符号 变量或者符号表达式。

例1 用MATLAB 符号运算求解法求单边指数信号2()()t f t e u t -=的傅里叶变换。

解:MATLAB 源程序为:ft = sym('exp(-2*t)*Heaviside(t)');Fw = fourier(ft)运行结果为:Fw = 1/(2+i*w)例2 用MATLAB 符号运算法求21()1F ωω=+的傅里叶逆变换()f t 解:MATLAB 源程序为:ft = sym('exp(-2*t)*Heaviside(t)');Fw = fourier(ft)运行结果为:ft = 1/2*exp(-t)*heaviside(t)+1/2*exp(t)*heaviside(-t)连续时间信号的频谱图信号()f t 的傅里叶变换()F ω表达了信号在ω处的频谱密度分布情况,这就 是信号的傅里叶变换的物理含义。

()F ω一般是复函数,可以表示成 ()()()j F F e ϕωωω=。

()~F ωω与()~ϕωω曲线分别称为非周期信号的幅度频谱与相位频谱,它们都是频率ω的连续函数,在形状上与相应的周期信号频谱包络线相同。

非周期信号的频谱有两个特点,密度谱和连续谱。

要注意到,采用fourier()和ifourier() 得到的返回函数,仍然是符号表达式。

若需对返回函数作图,则需应用ezplot()绘图命令。

例3 用MATLAB 命令绘出例1中单边指数信号的幅度谱和相位谱。

解:MATLAB 源程序为ft = sym('exp(-2*t)*Heaviside(t)');Fw = fourier(ft);subplot(211)ezplot(abs(Fw));grid ontitle('幅度谱')phase = atan(imag(Fw)/real(Fw));subplot(212)ezplot(phase);grid ontitle('相位谱')图1 单边指数信号的幅度谱和相位谱MATLAB 数值计算求解法fourier( )和ifourier( )函数的一个局限性是,如果返回函数中有诸如单位冲激函数()t δ等项,则用ezplot()函数无法作图。

对某些信号求变换时,其返回函数可能包含一些不能直接用符号表达的式子,因此不能对返回函数作图。

此外,在很多实际情况中,尽管信号()f t 是连续的,但经过抽样所获得的信号则是多组离散的数值量()f n ,因此无法表示成符号表达式,此时不能应用fourier()函数对f(n)进行处理,而只能用数值计算方法来近似求解。

从傅里叶变换定义出发有0()()lim ()j t j n F f t e dt f n e ωωω∞∞-∞∆→-∞--∆==∆∆∑⎰, 当∆足够小时,上式的近似情况可以满足实际需要。

对于时限信号()f t ,或者在所研究的时间范围内让()f t 衰减到足够小,从而近似地看成时限信号,则对于上式可以考虑有限n 的取值。

假设是因果信号,则有10()(),01M n j n F f n e n M ωω-=-∆=∆∆≤≤-∑傅里叶变换后在ω域用MATLAB 进行求解,对上式的角频率ω进行离散化。

假设离散化后得到N 个样值,即 2,0k k k N N πω=≤≤∆-1, 因此有 10()(),01M n k j n F k f n ek N ω-=-∆=∆∆≤≤-∑。

采用行向量,用矩阵表示为1*1**[()][()][]k j n T T T N M M N F k f n eω-∆=∆∆。

其要点是要正确生成()f t 的M 个样本向量[()]f n ∆与向量[]j n k e ω-∆。

当∆足够小时,上式的内积运算(即相乘求和运算)结果即为所求的连续时间信号傅里叶变换的数值解。

例4 用MATLAB 数值计算法求三角脉冲幅度谱。

三角脉冲的数学表达式如下:12,402()12,042t t f t t t ⎧+-≤≤⎪⎪=⎨⎪-+≤≤⎪⎩ 解:MATLAB 源程序为:dt = 0.01;t = -4:dt:4;ft = (t+4 )/2.*uCT(t+4)-t.*uCT(t)+(t-4)/2.*uCT(t-4);N = 2000;k = -N:N;W = 2*pi*k/((2*N+1)*dt);F = dt * ft*exp(-j*t'*W);plot(W,F), grid onaxis([-pi pi -1 9]);xlabel('W'), ylabel('F(W)')title('amplitude spectrum');图2 三角脉冲信号的幅度谱傅里叶变换的性质傅里叶变换的性质包含了丰富的物理意义,并且揭示了信号的时域和频域的关系。

熟悉这些性质成为信号分析研究工作中最重要的内容之一。

尺度变换特性傅里叶变换的尺度变换特性为:若()()f t Fω↔,则有1()()f at Fa aω↔,其中,a为非零实常数。

例5设矩形信号()(1/2)(1/2)f t u t u t=+--,用MATLAB命令绘出该信号及其频谱图。

当信号()f t的时域波形扩展为原来的2倍,或压缩为原来的1/2时,则分别得到(/2)f t和(2)f t,用MATLAB命令绘出(/2)f t和(2)f t的频谱图,并加以分析比较。

解:采用符号运算法求解,并分析结果。

MATLAB源程序为:ft1 = sym('Heaviside(t+1/2)-Heaviside(t-1/2)');subplot(321);ezplot(ft1,[-1.5 1.5]),grid onFw1 = simplify(fourier(ft1));subplot(322);ezplot(abs(Fw1),[-10*pi 10*pi]), grid onaxis([-10*pi 10*pi -0.2 2.2]);ft2 = sym('Heaviside(t/2+1/2)-Heaviside(t/2-1/2)');subplot(323);ezplot(ft2,[-1.5 1.5]), grid onFw2 = simplify(fourier(ft2));subplot(324);ezplot(abs(Fw2),[-10*pi 10*pi]),grid onaxis([-10*pi 10*pi -0.2 2.2]);ft3 = sym('Heaviside(2*t+1/2)-Heaviside(2*t-1/2)');subplot(325);ezplot(ft3,[-1.5 1.5]), grid onFw3 = simplify(fourier(ft3));subplot(326);ezplot(abs(Fw3),[-10*pi 10*pi]),grid onaxis([-10*pi 10*pi -0.2 2.2]);频移特性傅里叶变换的频移特性为:若()()f t F ω↔,则有00()()j t f t e F ωωω↔-。

频 移技术在通信系统中得到广泛应用,诸如调幅变频等过程都是在频谱搬移的基础上完成的。

频移的实现原理是将信号()f t 乘以载波信号0cos t ω或0sin t ω,从而完成频谱的搬移,即0000001()cos [()()]2()sin [()()]2f t t F F j f t t F F ωωωωωωωωωω↔++-↔+-- 例6 阅读并运行如下程序段,并观察信号调制前后的频谱。

ft1 = sym('4*(Heaviside(t+1/4)-Heaviside(t-1/4))');Fw1 = simplify(fourier(ft1));subplot(121);ezplot(abs(Fw1),[-24*pi 24*pi]),grid onaxis([-24*pi 24*pi -0.2 2.2]);title('矩形信号频谱');ft2 = sym('4*cos(2*pi*6*t)*(Heaviside(t+1/4)-Heaviside(t-1/4))');Fw2 = simplify(fourier(ft2));subplot(122);ezplot(abs(Fw2),[-24*pi 24*pi]),grid onaxis([-24*pi 24*pi -0.2 2.2]);title('矩形调制信号频谱');3. 实验内容试用MATLAB 命令求下列信号的傅里叶变换,并绘出其幅度谱和相位谱。

相关主题