《利用Ecel进行FFT和Fourier分析的基本步骤》由会员分享,可在线阅读,更多相关《利用Ecel进行FFT和Fourier分析的基本步骤(10页珍藏版)》请在金锄头文库上搜索。
1、利用Excel进行FFT和Fourier分析的基本步骤实例:杭州市2000人口分布密度根据2000年人口普查的街道数据经环带(rings)平均 计算得到的结果,数据由冯健博士处理。下面的变换实质是一种空间自相关的分析过程。AB1距离人口密度20.32S18430.92682141.52462152.12317662.71391073.31960183.91694594.510829105.17282115.76200126.35644136.94297147.53306158.13L53168.72683179.32354189.920281910. 51S2S2011. 116512111.
2、 715812212. 314902312. 914652413. 512782514. 110332614. 79582715. 3E82第一步,录入数据在Excel中录入数据不赘述(见表1)。表1原始数据序列1丄丄83. 91694E94. 51082105. 172S2115. 76200126. 35644136. 94297147. 53306158. 13153168. 72683179. 32354189. 920281910.51S282011.116512111.715812212.314902312.914652413.512782514.110332614.795S271
3、5.388228029030031032033034表2补充后的数据序列I_丄 LJCJ-i.第二步,补充数据由于 Fourier 变换(FT) 般是借助快速 Fourier 变换(Fast Fourier Transformation, FFT) 算法,而这种算法的技术过程涉及到对称处理,故数据序列的长度必须是2n(N=1,2,3,,)。 如果数据序列长度不是2n,就必须对数据进行补充或者裁减。现在数据长度是26,介于24=16 到25=32之间,而26到32更近一些,如果裁减数据,就会损失许多信息。因此,采用补充 数据的方式。补充的方法非常简单,在数据序列后面加0,直到序列长度为32=25
4、为止(表2)。当然, 延续到64=26也可以,总之必须是2的整数倍。不过,补充的“虚拟数据”越多,变换结果 的误差也就越大。第三步,Fourier变换的选项设置沿着工具(Tools)f数据分析(Data Analysis)的路径打开数据分析复选框(图1)。& Microsoft ExcelwTWR-Fouriet1 Analysis型文件迥 编辑 观團站 插入 格式工晨数据窗口 (如帮助D S茅拼写F7“自动風存|(3B31 =0ABC共享工作溥(出 保护底机协作(吵F1距离人口密度20. 32E18430. 926821规划求解(小,41. 52462152. 123176协载宏 自定义g
5、选项62. 7131073. 319601E3. 9164594. 510S29105. 17282图1数据分析(Data Analysis)的路径在数据分析选项框中选择傅立叶分析(Fourier Analysis)(图2)。图2数据分析(Data Analysis)在Fourier分析对话框中进行如下设置:在输入区域中输入数据序列的单元格范围 $B$1:$B$33”;选中“标志位于第一行(L)”;将输出区域设为“$C$2”或者“$C$2:$C$33” (图 3a)。ab图3傅立叶分析(Fourier Analysis)注意:如果“输入区域”设为“$B$2:$B$33”,则不选“标志位于第一行
6、(L)”(图3b)表3 FFT的结果A II BC1距离J人口密度EFT结果20. 328184218701.85701348630. 926821104459.634221827-103400. 5376153S6i41. 52462137684.6714056542-S9512. 0012034132152. 12317614197. 250796317-55505. 0533756088162. 71891011894.2167827967-29641. 7572S0SS23i73. 31960118938.3527863987-20821. 94263532651E3. 9169452
7、0635.720934404-23004. S596457225194. 51082914487.9855812052-23932. 27386864261105. 172829835.411667338-16&77. 32533265551115. 7&20011919. 4680580233-75S5. &5&S8T7298i126. 3564416112.0959220229-5044.183634845861136. 9429717113.448218299-7100. 569507992161147. 53S0&16598.4374913769-7&22.17758689L95i15
8、8. 1315315868.1982894284-7046. 263462401091168. 7268313454. 062810094-5175. 7245&SGL2521179. 3235412259. 0748348707-1721. 4074408939811S9. 9202S12261.30462533861910. 5182S12259. 0748348708H721. 4074408940312011. 1165113454.062810094+5175. T245686125212111. 7158115868.1982894284+704&. 2&34G240109i221
9、2. 3149016598. 4374913769H622.1775868919412312. 9146517113.448218299+7100. 5695079921412413. 5127316112.0959220228+5044.1S3&348458412514. 1103311919. 4680580232-FT5S5. 6566687729912614. 79589835.41166733802+1&77. S25S326555i2715. 388214487. 9855812052-F23932. 273868642612S020635.7209344041+23004. 35
10、9645722512901S938. 3527863987-H20S21. 9426353265130011894.2167827968+29&41. 7572S06S23i31014197. 2507963171-F55505. 05387560S9iH 4卜卜|原貽数据XEEI/Shm或3/第四步,输出FFT结果选项设置完毕以后,确定(OK),立即得到FFT结果(表3)。显然,表3给出的都是复数(complex numbers)。假定一个数据序列表为f(t),则理论 上Fourier变换的结果为F(w) J f (t)e-网dt =F f(t),( 8 8 )g表3中给出的正是相应于F(r
11、n)的复数,这里为角频率。第五步,计算功率谱Excel好像不能自动计算功率谱,这需要我们利用有关函数进行计算。计算公式为P(w) = 1 |f )|2 = *(A 2 + b 2)式中A为复数的实部(real number),B为虚部(imaginary number), T为假设的周期长度, 实则补充后的数据序列长度。对于本例,T=32。注意复数的平方乃是一个复数与其共轭(conjugate)复数的乘积,若F(e)=a+bj,则IF(e)b=(a+bj)*(a-bj)=a2+b2。这样,根据表3 中 的FFT结果,我们有(218701.857 2 + 02)/32 = 1494703196(
12、104459.6342 +103400.5382)/ 32 = 675108949其余依次类推。显然,这样计算非常繁琐。一个简单的办法是调用Excel的模数(modulus)计算函数 ImAbs,方法是在函数类别中找“其他”在其他类中找“工程”类,在工程类中容易找到 ImAbs函数(图4)。确定以后,弹出一个选项框,选中第一个FFT结果,确定,得到218701.857 (图5)。 我们知道,复数的模数计算公式为M = (A 2 + B 2)1/2图4模数计算函数对于第一个FFT结果,由于虚部为0模数就是其自身,即(218701.8572 + 02)1/2 = 218701.857但对于后面真正
13、的复数,就不一样了。抓住第一个模数所在的单元格的右下角往下一拉,或 者用鼠标双击该单元格的右下角,立即得到全部模数。ABC|D距离人口密度FFT结果功率谱密度0. 328184218701.857013486:Im A DEInwnber |C2珀=18701.65701348(Rh-Luitls the :iL eolntval口已 1.modill口of a coniplesc rnimlier二 21ST01.B57IrfJJIibsx回计算结果二18701.65?图5计算模数最后,用模数的2次方除以数据长度32立即得到全部功率谱密度结果(表4)。表4功率谱密度CDEFFFT结果模数功率谱密度血血就的结果218701. 357013486218701.8571447031961495000000104459. 634221327-103400. 537615336i146931.244