基于ESP32的睡眠脑电监测系统设计

(整期优先)网络出版时间:2023-04-21
/ 2

基于ESP32的睡眠脑电监测系统设计

刘晓樑 ,刘恬

(韶关学院,广东 韶关 51200)

摘 要:随着社会经济的发展,越来越多的人的睡眠质量受到影响,搭建一套简便、有效的睡眠脑电监测系统是十分必要的。本文设计了一种使用ADS1299模拟前端和ESP32无线传输模块的睡眠脑电信号监测系统,系统能够记录整晚的睡眠脑电数据,进行自动睡眠分期,同时对睡眠质量进行评估。本系统能够用于整晚睡眠监测和定量评价,在睡眠研究及普及应用方面具有重要的价值。

关键词:睡眠脑电;ADS1299;ESP32

0 引言

睡眠对人体健康非常重要,睡眠质量的好坏直接影响到人们的生活和工作。医学上对睡眠质量的诊断的是通过对睡眠时的多种生理信号进行分析,其中对睡眠脑电的分析和研究是最基本和最有效的途径。

临床医学上一般使用多导睡眠监测仪(Polysomnography,PSG)对患者进行睡眠监测,监测脑电图、眼动图、肌电图、监测血氧饱和度、心电、鼻气流、鼾声、胸腹呼吸、体位等生理信号。虽然PSG精确度高,但此类仪器必须在医院睡眠室由专业医师指导使用,费用较高且效率低下。

为此,设计一种能够快速采集、降噪、处理的睡眠监测系统具有实际价值。本文设计了一种使用ADS1299模拟前端和ESP32 WIFI无线传输模块无线脑电信号采集系统,系统能够记录整晚的睡眠脑电数据,进行自动睡眠分期,同时对睡眠质量进行评估。

1 系统设计

睡眠脑电监测系统主要由硬件部分和软件部分组成。硬件部分包括电极部分、脑电信号采集系统和上位机,系统的整体框图如图1所示。睡眠脑电监测系统主要由脑电帽、预处理电路、模拟前端、ESP32主控模块、电源管理模块和上位机构成。系统采集数据过程如下:首先,主控模块ESP32接收上位机发送的采集命令后开始进行EEG采集,脑电信号通过电极帽经预处理电路进入模拟前端1299,模拟前端对EEG信号进行放大并对其数字化得到8通道原始EEG数据;然后,主控模块对EEG信号进行打包,通过Wi-Fi信号将数据发送至上位机,上位机对数据进行校验、解析、实时绘图和存储,以便对脑电信号进行进一步的处理。

1681905279298

图1 睡眠脑电监系统硬件架构

2 硬件电路设计

2.1 预处理电路

预处理电路包括静电防护电路、前置放大电路、陷波滤波器和低通滤波电路,预处理电路如图2所示。

1681905963835

图2 预处理电路

其中静电防护电路使用ESD保护二极管ESD401,具有防护±24kV接触放电功能。前端放大电路使用仪表放大器AD620,AD620是一款低成本、高精度仪表放大器,仅需要一个外部电阻来设置增益,增益范围为1至1000,具有低失调、高共模抑制比、高输入阻抗、高增益等优点。陷波滤波器采用了具有正反馈的双T带阻滤波器,具有很好的陷波深度和很高的Q值,为后级采集纯净的脑电波形有力保障。脑电信号的主要频率分布范围为0.5~100Hz,可用信息主要分布在50Hz以下。系统采用2阶电阻电容低通滤波电路,电路电阻R1=R2=4kΩ,电容C1=C2=200nF,通过计算可得-3dB时的截止频率为75Hz。

2.2 模拟前端电路

模拟前端电路采用TI公司设计的ADS1299芯片,该芯片专为脑电信号采集设计,有8个高分辨率同步采样模数转换器,可以同时采集8路脑电信号。芯片的SRB2引脚连接参考电极,在芯片内部与所有INP引脚相连。8个INN引脚作为输入端,分别连接脑电图帽上的8个电极。通过SPI接口与主控模块ESP32连接。

2.3 主控模块ESP32

