2019-07-14 23:15发布
aa9527 发表于 2014-12-4 19:55 根据香农定律,采样两倍。也就是说,你想采集到20kHz的频率,就要有超过40kHz的采样速度。同时计算FFT,其实是对某一段波形进行分析。假设你是以40kHz采样频率,最低需要采集50Hz的数据,那么你就采集时长为20ms的数据,20ms里以40kHz采集了多少点,就用这么多个点来分析,在按照事先算好的频率间距,就可以知道每个点分析 ...
最多设置5个标签!
你好,请问你有stm32的fft的代码吗,想参考学习学习。那如果用锁相倍频电路,每个周期采样256个点,即50Hz采样点为50x256,这和你所说的香农定律是一样的吗
根据香农定理,采样频率大于2倍才能采集到正确的信号。那么就需要使用至少40K的采样频率,也就是说每隔25us进行一次采样,AD的转换速度应该问题不大。
stm32f103的主频最高是72M,也就是说,14ns可以执行一条单周期指令,那么在25us的周期内可以执行1785条单周期指令,转换为C语言,至少要考虑80%的编译消耗,就是说25us大约可以执行1428条C代码,但实际的情况还会更少。所以采样代码要更短,如果使用定时器中断采样,那么考虑中断切换的时间与中断函数的处理时间,越短越好,否则所有算法正确的情况下,也只得到失真的采样值。同样,如果要提高采样频率,请仔细考虑主频与采样周期的关系。
至于FFT算法,翻翻数字信号处理的书,理论上面很清楚了,真的明白理论,转换为代码应该不难。
一周热门 更多>