2020电赛A题(心电波形,lcd显示,心率计算,iir滤波处理)
STM32心电波形显示 心率计算
1.硬件部分
心率信号收集的硬件部分采用了ADS1292模块(淘宝就有卖),这个芯片也是TI的要求使用芯片。
除了ADS1292的另外一块芯片的作用是电源隔离
购买模块的时候 商家会给ADS1292收集心电信号的例程,在这个基础上改写
2.心电仪产生的心电信号收集与显示
这是心电仪信号(不是人体信号)并且尚未进行滤波处理的显示
3.IIR滤波处理 与 简单平滑处理的效果展示
IIR效果
IIR代码实现
假如有一个500点的数组 那么直接 for(i=0;i<500;i++) 滤波后的数据[i]=filterloop(滤波钱的数据[i]);
float filterloop(float baroOffset);
float xv[NZEROS+1], yv[NPOLES+1];
float filterloop(float baroOffset)
{ xv[0] = xv[1]; xv[1] = xv[2]; xv[2] = baroOffset/ 0.3513235 ;yv[0] = yv[1]; yv[1] = yv[2]; yv[2] = ( -1 * xv[0] + xv[2]) + ( -0.29735293* yv[0]) + ( +1.288421 * yv[1]);return yv[2];
}
系数是要自己设计的 根据需要的截止频率
请看这个https://blog.csdn.net/tap880507/article/details/78930469
这是别人写的
简单平滑滤波处理
在心电仪信号的情况下看样子和IIR差不多。但是如果是人体心电信号的话,这个简单的平滑就不行了
简单平滑处理代码实现
和IIR函数一样输入 需要处理的一组数据,返回值是得到处理过后的结果
u16 baroAlt=0;
u16 filter(u16 baroOffset)
{ u16 baro; baro = 0.8 * baroOffset + (1.0f - 0.8) * baroAlt;baroAlt = baro;return baro;
}
4.LCD显示函数
不知道大家用STM32做实时显示波形的时候是什么方法。我最开始是描点画图然后清屏,但是太闪了。所以后来用了下面这种方法。将之前的波形用底色重新画一遍,达到清屏效果。
void DrawOscillogram(void)//画波形图
{ u16 i = 0;POINT_COLOR=RED;for(i=50;i<430;i++){LCD_DrawLine(i,data[i],i+1,data[i+1]);}
}
void DrawOscillogram_Clear(void)//用底色画之前的波形图达到清屏效果
{u16 i = 0;POINT_COLOR = BLACK;for(i =50;i <449;i++){LCD_Fast_DrawPoint(i,(data1[i]),BLACK);}for(i=50;i<449;i++){LCD_DrawLine(i,data1[i],i+1,data1[i+1]);}
}//在主函数中的位置关系 data[i]是每次要更新的图像 储存在data1[i]中进行下一次的清屏DrawOscillogram_Clear();for(i=0;i<500;i++)data1[i]=data[i];DrawOscillogram();
5.测量心率的函数
核心技术 随缘更新
2020电赛A题(心电波形,lcd显示,心率计算,iir滤波处理)相关推荐
- 2020电赛F题回顾——简易无接触温度测量与身份识别装置
2020电赛F题回顾--简易无接触温度测量与身份识别装置 第一次参加电赛,已经大三了,这也有可能是我的最后一次,不禁感慨时间过得真快.在实验室一起奋斗的夜晚既辛苦又幸福,感谢陪伴在我身边一起做电赛的同 ...
- python利用tensorflow识别圆_RaspberryPi上实现佩戴口罩识别——2020电赛F题小记
今年的电赛题目非常反常,传统控制题目基本没有,新增加了测距题目,甚至物联网题目,Ai题目都出来了.直接电赛变算法+钞能力大赛.看到F题:测温+人脸识别,碰巧我们手头有调好的红外测温模块+树莓派+ope ...
- 2020电赛模拟题:自制积分式直流数字电压表
双积分式直流数字电压表 By SCU Team 任务 全国大学生电子设计竞赛模拟题 在不采用专用A/D转换器芯片的前提下,设计并制作积分型直流数字电压表. 要求 1.基本要求; (1)测量范围: 10 ...
- 15电赛b题风力摆小记:陀螺仪计算激光点在大地坐标系下坐标
加速度计计算激光点在大地坐标系下坐标 最近在做风力摆题目,我们想着求解激光点坐标.有两种方案: 利用摄像头做传感器,将摄像头放在坐标纸旁边,然后透视变换即可得到激光坐标. 利用陀螺仪解算. 因为不熟悉 ...
- 2020电赛经验总结+E题解题思路
2020电赛经验总结+E题解题思路 取得的成果和经验 四川省2020年电子设计竞赛已经落下帷幕,第一次参加电赛,无论从知识还是经验上都有所获得.虽然只取得省三的成绩,但整个比赛过程为明年备战国赛具有指 ...
- 电赛 | 电源题软件如何准备?
关注.星标公众号,直达精彩内容 摘要:PWM和SPWM在电源的备战中是很有必要的.基础的恒流源.恒压源需要使用PWM的占空比及频率来达到数控的作用,往后的逆变则需要用到SPWM.当然还有ADC.DAC ...
- 电赛猜题?我觉得没用,还不如做好这些!
01 前言 大家好,我是张巧龙,转眼又到22年电赛,这个公众号上有很多同学可能都参加过电赛,有毕业的已经工作的,也有没毕业的今年要参加. 我第一次接触电赛是在大一暑期,从参加电赛到指导学生参加电赛,转 ...
- 2019年电赛D题《简易电路特性测试仪》全过程
本人为团队中负责硬件部分,为了准备2022年电赛,本队伍已经制作2019年和2021年电赛信号题,本次主要讲解为2019年电赛D题硬件部分,少部分为软件需要做的部分.后续会对整个硬件进行优化和整理. ...
- 2021年电赛 E题 数字传输
数字-模拟信号混合传输收发机(E题) 目录 题目 方案 工程文件 题目 (2) 实现数字信号传输. 首先键入4个0~9的一组数字,在发送端进行存储并显示,然后按下发送键对数字信号连续循环传输.在接收端 ...
最新文章
- 老版本的Spring应用该如何应对这次的RCE漏洞?
- 百度地图api location 211 sn校验失败
- android软键盘上推ui解决
- 骗子收录网站源码PHP搭建
- 太阳能传感器目前主要故障问题解决方案
- 任何一台计算机都可以安装win 7系统,最全面win7系统如何安装
- 麦克纳姆轮运动特性分析(图片版)
- php js 报错信息,JavaScript中错误异常的分析(附示例)
- HTTP请求字符限制和HTTP状态码
- 吃鸡ios和android灵敏度,吃鸡手游pc版怎么调灵敏度参数教程 | 手游网游页游攻略大全...
- MongoDB之Robo3T客户端安装
- 戴尔笔记本电脑耳机插入声音外放问题
- linux coreclr编译,.NET跨平台:在Linux Ubuntu上编译coreclr/corefx/dnx(20150617)
- Ip可视一键对讲机特点
- Ubuntu server安装ubuntu桌面,安装软件中心-ubuntu software
- linux怎么查看当前系统版本号,如何查看当前系统版本的版本号
- “风华绝代”的【手机展示架】买了就绝不后悔
- 多轴控制玻璃行业程序 相机 ST LAD SFC
- DateEdit和TimeEdit
- matlab怎样编程形成软件_matlab是什么编程语言?matlab是编程语言吗