在生活中,我們經常為了炫耀每天的鍛煉成果,會用搖手機的方式來增加步數。當我們搖晃手機的時候也會產生加速度,那么傳感器的數據能夠區分出來嗎?人走路的時候頻率一定是在某一個范圍之內的,比方說一秒鐘走出了多少步,或者說一分鐘只能走出多遠,如果人拿著手機晃的頻率非常的快,那么這個數據會被算法中的數字濾波器濾除。如果幾乎一致呢?那就沒有辦法區分了。講了這么多,就是為了引出一個基本知識:加速度數據中涉及的濾波器的帶寬是多少呢?如何設定呢?
我一般采用函數firpm來生成濾波器的系數!當然也可以采用fir1函數來進行設計。firpm的介紹請見matlab的官方技術文檔。以實例說明一下firpm的用法。
f = [0 0.3 0.4 0.6 0.7 1.0];
a = [0 1.0 0.0 0.0 0.5 0.5];
b = firpm(50,f,a);
[h,w] = freqz(b,1,512);
plot(f,a)
hold on
plot(w/pi,abs(h))
legend('Ideal','firpm Design')
xlabel([ 'Radian Frequency', ' w/pi'])
ylabel('Magnitude')
提問:可否用此函數設計點陷濾波器呢?
當然可以!!!
寫到這,有必要回顧一下相關的理論知識!
firpm函數實現Parks-McClellan算法,該算法使用Remez交換算法和Chebyshev逼近理論來設計在指定頻率響應和實際頻率響應之間具有最佳擬合的濾波器。
這種濾波器可最小化指定頻率響應和實際頻率響應之間的最大誤差,從這種意義上而言,它們是最優的濾波器;它們有時被稱為minimax濾波器。以這種方式設計的濾波器在頻率響應方面表現出等波紋特性,因此也稱為等波紋濾波器。Parks-McClellan FIR 濾波器設計算法可能是最流行和最廣泛使用的FIR濾波器設計方法。
fir1函數采用的是窗函數設計法,這里就不再贅述了。本公眾號里面有大學課程《數字信號處理》,里面進行了詳細的講解。
一起來看看算法程序吧!這里展示的是計步功能,后續的文章將展示計步和心率檢測結合的算法!為什么要結合?模式識別是心率算法的前提!程序涉及的數據采集文件已經上傳到網盤,本系列文章中會多次給出下載鏈接!
責任編輯:haq
-
仿真
+關注
關注
50文章
4124瀏覽量
133866 -
信號
+關注
關注
11文章
2804瀏覽量
77006 -
智能手表
+關注
關注
36文章
3299瀏覽量
114576
原文標題:數字信號處理之信號處理仿真 第六章 智能手環之技術應用(4)—計步算法
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論