本次设计选择的主控模块采用乐鑫公司的低功耗ESP32芯片,具有强大的数据处理能力。支持多种低功耗模式,可以应对各种低功耗的应用场景,在休眠模式下的功耗不到5μA,使用电池供电时可极大地延长系统工作时间。具有丰富的外设接口,包括SPI、UART等,通过SPI口连接模拟前端电路ADS1299通信。ESP32具有蓝牙和WIFI功能,通过WIFI,将采集到的数据打包发送给上位机。

2.4 电源模块

本设计使用3.7V锂电池供电,采用TP4054作为锂电池充电管理芯片。整个电源电路可提供+3.3V和5V两个电源,3.3V供给ESP32电路,5V供给ADS1299采集芯片。先将电池电源分为两路,其一从3.7V升压至5.5V,后使用5V的LDO得到稳定的5V电压,供ADS1299使用;另一路直接选用MCP1603T-330降压至3.3V。使用TPS60403DBVT将5V电压转换为-5V,使用ADP7118ARDZ-2.5、ADP7182AUJZ直流+5 V转换为+2.5 V、将-5V转换为-2.5 V对EEG采集系统进行供电。

3 软件设计

3.1 下位机软件设计

下位机使用Keil uVision5软件作为开发环境。系统上电后,对串口、SPI、外部中断、相关GPIO以及ADS1299进行初始化,然后等待接收上位机指令。接收到采集指令后,启动ADS1299进行数据采集,数据采集完毕后,ADS1299的DRAY引脚会输出一个高电平,高电平会触发主控外部模块的中断,在中断程序中对采集到的数据进行封装,通过WIFI,将封装后的发送至上位机。

3.2 上位机软件设计

本设计中的上位机采用Java程序编写,当用户启动上位机后,给下位机发送下达发送数据的指令,同时上位机在本地创建文件夹用来存储数据。下位机接收到记录数据的指令后,把采集到的信号传送给上位机,上们位机开始记录数据。

在睡眠监测过程中,可能出现记录的数据不完整,可以选择丢弃本次数据,系统会在删除本地监测的脑电数据。当睡眠监测完成后,用户可以选择是否保留本次监测结果,若选择丢弃则会在删除本地记录的脑电数据。否则系统程序将读取本次记录的脑电数据进行如下处理:

(1)选用Daubechies8小波基,使用软阈值滤波法对原始脑电信号进行7层分解,去噪后再进行小波逆变换得到重构的去噪后信号;

(2)使用小波包分解重构对睡眠脑电的δ波、θ波、α波、β波、K复合波、锯齿波和纺锤波7种节律波进行提取;

(3)提取K复合波、δ波、θ波、α波、纺锤波、β1波、β2波的能量EK复合波、Eδ、Eθ、Eα、E纺锤波、Eβ1、Eβ2与总能量ET的比值,及ET、Eα⁄Eθ、Eδ⁄Eθ、Eβ⁄Eθ总共11个能量特征值,作为睡眠分期的特征参数;

(4)提取复杂度、相关维数、Lyaponuv指数、近似熵、模糊熵、排列熵和样本熵等7种非线性动力学方法对睡眠脑电进行睡眠特征;

(5)使用LS-SVM分类器对睡眠脑电分期,分出wake、N1、N2、N3和REM五种类型;

6计算睡眠潜伏期、睡眠总时间睡眠效率根据睡眠质量评估规则,将测试者的睡眠质量分为四个等级非常差、比较差比较好非常好中的一种;

(7)将睡眠分期数据存入相应的数据库中;

(8)读取最终睡眠脑电分期结果并绘制图表。

5 结论

本文设计了一种无线睡眠脑电信号监测系统,实验结果表明,系统能够准确获取睡眠脑电信号,对预处理后的信号进行A/D转换,实时通过WIFI信号传送到上位机。上位机将获取到的信号经过小波去噪、节律波提取、特征提取、数据分类,获得睡眠分期,对睡眠分期数据做出睡眠质量的评估。较准确地实现了睡眠监测和睡眠质量评估。

基金项目:韶关学院自然科学类校级科研项目 (编号:SY2018KJ09