關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于AMR和加速度傳感器的電子羅盤的抗干擾設(shè)計(jì)

基于AMR和加速度傳感器的電子羅盤的抗干擾設(shè)計(jì)

作者: 時(shí)間:2012-10-17 來(lái)源:網(wǎng)絡(luò) 收藏

3 軟件濾波算法的實(shí)現(xiàn)

3.1 軟件濾波分析

根據(jù)軟件濾波思想,濾波子程序由主程序在信號(hào)狀態(tài)發(fā)生變化,進(jìn)入中斷時(shí)調(diào)用,圖2給出了濾波程序流程。對(duì)照?qǐng)D1中4種Section來(lái)分析流程圖。當(dāng)有邊沿或干擾信號(hào)(信號(hào)周期大于計(jì)數(shù)時(shí)鐘周期)到來(lái)時(shí),VRS51L3074單片機(jī)的PWC計(jì)數(shù)停止條件滿足,系統(tǒng)進(jìn)入中斷服務(wù)子程序。在中斷子程序中,首先重置脈寬計(jì)數(shù)條件,然后對(duì)當(dāng)前狀態(tài)進(jìn)行采樣,采樣1次,狀態(tài)寄存器左移1位,采樣到高電平記為“1”,采樣到低電平記為“O”。如正常下降沿 Section B,前面處于高電平段,初始狀態(tài)變量Flag全為1,當(dāng)出現(xiàn)低電平,控制器進(jìn)入中斷,緊接著進(jìn)行16次采樣。前已提及系統(tǒng)處理的尖峰干擾約1~2 ms,每個(gè)采樣周期約為O.4 ms,其尖峰干擾脈寬達(dá)不到8個(gè)采樣周期。系統(tǒng)時(shí)采樣16次,只取最后8次的存儲(chǔ)狀態(tài)與原狀態(tài)進(jìn)行比較,如果最后采樣的狀態(tài)全為“O”則與原狀態(tài)相反,就可判斷出這是1個(gè)正常下降沿。如果是干擾信號(hào)引起計(jì)數(shù)中斷,前面8個(gè)采樣狀態(tài)不全為“1”,后面8個(gè)狀態(tài)全為“1”,最后采樣的狀態(tài)與原狀態(tài)相同,就可判斷出這是1個(gè)干擾信號(hào),如Section A。在信號(hào)狀態(tài)采樣期間,計(jì)數(shù)條件滿足PWC繼續(xù)計(jì)數(shù),直到真正的下降沿到來(lái),計(jì)數(shù)停止并保存,計(jì)數(shù)寄存器還原為初始值,這樣干擾信號(hào)即被濾除。類似地,正常上升沿Section D,存儲(chǔ)器原狀態(tài)為“O”,上升沿來(lái)臨后存儲(chǔ)器狀態(tài)為“1”,與原狀態(tài)相反,PWC計(jì)數(shù)停止并保存,計(jì)數(shù)寄存器還原為初始值,退出中斷子程序。有干擾信號(hào)出現(xiàn)后采樣狀態(tài)與原狀態(tài)相同,干擾尖峰脈沖可被濾除。如果要使脈寬計(jì)數(shù)更精確,可判斷前8個(gè)采樣周期中系統(tǒng)不正常計(jì)數(shù)的周期,然后與最終計(jì)數(shù)周期相加即可。此時(shí),程序流程體現(xiàn)出軟件濾波功能。

3.2 源程序代碼分析

對(duì)應(yīng)程序流程圖,給出了單片機(jī)通過(guò)P4.2口對(duì)ADXL202某一輸出通道采樣濾波并完成脈寬計(jì)數(shù)的源程序。源程序如下:

源程序中定義了3個(gè)變量,其中變量Flag存儲(chǔ)原狀態(tài)值;FlagReg存儲(chǔ)當(dāng)前采樣值;變量i記錄采樣次數(shù);改變i的值可控制濾除尖峰脈沖的等待時(shí)間。程序通過(guò)對(duì)原狀態(tài)與當(dāng)前采樣狀態(tài)異或之后的值來(lái)判斷當(dāng)前信號(hào)是有效信號(hào)還是干擾信號(hào),從而對(duì)上升沿、下降沿的中間過(guò)度或尖峰脈沖干擾進(jìn)行相應(yīng)處理,退出中斷子程序。實(shí)現(xiàn)了對(duì)正常信號(hào)計(jì)數(shù)、濾掉尖峰脈沖干擾的目的。

4 測(cè)試結(jié)果

由于條件限制以及干擾的隨機(jī)性,對(duì)ADXL202構(gòu)成的車載進(jìn)行的測(cè)試,無(wú)法對(duì)所測(cè)量的角度以及方向角進(jìn)行精確標(biāo)定。實(shí)驗(yàn)時(shí),通過(guò)相同條件下同一物理量多次測(cè)量值的標(biāo)準(zhǔn)差來(lái)對(duì)相應(yīng)算法進(jìn)行*估。測(cè)試結(jié)果如表1所列。

從實(shí)驗(yàn)測(cè)試的標(biāo)準(zhǔn)差可以看出,經(jīng)過(guò)軟件濾波后σ小了很多,這種軟件濾波算法對(duì)濾除尖峰脈沖干擾是非常有效的。

結(jié)語(yǔ)

本文提出的軟件濾波算法速度快,代碼效率高,濾波效果理想,是一種實(shí)用的數(shù)字濾波方法,體現(xiàn)了將算法與具體硬件相結(jié)合的思想。另一方面,當(dāng)脈沖干擾較寬時(shí)可將存儲(chǔ)器變量適當(dāng)擴(kuò)展成多字節(jié)變量。這個(gè)算法還可以與FPGA結(jié)合,用于其他計(jì)數(shù)精度要求較高、易受尖峰脈沖干擾的應(yīng)用場(chǎng)合。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