魏 敏,孫科學,2,王晨曦,黃敏豪
(1.南京郵電大學 電子科學與工程學院,江蘇 南京 210023;2.江蘇省射頻集成與微組裝工程實驗室,江蘇 南京 210023)
一種心音檢測儀的設計與實現
魏 敏1,孫科學1,2,王晨曦1,黃敏豪1
(1.南京郵電大學 電子科學與工程學院,江蘇 南京 210023;2.江蘇省射頻集成與微組裝工程實驗室,江蘇 南京 210023)
隨著現代社會的飛速發展,人們的生活水平越來越好,但心臟病等疾病的發病幾率也越來越高。然而大多數的心臟檢測設備體積過大且價格昂貴,無法滿足大多數人的需求。文中設計了一個心音信號綜合采集分析系統。該系統以凌陽SPCE061A單片機為控制核心,運用傳感器、A/D轉換、濾波放大、FPGA信號處理等技術手段,采用傳感器對人體的心音信號進行采集,經過信號處理電路對信號進行濾波放大等處理,通過FPGA和單片機將采集到的數據進行分析計算并用揚聲器輸出。結果表明,該系統能夠精確采集并處理心音信號,這種具有實時播報的功能,不僅能夠方便病人的自我診斷,同時也可以讓患者更及時的就醫。
心音采集;A/D轉換;FPGA;語音播報
傳統的心音圖儀在心音存儲、數據處理上存在著較大的局限性,而且不具備量化分析功能,因而臨床應用較少。隨著數字技術的發展,國內外再次出現心音研究的熱潮。研究內容包括心音信號檢測、分析、識別、模擬以及心音信號處理的臨床應用[1]。
目前已有大量與心音相關的研究成果不斷出現,如基于LabVIEW平臺的心音分析虛擬儀器[2]、便攜式心音檢測儀、電子聽診器[3]、基于Android平臺的心音識別系統[4]等應用。其中大量的研究結果表明,對心音信號的濾波和提取包絡是決定系統性能的關鍵因素。
文中介紹了一種基于SPCE061A的語音心音檢測儀的設計與實現方法。該系統不僅能基于對心音信號的時頻域分析[5]有效地對心音信號進行濾波、提取包絡,還能通過凌陽單片機在揚聲器中的實時語音播報測試結果,方便病人及時了解自身心音變化情況,具有靈活輕便、易于攜帶、可靠性高等特點,提高了心音聽診的及時性和準確性。
心音是由心肌收縮,心臟瓣膜關閉和血液撞擊心室壁、大動脈壁等引起的振動所產生的聲音。每一心動周期可產生四個心音,一般均能聽到的是第一和第二心音。心音信號具有微弱性、低頻特性和不穩定性。時域分析中,第一心音的特點為音響低鈍,第二心音的特點為音調較高而清脆。第一心音與第二心音的時間間隔稱為心臟收縮期,第二心音和下一心動周期的第一心音的時間間隔稱為心臟舒張期。
在采集心音信號的過程中,會引入部分噪聲,這些噪聲會影響到心音的分析結果[6]。影響心音信號的噪聲主要包括以下幾種:50 Hz工頻及其各次諧波的干擾,由于呼吸和運動所產生的電極接觸噪聲,肌肉收縮產生的噪聲,電子裝置產生的噪聲。通過采取適當的措施,可將心音信號噪聲降到一定的程度,但僅依靠模擬信號處理并不能完全解決噪聲干擾問題,需考慮采用數字濾波技術處理心音信號。文中采用基于小波去噪的自適應濾波器以提高心音信號的信噪比。

圖1 自適應小波變換流程圖
從總體上來說,心音檢測儀就是一個智能化信號采集處理系統,結構上主要由完成人體心音信號采集、濾波、放大、比較等功能的前端硬件電路部分[7-9]和完成數據分析、處理和輸出的微機控制部分組成,這兩大部分協調配合完成整個系統功能。系統框圖如圖2所示。

