连续非周期信号的傅立叶变换及其MATLAB实现_第1页
连续非周期信号的傅立叶变换及其MATLAB实现_第2页
连续非周期信号的傅立叶变换及其MATLAB实现_第3页
连续非周期信号的傅立叶变换及其MATLAB实现_第4页
连续非周期信号的傅立叶变换及其MATLAB实现_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、连续非周期信号的傅立叶变换及其MATLAB实现连续非周期信号的傅立叶变换及其MATLAB实现摘 要MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值处理能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。本次课程设计的内容是利用MATLAB的图形处理功能、符号运算功能和数值计算功能,实现连续非周期信号的频域分析的MATLAB仿真。其中包括用MATLAB实现常见信号的时域波形和频域频谱的分析和实现信号傅立叶变换性质的仿真波形,通过程序设计和仿真测试,达到设计要求。关键词 MATLAB 傅里叶变换 仿真 波形目 录摘 要1 MATLAB

2、简介11.1 MATLAB软件介绍11.2 MATLAB语言特点11.3 MATLAB的主要功能22 连续非周期信号的傅立叶变换及其原理32.1 非周期信号的傅里叶变换32.2 常见信号的时域波形和频域频谱的分析62.2.1 符号函数62.2.2 单位阶跃信号72.2.3 单边指数信号时域82.2.4 余弦信号102.2.5 矩形脉冲信号122.2.6 抽样函数信号142.2.7 三角形脉冲信号153 连续非周期信号的傅立叶变换的性质仿真173.1 对称性173.2 尺度变换183.3 时移特性213.4 频移特性243.5 时域卷积定理263.6 傅里叶变换的时域微分特性28致 谢31参考文

3、献321 MATLAB简介1.1 MATLAB软件介绍MATLAB是MathWorks公司推出 的一套高性能的数值计算和可视化软件,经过多年大量的、坚持不懈的改进,现在MATLAB已经更新至7.x版。MATLAB集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式,其结果便以人们十分熟悉的数值或图形方式显示出来。 MATLAB的含义是矩阵实验室(Matrix Laboratory),最初主要用于方便矩阵的存取,其基本元素是无需定义维数的矩阵。经过十几年的完善和扩充,现在已发展成为线性代数课程的标准工具

4、,也成为其它许多领域课程的使用工具。在工业环境中,MATLAB可用来解决实际的工程和数学问题,其典型应用有:通用的数值计算,算法设计,各种学科(如自动控制、数字信号处理、统计信号处理)等领域的专门问题求解。MATLAB语言易学易用,不要求用户有高深的数学和程序语言知识,不需要用户深刻了解算法及编程技巧。MATLAB既是一种编程环境,又是一种程序设计语言。这种语言与C、FORTRAN等语言一样,有其内定的规则,但MATLAB的规则更接近数学表示。使用更为简便,可使用户大大节约设计时间,提高设计质量。1.2 MATLAB语言特点 MATLAB语言有一下特点: (1)语言简洁紧凑,使用方便灵活,库函

5、数极其丰富。 (2)符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。 (3)既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。 (4)限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。 (5)可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。 (6)图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB具有较强的编辑图形界面的能力。 (7)

6、缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。 (8)强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科,而学科性工具箱是专业性比较强的。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。 (9)

7、序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。 1.3 MATLAB的主要功能见过多年的完善和发展,MATLAB除了原有的数值计算功能外,还具备了越来越多的其他功能:(1) 数值计算功能Matlab具有出色的数值计算能力,它的计算速度快,精度高,收敛性好,函数库功能强大,这是使它优于其他数值计算软件的决定因素之一。(2) 符号计算功能在解决数学问题的过程中,用户往往要进行大量的符号计算和推导,为了增强MATLAB的符号计算功能,1993年Mathwor

