FPGA在數字式心率計中的電路組成及工作原理
心率計是常用的醫學(xué)檢查設備,實(shí)時(shí)準確的心率測量在病人監控、臨床治療及體育競賽等方面都有著(zhù)廣泛的應用。心率測量包括瞬時(shí)心率測量和平均心率測量。瞬時(shí)心率不僅能夠反映心率的快慢。同時(shí)能反映心率是否勻齊;平均心率雖只能反映心率的快慢,但記錄方便,因此這兩個(gè)參數在測量時(shí)都是必要的。
本文引用地址:http://dyxdggzs.com/article/201705/359555.htm測量心率有模擬和數字兩種方法。模擬方法是在給定的時(shí)間間隔內計算R波(或脈搏波)的脈沖個(gè)數,然后將脈沖計數乘以一個(gè)適當的常數測量心率的。這種方法的缺點(diǎn)是測量誤差較大、元件參數調試困難、可靠性差。數字方法是先測量相鄰R波之間的時(shí)間,再將這個(gè)時(shí)間轉換為每分鐘的心跳數測量心率的。這種方法的優(yōu)點(diǎn)是測量精度高、可靠性好,并且能同時(shí)測量瞬時(shí)心率和平均心率。用數字方法測量心率的電路又分為兩種類(lèi)型:一種是使用一個(gè)可預置的計數器實(shí)現現除法電路;另一種是通過(guò)自動(dòng)下降的時(shí)鐘頻率測量相鄰R波之間的時(shí)間。
本心率計在數字式心率計的基礎上,采用FPGA和VHDL語(yǔ)言實(shí)現,減少了元器件使用數量,提高了測量精度和可靠性。該電路能夠實(shí)時(shí)采集并測量人體心跳的瞬時(shí)和平均心跳速率,判斷并顯示心率狀態(tài)(即心跳是否正常、是否過(guò)快或過(guò)慢、是否有心率不齊現象)。如果心率過(guò)快或過(guò)慢或者有心率不齊現象,那么將用不同顏色發(fā)光管進(jìn)行閃爍報警顯示。
1 測量方法及電路組成
1.1 測試方法
如上所述,采用數字方法測量瞬時(shí)心率(Intantaneous Heart Rate,IHR)時(shí),先測量?jì)上噜廟波之間的時(shí)間(即心率周期),再將這個(gè)心率周期轉換為每分鐘的心跳數。如圖1所示,設心率周期為T(mén)秒,則瞬時(shí)心率的計算公式為IHR=60/T。如果用頻率為f0的時(shí)鐘脈沖作為測量時(shí)間基準,在T秒時(shí)間內對時(shí)鐘脈沖計烽,并設計數值為N,則T=N/f0秒,故瞬時(shí)心率的計算公式為IHR=60f0/N。當f0=1kHz時(shí),IHR=60×1000/N=60000/N。

平均心率(Average Heart Rate)的測量是將一定時(shí)間內測得的各個(gè)瞬時(shí)心率求平均值。設測得的瞬時(shí)心率為IHR1,IHR2,…,IHRn,則平均心率的計算公式為:
AHR=(IHR1+IHR2+…+IHRn)/n
1.2 電路組成
系統的組成框圖如圖2所示。按下start開(kāi)關(guān)將啟動(dòng)測量過(guò)程,由傳感器獲得的模擬心電信號(R波或脈搏波)經(jīng)過(guò)放大后加到比較器的一個(gè)輸入端,與另一個(gè)輸入端的參考電壓進(jìn)行比較,將心電信號轉換為同周期的方波信號,再輸入FPGA進(jìn)行心率測量。

