关于Linux下做FFT运算的一疑惑.doc
《关于Linux下做FFT运算的一疑惑.doc》由会员分享,可在线阅读,更多相关《关于Linux下做FFT运算的一疑惑.doc(1页珍藏版)》请在三一文库上搜索。
关于Linux下做FFT运算的一疑惑2018年TI杯多省联赛落下帷幕。看了赛题,觉得还是蛮有意思的,第一个题目,是进行电流幅度的计算,需要用到FFT运算。我这里是在Intel Cyclone V SoC上进行了一次实验,使用12位有符号的高速ADC(AD9226),通过控制采样设置采样率为2048Hz,采样8192个点,然后执行FFT运算。在网上找了一个成熟的FFT运算代码,加入工程中编译,结果发现计算的幅度值永远只有实际幅度值的1/4,而该代码在NIOS II CPU上运行却是正确的。一直没找到问题所在。特发代码出来,看有没有人能指点一二。FFT.cmain文件里有些许冗余代码没有删掉,请直接看main函数中相关内容即可。以下为完整的DS-5工程文件源码。ADC_FFT.rar(83.11 KB, 下载次数: 999)(点击阅读原文下载)在运行结果中,如果对FFT的运算结果乘以4,得到的结果就是正确的幅值。如下图是乘以4之后的结果,一个是10Hz频率时候,一个是100Hz频率时候:再次说明下参数:2048Hz采样率,8192个点FFT,ADC是12位有符号ADC。使用的DMA完成数据的采集,DMA采集了2个通道共24位的数据,然后高16位存储通道1的数据,低16位存储通道0的数据,需要注意的是。每个16位的数据中,低12位为数据,高12位始终为0。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关于 Linux FFT 运算 疑惑
链接地址:https://www.31doc.com/p-3387699.html