8、ks公司向加拿大滑铁卢大学购买了具有强大符号计算能力的数学软件Maple的使用权,并以Maple的内核作为符号计算的引擎。(3) 数据分析和可视化功能在科学计算中,科学技术人员经常会面对大量的原始数据而无从下手。但如果能将这些数据以图形的形式显示出来,则往往能揭示其本质的内在关系,正是基于这种考虑,MATLAB实现了强大的数据分析和可视化功能。(4) Simnlink动态仿真功能Simnlink是MATLAB为模拟动态系统而提供的一个面向用户的交互式程序,它采用鼠标驱动方式,允许用户在屏幕上绘制框图,模拟系统并能动态地控制该系统。它还提供了两个应用程序扩展集,分别是Simnlink EXTEN

9、SIONS和BLOCKSETS。2 连续非周期信号的傅立叶变换及其原理2.1 非周期信号的傅里叶变换傅里叶变换的基本思想首先由法国学者傅里叶系统提出,所以以其名字来命名以示纪念。傅里叶变换(FT):连续时间, 连续频率的傅里叶变换。非周期连续时间信号通过连续付里叶变换(FT)得到非周期连续频谱密度函数。从现代数学的眼光来看,傅里叶变换是一种特殊的积分变换。它能将满足一定条件的某个函数表示成正弦基函数的线性组合或者积分。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。 对于连续时间信号,Fourier 级数的理论告诉我们:任何周期信号只要满足狄里赫利条件就可

10、以分解成许多指数分量之和(指数 Fourier 级数)或直流分量与正弦、余弦分量之和,而非周期信号不能直接用傅立叶级数表示,但可以利用傅立叶分析方法导出非周期信号的傅立叶变换。以周期矩形信号为例,当周期T无限增大时,则周期信号就转化为非周期性的单脉冲信号。所以可以把非周期信号的周期T看成是周期T趋于无限大的周期信号。当周期信号的T增大时,谱线的间隔变小,若周期T趋于无穷小,这时离散频谱就变成了连续频谱,而各分量的振幅将趋于无穷小,故引入“频谱密度函数”来表示非周期信号即通过傅里叶变换来分析非周期信号的频谱。信号的傅里叶变换定义为如果连续时间信号可用符号表达式表示,则可利用MATLAB的SymB

11、olic Math Toolbox提供的fourier函数直接求出其博里叶变换。该函数常用的调用格式有三种。非周期信号的傅里叶变换的定义公式如下式所示,通常是一个复数,可以表示为 (2-1)相应的博里叶逆变换可表示为 (2-2)上式表明: 非周期信号可以看作是由无穷多个不同频率的虚指数信号组成,且频率是连续的,即包括了从负无穷到正无穷的一切频率分量。 傅里叶变换的模|反映了信号各颇率分量的幅度随频率的变化情况称为信号幅度频谱。 傅里叶变换的辐角反映了信号各频率分量的相位随频率的变化情况,称为信号相位领谱。 因此,通过博里叶变换,就可以得到非周期信号的幅度频语和相位频谱,从而分析出信号的频率特性

12、。下面以单边指数信号为例,介绍利用MATLAB求非周期信号博里叶变换,并绘制出幅度频谱和相位频谱的实现方法和过程。单边指数信号的表达式为fx=e-at, &t00, &t0其中a为正实数。对单边指数信号求博里叶变换为 (2-3)这是一个复函数,可以分为模和相角两部分,即 (2-4)可得幅度频谱和相位频谱分别为 (2-5) (2-6)2.2 常见信号的时域波形和频域频谱的分析2.2.1 符号函数ut=0, t01, t0t=-1:0.0001:1;x=heaviside(t)-heaviside(-t);plot(t,x);xlabel(t);axis(-1 1 -1.5 1.5)图2.1 符号

