预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共19页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

DSP课程设计姓名:学号:日期:一、实验目加深对DFT算法原理和基本性质理解;熟悉FFT算法原理和FFT子程序算法流程和应用;学习用FFT对持续信号和时域信号进行频谱分析办法;学习DSP中FFT设计和编程思想;学习使用CCS波形观测器观测波形和频谱状况;二、实验内容用DSP汇编语言及C语言进行编程,实现FFT运算、对输入信号进行频谱分析。三、实验原理迅速傅里叶变换FFT旋转因子WN有如下特性。对称性:WNk+N/2=-WNk(2)周期性:WNn(N-k)=WNk(N-n)=WN-nk(3)运用这些特性,既可以使DFT中有些项合并,减少了乘法积项,又可以将长序列DFT分解成几种短序列DFT。FFT就是运用了旋转因子对称性和周期性来减少运算量。FFT算法是将长序列DFT分解成短序列DFT。例如:N为偶数时,先将N点DFT分解为两个N/2点DFT,使复数乘法减少一半:再将每个N/2点DFT分解成N/4点DFT,使复数乘又减少一半,继续进行分解可以大大减少计算量。最小变换点数称为基数,对于基数为2FFT算法,它最小变换是2点DFT。普通而言,FFT算法分为准时间抽取FFT(DITFFT)和按频率抽取FFT(DIFFFT)两大类。DIFFFT算法是在时域内将每一级输入序列依次按奇/偶提成2个短序列进行计算。而DIFFFT算法是在频域内将每一级输入序列依次奇/偶提成2个短序列进行计算。两者区别是旋转因子浮现位置不同,得算法是同样。在DIFFFT算法中,旋转因子WN出当前输入端,而在DIFFFT算法中它出当前输入端。假定序列x(n)点数N是2幂,按照DIFFFT算法可将其分为偶序列和奇序列。偶序列:x(2r)=x1(r)奇序列:x(2r+1)=x2(r)其中:r=0,1,2,…,N/2-1,则x(n)DFT表达为式中,X1(k)和X2(k)分别为X1(r)和X2(r)N/2DFT。由于对称性,WNk+N/2=-WNk。因而,N点DFT可分为两某些:前半某些:x(k)=x1(k)+WkNx2(k)(4)后半某些:x(N/2+k)=x1(k)-WkNx2(k)k=0,1,…,N/2-1(5)从式(4)和式(5)可以看出,只规定出0~N/2-1区间x1(k)和x2(k)值,就可求出0~N-1区间x(k)N点值。以同样方式进行抽取,可以求得N/4点DFT,重复抽取过程,就可以使N点DFT用上组2点DFT来计算,这样就可以大减少运算量。基2DIFFFT蝶形运算如图3.1所示。设蝶形输入为x1(k)和x2(k),输出为x(k)和x(N/2+K),则有x(k)=x1(k)+WkNx2(k)(6)x(N/2+k)=x1(k)-WkNx2(k)(7)在基数为2FFT中,设N=2M,共有M级运算,每级有N/2个2点FFT蝶形运算,因而,N点FFT总共有MN/2个蝶形运算。图3.1基2DIFFFT蝶形运算例如:基数为2FFT,当N=8时,共需要3级,12个基2DITFFT蝶形运算。其信号流程如图3.2所示。x(0)x(0)WN0x(4)x(1)-1WN0x(2)x(2)-1WN0WN2x(6)x(3)-1-1WN0x(1)x(4)-1WN0WN1x(5)x(5)-1-1WN0WN2x(3)x(6)-1-1WN0WN2WN3x(7)x(7)-1-1-1图3.28点基2DIFFFT蝶形运算从图(b)可以看出,输入是通过比特反转倒位序列,称为位码倒置,其排列顺序为x(0),x(4),x(2),x(6),x(1),x(5),x(3),x(7),输出是按自然顺序排列,其顺序为x(0),x(1),x(2),x(3),x(4),x(5),x(6),x(7).程序设计顺序DSP初始化串口设立AD设立功率谱计算观看转换成果,保存数据串口发送转换成果FFT运算位码倒置串口接受,AD采样设立信号源类型、频率幅值、和采样点数四、FFT算法DSP实现过程:DSP芯片浮现使FFT实现办法变得更为以便。由于大多数DSP芯片都具备在单指令周期内完毕乘法—累加操作,并且提供了专门FFT指令,使得FFT算法在DSP芯片实现速度更快。FFT算法可以分为准时间抽取FFT和按频率抽取FFT两大类,输入也有实数和复数之分,普通状况下,都假定输入序列为复数。(一)FFT运算序列存储分派FFT运算时间是衡量DSP芯片性能一种重要指标,因而提高FFT运算速度是非常重要。在用DSP芯片实现FFT算法时,应容许运用DSP芯片所提供各种软、硬件资源。如何运用DSP芯片有限资源,合理地安排好所使用存储空间是十分重要。(二)FFT运算实现用TMS320C54x汇编程序实现FFT算法重要分为四步:1.实现输入数据比特反转输入数据比特反转事实上就是将输入数据进行码位倒置,以便在整个运算后输出序列是一种自然序列。在用汇编指令进