• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于AVR的數(shù)字濾波器濾除工頻干擾的快速算法實現(xiàn)

    基于AVR的數(shù)字濾波器濾除工頻干擾的快速算法實現(xiàn)

    作者: 時間:2013-03-29 來源:網(wǎng)絡(luò) 收藏

    工頻廣泛存在各種工業(yè)現(xiàn)場中,其產(chǎn)生的途徑主要包括輸電饋線、照明設(shè)備、發(fā)動機以及各種電子儀器設(shè)備等。一般可以通過濾波電路消除工頻,但這必將增加硬件結(jié)構(gòu)的復雜程度。實際上,還可以采用信號處理的相關(guān),通過軟件濾除工頻。軟件濾波的采用,無疑會在簡化電路結(jié)構(gòu)的同時,使系統(tǒng)的硬件資源得到更加充分的利用,并達到降低產(chǎn)品成本的要求。

    本文引用地址:http://www.czjhyjcfj.com/article/170550.htm

    單片機是Atmel公司生產(chǎn)的8位精簡指令集(RISC)單片機。與同類單片機相比,在運算速度、外設(shè)資源、靈活性等方面性能均衡,性價比較高。單片機適合C語言開發(fā),Mega系列單片機還有一個內(nèi)部硬件乘法器單元。這些特點都為軟件提供了極大的便利。

    1 濾波

    常用的單片機濾波算法包括中值濾波、均值濾波、滑動平均以及復合濾波算法等。工頻干擾的頻率范圍在50Hz附近,可以采用一個截止頻率遠低于50Hz的低通來濾除工頻干擾。

    假設(shè)輸入信號為x(t),輸出信號為y(t),則一個RC低通濾波器表達式為:

    連續(xù)時間信號經(jīng)過采樣后成為離散時間信號,低通濾波器的表達式也變?yōu)椋?/p>

    所以系統(tǒng)的傳遞函數(shù)為:

    假設(shè)采樣頻率Fs=500Hz,a分別取0.8、0.85、0.9、0.95,代入(4)式,利用matlab畫出頻率響應(yīng)曲線,如圖1。其中50Hz頻率對應(yīng)的幅度衰減見表1。

    基于AVR的數(shù)字濾波器濾除工頻干擾的快速算法實現(xiàn)

    2 定點小數(shù)表達方式

    為了精確構(gòu)造濾波器,經(jīng)常要用到浮點數(shù)據(jù)和系數(shù)。在進行浮點數(shù)乘法運算時,針對AVR單片機設(shè)計的C編譯器例如AVR-GCC,需要加入額外的數(shù)學庫函數(shù)進行編譯。而這會使編譯后程序的代碼量增加、處理時間加長、處理器的開銷也隨之增加。為了更大限度地降低系統(tǒng)開銷,提高程序效率,采用定點小數(shù)表示形式進行乘法運算是最佳選擇。

    AVR單片機是一種8位精簡指令集(RISC)單片機。其中megaAVR系列內(nèi)部都帶有一個硬件乘法器,計算一次8位乘8位的定點乘法只需2個時鐘周期。因此采用8位定點采樣數(shù)據(jù)乘以8位系數(shù)的定點乘法方式完成濾波算法是最高效的。

    低通濾波處理涉及的運算形式為一個純小數(shù)系數(shù)和一個已知數(shù)據(jù)相乘再相加。因此將系數(shù)采用定點小數(shù)的表示形式,對于提高算法速度是至關(guān)重要的。

    可以定義一種8位定點小數(shù)表示形式——Q8數(shù),其各位權(quán)系數(shù)如下:

    Q8數(shù)的表示范圍從0到1-2-8=0.99609375,每兩個數(shù)之間的間隔是2-8(0.00390625),其所能表達的純小數(shù)共有28=256個。例如11011000就表示2-1+2-2+2-4+2-5=0.84375,而11011001就是表示2-1+2-2+2-4+2-5+2-8=0.84765625,因此0.84375和0.84765625之間的純小數(shù)只能用這兩個數(shù)中的一個近似表示了。這對于乘法計算的精度有一定的影響,但是由于濾波公式(3)中的系數(shù)a和(1-a)都是常數(shù),在整體性能穩(wěn)定的情況下,系數(shù)微小的不確定性對濾波器整體性能并沒有太大的影響。


    上一頁 1 2 3 下一頁

    評論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 宜丰县| 涿州市| 凤凰县| 兰溪市| 喀喇| 万安县| 射阳县| 株洲市| 绥棱县| 莱芜市| 青田县| 松滋市| 年辖:市辖区| 孝感市| 正镶白旗| 余姚市| 莒南县| 镇远县| 宜春市| 筠连县| 枣庄市| 营口市| 花垣县| 旺苍县| 山阴县| 永吉县| 桂东县| 茶陵县| 武宁县| 宁化县| 兴城市| 东台市| 同心县| 德江县| 宁夏| 福建省| 洱源县| 湾仔区| 嘉兴市| 万盛区| 武穴市|