利用Excel进行FFT和Fourier分析的基本步骤_第1页
利用Excel进行FFT和Fourier分析的基本步骤_第2页
利用Excel进行FFT和Fourier分析的基本步骤_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、实例:杭州市2000人口分布密度 计算得到的结果,数据由冯健博士处理利用Excel进行FFT和Fourier分析的基本步骤根据2000年人口普查的街道数据经环带(rings)平均。下面的变换实质是一种空间自相关的分析过程。1AB距离人口密度26 32818430.92682141.52462152.12317662; 71891073.31960183.91694594.510829105.17282115.7620012& 3564413& 94297147.53806158.13153168.72683179.32354189.920281910.51828201L1165

2、1211L715312212,314902312.914652413.512782514,110332614,79582715.3882第一步,录入数据在Excel中录入数据不赘述(见 表1)。 表1原始数据序列1亠013QU 丄8r 3-9169459r 4.510S2910728211r 5.7620012r e?3564413r 6.9429714匚¥.5380615r s. i315316r s. 7268317r 9.3235418r 9.9202819匚 10. 5182820r ii. i165121匚 11. 7158122r 12.314902312. 914652

3、413. 512782514.110332&r 14.795827r 15.388228029030031032033034表2补充后的数据序列第二步,补充数据由于 Fourier 变换(FT)一般是借助快速 Fourier 变换(Fast Fourier Transformation, FFT ) 算法,而这种算法的技术过程涉及到对称处理,故数据序列的长度必须是2n (N=1,2,3,,)。如果数据序列长度不是2n,就必须对数据进行补充或者裁减。现在数据长度是26,介于24=16到25=32之间,而26到32更近一些,如果裁减数据,就会损失许多信息。因此,采用补充 数据的方式。补充的

