matlab实现信号的傅立叶变换一、设计目的ﻩ1.熟悉和掌握matlab的基本使用方法,能够熟练运用matlab。
2.巩固信号与系统中的傅立叶变换内容,加深对这部分内容的理解。
二、设计任务1.掌握matlab的基本操作。
2.利用matlab实现典型非周期信号的傅立叶变换,画出信号的时域图和频域图。
ﻩ3.利用matlab实现傅立叶变换的基本性质。
三、设计原理1.matlab简介MATLAB是MathWorks公司推出的一套高性能的数值计算和可视化软件,经过多年大量的、坚持不懈的改进,现在MATLAB已经更新至7.x版。
MATLAB集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。
在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式,其结果便以人们十分熟悉的数值或图形方式显示出来。
MATLAB可用来解决实际的工程和数学问题,其典型应用有:通用的数值计算,算法设计,各种学科(如自动控制、数字信号处理、统计信号处理)等领域的专门问题求解。
MATLAB语言易学易用,不要求用户有高深的数学和程序语言知识,不需要用户深刻了解算法及编程技巧。
MATLAB既是一种编程环境,又是一种程序设计语言。
这种语言与C、FORTRAN等语言一样,有其内定的规则,但MATLAB的规则更接近数学表示。
使用更为简便,可使用户大大节约设计时间,提高设计质量。
2.matlab2013b基本界面介绍matlab2013b主界面窗口基本分为五个部分:1)主菜单界面在此界面我们只需要用到新建命令文件和对程序进行间断调试的功能2)文件查看窗口,双击可快速打开文件3)写命令窗口及提示窗口在这个窗口可写入参数、写入公式、显示错误、显示帮助等功能,例如对a赋值、写入公式f=a*a、显示帮助:公式fft的使用方法4)历史命令查看窗口在该窗口可查看历史输入命令,双击历史命令可再次输入到命令窗口5)数值查看窗口在该窗口可查看所有参数详细数值3.理论原理:傅里叶变换的基本思想首先由法国学者傅里叶系统提出,所以以其名字来命名以示纪念。
傅里叶变换(FT):连续时间, 连续频率的傅里叶变换。
非周期连续时间信号通过连续付里叶变换(FT )得到非周期连续频谱密度函数。
在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。
对于连续时间信号,任何周期信号只要满足狄里赫利条件就可以分解成许多指数分量之和或直流分量与正弦、余弦分量之和,而非周期信号不能直接用傅立叶级数表示,但可以利用傅立叶分析方法导出非周期信号的傅立叶变换。
以周期矩形信号为例,当周期T无限增大时,则周期信号就转化为非周期性的单脉冲信号。
所以可以把非周期信号的周期T 看成是周期T 趋于无限大的周期信号。
当周期信号的T 增大时,谱线的间隔Ω=2πT ⁄变小,若周期T 趋于无穷小,这时离散频谱就变成了连续频谱,而各分量的振幅将趋于无穷小,故引入“频谱密度函数”来表示非周期信号即通过傅里叶变换来分析非周期信号的频谱]。
信号f(t)的傅里叶变换定义为F (jω)=∫f(t)e −jωt dt ∞−∞ 如果连续时间信号可用符号f(t)表达式表示,则可利用MATLB 的four ier 函数直接求出其博里叶变换。
该函数常用的调用格式有三种。
①F =fourier(f) ②F =fourier(f,v) ③F =fourier(f,,u,v)非周期信号f(t)的傅里叶变换F(jω)的定义公式如下式所示,F(jω)通常是一个复数,可以表示为F (jω)=|F(jω)|e jφ(ω)(2-1)相应的博里叶逆变换可表示为F(jω)=12π∫|F(jω)|e j[ωt+φ(ω)]∞−∞dω(2-2)上式表明:①非周期信号可以看作是由无穷多个不同频率的虚指数信号组成,且频率是连续的,即包括了从负无穷到正无穷的一切频率分量。
②傅里叶变换F(jω)的模 |F(jω)|反映了信号各颇率分量的幅度随频率ω的变化情况.称为信号幅度频谱。
③傅里叶变换F(jω)的辐角φ(ω)反映了信号各频率分量的相位随频率ω的变化情况,称为信号相位领谱。
因此,通过博里叶变换,就可以得到非周期信号的幅度频语和相位频谱,从而分析出信号的频率特性。
四、设计过程1.典型非周期信号的傅立叶变换1).单边指数信号程序:symstv w x ;x=0.5*exp(-t)*sym('heaviside(t)');F=fourier(x);subplot(211);ezplot(x);subplot(212);ezplot(abs(F));axis([-6 60 0.7]);结果:图1-1:单边指数信号的时域与频域波形2).双边指数函数:程序:symstvwx ;x=exp(-t)*sym('heaviside(t)')+exp(t)*sym('heaviside(-t)');F=fourier(x);subplot(211);ezplot(x);subplot(212);ezplot(abs(F)); axis([-66 0 2]);结果:图1-2:双边指数函数的时域与频域波形3).符号函数程序:t=-1:0.01:1;%时域波形x=heaviside(t)-heaviside(-t);subplot(211);plot(t,x);xlabel('t');axis([-1 1 -1.5 1.5]);ﻩsyms t;%频域波形x=sym('heaviside(t)')-sym('heaviside(-t)');F=fourier(x);subplot(212);ezplot(abs(F));axis([-4 4 0 30]);结果:图1-3:符号函数的时域与频域波形4).矩形脉冲函数程序:t=-2:0.01:2;x=heav iside(t+1)-h eavisid e(t -1);subplot(211); plot(t ,x); xlabel('t');a xi s([-2 2 -0.5 1.5]);sy ms t ;x=sym ('heaviside(t+1)')-s ym('heavis id e(t-1)'); F=fourier(x); su bplot(212); ezp lo t(F); axis([-8 8 -1 3]);结果:图1-4:矩形脉冲的时域和频域波形5).钟形脉冲信号(高斯脉冲)程序:syms tv wx ;x=exp(-t^2);F=fourier(x); subplot(211);ezplot(x);subplot(212);ezplot(abs(F)); axis([-66 02]);结果:图1-5:钟形函数(高斯脉冲)的时域和频域波形6).抽样函数:程序:syms t;r=0.01;j=sqrt(-1);t=-15:r:15;f=sin(t)./t;f=sin(2*t)./(2*t);N=500;W=5*pi*1;k=-N:N;w=k*W/N;F=r*sinc(t/pi)*exp(-j*t'*w);F1=r*sinc(2*t/pi)*exp(-j*t'*w);subplot(211);plot(t,f,'b-');xlabel('t'); ylabel('f(t)'); subplot(212); plot(w,F,'b-'); axis([-4 4 -1 4]);xlabel('w');ylabel('F(w)');结果:图1-6:抽样函数的时域和频域波形2.傅立叶变换的基本性质1).对称性博里叶变换的对称性可以表示为:若f(t)⟷F(jω),则F(t)⟷2πf(−ω)(3-1) 上式表明,如果函数f(t)的频谱函数为F(jω),那么时间函数F(t)的频谱函数是2πf(−ω),这称为傅里叶变换的对称性。
例:设f(t)=Sa(t),已信号f(t)的傅立叶变换为F(jω)=πg2(ω)=π[ε(ω+1)−ε(ω−1)]用MATLAB求f1(t)=πg2(t)的傅立叶变换F1(jω),并验证对称性。
程序:symstr=0.02;j=sqrt(-1);t=-20:r:20;f=sin(t)./t;f1=pi*(heaviside(t+1)-heaviside(t-1));N=500;W=5*pi*1;k=-N:N;w=k*W/N;F=r*sinc(t/pi)*exp(-j*t'*w);F1=r*f1*exp(-j*t'*w);subplot(221);plot(t,f);xlabel('t');ylabel('f(t)'); subplot(222);plot(w,F);axis([-2 2-1 4]);xlabel('w');ylabel('F(w)');subplot(223);plot(t,f1);axis([-2 2 -1 4]);xlabel('t');ylabel('f1(t)'); subplot(224);plot(w,F1);axis([-25 25 -3 7]);xlabel('w');ylabel('F1(w)');结果:图2-1:傅立叶变换的对称性2).尺度变换性质傅里叶变换的尺度变换性质可以表示为:若f(t)⟷F(ω),则对于实常数a≠0有f(at)⟷1|a|F(ωa)(3-2)上式表明,信号时域宽度与频率带宽成反比。
信号在时域中压缩(a>1)等效于带宽在频域中的扩展,而时域的展宽等效于在频域中带宽的压缩。
例2-5:设f(t)=ε(t+1)−ε(t−1),用MATLAB求y(t)=ε(2t+1)−ε(2t−1)的频谱Y(ω),并与f(t)的频谱F(ω)进行比较。
由信号分析可知,f(t)信号的频谱为F(jω)=2Sa(ω),其第一个过零点频率为π,一般将此频率认为信号f(t)的带宽。
考虑到F(jω)的形状,将精度提高到该值的50倍,即ω0=50π,据此确定取样间隔: τ<12f0=12×ω02π=0.02程序:R=0.02;t=-2:R:2;f=heaviside(t+1)-heaviside (t-1);W1=2*pi*5;N=500;k=0:N;W=k*W1/N;F=f*exp(-j*t'*W)*R;F=real(F);W=[-fliplr(W),W(2:501)];F=[fliplr(F),F(2:501)];subplot(2,2,1);plot(t,f); axis([-2 2 -0.5 1.5]);xlabel('t');ylabel('f(t)');title('f(t)=u(t+1)-u(t-1)');subplot(2,2,2);plot(W,F);axis([-40 40 -0.5 2]);xlabel('w');ylabel('F(w)');title('f(t)的傅立叶变换F(w)');R=0.02;t=-2:R:2;f=heaviside(2*t+1)-heaviside(2*t-1);W1=2*pi*5;N=500;k=0:N;W=k*W1/N;F=f*exp(-j*t'*W)*R;F=real(F);W=[-fliplr(W),W(2:501)];F=[fliplr(F),F(2:501)];subplot(2,2,3);plot(t,f);axis([-2 2 -0.5 1.5]);xlabel('t');ylabel('y(t)'); title('y(t)=u(2t+1)-u(2t-1)');subplot(2,2,4);plot(W,F);axis([-4040-0.5 2]);xlabel('w');ylabel('Y(w)');title('y(t)的傅立叶变换Y(w)');结果:图2-2:傅立叶变换的尺度变换性质3).时移性质傅里叶变换的时移特性可以表示为:设f(t)⟷F(ω),则f(t±t0)⟷e±jωt0∙F(jω)(3-3)上式表明,信号f(t)在时域中沿时间轴右移或左移t0等效于在频域中其频谱乘因子e±jωt0,即信号时移后,幅度频谱不变,只是相位频谱发生了线性变换,产生了附加变化(±ωt0)。