无线运动传感器节点设计
题目要求
- 任务
基于 TI 模拟前端芯片 ADS1292 和温度传感器 LMT70 设计制作无线运动传
感器节点,节点采用电池供电,要求能稳定采集和记录使用者的心电信息、体表
温度和运动信息。 - 要求
(1)基于 ADS1292 模拟前端芯片设计心电检测电路,完成使用者的心电信
号实时测量,要求: (30 分)
①实时采集和记录使用者的心电信号,实现动态心电图的测试与显示;
②分析计算使用者的心率,心率测量相对误差不大于 5%。
(2)基于 LMT70 温度传感器测量使用者体表温度,要求: (20 分)
①实时采集和记录使用者的体表温度,温度采样率不低于 10 次/分钟;
②体表温度测量误差绝对值不大于 2℃。
(3)基于加速度计等传感器检测使用者运动信息,实现运动步数和运动距
离的统计分析,要求: (20 分)
①运动距离记录相对误差不大于 10%;
②运动步数记录相对误差不大于 5%。
(4)无线运动传感器节点能通过无线上传使用者的基本心电信号、体表温
度和运动信息,并在服务器(手机)端实时显示动态心电图、体表温度和运动信
息,要求传输时延不大于 1 秒。 (25 分)
设计方案分析
本设计基于TI模拟前端芯片ADS1292、温度传感器LMT70以及MPU9250设计制作无线运动传感器节点,节点采用电池供电。使用ADS1292设计心电检测电路,实时采集和记录使用者的心电信号,实现动态心电图的测试与显示。LMT70用于实时采集和记录使用者体表温度。MPU9250实现运动步数和运动距离的统计分析。将各模块获取数据输入STM32F407单片机进行分析处理,并通过串口屏显示。该装置能通过无线上传使用者的基本心电信号、体表温度和运动信息,并在服务器端实时显示动态心电图、体表温度和运动信息。
心电检测模块方案
采用ADS1292芯片构成心电测量电路,采样频率为1000Hz,对通道返回的3个字节进行处理,用相应的公式得到对应的电压,从而画出心电图。
采用TI公司的集成芯片ADS1292, 它是一款适用于生物电信号采集的芯片。其内置2个24 bit模数转换器, 可以实现心电与呼吸信号双通道采集, 单个通道功耗仅为335μW, 且ADS1292R内置右腿驱动降噪电路和电极脱落检测电路 [8-9] 。信号采用差分输入方式, 两个电极右臂RA (负极) 和左臂LA (正极) 。通道1 (IN1N和IN1P) 用于采集呼吸信号, 通道2 (IN2N和IN2P) 用于
采集心电信号。右腿驱动电路连接到通道2上, 形成负反馈以减少心电信号中共模干扰。呼吸信号和心电信号由电极分别引入通道1和通道2后经过ADS1292R内部可编程放大器 (PGA) 放大6倍, 然后分别经过A/D模数转换, 转换后的数字信号由SPI接口输入到单片机中。单片机控制ADS1292R进行信号采集和AD转换。单片机与ADS1292R通过CS、SCLK、DIN、DUT四线实现SPI串行同步协议通讯。通过向ADS1292R内部寄存器写入相应值以配置相关设置, 比如通道放大倍数、测量通道漂移量、工作时钟选择、导联脱落使能等。
ADS1292的A/D转换计算
ADS1292的每一个通道都有一个24位的模数转换器(ADC)。输入信号与输出信号对应关系如下:
每次采样信号经过ADS1292内部的A/D模数转换后变成了一个72位的数据包:1100+LOFF_STAT[4:0]+GPIO[1:0]+13个‘0’+24位呼吸数据+24位心电数据。
心电信号的处理
直接获取原始数据,打印图像
可以看到,该信号有许多噪声,也就是高频信号。采用低通滤波器可将其滤掉。
IIR是无限长单位脉冲响应数字滤波器,其系统对应函数有如下形式:
在知道滤波器相应的系数b[],a[]后可根据相应的差分方程,完成对数据的滤波,而滤波器的系数可以通过MATLAB滤波器设计和分析工具箱Filter Designer求得。
用MATLAB设计IIR低通滤波器
滤波器阶数N=3,采样频率Fs=1000Hz,截止频率经过大体估算和反复测试得Fc=8Hz。
通过查看Filter Coefficients可得滤波器系数。
响应函数:
H(z)= Gain*(1+2Z-1+Z-2)/(1-a1Z-1-a2*Z-2)
上式是从Z域上分析的,因为具体应用在时域上,所以根据响应函数得到对应时域上的差分方程:
a[0]y[i]=Gain(b[0]*x[i]+b[1]*x[i-1]+b[2]*x[i-2])-a[1]*y[i-1]-a[2]*y(n-2)
其中Gain=0.00