本發(fā)明涉及醫(yī)療電子技術(shù)領(lǐng)域,具體而言涉及一種心率實(shí)時(shí)計(jì)算方法及裝置。
背景技術(shù):
心房和心室的去極化和復(fù)極化引起體表電位變化。體表心電信號(hào)測(cè)量,就是在身體表面測(cè)量由心房和心室去極化/復(fù)極化引起的體表電位差。就可穿戴設(shè)備而言,從心電信號(hào)中提取心率序列,可應(yīng)用于運(yùn)動(dòng)監(jiān)測(cè)和身心健康自我監(jiān)護(hù)。盡管當(dāng)前許多電子產(chǎn)品使用光電脈搏計(jì)來(lái)測(cè)量脈搏率,并等效為心率來(lái)使用,但光電脈搏計(jì)在身體活動(dòng)狀態(tài)下很難獲得好的脈搏信號(hào),從而無(wú)法計(jì)算脈搏率。心電r波是各心電片段波中最陡尖和幅度最大的波,因此心率的計(jì)算常換算為rr間期的計(jì)算,而r波峰的準(zhǔn)確定位是rr間期計(jì)算的前提。移動(dòng)智能終端的心率監(jiān)測(cè)常要求實(shí)時(shí)r波定位和rr間隔計(jì)算,因此要求這兩個(gè)任務(wù)的算法復(fù)雜性極低,否則計(jì)算時(shí)延過(guò)大而達(dá)不到好的實(shí)時(shí)效果。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例的目的在于提供一種心率實(shí)時(shí)計(jì)算方法及裝置,以此解決在極端心理和生理?xiàng)l件下,不能實(shí)時(shí)準(zhǔn)確定位r波峰,從而不能實(shí)時(shí)計(jì)算心率的問(wèn)題。
第一方面,本發(fā)明實(shí)施例提供了一種心率實(shí)時(shí)計(jì)算方法,所述方法包括將實(shí)時(shí)采集的心電數(shù)據(jù)緩存到緩存器中;當(dāng)檢測(cè)到所述緩存器的緩存數(shù)據(jù)的容量到達(dá)預(yù)設(shè)值時(shí),讀取所述緩存器中的心電數(shù)據(jù)并利用小波分解和重構(gòu)的方法,對(duì)所述讀取到的心電數(shù)據(jù)去除基線漂移;基于預(yù)設(shè)的滑動(dòng)時(shí)間窗以及所述去除基線漂移的心電數(shù)據(jù),獲取所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)并定位所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)的最大值點(diǎn)作為r波峰點(diǎn),以得到多個(gè)r波峰點(diǎn);基于定位的所述多個(gè)r波峰點(diǎn),計(jì)算所述實(shí)時(shí)采集到的心電數(shù)據(jù)的rr間期值并實(shí)時(shí)顯示。
第二方面,本發(fā)明實(shí)施例提供了一種心率實(shí)時(shí)計(jì)算裝置,所述裝置包括第一緩存單元,用于將實(shí)時(shí)采集的心電數(shù)據(jù)緩存到緩存器中;第一去除單元,用于當(dāng)檢測(cè)到所述緩存器的緩存數(shù)據(jù)的容量到達(dá)預(yù)設(shè)值時(shí),讀取所述緩存器中的心電數(shù)據(jù)并利用小波分解和重構(gòu)的方法,對(duì)所述讀取到的心電數(shù)據(jù)去除基線漂移;第一定位單元,用于基于預(yù)設(shè)的滑動(dòng)時(shí)間窗以及所述去除基線漂移的心電數(shù)據(jù),獲取所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)并定位所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)的最大值點(diǎn)作為r波峰點(diǎn),以得到多個(gè)r波峰點(diǎn);第一計(jì)算單元,用于基于定位的所述多個(gè)r波峰點(diǎn),計(jì)算所述實(shí)時(shí)采集到的心電數(shù)據(jù)的rr間期值并實(shí)時(shí)顯示。
本發(fā)明實(shí)施例提供了一種心率實(shí)時(shí)計(jì)算方法及裝置,所述方法包括將實(shí)時(shí)采集的心電數(shù)據(jù)緩存到緩存器中;當(dāng)檢測(cè)到所述緩存器的緩存數(shù)據(jù)的容量到達(dá)預(yù)設(shè)值時(shí),讀取所述緩存器中的心電數(shù)據(jù)并利用小波分解和重構(gòu)的方法,對(duì)所述讀取到的心電數(shù)據(jù)去除基線漂移;基于預(yù)設(shè)的滑動(dòng)時(shí)間窗以及所述去除基線漂移的心電數(shù)據(jù),獲取所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)并定位所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)的最大值點(diǎn)作為r波峰點(diǎn),以得到多個(gè)r波峰點(diǎn);基于定位的所述多個(gè)r波峰點(diǎn),計(jì)算所述實(shí)時(shí)采集到的心電數(shù)據(jù)的rr間期值并實(shí)時(shí)顯示,解決了在極端心理和生理?xiàng)l件下,不能實(shí)時(shí)準(zhǔn)確定位r波峰,從而不能實(shí)時(shí)計(jì)算心率的問(wèn)題。
本發(fā)明的其他特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書闡述,并且,部分地從說(shuō)明書中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明實(shí)施例了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1為一種可應(yīng)用于本申請(qǐng)實(shí)施例中的電子設(shè)備的結(jié)構(gòu)框圖;
圖2為本發(fā)明第一實(shí)施例提供的心率實(shí)時(shí)計(jì)算方法的流程圖;
圖3為本發(fā)明第二實(shí)施例提供的心率實(shí)時(shí)計(jì)算方法的流程圖;
圖4為本發(fā)明第二實(shí)施例提供的去除基線漂移的心電信號(hào)的第一示意圖;
圖5為本發(fā)明第二實(shí)施例提供的去除基線漂移的心電信號(hào)的第二示意圖;
圖6為本發(fā)明第二實(shí)施例提供的去除基線漂移的心電信號(hào)與原始心電信號(hào)的對(duì)比示意圖;
圖7為本發(fā)明第二實(shí)施例提供的動(dòng)態(tài)緩存數(shù)據(jù)讀取的示意圖;
圖8為本發(fā)明第二實(shí)施例提供的站立下acknowledge4.2的數(shù)據(jù)采集結(jié)果的示意圖;
圖9為本發(fā)明第二實(shí)施例提供的運(yùn)動(dòng)下acknowledge4.2的數(shù)據(jù)采集結(jié)果的示意圖;
圖10為本發(fā)明第二實(shí)施例提供的acknowledge4.2計(jì)算的結(jié)果示意圖;
圖11為本發(fā)明第二實(shí)施例提供的acknowledge4.2計(jì)算的出現(xiàn)誤差的結(jié)果示意圖;
圖12為本發(fā)明第二實(shí)施例提供的心率實(shí)時(shí)計(jì)算方法計(jì)算的rr間期與acknowledge4.2離線計(jì)算的rr間期結(jié)果示意圖;
圖13為本發(fā)明第二實(shí)施例提供的心率實(shí)時(shí)計(jì)算方法計(jì)算的錯(cuò)誤計(jì)算結(jié)果示意圖;
圖14為本發(fā)明第三實(shí)施例提供的心率實(shí)時(shí)計(jì)算裝置的結(jié)構(gòu)框圖;
圖15為本發(fā)明第四實(shí)施例提供的心率實(shí)時(shí)計(jì)算裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來(lái)布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。同時(shí),在本發(fā)明的描述中,術(shù)語(yǔ)“第一”、“第二”等僅用于區(qū)分描述,而不能理解為指示或暗示相對(duì)重要性。
請(qǐng)參閱圖1,圖1示出了一種可應(yīng)用于本申請(qǐng)實(shí)施例中的電子設(shè)備100的結(jié)構(gòu)框圖。該電子設(shè)備100可以作為用戶終端,也可以是計(jì)算機(jī)或服務(wù)器,所述用戶終端可以為手機(jī)或平板電腦。如圖1所示,電子設(shè)備100可以包括存儲(chǔ)器110、存儲(chǔ)控制器111、處理器112和心率實(shí)時(shí)計(jì)算方法。
存儲(chǔ)器110、存儲(chǔ)控制器111、處理器112各元件之間直接或間接地電連接,以實(shí)現(xiàn)數(shù)據(jù)的傳輸或交互。例如,這些元件之間可以通過(guò)一條或多條通訊總線或信號(hào)總線實(shí)現(xiàn)電連接。心率實(shí)時(shí)計(jì)算方法分別包括至少一個(gè)可以以軟件或固件(firmware)的形式存儲(chǔ)于存儲(chǔ)器110中的軟件功能模塊,例如所述心率實(shí)時(shí)計(jì)算裝置包括的軟件功能模塊或計(jì)算機(jī)程序。
存儲(chǔ)器110可以存儲(chǔ)各種軟件程序以及模塊,如本申請(qǐng)實(shí)施例提供的心率實(shí)時(shí)計(jì)算方法及裝置對(duì)應(yīng)的程序指令/模塊。處理器112通過(guò)運(yùn)行存儲(chǔ)在存儲(chǔ)器110中的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)本申請(qǐng)實(shí)施例中的心率實(shí)時(shí)計(jì)算方法。存儲(chǔ)器110可以包括但不限于隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram),只讀存儲(chǔ)器(readonlymemory,rom),可編程只讀存儲(chǔ)器(programmableread-onlymemory,prom),可擦除只讀存儲(chǔ)器(erasableprogrammableread-onlymemory,eprom),電可擦除只讀存儲(chǔ)器(electricerasableprogrammableread-onlymemory,eeprom)等。
處理器112可以是一種集成電路芯片,具有信號(hào)處理能力。上述處理器可以是通用處理器,包括中央處理器(centralprocessingunit,簡(jiǎn)稱cpu)、網(wǎng)絡(luò)處理器(networkprocessor,簡(jiǎn)稱np)等;還可以是數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、現(xiàn)成可編程門陣列(fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。其可以實(shí)現(xiàn)或者執(zhí)行本申請(qǐng)實(shí)施例中的公開(kāi)的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
第一實(shí)施例
請(qǐng)參閱圖2,本發(fā)明實(shí)施例提供了一種心率實(shí)時(shí)計(jì)算方法,所述方法包括:
步驟s200:將實(shí)時(shí)采集的心電數(shù)據(jù)緩存到緩存器中;
步驟s210:當(dāng)檢測(cè)到所述緩存器的緩存數(shù)據(jù)的容量到達(dá)預(yù)設(shè)值時(shí),讀取所述緩存器中的心電數(shù)據(jù)并利用小波分解和重構(gòu)的方法,對(duì)所述讀取到的心電數(shù)據(jù)去除基線漂移;
步驟s220:基于預(yù)設(shè)的滑動(dòng)時(shí)間窗以及所述去除基線漂移的心電數(shù)據(jù),獲取所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)并定位所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)的最大值點(diǎn)作為r波峰點(diǎn),以得到多個(gè)r波峰點(diǎn);
步驟s230:基于定位的所述多個(gè)r波峰點(diǎn),計(jì)算所述實(shí)時(shí)采集到的心電數(shù)據(jù)的rr間期值并實(shí)時(shí)顯示。
本發(fā)明實(shí)施例提供了一種心率實(shí)時(shí)計(jì)算方法,所述方法包括通過(guò)將實(shí)時(shí)采集的心電數(shù)據(jù)緩存到緩存器中;當(dāng)檢測(cè)到所述緩存器的緩存數(shù)據(jù)的容量到達(dá)預(yù)設(shè)值時(shí),讀取所述緩存器中的心電數(shù)據(jù)并利用小波分解和重構(gòu)的方法,對(duì)所述讀取到的心電數(shù)據(jù)去除基線漂移;基于預(yù)設(shè)的滑動(dòng)時(shí)間窗以及所述去除基線漂移的心電數(shù)據(jù),獲取所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)并定位所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)的最大值點(diǎn)作為r波峰點(diǎn),以得到多個(gè)r波峰點(diǎn);基于定位的所述多個(gè)r波峰點(diǎn),計(jì)算所述實(shí)時(shí)采集到的心電數(shù)據(jù)的rr間期值并實(shí)時(shí)顯示,解決了在極端心理和生理?xiàng)l件下,不能實(shí)時(shí)準(zhǔn)確定位r波峰,從而不能實(shí)時(shí)計(jì)算心率的問(wèn)題。
第二實(shí)施例
請(qǐng)參照?qǐng)D3,本發(fā)明實(shí)施例提供了一種心率實(shí)時(shí)計(jì)算方法,所述方法包括:
步驟s300:將實(shí)時(shí)采集的心電數(shù)據(jù)緩存到緩存器中;
步驟s310:當(dāng)檢測(cè)到所述緩存器的緩存數(shù)據(jù)的容量到達(dá)預(yù)設(shè)值時(shí),讀取所述緩存器中的心電數(shù)據(jù)并利用小波分解和重構(gòu)的方法,對(duì)所述讀取到的心電數(shù)據(jù)去除基線漂移;
基于步驟s310,去除基線漂移的傳統(tǒng)做法是平均值濾波,本發(fā)明實(shí)施例使用小波分解和重構(gòu)來(lái)去除基線漂移,但在小波種類的選擇上,優(yōu)選使用了‘dmey’小波,該小波不僅可以去除心電基線漂移,而且對(duì)r波幅度和形狀的損傷非常小,對(duì)比圖4、圖5和圖6即可知實(shí)施效果非常好。為了圖形展示清晰,請(qǐng)參閱圖6,原始心電上疊加了一個(gè)直流偏置,上面的曲線表示原始心電信號(hào),下面的曲線表示去除基線漂移后的心電信號(hào)。
步驟s320:設(shè)置rr間期長(zhǎng)度經(jīng)驗(yàn)值t1、相鄰rr間期差經(jīng)驗(yàn)值t2、滑動(dòng)時(shí)間窗的初始長(zhǎng)度及步進(jìn);
經(jīng)驗(yàn)rr間期長(zhǎng)度t1設(shè)置為最慢的正常rr間期值。比如,正常人心率一般大于40次/分鐘,對(duì)應(yīng)rr間期長(zhǎng)度為1.5秒,則可設(shè)置t1為1.5秒。在已知用戶靜息態(tài)心率的情況下,t1還可進(jìn)行個(gè)性化設(shè)置,以便讓系統(tǒng)更快速地適應(yīng)特定用戶的心率狀態(tài)。
相鄰rr間期差經(jīng)驗(yàn)值t2用來(lái)選取心動(dòng)過(guò)速狀態(tài)下以及誤檢rr間期狀態(tài)下的自適應(yīng)時(shí)間窗長(zhǎng)。通過(guò)分析極端心理生理實(shí)驗(yàn)所得的心電數(shù)據(jù)發(fā)現(xiàn),在心動(dòng)過(guò)速狀態(tài)下,使用t1值來(lái)計(jì)算自適應(yīng)時(shí)間窗長(zhǎng),可能導(dǎo)致漏檢r波。而心率變異率微弱是心動(dòng)過(guò)速狀態(tài)的特點(diǎn),因此可以用t2值來(lái)判斷心動(dòng)過(guò)速,從而選取合適的自適應(yīng)時(shí)間窗長(zhǎng)。此外,若由于心電數(shù)據(jù)信噪比太低或?qū)崟r(shí)心電數(shù)據(jù)傳輸丟失等原因?qū)е聄r間期檢測(cè)錯(cuò)誤,通過(guò)t2值可以檢測(cè)到這種錯(cuò)誤,從而算法自動(dòng)調(diào)整窗長(zhǎng)設(shè)置規(guī)則,回歸正常rr間期的正確計(jì)算。
步驟s330:定位當(dāng)前滑動(dòng)時(shí)間窗;
步驟s340:判斷所有心電數(shù)據(jù)是否檢測(cè)完;
步驟s340a:若所有心電數(shù)據(jù)沒(méi)有檢測(cè)完,則定位當(dāng)前滑動(dòng)時(shí)間窗中的r波峰點(diǎn);
步驟s340b:若所有心電數(shù)據(jù)已經(jīng)檢測(cè)完成,心電數(shù)據(jù)停止采集,存儲(chǔ)r波位置和rr間期序列。
步驟s350:計(jì)算當(dāng)前r波峰點(diǎn)與前一個(gè)r波峰點(diǎn)的之間長(zhǎng)度,即當(dāng)前rr間期;
步驟s360:判斷當(dāng)前rr間期與前一個(gè)rr間期之差是否大于相鄰rr間期差經(jīng)驗(yàn)值t2;
步驟s360a:若當(dāng)前rr間期與前一個(gè)rr間期之差大于相鄰rr間期差經(jīng)驗(yàn)值t2,則根據(jù)rr間期長(zhǎng)度經(jīng)驗(yàn)值t1計(jì)算第一自適應(yīng)窗長(zhǎng);
步驟s360b:若當(dāng)前rr間期與前一個(gè)rr間期之差不大于相鄰rr間期差經(jīng)驗(yàn)值t2,則根據(jù)當(dāng)前rr間期計(jì)算第二自適應(yīng)窗長(zhǎng);
步驟s370:基于第一自適應(yīng)窗長(zhǎng)或第二自適應(yīng)窗長(zhǎng),更新滑動(dòng)時(shí)間窗長(zhǎng)和位置,返回到步驟s330;
作為一種實(shí)施方式,針對(duì)于動(dòng)態(tài)緩存區(qū)數(shù)據(jù)的讀取規(guī)則,實(shí)時(shí)采集的心電數(shù)據(jù)先進(jìn)入緩存器,緩存器滿后,讀取緩存器,并進(jìn)行r波峰值定位。由于緩存器內(nèi)最后一個(gè)數(shù)據(jù)可能不是一個(gè)r峰值,因此,作為一種實(shí)施方式,每次讀取和計(jì)算之后,把定位到的倒數(shù)第二個(gè)r波峰值點(diǎn)后的數(shù)據(jù)遺留在緩存器中,并與新到的數(shù)據(jù)連接起來(lái)。下一次讀取緩存后,r波峰定位是對(duì)遺留數(shù)據(jù)和新到數(shù)據(jù)連接成的心電信號(hào)來(lái)進(jìn)行的。也可以這樣理解的,可以把緩存器看成是兩塊兒連接起來(lái)的。第一塊緩存等待接收本次讀取定位后倒數(shù)第二個(gè)r波之后的余留數(shù)據(jù),第二塊緩存接收新采集的數(shù)據(jù)。下一次讀取時(shí),將第二塊緩存的數(shù)據(jù)連接到第一塊緩存數(shù)據(jù)的尾端,之后再讀取第一塊緩存。第二塊緩存的數(shù)據(jù)被連接到第一塊緩存數(shù)據(jù)尾端之后,這些已讀數(shù)據(jù)被清空,然后第二塊緩存接收新數(shù)據(jù)。第一塊緩存的數(shù)據(jù)(遺留的加新來(lái)的)被讀取之后,第一塊緩存的數(shù)據(jù)也清空。如圖7所示,在第二塊緩存接收新采集數(shù)據(jù)期間,本次讀取到的數(shù)據(jù)正在被定位。定位完成后,將倒數(shù)第二個(gè)r波之后的余留數(shù)據(jù)放入第一塊緩存。然后把第二塊緩存新接收的數(shù)據(jù)連接到第一塊緩存數(shù)據(jù)尾部。接下來(lái)就是新一次的緩存讀取。這種做法保證了所有的rr間期都能被正確檢測(cè)到,不至于由于緩存器尾部不足一個(gè)rr間期而丟失數(shù)據(jù)。首先獲取所述定位的所述多個(gè)r波峰點(diǎn)中的倒數(shù)第二個(gè)r波峰點(diǎn)后的第一心電數(shù)據(jù);獲取所述緩存器當(dāng)前緩存的第二心電數(shù)據(jù);組合所述第一心電數(shù)據(jù)與所述第二心電數(shù)據(jù),獲得當(dāng)前待r波峰定位的心電數(shù)據(jù);后續(xù)的步驟原理與前述步驟s310(以及)之后的步驟原理一致,這里不再贅述。
本實(shí)例進(jìn)一步校驗(yàn)了本發(fā)明提供的心率實(shí)時(shí)計(jì)算方法的準(zhǔn)確性,將其與一種常用心率檢測(cè)軟件自帶的算法進(jìn)行了比較。從以下幾個(gè)實(shí)驗(yàn)來(lái)進(jìn)行比較:
(1)由測(cè)試人員同時(shí)穿戴shimmer3無(wú)線心電模塊和mp150無(wú)線心電模塊。(2)用shimmer3為本文提出的實(shí)時(shí)心率計(jì)算系統(tǒng)提供心電數(shù)據(jù),數(shù)據(jù)采樣頻率設(shè)為512hz;而mp150則為其自帶的acknowledge4.2分析軟件提供心電數(shù)據(jù),數(shù)據(jù)采樣頻率設(shè)為400hz。(3)測(cè)試人員在同一臺(tái)配備
站立不動(dòng)狀態(tài)下,acknowledge4.2的數(shù)據(jù)采集效果如圖8所示。在圖8中,從上往下看,第一行為脈搏波,第二行和第三行是數(shù)據(jù)采集結(jié)束后,用acknowledge4.2自帶算法離線計(jì)算的脈搏率和心率,第四行是心電波,第五行是acknowledge4.2實(shí)時(shí)計(jì)算的心率。
在圖8中,比較第二行和第三行階梯波形可知,離線計(jì)算的脈搏率和心率在趨勢(shì)上一致,但脈搏率漲落細(xì)節(jié)則與心率漲落相差很大,用脈搏率等效于心率勢(shì)必造成較大的細(xì)節(jié)誤差。比較第三行和第五行階梯波可知,acknowledge4.2實(shí)時(shí)計(jì)算的心率與離線計(jì)算的心率在細(xì)節(jié)上仍有較大差異,且實(shí)時(shí)心率計(jì)算的時(shí)延約為0.45秒。比較第三行離線計(jì)算心率階梯波和第四行心電波可知,階梯跳變沿與心電r波峰準(zhǔn)確對(duì)齊,說(shuō)明在當(dāng)前數(shù)據(jù)窗內(nèi)acknowledge4.2離線計(jì)算的心率是準(zhǔn)確的。
此外,運(yùn)動(dòng)狀態(tài)下的脈搏波如圖9,從上往下,第一行所示,可見(jiàn)其基本失去了正常脈搏波的形態(tài),只剩下運(yùn)動(dòng)偽跡。而運(yùn)動(dòng)狀態(tài)下的心電信號(hào)r波仍然清晰可辨。這也進(jìn)一步說(shuō)明直接從心電信號(hào)計(jì)算心率比使用脈搏波計(jì)算脈搏率更可靠。
請(qǐng)參閱圖10,acknowledge4.2軟件系統(tǒng)在一次實(shí)驗(yàn)中采集和計(jì)算的離線脈搏率,離線心率和實(shí)時(shí)心率如圖10所示??梢?jiàn)離線脈搏率和實(shí)時(shí)心率出現(xiàn)了超過(guò)50%的計(jì)算錯(cuò)誤,尤其是在約210秒之后的運(yùn)動(dòng)狀態(tài)下錯(cuò)誤率為100%,如圖11中。
請(qǐng)參閱圖12,圖12顯示了本發(fā)明的實(shí)時(shí)算法計(jì)算的rr間期序列(可換算為每分鐘心跳數(shù))和acknowledge4.2軟件系統(tǒng)離線計(jì)算的rr間期序列。這兩個(gè)序列是在兩套系統(tǒng)同時(shí)運(yùn)行期間各自采集的心電數(shù)據(jù)中計(jì)算得到的。從圖12可見(jiàn),雖然兩套系統(tǒng)設(shè)置了不同的采樣頻率,本發(fā)明的心率算法所計(jì)算的實(shí)時(shí)心率與acknowledge4.2所計(jì)算的離線心率有很好的跟隨效果,實(shí)際計(jì)算兩個(gè)序列的相關(guān)度等于1。acknowledge4.2計(jì)算的離線心率在從站立狀態(tài)突然變成跑步狀態(tài)時(shí)(約350秒附近的上下尖峰),出現(xiàn)了兩次心率計(jì)算錯(cuò)誤;本發(fā)明的心率算法實(shí)時(shí)計(jì)算時(shí)遭遇一次shimmer3的藍(lán)牙數(shù)據(jù)存儲(chǔ)更新,在約150秒處因丟失2個(gè)心跳周期的數(shù)據(jù)而出現(xiàn)一次計(jì)算錯(cuò)誤,此外在約200秒處出現(xiàn)一次計(jì)算錯(cuò)誤。5次重復(fù)實(shí)驗(yàn),shimmer3心電設(shè)備共記錄了2623次心跳,本發(fā)明的實(shí)時(shí)心率算法正確計(jì)算了其中2595次心跳的心率,正確率為98.93%。在錯(cuò)誤計(jì)算的28次心跳中,包含了一次藍(lán)牙傳輸數(shù)據(jù)丟失的試錯(cuò)實(shí)驗(yàn),對(duì)應(yīng)圖13中的第95次心跳到222次心跳。當(dāng)出現(xiàn)藍(lán)牙數(shù)據(jù)丟失后數(shù)據(jù)連接重新恢復(fù)時(shí),本發(fā)明算法平均在5次心跳后自動(dòng)恢復(fù)正常心率檢測(cè)。在可穿戴設(shè)備上實(shí)時(shí)計(jì)算rr間期序列后,通常還伴隨其他對(duì)rr間期序列的計(jì)算。心率約為166次/分的情況下,在一臺(tái)配備
本發(fā)明實(shí)施例提供了一種心率實(shí)時(shí)計(jì)算方法,所述方法包括通過(guò)將實(shí)時(shí)采集的心電數(shù)據(jù)緩存到緩存器中;當(dāng)檢測(cè)到所述緩存器的緩存數(shù)據(jù)的容量到達(dá)預(yù)設(shè)值時(shí),讀取所述緩存器中的心電數(shù)據(jù)并利用小波分解和重構(gòu)的方法,對(duì)所述讀取到的心電數(shù)據(jù)去除基線漂移;設(shè)置rr間期長(zhǎng)度經(jīng)驗(yàn)值t1、相鄰rr間期差經(jīng)驗(yàn)值t2、滑動(dòng)時(shí)間窗的初始長(zhǎng)度及步進(jìn);定位當(dāng)前滑動(dòng)時(shí)間窗;判斷所有心電數(shù)據(jù)是否檢測(cè)完;若所有心電數(shù)據(jù)沒(méi)有檢測(cè)完,則定位當(dāng)前滑動(dòng)時(shí)間窗中的r波峰點(diǎn);計(jì)算當(dāng)前r波峰點(diǎn)與前一個(gè)r波峰點(diǎn)的之間長(zhǎng)度,即當(dāng)前rr間期;判斷當(dāng)前rr間期與前一個(gè)rr間期之差是否大于相鄰rr間期差經(jīng)驗(yàn)值t2;若當(dāng)前rr間期與前一個(gè)rr間期之差大于相鄰rr間期差經(jīng)驗(yàn)值t2,則根據(jù)rr間期長(zhǎng)度經(jīng)驗(yàn)值t1計(jì)算第一自適應(yīng)窗長(zhǎng);若當(dāng)前rr間期與前一個(gè)rr間期之差不大于相鄰rr間期差經(jīng)驗(yàn)值t2,則根據(jù)當(dāng)前rr間期計(jì)算第二自適應(yīng)窗長(zhǎng);基于第一自適應(yīng)窗長(zhǎng)或第二自適應(yīng)窗長(zhǎng),更新滑動(dòng)時(shí)間窗長(zhǎng)和位置;若所有心電數(shù)據(jù)已經(jīng)檢測(cè)完成,心電數(shù)據(jù)停止采集,存儲(chǔ)r波位置和rr間期序列,從而解決在極端心理和生理?xiàng)l件下如運(yùn)動(dòng)狀態(tài),不能實(shí)時(shí)準(zhǔn)確定位r波峰,從而不能實(shí)時(shí)計(jì)算心率的問(wèn)題。
第三實(shí)施例
請(qǐng)參閱圖14,本發(fā)明實(shí)施例提供了一種心率實(shí)時(shí)計(jì)算裝置500,所述裝置500包括:
第一緩存單元510,用于將實(shí)時(shí)采集的心電數(shù)據(jù)緩存到緩存器中;
第一去除單元520,用于當(dāng)檢測(cè)到所述緩存器的緩存數(shù)據(jù)的容量到達(dá)預(yù)設(shè)值時(shí),讀取所述緩存器中的心電數(shù)據(jù)并利用小波分解和重構(gòu)的方法,對(duì)所述讀取到的心電數(shù)據(jù)去除基線漂移;
第一定位單元530,用于基于預(yù)設(shè)的滑動(dòng)時(shí)間窗以及所述去除基線漂移的心電數(shù)據(jù),獲取所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)并定位所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)的最大值點(diǎn)作為r波峰點(diǎn),以得到多個(gè)r波峰點(diǎn);
作為一種實(shí)施方式,所述第一定位單元530包括設(shè)置單元531、獲取單元532、第二計(jì)算單元533、判斷單元534、第三計(jì)算單元535以及第一更新單元536。
設(shè)置單元531,用于設(shè)置rr間期長(zhǎng)度經(jīng)驗(yàn)值t1、相鄰rr間期差經(jīng)驗(yàn)值t2、滑動(dòng)時(shí)間窗的初始長(zhǎng)度及步進(jìn);
獲取單元532,用于獲取所述初始滑動(dòng)時(shí)間窗中的心電數(shù)據(jù)并定位所述初始滑動(dòng)時(shí)間窗中的心電數(shù)據(jù)的最大值點(diǎn)作為當(dāng)前r波峰點(diǎn);
第二計(jì)算單元533,用于計(jì)算所述當(dāng)前r波峰點(diǎn)與前一個(gè)r波峰點(diǎn)之間的時(shí)間長(zhǎng)度,即當(dāng)前rr間期值;
判斷單元534,用于判斷所述當(dāng)前rr間期與前一個(gè)rr間期之差是否大于相鄰rr間期差經(jīng)驗(yàn)值t2;
第三計(jì)算單元535,用于如果所述當(dāng)前rr間期與前一個(gè)rr間期之差大于所述相鄰rr間期差經(jīng)驗(yàn)值t2,則根據(jù)所述rr間期長(zhǎng)度經(jīng)驗(yàn)值t1計(jì)算第一自適應(yīng)窗長(zhǎng);
第一更新單元536,用于基于所述第一自適應(yīng)窗長(zhǎng),更新所述滑動(dòng)時(shí)間窗的長(zhǎng)度及位置。
第一計(jì)算單元540,用于基于定位的所述多個(gè)r波峰點(diǎn),計(jì)算所述實(shí)時(shí)采集到的心電數(shù)據(jù)的rr間期值并實(shí)時(shí)顯示。
需要說(shuō)明的是,本實(shí)施例中的各單元可以是由軟件代碼實(shí)現(xiàn),此時(shí),上述的各單元可存儲(chǔ)于存儲(chǔ)器110內(nèi)。以上各單元同樣可以由硬件例如集成電路芯片實(shí)現(xiàn)。
第四實(shí)施例
請(qǐng)參閱圖15,本發(fā)明實(shí)施例提供了一種心率實(shí)時(shí)計(jì)算裝置600,所述裝置600包括:
第一緩存單元610,用于將實(shí)時(shí)采集的心電數(shù)據(jù)緩存到緩存器中;
第一去除單元620,用于當(dāng)檢測(cè)到所述緩存器的緩存數(shù)據(jù)的容量到達(dá)預(yù)設(shè)值時(shí),讀取所述緩存器中的心電數(shù)據(jù)并利用小波分解和重構(gòu)的方法,對(duì)所述讀取到的心電數(shù)據(jù)去除基線漂移;
第一定位單元630,用于基于預(yù)設(shè)的滑動(dòng)時(shí)間窗以及所述去除基線漂移的心電數(shù)據(jù),獲取所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)并定位所述滑動(dòng)時(shí)間窗內(nèi)的心電數(shù)據(jù)的最大值點(diǎn)作為r波峰點(diǎn),以得到多個(gè)r波峰點(diǎn);
作為一種實(shí)施方式,所述第一定位單元630包括設(shè)置單元631、獲取單元632、第二計(jì)算單元633、判斷單元634、第四計(jì)算單元635以及第二更新單元636。
設(shè)置單元631,用于設(shè)置rr間期長(zhǎng)度經(jīng)驗(yàn)值t1、相鄰rr間期差經(jīng)驗(yàn)值t2、滑動(dòng)時(shí)間窗的初始長(zhǎng)度及步進(jìn);
獲取單元632,用于獲取所述初始滑動(dòng)時(shí)間窗中的心電數(shù)據(jù)并定位所述初始滑動(dòng)時(shí)間窗中的心電數(shù)據(jù)的最大值點(diǎn)作為當(dāng)前r波峰點(diǎn);
第二計(jì)算單元633,用于計(jì)算所述當(dāng)前r波峰點(diǎn)與前一個(gè)r波峰點(diǎn)之間的時(shí)間長(zhǎng)度,即當(dāng)前rr間期值;
判斷單元634,用于判斷所述當(dāng)前rr間期與前一個(gè)rr間期之差是否大于相鄰rr間期差經(jīng)驗(yàn)值t2;
第四計(jì)算單元635,用于如果所述當(dāng)前rr間期與前一個(gè)rr間期之差不大于所述相鄰rr間期差經(jīng)驗(yàn)值t2,則根據(jù)所述當(dāng)前rr間期計(jì)算第二自適應(yīng)窗長(zhǎng);
第二更新單元636,用于基于所述第二自適應(yīng)窗長(zhǎng),更新所述滑動(dòng)時(shí)間窗的長(zhǎng)度及位置。
第一計(jì)算單元640,用于基于定位的所述多個(gè)r波峰點(diǎn),計(jì)算所述實(shí)時(shí)采集到的心電數(shù)據(jù)的rr間期值并實(shí)時(shí)顯示。
需要說(shuō)明的是,本實(shí)施例中的各單元可以是由軟件代碼實(shí)現(xiàn),此時(shí),上述的各單元可存儲(chǔ)于存儲(chǔ)器110內(nèi)。以上各單元同樣可以由硬件例如集成電路芯片實(shí)現(xiàn)。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,也可以通過(guò)其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的裝置、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)方式中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能模塊可以集成在一起形成一個(gè)獨(dú)立的部分,也可以是各個(gè)模塊單獨(dú)存在,也可以兩個(gè)或兩個(gè)以上模塊集成形成一個(gè)獨(dú)立的部分。
所述功能如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。