新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于AVR單片機的工頻干擾濾除快速算法

        一種基于AVR單片機的工頻干擾濾除快速算法

        作者: 時間:2010-05-20 來源:網絡 收藏

          6 VMLAB的濾波系統仿真實現

          VMLAB的全稱為:Visual Micro Lab。它針對系列和ST62系列設計,是一個的虛擬原型框架,可以提供給用戶一個真正意義上的虛擬微控制器(MCU)設計實驗室。它具有強大的多窗口、多文件的編輯器,微控制器的集成開發環境,擁有一系列的集成開發工具,圖形界面的調試器,混合模式的模擬-數字電路仿真器,代碼質量檢測器等。MCU,它可以仿真出包括模擬元器件在內的更多外圍設備,并具有交互式器件模擬仿真功能。

          假設有用信號2V大小的直流信號,工頻是峰峰值為1V,頻率為50Hz的正弦波,建立單片機AD的輸入信號表示形式如下:

          2+0.5 sin(2π×50×t)

          VMLAB通過工程文件來管理和控制各種仿真信息、硬件連接以及顯示I/O電壓波形等。根據本的特點,采用Atmega16作為目標單片機,時鐘選為8MHz,建立工程文件。恰當設置OCR0等存儲,使計數器比較匹配中斷的時間間隔約為2ms,這樣AD的采樣頻率Fs近似認為等于500Hz。經過仿真,對比結果如表3。

          表3 Fs=500Hz時仿真結果對比

        aDA輸出紋波峰峰值衰減幅度DA輸出均值收斂時間
        0.80.36V-8.8dB1.99V約為100ms
        0.850.28V-11.1dB1.99V約為120ms
        0.90.2V-14dB1.98V約為145ms
        0.950.1V-20dB1.95V約為210ms

          從表3可以看出:隨著α的增大,收斂的時間變長,同時50Hz對應的衰減幅度增加,衰減的幅度值和理論推導基本一致。另外,當a=0.95時,DA輸出的均值變小。這主要是進行循環迭代運算時,需要將16位的變量轉化為8位表示形式所導致的。在有用信號失真較小的情況下,為使濾波器達到降低工頻的最佳效果,必須恰當選擇a值。經過以上的仿真試驗可以發現,當a=0.9時,衰減幅度、DA輸出均值和收斂時間表現比較均衡,可以作為一般情況下的選擇值。

        種基于AVR單片機的工頻干擾濾除快速算法

          將VMLAB中虛擬示波器的顯示數據導出到一個*.cvs文件中,用matlab讀出這些數據,并畫出不同a值對應的輸出響應,如圖4。從圖4可以清晰看出不同a值下算法的性能變化的大致走向。

          將AD的采樣間隔設置為4ms,對應的采樣頻率Fs就變為250Hz,其它條件不變。通過VMLAB進行仿真,對比結果如表4、圖5。

          表4 Fs=250Hz時不同a值仿真結果對比

        aDA輸出紋波峰峰值衰減幅度DA輸出均值收斂時間
        0.80.20V-14.0dB1.98V約為220ms
        0.850.16V-15.9dB1.98V約為240ms
        0.90.14V-17.1dB1.97V約為270ms
        0.950.06V-24.4dB1.95V大于500ms

          對比Fs=500Hz的情況,隨著采樣頻率Fs降低,50Hz頻率的幅度衰減值會逐漸增加。這主要是因為隨著采樣頻率降低,低通濾波器的截至頻率fc也隨之降低,相應的濾波器在50Hz處的衰減也就越來越低。根據奈奎斯特低通采樣定理,當采樣頻率小于100Hz時,由于信號頻譜混疊,濾波器對50Hz信號的濾波效果將會變差。如果只是對緩變信號進行采樣,采樣頻率比100Hz稍大即可。但是隨著采樣頻率的降低,濾波算法的收斂時間也會增加。因此必須在算法的濾波性能和收斂時間上進行折衷考慮。

          本文提出的分配系數法設計數字濾波器,算法速度快、代碼效率高、濾波效果理想,是一種實用的數字濾波器設計方法,體現了將算法嵌入到具體硬件的思想。另一方面,將定點小數的表示形式進行適當擴展,這個算法還可以用于10位或16位AD轉換精度的應用場合。

        電能表相關文章:電能表原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 日喀则市| 海晏县| 聊城市| 绥阳县| 昌平区| 阿拉尔市| 禹州市| 广东省| 文山县| 和田县| 康平县| 巨野县| 犍为县| 水富县| 两当县| 察哈| 陇川县| 郁南县| 中山市| 瑞安市| 杭州市| 张家港市| 天镇县| 观塘区| 米林县| 上犹县| 白河县| 桃源县| 乌鲁木齐市| 大同县| 宜丰县| 伽师县| 新化县| 体育| 金乡县| 塔城市| 陈巴尔虎旗| 新源县| 金秀| 时尚| 千阳县|