沙志炳+譚婧+王小雪
摘 要:電子血壓計是一種常見的電子儀器,主要是由氣壓傳感器、信號處理電路、主控MCU組成。由于通道電路與MCU算法的性能直接影響了電子血壓計的準確性與重復性,所以文章主要針對信號處理電路與算法做了一定的研究,目的是提高電子血壓計的準確性與重復性。
關鍵詞:電子血壓計 信號通道電路 算法
中圖分類號:TH776 文獻標識碼:A 文章編號:1674-098X(2017)10(b)-0089-02
電子血壓計是利用現代電子技術與血壓間接測量原理進行血壓測量的醫療設備。其技術經歷了最原始的第一代電子血壓計G1-NIBPM(機械式定速排氣閥)、第二代電子血壓計G2-NIBPM(電子伺服閥)、第三代電子血壓計G3-NIBPM(加壓同步測量)及第四代G4-NIBPM(集成氣路)的發展。血壓間接測量法中,分為聽診法(Auscultatory method)和示波法(Oscillometric method)。以聽診法原理制成的電子血壓計,雖然實現了自動檢測,但仍未徹底解決其固有缺點,即誤差大、重復性差、易受噪音干擾。絕大多數血壓監護儀和自動電子血壓計采用了示波法間接測量血壓。示波法測血壓通過建立收縮壓、舒張壓、平均壓與袖套壓力震蕩波的關系來判別血壓。因為脈壓震蕩波與血壓有較為穩定的相關性,因此實際家庭自測血壓的應用中,利用示波原理測量的血壓結果比聽診法較為準確。而且示波法測血壓時袖套內無拾音器件,操作簡單,抗外界噪聲干擾能力強,還可同時測得平均壓?;谕ǖ离娐放cMCU算法的性能直接影響了示波法測血壓的電子血壓計的準確性與重復性,所以本文主要針對信號處理電路與算法做了一定的研究來提高電子血壓計的準確性與重復性。
1 對于信號處理的提出與探討
對于任何一個電子產品,首先應當考慮的是怎么把需要測量的信號轉化為電信號。所以首先需要使用氣壓傳感器把袖帶中的壓力信號轉化為電信號。對于得到的電信號而言,是袖帶中的氣壓信號和人們的脈搏跳動信號所合成的。同時它是一個模擬電信號,對于MCU而言模擬電信號并不能直接進行處理,而是需要將其轉換為數字電信號。所以,需要將從氣壓傳感器得到的電信號進行處理,從而分離出所需要的單獨的袖帶氣壓信號和脈動跳動的信號,通過模數轉換器將模擬電信號轉換為數字電信號。所以,就可得到圖1信號處理框圖。
氣壓傳感器將氣壓信號轉換為電信號。由于氣壓傳感器是電阻橋式傳感器。所以從氣壓傳感器得到的信號是一個差分信號,再使用一個儀用放大器對從氣壓傳感器得到的差分信號進行處理。通過儀用放大器處理后,接下來需要將袖帶的氣壓信號與脈搏信號單獨分離出來。
首先,看圖1中的下半部分,也就是交流通路。由于脈搏信號的頻率范圍使0.6~6.4Hz,所以要做一個帶通濾波器。先放置一個低通濾波器將低于0.6Hz的信號濾除,再放置一個高通濾波器將高于6.4Hz的信號濾除。由于通過帶通濾波器后,得到的脈搏信號的強度非常小,因此要將它進行放大處理。在帶通濾波器之后加了一個放大器,然后通過stm32內置的12位模數轉換器將模擬電信號轉換為數字電信號。
其次,再來看看圖1中的上部分,它是信號的直流處理部分。放置一個低通濾波器將高于0.6Hz的脈搏信號濾除,使用一個放大器對直流信號進行放大,通過stm32內置的模數轉換器將模擬電信號轉換為數字電信號。
在進行放大的過程中注意不應該將信號放大得過大,也不應該將信號放大得過小。避免在進行數模轉換的信號的大小不應該在模數轉換器的最大值和最小值的附近,而應當接近中間范圍。因為模數轉換器在器最大轉換值和最小轉換值附近的轉換精度并不高,所以要取接近中間范圍的測量值進行計算。
2 算法處理的進一步改良
在對信號的處理過后,接下來需要做的就是從中找出高壓與低壓的壓力值。這部分就需要在stm32中進行計算處理。原理是根據醫生給病人測血壓的過程中,醫生所聽的一個跳變值就是我們所找到的脈搏信號中表現的壓力值。對于收縮壓來說,脈搏信號的幅值有一個突然的幅值增大并逐漸增大到幅值的最大值,突然增大的脈搏信號的幅值對應的袖帶壓力就是收縮壓;對于舒張壓來說當脈搏的幅值從最大值逐漸減小的過程中,會有一個突然大幅度的減小,然后脈搏信號的幅值再逐漸減小,突然減小的脈搏信號的幅值對應的袖帶壓力就是舒張壓。
我們得到的信號中脈搏信號和袖帶壓力波形如圖2所示。其中Um為在緩慢放棄過程中我們得到的脈搏信號的最大幅值。在傳統的經驗算法中,收縮壓的大小是幅值為Um*Ks對應的袖帶壓力,舒張壓的大小是幅值為Um*Kd對應的袖帶壓力。一般取Ks=0.54和Kd=0.72來計算。這兩個Ks的值和Kd的值是由大數據計算得出的,而每個人又有不同的差異,所以單純由Kd與Ks得到舒張壓與收縮壓有的時候出現誤差。因此在實際制作的過程中我們對整個算法進行了簡單的優化。
在進行算法處理的過程中我們針對這兩種方法都單獨進行了實驗。在單純使用大數據計算的方法時,由于對每個人來說收縮壓和舒張壓對應的Ks和Kd并不是完全一樣的,對于同一個人來說有時Ks與Kd的值也會有些許變化,所以對于整個系統計算得出的收縮壓和舒張壓有著一定的誤差,在實際測量過程中重復性并不是很好。在單獨使用尋找跳變值的方法中我們發現了一個主要的誤差問題,在實際的測量中發現在突然增大或突然減小時對于有些人來說,在跳變時,會有兩個跳變點,所以就無法分辨出哪個跳變點是真正所需要的跳變點,所以就造成了一定的誤差。
實際的算法中我們融合了大數據的方法和跳變值的方法。在尋找跳變值時,我們會把跳變值與由大數據計算得出的脈搏信號幅值進行比較,其目的是找出最接近由大數據方法計算出的脈搏信號幅值的跳變值,從而得到對應的袖帶壓力值,最后得到收縮壓和舒張壓。
參考文獻
[1] 欒桂冬,張金鐸,金歡陽.傳感器及其應用[M].西安:西安電子科技大學出版社,2002.
[2] 譚浩強.C語言程序設計[M].北京:清華大學出版社,2005.endprint