我用的是timer中断触发采集数据,一次读取20000个点,ADC用的是DMA,目前用示波器测试下来,做FFT计算,对应的频谱不准,差个几HZ,或者到100hz左右,比如我用示波器发送5khz的sin波,采集后计算FFT,会比5k好几hz,采样频率20k没有用外部晶振,用的内部的HSI时钟,不知道什么原因,或者说内部时钟都是这样,会有偏差,那位大师知道,感谢! |
正常。 你不使用精密的时基元件,即使结果看起来够准确了,实际上也可能存在很大的误差。 |
为啥怀疑ADC不准。。。而不是怀疑你的采样率和采样点数导致的频域分辨率不够,导致的合理误差呢 |
因为我是示波器打的信号,2v的信号,sin信号,5khz,我采样率20Khz,分辨率怎么不够?我也试过100hz信号,也会有偏差,2hz左右,不是分辨率的不够的原因 |
不是采集ADC不准,是采集的一组数据,计算FFT的频率不准!!!!! |
你这个和ADC没关系,是你的timer不准,还是用外部晶振吧。 |
内部HSI 在25度的时候精度只有百分之一,因此采样差一点多半是这个原因。把时钟源换成外部晶体试试。 |