基于DSP的數(shù)字聽診器的設(shè)計(jì)與實(shí)現(xiàn)
作者 張石 李昂 袁粵林 于秀 東北大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院(遼寧 沈陽 110819)
本文引用地址:http://2s4d.com/article/201806/382301.htm張石(1963-),男,博士,教授,研究方向:生物醫(yī)學(xué)電子學(xué)、醫(yī)學(xué)影像處理。
摘要:設(shè)計(jì)了一種數(shù)字化的基于DSP的聽診器,該聽診器采用TI公司低功耗DSP處理芯片TMS320C5515作為核心處理芯片,系統(tǒng)集電源部分、外部存儲(chǔ)部分、顯示部分、前端音頻采集處理部分、藍(lán)牙傳輸部分于一身。與傳統(tǒng)聽診器相比,本設(shè)計(jì)能夠?qū)π姆我粜盘?hào)進(jìn)行了實(shí)時(shí)FIR濾波處理、心率計(jì)算,且通過藍(lán)牙將聲音信號(hào)傳給用戶,有更高的醫(yī)學(xué)診斷價(jià)值。
0 引言
聽診器作為醫(yī)生常用的醫(yī)療工具,是診斷心血管系統(tǒng)疾病、呼吸系統(tǒng)疾病的重要手段之一。但在車禍等事故現(xiàn)場(chǎng)的特殊環(huán)境、臨床診斷以及醫(yī)學(xué)教學(xué)中迫切需要一種體積小、成本低、具有良好抗干擾能力,并能實(shí)現(xiàn)多人同時(shí)聽診的數(shù)字聽診器。因此,在目前的醫(yī)療環(huán)境下,數(shù)字聽診器具有很大的市場(chǎng)、經(jīng)濟(jì)以及應(yīng)用價(jià)值。
文獻(xiàn)[1]提出了一種利用DSP芯片設(shè)計(jì)數(shù)字聽診器的參考設(shè)計(jì)方案,文獻(xiàn)[2]提出了利用希爾伯特黃變換對(duì)聲音信號(hào)進(jìn)行包絡(luò)提取,并利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行模式識(shí)別的辦法。文獻(xiàn)[3-7]提出了各種基于不同平臺(tái)的數(shù)字聽診器,為本文的實(shí)現(xiàn)奠定了基礎(chǔ)。
1 系統(tǒng)整體方案
整個(gè)系統(tǒng)的方案框圖如圖1所示,當(dāng)模擬前端(AFE)采集到聲音信號(hào)后,該聲音信號(hào)經(jīng)過模擬的放大、濾波、AD轉(zhuǎn)換后通過I2S總線傳給DSP芯片。
DSP芯片在高速外部存儲(chǔ)的協(xié)助下處理大量的聲音數(shù)據(jù),并最終將所需信息顯示在LCD上。
在這個(gè)過程中DSP芯片主要進(jìn)行的工作有數(shù)字濾波、心率檢測(cè)及波形顯示等,DSP芯片的應(yīng)用使得廉價(jià)、高性能的數(shù)字聽診器的實(shí)現(xiàn)成為可能。
2 硬件方案
本方案模擬前端采用低漂移、高共模抑制比的OPA335對(duì)麥克風(fēng)輸出的毫伏范圍內(nèi)的信號(hào)進(jìn)行適當(dāng)?shù)姆糯?、濾波,并包含可變?cè)鲆娌糠忠蕴岣咝旁氡取?/p>
DSP芯片采用TI公司低功耗處理芯片TMS320C5515,內(nèi)部含有4個(gè)DMA通道和4個(gè)I2S總線,且對(duì)于FFT有硬件加速,功耗低、處理能力強(qiáng),非常適合用在此處。
選用TI公司可編程控制輸入輸出的TLV320AIC3254作為編解碼芯片。CPU通過I2S總線與音頻編解碼器交換數(shù)據(jù)信號(hào),通過I2C總線發(fā)送控制信號(hào)對(duì)編解碼器進(jìn)行配置。
本系統(tǒng)所采用的SDRAM容量為256 Mb,型號(hào)為MT48LC16M16A2,利用DSP芯片內(nèi)部DMA的ping-pong機(jī)制配合外部高速RAM能夠?qū)崿F(xiàn)在下一幀數(shù)據(jù)到來之前完成數(shù)據(jù)的處理,從而保證系統(tǒng)的實(shí)時(shí)性。考慮到程序存儲(chǔ)問題,本系統(tǒng)選擇外擴(kuò)FLASH,型號(hào)為PC28F128P30B85。
聲音最后通過藍(lán)牙模塊傳輸至藍(lán)牙耳機(jī),實(shí)現(xiàn)無線聽診。藍(lán)牙模塊采用SHION-M60藍(lán)牙模塊,該模塊內(nèi)部集成CSR8670藍(lán)牙芯片,是業(yè)界保真度最高的芯片之一,該模塊可直接將解碼之后的模擬聲音信號(hào)傳輸給藍(lán)牙耳機(jī)。
本系統(tǒng)采用外部5 V DC輸入,電源芯片采用TPS70302,該芯片可將5 V左右輸入轉(zhuǎn)化為3.3 V和1.8 V,供給DSP及外設(shè),此外,DSP芯片的LDOI引腳供3.3 V電壓,從而使DSP芯片自身輸出1.3 V給內(nèi)核供電。整體框圖如圖2所示。
3 軟件方案
程序整體的思路:首先通過DSP對(duì)前端編解碼芯片TLV320AIC3254配置來啟動(dòng)采集,然后DSP對(duì)采集的信號(hào)進(jìn)行相應(yīng)的處理,再通過I2S傳輸給編解碼器,通過藍(lán)牙耳機(jī)將心音實(shí)時(shí)播放出來,從而實(shí)現(xiàn)無線聽診以及多人同時(shí)聽診。在數(shù)據(jù)傳輸方面采用DMA,使DSP芯片主要工作集中在數(shù)字信號(hào)的處理上。并且用戶可通過按鍵進(jìn)行聽診模式選擇,包括心音、肺音等(通過改變FIR濾波器參數(shù)),音量調(diào)節(jié),是否保存等操作。軟件系統(tǒng)的架構(gòu)如圖3所示。
為了實(shí)現(xiàn)心音實(shí)時(shí)的顯示,需要對(duì)輸入緩存與輸出緩存進(jìn)行一些處理,在輸入端采用Ping-Pong Buffer模式,將數(shù)據(jù)的采集以及處理分開來,避免數(shù)據(jù)處理期間聲音信號(hào)的丟失。在輸出端將輸出緩存分為四個(gè)小的緩存,將數(shù)據(jù)進(jìn)出緩存區(qū)相互錯(cuò)開,解決了數(shù)據(jù)之間的沖突問題。圖4為程序整體的流程圖。
4 DSP濾波
前文已經(jīng)提到DSP芯片的主要工作是進(jìn)行數(shù)字濾波以及心率計(jì)算。由于傳統(tǒng)的聽診頭有膜型聽診頭和鐘型聽診頭兩種,鐘型聽診頭對(duì)于低頻的聲音較敏感,而膜型聽診頭會(huì)濾除一部分低頻的聲音對(duì)高頻的聲音較敏感,在此我們通過數(shù)字濾波來實(shí)現(xiàn)。為了實(shí)現(xiàn)更高的運(yùn)行效率,我們調(diào)用TMS320C5515 DSP庫中的FIR函數(shù),這樣我們只需要計(jì)算出滿足我們要求的FIR濾波器系數(shù)和階數(shù)傳遞給FIR函數(shù)即可。
鐘模式的頻率范圍20~220 Hz,膜模式的范圍為50~600 Hz。使用MATLAB中FDATOOL來進(jìn)行濾波器的設(shè)計(jì),然后對(duì)濾波器的系數(shù)量化后導(dǎo)出即可。在設(shè)計(jì)過程中,首先需要保證在通帶內(nèi)為線性相位防止相位失真,然后階數(shù)要適合在DSP的計(jì)算速度允許的情況下保證足夠的阻帶衰減。所以這里使用窗函數(shù)設(shè)計(jì)方法,窗函數(shù)為哈明窗,階數(shù)為161階。當(dāng)頻率范圍為20~220 Hz時(shí),縮放x軸后濾波器幅頻與相頻響應(yīng)如圖5所示。
當(dāng)頻率范圍為50~600 Hz時(shí),縮放x軸后濾波器幅頻與相頻響應(yīng)如圖6所示。
圖7是一段采樣心音信號(hào)等間隔抽取后得到的圖形,可以看出這段信用被干擾是比較嚴(yán)重的,尤其是第二心音,根據(jù)頻譜可以發(fā)現(xiàn)高頻的噪聲成分是比較多的。對(duì)以上信號(hào)使用所設(shè)計(jì)的FIR濾波器進(jìn)行濾波得到圖9。
濾波后信號(hào)從頻域圖中可以看出高頻信號(hào)得到了很好的抑制,基本能夠滿足設(shè)計(jì)需求。
5 心率算法
對(duì)于心率的計(jì)算,本方案采用的是自適應(yīng)心率求取。傳統(tǒng)的心率求取方法主要有兩種,一種是頻域的方法,即求出頻域尖峰間隔Δf,Δf說明了信號(hào)的周期性,以此來求取心率,但是通過對(duì)采集的信號(hào)進(jìn)行頻域分析時(shí)發(fā)現(xiàn),噪聲干擾對(duì)心率的求取影響很大,計(jì)算的心率波動(dòng)大、準(zhǔn)確率低。在此采用第二種時(shí)域的方法,在已知的時(shí)間間隔Δt內(nèi)計(jì)算心音信號(hào)的峰值數(shù)量n,則心率為,實(shí)現(xiàn)簡(jiǎn)單且不失準(zhǔn)確性。由于不同的情況下人的心跳信號(hào)的強(qiáng)度會(huì)不一樣,所以要想求取準(zhǔn)確的心率對(duì)于峰值閥值TH的選取很重要。由于心音強(qiáng)度的變化,固定的閥值在強(qiáng)度過高或過低時(shí)不能滿足準(zhǔn)確性的要求,所以這里選擇自適應(yīng)閥值。在每次求取心率之前,對(duì)采集的一段信號(hào)先進(jìn)行分析,求出信號(hào)的峰值 MAX(i),然后將這個(gè)峰值的0.7倍作為心率計(jì)算的閥值即TH(i)=0.7MAX(i),每次在新閥值的基礎(chǔ)上進(jìn)行計(jì)算,當(dāng)采樣值從x[n]
6 結(jié)論
本文從硬件設(shè)計(jì)部分、軟件編寫部分以及整體實(shí)現(xiàn)對(duì)數(shù)字聽診系統(tǒng)進(jìn)行了具體的闡述。本系統(tǒng)是一套完整的基于DSP的數(shù)字聽診器,集心音的采集、處理以及藍(lán)牙傳輸與一體,實(shí)現(xiàn)了心音的現(xiàn)代聽診。心音信息更加完整的再現(xiàn)、心音實(shí)時(shí)的回放以及通過藍(lán)牙傳輸是本系統(tǒng)的特點(diǎn)。有了藍(lán)牙聽診,本系統(tǒng)可以使用在醫(yī)學(xué)的教學(xué)當(dāng)中,醫(yī)師與學(xué)生同時(shí)聽診,實(shí)時(shí)指導(dǎo),讓教學(xué)更加高效與方便。
當(dāng)然本系統(tǒng)還有需要提升的地方。未來數(shù)字聽診器一定會(huì)取代傳統(tǒng)聽診器,我們需要它發(fā)揮更加重要的作用,這就需要更加小的體積和非常強(qiáng)的抗干擾能力,且功耗和成本也需要合理控制。此外,隨著時(shí)代的發(fā)展,人工智能也將是大勢(shì)所趨,故本系統(tǒng)也需要進(jìn)一步完善,下一步打算根據(jù)希爾伯特黃變換取出的包絡(luò)進(jìn)行BP神經(jīng)網(wǎng)絡(luò)模式識(shí)別,從而實(shí)現(xiàn)適應(yīng)于時(shí)代發(fā)展的智能聽診。
參考文獻(xiàn):
[1]TMS320C5515:心電圖(ECG)MDK開發(fā)方案[J].世界電子元器件,2011,(02):11-14.
[2]胡泊.智能電子聽診器設(shè)計(jì)與實(shí)現(xiàn)[D].天津大學(xué),2010.
[3]張家康.Android手機(jī)電子聽診器系統(tǒng)的研究[D].沈陽工業(yè)大學(xué),2016.
[4]陳晴.基于MSP430的電子聽診器
的設(shè)計(jì)[J].現(xiàn)代經(jīng)濟(jì)信息,2015(15):369+371.
[5]駱懿,吳穎.便攜式藍(lán)牙電子聽診器的研究[J].杭州電子科技大學(xué)學(xué)報(bào),2010,30(04):142-145.
[6]張虎軍.便攜式超低功耗心電聽診儀的研制[D].第一軍醫(yī)大學(xué),2004.
[7]樊容.基于嵌入式平臺(tái)的智能電子聽診器的研制[D].天津大學(xué),2014.
本文來源于《電子產(chǎn)品世界》2018年第7期第41頁,歡迎您寫論文時(shí)引用,并注明出處。
評(píng)論