中南大学dsp2812实验报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

DSPf2812实验报告

实验工程

AD采样及其频谱分析

学生姓名

周群创

指导教师

陈宁

专业班级

电子信息1101

目录

TOC\o1-3\h\z\uAD采样及基2FFT频谱分析 3

一、实验要求: 3

二、实验设备及环境 3

三、实验原理及其步骤 3

四、实验结果及其分析 10

AD采样及基2FFT频谱分析

一、实验要求:

编写基2-FFT变换的程序,要求对从2812的A/D口实时输入的正弦信号进行频谱分析,并验证采样定理。

二、实验设备及环境

安装ccs3.3的操作系统,dsp系统实验箱

三、实验原理及其步骤

学会使用f2812对外部信号进行采样然后进基2-FFT变换,求出信号的频谱

快速傅里叶变换〔FFT〕算法

离散傅里叶变换作为信号处理中最根本和最常用的运算,在信号处理领域占有根底性的地位,离散傅里叶变换定义为:

k=0,1,…,N?1,

如果直接按照公式进行计算,求出N点X(k)需要N2次复数乘法,N〔N?1〕次复数加法,如此推算,进行1024点傅里叶变换共需要4194304次实数乘法,这对于实时处理是无法接受的。而傅里叶快速〔FFT〕算法的提出使傅里叶变换成为一种真正实用的算法。

第一步输入数据的组合和位倒序

把输入序列作位倒序是为了在整个运算最后的输出中得到的序列是自然顺序。首先,把原始输入的2N=1024个点的实数序列a(n)当成N=512点的复数序列d(n)。偶数地址是d(n)的实部,奇数地址是d(n)的虚部。然后,复数序列经过位倒序,存储在DATA数据处理缓冲器中。

在用VC55X进行位倒序组合时,使用位倒序寻址方式,AR0存放的整数N是FFT点数的一半,一个辅助存放器指向一个数据存放的单元。当使用位倒序寻址把AR0加到辅助存放器时,地址以位倒序的方式产生,进位是从左到右。

第二步N点复数FFT

在DATA数据处理缓冲器里进行N点复数FFT运算。用Q15格式把正弦和余弦表存储在两个别离的表中,每个表有512个数据,对应从0到180度。

512点的复数FFT分为九级,最后结果

D[K]=F{d(n)}=R[K]+JI[k]

R[K],I[k]分别是D[k]的实部和虚部,D[K]存储到DATA数据处理缓冲器。

第三步别离复数FFT的输出为奇、偶局部

利用DFT变换的共轭对称性,别离FFT输出为偶实数RP[k]、奇实数RM[k]、偶虚数IP[k]和奇虚数IM[k]:

RP[k]=RP[N-k]=0.5*(R[k]+R[N-k])

RM[k]=-RM[N-k]=0.5*(R[k]-R[N-k])

IP[k]=IP[N-k]=0.5*(I[k]+I[N-k])

IM[k]=-IM[N-k]=0.5*(I[k]-I[N-k])

RP[0]=R[0]IP[0]=I[0]

RM[0]=IM[0]=RM[N/2]=IM[N/2]=0

RP[N/2]=R[N/2]IP[N/2]=I[N/2]

RP[k]和IP[k](偶数局部)存储在上半局部,RM[k]和IM[k]存储在下半局部。

第四步产生2N点的复数FFT输出序列

a(n)的FFT:A[k]=A[2N-k]=AR[k]+jAI[k]

实数FFT输出按照实数/虚数的自然顺序填满整个4N个字节的数据处理缓冲器。由于最后所得的FFT数据是一个复数,为了能方便观察该信号的频谱特征,对所得结果进行处理,取实部和虚部的平方和。即求该信号的功率

DIT―FFT运算和程序框图倒序程序框图

F2812fft程序

#includeDSP281x_Device.h//DSP281xHeaderfileIncludeFile

#includeDSP281x_Examples.h//DSP281xExamplesIncludeFile

#includef2812a.h

#includemath.h

#definePI3.1415926

#defineSAMPLENUMBER128

voidInitForFFT();

voidMakeWave();

//voidFFT(floatdataR[SAMPLENUMBER],floatdataI[SAMPLENUMBER]);

intINPUT[SAMPLENUMBER],DATA[SAMPLENUMBER];

floatfWaveR[SAMPLENUMBER],fWaveI[SAMPLENUMBER],w[SAM

文档评论(0)

181****7662 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档