算法
步伐參數(shù)
數(shù)字濾波器:首先,為使圖3所示的信號(hào)波形變得平滑,需要一個(gè)數(shù)字濾波器。可以使用四個(gè)寄存器和一個(gè)求和單元,如圖4所示。當(dāng)然,可以使用更多寄存器以使加速度數(shù)據(jù)更加平滑,但響應(yīng)時(shí)間會(huì)變慢。
1.004.jpg (8.77 KB, 下載次數(shù): 144)
下載附件
2017-6-14 19:04 上傳
圖4. 數(shù)字濾波器 圖5顯示了來(lái)自一名步行者所戴計(jì)步器的最活躍軸的濾波數(shù)據(jù)。對(duì)于跑步者,峰峰值會(huì)更高。
1.005.jpg (24.88 KB, 下載次數(shù): 143)
下載附件
2017-6-14 19:04 上傳
圖5. 最活躍軸的濾波數(shù)據(jù) 動(dòng)態(tài)閾值和動(dòng)態(tài)精度:系統(tǒng)持續(xù)更新3軸加速度的最大值和最小值,每采樣50次更新一次。平均值(Max + Min)/2稱(chēng)為“動(dòng)態(tài)閾值”。接下來(lái)的50次采樣利用此閾值判斷個(gè)體是否邁出步伐。由于此閾值每50次采樣更新一次,因此它是動(dòng)態(tài)的。這種選擇具有自適應(yīng)性,并且足夠快。除動(dòng)態(tài)閾值外,還利用動(dòng)態(tài)精度來(lái)執(zhí)行進(jìn)一步濾波,如圖6所示。
1.006.jpg (18.23 KB, 下載次數(shù): 134)
下載附件
2017-6-14 19:04 上傳
圖6. 動(dòng)態(tài)閾值和動(dòng)態(tài)精度 利用一個(gè)線(xiàn)性移位寄存器和動(dòng)態(tài)閾值判斷個(gè)體是否有效地邁出一步。該線(xiàn)性移位寄存器含有2個(gè)寄存器:sample_new寄存器和sample_old寄存器。這些寄存器中的數(shù)據(jù)分別稱(chēng)為sample_new和sample_old。當(dāng)新采樣數(shù)據(jù)到來(lái)時(shí),sample_new無(wú)條件移入sample_old寄存器。然而,sample_result是否移入sample_new寄存器取決于下述條件:如果加速度變化大于預(yù)定義精度,則最新的采樣結(jié)果sample_result移入sample_new寄存器,否則sample_new寄存器保持不變。因此,移位寄存器組可以消除高頻噪聲,從而保證結(jié)果更加精確。 步伐邁出的條件定義為:當(dāng)加速度曲線(xiàn)跨過(guò)動(dòng)態(tài)閾值下方時(shí),加速度曲線(xiàn)的斜率為負(fù)值(sample_new < sample_old)。 . 峰值檢測(cè):步伐計(jì)數(shù)器根據(jù)x、y、z三軸中加速度變化最大的一個(gè)軸計(jì)算步數(shù)。如果加速度變化太小,步伐計(jì)數(shù)器將忽略。 步伐計(jì)數(shù)器利用此算法可以很好地工作,但有時(shí)顯得太敏感。當(dāng)計(jì)步器因?yàn)椴叫谢蚺懿街獾脑蚨浅Q杆倩蚍浅>徛卣駝?dòng)時(shí),步伐計(jì)數(shù)器也會(huì)認(rèn)為它是步伐。為了找到真正的有節(jié)奏的步伐,必須排除這種無(wú)效振動(dòng)。利用“時(shí)間窗口”和“計(jì)數(shù)規(guī)則”可以解決這個(gè)問(wèn)題。 “時(shí)間窗口”用于排除無(wú)效振動(dòng)。假設(shè)人們最快的跑步速度為每秒5步,最慢的步行速度為每2秒1步。這樣,兩個(gè)有效步伐的時(shí)間間隔在時(shí)間窗口[0.2 s - 2.0 s]之內(nèi),時(shí)間間隔超出該時(shí)間窗口的所有步伐都應(yīng)被排除。 ADXL345的用戶(hù)可選輸出數(shù)據(jù)速率特性有助于實(shí)現(xiàn)時(shí)間窗口。表1列出了TA = 25°C, VS = 2.5 V, and VDD I/O = 1.8 V時(shí)的可配置數(shù)據(jù)速率(以及功耗)。
|