專利名稱:信號(hào)時(shí)域波形極值點(diǎn)和周期的檢測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)和圖形的處理方法,尤其是涉及基于有限狀態(tài)機(jī)轉(zhuǎn)換的信號(hào)時(shí)域波形極值點(diǎn)的檢測(cè)和處理方法。
背景技術(shù):
現(xiàn)有技術(shù)采集和分析數(shù)據(jù),例如檢測(cè)人體生理信息,包括血壓,呼吸,心電,腦電和胎音信號(hào),再又如收集和分析水文信號(hào),大氣壓力和溫度信號(hào)等,及其他氣體檢測(cè)中氣體各成分濃度信號(hào),以及工程上檢測(cè)煉鋼爐的爐溫信號(hào)等,一般是將這類時(shí)域信號(hào)取固定的一段時(shí)間內(nèi)的數(shù)據(jù)進(jìn)行分析,找到該區(qū)段的極值點(diǎn),并計(jì)算周期。這樣分析數(shù)據(jù)的方法,缺點(diǎn)是容易漏檢波形,而且不能做到實(shí)時(shí)分析。這種方法主要考慮的是在一段時(shí)間內(nèi)可以檢測(cè)出波形的最大值最小值和周期就可以了,并沒(méi)有考慮如何使算法能實(shí)時(shí)準(zhǔn)確地檢測(cè)出波形的最大值和最小值。比如,目前在一些實(shí)時(shí)呼吸波形檢測(cè)中使用的傳統(tǒng)方法,就有漏檢波形呼吸率計(jì)算不準(zhǔn)確等問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題在于避免上述現(xiàn)有技術(shù)的不足之處而提供一種信號(hào)時(shí)域波形極值點(diǎn)和周期的檢測(cè)方法,從而能快速實(shí)時(shí)準(zhǔn)確地檢測(cè)出波形的最大值最小值和周期。
本發(fā)明解決上述技術(shù)問(wèn)題所采用的技術(shù)方案是提供一種信號(hào)時(shí)域波形極值點(diǎn)和周期的檢測(cè)方法,包括步驟1.一種信號(hào)時(shí)域波形極值點(diǎn)和周期的檢測(cè)方法,包括步驟(1)在波形開(kāi)始的一兩個(gè)周期內(nèi),估計(jì)最大值和最小值的范圍最大值Vmax的范圍是開(kāi)始一段時(shí)間內(nèi)檢測(cè)到的最大值H的1至2倍,即Vmax=(1~2)·H最小值Vmin的范圍是開(kāi)始一段時(shí)間內(nèi)檢測(cè)到的最小值L的0.5至1倍,即Vmin=(0.5~1)·L
(2)在開(kāi)始搜索前,對(duì)最大值最小值和中值進(jìn)行初始化,并給出門(mén)限濾波參數(shù),對(duì)最大值初始值和最小值初始值分別賦于最小值和最大值,中值初始值為開(kāi)始一段時(shí)間的算術(shù)平均值;(3)檢測(cè)實(shí)時(shí)的信號(hào)值,比較它是否大于中值與濾波門(mén)限之和;(4)如果步驟(3)的結(jié)果為“是”,則進(jìn)入“搜索最大值”的狀態(tài),并將當(dāng)前檢測(cè)到的信號(hào)值作為最大值,如果前一狀態(tài)為“搜索最小值”狀態(tài),則用當(dāng)前最大值和最小值的算術(shù)平均值來(lái)更新中值,如果前一狀態(tài)也為“搜索最大值”狀態(tài),則維持中值不變,然后返回步驟(3);(5)如果步驟(3)的結(jié)果為“否”,則比較該實(shí)時(shí)信號(hào)是否小于中值與濾波門(mén)限之差;如果步驟(5)的結(jié)果為“是”,則進(jìn)入“搜索最小值”的狀態(tài),并將當(dāng)前檢測(cè)到的信號(hào)值作為最小值,如果前一狀態(tài)為“搜索最大值”狀態(tài),則用當(dāng)前最大值和最小值的算術(shù)平均值來(lái)更新中值,如果前一狀態(tài)也為“搜索最小值”狀態(tài),則維持中值不變,然后返回步驟(3)。
同現(xiàn)有技術(shù)相比較,本發(fā)明的優(yōu)點(diǎn)在于能夠?qū)崟r(shí)快速準(zhǔn)確地檢測(cè)各種類似正弦波的生理信號(hào)和非生理信號(hào)的周期和極值點(diǎn);每次只來(lái)一個(gè)點(diǎn)就可以處理,只要有一個(gè)波形就檢測(cè)能得到最大值最小值和周期,而不是要收集一段數(shù)據(jù)才可以開(kāi)始處理,并且能夠很好地跟上波形突變和波動(dòng)的情況。
圖1是基于有限狀態(tài)機(jī)波形檢測(cè)算法的示意圖;圖2是狀態(tài)轉(zhuǎn)移圖其中X為實(shí)時(shí)信號(hào)的輸入,M為上一個(gè)周期檢測(cè)得到的中值,D為濾波門(mén)限;圖3是醫(yī)用二氧化碳濃度監(jiān)測(cè)系統(tǒng)實(shí)現(xiàn)框圖;圖4是正常人的呼吸二氧化碳濃度波形曲線;圖5是算法實(shí)現(xiàn)的簡(jiǎn)明流程圖;圖6是實(shí)際檢測(cè)到的呼吸二氧化碳濃度曲線。
具體實(shí)施例方式
以下結(jié)合各附圖所示之最佳實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳述。
對(duì)于一個(gè)如圖1所示形態(tài)類似正弦波的波形,在開(kāi)始的一段時(shí)間內(nèi),通常是一至兩個(gè)周期,只估計(jì)最大值最小值和中值的范圍。最大值Vmax的范圍是開(kāi)始一段時(shí)間內(nèi)檢測(cè)到的最大值H的1至2倍,即Vmax=(1~2)·H,最小值Vmin的范圍是開(kāi)始一段時(shí)間內(nèi)檢測(cè)到的最小值L的0.5至1倍,即Vmin=(0.5~1)·L。在開(kāi)始搜索之前,最大值MAX和最小值MIN都應(yīng)該分別賦以估計(jì)的最小值和最大值,這樣保證以后的搜索可以找到最大值和最小值。中值初始值使用的是開(kāi)始一段時(shí)間內(nèi)的算術(shù)平均值。得到中值之后即開(kāi)始一個(gè)完整的波形檢測(cè)過(guò)程。對(duì)于每個(gè)實(shí)時(shí)信號(hào)的輸入X,都會(huì)和中值M較,大于中值M與濾波門(mén)限D(zhuǎn)之和,就進(jìn)入搜索最大值狀態(tài),簡(jiǎn)稱“0狀態(tài)”,并搜索最大值MAX;小于中值M與濾波門(mén)限D(zhuǎn)之差就進(jìn)入搜索最小值狀態(tài),簡(jiǎn)稱“1狀態(tài)”,并搜索最小值MIN。這兩個(gè)狀態(tài)就這樣交替切換,如圖2所示。在完成兩次狀態(tài)交替的時(shí)候就要用當(dāng)前一個(gè)周期的數(shù)據(jù),即最大值和最小值的算術(shù)平均值來(lái)更新中值M,最大值MAX和最小值MIN在一個(gè)周期末的時(shí)候也要復(fù)位。這樣在一個(gè)周期之內(nèi)就可以得到極值點(diǎn)和周期,而不需要用一段數(shù)據(jù)才能做波形識(shí)別。對(duì)正常情況下的波形,如圖1所示,在兩條豎線ab和cd之間就可以得到最大值和最小值從而算出周期,并且根據(jù)實(shí)際需要記錄當(dāng)前的最大值最小值和周期。當(dāng)波形發(fā)生突變的時(shí)候,由于每個(gè)周期都更新了中值最大值和最小值,所以檢測(cè)到的波形在一個(gè)周期之內(nèi)就會(huì)跟上實(shí)時(shí)波形的變化,馬上檢測(cè)出波形的最大值和最小值。當(dāng)波形發(fā)生突變的時(shí)候,實(shí)際波形的中值點(diǎn)在橫線ef處,但是搜索最大值和最小值用的中值是原來(lái)上一個(gè)周期的中值,這樣中值如果能跟上波形的變化,就仍然可以準(zhǔn)確的找到波形的最大值最小值和周期。但是如果中值沒(méi)有跟上波形的變化,那么就會(huì)漏檢波形。如果每一個(gè)周期都更新了中值,中值有較快變化,就能很快跟上波形的變化,不會(huì)漏檢波形。如果是非常大的突變,則用兩個(gè)異常參數(shù)來(lái)判斷以保證在一定的時(shí)間內(nèi)恢復(fù)波形檢測(cè)。首先是時(shí)間上的異常處理,如果在規(guī)定的時(shí)間范圍內(nèi)沒(méi)有搜索到極值點(diǎn),就會(huì)重新開(kāi)始估計(jì)最大值最小值和中值的范圍并開(kāi)始搜索。其次是每次更新中值的時(shí)候,用當(dāng)前的中值和原來(lái)的中值做比較,如果超過(guò)了正常變化范圍,就認(rèn)為這是一個(gè)突發(fā)的干擾,于是限制中值更新,讓它仍然保持在正常的范圍之內(nèi),所述中值的正常范圍是指中值在當(dāng)前中值減去波形峰值和當(dāng)前中值加上波形峰值之間。
醫(yī)用二氧化碳濃度監(jiān)測(cè)裝置是監(jiān)測(cè)呼吸過(guò)程中二氧化碳濃度水平的儀器。它實(shí)現(xiàn)的框圖如圖3所示傳感器得到的小信號(hào)經(jīng)放大和采集電路進(jìn)入計(jì)算機(jī)系統(tǒng),在計(jì)算機(jī)系統(tǒng)中經(jīng)過(guò)信號(hào)預(yù)處理之后,開(kāi)始呼吸二氧化碳濃度波形特征點(diǎn)的檢測(cè)。
正常人的呼吸二氧化碳濃度波形曲線如圖4所示,正常人呼吸的二氧化碳濃度曲線由4部分組成第一部分為吸氣基線,處于零位,是呼氣的開(kāi)始部分,即AB段;第二部分為呼氣上升支,比較陡直,相當(dāng)于BC段;第三部分為呼氣平臺(tái),呈水平形,相當(dāng)于圖中的CD段;第四部分為吸氣下降支,迅速而陡直下降到吸氣開(kāi)始,即相當(dāng)于圖中的DE段。
對(duì)于呼吸氣體的二氧化碳濃度波形,一般觀察基線、高度、形態(tài)和頻率四個(gè)參數(shù)?;€代表吸氣末二氧化碳濃度,一般比較接近于零;高度代表呼氣末二氧化碳濃度;形態(tài)主要觀察正常和不正常的波形;頻率反應(yīng)了每分鐘呼吸次數(shù)。對(duì)于這樣一個(gè)類似正弦波的二氧化碳濃度曲線,就可以利用上述的檢測(cè)算法進(jìn)行波形特征點(diǎn)的檢測(cè)。
本發(fā)明算法實(shí)現(xiàn)的簡(jiǎn)明流程如圖5所示。首先開(kāi)始進(jìn)行最大值和最小值范圍估計(jì),估計(jì)得到最大值和最小值范圍之后給出一個(gè)最大值、最小值和中值的初始值,并給出門(mén)限濾波參數(shù)和時(shí)間異常參數(shù)。有了這些基本的參數(shù),就可以開(kāi)始一個(gè)波形檢測(cè)的過(guò)程。每來(lái)一個(gè)新值就判斷它是否大于中值與濾波門(mén)限之和,若大于就進(jìn)入“搜索最大值”狀態(tài)搜索最大值;否則將新值和中值與濾波門(mén)限之差比較,如果小于就進(jìn)入“搜索最小值”狀態(tài)搜索最小值;否則就判斷是否時(shí)間異常,若非時(shí)間異常就繼續(xù)下一個(gè)點(diǎn)的搜索;若為時(shí)間異常就更新一次中值,最大值和最小值復(fù)位,完成更新中值和最大值最小值復(fù)位之后開(kāi)始新的搜索過(guò)程。在進(jìn)入“搜索最大值”狀態(tài)搜索到最大值之后將更新最大值,同樣進(jìn)入“搜索最小值”狀態(tài)搜索到最小值之后將更新最小值。在開(kāi)始下一個(gè)新的波形檢測(cè)之前以搜索到的最大值和最小值的算術(shù)平均值來(lái)更新中值,同時(shí)將最大值和最小值復(fù)位到上一次波形檢測(cè)前的狀態(tài)。在更新中值時(shí),要將當(dāng)時(shí)的中值與原來(lái)的中值相比較,如果超過(guò)正常變化的范圍,就限制中值更新,讓它保持在正常的范圍之內(nèi),所述中值的正常范圍是指中值在當(dāng)前中值減去波形峰值和當(dāng)前中值加上波形峰值之間。
應(yīng)用該算法檢測(cè)的實(shí)際效果如圖6所示圖中雙線為檢測(cè)最大值的上升支,雙線末端就是最大值所在位置。刷狀線為檢測(cè)最小值的下降支,刷狀線末端就是最小值所在位置??梢?jiàn)該算法可以十分清楚檢測(cè)到最大值和最小值,能準(zhǔn)確定位最大值和最小值位置就可以計(jì)算得到準(zhǔn)確的周期。
本發(fā)明還可用于其它形態(tài)類似正弦波的波形極值點(diǎn)和周期的檢測(cè)。如呼吸波形、脈搏信號(hào)、心電圖信號(hào)、肌電信號(hào)等生理信號(hào);控制領(lǐng)域的爐溫信號(hào);水利領(lǐng)域的水文信號(hào);電子通訊領(lǐng)域內(nèi)類似正弦波的信號(hào);大氣監(jiān)測(cè)的氣壓信號(hào),溫度信號(hào),及其它氣體檢測(cè)中各種氣體成分的濃度信號(hào)。
權(quán)利要求
1.一種信號(hào)時(shí)域波形極值點(diǎn)和周期的檢測(cè)方法,包括步驟(1)在波形開(kāi)始的一兩個(gè)周期內(nèi), 估計(jì)最大值和最小值的范圍最大值Vmax的范圍是開(kāi)始一段時(shí)間內(nèi)檢測(cè)到的最大值H的1至2倍,即Vmax=(1~2)·H最小值Vmin的范圍是開(kāi)始一段時(shí)間內(nèi)檢測(cè)到的最小值L的0.5至1倍,即Vmin=(0.5~1)·L(2)在開(kāi)始搜索前,對(duì)最大值最小值和中值進(jìn)行初始化,并給出門(mén)限濾波參數(shù),對(duì)最大值初始值和最小值初始值分別賦于最小值和最大值,中值初始值為開(kāi)始一段時(shí)間的算術(shù)平均值;(3)檢測(cè)實(shí)時(shí)的信號(hào)值,比較它是否大于中值與濾波門(mén)限之和;(4)如果步驟(3)的結(jié)果為“是”,則進(jìn)入“搜索最大值”的狀態(tài),并將當(dāng)前檢測(cè)到的信號(hào)值作為最大值,如果前一狀態(tài)為“搜索最小值”狀態(tài),則用當(dāng)前最大值和最小值的算術(shù)平均值來(lái)更新中值,如果前一狀態(tài)也為“搜索最大值”狀態(tài),則維持中值不變,然后返回步驟(3);(5)如果步驟(3)的結(jié)果為“否”,則比較該實(shí)時(shí)信號(hào)是否小于中值與濾波門(mén)限之差;(6)如果步驟(5)的結(jié)果為“是”,則進(jìn)入“搜索最小值”的狀態(tài),并將當(dāng)前檢測(cè)到的信號(hào)值作為最小值,如果前一狀態(tài)為“搜索最大值”狀態(tài),則用當(dāng)前最大值和最小值的算術(shù)平均值來(lái)更新中值,如果前一狀態(tài)也為“搜索最小值”狀態(tài),則維持中值不變,然后返回步驟(3);
2.如權(quán)利要求1所述的信號(hào)時(shí)域波形極值點(diǎn)和周期的檢測(cè)方法,其特征在于在所述步驟(2)中還給出時(shí)間參數(shù),所述時(shí)間參數(shù)為周期的1至2倍,并再執(zhí)行如下步驟(7)如果步驟(5)的結(jié)果為“否”,則用時(shí)間參數(shù)來(lái)判斷是否為時(shí)間上的異常;(8)如果步驟(7)的結(jié)果為“是”,則返回到步驟(1);(9)如果步驟(7)的結(jié)果為“否”,則直接返回到步驟(3);
3.如權(quán)利要求1或2所述的信號(hào)時(shí)域波形極值點(diǎn)和周期的檢測(cè)方法,其特征在于在所述步驟(4)和(6)中更新中值前,將當(dāng)前的中值與原來(lái)的中值相比較,如果超過(guò)正常變化范圍,就限制中值更新,讓它仍然保持在正常范圍之內(nèi);
4.如權(quán)利要求1或2中任一項(xiàng)所述的信號(hào)時(shí)域波形極值點(diǎn)和周期的檢測(cè)方法,其特征在于所述門(mén)限濾波參數(shù)不大于波形幅值的百分之十;
5.如權(quán)利要求3所述的信號(hào)時(shí)域波形極值點(diǎn)和周期的檢測(cè)方法,其特征在于所述中值的正常范圍是指中值在當(dāng)前中值減去波形峰值和當(dāng)前中值加上波形峰值之間。
全文摘要
一種信號(hào)時(shí)域波形極值點(diǎn)和周期的檢測(cè)方法,首先在進(jìn)行最大值和最小值范圍估計(jì)后給出一個(gè)最大值、最小值和中值的初始值,并給出門(mén)限濾波參數(shù),然后開(kāi)始一個(gè)波形檢測(cè)的過(guò)程。每來(lái)一個(gè)新值就判斷它是否大于中值與濾波門(mén)限之和,若大于就進(jìn)入“搜索最大值”狀態(tài)搜索最大值;否則將新值和中值與濾波門(mén)限之差比較,如果小于就進(jìn)入“搜索最小值”狀態(tài)搜索最小值。在開(kāi)始下一個(gè)新的波形檢測(cè)之前以搜索到的最大值和最小值的算術(shù)平均值來(lái)更新中值,同時(shí)將最大值和最小值復(fù)位到上一次波形檢測(cè)前的狀態(tài)。本發(fā)明能夠?qū)崟r(shí)快速準(zhǔn)確地檢測(cè)各種類似正弦波的生理信號(hào)和非生理信號(hào)的周期和極值點(diǎn),能夠很好地跟上波形突變和波動(dòng)的情況。
文檔編號(hào)A61B5/0205GK1525395SQ0311383
公開(kāi)日2004年9月1日 申請(qǐng)日期2003年2月24日 優(yōu)先權(quán)日2003年2月24日
發(fā)明者周慧玲, 葉繼倫 申請(qǐng)人:深圳邁瑞生物醫(yī)療電子股份有限公司