基于FPGA的心音信號采集系統(tǒng)設計
目前,心血管疾病的診斷主要分為無創(chuàng)診斷和有創(chuàng)診斷法兩種。其中,無創(chuàng)診斷包括心電圖、動態(tài)心電圖和心音圖、超聲心動圖以及現(xiàn)代醫(yī)學成像技術[1];有創(chuàng)診斷主要指動脈造影技術,但是會帶來并發(fā)癥。非常嚴重的心血管疾病并不能夠通過心電圖做出正確診斷,而早期的心臟病變會引起心音信號成分的變化,通過心音圖分析心音成分以及雜音,能對早期心血管疾病做出正確診斷。心音信號是一種非常微弱的隨機信號,在采集過程中不可避免地引入了噪聲。韋哲等人設計了基于聲卡的心音信號采集與處理系統(tǒng)[2],該系統(tǒng)充分利用了計算機資源,但是電腦本身存在較大噪聲,采集到的信號信噪比較低。童英華設計了基于單片機的心音、脈搏信號采集系統(tǒng)[3], 但是單片機存在傳輸速率低的問題。本文設計了基于FPGA的心音采集系統(tǒng),該系統(tǒng)采集到的心音信噪比較高,適宜后續(xù)研究。
1 采集系統(tǒng)整體方案設計
本采集系統(tǒng)框圖如圖1所示,該系統(tǒng)由心音傳感器、信號預處理電路、A/D轉(zhuǎn)換電路以及PC等構成。其中,信號預處理電路首先對心音信號進行前級放大,然后經(jīng)過帶通濾波(由低通濾波電路和高通濾波電路構成),最后經(jīng)過后級放大電路處理。帶通濾波電路可以通過開關控制,前級放大的輸出可以通過開關控制直接跳過帶通濾波電路直接到后級放大電路,由于前級信號只將心音信號放大到幾百毫伏,信號仍然很弱,因此再經(jīng)過后級放大電路把心音信號放大至+5 V范圍內(nèi),然后輸出到A/D轉(zhuǎn)換電路。A/D轉(zhuǎn)換電路采用8 bit、32 MS/s模數(shù)轉(zhuǎn)換單芯片AD9280,A/D轉(zhuǎn)換后的數(shù)據(jù)直接傳送給FPGA,F(xiàn)PGA通過串口將數(shù)據(jù)實時發(fā)送到PC,實現(xiàn)整個采集系統(tǒng)。
2 采集系統(tǒng)實現(xiàn)
2.1 心音傳感器的研究
心音傳感器是整個系統(tǒng)中的重要部分,它的特性對采集到的信號質(zhì)量至關重要。本文設計了一款優(yōu)質(zhì)、廉價的基于駐極體電容話筒的心音傳感器。該傳感器靈敏度高,抗干擾能力強,除了能提取出微弱的心音信號外,還能盡量不受外界噪聲的干擾[4]。本傳感器由一個微型駐極體話筒和一個聽診器的聽頭組成,聽診器選用的帶雙面探頭的歐石130 K。制作時把聽診器的膠管截去,留下約10 cm左右,該傳感器對心音的靈敏度比較高,對外界的聲音幾乎無反應[5]。振膜接收到聲波后發(fā)生相應的振動,同時引起極板間距離的變化,電容計算公式為:
其中,ε 為電解質(zhì)常數(shù),S 為極板表面積,d 為極板間距離。由式(1 ) 可知, 當電容作相應變化時, 由于R 阻值很大, 充電電荷Q 來不及變化, 從而引起電容兩端的電壓發(fā)生變化, 即:
U=Q/C (2 )
這樣, 話筒就將聲音信號轉(zhuǎn)換成了電壓信號。
2.2 心音信號預處理電路
2.2.1 心音信號前置放大電路設計
傳感器輸出的心音信號微弱并且夾雜著噪聲, 為了提取出有用信號, 必須進行放大和濾波處理。本文采用同相輸入電路, 并且輸入電路需滿足如下要求:
(1 ) 前置級的輸入阻抗要足夠高, 從而保證心音信號的穩(wěn)定放大。心音信號源本身是一種微弱的振動源, 將聲波轉(zhuǎn)換為電信號的過程又呈現(xiàn)出高內(nèi)阻特性[ 6 ] , 粗略估計, 與放大器輸入端相連的信號源內(nèi)阻高達100 kΩ。
(2 ) 高共模抑制比(CMRR) 。生物電放大器的CMRR值一般要求達到60 dB~80 dB。但是放大器前邊傳感器系統(tǒng)影響了它的實際共模能力, 使得共模干擾轉(zhuǎn)化成差模干擾, 降低了整個前置級的CMRR。但是通過提高放大器的輸入阻抗可以減小這一轉(zhuǎn)化, 從而保證高的共模抑制比。
(3 ) 低噪聲、低漂移。由于心音信號幅度較低, 僅在毫伏級, 并且夾雜著較大的熱噪聲, 要讓輸出信號具有較高的信噪比, 就要求放大器的內(nèi)部噪聲較低。為了滿足實驗需要, 選取NE5532 運算放大器, 它是一種高性能低噪聲運算放大器。與大多數(shù)的標準運算放大器相比,它具有更好的噪聲性能, 輸出驅(qū)動能力和相當高的小信號和電源帶寬。前置放大電路前端加了電解電容進行濾波, 允許高頻成分通過, 濾掉低頻成分。放大電路如圖2所示, 放大倍數(shù)為1+(R11+R12)/R14。
2.2.2 心音信號高通濾波電路設計
前置放大電路輸出的信號并不是純粹的心音信號,其中夾雜著不少的工頻干擾和低頻分量[ 7], 如傳感器與皮膚的摩擦音、呼吸噪音和記錄儀器的干擾等。這不僅不利于后續(xù)分析研究, 更有可能淹沒心音信號。因此, 本文設計了一個高通濾波電路來消除上述噪音, 如圖3 所示。二階高通濾波器的傳遞函數(shù)為:
2.2.3 低通濾波電路
從高通濾波電路出來的心音信號還混有較高頻率的傳聲器與人體皮膚摩擦產(chǎn)生的干擾, 通過低通濾波電路來濾除高頻干擾成分, 電路圖如圖4 所示。
2.2.4 后級放大電路
由于前級信號只將心音信號放大到幾百毫伏,信號仍然很弱,因此再經(jīng)過后級放大電路把心音信號放大至+5 V范圍內(nèi)。后級放大電路如圖5所示。
2.3 A/D轉(zhuǎn)換電路
AD9280是一款單芯片、8 bit模數(shù)轉(zhuǎn)換器(ADC),采用單電源供電,內(nèi)置一個片內(nèi)采樣保持放大器和基準電壓源。它采用多級差分流水線架構,數(shù)據(jù)速率達32 MS/s,在整個工作范圍內(nèi)保證無失碼。輸入經(jīng)過設計,使成像和通信系統(tǒng)的開發(fā)更加輕松。用戶可以選擇各種輸入范圍和偏移,并可以通過單端或差分方式驅(qū)動輸入。AD9280具有一個片上可編程基準電壓源。也可以使用外部基準電壓,以滿足應用的直流精度與溫度漂移要求。采用+2.7 V~+5.5 V電源供電,非常適合高速應用中的低功耗操作。額定溫度范圍為-40℃~+85℃工業(yè)溫度范圍。A/D轉(zhuǎn)換電路如圖6所示。
2.4 FPGA控制串口通信
結合項目的現(xiàn)有設備DB2C8核心板,將信號放大電路和A/D轉(zhuǎn)換電路經(jīng)過DB2C8核心板的擴展口,把A/D轉(zhuǎn)換的數(shù)據(jù)傳送到FPGA芯片EP2C8Q208,A/D轉(zhuǎn)換的采樣時鐘由FPGA來控制,利用FPGA的FIFO存儲器存儲A/D轉(zhuǎn)換的數(shù)據(jù),然后控制串口通信的波特率為115 200 b/s,進行實時傳輸。FPGA仿真波形如圖7所示。FIFO為異步讀寫,F(xiàn)IFO寫時鐘速率為8 kHz,讀速率為60 MHz,串口通信的波特率設置為115 200 b/s,如圖7所示,PORT_txd為串口輸出,q為FIFO的讀數(shù)。
本采集系統(tǒng)在FPGA的控制下能夠快速、便捷地采集心音信號數(shù)據(jù),由采集的數(shù)據(jù)畫出的波形如圖8所示。本系統(tǒng)數(shù)據(jù)傳輸速率高,能在噪聲背景下提取出有用的心音信號,使得心音的采集更加方便,心音庫的建立變得切實可行。