本發(fā)明屬于測(cè)量車(chē)輛、人員、動(dòng)物或其他運(yùn)動(dòng)的固態(tài)物體在地面行駛的距離,例如,應(yīng)用里程計(jì)或應(yīng)用計(jì)步器的技術(shù)領(lǐng)域,具體是涉及一種基于模糊邏輯的跑步狀態(tài)識(shí)別方法。
背景技術(shù):
跑步是目前最為廣泛的群眾運(yùn)動(dòng)之一,包括人們?nèi)粘5呐懿藉憻?、朋友間的跑步競(jìng)賽和一些官方的跑步競(jìng)技,其中運(yùn)動(dòng)狀態(tài)有快跑、慢跑、快走、慢走、變速跑、變速走、不規(guī)則運(yùn)動(dòng)和靜止,對(duì)于運(yùn)動(dòng)量的計(jì)算、卡路里消耗、跑步距離計(jì)算和運(yùn)動(dòng)員生理指標(biāo)監(jiān)測(cè)都有重要意義,同時(shí)在跑步軌跡呈現(xiàn)時(shí),分析跑步過(guò)程的運(yùn)動(dòng)狀態(tài)變化可以進(jìn)一步指導(dǎo)用戶(hù)科學(xué)的進(jìn)行跑步鍛煉;對(duì)于跑步狀態(tài)的識(shí)別,傳統(tǒng)的方法均是通過(guò)單位時(shí)間內(nèi)的速度或步頻進(jìn)行判斷,設(shè)定閾值簡(jiǎn)單識(shí)別,這樣的問(wèn)題在于:
1)快和慢是相對(duì)概念,不同的人對(duì)快慢的判斷并不相同;
2)快走的速度可能大于慢跑的速度,因此簡(jiǎn)單的以速度或步頻無(wú)法有效的分辨出快走和慢跑的狀態(tài);因此,運(yùn)動(dòng)狀態(tài)是一個(gè)模糊的概念,無(wú)法設(shè)定確切的界限區(qū)分不同狀態(tài)。
中國(guó)發(fā)明專(zhuān)利cn104977006說(shuō)明書(shū)中公開(kāi)了一種基于模糊邏輯進(jìn)行運(yùn)動(dòng)狀態(tài)識(shí)別的方法,可以根據(jù)當(dāng)前時(shí)刻的步頻和合加速度方差做模糊推理,得到慢走、走、快走、慢跑、跑、快跑等狀態(tài),這種方法的缺點(diǎn)在于:
1)這是基于單步數(shù)據(jù)進(jìn)行的模糊推理,但推理結(jié)果可能出現(xiàn)不符合人類(lèi)跑步或行走連續(xù)特征的情形,例如在多步慢走時(shí)間出現(xiàn)的一步快跑,或在一個(gè)時(shí)間窗口內(nèi)出現(xiàn)步幅忽大忽??;
2)運(yùn)動(dòng)狀態(tài)的識(shí)別取決于計(jì)步的結(jié)果,若當(dāng)前時(shí)刻沒(méi)有計(jì)步,則沒(méi)有運(yùn)動(dòng)狀態(tài)輸出,但在實(shí)際應(yīng)用中,受限于傳感器的采樣率等因素,部分運(yùn)動(dòng)信息無(wú)法感應(yīng),計(jì)步算法可能出現(xiàn)誤差。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種基于模糊邏輯的跑步狀態(tài)識(shí)別方法,該一種基于模糊邏輯的跑步狀態(tài)識(shí)別方法基于模糊邏輯理論,對(duì)一個(gè)窗口時(shí)間內(nèi)的加速度計(jì)數(shù)據(jù)分析,利用窗口時(shí)間內(nèi)的步頻、步幅整體情況進(jìn)行模糊推理,在保證實(shí)時(shí)性的同時(shí),得到當(dāng)前的運(yùn)動(dòng)狀態(tài)并輸出,為卡路里計(jì)算、跑步距離計(jì)算提供更準(zhǔn)確的數(shù)據(jù)。
為了達(dá)到上述目的,本發(fā)明一種基于模糊邏輯的跑步狀態(tài)識(shí)別方法的控制方法,其步驟如下:
1)以25hz采樣加速度計(jì)數(shù)據(jù):采用25hz采樣頻率充分考慮對(duì)運(yùn)動(dòng)的捕捉精細(xì)度和計(jì)算量之間的平衡,采集三軸加速度數(shù)據(jù)ax、ay、az;
2)根據(jù)三軸加速度數(shù)據(jù)計(jì)算合加速度:
3)對(duì)合加速度數(shù)據(jù)進(jìn)行野值處理及濾波:判斷野值的方法為:
其中a(i)為i時(shí)刻的合加速度,
若上述野值判斷成立,則對(duì)當(dāng)前時(shí)刻的值采用線(xiàn)性外推:
野值處理后,將外推估計(jì)的數(shù)據(jù)加入傳感器序列中,再進(jìn)行低通濾波以減小高頻噪聲:
其中,ak均為低通濾波器的參數(shù),低通濾波器為基于漢明窗的fir(finiteimpulseresponse)濾波器,截止頻率為10hz,-3db頻率為5hz,階數(shù)為25階;
4)存儲(chǔ)l長(zhǎng)度的數(shù)據(jù),差分,找到波峰和波谷:對(duì)l長(zhǎng)度的所有數(shù)據(jù)分別求差分:
{adiff(i)}={a(i+1)-a(i)}
根據(jù)差分序列{adiff},查找波峰和波谷:
若adiff(i)=0,則當(dāng)前時(shí)刻的值與上一個(gè)時(shí)刻相同,故既不是波峰也不是波谷;
若adiff(i)與adiff(i-1)符號(hào)不同,adiff(i)>0,則i時(shí)刻為波峰;adiff(i)<0,則i時(shí)刻為波谷;
5)去除偽波峰、偽波谷,得到波峰序列{apeak}、波谷序列{avalley}:判斷偽波峰偽波谷的原理如下:
若當(dāng)前波峰p1與其前面最近的波谷v1之間的幅度小于閾值t,則判斷波峰為偽波峰,同時(shí)比較下一個(gè)波谷v2與v1的大小,v1與v2之間較大者為偽波谷;
若p1與之后的最近的波谷v2之間的幅度小于閾值t,則判斷v2必然為偽波谷,比較下一個(gè)波峰p2,p1和p2較小者為偽波峰;
6)計(jì)算平均幅度
{d(i)}={apeak(i)-avalley(i)}
m為波峰的數(shù)量;
ti和ti-1為apeak(i)和apeak(i-1)對(duì)應(yīng)的時(shí)間;
kf計(jì)算:
采用最小二乘原理,計(jì)算{f}的斜率:
7)各參數(shù)歸一化:
其中,y表示
8)計(jì)算各參數(shù)隸屬度:
其中,
9)模糊推理,得到當(dāng)前運(yùn)動(dòng)狀態(tài)。
進(jìn)一步,在步驟8)和9)中,根據(jù)最大最小合成法則,即可得到當(dāng)前的運(yùn)動(dòng)狀態(tài)及其隸屬度。
本發(fā)明的有益效果在于:
本發(fā)明一種基于模糊邏輯的跑步狀態(tài)識(shí)別方法基于模糊邏輯理論,對(duì)一個(gè)窗口時(shí)間內(nèi)的加速度計(jì)數(shù)據(jù)分析,利用窗口時(shí)間內(nèi)的步頻、步幅整體情況進(jìn)行模糊推理,在保證實(shí)時(shí)性的同時(shí),得到當(dāng)前的運(yùn)動(dòng)狀態(tài)并輸出,為卡路里計(jì)算、跑步距離計(jì)算提供更準(zhǔn)確的數(shù)據(jù)。
附圖說(shuō)明
為了使本發(fā)明的目的、技術(shù)方案和有益效果更加清楚,本發(fā)明提供如下附圖進(jìn)行說(shuō)明:
圖1為本發(fā)明一種基于模糊邏輯的跑步狀態(tài)識(shí)別方法的控制原理圖;
圖2為本發(fā)明一種基于模糊邏輯的跑步狀態(tài)識(shí)別方法中模糊邏輯推理規(guī)則表。
具體實(shí)施方式
下面將結(jié)合附圖,對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)的描述。
如圖1所示為本發(fā)明一種基于模糊邏輯的跑步狀態(tài)識(shí)別方法的控制原理圖;如圖2為本發(fā)明一種基于模糊邏輯的跑步狀態(tài)識(shí)別方法中模糊邏輯推理規(guī)則表;本發(fā)明一種基于模糊邏輯的跑步狀態(tài)識(shí)別方法,其步驟如下:
1)以25hz采樣加速度計(jì)數(shù)據(jù):采樣可以基于智能終端或穿戴式設(shè)備,采用25hz采樣頻率充分考慮對(duì)運(yùn)動(dòng)的捕捉精細(xì)度和計(jì)算量之間的平衡,采集三軸加速度數(shù)據(jù)ax、ay、az。
2)根據(jù)三軸加速度數(shù)據(jù)計(jì)算合加速度:
3)對(duì)合加速度數(shù)據(jù)進(jìn)行野值處理及濾波:判斷野值的方法為:
野值處理的目的在于剔除明顯異常的野值,判斷野值的方法為:
其中a(i)為i時(shí)刻的合加速度,
若上述野值判斷成立,則對(duì)當(dāng)前時(shí)刻的值采用線(xiàn)性外推:
野值處理后,將外推估計(jì)的數(shù)據(jù)加入傳感器序列中,再進(jìn)行低通濾波以減小高頻噪聲:
其中,ak均為低通濾波器的參數(shù),低通濾波器為基于漢明窗的fir(finiteimpulseresponse)濾波器,截止頻率為10hz,-3db頻率為5hz,階數(shù)為25階。
4)存儲(chǔ)l長(zhǎng)度的數(shù)據(jù),差分,找到波峰和波谷:
對(duì)l長(zhǎng)度的所有數(shù)據(jù)分別求差分:
{adiff(i)}={a(i+1)-a(i)}
根據(jù)差分序列{adiff},查找波峰和波谷:
若adiff(i)=0,則當(dāng)前時(shí)刻的值與上一個(gè)時(shí)刻相同,故既不是波峰也不是波谷;
若adiff(i)與adiff(i-1)符號(hào)不同,adiff(i)>0,則i時(shí)刻為波峰;adiff(i)<0,則i時(shí)刻為波谷。
5)去除偽波峰、偽波谷,得到波峰序列{apeak}、波谷序列{avalley}:
判斷偽波峰偽波谷的原理是:
若當(dāng)前波峰p1與其前面最近的波谷v1之間的幅度小于閾值t,則判斷波峰為偽波峰,同時(shí)比較下一個(gè)波谷v2與v1的大小,v1與v2之間較大者為偽波谷;
若p1與之后的最近的波谷v2之間的幅度小于閾值t,則判斷v2必然為偽波谷,比較下一個(gè)波峰p2,p1和p2較小者為偽波峰。
6)計(jì)算平均幅度
{d(i)}={apeak(i)-avalley(i)}
m為波峰的數(shù)量(同時(shí)也是波谷的數(shù)量,因?yàn)椴ǚ搴筒ü缺厝皇墙惶娉霈F(xiàn)的);
ti和ti-1為apeak(i)和apeak(i-1)對(duì)應(yīng)的時(shí)間;
kf計(jì)算:
采用最小二乘原理,計(jì)算{f}的斜率:
7)各參數(shù)歸一化
其中,y表示
8)計(jì)算各參數(shù)隸屬度
其中,
9)模糊推理,得到當(dāng)前運(yùn)動(dòng)狀態(tài):
輸出為運(yùn)動(dòng)狀態(tài),模糊集合為{st,sw,w,qw,vw,sr,r,qr,vr,im},分別表示靜止、慢走、走、快走、變速走、慢跑、跑、快跑、變速跑,不規(guī)則運(yùn)動(dòng)。
進(jìn)一步,根據(jù)最大最小合成法則,即可得到當(dāng)前的運(yùn)動(dòng)狀態(tài)及其隸屬度。
最后說(shuō)明的是,以上優(yōu)選實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管通過(guò)上述優(yōu)選實(shí)施例已經(jīng)對(duì)本發(fā)明進(jìn)行了詳細(xì)的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在形式上和細(xì)節(jié)上對(duì)其作出各種各樣的改變,而不偏離本發(fā)明權(quán)利要求書(shū)所限定的范圍。