當前位置: 首頁 > 傳感測量產(chǎn)品 > 工業(yè)傳感器 > 加速度傳感器
發(fā)布日期:2022-10-09 點擊率:81

案例程序
本案例學(xué)習(xí)通過捕獲來自移動設(shè)備的加速度數(shù)據(jù)來計算步數(shù)-MATLAB&Simulink
Counting Steps by Capturing Acceleration Data from Your Mobile Device數(shù)據(jù)獲取
一種是直接采用手機的加速度信號。運行matlab moble ,現(xiàn)在好像不支持直接發(fā)給傳感器數(shù)據(jù)給電腦MATLAB,不過可以記錄一段數(shù)據(jù)上傳到MATLAB Drive云盤中,然后在電腦中下載調(diào)用傳感器數(shù)據(jù)。具體可以參考MATLAB使用Apple或Android移動設(shè)備上的加速數(shù)據(jù)計算步數(shù)
Count steps with acceleration data from your Apple or Android mobile device
另一種是采用慣性測量單位(IMU)數(shù)據(jù)獲取,比如藍牙加速度傳感器MPU-9250,這是一種九軸傳感器,可以測量三軸加速度,三軸加速度,三軸磁場。關(guān)于數(shù)據(jù)格式問題:
A=importdata('Data.xlsx')
% TSV:tab separated values;即“制表符分隔值”
% CSV: comma separated values;即“逗號分隔值”
CSV格式xlsx格式MATLAB可以直接讀取,把TSV文件用Excle打開,另存為xlsx格式。
加速度曲線,角速度曲線,角度曲線,溫度曲線計步方法
計步方法主要判斷三軸加速度數(shù)據(jù),首先將矢量數(shù)據(jù)轉(zhuǎn)換為標量,然后減去重力,或者減去加速度平均值。
accelScalar=sqrt(sum(accelVector.^2, 2));%創(chuàng)建一個矩陣并計算每行中元素的總和。
accelScalarNoGravity=accelScalar - 1;
一種計步方法假設(shè)每當加速度從負值變?yōu)檎禃r,我們都要計算一個步驟。
aboveZero=accelScalarNoGravity > 0;
zeroCrossing=diff(aboveZero)==1;%計算元素之間的差分
zeroCrossingIndex=find(zeroCrossing);%查找非零元素的索引和值
% 步數(shù)等于零交叉事件的數(shù)目
numberOfSteps=numel(zeroCrossingIndex)計步31次,有些噪聲數(shù)據(jù)也被記為步數(shù)了
另一種采取的步驟數(shù)就是找到的峰數(shù),峰值位置可以通過加速度大小數(shù)據(jù)可視化。findpeaks是Signal Processing Toolbox的一項功能,用于查找加速度幅值數(shù)據(jù)的局部最大值。僅將最小高度超過一個標準偏差的峰視為臺階。該閾值應(yīng)通過實驗進行調(diào)整,以匹配人在行走時的運動水平,地板的硬度等。
minPeakHeight=std(accelScalarNoG);%標準差
[pks,locs]=findpeaks(accelScalarNoG,'MINPEAKHEIGHT',minPeakHeight);%檢測大于標準差的峰值
numSteps=numel(pks);% 步數(shù)等于峰數(shù)計步18次,噪聲數(shù)據(jù)通過設(shè)置標準差閾值被排除了
原標題:加速度傳感器計步原理
隨著人們越來越注重日常鍛煉,計步作為一種有效記錄鍛煉的監(jiān)控手段,被廣泛應(yīng)用于移動終端及智能穿戴設(shè)備中。
目前,市面上的計步器主要分為兩大類:機械式計步器和電子計步器。其中,機械式計步器主要通過感應(yīng)手臂或腰部的抖動來計步。
機械式計步器通常設(shè)有一個運動門限,當運動的加速度大于這個門限則能夠被內(nèi)部的機械裝置感應(yīng)到,進而開始計步。
由于運動門限不可調(diào),機械式計步器在某些情況下無法計步,如走路較慢時手臂甩動幅度較小,不會產(chǎn)生計步。
另外,非走路狀態(tài)下運動幅度大也會產(chǎn)生計步,如抬手撓頭等動作會產(chǎn)生誤計。
電子計步器通常內(nèi)置一個加速度傳感器(Accelerometer)和一個運算單元(MCU),通過加速度傳感器感應(yīng)用戶的加速度變化,然后通過MCU來估算行走的步數(shù)。
電子式計步器通常采用三軸加速度傳感器,可以感應(yīng)用戶在三維方向上的運動,且內(nèi)置較為復(fù)雜的計步算法。相對于機械式計步器,電子計步器計步精度更高,抗干擾能力更強。
目前智能手機和某些非智能手機都內(nèi)置了加速度傳感器,只需要增加相應(yīng)的軟件即可實現(xiàn)計步,無需增加硬件成本。
智能手表,智能手環(huán)類產(chǎn)品也都內(nèi)置加速度傳感器和計步算法,方便用戶監(jiān)控自己的運動量。以iOS設(shè)備為例,其三軸加速度傳感器的正方向如下圖所示。
iOS設(shè)備的三軸加速度傳感器
一. 模型特征
以放置在手腕處的加速度傳感器為例。用戶在水平步行運動中,手腕處的加速度會收到重力加速度和甩手加速度的雙重影響。
如下圖所示,紅色箭頭表示重力加速度,綠色箭頭表示甩手加速度。
在步行過程中,重力加速度始終垂直與大地,甩手動作帶來的加速度呈周期性變化。
反映到圖表中,可以看到,在步行運動中,垂直和前進產(chǎn)生的加速度與時間大致為一個周期性信號。
通過對軌跡的峰值進行檢測計算和加速度閥值決策,即可實時計算用戶運動的步數(shù),還可依此進一步估算用戶步行距離。
二.計步算法
計步算法可以分為四大類,一是峰值檢測算法,二是變換域算法,如FFT,三是濾波算法,四是模式識別算法。
根據(jù)所設(shè)計的計步器在人體上布放的位置不同,如腕部、腰部、鞋底等,可以選擇不同的計步算法。
峰值檢測類算法原理簡單,易于實現(xiàn),應(yīng)用較為廣泛。這里簡單介紹峰值檢測類算法。
用戶在運動中,可能把設(shè)備放置于口袋或者包中,亦或拿在手中。所以設(shè)備的放置方向不確定。
那么首先,我們通過計算三個加速度的矢量長度,可以獲得一條步行運動的正弦曲線軌跡。
第二步就是峰值檢測,我們記錄了上次矢量長度和運動方向,通過矢量長度的變化,可以判斷當前加速度的方向,并和上一次保存的加速度方向進行比較。
如果是相反的,即是剛過峰值狀態(tài),則進入計步邏輯進行計步,否則就舍棄這段。通過對峰值次數(shù)的累加,那我們就可得計算得到用戶步行的步數(shù)。
最后,就是去噪音(干擾)。手機或智能手表等手持設(shè)備會有一些低幅度和快速的抽動狀態(tài),即我們俗稱的手抖,或者某個用戶想通過短時快速反復(fù)搖動設(shè)備來模擬人走路,這些干擾數(shù)據(jù)如果不剔除,會影響記步的準確值,對于這種干擾,我們可以通過給檢測加上閥值和步頻判斷來過濾。
目前人類最快的跑步頻率為5HZ(當然不排除人類借助其它設(shè)備跑步頻率超過這個頻率),也就是說相鄰兩步的時間間隔的至少大于0.2秒,如圖中的計步時間,若兩次計步之間的時間間隔小于0.2秒,則不計步。
這樣我們就過濾了高頻噪聲,即步頻過快的情況。同時我們通過和上次加速度大小進行比較,設(shè)置一定的閥值Threshold來判斷運動是否屬于有效(如圖中的綠線),有效運動才可進行記步。
三.計步器的擴展
上面的例子是一個依靠加速度測算的計步器實現(xiàn)原理,已知步行和跑步的步數(shù),那么再通過人體身高,體重及性別就可以大致知道此人的步長,改進后即可變成一個測距離及測速計。
通過三軸加速度傳感器,我們可以知道用戶的運動狀態(tài)。除了計步,還可以利用加速度傳感器與陀螺儀及磁傳感器融合進行步行航跡推算(PDR)。返回搜狐,查看更多
責(zé)任編輯:
如今,每個人都非常關(guān)注健康。而運動正是健康最重要的手段。不管是出門佩戴手環(huán)、計步器,還是拿手機,記錄自己行走的步數(shù),已經(jīng)是很多人的生活習(xí)慣了。可是,計步器到底是怎么工作的呢?是怎么知道我們每天走了多少步的呢?
三軸加速度傳感器能測量手機或手環(huán)在三個不同的方向上的加速度。資料圖
中國電子科學(xué)研究院工程師廖勇介紹說,最開始的計步器是機械式的,原理其實很簡單,就跟擺錘一樣的。因為人在走路的時候是會把那個擺錘帶著在動,它動一下基本上就是人在走一步,然后擺錘動一下,和金屬接觸通電,就記了一步。現(xiàn)在流行的智能手環(huán)和手機里,則一般采用的是三軸加速度傳感器,通過加速度傳感器,能夠測量手機或手環(huán)在三個不同的方向上的加速度,然后通過這個加速度的值進行一些算法運算,隨后經(jīng)過統(tǒng)計,便可知曉大概的走路步數(shù)。
那么,加速度傳感器是如何具體知道我們走路的步數(shù)的呢?
廖勇說,有一種特殊的材料,叫壓電陶瓷材料,根據(jù)作用在上面的力的大小產(chǎn)生不同的形變,就可以產(chǎn)生不同的電壓的變化,就可以通過作用在上面的力來測量出加速度,然后通過加速度判斷出這個人是走路的時候,他在哪個方向進行運動,或頻率大概是多少。
村田VTI加速度傳感器產(chǎn)品
可是,我們知道,如果用手搖晃手機,也會產(chǎn)生加速度。對此,傳感器是如何分辨手晃和走路的區(qū)別的呢?
廖勇說,人在走路時,頻率一定是在某一個范圍之內(nèi),比如一秒鐘跨出多少步,或一分鐘只能走出多遠。如果人的手拿著手機在晃的話,首先晃的頻率會非常快,其次人在拿手機晃的時候,加速度變化比人在走路時的加速度變化要大的多。通過這兩個方面,基本上就能夠判斷出來到底是人拿著手機在晃,還是真正的一個人在走。
專家還表示,其實計步功能只是加速度傳感器的一部分應(yīng)用。在車輛安全、橋梁健康等方面,加速度傳感器都有著非常重要的作用。
汽車安全氣囊測試,資料圖
比如,車上的安全氣囊為什么會彈起來呢?車開到一定的速度之上然后突然停下來,安全氣囊就會彈出來,這實際上是有一個加速度傳感器在測量車在前進的方向負加速度,或者說,從很快的速度突然變得停下來,一個量的變化,來判斷說現(xiàn)在應(yīng)不應(yīng)該把安全氣囊彈出來。
再比如,加速度傳感器在橋梁健康監(jiān)測中的應(yīng)用。雖然橋梁看起來是硬的,但實際上橋梁還是會有一些形變的,但是每個橋梁的變化無法以某一個頻率來發(fā)生振動,因為它如果是產(chǎn)生跟這個橋梁的固有頻率產(chǎn)生共振,會對橋梁的結(jié)構(gòu)健康產(chǎn)生影響。所以就可以在橋梁地面上,設(shè)置一些加速度傳感器來測量橋梁的振動,然后能夠判斷出振動是不是在可允許的范圍內(nèi)。
傳感器技術(shù)與計算機技術(shù),通信技術(shù)并稱為現(xiàn)代信息技術(shù)的三大支柱。航天運載火箭上,采用的傳感器達2000多個;一架民航客機所用的傳感器也有上千個。可以說,任何自動控制裝置和系統(tǒng)都離不開傳感器技術(shù)。
文章來源:傳感器專家網(wǎng)
描述
計步器是一種日常鍛煉進度監(jiān)控器,可以計算人們行走的步數(shù),估計行走距離、消耗的卡路里,方便人們隨時監(jiān)控自己的健身強度、運動水平和新陳代謝。早期的機械式計步器利用人走動時產(chǎn)生的振動觸發(fā)機械開關(guān)檢測步伐,雖然成本低,但是準確度和靈敏度都很低,體積較大,且不利于系統(tǒng)集成。
隨著MEMS 技術(shù)的發(fā)展,基于MEMS 技術(shù)的慣性傳感器得到迅速發(fā)展,其具有價格低、體積小、功耗低、精度高的特點,利用MEMS 加速度傳感器設(shè)計的電子計步器,通過測量人體行走時的加速度信息,經(jīng)過軟件算法計算步伐,可以克服機械式計步器準確度和靈敏度低的缺點,可準確地檢測步伐,同時還可以輸出運動狀態(tài)的實時數(shù)據(jù),對運動數(shù)據(jù)進行采集和分析。
1 人體運動模型
通過步態(tài)加速度信號提取人步行的特征參數(shù)是一種簡便、可行的步態(tài)分析方法。行走運動包括3 個分量,分別是前向、側(cè)向以及垂直向,如圖1 所示。LIS3DH 是一種三軸( X,Y,Z 軸) 的數(shù)字輸出加速度器,可以與運動的3 個方向相對應(yīng)。
行走運動分量在一個步伐,即一個邁步周期中加速度變化規(guī)律如圖2 所示,腳蹬地離開地面是一步的開始,此時,由于地面的反作用力垂直加速度開始增大,身體重心上移,當腳達到最高位置時,垂直加速度達到最大,然后腳向下運動,垂直加速度開始減小,直至腳著地,加速度減至最小值,接著下一次邁步發(fā)生。前向加速度由腳與地面的摩擦力產(chǎn)生的,因此,雙腳觸地時增大,在一腳離地時減小。
圖3 為一次步行實驗中,LIS3DH 檢測到的X,Y,Z 軸的加速度變化情況。可以看出: Z 軸加速度數(shù)據(jù)( 人行走的豎直方向) 具有明顯的周期性,加速度值最小處對應(yīng)的是腳離開地面( 一步的開始或結(jié)束) ,最大值對應(yīng)腳抬到最高點。
在具體使用時,手持設(shè)備的放置情況是隨意的,加速度計的3 個軸有可能不與人體模型定義的3 個軸向重合,文中提到利用加速度的峰—峰值來判斷加速輸出最大的一軸作為有效軸。但這種方法易丟失計數(shù)點,使計數(shù)不夠準確。為了充分利用加速度傳感器輸出的三軸信號,本文將加速度信號進行取模求和后用來計步。
2 算法設(shè)計
由圖3 可知,Z 向加速度計原始輸出雖然具有一定的周期性,但由于噪聲導(dǎo)致變化復(fù)雜,不易于直接進行計步,需對信號進行濾波,盡可能消除噪聲影響。通常情況下,人的步頻最快不會超過5 steps /s,最慢為0.5 steps /s。因此,可以認為原始信號中頻率為0. 5 ~ 5 Hz 的信號為有用信號,其他信號均為噪聲。可以用( FFT) 濾波實現(xiàn)保留部分頻率信息的要求,提取有用信息。但正常行走的任一段時間內(nèi),步頻的變化都會集中在峰值頻率附近的一個小范圍內(nèi),而不是0. 5~ 5 Hz 這么大,所以,本文經(jīng)過分析大量實驗數(shù)據(jù)的頻譜,建立了一個比0. 5 ~ 5 Hz 小的自適應(yīng)頻率范圍( f1,f2) ( 如圖4 所示) ,通過FFT 保留該頻率范圍內(nèi)的有用信號,去除范圍外的無用信息。
經(jīng)實驗驗證利用該動態(tài)頻率范圍能更好地去除噪聲對步數(shù)判斷的影響,如圖5( a) 和( b) 所示。圖5 ( a) 是利用FFT 濾波和動態(tài)頻率范圍對原始加速度信號濾波后的加速度變化曲線,圖5( b) 是直接利用FFT 濾波與0. 5 ~ 5 Hz 的頻率范圍對原始加速度濾波后的加速度變化曲線。
由圖5 可以看出: 圖5( a) 中部分噪聲還不能消除,存在多峰值的情況,而計步圖5( b) 中加速度曲線較平滑,加速度的周期性化趨勢已非常明顯,變換規(guī)律也比較簡單,可利用軟件算法實現(xiàn)計步,停止時加速度雖仍有一定的輸出,但其峰值明顯小于行走時加速度峰值,因此,可通過限定加速度的大小去除影響。對行走時加速度變化曲線進行分析,可以看出在一定時間間隔內(nèi)會有一個加速度波谷( 圖中的1 ~ 4 點) 和加速度最小的時刻( 對應(yīng)腳落下或者抬起) ,當腳抬起來的時候( “起點”) ,身體重心上移,加速度也變大,加速度曲線中波峰對應(yīng)的是人腳抬至最高處,再到下一個波谷,這就是一個完整的步伐。此外,計步器因步行之外的原因而迅速或緩慢振動時,也會被計數(shù)器誤認為是步伐。在步行時,速度快時一個步伐所占的時間間隔長,走的慢時時間間隔短,但都應(yīng)在動態(tài)頻率范圍確定時間窗口內(nèi),所以,利用這個時間窗口就可以有效地減小無效振動對步頻判斷造成的影響。基于以上分析,可以確定邁步周期中加速度變化情況應(yīng)具備以下特點
(1)一個邁步周期中僅出現(xiàn)一次加速度極大值、極小值,有一個上升區(qū)間和下降區(qū)間; (2)一個單調(diào)區(qū)間對應(yīng)邁步周期的50 %,因而,時間間隔應(yīng)該在1 /2 個時間窗口之間; (3)行走時,加速度極大值與極小值是交替出現(xiàn)的,且其差的絕對值不小于預(yù)設(shè)的閾值1。根據(jù)以上三點對加速度變化區(qū)間進行約束,認為同時滿足以上三點變化區(qū)間對應(yīng)半個步伐。具體流程圖如圖6所示。
3 硬件實現(xiàn)
圖7 所示為系統(tǒng)的硬件結(jié)構(gòu)框圖。本文中選用的加速度傳感器LIS3DH 輸出數(shù)字信號,所以,采樣得到的數(shù)據(jù)不必再專門選用芯片來做模數(shù)轉(zhuǎn)換。傳感器和控制模塊接口為SPI 總線或者I2C 總線。加速度傳感器LIS3DH,有X,Y,Z 三個自由度的加速度數(shù)字輸出,可以全方位感知人體行走運動信息; 控制模塊由LCD[5]顯示模塊、微控制器MC9S12XS128[6]、鍵盤和電源組成,用來讀取加速度信息,并將算法處理得到計步數(shù)值顯示在液晶顯示屏上。
為了檢驗計步器的精度和適應(yīng)能力,在加速度計Z 軸朝上的情況下從較慢步頻、正常步頻、較快步頻3 個方面進行測試,分別進行2 組實驗,每次實驗行走100 步。計步器測試結(jié)果見表1。
4 結(jié)論
加速度傳感器LIS3DH 采用3mm × 3mm × 1mm 的小尺寸封裝,大大減小了整個系統(tǒng)的尺寸,可以很方便地移植到如手機、遙控器以及游戲機這些有運動感應(yīng)功能,而空間和功耗有嚴格限制的設(shè)計中; 由于具有三軸數(shù)字輸出功能,用戶可以將計步器戴在身上任何部位。該計步系統(tǒng)可以較好地適應(yīng)不同步頻情況,計步精度高,穩(wěn)定性好。
打開APP閱讀更多精彩內(nèi)容
下一篇: PLC、DCS、FCS三大控
上一篇: 電氣控制線路圖控制原