第一次发长点的贴子,有什么不对的地方希望在这里好好讨论下,最近试了下在STM32上跑的FFT,使用32出的DSP库,自己的FFT理论几乎什么都不懂,只是知道是用来把信号转换到频域分析的,在很多时候频域可以一眼看出信号的特性,所以有空在32上试了试,主要参考了坛友的一个帖子,谢谢那位朋友,附上地址 http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4202453&bbs_page_no=1&search_mode=4&search_text=along0425&bbs_id=9999
我使用的256个采样点,52K的采样频率,步进200HZ,理论上频率上限是26K,但实际测试中到了22K,足够来分析音频信号了,下面是我这几天一些测试结果,用信号源测试的,随后用来测试音频信号。
1 先用1K信号测试,峰峰值3V,无偏移。
(原文件名:1.jpg)
步进200HZ,在第五个数据时出现了最大幅度,对应频率是1K。
2 先用18K信号测试,峰峰值3V,无偏移。
(原文件名:2.jpg)
结果还行。
3 现在用两路信号混合,第一路是3K,第二路是14K,峰峰值都是1.5V来进行测试。
(原文件名:3.jpg)
明显3K和14K的幅度最大,但出现了一点不准确的数据就是10K和17K的地方幅度也很大,希望高手说下原因,谢谢。
存在的问题:
我旁边用数字示波器上的FFT功能与32的对比,但是为什么信号一加到IO上后,信号频率的整数倍就出现了较大的幅值,断开IO口就变正常了。比如我加了3K的信号到单片机IO口,同时在示波器上的FFT看到了6K的信号幅值是3K的一半,类推9K的差不多是6K的一半,但是去掉与IO口的接线后就只有3K的信号,其他的几乎为0,为什么?
附上代码,随后弄出来音频分析继续分享,第一次发这么多,弄了我整整一个下午,够累的,希望支持下!
点击此处下载
ourdev_665013PAL0IV.rar(文件大小:4.75M) (原文件名:fft.rar)
串口输出打印出来,然后导入EXCEL,然后生成曲线图。
记得当初是正玄。
一周热门 更多>