熊強強,曾美琳,嚴林波
(1.南昌理工學院 電子與信息學院,南昌 330044;2.江西工業貿易職業技術學院 圖文信息中心,南昌 330038;3.南昌蛋訊電子科技有限公司,南昌 330029)
社會公益機構如敬老院和養老院等機構面臨的主要問題就是老年人健康問題頻發、看護難度大以及老年人偏多等,對于老年人來說大部分疾病都在睡眠中突發,導致救護不及時。因此建立實時睡眠監測系統,對老年人睡眠過程的狀態進行監控是非常有意義的。由于傳統睡眠監測儀[1-3]都需要在特定的醫療機構由專業的醫療技師進行操作,并且使用過程相對比較復雜,從而會使用戶緊張焦慮或者心理壓力增大,睡眠監測質量會受到一定程度的影響,由此研發一款非侵入式睡眠呼吸監測系統。該系統運行過程中,首先由監控節點的三大數據采集模塊對相應的數據進行采集,暨呼吸頻次由呼吸頻率采集模塊負責,翻身頻次由翻身次數采集模塊負責,心率由心率采集模塊負責,然后由監控節點進行初步的去趨勢與降噪等處理,然后將其進行數據壓縮,并且利用無線傳感網絡通過網關及其交換機向后臺服務器傳送。當服務器成功接收數據后會再進行二次修正處理,并且最終向用戶和監控終端反饋,由此檢測應用者睡眠質量。
系統組成部分主要有4 個,分別是監控端、服務器、匯聚節點和監測節點[4-5]。監測節點的主要作用是對用戶的翻身、呼吸以及心率等數據進行獲取,并向匯聚節點發送,匯聚節點的原理大致相同,不過增加了交換機與網關,起到匯總、壓縮和優化監測節點發送的數據的作用,再向服務器發送的目的。服務器主要實現完成分析、儲存和處理數據的作用,最終向用戶和后臺監控端發送,為相應的決策、預警以及查詢提供依據的功能。系統工作原理框圖如圖1 所示。

圖1 系統工作原理框圖Fig.1 System working principle block diagram
考慮到系統基本上都在室內環境中使用,所以供電方式為電池,選用9 V 方塊電池6LR61,不過系統元器件包括單片機的供電電壓都是5 V,所以9 V電壓還要降到5 V,由降壓模塊來實現,降壓模塊選擇150 kHz 固定頻率的PWMDC 開關穩壓電源換器LM2596S-5.0[6-8]。輸出電流為3 A,輸入電壓最低為4.5 V,最高可達40 V。主要優勢在于低紋波、較低的負載調整率、高線性調整率以及效率高等。除此以外芯片具有過溫過流保護等多種功能。
終端節點的作用是采集數據,包括翻身頻次、呼吸頻率以及心率等,例如采集心率電路是由心率信號采集電路、低通濾波電路以及放大電路構成,最開始用戶將手指置于心率檢測模塊上,光電二極管接收信號的強度會受到人脈搏強度的影響。心率檢測電路原理如圖2 所示。考慮到紅外接收管感應紅外光靈敏度,電阻R4的阻值確定為330 Ω,如果該阻值太大,經過二極管電流太小,就會導致紅外接收管不能對脈搏信號的形成進行有效識別。相反如果阻值偏小,則經過二極管電流過大,脈搏信號也無法精準的區分。上拉電阻R5的阻值大小為22 kΩ;紅外接收管導通與非導通狀態下分別接地和連接電源。由于輸出的脈搏信號只能達到μV 級別,同時還有噪聲存在,所以要進行放大和濾波處理,電容C4的大小為10 μf,起到隔直流作用,同時還能夠避免環境中光線與高頻波的影響;下拉電阻R11連接LM358 輸入端的引腳5,信號輸入接通,反之接地;濾波器由C5、R11與R5構成,作用是對高頻信號進行濾掉,與線性放大輸入端連接;低通濾波器由C6與R6構成,作用是將殘留的高頻干擾信號濾掉,信號放大由LM358 負責,R12與R13兩個電阻確定放大倍數;并經LM358 同相輸入端輸入來完成信號的放大。

圖2 心率檢測電路Fig.2 Heart rate detection circuit
以擴頻調制技術[9-10]為基礎的遠距離無線傳輸技術LoRa 是低功率廣域網絡LPWAN 通信技術的一種。系統選用芯片SX1278,配合STM32 傳輸數據,配置寄存器可實現FSK 和LoRa 模式的選擇。LoRa主要特點在于可實現長距離傳輸,空曠環境中能夠實現最長5 km 距離的數據傳輸。發送端與接收端配置的信號帶寬(BW)、編碼率(CR)以及擴頻因子(SF)都要保持一致。具體設置要結合實際應用場景。
LoRa 通信電路原理[11-13]如圖3 所示,SX1280 芯片所需時鐘是由52 MHz 無源晶振負責提供的;射頻電路由1 個橢圓濾波器和LC 匹配電路構成,同時與2.4 GHz 天線連接;L1 連接是為了降壓,向射頻模塊提供電源;與主芯片通信方式為SP1。

