本發(fā)明涉及一種濾波方法,特別是一種電子羅盤階躍時平滑濾波的方法。
背景技術:
手機端幫助用戶查找附近位置的商戶信息應用,從電子羅盤采集到位置(角度)數(shù)據(jù)后,發(fā)送給平臺;平臺查找其附近商戶信息后,再返回給手機端的應用;手機端的應用將商戶信息展示出來。由于電子羅盤在實際使用中返回的數(shù)據(jù)(即手機的朝向與正北方的角度)并不是平滑的,常伴有各種干擾噪聲(如周圍磁場的干擾),使得我們獲取的數(shù)據(jù)變得不穩(wěn)定,從而產(chǎn)生抖動。
眾所周知,一個圓周的角度可以取0到360度,而電子羅盤返回的數(shù)據(jù)也只能在這個范圍內(nèi),故每當電子羅盤的數(shù)據(jù)達到360度時就會產(chǎn)生階躍,跳變?yōu)?度。然而對于電子羅盤數(shù)據(jù)在0度附近會發(fā)生階躍的情況,通常的濾波器都無法處理。因為角度從360跳變?yōu)?,其物理意義并沒有發(fā)生改變,指向的是同一個方向,是平滑的——而在數(shù)值上卻發(fā)生了巨大的變化。如果用濾波器直接處理,結果會從360逐漸減小到0,而期間物理性質(zhì)會發(fā)生連續(xù)改變。例如:對電子羅盤數(shù)據(jù)直接濾波,當角度在0(360)度附近來回晃動時,濾波后得到的角度會產(chǎn)生劇烈的抖動。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題是提供一種電子羅盤階躍時平滑濾波的方法,解決現(xiàn)有技術電子羅盤發(fā)生階躍時,無法濾波,或者直接進行濾波后得到的角度抖動的問題。
為解決上述技術問題,本發(fā)明所采用的技術方案是:
一種電子羅盤階躍時平滑濾波的方法,其特征在于包含以下步驟:
步驟一:對輸入數(shù)據(jù)預處理,使之在階躍點處附近的數(shù)據(jù)變?yōu)檫B續(xù);
步驟二:對接收到的數(shù)據(jù)做濾波處理,得到濾波器的濾波結果;
步驟三:將濾波的結果變回0到360度區(qū)間。
進一步地,所述步驟一具體為,對于每一個接收到的新數(shù)據(jù)f(tn),都轉(zhuǎn)換為連續(xù)函數(shù)對應的數(shù)值f(tn),轉(zhuǎn)換公式為
f(tn)=f(tn)-knt
其中,t是圓周周期360,
k0=0
進一步地,所述f(tn)公式,通過比較前后兩次傳入的數(shù)據(jù)之差是否大于350度判斷是否發(fā)生階躍。
進一步地,所述步驟三中將濾波的結果變回0到360度區(qū)間通過不斷加/減360度實現(xiàn)。
進一步地,所述步驟三中將濾波的結果變回0到360度區(qū)間通過對360度取模實現(xiàn)。
本發(fā)明與現(xiàn)有技術相比,具有以下優(yōu)點和效果:本發(fā)明解決了現(xiàn)有技術電子羅盤發(fā)生階躍時,無法濾波,或者直接進行濾波后得到的角度抖動的問題,降低了噪聲的影響。
附圖說明
具體實施方式
下面通過實施例對本發(fā)明作進一步的詳細說明,以下實施例是對本發(fā)明的解釋而本發(fā)明并不局限于以下實施例。
實施例1:
本發(fā)明的一種電子羅盤階躍時平滑濾波的方法,包含以下步驟:
步驟一:對輸入數(shù)據(jù)預處理,使之在階躍點處附近的數(shù)據(jù)變?yōu)檫B續(xù);
對于每一個接收到的新數(shù)據(jù)f(tn),都轉(zhuǎn)換為連續(xù)函數(shù)對應的數(shù)值f(tn),轉(zhuǎn)換公式為
f(tn)=f(tn)-knt
其中,t是圓周周期360,
k0=0
上述公式,通過比較前后兩次傳入的數(shù)據(jù)之差是否大于350度判斷是否發(fā)生階躍。
步驟二:對接收到的數(shù)據(jù)做濾波處理,得到濾波器的濾波結果;
步驟三:將濾波的結果變回0到360度區(qū)間,通過不斷加/減360度實現(xiàn)。
實施例2:
步驟一:對輸入數(shù)據(jù)預處理,使之在階躍點處附近的數(shù)據(jù)變?yōu)檫B續(xù);
對于每一個接收到的新數(shù)據(jù)f(tn),都轉(zhuǎn)換為連續(xù)函數(shù)對應的數(shù)值f(tn),轉(zhuǎn)換公式為
f(tn)=f(tn)-knt
其中,t是圓周周期360,
k0=0
上述公式,通過比較前后兩次傳入的數(shù)據(jù)之差是否大于350度判斷是否發(fā)生階躍。
步驟二:對接收到的數(shù)據(jù)做濾波處理,得到濾波器的濾波結果;
步驟三:將濾波的結果變回0到360度區(qū)間,通過對360度取模實現(xiàn)。
本發(fā)明降低了噪聲的影響,在數(shù)據(jù)階躍時,很快解決了無法進行濾波,或者濾波后的數(shù)據(jù)抖動問題。
本說明書中所描述的以上內(nèi)容僅僅是對本發(fā)明所作的舉例說明。本發(fā)明所屬技術領域的技術人員可以對所描述的具體實施例做各種修改或補充或采用類似的方式替代,只要不偏離本發(fā)明說明書的內(nèi)容或者超越本權利要求書所定義的范圍,均應屬于本發(fā)明的保護范圍。