cool-366442 发表于 2020-9-13 20:19:28

stm32F412,ADC采样频率不准

我用的是timer中断触发采集数据,一次读取20000个点,ADC用的是DMA,目前用示波器测试下来,做FFT计算,对应的频谱不准,差个几HZ,或者到100hz左右,比如我用示波器发送5khz的sin波,采集后计算FFT,会比5k好几hz,采样频率20k没有用外部晶振,用的内部的HSI时钟,不知道什么原因,或者说内部时钟都是这样,会有偏差,那位大师知道,感谢!

radio2radio 发表于 2020-9-13 23:55:17

正常。 你不使用精密的时基元件,即使结果看起来够准确了,实际上也可能存在很大的误差。

数码小叶 发表于 2020-9-14 08:42:49

为啥怀疑ADC不准。。。而不是怀疑你的采样率和采样点数导致的频域分辨率不够,导致的合理误差呢:L:L:L

cool-366442 发表于 2020-9-14 14:23:41

因为我是示波器打的信号,2v的信号,sin信号,5khz,我采样率20Khz,分辨率怎么不够?我也试过100hz信号,也会有偏差,2hz左右,不是分辨率的不够的原因

cool-366442 发表于 2020-9-14 14:28:09

不是采集ADC不准,是采集的一组数据,计算FFT的频率不准!!!!!

小歆-2051663 发表于 2020-9-17 10:49:27

你这个和ADC没关系,是你的timer不准,还是用外部晶振吧。

butterflyspring 发表于 2020-9-22 11:37:33

内部HSI 在25度的时候精度只有百分之一,因此采样差一点多半是这个原因。把时钟源换成外部晶体试试。
页: [1]
查看完整版本: stm32F412,ADC采样频率不准