圖2 心音檢測儀系統框圖
2.1 前段硬件電路設計
心音的聽音范圍為20~600 Hz,由于心音信號比較微弱,于是采用抗靈敏度高、抗干擾能力強的新型高分子聚合材料微音傳感元件作為心音的采集探頭。參數如下:電源使用3~4 VDC;功耗小于1 mA;頻率響應在1~600 Hz;靈敏度大于4 mVPa。
低通濾波[10]部分采用巴特沃茲二階低通濾波電路。由于心音信號的有用部分集中在0.05~100 Hz之間,所以取截止頻率f0=100Hz。然后采用LM324進行前置放大[11],經前置放大后差動信號轉換為單端信號,由于輸出幅度較小,必須經過再次放大后輸入到模數轉換電路。由于測量電路器件本身存在噪聲和其他干擾,同時輸入信號幅值較小,需要加入二階低通濾波電路抑制雜散信號。在具體電路設計中,通過先仿真后搭建硬件電路,在調測過程中選取適當的電容、電阻值,確保低通濾波效果。
對于心音檢測儀[12-15]來說,如何準確地測出心率是關鍵。文中設計方案針對心音的脈沖特性,采用以超低失調電壓運放OP07為核心的遲滯比較電路,將經過前端處理的心音信號整合成矩形脈沖信號,再輸入到單片機管腳中進行計數,就可以很方便地測出心跳速率。
2.2 FPGA數字濾波器
數字濾波器對采集回的信號進行譜分析,將頻域中的噪聲信號和有用信號進行分離。該方法是基于頻域的處理方法,因此只適用于有用信號和噪聲信號頻譜未發生重疊的情形。而由心音傳感器采集回的信號,其有用部分和噪聲部分在頻譜中是混疊的,經典的數字濾波器的方法效果不明顯。為了解決該問題,文中采用非線性數字濾波方法,即基于小波變換的數字濾波。具體過程如下:首先要在小波變換域對信號進行小波多層分解,同時對小波系數進行非線性處理,如削切以及閾值處理等,通過以上步驟實現去噪的目的。采用經典方法去噪常常會導致信號高頻區信息丟失的問題,小波去噪可在一定程度上避免該問題的發生。
在信號時間內對其進行小波分解以獲取小波系數中的最大值,該值與分解尺度成正相關且存在峰值。分解得到的小波系數最大值會因為噪聲的負奇異性而隨著分解尺度的增加逐漸減小,均勻分布在分解的各層內。實現信號與噪聲在時域、頻域上的分離。
由于小波變換去噪的運算量較大,不易于通過單片機實現,因此文中采用現場可編程門陣列(Field-Programmable Gate Array,FPGA)[16]實現。FPGA具有的豐富硬件資源為實現小波算法提供了可能性。FPGA采用并行處理的結構,可以處理復雜功能的程序,在設計的過程中便于修改,能夠高效地實現小波變換去噪。將分布式算法的思想轉換成查找表的操作,可以大大提高信號處理的運算速率。
信號的小波去噪可以分為三個步驟進行:第一步是小波分解。首先選取合適的小波基對染噪信號在小波域進行分解,可獲得N層的高頻系數和低頻系數。第二步需要對獲得的高頻系數進行閾值處理。其中,第1層到第N層的高頻系數與各自的閾值進行比較,進行相應的數值處理。最后一步是小波重構。將低頻系數與閾值處理后的高頻系數的數值重新組合,從而完成小波去噪過程。
在實際硬件設計和實現中,使用XILINX公司的spartan3E的XC3S500EFPGA來實現數字濾波器。首先通過AD采樣將模擬信號轉換成數字信號。數據將從IO口傳到FPGA內部,FPGA內部收到數據后會啟動小波去噪模塊,從硬件上實現數據采集和自適應小波去噪的過程,并傳輸給下一級電路,有效地提高了心音信號的信噪比。其中,AD轉換器為AD公司的AD7482,數值存儲采用的是美國美光的MT48LC8M16A2,采用FTDI公司FT245R芯片作為通用串行總線轉換芯片進行數據傳輸。
2.3 單片機數據采集系統設計
凌陽的SPCE061A單片機最多可處理16位數據,具有部分DSP功能,最高時鐘頻率可達49 MHz,有較強的信號處理能力。這些為語音的播放、錄放、合成以及辨識提供了必要的條件。將語音處理部分分解為A/D、語音編碼、數據存儲、語音解碼以及D/A等部分,如圖3所示。