圖3 LoRa 通信電路Fig.3 LoRa communication circuit
系統無線傳感器網絡是通過LoRa 網關來實現的,LoRa 網關的構成部分包括GPRS 模塊與LoRa模塊。其中,接收模塊是對LoRa 無線傳感器傳輸的差分校正量進行接收,LoRa 模塊與GPRS 模塊轉換通信格式是通過樹莓派4B 實現的,樹莓派4B 是網關核心處理器,然后監測數據由GPRS 模塊利用GPRS網絡通過服務器和交換機向監測中心發送。
心率采集與處理子程序流程如圖4 所示,通過自適應濾波算法來實現。算法中第n 次采樣使用隊列窗口的大小是Wn,對應的調整步長是m,如果n%m=0,需要對Wn的大小進行調節。因為通常來說臨近2 次采樣值間偏差幅度非常小,如果樣本隊列臨近2 次采樣值偏差絕對值比預設偏差最大值要高,就代表心率信號波動不正常。如果異常波動頻次偏高,就需要增大隊列窗口以通過信號平滑效果的優化來更好地實現對干擾信號的抑制;如果異常波動頻次很少,就需要減小隊列窗口以通過內存耗用的減少實現運算速率的加快。心率數據獲取后利用限幅濾波算法進行處理,向樣本隊列加入后利用遞推中位值平均濾波完成相應處理。全新心率數據獲取成功加到隊列最后,同時將隊首心率數據進行刪除。

圖4 心率采集與處理子程序流程Fig.4 Flow chart of heart rate collection and processing subprogram
再將最小和最大心率數據進行刪除,這樣其余Wn-2 個心率數據的算術平均值就能夠計算出來,為遞推中位值平均濾波的輸出數據,即最后測量獲取的實時心率數據,由此歷史測量心率數據均值就能夠更新。
無線通信子程序流程如圖5 所示,接通電源后系統首先進行初始化[14-15]操作,同時也會驅動看門狗運行,再向網關發送啟動數據包。若網關數據存在于節點監聽信道中,則接收并處理,完成數據包解析、校驗數據與匹配地址等,對數據包發送對象進行確定并將有價值的內容獲取,同時完成相應處理;如果數據包或者地址匹配存在問題則不接收數據包也無需回復。節點運行與休眠呈周期性變換,節點在運行向網關發送數據,成功接收后向節點回復確認消息ACK,若并未成功接收ACK,數據包會再次傳送,符合預設發送頻次后才會停止,網關向節點發送控制指令,節點成功接收也將ACK 消息回復,否則網關同樣將數據包再次發送,這樣網關和節點能夠精準可靠地完成通信。

圖5 無線通信子程序流程Fig.5 Wireless communication subroutine flow chart
網關子程序流程如圖6 所示,有關參數成功設定之后,連接云平臺,對云平臺發出的用戶命令進行讀取,若存在則以地址為依據判定轉發目的節點還是發送給網關,若發送給目的節點則數據信息應封裝后加載到發送隊列,并且確定射頻模塊并未進行數據包的發送或者數據重傳后才能發送數據,否則需要等待發送或重傳完畢后再進行發送。網關完成數據發送以后等待回復,接收回復信息之后發送數據任務才徹底結束,如果沒有接收到回復信息就會依據預設重傳頻次反復發送,重傳頻次達到最高后才會停止,將數據包舍棄,發送隊列中的數據包也同時清除掉。若節點發送數據被網關成功接收,以事件類別為依據對解析函數調取以完成數據包解析、校驗數據和地址匹配,有效數據獲取之后將對應的SNR 和RSSI 等進行計算,完成封裝并載入發送隊列,等待向UART 發送。再利用RS485 向云平臺發送。用戶就能夠通過后臺對SNR、RSSI、發射功率以及傳輸速率等數據進行查看。

圖6 網關子程序流程Fig.6 Gateway subroutine flow chart
采集多個測試者睡眠過程中的信息以完成算法檢驗。測試者總計10 人,對睡眠過程中的翻身、呼吸以及心跳頻次進行采集,如表1 所示,手機APP與核心電路示意圖如圖7 和圖8 所示。

表1 心率、呼吸和翻身次數測試數據Tab.1 Heart rate,breathing and number of turns test data

圖7 手機APPFig.7 Mobile APP

圖8 核心電路Fig.8 Core circuit
經過測試證實,在使用本儀器之后,心率次數、呼吸次數以及翻身次數的準確率可以分別達到95.1%、96.4%及95.7%。用戶睡眠時只需要分別將心率檢測模塊戴在手指上即可,而在腹部放置呼吸檢測模塊,手臂上戴好翻身檢測模塊即可,佩戴非常舒適,能夠檢測翻身、呼吸和心率頻次,檢測到的數據會發送到用戶APP 和后臺,從而能夠實現用戶和醫生及時、準確地了解睡眠質量并作出相應的診斷的目的。