关注分享主机优惠活动
国内外VPS云服务器

MAX30102 脉搏血氧计和心率传感器 (2) FIR 滤波器(血氧计脉搏波形)

总结:为了便于进一步处理,更准确地计算结果,必须对采集到的信号进行滤波处理。 当我使用中断引脚信号时,错误消失了。 滤波器设计 为了便于实现,设计一个低通滤波器。 实时测试串口输出的实际效果。 红色曲线是原始信号,蓝色曲线是滤波后的波形。

文章内容简介 1. 纠正前几章中的错误 2. 设计 FIR 滤波器 1. 采集信号的频谱分析 2. 设计滤波器 3. 仿真 3. ARM_MATH 库的实现(以STM32为例)滤波前后实际效果测试 4.获取工程源码

1.纠正上一章中出现的错误

上一章中,读取PPG信号每隔几个周期就有噪声。 原因是读取时序和数据采集时序不匹配。 当我使用中断引脚信号时,错误消失了。

2. FIR 滤波器设计 1. 对采集到的信号进行频谱分析。

可以看出,PPG信号分量的频率主要集中在0.5-2Hz之间。 为了消除个体差异,频率内容应保持在0.5-3Hz(即心率30次/分钟-180次/分钟)。

2. 滤波器设计

设计一个低通滤波器以便于实现。 参数为:

3.滤波器模拟

可以看到3Hz以下的频率成分被保留,3Hz以上的频率成分被滤掉。

3、实现ARM_MATH库(以STM32为例)

将ARM_MATH库移植到您的工程中,并将上面设计的滤波器参数生成的头文件导入到您的工程中。 两个主要功能是:

arm_fir_init_f32(&S, NUM_TAPS,(float32_t *)&firCoeffs32LP[0], &firStateF32[0], blockSize);arm_fir_f32(&S,&input,&output, blockSize);

这里就不多介绍了。 如果您想了解更多信息,请查看 Avnet 的 DSP 教程。

实际效果测试

串口实时输出。 红色曲线是原始信号,蓝色曲线是滤波后的波形。

过滤前

过滤后

4、获取项目源码

关注公众号,回复“MAX30102V2”即可获取源码get。 如果您有任何疑问,请回复公众号“交流群”并进群共同讨论分享!

未经允许不得转载:主机频道 » MAX30102 脉搏血氧计和心率传感器 (2) FIR 滤波器(血氧计脉搏波形)

评论 抢沙发

评论前必须登录!