在FPGA中,波形變換電路首先將這個(gè)脈沖寬較寬的方波信號進(jìn)行微分,轉換為脈沖寬度等于時(shí)鐘信號(clk1)一個(gè)周期的方波信號,通過(guò)周期計數器在心率周期T時(shí)間內對時(shí)鐘信號計數,再根據前面給出的瞬時(shí)心率計算公式做除法運算即可得到瞬時(shí)心率。瞬時(shí)心率通過(guò)譯碼電路轉換為七段顯示代碼后送到FPGA外部的三個(gè)LED顯示器上進(jìn)行顯示。在一次測量結束時(shí),心率計算模塊將測到的各個(gè)瞬時(shí)心率求平均,得到的平均心率轉換為七段顯示代碼也送到三個(gè)LED顯示器進(jìn)行顯示。
告警控制模塊根據每一個(gè)瞬時(shí)心率值判斷心率是否正常、是否過(guò)快或過(guò)慢,并根據相鄰兩個(gè)瞬時(shí)心率值判斷是否有心率不齊現象,分別以英文字母E(正常)、F或S(過(guò)快或過(guò)慢)及I(心率不齊)的七段顯示代碼送告警顯示電路中的三個(gè)LED顯示器進(jìn)行顯示,并將這三種心率狀態(tài)以8Hz的頻率送到告警顯示電路中顏色分別為綠、紅、黃的三個(gè)發(fā)光二極管進(jìn)行閃爍報警顯示。按下stop開(kāi)關(guān)將結束測量過(guò)程,并將平均心率送三個(gè)LED顯示器進(jìn)行顯示。
系統的主時(shí)鐘頻率為32MHz,送到FPGA中的時(shí)鐘分頻電路產(chǎn)生1kHz和8Hz的時(shí)鐘頻率,分別送到用作波形變換、瞬時(shí)心率計算和心率狀態(tài)顯示的波形變換模塊、心率計算模塊和告警控制模塊。系統中的數字電路全部由FPGA芯片實(shí)現,外圍只有少量的模擬器件,包括比較器、LED和發(fā)光二極管顯示器、電源電路及晶振電路等,因而系統的體積小、工作穩定、可靠性高。
1.3 告警控制電路
告警控制電路的功能是根據心率計算電路得到的瞬時(shí)心率值來(lái)判斷心率的狀態(tài):心跳到否正常、是否過(guò)快或過(guò)慢、是否心率不齊。如果心率處于60~120的范圍,則心跳正常;如果心率小于60,則心跳過(guò)慢,如果心跳大于120,則心跳過(guò)快;如果相鄰兩次測量的心率值認為心率不齊。這些判斷是由一系列比較器完成的,用VHDL語(yǔ)言實(shí)現比較簡(jiǎn)單,這里不再詳述。
完成比較判斷后,告警控制電路將代表不同心率狀態(tài)的字母E(正常)、F或S(過(guò)快或過(guò)慢)及I(心率不齊)的七段顯示代碼以8Hz的頻率分別送到三個(gè)LED顯示器進(jìn)行報警顯示,同時(shí)將不同心率狀態(tài)信號以8Hz的頻率分別送到三個(gè)不同顏色的發(fā)光二極管進(jìn)行報警顯示。
1.4 時(shí)鐘分頻電路
時(shí)鐘分頻電路的功能是將系統提供的主時(shí)鐘進(jìn)行分頻,提供其它模塊電路所需的兩個(gè)時(shí)鐘(1kHz和8kHz)。其中,周期計數器的時(shí)鐘(clk1)決定了周期計數器的位數。當心率測量范圍為20~200跳/分鐘時(shí),對慶的心率周期T為3~0.3秒。若時(shí)鐘信號clk1的頻率f0=1kHz,則在最低心率(20跳/分鐘)時(shí)的計數值N=3/10 -3=3000,因此計數器的位數為12位。由下面的性能評價(jià)佛標分析可知,更高的時(shí)鐘頻率可擴大心率測量范圍并提高測量分辨率,但同時(shí)分增加電路的復雜性;而報警控制電路的時(shí)鐘(clk2)決定了顯示閃爍的快慢。在FPGA中,時(shí)鐘分頻電路一般是通過(guò)VHDL語(yǔ)言的進(jìn)程語(yǔ)句由計數器實(shí)現的。
2 性能評價(jià)指標
心率計數能評價(jià)指標主要包括測量誤差和分辨率。由表1可知,由于計數值N的邊辦取值對應于相鄰兩個(gè)心率值的中點(diǎn),故在20~200跳/分鐘范圍內測量的每一個(gè)顯示心率值的誤差都為0.5跳/分鐘。最大相對誤差(用百分比表示)如圖5所示。相對誤差的最大值發(fā)生在最低心率20跳/分鐘處,隨著(zhù)心率值的增加,相對誤差減小。當心率值大于或等于50跳/分鐘時(shí),相對誤差小于1%,而當心率值大于100跳/分鐘時(shí),相對誤差小于0.5%。

另一個(gè)性能指標是儀器的分辨率。由瞬時(shí)心率IHR=6×10 4/N和表1可知,當周期計數值N較小時(shí),N變化一個(gè)單位(增大或減小1)對應瞬時(shí)心率變化比較大。因此,高心率處的分辨率較差,而低心率處的分辨率較好。在瞬時(shí)心率接近200跳/分鐘時(shí),N值很小,分辨率為1跳/分鐘;在較低的瞬時(shí)心率時(shí),分辨率小于1跳/分鐘。
如果將時(shí)鐘頻率提高到8kHz,同時(shí)將周期計數器的位數提高到16位,分辨率將會(huì )大幅提高。此時(shí),在瞬時(shí)心率接近200跳/分鐘處,分辨率會(huì )小于0.1跳/分鐘,而在瞬時(shí)心率較低處,分辨率將進(jìn)一步變好。因此,在20~200跳/分鐘的心率范圍內,可以0.1跳/分鐘的分辨率顯示所有心率。不過(guò),將周期計數器從12位提高到16位會(huì )增加電路的復雜性。另外,在實(shí)際心率測量中,人們習慣1跳/分鐘的分辨率,更高的分辨率沒(méi)有必要。
基于FPGA的數字心率計測量精度高,測量范圍寬,在20~200跳/分鐘的測試范圍內,最大誤差為2.5%,而當心率大于50跳/分鐘時(shí),誤差小于1%,而且它的工作穩定性和可靠性好、功耗低、不需要電路參數校正和靈敏度調節,能夠測量瞬時(shí)心率和平均心率,并具有心率異常報警功能。因此,與文獻中報道的其它心率計相比,具有更好的性能。
評論