臂式数字血压计(生医竞赛)

简介:

   该血压计由传感器、前端模拟信号电路、充气和放气控制回路、微控制器、液晶显示屏和指示电路组成。血压判别方法使用波形特征法和幅度系数法结合的方式分段判定计算舒张压、收缩压、平均压等血压参数。

硬件设计:

  

硬件整体还是较为普遍的搭建方式,主要是围绕传感器的信号处理和气泵、电磁阀的控制。

  信号部分:

传感器选用XGZP6847A,具有偏移、灵敏度、温漂和非线性进行数字补偿,以及内部放大功能,即准确度较好,精度较高具有较好的容错率。

 需要注意的是,使用后要对其进行多次测量,插值拟合的方式进行校准。(包括供电对其气压和电压转换关系的影响也要测试一下)气压小时斜率较小(气压和电压一次一项式关系)气压大于大约80mmHg时,斜率会较于之前大一些,当大于200mmHg时,直线又变得较为平坦。(ps:该数值都是基于该硬件设计,当供电发生变化时可能要重新标定,建议测量拟合校准下)

  由于脉搏波信号微弱,而50Hz工频干扰幅值远远大于脉搏波信号,因此脉搏振荡波极容易淹没于干扰中。

因此首先将采集到的信号进行去噪处理,由于信号包含袖带压信号和脉搏振荡信号,所以需将脉搏波振荡信号与袖带压信号分离。因为袖带压信号为直流信号,所以采用高通滤波器对信号进行滤波处理,截止频率为fc=1.1;脉搏波的幅值为1-3mmHg,分离后的脉搏波幅值小不满足AD采样的要求,故而滤波的同时进行轨对轨放大,放大倍数经调试后,选择合适的110倍。

   为防止放大后,脉搏波负值信号丢失导致波形不完整影响系统的准确性,故而基准采取1/2VCC对信号进行抬升,从而保证信号的完整性。

   经过高通与放大的信号后需要对脉搏振荡波进行RC低通滤波。主要是为了去除50Hz工频等干扰,截止频率为fc=42.3,从而得到较为干净的脉搏信号进入AD采样I/O。(ps:采集到的脉搏信号确实较为干净,但是会出现失真的情况,建议调节下RC,当然因为血压判别主要是峰值点采集,也可以用,还是建议波形保持完整,因为可能存在基线漂移,波形不完整不好进行数字处理)。

  由于袖带压信号为直流信号,为滤除杂波得到较干净的袖带压信号,本作品对袖带压的提取采用低通滤波,截止频率为fc=5.3。

 

 

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
以下是利用Python编写的程序,实现了上述要求: ``` import matplotlib.pyplot as plt # 生医18级成绩分布 labels18 = ['优秀', '良好', '中等', '及格', '不及格'] sizes18 = [3, 18, 20, 12, 7] # 生医19级成绩分布 labels19 = ['优秀', '良好', '中等', '及格', '不及格'] sizes19 = [4, 20, 21, 10, 4] # 绘制生医18级成绩分布饼图 plt.figure(figsize=(6, 6)) plt.pie(sizes18, labels=labels18, autopct='%1.1f%%') plt.title('生医18级该课程成绩分布百分比') plt.show() # 绘制生医19级成绩分布饼图 plt.figure(figsize=(6, 6)) plt.pie(sizes19, labels=labels19, autopct='%1.1f%%') plt.title('生医19级该课程成绩分布百分比') plt.show() # 绘制两个年级的成绩分布百分比对比直方图 x = ['18级优秀', '18级良好', '18级中等', '18级及格', '18级不及格', '19级优秀', '19级良好', '19级中等', '19级及格', '19级不及格'] y = sizes18 + sizes19 plt.figure(figsize=(10, 6)) plt.bar(x, y) plt.title('两个年级该课程成绩分布百分比对比') plt.xlabel('成绩分布') plt.ylabel('人数') plt.show() ``` 程序注释如下: 1. 导入 matplotlib.pyplot 库,用于绘制图形。 2. 定义生医18级成绩分布饼图的标签和比例。 3. 定义生医19级成绩分布饼图的标签和比例。 4. 绘制生医18级成绩分布饼图,设置图形大小,使用 plt.pie() 函数绘制饼图,设置标签和自动计算百分比,并设置图形标题,最后展示图形。 5. 绘制生医19级成绩分布饼图,与上一步类似。 6. 定义两个年级的成绩分布对比直方图的 x 和 y 轴数据。 7. 绘制两个年级的成绩分布对比直方图,设置图形大小,使用 plt.bar() 函数绘制直方图,设置标题、标签和坐标轴,最后展示图形。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要好好滴啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值