魏 敏,孫科學(xué),2,王晨曦,黃敏豪
(1.南京郵電大學(xué) 電子科學(xué)與工程學(xué)院,江蘇 南京 210023;2.江蘇省射頻集成與微組裝工程實(shí)驗(yàn)室,江蘇 南京 210023)
一種心音檢測(cè)儀的設(shè)計(jì)與實(shí)現(xiàn)
魏 敏1,孫科學(xué)1,2,王晨曦1,黃敏豪1
(1.南京郵電大學(xué) 電子科學(xué)與工程學(xué)院,江蘇 南京 210023;2.江蘇省射頻集成與微組裝工程實(shí)驗(yàn)室,江蘇 南京 210023)
隨著現(xiàn)代社會(huì)的飛速發(fā)展,人們的生活水平越來(lái)越好,但心臟病等疾病的發(fā)病幾率也越來(lái)越高。然而大多數(shù)的心臟檢測(cè)設(shè)備體積過(guò)大且價(jià)格昂貴,無(wú)法滿足大多數(shù)人的需求。文中設(shè)計(jì)了一個(gè)心音信號(hào)綜合采集分析系統(tǒng)。該系統(tǒng)以凌陽(yáng)SPCE061A單片機(jī)為控制核心,運(yùn)用傳感器、A/D轉(zhuǎn)換、濾波放大、FPGA信號(hào)處理等技術(shù)手段,采用傳感器對(duì)人體的心音信號(hào)進(jìn)行采集,經(jīng)過(guò)信號(hào)處理電路對(duì)信號(hào)進(jìn)行濾波放大等處理,通過(guò)FPGA和單片機(jī)將采集到的數(shù)據(jù)進(jìn)行分析計(jì)算并用揚(yáng)聲器輸出。結(jié)果表明,該系統(tǒng)能夠精確采集并處理心音信號(hào),這種具有實(shí)時(shí)播報(bào)的功能,不僅能夠方便病人的自我診斷,同時(shí)也可以讓患者更及時(shí)的就醫(yī)。
心音采集;A/D轉(zhuǎn)換;FPGA;語(yǔ)音播報(bào)
傳統(tǒng)的心音圖儀在心音存儲(chǔ)、數(shù)據(jù)處理上存在著較大的局限性,而且不具備量化分析功能,因而臨床應(yīng)用較少。隨著數(shù)字技術(shù)的發(fā)展,國(guó)內(nèi)外再次出現(xiàn)心音研究的熱潮。研究?jī)?nèi)容包括心音信號(hào)檢測(cè)、分析、識(shí)別、模擬以及心音信號(hào)處理的臨床應(yīng)用[1]。
目前已有大量與心音相關(guān)的研究成果不斷出現(xiàn),如基于LabVIEW平臺(tái)的心音分析虛擬儀器[2]、便攜式心音檢測(cè)儀、電子聽(tīng)診器[3]、基于Android平臺(tái)的心音識(shí)別系統(tǒng)[4]等應(yīng)用。其中大量的研究結(jié)果表明,對(duì)心音信號(hào)的濾波和提取包絡(luò)是決定系統(tǒng)性能的關(guān)鍵因素。
文中介紹了一種基于SPCE061A的語(yǔ)音心音檢測(cè)儀的設(shè)計(jì)與實(shí)現(xiàn)方法。該系統(tǒng)不僅能基于對(duì)心音信號(hào)的時(shí)頻域分析[5]有效地對(duì)心音信號(hào)進(jìn)行濾波、提取包絡(luò),還能通過(guò)凌陽(yáng)單片機(jī)在揚(yáng)聲器中的實(shí)時(shí)語(yǔ)音播報(bào)測(cè)試結(jié)果,方便病人及時(shí)了解自身心音變化情況,具有靈活輕便、易于攜帶、可靠性高等特點(diǎn),提高了心音聽(tīng)診的及時(shí)性和準(zhǔn)確性。
心音是由心肌收縮,心臟瓣膜關(guān)閉和血液撞擊心室壁、大動(dòng)脈壁等引起的振動(dòng)所產(chǎn)生的聲音。每一心動(dòng)周期可產(chǎn)生四個(gè)心音,一般均能聽(tīng)到的是第一和第二心音。心音信號(hào)具有微弱性、低頻特性和不穩(wěn)定性。時(shí)域分析中,第一心音的特點(diǎn)為音響低鈍,第二心音的特點(diǎn)為音調(diào)較高而清脆。第一心音與第二心音的時(shí)間間隔稱為心臟收縮期,第二心音和下一心動(dòng)周期的第一心音的時(shí)間間隔稱為心臟舒張期。
在采集心音信號(hào)的過(guò)程中,會(huì)引入部分噪聲,這些噪聲會(huì)影響到心音的分析結(jié)果[6]。影響心音信號(hào)的噪聲主要包括以下幾種:50 Hz工頻及其各次諧波的干擾,由于呼吸和運(yùn)動(dòng)所產(chǎn)生的電極接觸噪聲,肌肉收縮產(chǎn)生的噪聲,電子裝置產(chǎn)生的噪聲。通過(guò)采取適當(dāng)?shù)拇胧?,可將心音信?hào)噪聲降到一定的程度,但僅依靠模擬信號(hào)處理并不能完全解決噪聲干擾問(wèn)題,需考慮采用數(shù)字濾波技術(shù)處理心音信號(hào)。文中采用基于小波去噪的自適應(yīng)濾波器以提高心音信號(hào)的信噪比。
圖1 自適應(yīng)小波變換流程圖
從總體上來(lái)說(shuō),心音檢測(cè)儀就是一個(gè)智能化信號(hào)采集處理系統(tǒng),結(jié)構(gòu)上主要由完成人體心音信號(hào)采集、濾波、放大、比較等功能的前端硬件電路部分[7-9]和完成數(shù)據(jù)分析、處理和輸出的微機(jī)控制部分組成,這兩大部分協(xié)調(diào)配合完成整個(gè)系統(tǒng)功能。系統(tǒng)框圖如圖2所示。
圖2 心音檢測(cè)儀系統(tǒng)框圖
2.1 前段硬件電路設(shè)計(jì)
心音的聽(tīng)音范圍為20~600 Hz,由于心音信號(hào)比較微弱,于是采用抗靈敏度高、抗干擾能力強(qiáng)的新型高分子聚合材料微音傳感元件作為心音的采集探頭。參數(shù)如下:電源使用3~4 VDC;功耗小于1 mA;頻率響應(yīng)在1~600 Hz;靈敏度大于4 mVPa。
低通濾波[10]部分采用巴特沃茲二階低通濾波電路。由于心音信號(hào)的有用部分集中在0.05~100 Hz之間,所以取截止頻率f0=100Hz。然后采用LM324進(jìn)行前置放大[11],經(jīng)前置放大后差動(dòng)信號(hào)轉(zhuǎn)換為單端信號(hào),由于輸出幅度較小,必須經(jīng)過(guò)再次放大后輸入到模數(shù)轉(zhuǎn)換電路。由于測(cè)量電路器件本身存在噪聲和其他干擾,同時(shí)輸入信號(hào)幅值較小,需要加入二階低通濾波電路抑制雜散信號(hào)。在具體電路設(shè)計(jì)中,通過(guò)先仿真后搭建硬件電路,在調(diào)測(cè)過(guò)程中選取適當(dāng)?shù)碾娙?、電阻值,確保低通濾波效果。
對(duì)于心音檢測(cè)儀[12-15]來(lái)說(shuō),如何準(zhǔn)確地測(cè)出心率是關(guān)鍵。文中設(shè)計(jì)方案針對(duì)心音的脈沖特性,采用以超低失調(diào)電壓運(yùn)放OP07為核心的遲滯比較電路,將經(jīng)過(guò)前端處理的心音信號(hào)整合成矩形脈沖信號(hào),再輸入到單片機(jī)管腳中進(jìn)行計(jì)數(shù),就可以很方便地測(cè)出心跳速率。
2.2 FPGA數(shù)字濾波器
數(shù)字濾波器對(duì)采集回的信號(hào)進(jìn)行譜分析,將頻域中的噪聲信號(hào)和有用信號(hào)進(jìn)行分離。該方法是基于頻域的處理方法,因此只適用于有用信號(hào)和噪聲信號(hào)頻譜未發(fā)生重疊的情形。而由心音傳感器采集回的信號(hào),其有用部分和噪聲部分在頻譜中是混疊的,經(jīng)典的數(shù)字濾波器的方法效果不明顯。為了解決該問(wèn)題,文中采用非線性數(shù)字濾波方法,即基于小波變換的數(shù)字濾波。具體過(guò)程如下:首先要在小波變換域?qū)π盘?hào)進(jìn)行小波多層分解,同時(shí)對(duì)小波系數(shù)進(jìn)行非線性處理,如削切以及閾值處理等,通過(guò)以上步驟實(shí)現(xiàn)去噪的目的。采用經(jīng)典方法去噪常常會(huì)導(dǎo)致信號(hào)高頻區(qū)信息丟失的問(wèn)題,小波去噪可在一定程度上避免該問(wèn)題的發(fā)生。
在信號(hào)時(shí)間內(nèi)對(duì)其進(jìn)行小波分解以獲取小波系數(shù)中的最大值,該值與分解尺度成正相關(guān)且存在峰值。分解得到的小波系數(shù)最大值會(huì)因?yàn)樵肼暤呢?fù)奇異性而隨著分解尺度的增加逐漸減小,均勻分布在分解的各層內(nèi)。實(shí)現(xiàn)信號(hào)與噪聲在時(shí)域、頻域上的分離。
由于小波變換去噪的運(yùn)算量較大,不易于通過(guò)單片機(jī)實(shí)現(xiàn),因此文中采用現(xiàn)場(chǎng)可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)[16]實(shí)現(xiàn)。FPGA具有的豐富硬件資源為實(shí)現(xiàn)小波算法提供了可能性。FPGA采用并行處理的結(jié)構(gòu),可以處理復(fù)雜功能的程序,在設(shè)計(jì)的過(guò)程中便于修改,能夠高效地實(shí)現(xiàn)小波變換去噪。將分布式算法的思想轉(zhuǎn)換成查找表的操作,可以大大提高信號(hào)處理的運(yùn)算速率。
信號(hào)的小波去噪可以分為三個(gè)步驟進(jìn)行:第一步是小波分解。首先選取合適的小波基對(duì)染噪信號(hào)在小波域進(jìn)行分解,可獲得N層的高頻系數(shù)和低頻系數(shù)。第二步需要對(duì)獲得的高頻系數(shù)進(jìn)行閾值處理。其中,第1層到第N層的高頻系數(shù)與各自的閾值進(jìn)行比較,進(jìn)行相應(yīng)的數(shù)值處理。最后一步是小波重構(gòu)。將低頻系數(shù)與閾值處理后的高頻系數(shù)的數(shù)值重新組合,從而完成小波去噪過(guò)程。
在實(shí)際硬件設(shè)計(jì)和實(shí)現(xiàn)中,使用XILINX公司的spartan3E的XC3S500EFPGA來(lái)實(shí)現(xiàn)數(shù)字濾波器。首先通過(guò)AD采樣將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。數(shù)據(jù)將從IO口傳到FPGA內(nèi)部,F(xiàn)PGA內(nèi)部收到數(shù)據(jù)后會(huì)啟動(dòng)小波去噪模塊,從硬件上實(shí)現(xiàn)數(shù)據(jù)采集和自適應(yīng)小波去噪的過(guò)程,并傳輸給下一級(jí)電路,有效地提高了心音信號(hào)的信噪比。其中,AD轉(zhuǎn)換器為AD公司的AD7482,數(shù)值存儲(chǔ)采用的是美國(guó)美光的MT48LC8M16A2,采用FTDI公司FT245R芯片作為通用串行總線轉(zhuǎn)換芯片進(jìn)行數(shù)據(jù)傳輸。
2.3 單片機(jī)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
凌陽(yáng)的SPCE061A單片機(jī)最多可處理16位數(shù)據(jù),具有部分DSP功能,最高時(shí)鐘頻率可達(dá)49 MHz,有較強(qiáng)的信號(hào)處理能力。這些為語(yǔ)音的播放、錄放、合成以及辨識(shí)提供了必要的條件。將語(yǔ)音處理部分分解為A/D、語(yǔ)音編碼、數(shù)據(jù)存儲(chǔ)、語(yǔ)音解碼以及D/A等部分,如圖3所示。
圖3 單片機(jī)對(duì)語(yǔ)音的處理過(guò)程
SPCE061A的開(kāi)發(fā)環(huán)境為在線調(diào)試器PROBE,它集合了編程器(即程序燒寫器)和實(shí)時(shí)在線調(diào)試器的功能。通過(guò)PROBE利用SPCE061A片中內(nèi)部嵌入的在線仿真電路ICE,即In-Circuit Emulator接口可以實(shí)現(xiàn)單片機(jī)的在線串行編程。在線調(diào)試器是在凌陽(yáng)IDE的集成開(kāi)發(fā)環(huán)境軟件包下工作的,通過(guò)5芯的仿真頭直接連接到目標(biāo)電路板上的芯片的對(duì)應(yīng)管腳上,實(shí)現(xiàn)對(duì)目標(biāo)電路板上的SPCE061A芯片中用戶所編寫的程序直接進(jìn)行調(diào)試和運(yùn)行的功能。在線調(diào)試器PROBE采用標(biāo)準(zhǔn)的25針打印機(jī)接口,便于通過(guò)計(jì)算機(jī)打印口實(shí)現(xiàn)與上位機(jī)的通訊。此外,通過(guò)計(jì)算機(jī)IDE集成開(kāi)發(fā)環(huán)境軟件包,可實(shí)現(xiàn)在線調(diào)試功能。
使用麥克風(fēng)所產(chǎn)生的WAVE文件會(huì)占用大量存儲(chǔ)空間,凌陽(yáng)SPCE061A為這一問(wèn)題提供了解決途徑,即SACM-LIB庫(kù)。庫(kù)中包括了A/D、D/A模塊、解編碼模塊以及存儲(chǔ)模塊。了解每個(gè)模塊所要實(shí)現(xiàn)的功能及其參數(shù)后,可通過(guò)調(diào)用每個(gè)模塊對(duì)應(yīng)的應(yīng)用程序接口API函數(shù)實(shí)現(xiàn)該功能,如表1所示。
表1 SACM-LIB庫(kù)中模塊及其算法類型
在SACM-LIB中,SACM_A2000和SACM_S480兩種放音算法較為常用。在使用中會(huì)遇到添加語(yǔ)音資源的問(wèn)題,WAV文件需要按照壓縮比壓縮為資源表形式才能在程序中調(diào)用。凌陽(yáng)提供專門壓縮的Windows工具,該工具允許選擇一個(gè)或多個(gè)WAV文件進(jìn)行壓縮。壓縮編碼可以實(shí)現(xiàn)高效存儲(chǔ)和轉(zhuǎn)換。在實(shí)際操作中,未經(jīng)壓縮編碼的音頻資料會(huì)占用大量的存儲(chǔ)空間,若直接對(duì)其進(jìn)行傳輸和存儲(chǔ)會(huì)大大影響檢測(cè)系統(tǒng)的效率。資料壓縮能夠?qū)崿F(xiàn)對(duì)信號(hào)趨勢(shì)的預(yù)測(cè)和冗余信息的處理,在占用較少資源的情況下處理更多的信息,節(jié)省內(nèi)存資源,縮短傳輸時(shí)間。
由于語(yǔ)音編程技術(shù)較為成熟,也可以考慮在原有程序的基礎(chǔ)上加入一些模塊化程序,如鍵盤。語(yǔ)音文件的播放、停止、暫停、恢復(fù)以及音量的大小等可以通過(guò)按鍵控制。因此為用戶提供了一個(gè)接口文件Key.inc作為資源使用模塊,模塊中定義了可供系統(tǒng)調(diào)用的與按鍵掃描相關(guān)的子程序。在模塊中的Key.asm文件中,定義了程序中所需要的全局和局部變量。該文件是上述接口中定義的各子程序的程序?qū)嶓w。
2.4 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
模塊化設(shè)計(jì)原則在整個(gè)程序設(shè)計(jì)的過(guò)程中都有體現(xiàn),主要包含IO口讀取數(shù)據(jù)、數(shù)據(jù)存儲(chǔ)、心率計(jì)算、語(yǔ)音輸出播放等子程序模塊。該系統(tǒng)通過(guò)主程序來(lái)控制程序主體流程,通過(guò)調(diào)用子程序來(lái)實(shí)現(xiàn)各項(xiàng)心音檢測(cè)功能。系統(tǒng)的主程序流程圖如圖4所示。
圖4 主程序流程圖
特定的I/O端口需要根據(jù)系統(tǒng)的需求進(jìn)行相應(yīng)的初始化,即根據(jù)系統(tǒng)的輸入、輸出需求,將相應(yīng)的I/O端口設(shè)置為輸入狀態(tài)或輸出狀態(tài),然后通過(guò)主循環(huán)來(lái)實(shí)現(xiàn)Data單元數(shù)據(jù)和Buffer單元數(shù)據(jù)的讀取和寫入。
此外,使用SACM_A2000壓縮算法進(jìn)行語(yǔ)音播放的過(guò)程需先經(jīng)歷一次語(yǔ)音播放初始化,其中包括數(shù)據(jù)的讀取、語(yǔ)音隊(duì)列的填充或者解壓縮,以及語(yǔ)音的輸出播放這幾個(gè)步驟。初始化可選擇自動(dòng)方式或者手動(dòng)方式。選擇自動(dòng)播放時(shí),只要調(diào)用SACM_A2000_ServiceLoop()函數(shù)就可以方便地實(shí)現(xiàn)取數(shù)據(jù),填充語(yǔ)音隊(duì)列及解壓縮的功能。
最終程序?qū)崿F(xiàn)如下功能:主函數(shù)首先進(jìn)行鍵盤按鍵掃描,當(dāng)檢測(cè)到Key1鍵被按下時(shí),開(kāi)始播放提示音,準(zhǔn)備進(jìn)行心音檢測(cè)。同時(shí),定時(shí)器開(kāi)始定時(shí)30 s,計(jì)數(shù)器記下在此期間的心跳脈沖數(shù)目。當(dāng)?shù)搅?0 s的定時(shí)時(shí)間之后,計(jì)數(shù)程序立刻被中斷,并對(duì)所記錄數(shù)值的兩倍除以10進(jìn)行取余,得出個(gè)位和十位后,最后語(yǔ)音播報(bào)出心跳脈沖速率。
在目前的醫(yī)療領(lǐng)域內(nèi),心音檢測(cè)技術(shù)已被廣泛應(yīng)用于臨床診斷,在取得了較好檢測(cè)效果的同時(shí),硬件設(shè)備的操作使用也十分簡(jiǎn)單方便,有較高的實(shí)用性。文中側(cè)重于對(duì)心音檢測(cè)儀的硬件研制和軟件開(kāi)發(fā)過(guò)程。根據(jù)儀器參數(shù)的要求,結(jié)合大量相關(guān)資料繪制出各模塊的電路圖并通過(guò)硬件電路實(shí)現(xiàn)各項(xiàng)功能。軟件方面遵循模塊化設(shè)計(jì)原則,功能程序設(shè)計(jì)簡(jiǎn)潔明了,并在文中畫出了整體程序的流程圖,對(duì)各功能進(jìn)行了詳細(xì)的注解。為了能更直接清晰地觀測(cè)心臟的跳動(dòng)情況,也可以在該系統(tǒng)的基礎(chǔ)上添加顯示模塊,進(jìn)一步完善系統(tǒng)功能。
[1] 季 安,郭興明,肖守中.心音檢測(cè)儀的研究進(jìn)展[J].現(xiàn)代科學(xué)儀器,2006(6):34-36.
[2] 張會(huì)香,成謝鋒.LabVIEW平臺(tái)上的心音分析虛擬儀器設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(11):217-220.
[3] 樊 容.低噪聲電子聽(tīng)診器的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2014,22(24):130-133.
[4] 成謝鋒,劉 偉.基于Android平臺(tái)的心音識(shí)別系統(tǒng)的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,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] 朱冰蓮,劉 倩.心音信號(hào)的自適應(yīng)小波去噪[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(10):83-84.
[7] 彭 軍.傳感器與檢測(cè)技術(shù)[M].西安:西安電子科技大學(xué)出版社,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] 陳粵初.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,1998.
[10] 陳惠開(kāi).無(wú)源與有源濾波器—理論與應(yīng)用[M].北京:人民郵電出版社,1996.
[11] 康華光.電子技術(shù)基礎(chǔ)—模擬部分[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的小波去噪的硬件實(shí)現(xiàn)[J].激光技術(shù),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
時(shí)間:2016-05-05
江蘇省高校自然科學(xué)研究面上項(xiàng)目(15KJD510001);南京郵電大學(xué)實(shí)驗(yàn)室工作研究重點(diǎn)課題(2015XSG02);南京郵電大學(xué)重點(diǎn)教學(xué)改革項(xiàng)目(JG03314JX54,JG03314JX53)
魏 敏(1994-),女,研究方向?yàn)閿?shù)字信號(hào)處理及其FPGA實(shí)現(xiàn);孫科學(xué),副教授,研究方向?yàn)殡娮与娐吩O(shè)計(jì)、嵌入式系統(tǒng)與通信軟件設(shè)計(jì)。
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