1、基于dsp的fft频谱分析方法研究Mr现代社会科学技术发展速度极快,微电子技术以及计算机科学进展速度尤为显著,对于促进社会的发展发挥r关键性作用.颇谱分析的基础是信号处理现阶段已经在大部分工程技术领域当中有所应用,并在行业中占加者极为在要的地位.DSP性质可以细化为几个层面,分别为集成性、稳定性以及可由&性,同时,处理速率极离,可编程,为物谱分析基础的优化和更新创造了广阔的空间。信号处理中诸多问造的解决需要借助于数字信号处理,这一技术可以细化为数字泄波和嫌谱分析两个不同的层面本文所研究的领谱分析主变是基于DSP的FFT变换,借助于细致研就FFT以及DFT,可以完成对这方面知识细致校理,在学习中
2、要重点完成对FFT的研究和理解,,在明确DSP芯片加本理论知识和开发环境的前提下,学习软件仿真以及CCS、MAT1.AB的调试办法,进步对FFT算法的正确性进行脸证,实现DSP信号的领谱分析,保证分析结果的实时性.关键词:DFT,FFT.频谱分析、DSPResearchonFFTSpectrumAna1.ysismethodbasedonDSPAbstract:ThecntOrmodCmsocia1.scienceandtechno1.ogyisextreme1.yfast,andtheprogressnfmic11e1.ectrnicstechno1.ogyindcomputerscien
3、ceisparticu1.ar1.yremarkab1.e,whichp1.aysakeyro1.einpromotingsocia1.deve1.opment.!,hcbasisofspectrumana1.ysisissigna1.PfoCCSSing.Atpresent,ithasbeenapp1.iedinInOS1.engineeringtechno1.ogyfie1.dsandp1.aysanextreme1.yimpor1.an1.ro1.eintheindustry.ThenatureofDSPcanberefinedintosevera1.1.ayers,name1.yint
4、egration,stabi1.ityandrepeatabi1.ity.Atthesametime,theprocessingrateisextreme1.yhighandpgranmab1.ekcreatingavastspaceforoptimizationandupdatingof(hespectrumana1.ysisbasis.hcso1.utiontomanyprob1.emsinsigna1.p11cssingrequiresdigita1.signa1.processing,whichcanberefinedintotwodifferent1.ayersOfdigita1.f
5、i1.teringandspectra1.ana1.ysis.Thespectrumana1.ysisstudiedinthispaperismain1.ybasedontheFTTIransfonna1.ionofDSP.Wiihcarefu1.studyofFrTandDE1.theknow1.edgeofthisaspectcanbecarefu1.1.ycombed.Inthestudy,theresearchandUnderskUK1.ingofFFTshou1.dbeComPIe1.ed.Under(hexeniseofCIafifying(hebasicIheoreiica1.k
6、now1.edgeHnddcvckp11en1.environmentofDSPchip,1.earningsoftwaresimu1.ationand(IcbuggingnechFT(X(k)=Vx(*v,k=0,1,.JN-1(2N怠)在WN中,存在N2M.2.2 离散傅里叶变换基本的性质2.2.1 线性性质着定义、和N1为两个有限长度的序列,那么其长度分别设为v和*,并且y(?)=x1.OO+fe(w)此式中,a、b是常数,设nmaxU%,那么y(1.1.)的N点通过DFT运算得到,Y(k)=DFT1.y(n)N=aX1.(kUbX2(k)OWkWH-I(3)此式中,XH)于、2(八依次
7、是如和卬”)在N点对应的DFT.2.2.2 循环移位性(1)序列的循环移位某序列为长度为有限制,将长度数值设置为明其具体为x(n),并且M不大于N,与X(D)的循环移位相对而言,定义为M)=M(+D),.Rv5)(2)时域循环移位定理有限X(n)序列长度为%x(n)的循环移位为其y(n),即如)=一(+WI)NRVm)m邓)=Tvm)JA,=wjux(5)其中0)=%m矶。这Ei(3)领域循环移位定理如果X(A)=DF11(j)1.OWkWN-Iy(k)=(伏+/),人).y(n)=IDFTY(k)Nx(,1.)2.2. 3循环卷积定理对于序列W川和巴()是有限长的,V1.和是二者的长度,N大
8、于等于axV|,v-J,而与N点而言,*“以及与(”)循环卷积是:MMxe)小叽普引必(必小在N点,x(n)快速傅立叶交换得到的靖果为:X(k)=Dh1.x(n)N=X1.(k)X2(k)(72.2.4共匏对称性共朝对称性是X(k)的一类性质,可以细化为两个种类,分别为共匏对称以及反对称.基于x(n)的上述两种不同的性质,所获取DFT的结果分别为X(k)的实部虚部和3j相乘序列x(n)的DFT当设为X(k)时,那么x(n)(包括j)的实虚部潞被DFT分开.3.1快速傅里叶变换对于高散形的傅里叶变换,快速变换则为一类速度较快的算法,这类算法体现出几个显著地特点,分别为;虚、实、奇和偶.进而可以实
9、现对傅里叶变换的极大更改.就离散型变囊来说,在以前已经有过较多的发现.通过下面对离散傅立叶进行交换,狭得相应的有限长序列X(n)及切域X(k)OkN-(8)x(k)=DFTfx(n)=x(?OH-Ox(n)=IDFTX(k)=-yX(八)W/N&OAN-1(9)/,W.由此得到叫“除此之外,式(8)式(9)分别为两类高散傅立叶变换形式,分别为正变换以及逆变换,变换的构成成分为为x(n)与X(k)那么就会进行的复数乘法和加法分别有N次、次,如果要对全部的(k)(A4A-I)进行计算得到给果,进行的复数乘法和加法分别需要2和N(N-D次.四次实数乘法和两次实效加法才能得到1次复数乘法,两次实效加法
10、才能得到1次相应的复数加法,所以说,通过4N,次实数乘法和2N(2N-1)次实数加法,才能给获取所有的X(k)对处理实时信号而方,如果N数值较大时,这就对处理卷计重能力要求很i,所以当前最为关健的是将计算离散傅里叶变换运算量的难题得以解决为了降低计算复杂度,计算效率得到提升,有必要对算法进行完善和改动.在DFT过程中,要完成的运算的系数存在着许多的对称性.对对称性进行调查分析,从而使得计算过程得以简化,计算DFT消耗的时间大大缩短.综上所述,N点通过DFT,得到靖分析发现,完成DFT转化以后,N点W长度有所缩短,极大地般少了减法程序.此外,周期性和对称性是旋转因子WW具备的特征,它的周期公式是
11、IWTJe-呼=J步=W;其对称性具体如下表达为:Wr=WJT.WF=蟆在FFr算法中,可以将DFT进行分解,使之成为长度较短的几个序列,充分利用其卜:对称性以及周期性,实现运算次数的减小。WT1.具有如下特性:(IM的同*崂=W产=W产IV-水_(IVa*V_11(*-)心的性tO-(%)-%瞰的可约性堞=W、=MI而且,暇=Tw=叫:.根据W一定的运算规则,将x(n)或X(k)序列分解众多的较短序列,大量的重复运算问题得以解决,从而更加高效地运算DFT相关计算.算法种类繁多,FFT可以细化为两个大类,分别为时间抽取(DIT)以及频率抽取(DIF)3.2基-2FFT算法序列X(n)的长度的准
12、确值为N=2,只有M取整数值时才可以成立(也可以通过人工添加零点的方式实现)通过在时城中抽取奇数和偶数,将离散傅立叶变换分解为短序列,让离散傅立叶变换的最小单位为2点在快速傅立叶交换操作中,最小的离散傅立叶交换单元通常被叫做基,所以基-2时间抽取快速傅立叶变换(DIT-FFT)算法4也是该算法的另外一种称呼.对于数列来说,由于n的奇数和偈数不同,可以得到不同的序列,n=2r时,取偶数值,n=2r+1.时,取奇数值.由此可以得出N-t(2r)=xi(),(2+1)=,r2(r),r=0,.,y-1(血则通过DFT运算可以被写成4.jX(k)=x(2r)W+x(2r+1.)Wr,,wi411=v1
13、r)VVr+Xx2(r)w-O=2r)+x(2r+1.)W*2rW,WX,(k)+W.X2(k)(1O与人,相同,都可以作为W)和占5)的DFT,同时,规定了k值和r值的适用范围,需要处于0,1,N2T的范围内.X(k)可以和N点相互对应,式(11)可以对XOO的前N/2的值完成计算.由对于C和XR,的DFT特点发现X(k)的后N/2具体的值Ix+m=X仆斗+MA+斗=X/A)+脱伙)(12)在以上两式中可以清整地看到,若能得到在2个N/2点的DFT与天(6,在完成处理和分析以后,可以获取全部N点的X(k)基于N=2,sN2=2t计算结果为偶数,可以完成多次分解,最终的停止点为2点DFTXB
14、P)和Xm(Q)分别是输入值,XMP)和兀“是输出值,想,为旋转因子,由于2D111-FFT算法,完成蝶形计算采用下述公式XmM(P)=X,“+X,”MXmX(g)=Xm(PfSM见图1,上结点为XB(P),下结点为XB(0)XN(P)H(q)图1时间抽取蝶形计算单元上述算法应用于8点的FFT,得到N=S的基-2DIT-FFT的运算过程,X(O)X(O)图2当N=8时,其D1.T-FFT运算流程图综上所述,结合运算基本原理以及流程图,能够全面获取基-2D1.T-FFT的点,详细见下述分析:(1)级数分解,当N=2”时.可以进一步被分解为Mfib各级都有N/2个螺xA/=-1.og,V形计算单
15、元,需要完成蝶形计算数的的计算公式为22工.(2)运算量估计,每一次复数乘法和两次复数加(M)法就可以得到一次蝶形N计算,N点FFT所需复数乘法和复数加(M)法分别为2x1.g次,Nk%八次.换句话说,个别蝶形计算不再要求复乘.(3)原位运算:当数据在存储器中输入时,在每次形掾作之后,在同一存储器组中所获取的成果仍然存储于相同的地方,在最终,出之前不需要靛外的存储单元.(4)位码倒序,根据图2能够清整看出,经过FFT计算后,出的X(k)的顺序正好按照X(0),X(1).和X(7)的顺序排列,在存储单元中,X(n)是X(O)rX(4),X(7)以倒序形式输入,并且存储,也就是所谓的正序和倒序的输
16、入办法.尽管这种输入的规则程度不高,呈现出显着的混乱状态,但是仍然有一定的规律,实际上就是位码反转规则。(5)旋转因子的确定,进行了FFT的8点重复运辑得出了1片的相关变化.第一次迭代的结果是单一形式的蝶形计算此:进行蝶形计算时两个数据相差1;二级迭代的蝶形计算系数有两种叫和附,两个数据点差分三级迭代中,出现了四种数据类型吧、也、此:叱二这四个数据点相差4.所以,每进行一次螺形计算,得出的类型就会增长为原来的2倍,与之相对的差距也是原来的2倍.最后所完成的迭代操作所获取的类型种类数值,高,他们的数据点间距也是最大的,间距是N/2.4.1 MAT1.AB仿真4.1.1 相关的MAT1.AB功能函
17、数简介(1)图像显示函数Ip1.ot,X轴和y轴均为线性刻度.(2)图形生成函数:figure,生成图形育口.(3) FFT函数:fft(8),麦加8是完成加窗处理和运算的帧信号结果.在进行FFr运算时,其实施信号的IS域结果也是中心对称的,所以最后得出的结果也是根据前半部分所产生的.(4)复数取共朝函数;Conj(三)函数,函数中的Z是进行fft运算得出的结果.这个结果可以运用在X(,k)的幅度使用上.(5)randn,产生正态分布的随机数或矩阵的函数.4.1.2用Mat1.ab实现快速傅立叶变换FFT算法可以实现让傅里叶变换的速率更高,并且可以把信号转换成算城.由于数据中的信号报多时候不好
18、分辨他的的特点,可是在进行转化领域之后,得到特征的过程就十分简单.所以进行侑号分析时经常运用FFr变换.并且FFr方法可以进行信号孩谱的提取,这种方式经常使用于演谱的分析.现在大多数人已经熟练掌握了FFr的分析方法和用法,可是对于得出的数据结果和进行FFT运算时该使用多少点很疑毒.就目前而言,我们根据实践经Iit对FFT结果的实际物理含义进行讨论.当采集完ADC的样本之后,模拟信号就向数字信号逐步转换.痛过对采样定理的使用,采样获得的频率达到两倍,甚至高于两倍.经过采样之后,数字信号由此获得,并且可以转换成FFT.JftitFFT的相关计算,可以得到N个采样点的快速傅立叶变换结果.为了使得傅立
19、叶变换的运算更为高效,n一般取2的整次第,若将采样频率、信号频率、采样的次数,分别设为FS,F,N,经过FFT计算后得到的结果,是n点的一个复数每个点和频点相互一对照.该频率值下,该点的模量也就等于提幅特性.它与原始信号的振,存在的关联又是怎样的呢,如果将A设为初始信号的最高点,则经过FFT计算之后,其得到的每个点都十分细致的模的计算公式为A乘以N/2,除了起始的直流分.直流分作为,初的点,它对应的模等于其本身的N倍.在当前算率下,信号相位和每个点以此对应.起始点象征着疹率为。赫兹的直流分量,除此之外,终止点与N相对应,其下一个点(该点事实上不存在,这里是假设点N+1.换句话说是把起始点分成两
20、部分,将另一半平移到最后)代表采样频率FS,上1个点在这其中被分成N个相等的部分.中间每个点的频率是逐步递增的.如果通过FFT进行对2秒的信号进行采样,对于结果分析,可以提高到05赫技。如果想要使得频率分辨率提高,必须对采样点增加数量,使得采样时长与频率分辨率成反比.例如进行了FFT运算得出的点n可以用复数a+bi显示,它的模可以用An=根号a*a+b*b来进行表示,那么它的相位结果就是Pn=atan2(b,a)通过这个运算,n(n=1.,而且n=N2)点的信号表达公式就是An(N2)*cos(2*pi*Fn*t+Pn),就是2*AnN*co8(2*pi*Fn*t+Pn),而n=1.是一种宜流
21、分量,他的幅度是A1/N.但是在进行FFT运算时他的运算结果是对称的,所以我们在进行运算时只是用一般结果即可,所以这种方式的结果小于采样的演率.在进行运算时,采集的样本频率是F8,采集的点数量定为N,并且在进行了FFT的运算之后,其中的点n(n=1.)其频率是:Fn=(n-1.)*FsN对这个点进行相应的除模运算,将其除以N/2,这个运算就是这个频率上的信号幅度;这个信号的相位就是这个点的相位.对于相位进行计算时可以运功atan2(b,a)进行.这个函数是对(a,b)坐标的角度进行求解,求解的急圉是pipi如果需要对于这个数值进行精确,并且知道XHZ,就需要对于1/x(8)的信号进行采集,最后
22、在进行ITT的运算.如果需要提升对于高频率的分辨率,就必须对于采样数据进行细致的采点,这种方式使用在实际中是很困难的,因为需要在短时间进行这个工作.如果需要解决这个问题可以使用频率分析法,这个方法比较复杂,但是有更加倚便的方法就是对于时间段的侑号进行采集,采集完后在数据后进行很多O的补充,让采集到的时间信号的长度达到要求,在进行FFT的运算,这种方法就可以提升领率的分辨力.4.2.3检验使用MAT1.AB应用进行FFT变换频谱分析这里,为了明确FFT算法是否正确,需要做如下验证.由f=50Hz,=200Hz构成的)=sinSM)+sin(2J),将一个干扰记城在信号中,这一干扰是噪音干扰.在采
23、样时,可以选择100OHZ的频率来完成,将FFE分析在N=2048点进行,进而借助于编程仿真,获取信号的谱分析曲线以及时域波形,分别见图4和图3.12OOO800金600400200005001O领率/Hn图3时域波形图4FFT谱分析结果图4中显示,进行运算时有侑号的只有和人,如果运用FFT,在领域上完成序列,尽管干扰会作用于信号值,要想获取清晰的原信号,可以对演谱进行细致的分析,由此可以得出,FFT算法是正确的.为了更加好的更加严通验证FFT算法的正确性,接下来用CCS分析.4. 2CCS分析4.1.1 DSP芯片和编程工具CCS2.0的简介(1.)WS320C5402俺介T1.企业励志于建
24、立低功耗、高性能的软件功能所创新出来的DSP定点芯片WS320C5402,有着高速的运算速度,速度高达IOnS的运算周期;CpU进一步完善,它的CpU内升破了四十位的算数逻辑单元1个、以及17乘17的乘法器一个、四十位的JK加器和加法器各有两个,各为4条和两个内部总线.现将上面研究的结果引入数字系统中,完成所需要的就算以及相关的信息处理,发现运行的效率更加的高.他的串行口和分复用(TDiD串行口更加的标准,其中非常重要的还有HPI外部处理器通信主机接口,能够和外部处理设备相连.CCS2.0简介CCS是一类我国新近研究得到的DSP编程工具,相关的IT公司想要他们公司在这个行业有着程周的地位所指定
25、的相关编程工具.这种集成开发程序让在进行DSP代码进行编程和调试的过程中的所有过程都可以在一个主要环境下完成,在这个过程中的各个功能都进行了相关的优化和提高,对于开发难度有了一定的降低,CCS的功能主要是下面多个种类工具的集成体,.(I)DSP代码产生工具.运行CCS程序的时候,可以使用汇编和高税语言多种语言,高级语言和汇编语言的结合语言也可以使用到当中去,对于开发和编写代码的技术要求大程度的降低.(2)软件模拟器.在完成所有软件的研发和试验以后,系统整体满足确定的运行要求,而且在均匀中具有更高的安全性I(3)实时却软件.要想实现主机和DSP/BI0S参数的交换,可以借助于RTDX来实现,借助
26、于这一工具可以使目标系统获取一个临时窗口,使原始数据的得打合理的显示,再进一步完成数据处理.但是原始的主机中的调试功能在调试的过程中需要在当防程序中加入断点,使运行中的程序被中止,只有停止以后,才能开始数据交换,尽管这种操作相对复杂,获得的数据准确程度较低,获取的数据仅仅是一些为程序运行中的数据,主要用于儡面描述,这种方式在进行检黯故障和检查系统的性能时非常的麻烦.而如今的RTOX功能可以完成不终止正在运行的程序的基础上进行主机和目标机之间的数据转换,而且利用RTDX进行数据交换时运用的结构是其内部的仿真读辑和11AG的借口,这种方式对于DSP的串以及总线等资源无法使用,对于DSP系统来说,这
27、类方式的影响相对较低.4.1.2 利用DSP中的FFT函数进行频谱分析打开CCS2.0,用ProjectZOpeii,开启Exp“TAD5。Pjtt双击expFFTAD50pj1.SOUrCe可以获取不同的源程序信息,打开CXPFFTAD50.。IU进行核心程序的设时,对于KH进行断点的设开始运行程序时对“Run”进行单击,改程序结束时的位置是在新点处,如图5iUIgTru0.4cEIQMm-.B9.操作VieW/GraphrTimc/FrCqICnCy可以成功创建图形窗口再设置与窗口相关的不同参数以及变量,如图6。,运用双向路径进行探索查究的启动地址是0x300OH与0x3080H,它的总长
28、度是在128的单元里的数字的变化,该数字的形态是具有相关符号的整数型变量中是占为16位的数字,在进行了A/D的过程转变成了语*信号和进行了FFT变换后的数据储存在了这两个单元里.ISSGraphPropertyDUioQJDTTypDu1TIXSSTiUtGrehc*!DIW1.tyIntr1.tvdDtSowc1.t%O3O6O3DzAestionBufferSx128Ib4xIynC!Ht1.*r34USi128IICFMaTypIft-Vitiim4IN向800SfIWX,Oh)I11tDtFreeUfttI1.CMUft-Oit4D日O1R0图8频谱分析结果(二)上面图7、图8分别为不
29、同的语音频率信号时,所得到的结果.可见,信息不同,所得到的结果也并不一致.位于上面的波形是时域波形,与语音信号一一对应.下面波形为经过FFT变换得到的谱分析值,与信号一一对应.基于上述分析,我们发现,要实现信号的实时分析,可以借助于数字处理技术,可以实现对不同信息的及时掌握和了解,这就是应用这一技术的主要优势,使信号处理可以极好的应用于人们的生产领域以及实际生活当中.3结语本研究主要是对快速傅里叶变换(FFT)和离做傅里叶变换(DFT)的关健性算法进行了深入的分析探索,并且研究的核心是时间抽取法基-2FFT算法.并且在信号分析频谱的分析是在DSP基础的FFT变化方法.在DSP芯片中引入FFT算
30、法就是一个粮好的体现我国将快速傅里叶变换的频注分析应用于DSP方向,使FFT在DSP芯片上的实行成为了现实,并且可以让我们对于出现的信息可以更加及时的接受,可以协助我们更容易进行科学研究.近几年来,快速傅里叶变化(FFT)在研究领域被提出以后,极大地促进了国内与频谱分析方面先关技术的发展和进步,并逐渐入了普通人的日常生活当中.和我们的联系愈加紧密.逐渐进入到医疗设备以及器制播(域和通侑电(城当中.但是,我国的福多研究人员在这方面的研究仍然处于基砒阶段,深入程度还不够,在演谱兼域的研究仅停留在表层,没有进行深层次的挖掘,在未来,必将会有更大的发展,这一城的研究仍然具有较大的可提升空间.经过几个月
31、的努力,论文终于得以完成.在半年的不断发掘中,将已经学习的基础理论知识做了全面的整理,使自己的理论基砒更加扎实,进而使科研水平也有所提升,对于今后开展科研工作具有积极地促进作用,在本文的研究阶段,我进步速度很快,已经满足了学院对学生的要求,我对学院衷心感谢.同时,对我的指导教师王荣姝尤其感谢,谢11您对我的关系和引导,悠循循善语,引导和帮助我解决了论文研究中的一个有一个难题.从论文初的选题开始,一宣到研究和结题,论文修改都对我严格要求,关怀务至,给予我较大的帮助,进而顺利的完成的文的各项工作.在今后的工作中,我会继续保持一I1.i爱学习的心,利用科学的分析方法研究、解决工作中的难题.参考文献1
32、方勇.数字怙号处理一原理与实践M.北京,清华大学出收社.2006.2 丁康.,张史飞,扳谐校正理论的发展J.报动工程学报,20003必西金.丁上关.数字信号处理5.西安.西安电.于科技大学出版社.20084孙仲康.快途停里叶变换及其应用M.北京,人民邮电出版社,1982.5郊阿奇JAT1.AB实用教程M.北京,电子工业出版社.2009.6郭仕例,王宝顺.贺志国,插可心MAT1.AB7.X数字信号处理M北京,中国财电出版社.20067赵桂芳等.基于DSP的快速侍立叶变换的实现J.茏石理工学院学报.20078乔理萍,在涛.张芳埔.1MS32054xDSP原定及应用M.西安,西安电子科技大学出版社.
33、2005.9杨宇,叶宇风,王洪.丛于DSP的实时信号然诺分析摄块设计J电子测董技机2006年4月第二期10江安民.TMS320C54xDSP实用技术M1.清华大学出版社.2002附录EXPFFTAD50.CexternvoidInitC5402(void);externvoidOpenMcBSP(Void);externvoidC1.oseMcBSP(Void);externvoidREADAD50(void);externvoidWRITEAD50(void);*MainFunctionProgram*/#inc1.udestdio.h#inc1.udemath.hvoidkfft(pr,p
34、i,n,k,fGfi,1.,i1.)intn,k,;doub1.epr,pizfr,fi;intit,m,is,i,j,nvzIO;doub1.ep,q,s,vi;vi,poddr;poddi;for(it=O;it=n-1.;it+)m=it;is=O;for(i=0;i=k-1.;i+)j=m2;is=2*is+(m-2*j);m=j;frit=pris;fiit=piis;pr0=1.0;piO=O.O;p=6.283185306(1.0*n);pr1.=cos(p);pi1.=-sin(p);if(1.!=O)pi1.=-pi1.;for(i=2;i=n-1.;i+)(p=pri-1.
35、pr1.;q=pii-1.*pi1.;s=(pr(i-1.+pii-1.)*(pr1.+pi1.);pri=P-q;pii=s-p-q;)for(it=O;it=O;IO-)m=m2;nv=2*nv;for(it=0;it=(m-1.)*nv;it=it+nv)for(j=0;j=(nv2)-1.;j+)p=prm*j*frit+j+nv2;q=pim*j*fiit+j+nv2;s=prm*j+pim*j;s=s*(frit+j+nv2+fiit+j+nv2);poddr=p-q;poddi=s-p-q;frit+j+nv2=frit+j-poddr;fiit+j+nv2=fiit+j-po
36、ddi;frit+j=fr(it+j+poddr;fiit+j=fiit+j+poddi;)if(H=O)for(i=0;iif(i1.!=0)for(i=0;i=n-1.;i+)pri=sqrt(fri*fri+i*fii);if(fabs(fri)O)pii=90.0;e1.seii=-90.0;e1.sepii=atan(fiifri)*360.06.283185306;voidmain(void)inti,n,k=0;doub1.ex128,pr128,pi128,fr(128zfi128,mo128;intxm,zm;int*px=(int*)0x3000;int*pz=(int*)
37、03080;n=128;InitC5402();/initia1.izeC5402DSP*/OpenMcBSP();for(;)(READAD50();px=(int*)0x3000;for(i=0;i=n-1.;i+)(m=*px;xi=m32768.0;pri=i;Pi=O;px+;kfft(pr,pi,128,7,fr0,1.);pz=(int*)03080;for(i=O;i=n-1.;i+)moi=sqrt(fri*fri+fii*fii);zm=(int)(moi*1000.0);*pz=zm;pz+;)k+;/*EndofFi1.eEpFFTAD50.c*衾*衾*京*衾*:衾*衾
38、4;*C*分京衾*木*衾*:*京*京*衾*京*分*衾*衾*衾/Cmd文件/1.INKERcommandfi1.efor1.EAD3memory11up/尸衾*拿*分*衾*分*分*今再/*衾*衾京衾*;*t;*4:*拿*衾*:分*a*f:*分/MEMORYBAGE0:MMR:origin=OOOOO(X)h.1.ength=OOOOOcOhSPRAM:origin=(XXXMkOh.1.ength=(MXXXMOhVECS:origin=(XXX)100Ik1.ength=(XXM)100hDRM0:origin=0000200h.1.ength=03E00hDARAMi:origin=(MX(XX)h,1.ength=(KXM(K)OhDARAM2:origin=(XX)8(XX)h,1.ength=0()040(X)hDARAM3:origin=OOOcOOOh.1.ength=OOtM(X)OhSRM0:origin=(K)100OOh.1.ength=0004000hSARAM1.:origin=14(KX)h.Ieng1.h=OOWOOOhSARAM2:origin=0()IWK)0h,1.ength二O(XNOoohSARA