本申請涉及醫(yī)學信號處理技術領域,具體涉及一種高效準確的信號預處理方法及信號波峰檢測方法。
背景技術:
生物醫(yī)學信號可以反映生命體本身的生理狀態(tài),其是屬于強噪聲背景下的微弱信號。對于人體來說,心電信號和呼吸信號是兩個非常重要的生物醫(yī)學信號,將心電信號和呼吸信號從背景噪聲中提取并消除干擾,以用于之后的波形檢測識別和參數(shù)提取,從而可以獲取人體的生理狀態(tài)。心電和呼吸信號的主要的噪聲來源是基線漂移、工頻干擾和肌電干擾。消除心電和呼吸信號中的干擾是及其關鍵但卻耗費資源的,同時,對經(jīng)過預處理的心電和呼吸信號進行波形檢測和參數(shù)的提取,也是極其重要的。現(xiàn)行的方法一般比較低效且不準確。
技術實現(xiàn)要素:
針對上述問題,本申請?zhí)峁┮环N高效準確的信號預處理方法及信號波峰檢測方法。
根據(jù)本申請的第一方面,本申請?zhí)峁┮环N高效準確的信號預處理方法,所述信號為心電信號和/或呼吸信號,包括以下步驟:
消除基線漂移步驟:將原始信號通過一全通減低通的整系數(shù)濾波器,以消除基線漂移的影響;
消除干擾步驟:將經(jīng)過所述全通減低通的整系數(shù)濾波器處理后的信號通過一整系數(shù)低通濾波器,以消除肌電干擾和工頻干擾的影響。
根據(jù)本申請的第二方面,本申請?zhí)峁┮环N高效準確的信號波峰檢測方法,所述信號為心電信號和/或呼吸信號,包括以下步驟:
用上述的信號預處理方法對原始信號進行處理;
以段長為第一時長的信號為處理對象,對每一段信號長度為第一時長的信號:計算其內各采樣點的差分值,比較計算得到的各采樣點的差分值,以得出此段第一時長的信號的最大正差分值和最小負差分值;對于每一段長度為第一時長的信號:還獲取其內各采樣點的幅值,比較獲取的各采樣點的幅值,以得出此段第一時長的信號的最大幅值;
取第一數(shù)量段的連續(xù)的第一時長的信號,分別根據(jù)各自的最大正差分值、最小負差分值、最大幅值,計算此第一數(shù)量段的第一時長的信號的最大正差分值的平均值、最小負差分值的平均值、最大幅值的平均值;
分別將所述最大正差分值的平均值、最小負差分值的平均值、最大幅值的平均值除以一預設的閾值參數(shù),得到正差分閾值、負差分閾值、幅度閾值;
以經(jīng)過預處理的信號中的一采樣點為起始點,進行波峰檢測:
檢測起始采樣點及其下一采樣點的差分值是否大于正差分閾值;若都大于正差分閾值,則檢測起始采樣點的幅值是否大于幅度閾值,否則,將所述超始采樣點的下一采樣點作為超始點,重新進行波峰檢測;
若起始采樣點的幅值大于幅度閾值,檢測以超始采樣點為第一點的連續(xù)的第二數(shù)量的采樣點內,是否存在差分值小于負差分閾值的采樣點;若起始采樣點的幅值不大于幅度閾值,則將所述超始采樣點的下一采樣點作為超始點,重新進行波峰檢測;
若以超始采樣點為第一點的連續(xù)的第二數(shù)量的采樣點內,存在差分值小于負差分閾值的采樣點,則比較所述第二數(shù)量的采樣點的幅值,將幅值最大的采樣點作為波峰采樣點,從而進一步確定波峰的位置;若存在差分值小于負差分閾值的采樣點,則將所述超始采樣點的下一采樣點作為超始點,重新進行波峰檢測;
確定波峰采樣點后,根據(jù)采樣率和預估的最大心率,跳過第三數(shù)量的采樣點,重新以一點為超始點,進行下一個波峰檢測。
在一較優(yōu)的實施例中,每隔第一時長的信號,對所述正差分閾值、負差分閾值、幅度閾值進行調整:
計算此第一時長信號的最大正差分值、最小負差分值、最大幅值;
計算此第一時長信號的前第三數(shù)量段信號的最大正差分值的平均值、最小負差分值的平均值、最大幅值的平均值;
將此第一時長信號的最大正差分值與其前第三數(shù)量段信號的最大正差分值的平均值加權求和后除以一預設的閾值參數(shù),得到調整后的正差分閾值;將此第一時長信號的最小負差分值與其前第三數(shù)量段信號的最小負差分值的平均值加權求和后除以閾值參數(shù),得到調整后的負差分閾值;此第一時長信號的最大幅值與其前第三數(shù)量段信號的最大幅值的平均值加權求和后除以閾值參數(shù),得到調整后的幅度閾值。
本申請的有益效果是:
依上述實施的高效準確的信號預處理方法及信號波峰檢測方法,引入一全通減低通的整系數(shù)濾波器來消除基線漂移的影響,相比傳統(tǒng)預處理方法的中值濾波、高通濾波和小波變換的方法,該全通減低通的整系數(shù)濾波器具有速度快、實時性好且易于實現(xiàn)的特點,降低算法的復雜性;引入一整系數(shù)低通濾波器以消除肌電干擾和工頻干擾的影響,相比傳統(tǒng)預處理方法中的平滑濾波和自適應陷波濾波,該整系數(shù)低通濾波器具有整數(shù)值的濾波器系統(tǒng),可以用來實現(xiàn)實時信號處理,并且具有很好的幅頻特性。
依上述實施的高效準確的信號預處理方法及信號波峰檢測方法,引入正差分閾值、負差分閾值和幅度閾值來進行信號波峰檢測,相比傳統(tǒng)波峰檢測方法中的幅度法、斜率法和面積法,本申請結合了幅度和斜率,提高了檢測速度和準確性。
依上述實施的高效準確的信號預處理方法及信號波峰檢測方法,在波峰檢測過程中,對正差分閾值、負差分閾值、幅度閾值進行動態(tài)調整,進一步提高了檢測速度和準確性。
附圖說明
圖1為本申請一實施例的信號預處理方法的流程圖;
圖2為本申請一實施例的信號預處理方法的結構示意圖;
圖3(a)和(b)分別為本申請一實施例的全通濾波器和低通濾波器的幅頻特性圖;
圖4(a)、(b)和(c)依次為本申請一實施例中原始心電信號、經(jīng)過消除基線漂移步驟后的心電信號以及經(jīng)過消除干擾步驟后的心電信號的時域圖;
圖5(a)和(b)分別為本申請一實施例的全通濾波器和低通濾波器的幅頻特性圖;
圖6(a)、(b)和(c)依次為本申請一實施例中原始呼吸信號、經(jīng)過消除基線漂移步驟后的呼吸信號以及經(jīng)過消除干擾步驟后的呼吸信號的時域圖;
圖7為本申請一實施例中第一整系數(shù)低通濾波器的幅頻特性圖;
圖8為本申請一實施例中第二整系數(shù)低通濾波器的幅頻特性圖;
圖9為本申請一實施例中心電信號在各處理過程中的頻譜圖;
圖10為本申請一實施例中呼吸信號在各處理過程中的頻譜圖;
圖11為本申請一實施例的信號波峰檢測方法的流程圖;
圖12(a)和(b)分別為本申請一實施例中經(jīng)過預處理的心電信號和經(jīng)過波峰檢測的心電信號的時域圖;
圖13(a)和(b)分別為本申請一實施例中經(jīng)過預處理的呼吸信號和經(jīng)過波峰檢測的呼吸信號的時域圖。
具體實施方式
下面先對本申請中出現(xiàn)的一些術語進行解釋。
心電信號的基線漂移是影響心電信號幅值測量和形態(tài)分析特別是st段分析的重要因素?;€漂移主要由呼吸運動、電極滑動變化、電極移動時與皮膚的阻抗變化等因素引起,是人為運動瞬時的基線改變,其頻率一般低于0.7hz。一般采用0.7hz的高通濾波器對其進行濾除。
心電信號的工頻干擾主要由電磁場、心電測試設備與人體間的環(huán)形電路等因素引起,因人體的分布電容引起人體具有天線效應,且常暴露在外。工頻干擾主要由50hz(國內)和60hz(國外)及其各次諧波的正弦信號組成,其幅度較低,主要表現(xiàn)為心電圖上呈規(guī)律性分布的細小細紋。一般濾去50hz信號來達到消除工頻干擾的目的。
心電信號的肌電干擾來自于人體的肌肉顫動,因肌肉運動會產(chǎn)生毫伏級電勢。肌電干擾可視為瞬時發(fā)生的零均值帶限噪聲,其主要能量集中在30-300hz范圍內。肌電通常是一種快速的電變化,其振幅為20uv-50mv,其頻率范圍為20-5000hz。經(jīng)專家研究表明,肌電干擾主要集中在35hz,而且存在較大的個體差異。一般使用低通濾波器濾去100hz以上頻率來達到消除肌電干擾。
呼吸信號的頻率介于0.2hz-2hz之間,也存在與心電信號相對應的基線漂移、工頻干擾和肌電干擾。
下面通過具體實施方式結合附圖對本申請作進一步詳細說明。
實施例一
本實施例提出一種高效準確的信號預處理方法,其用于消除或減少基線漂移、工頻干擾和肌電干擾帶來的影響。
消除基線漂移、工頻干擾和肌電干擾的方法有很多,典型的就是濾波,從實現(xiàn)的物理結構上分為硬件濾波和軟件濾波,從原理算法上包括數(shù)字濾波、小波變換濾波和數(shù)學形態(tài)法濾波等。下面分別說明。
消除基線漂移的方法主要有濾波法和基于小波變換去除法等。濾波法由于濾波器算法簡單、速度快,易于軟硬件實現(xiàn),而且實時性相對較好,是消除基線漂移最常用的方法,其主要包括中值濾波法和高通濾波法。小波變換在去除心電噪聲上具有突出的優(yōu)越性,可獲得較好的濾除效果,但是其理論復雜,計算量比較大,不適合實時處理,因而在便攜式設備的應用中受到限制。本申請一實施例中,為了消除基線漂移,采用全通減低通的整系數(shù)濾波器,其具有速度快、實時性好且易于實現(xiàn)的特點,并可與下述消除工頻干擾、肌電干擾的濾波相結合,降低算法的復雜性。
去工頻干擾主要有平滑濾波法和自適應陷波法。平滑濾波法是一種應用較較早的數(shù)字濾波方法,該方法算法簡單,處理速度快,效果較好,易于快速實時處理;但其也存在明顯不足,比如,通頻帶較窄,伴有嚴重的消峰現(xiàn)象,算法過簡單從而影響有用信號的分析等。自適應陷波濾波法具有能跟隨工頻信號的頻率幅度變化而自動調節(jié)并抵消工頻干擾的影響,其可通過軟件控制帶寬和品質因數(shù)以獲取較高的值等優(yōu)點,因而濾波效果較好;但自適應濾波計算量大,而且需要學習一段時間,因此實時性較差。本申請一實施例中,采用整系數(shù)低通濾波器來去工頻干擾,該濾波器具有整數(shù)值的濾波器系數(shù),可以用來實現(xiàn)實時信號處理,而且具有很好的幅頻特性;另外,本申請采用的整系數(shù)低通濾波器不僅可以去工頻干擾,還可以去肌電干擾。
如圖1和圖2所示,本實施提出的高效準確的信號預處理方法,這里的信號可以為心電信號,也可以為呼吸信號。在一實施例中,本實施的信號預處理方法包括消除基線漂移步驟s01和消除干擾步驟s03,下面具體說明。
消除基線漂移步驟s01、將原始信號通過一全通減低通的整系數(shù)濾波器01,以消除基線漂移的影響。
在一實施例中,原始信號為心電信號,心電信號的基線漂移的頻率一般低于0.7hz,先按此截止頻率和相關的參數(shù)設計好相應的低通濾波器,然后將此低通濾波器與一個具有相同傳輸延遲、增益的全通網(wǎng)絡相減。比如,在一實施例中,全通減低通的整系數(shù)濾波器01可以包括用于對心電信號進行處理的第一全通減低通的整系數(shù)濾波器,其傳輸函數(shù)為
在一實施例中,原始信號為呼吸信號,呼吸信號的基線漂移的頻率一般低于0.2hz,先按此截止頻率和相關的參數(shù)設計好相應的低通濾波器,然后將此低通濾波器與一個具有相同傳輸延遲、增益的全通網(wǎng)絡相減。比如,在一實施例中,全通減低通的整系數(shù)濾波器01可以包括用于對呼吸信號進行處理的第二。全通減低通的整系數(shù)濾波器,其傳輸函數(shù)為
消除干擾步驟s03、將經(jīng)過上述步驟s01中的全通減低通的整系數(shù)濾波器01處理后的信號通過一整系數(shù)低通濾波器03,以消除肌電干擾和工頻干擾的影響。在一實施例中,上述整系數(shù)低通濾波器03為二階整系數(shù)低通濾波器。
在一實施例中,信號為心電信號,相應地,整系數(shù)低通濾波器03可以包括用于對心電信號進行處理的第一整系數(shù)低通濾波器,其其傳輸函數(shù)為
在一實施例中,信號為呼吸信號,相應地,整系數(shù)低通濾波器03可以包括用于對呼吸信號進行處理的第二整系數(shù)低通濾波器,其傳輸函數(shù)為h(z)=
原始心電信號經(jīng)過消除基線漂移步驟s01和消除干擾步驟s03后,得到經(jīng)過預處理的心電信號,其可以不失真地反映相應時刻心臟的電活動情況,請參照圖9,圖9為心電信號的頻譜圖,從上到下,第一幅圖為原始的心電信號,第二幅圖為經(jīng)過消除基線漂移步驟s01后的心電信號,第三幅圖為還經(jīng)過消除干擾步驟s03后的心電信號,可以看到,經(jīng)過步驟s01和s03后,原始心電信號中的相關干擾頻率都被很好地濾除掉了。
原始呼吸信號經(jīng)過消除基線漂移步驟s01和消除干擾步驟s03后,得到經(jīng)過預處理的呼吸信號,其可以不失真地反映相應時刻人體的生理狀態(tài),請參照圖10,圖10為呼吸信號的頻譜圖,從上到下,第一幅圖為原始的呼吸信號,第二幅圖為經(jīng)過消除基線漂移步驟s01后的呼吸信號,第三幅圖為還經(jīng)過消除干擾步驟s03后的呼吸信號,可以看到,經(jīng)過步驟s01和s03后,原始呼吸信號中的相關干擾頻率都被很好地濾除掉了。
本實施例提出的信號預處理方法,可實時對信號進行預處理,其具有速度快、實時性好且易于實現(xiàn)的特點,其降低了濾波算法的復雜性。
實施例二
本實施例公開了一種高效準確的信號波峰檢測方法。
波形檢測識別和參數(shù)的提取是心電信號和呼吸信號自動分析的前提,而波形檢測的關鍵是波峰的檢測,對于心電信號來說就是r波的檢測,對于呼吸信號就是波峰的檢測。由于心電信號的r波和呼吸信號的波峰在幅值和頻率上與其他波形及噪聲有顯著的差別,因此,一般波峰檢測算法都是利用這一顯著特點來實現(xiàn)檢測。當心電信號r波的位置確定后,就可據(jù)此計算出各rr間期,從而判斷心率是否失常;當呼吸信號波峰的位置確定后,就可據(jù)此計算出呼吸頻率和深度。
波峰檢測方法很多,常見的有幅度法、斜率法和面積法。幅度法和面積法容易出錯,斜率法易受高頻肌電和運動偽跡的影響。近年來還出現(xiàn)有小波變換法和神經(jīng)網(wǎng)絡法。小波變換法實質上就是引入帶通濾波,由于它具有多分辨率的特點,在不同尺度上帶通濾波效果好,檢測算法抗干擾能力強,檢測的準確性可達99%上,但其計算量大,應用于實時則有一定困難;神經(jīng)網(wǎng)絡是醫(yī)學信號處理的一個新興領域,它具有自學習、自組織和自適應的特點,在提取心電和呼吸動態(tài)變化的波形信息、抑制噪聲等方面較其他方法有較大改進,其檢測率也相當高,判別時間也短,但其設計難度相當大,現(xiàn)處于探索階段。
根據(jù)對大量不同病人的心電圖檢查表明,不同人的qrs波群具有一定的差異,即使正常人,在不同的生理、病理環(huán)境下,qrs波的形態(tài)和幅值變化范圍也相當大。為兼顧系統(tǒng)的準確性和實時性,本申請使用幅值配合斜率,采用動態(tài)閾值調整并插入適當?shù)臋z測盲區(qū),來提高r波的檢測速度和準確性。本申請同樣也適用于呼吸信號的波峰檢測,有很好的可移植性。下面具體說明。
本實施的高效準確的信號波峰檢測方法,信號可以為心電信號,也可以為呼吸信號。請參照圖11,本實施的信號波峰檢測方法包括以下步驟:
步驟s11、對原始信號進行預處理。在一實施例中,對原始信號進行預處理的方法,可以使用實施例一中的信號預處理方法。
步驟s13、計算閾值。在一實施例中,以段長為第一時長的信號為處理對象,對每一段信號長度為第一時長的信號:計算其內各采樣點的差分值,比較計算得到的各采樣點的差分值,以得出此段第一時長的信號的最大正差分值和最小負差分值;對于每一段長度為第一時長的信號:還獲取其內各采樣點的幅值,比較獲取的各采樣點的幅值,以得出此段第一時長的信號的最大幅值。取第一數(shù)量段的連續(xù)的第一時長的信號,分別根據(jù)各自的最大正差分值、最小負差分值、最大幅值,計算此第一數(shù)量段的第一時長的信號的最大正差分值的平均值、最小負差分值的平均值、最大幅值的平均值。再分別將上述最大正差分值的平均值、最小負差分值的平均值、最大幅值的平均值除以一預設的閾值參數(shù),得到正差分閾值、負差分閾值、幅度閾值。在一實施例中,第一時長可以為2秒,第一數(shù)量可以為5段,例如,取經(jīng)過預處理的10秒信號,即5段2秒的信號,按下面的差分公式分別計算各段內的各抽樣點的差分值:
其中x(n)是經(jīng)過預處理的信號的采樣點的幅值,d(n)是相應采樣點的差分閾值。對于這5段信號的每段來講:再求得各段內的最大正差分值、最小負差分值和最大幅值。然后按照下列公式計算這5段信號的最大正差分值的平均值、最小負差分值的平均值、最大幅值的平均值:
最大正差分值的平均值:
最小負差分值的平均值:
最大幅值的平均值:
再分別將上述最大正差分值的平均值、最小負差分值的平均值、最大幅值的平均值除以一預設的閾值參數(shù)th,得到正差分閾值、負差分閾值、幅度閾值:
正差分閾值:dmax_th=dmax/th;
負差分閾值:dmin_th=dmin/th;
正差分閾值:amax_th=amax/th。
步驟s15、對上述正差分閾值、負差分閾值、幅度閾值進行動態(tài)調整。步驟s13中計算得到的正差分閾值、負差分閾值、幅度閾值的數(shù)值,可以作為正差分閾值、負差分閾值、幅度閾值的初值,為了適應最近的信號的波形變化,在一實施例中,信號波峰檢測方法可以包括本步驟s15,可以每隔第一時長的信號,對上述正差分閾值、負差分閾值、幅度閾值進行調整。具體地,每隔第一時長的信號,對上述正差分閾值、負差分閾值、幅度閾值進行調整。計算此第一時長信號的最大正差分值、最小負差分值、最大幅值;計算此第一時長信號的前第三數(shù)量段信號的最大正差分值的平均值、最小負差分值的平均值、最大幅值的平均值;將此第一時長信號的最大正差分值與其前第三數(shù)量段信號的最大正差分值的平均值加權求和后除以一預設的閾值參數(shù),得到調整后的正差分閾值;將此第一時長信號的最小負差分值與其前第三數(shù)量段信號的最小負差分值的平均值加權求和后除以閾值參數(shù),得到調整后的負差分閾值;此第一時長信號的最大幅值與其前第三數(shù)量段信號的最大幅值的平均值加權求和后除以閾值參數(shù),得到調整后的幅度閾值。在一實施例中,第一時長為2秒,第三數(shù)量為5,比如,可按下述公式對閾值進行調整:
調整后的正差分閾值:
調整后的負差分閾值:
調整后的正差分閾值:
在一實施例中,上述公式中th為預設的閾值參數(shù),在波峰檢測過程中可對閾值參數(shù)th進行調整,如增大th來降低閾值以適應波峰比較矮小的情況。
步驟s17,進行波峰檢測。在一實施例中,以經(jīng)過預處理的信號中的一采樣點為起始點,進行波峰檢測,下面具體說明。
檢測起始采樣點及其下一采樣點的差分值是否大于正差分閾值;若都大于正差分閾值,則檢測起始采樣點的幅值是否大于幅度閾值,否則,將上述超始采樣點的下一采樣點作為超始點,重新進行波峰檢測。
若起始采樣點的幅值大于幅度閾值,檢測以超始采樣點為第一點的連續(xù)的第二數(shù)量的采樣點內,是否存在差分值小于負差分閾值的采樣點;若起始采樣點的幅值不大于幅度閾值,則將上述超始采樣點的下一采樣點作為超始點,重新進行波峰檢測。
若以超始采樣點為第一點的連續(xù)的第二數(shù)量的采樣點內,存在差分值小于負差分閾值的采樣點,則比較所述第二數(shù)量的采樣點的幅值,將幅值最大的采樣點作為波峰采樣點,從而進一步確定波峰的位置;若存在差分值小于負差分閾值的采樣點,則將所述超始采樣點的下一采樣點作為超始點,重新進行波峰檢測。在一實施例中,第二數(shù)量為30。
確定波峰采樣點后,根據(jù)采樣率和預估的最大心率,跳過第三數(shù)量的采樣點,重新以一點為超始點,進行下一個波峰檢測。
請參照圖12,橫坐標為采樣點,縱坐標為幅值。圖12(a)為經(jīng)過步驟s11的預處理的心電信號,圖12(b)為經(jīng)過本實施例的信號波峰檢測方法后獲取的波峰,波峰位置用圖中藍色星點標出。同樣,請參照圖13,橫坐標為采樣點,縱坐標為幅值。圖13(a)為經(jīng)過步驟s11的預處理的呼吸信號,圖12(b)為經(jīng)過本實施例的信號波峰檢測方法后獲取的波峰,波峰位置用圖中藍色星點標出。從圖12和圖13中都可以看出,本實施的信號波峰檢測方法效果很好。
本實施例提出的信號波峰檢測方法,提高了波峰檢測的效率和準確度,降低了算法實現(xiàn)的復雜性,極大地節(jié)省了算法硬件實現(xiàn)的資源消耗。
以上內容是結合具體的實施方式對本申請所作的進一步詳細說明,不能認定本申請的具體實施只局限于這些說明。對于本申請所屬技術領域的普通技術人員來說,在不脫離本申請發(fā)明構思的前提下,還可以做出若干簡單推演或替換。