呂威 高飛燕
摘 要:以STM32為主控器,結合語音識別技術和無線通信技術,設計了一款以解決老年人缺乏生活自理能力、養老院護工短缺等問題為目的的無線協助監護系統。文章首先對語音識別協助監護系統的整體方案進行了設計,然后分別對語音識別模塊和無線通信模塊的軟硬件等方面進行了設計,并結合平面路由協議LEACH和分層路由協議PEGASIS,將整個養老院組成一個局域網,實現了局域網內老年人端與護工端的實時通訊。
關鍵詞:語音識別;協助監護;無線通信;LEACH;PAGESIS
引言
隨著高齡人口比例的增加,我國正逐漸步入老年化社會,而迫于現代社會快速步伐的壓力,越來越多的獨生子女選擇長期異地工作并生活,導致大量老年人無人照顧。此外,許多老年人因為缺乏站立能力而長期被困在椅子上。許多老年人選擇住入養老院,然而養老院護工的精力和人手有限,可能無法及時知道哪位老人有需求。文章主要采用語音識別和無線通信技術,設計了一款協助護工的安樂椅系統,使老年人可以通過語音呼叫護工,而護工能及時分辨出哪位老年人需要何種幫助,給解決這一問題提供了一種思路。
1 整體方案設計
工作原理:
本系統利用了語音識別芯片LD3320可以進行語音訓練、存儲和識別的功能。預先設置指令模板并存儲在語音識別芯片的FLASH中。識別時,使用者發出語音指令,語音識別芯片會提取出指令的特征信息并形成臨時的模板,然后將臨時模板與之前訓練的模板對比,其中匹配最相似的訓練模板將作為識別的結果發給主控器。主控器將根據預存的遙控信號,通過無線射頻模塊將語音指令發送出去,實現無線語音呼叫的功能。
2 硬件電路設計
本硬件電路主要包括主控器、語音識別單元、無線通信單元等。
2.1 主控制器單元
本系統的核心控制芯片采用的是意法半導體公司的32位微控制器STM32F103ZET6。該主控器使用了ARM公司的Cortex-M3內核,其工作在最高頻率72MHz時的工作電流僅為36mA,待機時為2mA,確保了低功耗要求。內置64KB的SRAM、512KB的Flash,具有豐富的增強I/O端口,以及聯接到兩條APB總線的外設,具有低功耗、高性能和實時性強的優點[1]。
2.2 語音識別單元
語音識別技術的分類主要有兩種:特定識別和非特定識別。這一分類的主要依據是識別對象的不同[2]。本系統識別對象為老年人這一大眾群體,故采用非特定語音識別技術。這里采用外圍擴展語音識別芯片來實現語音識別的功能。采用外擴語音識別芯片只需要處理好語音識別芯片和微處理器的接口連接,結構簡單可靠,并且極大的降低了微處理器的負擔,易于開發與調試。語音識別芯片選用ICRoute公司的LD3320,該芯片內部集成特有的快速而穩定的優化算法,無需任何外接輔助芯片(如Flash、RAM、AD芯片等),識別準確率可達到95%,可以很好地完成非特定人的語音識別任務。
2.3 無線通訊單元
目前市場上常用的無線通訊方式有wifi、紅外、藍牙、Zigbee、射頻等技術。經過比較,射頻技術開發簡單,容性好、耗能低、電路簡單、數據安全性高、價格低廉,因而選用射頻通訊技術。這里射頻模塊采用的是nRF24L01無線射頻模塊。nRF24L01是一款工作在2.4~2.5GHz的世界通用ISM頻段的集無線收發為一體的芯片。它工作時的工作電流極低,并且具有掉電模式和空閑模式等多種低功率工作模式;其最高的數據傳輸速率能達到2Mb/s,內置SPI接口,開發簡單;配置有自動重發功能、地址和CRC校驗的功能[3]。
3 軟件程序設計
3.1 語音識別單元程序設計
語音識別單元的程序設計主要分為語音的訓練和識別兩部分。語音的訓練是將預先設定好的指令存儲在語音識別芯片的FLASH中。為了提高語音識別的準確率,可以在識別庫里面對同一功能的指令設置多條語音特征相似的指令,如指令“起來”,可以設置“qilai”,“qilaia”等,另一方面,為了進一步降低誤識別率,還可以添加一些“垃圾關鍵詞”用來吸收錯誤識別。
語音識別的處理可以通過中斷和查詢兩種方式工作。為了節省系統資源,本系統采用中斷方式。在開始識別后,如果寄存器B2H的值為21H,就說明有識別結果產生,無論是否是正常結果,都會產生一個中斷信號。而中斷程序要根據寄存器的值分析結果,由C5寄存器的值可知道最可能的答案。
3.2 無線通信單元程序設計
無線傳感器網絡是目前社會上最前沿的技術之一[4],它主要由傳感器節點、匯聚節電、簇頭節點以及控制端口組成。其路由協議主要分為平面路由協議和分層路由協議。平面路由協議的節電低位平等,具有很好的擴展性;分層路由只需簇頭節點維持路由表項信息,相對于平面路由優化了傳輸路徑,可以達到降低功耗、延長網絡生存時間的效果。本設計結合了平面路由協議LEACH和分層路由協議PEGASIS,將每一層的節點集合成為一個虛擬簇,每個虛擬簇按照一定的算法選擇簇首,所有的簇首按照地理位置關系連接成一條數據傳輸鏈,距離Sink幾點最近的鏈首負責與Sink節點通訊。Sink節點通過以太網接口與PC機連接,將信息上傳至集中控制中心;集中控制中心再將信息通過wifi傳遞給護工端,這樣就實現了局域網內老年人端向護工端發送請求的功能。
nRF24L01有兩種收發模式:ShockBurst TM收發模式和Enhanced ShockBurst TM收發模式。其中,Enhanced ShockBurst TM模式比ShockBurst TM多了一個確認數據傳輸的信號,因而數據傳輸的可靠性更高。為了提高數據傳輸的可靠性,這里采用Enhanced ShockBurstTM模式。
4 結束語
本系統主要利用了語音識別技術和無線射頻通信技術,實現了基于語音識別的無線呼叫功能,為協助養老院的護工照顧老年人提供了一種思路。經測試,測試距離越大,識別率越低,這主要是由于語音識別模塊輸入信號參雜的噪聲和無線通信模塊通信距離的影響,這點有待改進。
參考文獻
[1]范書瑞.Cortex-M3嵌入式處理器原理與應用[M].北京:電子工業出版社,2011.
[2]劉軍傳,張玉茹,溫凱.可識別非特定人語音指令的家電遙控器設計[J].單片機與嵌入式系統應用,2013(2):52-55.
[3]唐明霞.獨居老人無線監護系統的設計[D].哈爾濱理工大學,2007.
[4]朱桂峰.基于nRF24L01的無線傳感局域網絡的研究與設計[D].河北大學,2007.
作者簡介:呂威(1989-),男,在讀碩士研究生,主要研究方向:自適應控制。
高飛燕(1968-),女,碩士,副教授,主要研究方向:智能控制。