信息工程学院实验报告课程名称:信号与系统实验项目名称:实验3 傅里叶变换及其性质实验时间:2013-11-29班级: 姓名: 学号:一、实验目的:1、学会运用MATLAB 求连续时间信号的傅里叶(Fourier )变换;2、学会运用MATLAB 求连续时间信号的频谱图;3、学会运用MATLAB 分析连续时间信号的傅里叶变换的性质。
二、实验环境:1、硬件:在windows 7 操作环境下;2、软件:Matlab 版本7.1三、实验原理:3.1傅里叶变换的实现信号()f t 的傅里叶变换定义为: ()[()]()j t F F f t f t e dt ωω∞--∞==⎰,傅里叶反变换定义为:11()[()]()2j t f t F F f e d ωωωωπ∞--∞==⎰。
信号的傅里叶变换主要包括MATLAB 符号运算和MATLAB 数值分析两种方法,下面分别加以探讨。
同时,学习连续时间信号的频谱图。
3.1.1 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 函数所定义的符号变量或者符号表达式。
3.1.2连续时间信号的频谱图信号()f t 的傅里叶变换()F ω表达了信号在ω处的频谱密度分布情况,这就是信号的傅里叶变换的物理含义。
()F ω一般是复函数,可以表示成()()()j F F eϕωωω=。
()~F ωω与()~ϕωω曲线分别称为非周期信号的幅度频谱与相位频谱,它们都是频率ω的连续函数,在形状上与相应的周期信号频谱包络线相同。
非周期信号的频谱有两个特点,密度谱和连续谱。
要注意到,采用fourier()和ifourier() 得到的返回函数,仍然是符号表达式。
若需对返回函数作图,则需应用ezplot()绘图命令。
3.1.3 MATLAB 数值计算求解法fourier( )和ifourier( )函数的一个局限性是,如果返回函数中有诸如单位冲激函数()t δ等项,则用ezplot()函数无法作图。
对某些信号求变换时,其返回函数可能包含一些不能直接用符号表达的式子,因此不能对返回函数作图。
此外,在很多实际情况中,尽管信号()f t 是连续的,但经过抽样所获得的信号则是多组离散的数值量()f n ,因此无法表示成符号表达式,此时不能应用fourier()函数对f(n)进行处理,而只能用数值计算方法来近似求解。
从傅里叶变换定义出发有0()()lim ()j tj n F f t edt f n e ωωω∞∞-∞∆→-∞--∆==∆∆∑⎰,当∆足够小时,上式的近似情况可以满足实际需要。
对于时限信号()f t ,或者在所研究的时间范围内让()f t 衰减到足够小,从而近似地看成时限信号,则对于上式可以考虑有限n 的取值。
假设是因果信号,则有1()(),01M n j n F f n e n M ωω-=-∆=∆∆≤≤-∑傅里叶变换后在ω域用MATLAB 进行求解,对上式的角频率ω进行离散化。
假设离散化后得到N 个样值,即 2,0k k k N N πω=≤≤∆-1,因此有 1()(),01M n k j n F k f n ek N ω-=-∆=∆∆≤≤-∑。
采用行向量,用矩阵表示为1*1**[()][()][]k j n T TT N M M N F k f n e ω-∆=∆∆。
其要点是要正确生成()f t 的M 个样本向量[()]f n ∆与向量[]j n k eω-∆。
当∆足够小时,上式的内积运算(即相乘求和运算)结果即为所求的连续时间信号傅里叶变换的数值解。
3.2傅里叶变换的性质傅里叶变换的性质包含了丰富的物理意义,并且揭示了信号的时域和频域的关系。
熟悉这些性质成为信号分析研究工作中最重要的内容之一。
3.2.1 尺度变换特性傅里叶变换的尺度变换特性为:若()()f t F ω↔,则有1()()f at F a aω↔,其中,a 为非零实常数。
3.2.2频移特性傅里叶变换的频移特性为:若()()f t F ω↔,则有00()()j tf t eF ωωω↔-。
频移技术在通信系统中得到广泛应用,诸如调幅变频等过程都是在频谱搬移的基础上完成的。
频移的实现原理是将信号()f t 乘以载波信号0cos t ω或0sin t ω,从而完成频谱的搬移,即0000001()cos [()()]2()sin [()()]2f t t F F jf t t F F ωωωωωωωωωω↔++-↔+--四、实验内容及结果分析:4.1试用MATLAB 命令求下列信号的傅里叶变换,并绘出其幅度谱和相位谱。
(1)1sin 2(1)()(1)t f t t ππ-=- (2)22sin()()t f t t ππ⎡⎤=⎢⎥⎣⎦第一题的实验程序代码:clc;clear; Ft=sym('sin(2*pi*(t-1))/(pi*(t-1))'); Fw = fourier(ft); subplot(211)ezplot(abs(Fw));grid ontitle('幅度谱');phase = atan(imag(Fw)/real(Fw)); subplot(212)ezplot(phase);grid ontitle('相位谱');第二题的实验程序代码:clc;clear;ft = sym('(sin(pi*t)/(pi*t))^2'); Fw = fourier(ft); subplot(211)ezplot(abs(Fw));grid ontitle('幅度谱');phase = atan(imag(Fw)/real(Fw)); subplot(212)ezplot(phase);grid on title('相位谱');第一题实验结果如图1所示,第二题实验结果如图2所示。
图1图24.2试用MATLAB 命令求下列信号的傅里叶反变换,并绘出其时域信号图。
(1)1104()35F j j ωωω=-++ (2)224()Feωω-= 第一题的实验程序代码:clc;clear; t=sym('t');Fw = sym('10/(3+i*w)-4/(5+i*w)'); ft = ifourier(Fw); ezplot(ft),grid on 第二题的实验程序代码:clc;clear; t=sym('t');Fw = sym('exp(-4*(w^2))'); ft = ifourier(Fw); ezplot(ft),grid on第一题实验结果如图3所示,第二题实验结果如图4所示。
图3 图44.3试用MATLAB 数值计算方法求门信号的傅里叶变换,并画出其频谱图。
门信号即1,/2()0,/2tg ttτττ⎧≤⎪=⎨>⎪⎩,其中1τ=。
实验程序代码:clc;clear;ft1 = sym('Heaviside(t+1/2)-Heaviside(t-1/ 2)');subplot(121);ezplot(ft1,[-1.5 1.5]),grid onFw1 = simplify(fourier(ft1));subplot(122);ezplot(abs(Fw1),[-10*pi 10*pi]), grid onaxis([-10*pi 10*pi -0.2 1.2]);实验结果如图5所示:图54.4已知两个门信号的卷积为三角波信号,试用MATLAB命令验证傅里叶变换的时域卷积定理。
两个门信号卷积成为三角波信号的实验程序代码:clc;clear;dt = 0.01; t = -1:dt:2.5;f1 = uCT(t+1/2)- uCT(t-1/2); f2 = uCT(t+1/2)- uCT(t-1/2);f = conv(f1,f2)*dt;n =length(f);tt = (0:n-1)*dt-2; subplot(211), plot(t,f1),grid on; axis([-1, 1, -0.2,1.2]);title('f1(t)'); xlabel('t'); subplot(212), plot(tt,f),grid on; axis([-2, 2, -0.2,1.2]);title('f(t)=f1(t)*f2(t)');xlabel('t');两个门信号卷积成为三角波信号的实验结果如图6所示:图6三角波信号傅里叶变换的实验程序代码:clc;clear;dt = 0.01;t = -4:dt:4;ft = (t+1).*uCT(t+1)-2*t.*uCT(t)+(t-1).*u CT(t-1);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([-10*pi 10*pi -0.2 1.2]);xlabel('W'), ylabel('F(W)')title('f1(t)*f2(t)的频谱图');ft1和ft2分别傅里叶变换然后再相乘的代码:clc;clear;ft1 = sym('Heaviside(t+1/2)-Heaviside(t-1/ 2)');Fw1 = fourier(ft1);ft2 = sym('Heaviside(t+1/2)-Heaviside(t-1/ 2)');Fw2 = fourier(ft2);Fw=Fw1.*Fw2;ezplot(Fw,[-10*pi 10*pi]);grid onaxis([-10*pi 10*pi -0.2 1.2]);三角波信号傅里叶变换的实验结果如图7所示,ft1和ft2分别傅里叶变换然后再相乘的实验结果如图8所示。