新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AMR磁阻傳感器和加速度傳感器ADXL202的電子羅盤防干擾設計

        基于AMR磁阻傳感器和加速度傳感器ADXL202的電子羅盤防干擾設計

        作者: 時間:2010-12-07 來源:網絡 收藏


        3.2 源程序代碼分析

        對應程序流程圖,給出了單片機通過P4.2口對某一輸出通道采樣濾波并完成脈寬計數的源程序。源程序如下:





        源程序中定義了3個變量,其中變量Flag存儲原狀態值;FlagReg存儲當前采樣值;變量i記錄采樣次數;改變i的值可控制濾除尖峰脈沖的等待時間。程序通過對原狀態與當前采樣狀態異或之后的值來判斷當前信號是有效信號還是信號,從而對上升沿、下降沿的中間過度或尖峰脈沖進行相應處理,退出中斷子程序。實現了對正常信號計數、濾掉尖峰脈沖的目的。

        4 測試結果

        由于條件限制以及干擾的隨機性,對構成的車載屯子進行的測試,無法對所測量的角度以及方向角進行精確標定。實驗時,通過相同條件下同一物理量多次測量值的標準差來對相應算法進行評估。測試結果如表1所列。



        從實驗測試的標準差可以看出,經過軟件濾波后σ小了很多,這種軟件濾波算法對濾除尖峰脈沖干擾是非常有效的。

        結 語

        本文提出的軟件濾波算法速度快,代碼效率高,濾波效果理想,是一種實用的數字濾波方法,體現了將算法與具體硬件相結合的思想。另一方面,當脈沖干擾較寬時可將存儲器變量適當擴展成多字節變量。這個算法還可以與FPGA結合,用于其他計數精度要求較高、易受尖峰脈沖干擾的應用結合。

        本文引用地址:http://www.104case.com/article/173111.htm

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 凌海市| 广昌县| 庐江县| 横山县| 容城县| 武鸣县| 宝应县| 育儿| 新昌县| 阿拉善左旗| 行唐县| 金寨县| 洞口县| 石渠县| 尼玛县| 庆城县| 棋牌| 阳原县| 台北县| 江北区| 酉阳| 祥云县| 黑水县| 宜宾县| 溧阳市| 仁布县| 始兴县| 含山县| 惠水县| 南平市| 商南县| 土默特右旗| 吉木乃县| 基隆市| 呼和浩特市| 千阳县| 盐山县| 瑞金市| 荆门市| 岗巴县| 昭觉县|