描述
<p>注:*为必填项。</p>
<p>【请在报名阶段填写 ↓】</p>
<h1>1、自我/团队介绍</h1>
<p>我们团队成员均为电子信息-生物医学工程的在读研究生,队员曾获得多项电子/计算机设计大赛省奖/国奖/冠军。热爱电子设计,喜欢钻研技术,对电子技术有很强的追求。队长曾在某研究所担任两年电子工程师,实战经验较为丰富。</p>
<h1>2、简要介绍项目</h1>
<p>心血管疾病是危害中国人生命安全的第一大杀手,而目前上面上成熟的心电监护仪大多要600元以上,这样的价格让其难以普及,我们想开发一台足够便宜,足够便携,足够好用的心电监护自动分析装置。有助于保护国人的心血管健康。</p>
<p>该项目是一个三导联ECG心电图检测分析装置,硬件部分为USB心电信号采集卡,采集心电如若信号并处理,最后上传至计算机,在计算机中采用python开发上位机并进行进行处理,显示出心电图,频谱等,并提供心颤检测各种分析功能。该项目是我们实验室研发任务的成员自行研发的衍生产品,其旨在复杂环境下稳定快速可靠地识别房颤室颤,并且提供一个十分经济的心电监护方式,为大项目的整体工作打下基础,后续将继续进行研发。</p>
<p>【请在竞赛阶段填写 ↓】</p>
<h1>1、描述项目详情</h1>
<p>本项目硬件部分采用GD32F130F8P6作为主控,提供采集数据上传的功能。利用运放分别搭建各种放大/滤波陷波电路,将三导联的的心电信号提取出来并且滤除常见干扰。采用USB转串口芯片解决MCU串口和上位机的通讯问题。以下是硬件结构大体框图:
<img src="//image.lceda.cn/pullimage/sR4dVHBzGL4LqUuP6TW24871icFUnIQfiQXqS5qp.jpeg" alt="硬件处理框图.jpg"></p>
<p>在上位机端,我们用python/C++混合编程搭建了心电记录/显示/分析一体化的上位机,提供了心率检测、频谱分析、房颤室颤等分析,并邀请知名专业医生指导验证(实验室合作关系)。以下是上位机软件设计的大致框架:</p>
<p><img src="//image.lceda.cn/pullimage/xjFIauh5rp95YAPQ0liB63CKOBTc9q86bWco3Byw.jpeg" alt="软件流程框架.jpg"></p>
<h1>2、描述项目所面临的挑战及所解决的问题</h1>
<p>我们的初始方案是采用AD8232芯片进行心电信号的提取,但是经过测试发现,无论是我们的测试电路还是买到的DEMO板,只能在无干扰状态下保持良好工作(关闭房间所有交流用电器),抗干扰性能都极差。下图是一张典型的波形,这是我们在关闭所有电器,只开一只台灯的情况下的输出波形(测试淘宝买的AD8232红色模块):
<img src="//image.lceda.cn/pullimage/PkAW43lCbd3n94Zyzt8qx5Cf3VdV5RBI1hwWgPqf.jpeg" alt="50Hz干扰.jpg">
上图可以看到,其存在很高幅度的50Hz工频噪声,我们分析,这是由于其右腿反馈的驱动能力不足,以及内部设计原因所致。
当然如果是纯粹的50Hz干扰,我们可以通过后级滤波来实现,查阅datasheet和实践发现,由于AD8232内部的设计原因,在50Hz干扰达到一定程,则会引发振荡:
<img src="//image.lceda.cn/pullimage/NK6o8z9b82YCQS1sSDqm6diYu1ZdOuajsSGgHcTF.jpeg" alt="震荡波形.jpg"></p>
<p>考虑到我们的项目日后需要在更加复杂的环境下工作,比如应用到电除颤环境下,需要很高的抗干扰性能和灵活性保证,我们选择了采用分立运放自行搭建小信号提取电路:<img src="//image.lceda.cn/pullimage/L652waiTUsAtfhO62DAn1F0pqPngopQ0xSUawu3z.png" alt="信号采集电路.png"></p>
<p>< br>
经测试,抗干扰性能大大强于AD8232。我们测试的条件是空调,电磁炉等较大功率的设备全开,图下是示波器保存的测试报告:</p>
<p><img src="//image.lceda.cn/pullimage/Fu4Qwy6eIzrcmxnJnia5cm1JPeh3IV7HzxRLA6bZ.jpeg" alt="修改.jpg"></p>
<p>几乎完全滤除了50Hz的工频干扰,只留下易于处理(与工作频率相差过大,因此无需处理)的100KHz开关噪声。</p>
<p>在心电分析方面,如何进行室颤房颤的分析成为了软件的重点问题,我们研发了“频谱反馈闭环式近似熵心颤检测算法”,用于解决房颤的识别问题,同时大大减少了导联接触不良或者强干扰状态下的误判问题。同时也开发了一些算法,用于识别心率等多项功能。以下是频谱反馈式近似熵心颤识别算法大致框架:</p>
<p><img src="//image.lceda.cn/pullimage/0ztstpR7GR2jLxaBcJmBP1UVPb7u6apAUAUmkPQs.png" alt="近似熵.png"></p>
<p>< br>
在实际程序编写中,我们遇到了程序计算量过大的问题:</p>
<p>第一次计算,PC花费了3个小时才计算出数据。</p>
<p>第二次,我们根据实际需要优化了计算量,计算时间缩减到了12分钟。</p>
<p>第三次,我们优化了python程序的运行效率,计算时间进一步缩减到了1.2S。</p>
<p>然而,这仍然无法满足我们的要求,因为程序不但需要实时性,而且得具备移植到嵌入式设备的能力,显然此路不通。
我们将算法移植到了C/C++上,留出对外接口,编译成立动态链接库,在windows上是dll,在linux/macOS上是so。
python在需要计算的时候调用动态链接库,达到加速的目的,实测计算速度提升了150倍。
<img src="//image.lceda.cn/pullimage/IgW2v6sl4F5CtyjsBu7nJKZ0pHQhrR9Sg0eZEdy2.png" alt="算法加速.png"></p>
<p>< br></p>
<h1>3、描述项目硬件、软件部分涉及到的关键点</h1>
<p>在我们需要克服各种环境下的50Hz干扰问题,在硬件上,我们做了四阶双T有源陷波电路,同时增强了右腿驱动部分的信号,增强了设备的抗干扰能力(与网上售卖的AD8232模块对比)。在软件上,我们采用了频谱动态闭环反馈的方式,大大降低的心颤误判的概率。我们采用计算信息熵的方式来分析心电信号的有序程度,在房颤和室颤时,近似熵可高达0.6-0.9,而在正常状态下,近似熵仅仅为0.1-0.4之间,在无干扰状态下,可以很清晰的识别出心颤,在干扰严重的情况下,熵会大大增加,频谱的动态反馈则可以解决这个问题。
项目软件分为三个部分:</p>
<p>1、GD32下位机固件软件,主要功能是采集调理后的心电信号,进行滤波等初步处理,并且实时上传。</p>
<p>2、python编写的上位机软件,负责图形界面以及时间复杂度较小的算法,python的跨平台特性使得软件可以轻易移植到各种平台,比如树莓派,香橙派,工控机,手机等。可移植性使得二次开发变得极为容易,举个例子,只需要购买一块linux最小系统板,配上小屏幕就可以将本项目轻松改成手持式心电监护仪,而成本依然远低于世面产品。~~~~</p>
<p>3、C/C++编写编译的动态链接库,该部分主要负责熵分析计算等耗时较大的算法,熵算法在python中计算往往要耗时数秒,采用C/C++编写可降低至毫秒级,保证的上位机程序的实时性和性能。python调用C/C++动态链接库以实现分析房颤室颤。移植到不同架构CPU时需要重新编译动态链接库。</p>
<h1>4、项目材料清单展示</h1>
<p><img src="//image.lceda.cn/pullimage/BpQeyIWlNmlPa5tsI1ZOH1NidPd1OlFVuCdClnZN.png" alt="BOM表.png"></p>
<h1>5、项目图片上传</h1>
<p>5.1、PCB上印制大赛logo图片,若无视为放弃参赛
<img src="//image.lceda.cn/pullimage/p32kniM2zJhlTIORYoIuhrKmYe35juS4BlUDgjs7.jpeg" alt="反面.jpg">
5.2、项目其它图片
<img src="//image.lceda.cn/pullimage/XDMZHVA9WUWm5RLiog6GJntMgMxPniDvj1qU3AnQ.jpeg" alt="PCB正面.jpg"></p>
<h1>6、演示您的项目并录制成视频上传</h1>
<p>6.1、视频上传大赛官网</p>
<p>已上传。</p>
<p>6.2、B站视频标题和链接</p>
<p>项目介绍:< /span><a href="https://www.bilibili.com/video/BV1nV411S7pG?from=search&seid=15477962878967354335" target="_blank">https://www.bilibili.com/video/BV1nV411S7pG?from=search&seid=15477962878967354335</a>< br>
< br>
< br>
团队介绍:< /span><a href="https://www.bilibili.com/video/BV1Tk4y1y7RW?from=search&seid=15477962878967354335" target="_blank">https://www.bilibili.com/video/BV1Tk4y1y7RW?from=search&seid=15477962878967354335</a>< br>
< br>
< br>
功能演示&性能测试:< /span><a href="https://www.bilibili.com/video/BV1vv41117U7?from=search&seid=15477962878967354335" target="_blank">https://www.bilibili.com/video/BV1vv41117U7?from=search&seid=15477962878967354335</a>< br>
< br>
< br>
< br>
注意事项:①:视频要求:请横屏拍摄,分辨率不低于1280×720,格式Mp4/Mov,单个视频大小限100M内;②:视频上传:请同步上传至大赛官网和B站(<a href="www.bilibili.com" target="_blank">www.bilibili.com</a>),B站人气TOP10项目将获得1000-5000元现金奖励,其它上传项目获得100元立创商城无门槛券;③:视频标题:第五届立创电子设计大赛:{项目名称}-{视频模块名称};如第五届立创电子设计大赛:《自动驾驶》项目-团队介绍。~~~~</p>
<h1>7、是否首次公开发布</h1>
<p>7.1、项目之前是否发表过或获奖,请说明</p>
<p>答:项目是首次发布。</p>
<p>7.2、若项目是在原有基础上优化,请说明优化部分</p>
<p>无</p>
<h1>8、开源文档</h1>
<p>见附件。</p>
<h1>9、参考文献</h1>
<p>暂无</p>
<p>点击链接了解更多详情:<a href="https://www.szlcsc.com/go/dsxq" target="_blank">https://www.szlcsc.com/go/dsxq</a></p>
评论(23)