求直流过滤算法附图
各位大神,有做个直流过滤算法的吗。小弟最近在做血压计,气压传感器出来的信号是直流里包含了脉搏信号的。用算法可以把脉搏信号过滤出来吗?看波形挺好啊,求个平均值,信号减去平均值,判断过零次数。 LcwSwust 发表于 2021-9-6 12:00
看波形挺好啊,求个平均值,信号减去平均值,判断过零次数。
这个平均值怎么求好呢
cainiao402 发表于 2021-9-6 12:04
这个平均值怎么求好呢
https://blog.csdn.net/weixin_42019584/article/details/80142292
推荐“递推平均滤波”或“一阶滞后滤波”
本帖最后由 cainiao402 于 2021-9-6 15:18 编辑
试了。还是不行。
LcwSwust 发表于 2021-9-6 13:03
https://blog.csdn.net/weixin_42019584/article/details/80142292
推荐“递推平均滤波”或“一阶滞后滤 ...
试了不行,滤波效果,如下图。还有什么方法吗 cainiao402 发表于 2021-9-6 15:19
试了不行,滤波效果,如下图。还有什么方法吗
仔细看这句话“信号减去平均值”,
意思就是还有一步操作:“原图”与“滤波后”的值相减。
用方均根算法行不行? FFT,去掉0HZ以外的东西,再反FFT 一个数字高通滤波的事。 至少0.5HZ的低通,脉搏可以低至一分钟50次,一般的平均数法达不到这个频率,要不然就用数字滤波FIR或者IIR,硬件上用运放组个四阶低通试试? 本帖最后由 computer00 于 2021-9-7 10:05 编辑
float x = 0.0f;
float y = 0.0f;
for (i = 0; i < LEN; i ++) {
y = input - x + y * 0.999f;
x = input;
output = y;
} computer00 发表于 2021-9-7 08:46
float x = 0.0f;
float y = 0.0f;
这个是什么算法? zjsx8192 发表于 2021-9-7 09:01
这个是什么算法?
就是一个高通滤波器,调整后面的0.999那个系数,可以调整截止频率。 先加一个带通滤波器,然后去直流,还是不理想就用FFT把低频全部删掉
页:
[1]