13、函数时域波形频谱分析如下:syms t x=sym(heaviside(t)-sym(heaviside(-t);F=fourier(x);ezplot(abs(F);axis(-4 4 0 30);图2.2 符号函数频域波形2.2.2 单位阶跃信号ut=0, t01, t0matlab 仿真命令t=-1:0.01:5;f=heaviside(t);subplot(2,1,1);plot(t,f);xlabel(t)ylabel(f(t)axis(-1,3,-0.2,1.5)j=sqrt(-1);F=1./(j*t);subplot(2,1,2);plot(t,abs(F)axis(-1,1,

14、0,100);xlabel(w)ylabel(F(jw) 图2.3 单位阶跃信号时域频域波形2.2.3 单边指数信号时域调用形式y=A*exp(a*t)例如用MATLAB命令产生单边衰减指数信号0.5e-tu(t)和0.5e-2tu(t),并绘出时间0t4的波形图。syms t v w x ;x=0.5*exp(-1*t)*sym(heaviside(t);F=fourier(x);subplot(211);ezplot(x);subplot(212);ezplot(abs(F);axis(-6 6 0 0.7)图2.4 单边指数信号时域频域波形syms t v w x ;x=0.5*exp(

15、-2*t)*sym(heaviside(t);F=fourier(x);subplot(211);ezplot(x);subplot(212);ezplot(abs(F);axis(-6 6 0 0.7)图2.5 单边指数信号时域频域波形比较可得负指数减小则时域衰减加快,频谱幅度在相同频率下减小。2.2.4 余弦信号y=cos(5t)syms tf=cos(5*t)*sym(heaviside(t);F=fourier(f);subplot(2,1,1);ezplot(f)axis(0 2*pi/5 -1 1)subplot(2,1,2);ezplot(abs(F)axis(-7 7 0 10

16、)图2.6 余弦信号时域频域波形改变参数后y=cos(t)syms tf=cos(pi*t)*sym(heaviside(t);F=fourier(f);subplot(2,1,1);ezplot(f)axis(0 2 -1 1)subplot(2,1,2);ezplot(abs(F)axis(-7 7 0 10)图2.7余弦信号时域频域波形比较分析后得出,频谱w0随角频率的减小而减小。2.2.5 矩形脉冲信号例:用MATLAB变成,模拟矩形脉冲信号脉宽逐渐减小并趋于零的过程,观察脉宽减小时,其时域波形和幅度频谱的变化趋势。 解:脉冲宽度极小时频谱趋近于常量,随着脉冲宽度增加,频谱振荡衰减。为

17、了方便观察,采用plot函数来绘制矩形脉冲信号的时域波形。实现上述分析过程的MATLAB程序如下:syms t w;ut1=sym(Heaviside(t+0.5)-Heaviside(t-0.5);subplot(211);plot(-0.5 0.5,1 1);title(脉宽为1的矩形脉冲信号);xlabel(t);hold onplot(-0.5 -0.5,0 1);plot(0.5 0.5,0 1);axis(-1 1 0 1.1);Fw1=fourier(ut1,t,w);FFw1=maple(convert,Fw1,piecewise);FFP1=abs(FFw1);subplot

18、(212);ezplot(FFP1,-10*pi 10*pi);axis(-10*pi 10*pi 0 1.1)title(脉宽为1的矩形脉冲信号的幅度频谱);syms t w;ut2=10*sym(Heaviside(t+0.05)-Heaviside(t-0.05);subplot(211);axis(-1 1 0 11);title(脉宽为1,0.1的矩形脉冲信号);plot(-0.05 0.05,10 10);plot(-0.05 -0.05,0 10);plot(0.05 0.05,0 10);xlabel(t);Fw2=fourier(ut2,t,w);FFw2=maple(con

19、vert,Fw2,piecewise);FFP2=abs(FFw2);subplot(212);ezplot(FFP2,-10*pi 10*pi);axis(-10*pi 10*pi 0 1.1)title(脉宽为1,0.1的矩形脉冲信号的幅度频谱);ut3=100*sym(Heaviside(t+0.005)-Heaviside(t-0.005);subplot(211);plot(-0.005 0.005,100 100);plot(-0.005 -0.005,0 100);plot(0.005 0.005,0 100);axis(-1 1 0 110);xlabel(t);title(脉

20、宽为1,0.11的矩形脉冲信号的幅度频谱);xlabel(t);Fw3=fourier(ut3,t,w);FFw3=maple(convert,Fw3,piecewise);FFP3=abs(FFw3);subplot(212);ezplot(FFP3,-10*pi 10*pi);axis(-10*pi 10*pi 0 1.1)title(脉宽为1,0.01的矩形脉冲信号的幅度频谱);图2.8脉冲信号时域频域波形2.2.6 抽样函数信号syms t r=0.01;%采样间隔 j=sqrt(-1); t=-15:r:15; f=sin(t)./t;%计算采样函数的离散采样点 f1=sin(2*t

21、)./(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,t,f1,b:+); xlabel(t); ylabel(f(t); subplot(212); plot(w,F,w,F1,b:+); axis(-4 4 -1 4);xlabel(w); ylabel(F(w); 图2.9 抽样函数时域频域波形分析比较得抽样函数衰减抖动越快,频谱幅度减

22、小,带宽增加。2.2.7 三角形脉冲信号syms t j=sqrt(-1); t=-4:0.001:4; f=tripuls(t,4,0.5) f1=tripuls(t,2,0.5) N=500;W=5*pi*1; w=k*W/N; F=sinc(0.5*w/pi).2;N1=250;%采样点数 W1=5*pi*1;%设定采样角频率 w1=k*W1/N1;%对频率采样 F1=sinc(0.5*w1/pi).2;subplot(211);plot(t,f,t,f1,b:+);xlabel(t); ylabel(f(t);subplot(212); plot(w,F,w,F1,b:+);axis(

23、-20 20 0 1); xlabel(w); ylabel(F(w);图2.10 三角形脉冲信号时域频域波形改变参数后,比较可得,采样点数变少,带宽变窄。3 连续非周期信号的傅立叶变换的性质仿真3.1 对称性博里叶变换的对称性可以表示为:若,则 (3-1)上式表明,如果函数的频谱函数为,那么时间函数的频谱函数是,这称为傅里叶变换的对称性。例:设=Sa(),已信号的傅立叶变换为F(jw)= 用MATLAB求的傅立叶变换 ,并验证对称性。 解:MATLAB程序如下:syms tr=0.02;j=sqrt(-1);t=-20:r:20;f=sin(t)./t;f1=pi*(Heaviside(t+

24、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

25、-3 7);xlabel(w);ylabel(F1(w);图3.1 对称性波形3.2 尺度变换傅里叶变换的尺度变换性质可以表示为:若,则对于实常数有 (3-2)上式表明,信号时域宽度与频率带宽成反比。信号在时域中压缩等效于带宽在频域中的扩展,而时域的展宽等效于在频域中带宽的压缩。例2-5:设,用MATLAB求的频谱,并与的频谱进行比较。由信号分析可知,f(t)信号的频谱为,其第一个过零点频率为,一般将此频率认为信号的带宽。考虑到的形状,将精度提高到该值的50倍,即,据此确定取样间隔: f(t)过程的MATLAB程序如下:R=0.02;t=-2:R:2;f=Heaviside(t+1)-Heav

26、iside(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,1,1);plot(t,f);xlabel(t);ylabel(f(t);title(f(t)=u(t+1)-u(t-1);subplot(2,1,2);plot(W,F);xlabel(w);ylabel(F(w);title(f(t)的付氏变换F(w);图3.2 尺度变换波形y(t)过程的MATLAB程序如下:R=0.02;t=-2:R:2;f=H

27、eaviside(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,1,1);plot(t,f);xlabel(t);ylabel(y(t);title(y(t)=u(2t+1)-u(2t-1);subplot(2,1,2);plot(W,F);xlabel(w);ylabel(Y(w);title(y(t)的付氏变换Y(w);图3.3 尺度变换波形比较可见,将展宽了一倍,而

28、幅度将为的一半。3.3 时移特性傅里叶变换的时移特性可以表示为:设,则 (3-3)上式表明,信号在时域中沿时间轴右移或左移等效于在频域中其频谱乘因子,即信号时移后,幅度频谱不变,只是相位频谱发生了线性变换,产生了附加变化()。下面举例说明傅立叶变换的时移特性。例:设 ft=0.5e-3tu(t), yt=0.5e-3(t-0.4)u(t-0.4) 试用MATLAB绘出 , 及其频谱(幅度谱和相位谱),并对二者频谱进行比较。程序命令如下:r=0.03;t=-7:r:7;N=200;W=2*pi*1;k=-N:N;w=k*W/N;f1=0.5*exp(-3*t).*Heaviside(t);F=r

29、*f1*exp(-j*t*w);F1=abs(F);P1=angle(F);subplot(311);plot(t,f1);grid;xlabel(t);ylabel(f(t);title(f(t);subplot(312);plot(w,F1);xlabel(w);grid;ylabel(F(jw);subplot(313);plot(w,P1*180/pi);grid;xlabel(w);ylabel(P(度);图3.4时移特性波形频谱的程序r=0.03;t=-3:r:3;N=200;W=2*pi*1;k=-N:N;w=k*W/N;f1=0.5*exp(-3*(t-0.4).*Heavis

30、ide(t-0.4);F=r*f1*exp(-j*t*w);F1=abs(F);P1=angle(F);subplot(311);plot(t,f1);grid;xlabel(t);ylabel(y(t);title(y(t);subplot(312);plot(w,F1);xlabel(w);grid;ylabel(F(jw);subplot(313);plot(w,P1*180/pi);grid;xlabel(w);ylabel(P(度);图3.5时移特性波形比较可得,当时域波形右移后幅度谱不变,相位增加0.4w3.4 频移特性傅里叶变换的频移特性可以表示为:设,则 (3-4)上式表明,若

31、时间信号乘以,等效于f(t)的频谱沿频率轴右移;若时间信号乘以,等效于f(t)的频谱F(jw)沿频率袖左移。这条性质在通信系统中得到广泛应用,用于对信号进行调制,实现频谱搬移,其原理如图3.6所示。 图3.6 幅度调制原理图它是将信号f(t) (常称为调制信号)乘以载频信号或,得到高频已调信号。该过程可以表示为:,则 (3-5)上式表明,调幅信号的频谱等于将原信号的频谱一分为二,各向左、右移载频,幅度则变为原来的一半。例2-7:设,试用MATLAB绘出及的频谱和,并与的频谱进行比较。MATLAB实现的程序如下:R=0.01;t=-2:R:2;f=Heaviside(t+1)-Heaviside

32、(t-1); f1=f.*exp(-j*20*t);f2=f.*exp(j*20*t);W1=2*pi*5;N=400;k=-N:N;W=k*W1/N;F1=f1*exp(-j*t*W)*R;F2=f2*exp(-j*t*W)*R;F1=real(F1);F2=real(F2);subplot(121);plot(W,F1);xlabel(w);ylabel(F1(jw);title(F(w)左移到w=20处的频谱F1(jw);subplot(122);plot(W,F2);xlabel(w);ylabel(F2(jw);title(F(w)右移到w=20处的频谱F2(jw);图3.7 频移特

33、性波形3.5 时域卷积定理傅里叶变换的时域卷积定理可以表示为;若信号、的傅里叶变换分别为、,则 (3-6)上式说明两个时间函数卷积的频谱等于各个时间函数频谱的乘积,即在时域中两信号的卷积等效于在频域中频谱的乘积。R=0.04;t=-3:R:3;f=Heaviside(t+1)-Heaviside(t-1);subplot(321)plot(t,f)xlabel(t);ylabel(f(t);y=R*conv(f,f);n=-4:R:4;subplot(322);plot(n,y);xlabel(t);ylabel(y(t)=f(t)*f(t);axis(-3 3 -1 3);W1=2*pi*5;N=200;k=-N:N;W=k*W1/N;F=f*exp(-j*t*W)*R;F=real(F);Y=y*exp(-j*n*W)*R;Y=real(Y);F1=F.*Fsubplot(323);plot(W,F);xlabel(w);ylabel(F(jw);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论