4、方法非常简单, 在数据序列后面加 0,直到序列长度为32=25为止(表2)。当然, 延续到64=26也可以,总之必须是 2的整数倍。不过,补充的“虚拟数据”越多,变换结果的误差也就越大。第三步,Fourier变换的选项设置沿着工具(Tools 数据分析(Data Analysis)的路径打开 数据分析 复选框(图1)。卫 Microsoft EhccI - Fourier Analysis.囲文件® 编辑(£)视图迢插入格式 工具数据(皿窗口働帮助D3昭昌昌直尊电®“爭拼写F7B31ZT =0AB |C1井享工作縛(也F1距离人口密度保护(E)20.3281S4联

5、机协作(阻30.9 J26821 14L5 124621规划求療52A23176 |加载宏"618910II自蚁7319601选项8916945数据分析(94?510829105.172S2|图1数据分析(Data Analysis)的路径在数据分析 选项框中选择 傅立叶分析(Fourier Analysis )(图2)。图2数据分析(Data Analysis )在Fourier分析对话框中进行如下设置:在输入区域 中输入数据序列的单元格范围“$B$1:$B$33 ”;选中“标志位于第一行 (L)”;将输出区域 设为“$C$2”或者“$C$2:$C$33” (图 3a)。ab图3傅

6、立叶分析(Fourier Analysis)注意:如果“输入区域”设为“ $B$2:$B$33 ”,则不选“标志位于第一行(L)”(图3b)。表3 FFT的结果ABC1距离人口密度FFT结果20.328184218701. 85701348630.926821104459. 634221827-103400. 537615386141.52462137684. 6714056542-89512. 0012034132152.12317614197.250796317-55505. 0538756088162.71891011894. 2167827967-2964L 7572806323173

7、.31960118938. 3527863987-2082L 94263532651S3.91694520635. 720934404-23004. 8596457225194.51032914487.9855812052-23932. 27386864261105172829835. 411667338-16677. 8258326555i1157620011919. 4680580233-7585. 656668772981126.3564416112.0959220229-5044. 183634845861136.9 _429717113.448218299-7100. 5695079

8、9216i14匚5380616598. 4374913769-7622. 177586891951158.1315315868.1982894284-7046. 263462401091168,7268313454. 062810094-5175, 724568612521179*3235412259.0748348707-1721. 407440893981189*9202812261. 30462533861916 5182812259. 0748348708+172L 4074408940312011.1165113454, 062810094+5175. 72456861252i211

9、1. 7158115868,1982894284+7046. 2634624010912212, 3149016598, 4374913769+76222312. 9146517113.448218299+7100. 5695079921412413. 5127816112.0959220228+5044.1836348458412514.1103311919. 4680580232+7585. 65666877299112614. 79589835. 41166733802+16677. 8258326555i2715. 388214487.9855812052+2

10、3932. 2738686426128020635. 7209344041+23004. 8596457225129018938. 3527863987+20821. 9426353265130011894. 2167827968+2964L 7572806823131014197.2507963171+55505. 05387560891w 九八|原始数据FFT/Sheet3 /第四步,输出 FFT结果选项设置完毕以后,确定(0K ),立即得到FFT结果(表3)。显然,表3给出的都是复数(complex numbers)。假定一个数据序列表为f(t),则理论上Fourier变换的结果为F(

11、J 二"f(t)e jtdt=Ff(t),(_::)表3中给出的正是相应于 F(3)的复数,这里 3为角频率。第五步,计算功率谱Excel好像不能自动计算功率谱,这需要我们利用有关函数进行计算。计算公式为1 2 12 2P( J J F( J =-(A2 - B2)T 'T式中A为复数的实部(real number), B为虚部(imaginary number), T为假设的周期长度,实则补充后的 数据序列长度。对于本例,T=32。注意复数的平方乃是一个复数与其共轭(conjugate)复数的乘积,若 F(3)=a+bj,则 |F( w)|2=(a+bj)*( a-bj)=

12、a2+b2。这样,根据表 3 中的FFT结果,我们有2 2(218701.8570 )/32 2(104459.634103400.538 )/32 =675108949其余依次类推。显然,这样计算非常繁琐。一个简单的办法是调用Excel的模数(modulus)计算函数ImAbs,方法是在函数类别中找“其他”,在其他类中找“工程”类,在工程类中容易找到 ImAbs函数(图4)。确定以后,弹出一个选项框,选中第一个FFT结果,确定,得到 218701.857 (图5)。我们知道,复数的模数计算公式为M =(A2 - B2)1/2图4模数计算函数对于第一个FFT结果,由于

13、虚部为0,模数就是其自身,即2 2 1/2(218701.857- 0 ) 二 218701.857但对于后面真正的复数, 就不一样了。抓住第一个模数所在的单元格的右下角往下一拉,或者用鼠标双击该单元格的右下角,立即得到全部模数。A1B1c1D距离人口密度FFT结果功率谱密度0.328184 1218701.857013486;=ImAbs(C2)T m hi cInnumber | CZf ! = "210701 86701343(=218701.857Re turns the absolute value GmodulusJ a complex niojnberInwiber叵计

14、茸貉果=210701确定 | 恥消 |图5计算模数最后,用 模数的2次方除以数据长度32立即得到全部 功率谱密度 结果(表4)。表4功率谱密度cI1DEFFFT结果模数功率诸密度Mathcad的结果218701. 857013486218701.85714947031961495000000104459. 634221827-103400.5376153861146981. 244967510894967510000037684. 6714056542-89512. 0012034132197121. 2274329476665129480000014197. 250796317-55505.

15、 053875608815729L 9971410257415410260000011894. 2167827967-29641. 7572806823131939.1009231878317. 73188000018938. 3527863987-20821. 9426353265128146. 3052924756703. 22476000020635. 720934404-23004. 8596457225130903. 9891629845517.12985000014487. 9855812052-23932. 2738686426127975. 9800324457983.1244

16、600009835. 411667338-16677. 8258326555119361. 9523111715162.41172000011919. 4680580233-7585. 65666877298114123. 549326237997. 06623800016112.0959220229-5044. 18363484586116883. 229068907606. 99S90S00017113. 448218299-7100. 56950799216!18528. 0381410727756.21073000016598. 4374913769-7622./p>

17、118264. 8766310425178.71042000015868.1982894284-7046. 26346240109117362. 302439420298. 3942000013454. 062810094-5175. 72456861252114415. 267296493747.84649400012259.0748348707-1721. 40744089398112379. 344064789004.98479000012261. 304625338612261.304634698112. 224697000下表是利用 Mathcad2000计算的功率谱密度(表5)。利

18、用Mathcad进行FFT,过程要 简单得多,只要调用 FFT命令,可以直接给出各种结果(包括图表)。但Mathcad的计算不求精度,有一定误差。将 Mathcad的变换结果copy到Excel中进行比较,可以看到,如果不计误差,二者是一致的(表4)。表5借助Mathcad2000进行FFT的结果0101.495?0 916.751?0 822.948?0 831.026?0 843.188?0 752.476?0 762.985?0 772.446?0 781.172?0 796.238?0 6108.908?0 6111.073?0 7121.042?0 7139.42?0 6146.49

19、4?0 6154.79?0 6164.697?0 6第六步,功率谱分析功率谱分析目前主要用于两个方面, 一是侦测系统变化的某种 周期或者节律,据此寻找 因果关系(解释)或者进行某种 发展预测(应用);二是寻找周期以外的 某些规律,据此对 系统的时空结构特征进行解释。表6以对称点(f=0.5 )为界,从完整的数据序列中截取一半1自然数列频率功率借密度自然数列频率功率谱密度2二 001494703196001494703196310. 0312567510894910. 03125675108949420. 062529476665120. 0625294766651530. 0937510257

20、415430. 09375102574154640.12531878317.740.12531878317.7750. 1562524756703. 250.1562524756703.2860.187529845517.160. 187529845517.1970. 2187524457983.170. 2187524457983.110二 80. 2511715162.480. 2511715162.411二 90. 281256237997.0690. 281256237997. 0612100. 31258907606.99100, 31258907606. 9913110. 3437

21、510727756. 2110, 3437510727756.214120. 37510425178.7120. 37510425178.715130. 406259420298. 3130, 406259420298.316140. 43756493747. 84140. 43756493747. 8417150. 468754789004. 98150. 468754789004. 9818160.5 4698112. 22160.54698112. 2219170. 53125 4789004. 98上面基于杭州人口密度数据的FFT,实际上是一种空间自相关分析过程,属于FT的第二类应用。

22、这种过程不以寻找周期为目标,实际上也不存在任何周期。不论目标是什么,都必须借助 频谱图(频率-功率谱密度图)进行分析和解释。下面第一步就是绘制频谱图。首先要计算频率,线频或角频都可以,因为二者相差常数倍(2n)。一个简单的办法是,用 0到T=32的自然数列除以T=32 (表6)。如果采用的频率变化范围 01,则绘制的频谱图是对称的(图6)。实际上,另一半是多余的,Mathcad2000自动生成的频谱图就没有考虑另外一半儿( 图7)。因此,我们可以以 对 称点f=0.5为界,截取前面一半的数据,在Excel上绘制频谱图(图8)。1200000000度密谱率功100000000080000000060000000040000000000.20.40.60.8频率图6对称的频谱图(基于完整的数据序列)9图7 M

温馨提示

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

评论

0/150

提交评论