基于STM32,設(shè)計(jì)出可以戴在手腕上的低功耗穿戴式心率計(jì)
引言
心血管疾病是威脅人類生命健康的嚴(yán)重疾病,且發(fā)病年齡呈現(xiàn)年輕化的趨勢。隨著人們健康意識的增強(qiáng),自我保健的需求不斷增長,醫(yī)院中精度高但使用不便的心電圖儀已不能滿足人們對心臟進(jìn)行日常監(jiān)護(hù)的需求。因此基于光電容積脈搏波(Photo-Plethysmography,簡稱PPG)技術(shù)的可穿戴式心率測量設(shè)備被廣泛應(yīng)用于心率監(jiān)測領(lǐng)域。雖然市面上已有多種便攜式心率儀,但大部分不能在人們進(jìn)行日?;顒訒r(shí)應(yīng)用,只能進(jìn)行短時(shí)間段的監(jiān)測,不能有效抵抗運(yùn)動干擾。夾于耳垂或頭戴式的測量設(shè)備也不利于用戶體驗(yàn)。
基于以上考慮,本文以STM32L152CB為控制核心,設(shè)計(jì)出了一款可以戴在手腕上的低功耗穿戴式心率計(jì),設(shè)備體積小、攜帶方便、抗干擾能力強(qiáng)、測量精度高,可以在不影響使用者日?;顒拥那闆r下長時(shí)間、實(shí)時(shí)地測量心率,有助于對心血管疾病的預(yù)防和及時(shí)發(fā)現(xiàn)。
1、系統(tǒng)設(shè)計(jì)
1.1、硬件設(shè)計(jì)
硬件電路主要包括6個(gè)單元模塊:電源系統(tǒng)模塊、PPG信號檢測傳感單元模塊、信號放大及濾波電路,加速度傳感器、低功耗藍(lán)牙4.0通信模塊和微控制器。整個(gè)硬件嵌入可通過彈性腕帶佩戴在手腕上,通過與上位機(jī)(如智能手機(jī)等)通信,將測量的數(shù)據(jù)傳送給上位機(jī)處理及顯示,系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 ?心率計(jì)系統(tǒng)結(jié)構(gòu)圖
由于穿戴式設(shè)備對體積和重量的嚴(yán)格要求,設(shè)計(jì)的穿戴式心率計(jì)采用型號為LIR2450的可充電式鋰離子紐扣電池作為電源。紅外光源產(chǎn)生及控制電路的作用是提供PPG技術(shù)需要的波長穩(wěn)定且光強(qiáng)可控的紅外光源,采用紅外光源模塊SFH4050,并由微控制器產(chǎn)生的PWM波控制其開通或關(guān)閉。PPG信號I/V變換電路將光電傳感器BPW34S感應(yīng)到的微弱電流PPG信號轉(zhuǎn)換成較大的電壓信號,為了解決PPG信號中直流分量放大會導(dǎo)致運(yùn)算放大器飽和的問題,采取將該單元電路的輸出經(jīng)低通數(shù)字濾波后反饋到輸入端以抵消直流分量的措施。由于經(jīng)I/V變換電路放大后的PPG信號幅度不足以被以有效精度采集到STM32L152CB中,需要對PPG信號進(jìn)行二級放大。為了消除直流分量對交流分量放大的影響,采用了差分放大電路結(jié)構(gòu)并同時(shí)對PPG信號進(jìn)行了低頻濾波。
1.2、軟件設(shè)計(jì)
穿戴式心率計(jì)系統(tǒng)的軟件架構(gòu)如圖2所示。初始化配置好ADC、DAC、SPI、I2C、三軸加速度等外設(shè)的工作模式后,調(diào)整定時(shí)器輸出的100kHz的PWM波的脈寬,使光源電路電流穩(wěn)定為20mA,設(shè)置一個(gè)定時(shí)周期10ms的自動重裝載模式的定時(shí)器并使其中斷,然后使微控制器(MCU)進(jìn)入低功耗睡眠模式。定時(shí)器將每隔10ms喚醒一次MCU,隨后MCU執(zhí)行圖2中所示10ms定時(shí)器的中斷程序,完成對PPG信號I/V轉(zhuǎn)換電路輸出的低通濾波。為了使PPG信號電壓放大電路與I/V轉(zhuǎn)換電路間的信號同步,使用2ms定時(shí)器中斷喚醒MCU并執(zhí)行圖2所示的2ms定時(shí)器中斷程序,完成心率的計(jì)算并通過藍(lán)牙4.0輸出到上位機(jī),隨后MCU再次進(jìn)入低功耗睡眠模式,等待10ms定時(shí)器喚醒。
圖2 系統(tǒng)軟件架構(gòu)圖
1.2.1、消除PPG信號中運(yùn)動干擾噪聲原理
應(yīng)用自適應(yīng)濾波器消除PPG信號中運(yùn)動干擾噪聲的原理如圖3所示。圖中a(t)是三軸加速度計(jì)檢測到的被測部位t時(shí)刻的加速度,將其作為自適應(yīng)濾波器的輸入信號。將含有噪聲的PPG信號y(t)與ω贊(t)的差y贊(t)作為誤差信號反饋到自適應(yīng)濾波器,使自適應(yīng)濾波器不斷調(diào)整系數(shù)以使其輸出ω贊(t)更加接近噪聲信號ω(t),也相當(dāng)于是自適應(yīng)濾波器的結(jié)構(gòu)h贊(t)更加接近物理模型h(t)。即經(jīng)自適應(yīng)濾波系統(tǒng)濾波后輸出的誤差信號y贊(t)可作為相對準(zhǔn)確的脈搏波信號用于提取心率值。
圖3 ?自適應(yīng)濾波法消除PPG信號中運(yùn)動干擾噪聲原理圖
1.2.2、變步長LMS自適應(yīng)濾波算法
在自適應(yīng)最小均方誤差(LeastMeanSquares,LMS)算法中,要使誤差信號的最小均方值E[e2(k)]最小,即自適應(yīng)濾波器輸出y(k)越接近期望信號d(k),步長因子μ的選擇是一個(gè)關(guān)鍵問題。理想的情況是:在自適應(yīng)過程開始時(shí),在收斂值范圍內(nèi),取較大的μ,以使系數(shù)向量快速向最優(yōu)解逼近;當(dāng)系數(shù)向量快逼近到最優(yōu)解時(shí),取較小的μ,減小穩(wěn)態(tài)失調(diào)誤差[8-9]。可以基于這種改變步長因子大小的思想改進(jìn)LMS算法。改進(jìn)的LMS算法如下:
1.3、低功耗設(shè)計(jì)
本系統(tǒng)的低功耗主要體現(xiàn)在以下幾方面:選用超低功耗的STM32L152CB微控制器,動態(tài)改變微控制器的時(shí)鐘及工作模式;根據(jù)執(zhí)行任務(wù)的不同,通過內(nèi)部寄存器設(shè)置微控制器和各個(gè)外設(shè)工作在不同的時(shí)鐘頻率;通過定時(shí)器中斷自由切換微控制器的工作模式,即高速運(yùn)行狀態(tài)和低功耗睡眠模式,有效降低其功耗;采用低功耗藍(lán)牙4.0作為數(shù)據(jù)收發(fā)模塊等。