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