完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我现在使用的芯片是STM32F746,遇到的问题是我ADC采集到信号后要做一次FFT,但是我想在加窗之后,做FFT之前加一个数字滤波,由于我的数据量有点大,又希望能尽量的快,而我自己写的滤波函数无法达到要求。 所以我想请教下,ST是否有成熟的数字滤波的库函数可以直接调用? |
|
相关推荐
9个回答
|
|
请问你想怎么样滤波?你现在的ADC采样速率是多少?间隔多久?或者是一直全速采集?
|
|
|
|
采样率是1.8M,就是想做一个低通数字滤波 |
|
|
|
直接软件计算不就得了。 比如你是一直以1.8M速度采集不停,可以设置DMA保存ADC数据,比如设置DMA的缓冲为100,开传输过半中断,即采集了50个数据之后进入中断,逐个处理滤波,同时不影响后50个数据的采集与保存。然后全部传输完了之后再滤波处理一下后50个数据。 保证所有的数据流并行走,用F7应该是来得及的。注意优化一下计算,移位代替除法提高速度。 |
|
|
|
滔滔不绝的滔滔 发表于 2019-1-4 19:16 嗯,我这个有点特别啊,是ADC要一步采64个点的数据,然后对这64个数据进行去直流加窗滤波做FFT,中间是不能断的,需要连续的。目前使用的是DSP库里面的FIR滤波函数,开了优化先验证下。 |
|
|
|
经过两天的测试,使用DSP库里面的FIR滤波稍好一点,但是对于简单的低通滤波,建议自己将滤波系数分开采用移位和加法来进行计算,这样比DSP库的还要快一点。over
|
|
|
|
问题将将就就就这样吧,结贴吧。
|
|
|
|
楼主,能请教你一些问题吗
|
|
|
|
没有可以直接用的
|
|
|
|
外加sram试试哦
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
621 浏览 1 评论
1962 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1068 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1487 浏览 1 评论
LL库F030进行3个串口收发,2个串口为232,一个为485,长时间后,会出现串口1停止运行,另外两个正常,只有重启复原
1924 浏览 1 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 05:22 , Processed in 0.870411 second(s), Total 90, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号