硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1349|回复: 5
收起左侧

[DSP] 探讨下低频干扰的滤波实时性问题

[复制链接]

1

主题

3

回帖

6

积分

新手上路

积分
6
发表于 2024-12-31 15:05:55 | 显示全部楼层 |阅读模式
本帖最后由 zmin21 于 2024-12-31 15:25 编辑

问题场景是, 我们需要50Hz的目标信号, 但是存在5Hz左右的低频干扰, 希望数字滤波干掉,

采样频率4K Hz, 一个周期20ms对于5Hz的低频信号太短了, 设计的4阶IIR高通滤波截止频率30hz, 每周期采样完调用 arm_biquad_cascade_df1_f32 实测处理的效果很差, 但是拉开到8个周期的数据再调用 arm_biquad_cascade_df1_f32 就能处理的比较满意

就是能做到 实时性滤波吗, 按道理能借鉴以前的输入输出进行滤波的啊...
回复

使用道具 举报

1

主题

3

回帖

6

积分

新手上路

积分
6
 楼主| 发表于 2024-12-31 15:22:21 | 显示全部楼层
我看工程 H743App\Drivers\CMSIS\DSP\Source\FilteringFunctions\arm_biquad_cascade_df1_f32.c  似乎有点老, 不知道有没影响, 感觉的更新测试
回复

使用道具 举报

0

主题

37

回帖

37

积分

新手上路

积分
37
发表于 2024-12-31 19:26:02 | 显示全部楼层
不太理解你的问题,你是以4KHz采样率采样,每采样20ms就停下来做一次滤波,然后继续下一轮采样吗?

如果是的话中间的数据就丢失了,直接做滤波结果肯定不太正确。

否则的话,采样没有丢失,就可以用IIR做实时过滤,这是很容易的(除非算力很弱)。
回复

使用道具 举报

5

主题

208

回帖

223

积分

高级会员

积分
223
发表于 2025-6-5 15:30:35 | 显示全部楼层
可以软件滤波,4K的采样率,先做FFT,然后代码里面把5HZ以下的频谱=0,然后再逆FFT还原信号就行了
回复

使用道具 举报

11

主题

47

回帖

80

积分

初级会员

积分
80
发表于 前天 09:16 | 显示全部楼层
honami520 发表于 2025-6-5 15:30
可以软件滤波,4K的采样率,先做FFT,然后代码里面把5HZ以下的频谱=0,然后再逆FFT还原信号就行了

有参考源码吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116746
QQ
发表于 昨天 09:21 | 显示全部楼层

此贴的V5-222, 可以方便的正变换和逆变换

https://www.armbbs.cn/forum.php?mod=viewthread&tid=94547
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-7-4 18:29 , Processed in 0.236380 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表