完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我用的是timer中断触发采集数据,一次读取20000个点,ADC用的是DMA,目前用示波器测试下来,做FFT计算,对应的频谱不准,差个几HZ,或者到100hz左右,比如我用示波器发送5khz的sin波,采集后计算FFT,会比5k好几hz,采样频率20k没有用外部晶振,用的内部的HSI时钟,不知道什么原因,或者说内部时钟都是这样,会有偏差,那位大师知道,感谢!
|
|
相关推荐
2个回答
|
|
正常。 你不使用精密的时基元件,即使结果看起来够准确了,实际上也可能存在很大的误差。
|
|
|
|
导致ADC采样频率不准确的原因可能有以下几点:
1. 内部晶振精度限制:内部HSI时钟的精度可能有一定的误差,这会导致ADC采样频率的偏差。可以考虑使用外部晶振提供更准确的时钟信号。 2. DMA传输限制:DMA传输数据时,可能会有一定的延迟或者丢失部分数据,这也可能导致ADC采样频率的偏差。要确保DMA配置正确,以确保准确传输所有的采样数据。 3. FFT计算算法:FFT计算可能会引入一定的误差,特别是当你使用不精确的FFT计算算法时。可以考虑使用更准确的FFT计算算法来提高频谱的准确性。 4. ADC参考电压精度限制:如果ADC参考电压的精度有误差,也会导致采样数据的不准确。确保ADC参考电压稳定并且精确。 5. 环境干扰:如果存在外部干扰,例如电磁干扰或者信号噪音,在采集到的数据中可能引入一定的误差。可以考虑使用屏蔽线或者信号放大器来减少干扰。 综上所述,你可以尝试使用外部晶振提供更准确的时钟信号,调整DMA配置以确保数据传输的准确性,使用更准确的FFT计算算法,确保ADC参考电压的精度以及减少环境干扰来提高ADC采样频率的准确性。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1780 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1081 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1679 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
596浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
556浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:32 , Processed in 0.890890 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号