?

基于加權平均的胎心率提取算法

2020-11-17 06:29張仙偉王何慶魏建軍王振愿
計算機工程與設計 2020年11期
關鍵詞:噪點波峰胎心

張仙偉,王何慶+,魏建軍,王振愿

(1.西安石油大學 計算機學院,陜西 西安 710065; 2.西安電子科技大學 綜合業務網理論及關鍵技術國家重點實驗室,陜西 西安 710071)

0 引 言

從胎心音中獲取胎心率并長期監測成為了產前檢查中的一個重要部分,而胎心率是評判孕婦腹中胎兒狀況的一個重要因素,準確獲取胎心率對獲取胎兒的狀況是至關重要的[1-3]。傳統胎心音聽診法強烈依靠醫生經驗,存在著聽數遺漏、聽數錯誤,并且受到周圍干擾的影響非常大,而且不能連續、動態地監測胎心率等缺點。廣泛使用的多普勒胎心監護儀基于超聲波原理,診斷準確,結果可靠,但其對胚胎和胎兒的潛在危害也是不容置疑的。為了長時間動態監測胎兒的發育狀態,并且可隨時隨地監測,孕婦迫切需要胎心音監測設備,在不影響正常工作、生活的前提下,長時間連續地監測胎心率,對產科醫生的診斷提供可靠參考,現在更傾向于從胎心音信號中提取胎心率[4-6]。從孕婦腹部通過傳感器獲取的胎心音信號,是一種被動式接收的,安全可靠的信號。胎心率需要通過胎心率提取算法從胎心音信號中計算獲取,通過計算比較直接計算法、時間加窗法以及基于加權平均的計算方法,對比這3種方法獲取的胎心率,由胎心率的結果準確獲取胎兒的狀態[7-9]。

1 胎心率提取

胎心音信號本身比較弱,此外,信號需要通過母體,然后到達腹部的信號采集范圍區域,由于在多層障礙物的阻礙下信號衰減到極弱的狀態。與此同時,母體自身和外界對其存在相對比較大的干擾。經過降噪和放大后,仍然不可能是完美的圖形,給胎心率提取造成了很大的困難[10,11]。

目前應用較多的胎心率提取算法是直接計算法和時間加窗法。直接計算法是計算兩個連續波峰的時差,時差為ts,則胎心率FHR為

(1)

直接計算法的不足之處在于計算誤差比較大,優勢在于計算簡單。時間加窗法是先取一個時間長度固定的時間窗tw,進而計算時間窗內波峰的個數N,則對應的胎心率FHR為

(2)

一般情況下tw的設定值為6 s,每個時間窗口至少包含12個波峰。時間加窗法的優勢在于引入了一個時間窗,使噪聲平滑,從而減少了噪聲的影響,更適合于心率實時計算的情況。在同樣的情況下,tw的值越大,具有的優勢就越明顯,時間加窗法的不足之處是時間窗過長就會導致時延長,效率繼而降低。

針對胎心率提取的問題,不少學者進行了研究,提出了比較有效的算法。Romano所運用的方法運算速度較快[12,13],然而,出現在分數分母上的是兩個波峰的距離,進而,微小的噪聲改變就會使胎心率的值發生較大的變化,因此,這種方法不適合實時的情況,而且對噪聲很敏感。Zahorian提出的算法削弱了噪聲的干擾[14],但帶來的影響是存在較大的時延。

2 基于加權平均的胎心率提取

使用直接計算法計算胎心率的結果是計算的值不斷的跳變,因此,直接計算法不適合實時系統中的應用。而使用時間加窗法就會讓計算的結果,胎心率的值最小的變化大于1,當某個時間窗中波峰的峰值偏小而又被漏掉,此時計算的結果值就會被縮小,并且會誤使噪聲干擾得到的峰值當成胎心音的波峰進而結果值就會變大,就會使系統得到的結果不穩定。根據胎心率的時間相關性,提出基于加權平均的胎心率提取,窗內自動加權平均且窗外指數加權平均修正,使得實時系統輸出結果更穩定,自動加權平均算法見表1。

表1 自動加權平均提取胎心率

算法中的步驟(1),降低采樣率的目的是為減小數據量,進而降低了算法耗時。算法中的步驟(3)計算結果是相鄰波峰的間隔。但是,在錯檢或是漏檢波峰的情況下,波峰間隔都具有相同權值,由此使得這種方法存在著問題?;诖?,引入了自動加權平均的方法,找到最集中的波峰間隔并且求平均,具體方法為表1中算法步驟(3)~步驟(7)。將峰間距從小到大排序,運算相鄰峰間距的時間差。一般情況下,矩陣Q中的全部的元素近似相等,在漏檢波峰情況下,一個較大的波峰間隔會出現在Q的靠右位置,在波峰錯檢的情況下,較小的波峰間隔會出現在Q的靠左位置,由此可得,中間點為正常數據,兩側可能是噪點[15]。在矩陣F中,值越小,即Q中相鄰波峰之間的間隔越近,這意味著在計算胎心率的時候,這兩個值應具有更大的權值。當矩陣F中的元素大于閾值ε時,意味著在Q中的兩個對應峰中最少存在一個噪點,即其中的一個為邊緣點,其中的另一個為噪點。在此條件下,應減少甚至從計算中排除相應的權重值。在峰間隔矩陣G中,邊緣數據點將會出現一次,中心峰間隔點將會出現兩次,權重值是原來的二倍,并且權重將保持不變。權值為零,是由于噪點沒有在矩陣中出現。由此消除了噪點的干擾,使計算的胎心率更加準確。下面示例給出自動加權平均算法提取胎心率的具體說明,設定閾值是0.1,如圖1所示。

