本帖最后由 思行一 于 2018-3-19 14:15 编辑 我现在使用的芯片是STM32F746,遇到的问题是我ADC采集到信号后要做一次FFT,但是我想在加窗之后,做FFT之前加一个数字滤波,由于我的数据量有点大,又希望能尽量的快,而我自己写的滤波函数无法达到要求。 所以我想请教下,ST是否有成熟的数字滤波的库函数可以直接调用?
采样率是1.8M,就是想做一个低通数字滤波
直接软件计算不就得了。
比如你是一直以1.8M速度采集不停,可以设置DMA保存ADC数据,比如设置DMA的缓冲为100,开传输过半中断,即采集了50个数据之后进入中断,逐个处理滤波,同时不影响后50个数据的采集与保存。然后全部传输完了之后再滤波处理一下后50个数据。
保证所有的数据流并行走,用F7应该是来得及的。注意优化一下计算,移位代替除法提高速度。
评分
查看全部评分
嗯,我这个有点特别啊,是ADC要一步采64个点的数据,然后对这64个数据进行去直流加窗滤波做FFT,中间是不能断的,需要连续的。目前使用的是DSP库里面的FIR滤波函数,开了优化先验证下。