圖3 單片機對語音的處理過程
SPCE061A的開發環境為在線調試器PROBE,它集合了編程器(即程序燒寫器)和實時在線調試器的功能。通過PROBE利用SPCE061A片中內部嵌入的在線仿真電路ICE,即In-Circuit Emulator接口可以實現單片機的在線串行編程。在線調試器是在凌陽IDE的集成開發環境軟件包下工作的,通過5芯的仿真頭直接連接到目標電路板上的芯片的對應管腳上,實現對目標電路板上的SPCE061A芯片中用戶所編寫的程序直接進行調試和運行的功能。在線調試器PROBE采用標準的25針打印機接口,便于通過計算機打印口實現與上位機的通訊。此外,通過計算機IDE集成開發環境軟件包,可實現在線調試功能。
使用麥克風所產生的WAVE文件會占用大量存儲空間,凌陽SPCE061A為這一問題提供了解決途徑,即SACM-LIB庫。庫中包括了A/D、D/A模塊、解編碼模塊以及存儲模塊。了解每個模塊所要實現的功能及其參數后,可通過調用每個模塊對應的應用程序接口API函數實現該功能,如表1所示。

表1 SACM-LIB庫中模塊及其算法類型
在SACM-LIB中,SACM_A2000和SACM_S480兩種放音算法較為常用。在使用中會遇到添加語音資源的問題,WAV文件需要按照壓縮比壓縮為資源表形式才能在程序中調用。凌陽提供專門壓縮的Windows工具,該工具允許選擇一個或多個WAV文件進行壓縮。壓縮編碼可以實現高效存儲和轉換。在實際操作中,未經壓縮編碼的音頻資料會占用大量的存儲空間,若直接對其進行傳輸和存儲會大大影響檢測系統的效率。資料壓縮能夠實現對信號趨勢的預測和冗余信息的處理,在占用較少資源的情況下處理更多的信息,節省內存資源,縮短傳輸時間。
由于語音編程技術較為成熟,也可以考慮在原有程序的基礎上加入一些模塊化程序,如鍵盤。語音文件的播放、停止、暫停、恢復以及音量的大小等可以通過按鍵控制。因此為用戶提供了一個接口文件Key.inc作為資源使用模塊,模塊中定義了可供系統調用的與按鍵掃描相關的子程序。在模塊中的Key.asm文件中,定義了程序中所需要的全局和局部變量。該文件是上述接口中定義的各子程序的程序實體。
2.4 系統軟件設計與實現
模塊化設計原則在整個程序設計的過程中都有體現,主要包含IO口讀取數據、數據存儲、心率計算、語音輸出播放等子程序模塊。該系統通過主程序來控制程序主體流程,通過調用子程序來實現各項心音檢測功能。系統的主程序流程圖如圖4所示。

