生理訊號擷取電路
高壓縮率演算法加速傳輸 肌電/心電生理訊號即時量
心律不整方面,當心臟電氣傳導系統出現問題,會出現不正常的心跳,而引起心律不整的問題。當心律不整嚴重時,可引起病人休克、昏倒甚至猝死。一張心電圖通常只能記錄10秒鐘的心跳,對於心律不整的檢查有限。因此,筆者想設計出便宜、輕巧可隨身攜帶,且低耗電的心電訊號記錄器,再搭配手機來記錄長期的心電訊號,希望在儀器的監測之下,能早點發現心律不整的狀況,並盡快治療處理。由於多數病人的心律不整不是持續的,而是偶發或陣發性,所以至少要記錄長達24小時,以提供醫師分析診斷。但記錄24小時的心電圖,資料量會過大,所以筆者將撰寫無失真性低複雜度高壓縮比演算法,來降低傳輸的資料量。
此外,現代人對於健康與體態越來越重視,許多人藉由運動健身,使身體更健康、體態更優美。但在運動健身的時候,初學者經常發生肌肉發力不正確,不知道自己是否運動到正確的肌肉,或是肌肉過於用力而導致一些後遺症。筆者針對上述情境,設計一套可測量心電、肌電的生理訊號記錄器,以即時記錄使用者的肌電、心電訊號,協助使用者在運動健身的同時,了解自身心跳狀況,藉由肌電訊號的量測,得知自己運動的區塊與肌肉運動強度,在運動當下能即時調整姿勢,或是運用記錄起來的資料,進行事後的檢討與修正。
除重視保健以外,因應高齡化浪潮,偏鄉的臨床資源不足,以及就醫的交通往返不便,遠距復健便成為可行的方案。病患能居家運用肌電訊號的量測,自己進行復健所需的治療以及診斷,可節省臨床人員的勞力時間,遠距復健的醫生僅需針對病患自行在家復健時記錄的資料,進行評估和提供後續的療程建議。綜合以上三點,筆者設計出便宜、輕巧可隨身攜帶,且低耗電的生理訊號記錄器。由於長時間紀錄,資料會隨時間不斷增加,所以筆者撰寫無失真性低複雜度高壓縮比演算法,來降低傳輸的資料量。
本文為EMG及ECG的量測系統之介紹,系統架構如圖1所示。由單電源前端生理訊號擷取電路擷取EMG或ECG訊號,再將擷取到的訊號經高壓縮率演算法處理,最後透過無線微控制傳輸電路傳輸即時的生理資料至手機。使用盛群的HT9294、HT9234這兩種OPA以及設計出EMG、ECG前端擷取電路,並由HT66F70A IC接收前端電路擷取到的訊號,並透過高壓縮率演算法壓縮資料,再由藍牙低功耗透傳模組BCM-7602-G0傳送壓縮後的資料至手機,經解壓縮後會儲存及顯示。
圖1 即時量測之系統架構圖
ECG/EMG前端生理訊號擷取電路
本設計的前端生理訊號擷取電路參考醫用電子學實習以及相關文章,由資料可以知道擷取一般生理訊號需要六個步驟(圖2)。由於生理訊號都非常微弱,故需要透過放大電路加以放大才能進行後續的資料處理。一般通常採用精度高且耗電低的儀表放大器作為第一級,它的特色是CMRR與PSRR都要越高越好,在功率消耗方面為則希望能越小越好。第二級的隔離放大器主要用途是避免使用者在使用途中受到電源漏電流的傷害。第三級的帶斥濾波器一般用於濾除某一特定頻率的訊號,而在生理訊號擷取過程中,來自交流電源的60Hz雜訊若經過放大器電路後,會對輸出產生很大的干擾,因此才會需使用帶斥濾波器來濾除這個雜訊。
圖2 擷取身體生理訊號六步驟
第四級的帶通濾波器一般由高通濾波器及低通濾波器所組合而成,作用是擷取所需生理訊號在特定的頻率區段,透過所設計的帶通濾波器可以保留期望頻段訊號,並濾除不必要的頻段訊號。雖然在前面的步驟中,第一級已將訊號放大了,但生理訊號的振幅仍然是微小的,因此在設計上會加入第五級的增益放大器這步驟,作為最大增益的輸出調整。由於微處理器擷取訊號時僅能讀取電壓範圍介於0~3.3V間的訊號,但在輸入微處理器前的訊號可能是負電壓,因此需要第六級準位提升電路來處理負電壓的問題,使所有電位可以被ADC所擷取。在本設計中,為了使電路最小化且提高效率,將電源供應改以單電源的方式進行設計。對於前端心電/肌電讀取電路,將以往所需六個步驟的雙電源設計方案,減少到只有四個步驟的單電源設計方案(圖3)。
圖3 生理訊號擷取電路方塊圖前級將採用單電源設計
低雜訊CMRR為100-dB的INA333去實作的儀表放大器功能(圖4/5)。此外,以雙T帶斥濾波器處理來自電源60Hz雜訊(圖6)。本文為了將ECG與EMG整合在一起,設計了由Sellen-key架構為基礎的高通濾波器、低通濾波器,組成0.1Hz~1000Hz均可以接收到訊號頻段的帶通濾波器(圖7/8),而增益放大器再度將訊號放大(圖9)。雖然測量ECG/EMG的訊號需測量不同的部位,但差別只在於不同部位測量的訊號與頻率有所不同。但在電路設計上都是相同的。表1所列為肌電、心電放大倍率的算法,再由此算法去調配儀表放大器及增益放大器的放大倍率。此外,本設計為了為能方便調整倍率都使用可變電阻。
圖4 擷取身體生理訊號六步驟
圖5 TI TINA模擬儀表放大器。左)單電源儀表放大電路以及右腳驅動電路; 右)電路輸出模擬結果
圖6 TINA模擬帶斥濾波器。左)帶斥濾波電路; 右)電路頻率響應
圖7 以TI TINA Tool模擬高通濾波器。左)濾波電路;右)電路頻率響應
圖8 以TI TINA Tool模擬低通濾波器。左)低通濾波電路; 右)電路頻率響應
圖9 以TI TINA Tool模擬增益放大器。左)增益放大電路; 右)電路輸入與輸出圖
最後計算系統的耗電量,本系統之工作電壓為3.3V,但因多數電池的輸出電壓為3.7V,因此使用穩壓IC將電壓穩至3.3V。在前端電路中只有使用到2.6mA、而在MCU與BLE共使用35.8mA,因此總電路消耗電流為38.4mA,若用3.7V 1000mAh的鋰電池,可以連續使用大約26小時。
設計/實作提升壓縮率
本演算法以過去的論文為基礎,並針對失真性之問題進行改良,筆者提出無失真性壓縮演算法。此演算法分為兩個部分:線性預測與模糊計算及霍夫曼編碼技術。如圖10所示,線性預測與模糊運算是為了增加預測的準確度,提高壓縮率。在線性預測與模糊運算中將先對資料作Backward Difference,以有效地縮小範圍。接著根據前一個值的大小、方向及前三個值x(n-1)、x(n-2)及x(n-3)差值的差異,尋找最佳預測函式(Prediction Function),並透過函式獲得x(n)的預測值(x(n))。之後便將x'(n)與當前值x(n)相減,即可求得PD值,最後將PD值發送到作為熵編碼的霍夫曼編碼上。霍夫曼編碼是針對輸入的每一符號建立唯一字碼,然後將每一固定長度的字碼替換成可變長度字碼,進而達到壓縮的效果。
圖10 無失真資料壓縮法基礎架構
線性預測與模糊運算
從模擬研究中得出,將某一點訊號跟前一點訊號相減後其得出的結果,會較集中至某一範圍且數值較小。當訊號範圍集中,則同一範圍的機率增加,代表其應用在霍夫曼編碼上可以降低編碼的位元數,達到提高壓縮率的效果。利用線性與斜率的概念,分別使用一階、二階的預測方法來開發無失真性壓縮演算法,其過程可分4個步驟(圖11)。
圖11 線性預測與模糊運算
透過觀察心電圖十二導程等之特徵,用F1~F4來針對心電圖中R peck的波形進行預測,F5~F7則是針對反向訊號進行預測,F8~F10是對於其他較平穩的波形進行預測。例如:Lead II導程心電圖可分為PQRST等五種特徵波形(圖12)。若前一值被判斷為QRS區間訊號,通過1st Fuzzy Controller將預測函式縮限至F1~F4,之後再透過2nd Fuzzy Controller選擇準確的預測函式。
圖12 心電圖特性波形
圖13為本設計之壓縮編碼架構,當前值x(n)可由過去三值x(n-1)、x(n-2)和x(n-3)來預測,Diff1是x(n-1)和x(n-2)之間的差值、Diff2則是x(n-2)和x(n-3)之間的差值。第一階段(1st)的Fuzzy Controller由前一值x(n-1)來決定進入第二階段(2nd)的哪一個Fuzzy Controller。第二階段則透過Diff1、Diff2及其差值的斜率、方向選擇最後的功能。比較與補償(C&C)則是特別針對於心律不整患者預測不準之結果,進行進一步的校正。
圖13 該壓縮編碼結構
霍夫曼編碼技術
表2為將當前值跟預測值的差值(PD值)進行統計,並計算在每個範圍出現的機率。並依照出現的機率編碼出對應的唯一碼,最後做成Huffman...