本發(fā)明涉及醫(yī)學(xué)電子信息領(lǐng)域,具體涉及一種基于心電信號的心率計算方法。
背景技術(shù):
心電圖是臨床最常用的檢查之一,應(yīng)用廣泛,包括幫助診斷心律失常、心肌缺血、心肌梗死等。心電圖記錄的是隨心動周期變化的體表特定位置的電位差。心電信號是典型的人體電信號,人體電信號本質(zhì)是兩點的電位差信號。直接加電壓于身體并通過一定的導(dǎo)聯(lián)方式就可以觀察到心電信號。導(dǎo)聯(lián)方式即輸入導(dǎo)線與電極放置在機(jī)體特定的測試部位(正輸入端)、參比部位(負(fù)輸入端)和接地部位的連接方式。在心電圖學(xué)中,雙極肢體導(dǎo)聯(lián)又稱標(biāo)準(zhǔn)i、ii、iii導(dǎo)聯(lián),它是以兩肢體間的電位差作為所獲取的體表心電。由于雙極肢體導(dǎo)聯(lián)系統(tǒng)獲取的心電圖中有較大的r波,因此利用雙極肢體導(dǎo)聯(lián)就能夠可靠地識別每次心跳并進(jìn)行節(jié)律分析。
如果能夠從某一導(dǎo)聯(lián)的心電信號中準(zhǔn)確識別出所有r波,那么根據(jù)相鄰r波的時間間隔就可以很容易得到心率值。顯然利用雙極肢體導(dǎo)聯(lián)(如i導(dǎo)聯(lián))獲取的心電信號r波幅值較大的特點,可以方便快捷識別其中的r波。
由于心電信號容易因呼吸、肢體運動等產(chǎn)生基線漂移,以及易受肌電信號干擾,因此現(xiàn)有技術(shù)直接在原始心電信號上自動準(zhǔn)確尋找r波有較大難度。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是針對上述現(xiàn)有技術(shù)中不足,提出基于心電信號的差分信號搜尋r波的心率計算方法,用于解決上述問題。
為了達(dá)到上述的技術(shù)效果,本發(fā)明采取以下技術(shù)方案:一種基于心電信號的心率計算方法,包括以下步驟:
第一步:獲取心電信號的差分絕對值信號
給定一段時長l秒的肢體導(dǎo)聯(lián)i導(dǎo)聯(lián)心電信號x1(n),其中n=1,1、2、…、f*l,f為信號采樣頻率;計算其差分信號d_x1(n)=x1(n+k)–x1(n),其中n=1、2、…、f*l–k,k為小于n的一個正整數(shù);對差分信號d_x1(n)中各個元素取絕對值,得到差分絕對值信號abs_d_x1(n);
第二步:搜索峰值點
對差分絕對值信號abs_d_x1從起始位置點開始搜索,當(dāng)遇到幅值大于thres1的點p1,則在區(qū)間[p1,p2]上搜索幅值大于thres1的點的數(shù)量cnt1,其中p2、p1為點的索引值,且p2與p1的時長間距為0.1秒,如果cnt1/(p2–p1)大于閾值thres2,thres2=0.5,則將[p1,p2]區(qū)間上幅值最大點定義為一個峰值點;然后,從p2+1點繼續(xù)采用上述方法向前搜索,如此循環(huán)直到差分絕對值信號abs_d_x1結(jié)束位置時停止搜索;此過程將獲得若干個峰值點的集合a={a1,a2,…},a1、a2……分別表示各峰值點;
第三步:定位r波
在心電信號x1(n)上以集合a中各峰值點為中心的鄰域,即區(qū)間[ai–d,ai+d]上搜索最大幅值點,這些點即為r波頂點;其中ai表示集合a={a1,a2,…}中任意一峰值點的相應(yīng)索引值,d為正整數(shù);
第四步:計算心率
計算相鄰兩r波頂點的時間間隔t,由t可以換算得到一個瞬時心率;對所有瞬時心率求平均,即可得到該時長l秒內(nèi)的平均心率;其中t的單位為秒。
進(jìn)一步的技術(shù)方案是:在第一步中,l≥2。
進(jìn)一步的技術(shù)方案是:第二步中,令閾值thres1=4*m,其中m為差分絕對值信號abs_d_x1的均值。
進(jìn)一步的技術(shù)方案是:第三步中,d為0.1*f向下取整的結(jié)果,f為信號采樣頻率。
進(jìn)一步的技術(shù)方案是:第四步中,瞬時心率為60/t。
進(jìn)一步的技術(shù)方案是:第一步中,k為0.01*f向下取整的結(jié)果,f為信號采樣頻率。
本發(fā)明與現(xiàn)有技術(shù)相比,具有以下的有益效果:本發(fā)明提供的方法從采集的一段連續(xù)心電信號序列中提取特征點(如r波頂點),并計算出相鄰特征點間的時間間隔,再計算這些時間間隔的均值,利用該均值即可換算得到一定時間長度內(nèi)的平均心率。該方法可以快速準(zhǔn)確地從心電信號中自動計算得到心率值。
附圖說明
圖1是本發(fā)明實施例心電信號x1(n)的示意圖;
圖2是本發(fā)明實施例差分絕對值信號abs_d_x1(n)的示意圖。
具體實施方式
下面結(jié)合本發(fā)明的實施例對本發(fā)明作進(jìn)一步的闡述和說明。
實施例:
一種基于心電信號的心率計算方法,第一步是獲取心電信號的差分絕對值信號。如圖1所示,已知一段長度l=3秒的人體肢體導(dǎo)聯(lián)i導(dǎo)聯(lián)心電信號x1(n),n=1、2、…、f*l,其中信號采樣頻率f=512。其差分信號d_x1(n)=x(n+k)–x(n),n=1、2、…、f*l–k,k為0.01*f向下取整的結(jié)果即5。對d_x1(n)中各個元素取絕對,得到差分絕對值信號abs_d_x1(n),如圖2所示。
第二步,搜索峰值點。首先計算abs_d_x1(n)的均值m為161,取閾值thres1=4*m,即644。閾值thres2取0.5。其次,如圖2所示,對信號abs_d_x1(n)從起始位置點abs_d_x1(1)開始搜索,當(dāng)遇到幅值大于thres1的點p1時,則在區(qū)間[p1,p2]上搜索幅值大于thres1的點的數(shù)量cnt1,其中p2、p1為點的索引,且p2與p1的時長間距為0.1秒,如果cnt1/(p2–p1)大于閾值thres2,則將[p1,p2]區(qū)間上幅值最大點定義為一個峰值點。然后,從p2+1點繼續(xù)采用上述方法向前搜索,如此循環(huán)直到信號abs_d_x1(n)結(jié)束位置時停止搜索。此過程將獲得若干個峰值點的集合a={a1,a2,…},a1、a2等表示各個峰值點。
第三步,定位r波。在心電信號x1(n)上的以集合a中各峰值點為中心的鄰域即區(qū)間[ai–d,ai+d]上搜索最大幅值點,這些點即為r波頂點,如圖1所示。其中,d為0.1*f向下取整的結(jié)果即51,ai表示集合a={a1,a2,…}中任意一峰值點的相應(yīng)索引值。
第四步,計算心率。計算相鄰兩r波頂點的時間間隔t,即0.84和0.86,依據(jù)瞬時心率r=60/t,可得對應(yīng)的瞬時心率71.4和70.6;對所有瞬時心率求平均,即可得到該時長l內(nèi)的平均心率即70。
可以理解的是,以上實施方式僅僅是為了說明本發(fā)明的原理而采用的示例性實施方式,然而本發(fā)明并不局限于此。對于本領(lǐng)域內(nèi)的普通技術(shù)人員而言,在不脫離本發(fā)明的精神和實質(zhì)的情況下,可以做出各種變型和改進(jìn),這些變型和改進(jìn)也視為本發(fā)明的保護(hù)范圍。