劉 英, 張嘉易, 郝永平, 孫 林, 張繼發(fā)
(1.沈陽(yáng)理工大學(xué) 現(xiàn)代教育技術(shù)中心,遼寧 沈陽(yáng) 110159; 2.沈陽(yáng)理工大學(xué) CAD/CAM研究中心,遼寧 沈陽(yáng) 110159)
在利用磁阻傳感器進(jìn)行導(dǎo)航的技術(shù)中,需要對(duì)受到干擾的采樣信號(hào)進(jìn)行實(shí)時(shí)處理。目前,國(guó)內(nèi)應(yīng)用磁阻傳感器測(cè)姿進(jìn)行了許多研究工作,如:針對(duì)地磁測(cè)量信號(hào)中含有的噪聲特點(diǎn),提出了將形態(tài)濾波與Hilbert-Huang變換結(jié)合起來(lái),先低通濾波,再重構(gòu)的方法[1];應(yīng)用三維磁阻傳感器采集地球三維磁場(chǎng)強(qiáng)度進(jìn)行導(dǎo)航的方法[2];在保證旋轉(zhuǎn)體制導(dǎo)方式高度自主的前提下引入了地磁信息,研究適用于大動(dòng)態(tài)范圍的旋轉(zhuǎn)彈姿態(tài)測(cè)量算法[3]。在地磁信號(hào)處理中,均值濾波和中值濾波均為非常重要的濾波器,具有廣泛的應(yīng)用。如:利用包絡(luò)均值濾波算法實(shí)時(shí)檢測(cè)微弱信號(hào)[4];野外探測(cè)數(shù)據(jù)易受多種干擾影響,采用均值濾波和小波變換處理,可獲得平滑的規(guī)律曲線[5]。但目前關(guān)于利用低成本單軸磁阻器件解算旋轉(zhuǎn)體轉(zhuǎn)角及轉(zhuǎn)速的研究較少。
低成本地磁器件輸出信號(hào)精度差,器件間電壓幅值偏差較大,利用高斯公式解算旋轉(zhuǎn)體轉(zhuǎn)角會(huì)產(chǎn)生很大誤差,導(dǎo)致部分象限無(wú)角度值。對(duì)環(huán)境干擾特別敏感,使部分采樣點(diǎn)數(shù)據(jù)失真,有時(shí)產(chǎn)生采樣電壓在0~3.3 V的兩端截止等現(xiàn)象。針對(duì)該低成本器件組成的處理系統(tǒng),采用常規(guī)多軸采樣信號(hào)解算旋轉(zhuǎn)體對(duì)地轉(zhuǎn)速、轉(zhuǎn)角具有計(jì)算速度、內(nèi)存等限制,難于實(shí)現(xiàn)。
本文提出了一種基于低成本單軸地磁基本采樣信息直接解算旋轉(zhuǎn)體對(duì)地轉(zhuǎn)速、轉(zhuǎn)角的新方法。采用單軸地磁傳感器TMR2103檢測(cè)旋轉(zhuǎn)體地磁信息,利用STM32單片機(jī)進(jìn)行信號(hào)處理與實(shí)時(shí)解算。該方法在均值去噪的基礎(chǔ)上,直接進(jìn)行采樣數(shù)據(jù)的零點(diǎn)和周期實(shí)時(shí)解算,實(shí)現(xiàn)對(duì)旋轉(zhuǎn)體滾轉(zhuǎn)角實(shí)時(shí)預(yù)測(cè),并分析了非勻速旋轉(zhuǎn)體采樣信號(hào)的變周期處理方法。
單軸地磁傳感器旋轉(zhuǎn)體對(duì)地轉(zhuǎn)速、轉(zhuǎn)角測(cè)量機(jī)構(gòu)原理如圖1(a)所示,圖1(b)為測(cè)量機(jī)構(gòu)實(shí)驗(yàn)裝置,電機(jī)產(chǎn)生旋轉(zhuǎn)運(yùn)動(dòng)力矩通過(guò)聯(lián)軸器帶動(dòng)滑環(huán)和旋轉(zhuǎn)體一起轉(zhuǎn)動(dòng),定角度套筒選擇某一測(cè)量角度固定不動(dòng),旋轉(zhuǎn)體通過(guò)光電傳感器反饋固定角取值脈沖。旋轉(zhuǎn)體內(nèi)部的單軸地磁傳感器測(cè)量地磁信號(hào),通過(guò)單片機(jī)進(jìn)行實(shí)時(shí)角度解算,當(dāng)光電傳感器反饋固定角取值脈沖為上升沿時(shí)返回旋轉(zhuǎn)體解算角度,保存于STM32地址內(nèi)存中,在連續(xù)測(cè)量過(guò)程中通過(guò)滑環(huán)信號(hào)線實(shí)時(shí)讀取地磁測(cè)量解算角度值。
圖1 測(cè)量機(jī)構(gòu)
采用均值濾波去除干擾信號(hào),并對(duì)均值濾波進(jìn)行了改進(jìn),在此基礎(chǔ)上,實(shí)時(shí)計(jì)算采樣信號(hào)均值線、均值點(diǎn)及角度零點(diǎn),從而確定地磁信號(hào)周期,預(yù)測(cè)下個(gè)信號(hào)的角度值。
傳統(tǒng)的均值濾波算法較占內(nèi)存,且運(yùn)算效率低。因此,采用少量數(shù)組X1[i](i≤10)和數(shù)組序號(hào)i進(jìn)行濾波累加運(yùn)算。
2.1.1 信號(hào)有效值確定及初始濾波
由旋轉(zhuǎn)體采樣特性推知,最高轉(zhuǎn)速20 000 r/min時(shí),采樣數(shù)m>400。如圖2所示,地磁信號(hào)近似正弦信號(hào),可表示為f(t)=Asint+g(t),其中,t為采樣時(shí)間,A為理論地磁信號(hào)電壓幅值 3.3 V,g(t)為隨機(jī)干擾信號(hào)。無(wú)干擾情況下f(t)=Asint,兩采樣點(diǎn)間的電壓最大差值ΔVmax,即df(t)/dt極大值,可由f(t)=Asint=0求得t=kπ時(shí)電壓差為最大值ΔVmax,對(duì)于離散形數(shù)字信號(hào)有
ΔVmax=A(sin(kπ+Δt)-sinkπ)=Asin Δt
(1)
圖2 地磁信號(hào)
由采樣數(shù)m>400知,ΔVmax=Asin Δt S=∑X1[i],1≤i≤10,U=S/N (2) S初值為0,每加一點(diǎn)i=i+1,計(jì)算兩點(diǎn)差值D1[i]=|X1[i]-X1[i-1]|。將初始的10點(diǎn)中,除第一點(diǎn)外,滿(mǎn)足D1[i]>ΔVmax且D1[i-1]>ΔVmax的點(diǎn)X1[i-1]值修改為臨近點(diǎn)值后計(jì)算均值U,令i=1逐點(diǎn)推進(jìn)均值計(jì)算。逐點(diǎn)濾波有效區(qū)域值確定為 ΔV=6×ΔVmax=0.345 (3) 若下一個(gè)的地磁信號(hào)值X1[i]=f(t)與當(dāng)前均值的差值|X1[i]-U|>ΔV,則為無(wú)效信號(hào);若|X1[i]-U|<ΔV,則為有效值。 2.1.2 均值濾波 在逐點(diǎn)推進(jìn)均值算法中,每當(dāng)檢測(cè)到一個(gè)新的地磁信號(hào)f(t),首先判斷|f(t)-U|是否大于ΔV,若是,則認(rèn)為該地磁電壓失真,用前一個(gè)電壓值替換X1[i];否則,X1[i]=f(t)。以此類(lèi)推,進(jìn)行采樣信號(hào)的實(shí)時(shí)均值濾波??傮w均值濾波算法流程如圖3所示。 圖3 均值濾波算法流程 為減少內(nèi)存占用并提高逐點(diǎn)累加計(jì)算速度,初始濾波后得到第一個(gè)均值點(diǎn),令i=1,用下一個(gè)有效地磁信號(hào)替換數(shù)組X1[i]=f(t),i=i+1,以此類(lèi)推。均值計(jì)算公式可簡(jiǎn)化為 U=U+(f(t)-X1[i])/N,1≤i≤10 (4) 圖4為利用該算法獲得的濾波效果。濾波后地磁電壓信號(hào)誤差控制在了0.057 V內(nèi)。 如圖2所示,采用計(jì)算地磁信號(hào)一周期采樣點(diǎn)數(shù)T和零點(diǎn)C的解算方法實(shí)時(shí)預(yù)測(cè)旋轉(zhuǎn)體的轉(zhuǎn)速和轉(zhuǎn)角。首先,根據(jù)轉(zhuǎn)速范圍(低速500~1 500 r/min,中速1 500~6 000 r/min,高速6 000~20 000 r/min),調(diào)整采樣周期Tc使地磁信號(hào)周期采樣點(diǎn)數(shù)控制在350~1 400之間。對(duì)初始的1 500個(gè)采樣點(diǎn)進(jìn)行最高電壓Vmax和最低電壓Vmin搜索。搜索策略是通過(guò)對(duì)實(shí)時(shí)計(jì)算的逐點(diǎn)累加電壓均值U進(jìn)行對(duì)比,求得Vmax和Vmin,進(jìn)而求得均值線電壓Va=(Vmax+Vmin)/2,幅值電壓差A(yù)=Vmax-Vmin。由于地磁信號(hào)幅值是變化的,因此,在整個(gè)解算過(guò)程中Va,A的值要實(shí)時(shí)逐點(diǎn)搜索。 圖4 均值濾波效果 如圖2所示,在求得Va后,可計(jì)算上邊界電壓Vu和下邊界電壓Vd,由于采樣周期固定,因此,可用X[k]=f(t)且k=p;k∈N表示第一個(gè)搜索到的滿(mǎn)足Vd (5) 令峰值后的均值點(diǎn)C的采樣點(diǎn)坐標(biāo)為j1,谷值后的均值點(diǎn)C的采樣點(diǎn)坐標(biāo)為j2。谷線位置的采樣點(diǎn)坐標(biāo)jL為 jL=floor[(j1+j2)/2] (6) 標(biāo)定旋轉(zhuǎn)體角度時(shí),令地磁信號(hào)谷底最低點(diǎn)對(duì)應(yīng)的旋轉(zhuǎn)體角度為0°,即B為零點(diǎn)(定義為旋轉(zhuǎn)體零角度位置點(diǎn))。如圖2所示,兩個(gè)谷線之間的采樣點(diǎn)坐標(biāo)數(shù)差值等于地磁信號(hào)一周期(即旋轉(zhuǎn)體每轉(zhuǎn))采樣點(diǎn)數(shù)量T。由于采樣周期為定值,因此,對(duì)于勻速轉(zhuǎn)動(dòng)的旋轉(zhuǎn)體,可利用已計(jì)算的周期采樣點(diǎn)數(shù)T和當(dāng)前谷底零點(diǎn)坐標(biāo)jL實(shí)時(shí)解算旋轉(zhuǎn)體滾轉(zhuǎn)角度,即當(dāng)前地磁采樣信號(hào)k對(duì)應(yīng)的角度α為 (7) 為適應(yīng)周期T的實(shí)時(shí)變化和k值過(guò)大溢出,在搜索過(guò)程中每搜索過(guò)一個(gè)周期就更新T值,且令k=k-T,jL=jL-T,使0≤jL≤2T。 圖5為利用該算法獲得的濾波后地磁信號(hào)轉(zhuǎn)角解算值曲線。圖5(a)曲線為上端截止下部變形的地磁采樣信號(hào),折線為計(jì)算出的各采樣點(diǎn)角度值;圖5(b)曲線為幅值較小的地磁采樣信號(hào),折線為計(jì)算出的各采樣點(diǎn)角度值。從圖5的解算曲線結(jié)果來(lái)看,算法避免了地磁信號(hào)幅值和波形變化的影響,具有較強(qiáng)的容錯(cuò)能力。 圖5 地磁轉(zhuǎn)角解算值曲線 本文地磁采樣周期Tc為根據(jù)轉(zhuǎn)速范圍預(yù)設(shè)的固定值,所以當(dāng)計(jì)算出旋轉(zhuǎn)體每轉(zhuǎn)地磁信號(hào)采樣點(diǎn)數(shù)T時(shí),旋轉(zhuǎn)體轉(zhuǎn)速n(r/min)和ω((°)/s)由式(8)計(jì)算 (8) 旋轉(zhuǎn)體在受外力矩作用時(shí),會(huì)產(chǎn)生轉(zhuǎn)速變化。假定外力矩為勻力矩M,M在角度α內(nèi)做功Mα等于旋轉(zhuǎn)體能量變化 (9) 考慮每?jī)赊D(zhuǎn)i和i+1之間谷線位置的轉(zhuǎn)速有 (10) (11) (12) 因此,可利用已搜索出的各周期谷線位置信號(hào)周期采樣數(shù)倒數(shù)的平方差計(jì)算下一信號(hào)周期采樣點(diǎn)數(shù)Ti+1。對(duì)于變化力矩M可由式(11),利用Qi-k~Qi-1的已知數(shù)據(jù),用最小二乘法擬合Qi-k~Qi-1的規(guī)律曲線計(jì)算Qi,進(jìn)而求得Ti+1的值代入式(7)和式(8),計(jì)算當(dāng)前信號(hào)周期內(nèi)采樣點(diǎn)的轉(zhuǎn)速和轉(zhuǎn)角。 圖6為利用該算法獲得的變周期地磁信號(hào)轉(zhuǎn)角解算值曲線。曲線為變周期地磁采樣信號(hào),折曲線為計(jì)算出的各采樣點(diǎn)角度值。解算結(jié)果表明:算法可以對(duì)變周期地磁信號(hào)進(jìn)行實(shí)時(shí)角度解算。 圖6 變周期地磁信號(hào)的轉(zhuǎn)角解算 利用圖1(b)的實(shí)驗(yàn)裝置對(duì)0°,230°及260°的固定角度分2種轉(zhuǎn)速進(jìn)行實(shí)時(shí)測(cè)量與解算。當(dāng)固定套筒角度一定時(shí)(0°,230°,260°),根據(jù)轉(zhuǎn)速設(shè)定Tc= 0.106 ms;啟動(dòng)旋轉(zhuǎn)電機(jī),運(yùn)行單片機(jī)地磁信號(hào)實(shí)時(shí)角度解算程序;當(dāng)光電傳感器掃過(guò)光幕時(shí),產(chǎn)生脈沖信號(hào),根據(jù)是否產(chǎn)生中斷讀取當(dāng)前解算預(yù)測(cè)的角度值。圖7(a)和圖7(b)為旋轉(zhuǎn)體分別在1 200 r/min與1 600 r/min轉(zhuǎn)速下,固定套筒角度取0°,230°和260°時(shí),測(cè)量的旋轉(zhuǎn)體滾轉(zhuǎn)角度實(shí)時(shí)解算值曲線。 圖7 不同轉(zhuǎn)速下旋轉(zhuǎn)體滾轉(zhuǎn)角度實(shí)時(shí)解算值曲線 圖8為旋轉(zhuǎn)體分別在1 200 r/min轉(zhuǎn)速與1 600 r/min轉(zhuǎn)速下,固定套筒角度分別取0°,230°和260°時(shí),測(cè)量的旋轉(zhuǎn)體轉(zhuǎn)速實(shí)時(shí)解算值曲線。 圖8 旋轉(zhuǎn)體轉(zhuǎn)速實(shí)時(shí)解算值曲線 實(shí)驗(yàn)結(jié)果表明:方法原理可行,能夠?qū)崿F(xiàn)低成本磁阻器件的旋轉(zhuǎn)體滾轉(zhuǎn)角度和轉(zhuǎn)速的實(shí)時(shí)解算。如果采用較好的地磁器件和高速大內(nèi)存的處理器芯片,解算精度會(huì)有較大的提高。 提出了基于單軸地磁傳感器的旋轉(zhuǎn)體滾轉(zhuǎn)角與轉(zhuǎn)速的實(shí)時(shí)解算方法,實(shí)驗(yàn)分析表明:角度解算單邊誤差小于6.3°,轉(zhuǎn)速解算誤差小于0.81 %,說(shuō)明利用本文方法可以實(shí)現(xiàn)對(duì)單軸磁阻器進(jìn)行旋轉(zhuǎn)體滾轉(zhuǎn)角度和轉(zhuǎn)速的實(shí)時(shí)解算,對(duì)于降低測(cè)量成本具有實(shí)際意義。 [1] 李 季,潘孟春,唐 鶯,等.基于形態(tài)濾波和HHT的地磁信號(hào)分析與預(yù)處理[J].儀器儀表學(xué)報(bào),2012,33(10):2175-2180. [2] 李文勝,管雪元,姜博文.基于磁阻傳感器的地磁數(shù)據(jù)采集裝置[J].傳感器與微系統(tǒng),2017,36(2):104-106. [3] 李興城,牛宏宇.基于磁阻傳感器的旋轉(zhuǎn)彈姿態(tài)測(cè)量算法研究[J].計(jì)算機(jī)仿真,2012,29(5):51-54,85. [4] 葉衛(wèi)東,李行善.包絡(luò)均值濾波算法實(shí)時(shí)檢測(cè)微弱信號(hào)[J].北京航空航天大學(xué)學(xué)報(bào),2010,36(8):909-912,926. [5] 吳 巧,閆 述.均值濾波和小波變換在瞬變電磁信號(hào)處理的應(yīng)用[J].數(shù)據(jù)通信,2013(6):33-35,43.2.2 零點(diǎn)標(biāo)定及轉(zhuǎn)角和轉(zhuǎn)速解算
3 變周期處理方法分析
4 實(shí)驗(yàn)驗(yàn)證
5 結(jié)束語(yǔ)