圖4 主程序流程圖
特定的I/O端口需要根據系統的需求進行相應的初始化,即根據系統的輸入、輸出需求,將相應的I/O端口設置為輸入狀態或輸出狀態,然后通過主循環來實現Data單元數據和Buffer單元數據的讀取和寫入。
此外,使用SACM_A2000壓縮算法進行語音播放的過程需先經歷一次語音播放初始化,其中包括數據的讀取、語音隊列的填充或者解壓縮,以及語音的輸出播放這幾個步驟。初始化可選擇自動方式或者手動方式。選擇自動播放時,只要調用SACM_A2000_ServiceLoop()函數就可以方便地實現取數據,填充語音隊列及解壓縮的功能。
最終程序實現如下功能:主函數首先進行鍵盤按鍵掃描,當檢測到Key1鍵被按下時,開始播放提示音,準備進行心音檢測。同時,定時器開始定時30 s,計數器記下在此期間的心跳脈沖數目。當到了30 s的定時時間之后,計數程序立刻被中斷,并對所記錄數值的兩倍除以10進行取余,得出個位和十位后,最后語音播報出心跳脈沖速率。
在目前的醫療領域內,心音檢測技術已被廣泛應用于臨床診斷,在取得了較好檢測效果的同時,硬件設備的操作使用也十分簡單方便,有較高的實用性。文中側重于對心音檢測儀的硬件研制和軟件開發過程。根據儀器參數的要求,結合大量相關資料繪制出各模塊的電路圖并通過硬件電路實現各項功能。軟件方面遵循模塊化設計原則,功能程序設計簡潔明了,并在文中畫出了整體程序的流程圖,對各功能進行了詳細的注解。為了能更直接清晰地觀測心臟的跳動情況,也可以在該系統的基礎上添加顯示模塊,進一步完善系統功能。
[1] 季 安,郭興明,肖守中.心音檢測儀的研究進展[J].現代科學儀器,2006(6):34-36.
[2] 張會香,成謝鋒.LabVIEW平臺上的心音分析虛擬儀器設計[J].計算機技術與發展,2010,20(11):217-220.
[3] 樊 容.低噪聲電子聽診器的設計[J].電子設計工程,2014,22(24):130-133.
[4] 成謝鋒,劉 偉.基于Android平臺的心音識別系統的研究[J].計算機技術與發展,2015,25(2):152-155.
[5] Rajan S, Budd E,Stevenson M,et al. Unsupervised and uncued segmentation of the fundamental heart sounds in phonocardiograms using a time-scale representation[C]//Proc of 28th annual international conference of the IEEE engineering in medicine and biology society.[s.l.]:IEEE,2006:3732-3735.
[6] 朱冰蓮,劉 倩.心音信號的自適應小波去噪[J].計算機技術與發展,2006,16(10):83-84.
[7] 彭 軍.傳感器與檢測技術[M].西安:西安電子科技大學出版社,2003.
[8] Kumar D,Carvalho P,Antunes M,et al.Near real time noise detection during heart sound acquisition[C]//Proc of 15th European signal processing conference.[s.l.]:[s.n.],2007.
[9] 陳粵初.單片機應用系統設計與實踐[M].北京:北京航空航天大學出版社,1998.
[10] 陳惠開.無源與有源濾波器—理論與應用[M].北京:人民郵電出版社,1996.
[11] 康華光.電子技術基礎—模擬部分[M].第4版.北京:高等教育出版社,1998.
[12] Falk T H,Chan W Y.Modulation filtering for heart and lungsound separation from breath sound recordings[C]//Proc of 30th annual international conference of the IEEE engineering in medicine and biology society.[s.l.]:IEEE,2008:1859-1862.
[13] Hsieh B P,Unver K,McNulty E,et al.The amplitude ratio of the first to second heart sound is reduced in left ventricular systolic dysfunction[J].International Journal of Cardiology,2010,145:133-135.
[14] Mehta N J,Khan I A.Third heart sound:genesis and clinical importance[J].International Journal of Cardiology,2004,97(2):183-186.
[15] El-Segaier M,Lilja O,Lukkarinen S,et al.Computer-based detection and analysis of heart sound and murmur[J].Annals of Biomedical Engineering,2005,33(7):937-942.
[16] 王香云.基于FPGA的小波去噪的硬件實現[J].激光技術,2013,37(6):786-790.
Design and Implementation of a Heart Sound Detector
WEI Min1,SUN Ke-xue1,2,WANG Chen-xi1,HUANG Min-hao1
(1.School of Electronic Science and Engineering,Nanjing University of Posts and Telecommunications,Nanjing 210023,China;2.Jiangsu Province Engineering Lab of RF Integration & Micropackage,Nanjing 210023,China)
With the rapid development of modern society,people’s living standard is improving,but the probability of heart disease incidence is higher.However,most of the cardiac testing equipment is too large and expensive to meet the needs of most people.In view of this,a Sunplus SPCE061A is designed as the control core,collected by sensor signal,A/D conversion,filter and FPGA amplification technology analysis system.The system uses the heart sound signal on the human body sensor,then through filtering and FPGA signal processing,finally the SCM data collected will be used to calculate and output by the speaker.The results show that the system can be the perfect collection and processing of heart sound signal.This real-time broadcast function can not only be very convenient for patients to self-diagnosis,but also be timely medical treatment.
heart sound acquisition;A/D conversion;FPGA;voice broadcast
2015-05-29
2015-09-03
時間:2016-05-05
江蘇省高校自然科學研究面上項目(15KJD510001);南京郵電大學實驗室工作研究重點課題(2015XSG02);南京郵電大學重點教學改革項目(JG03314JX54,JG03314JX53)
魏 敏(1994-),女,研究方向為數字信號處理及其FPGA實現;孫科學,副教授,研究方向為電子電路設計、嵌入式系統與通信軟件設計。
http://www.cnki.net/kcms/detail/61.1450.TP.20160505.0815.028.html
TP311.1
A
1673-629X(2016)05-0179-04
10.3969/j.issn.1673-629X.2016.05.039