圖1 自動加權平均胎心率提取算法

從圖1可以看出,在此實例中,同時存在漏檢和錯誤檢測的情況,圖中的第一個波峰的值是胎心音前一個周期的第二波峰,這是錯誤檢測的情況。因為振幅偏低的緣故,并沒有檢測到第4個波峰,屬于漏檢波峰。將峰值間隔排序以后,漏檢的情況出現在最右端,錯檢出現在最左端。當從峰間隔差對應的矩陣F來計算峰間隔矩陣G,首先找的值為0.0030,將其所對應的值為0.7030和0.7000存入矩陣G中,同時操作波峰間隔差F中的值0.0040,將其所對應的0.6960和0.7000存入矩陣G中。對于波峰間隔差F中的0.6580以及0.2740對應的值都比閾值大,同時也不參加胎心率的運算。因此,從波峰間隔矩陣G中可以推出,當計算峰的平均間隔時,中心數據的權重0.7000加倍,除去兩個噪點,而且邊緣數據的權重值不改變,基于這種算法的思想即為自動加權平均算法的思想。

以上的算法是胎心率在時間窗內的提取方法。以上算法的時間窗口是以每秒8000個數據的速度進行移動,這就相當于每一秒可以得到一個胎心率。當時間窗口內出現更多噪點的時候,對于自動加權算法來說,消除噪點干擾的能力就會很大減弱,尤其在極端的情況下,噪點就會完全掩蓋掉正常的數據,使得結果出現極大的變化。由此,必須限制每個時間點的胎心率數據不會比前一時刻的胎心率數據出現很大的變化,由此,在時間窗口之間使用指數加權平均算法進行修正

v0=0,
v1=β·v0+(1-β)·θ1,
v2=β·v1+(1-β)·θ2,
?
vt=β·vt-1+(1-β)·θt.

(3)

式中:θt表示t時刻的數據,vt表示t時刻指數加權平均算法優化后的值。β為長度因子,其值大于0而小于1。vt大約是1/(1-β) 個數據的平均,例如β=0.9代表著vt是10次數據的平均數值。因為設定的初始值v0=0,對于前面計算的結果值是有影響的,因此,為修正這種影響,進行偏差的修正。也就是

(4)

當t很小時,分子發揮作用,隨著t的增大,1-βt≈1,分子的影響可以忽略。在特定情況下是不需要進行偏差修正的,原因在于是在1/(1-β) 個數據的后面。在需要觀測胎心率實時變化的時候,需要一種偏差校正方法。在時間窗口內進行運算并且在時間窗口外對數據進行指數加權平均算法修正,由此,胎心率的數據將會更穩定。

3 胎心率的提取測試

為獲得胎心率提取算法的真實效果,下面進行兩部分的真實測試。測試的開始需要在一個時間窗口內完成,需要3種胎心率的提取算法進行比較,然后在此基礎上,在多個窗口中測試指數加權平均算法的實際效果。3種算法的比較結果如圖2所示。

圖2 3種胎心率提取算法結果對比

在圖2中可以看出,所提出自動加權平均算法相比較另外兩種算法,在性能上有所提升,但是,就其自身算法結果而言,在噪點大量存在時,結果還是會發生較大的變化。比如在第16次到第18次范圍內可知,胎心率的數值出現了跳躍式的改變,這種變化是不允許在實際使用系統中出現的。由此,需要考慮時間窗與時間窗之間的情況,正常情況下,胎心率是一個平滑的、穩定的、連續變化的數據值,而且在較短時間的條件下胎心率的值是沒有跳躍式的變化,發生這種情況的原因是受到了噪音的干擾。利用胎心率的這一特征,使用指數加權平均算法對胎心率數值進一步處理。給定值β=0.9,對于使用偏差修正的指數加權平均算法,計算的胎心率數值如圖3所示。

圖3 胎心率提取算法比較

從圖3可知,指數加權平均算法基于胎心率窗內加權平均提取算法,然后通過指數加權對結果進行校正。在第2個至第14個數據范圍內,發生的輕微抖動被消除,在第14個至第20個數據范圍內,自動加權平均算法條件下是階躍式的變化,而指數加權平均算法條件下是削弱了階躍式的變化,使得曲線是平滑上升的趨勢,與實際的情況一致。

4 結束語

胎心音信號極其微弱且伴有噪聲和干擾,針對直接計算法和時間加窗法中噪聲和耗時兩方面的問題,提出了對胎心率自動加權平均提取的算法,自動加權平均提取的算法可以消除時間窗內的錯檢和漏檢。與此同時,胎心率具有時間相關性,由此引入了帶有偏差修正的指數加權平均算法,帶有偏差修正的指數加權平均算法對時間窗內的操作所獲得的胎心率加以限制,使得最終系統滿足實時穩定輸出的要求。在實際系統測試中,本文方法比前兩種算法的輸出更穩定,與實際結果一致。

猜你喜歡
噪點波峰胎心
胎心監護儀的多發故障解析與日常維護
炮制工程騙錢的“甲方”
基于聯合聚類分析的單通道腹部心電信號的胎心率提取
相機學院
作用于直立堤墻與樁柱的波峰高度分析計算
相機學院
低相噪點頻源的設計與驗證
技術櫥窗
兒童標準12導聯T波峰末間期的分析
胎心監護:胎兒健康早知道
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合