【摘 要】系統介紹了幾種常用的數字濾波算法,并對各中算法進行比較,得出了相對較適用的算法——在通用計算機上用MATLAB工具實現。
【關鍵詞】數字濾波器;算法;MATLAB
一、數字濾波器的發展動態
早在四十年代后期,軟件數字濾波器和第一臺數字計算機就已經出現。60年代中期,出現了數字濾波器的各種逼近方法和實現方法,統一了數字濾波器的基本概念和理論。70年代至今,隨著科學技術蓬勃發展,已有很多復雜和高度完善的算法和程序能在各種場合完成過濾任務。近年來Miroslav等人就這一問題提出了一套有關數字濾波器設計的新算法和新設計方案,即建立一種基于橢圓函數的現代IIR數字濾波器的設計空間,以TI公司的數字信號處理器TMS320LF2407芯片為核心,構建了一個數字濾波系統硬件平臺,通過MATLAB軟件設計和仿真實現DSP系統應用程序的自動生成。該設計方法對同一組技術指標要求的數字濾波器可得到多種濾波器的設計方案,然后從中選取滿足技術指標要求的最優設計方案。
二、數字濾波器的優點
(1)信噪比高。數字濾波器中主要的噪聲源是在數字系統之前的模擬電路中引入的電路噪聲,以及在數字系統輸入端的模數轉換過程中產生的量化噪聲。這些噪聲在數字系統的運算中可能會被放大,但如果在設計數字濾波器時采用合適的結構,可以以降低輸入噪聲對系統性能的影響。(2)可靠性高。只要在數字電路的工作環境下,數字濾波器就能夠穩定可靠的工作。(3)數字濾波器可以實現精確的線性相位和多速率處理等模擬濾波器無法實現的功能。(4)精度高。數字濾波器只要提高字長,可以實現任意精度的信號處理。(5)靈活性大。數字濾波器實現更加靈活,可用計算機軟件實現,也可用大規模集成數字硬件實現。除此之外,數字濾波器還具有易于大規模集成、自適應算法、并行處理等優點。但是經典數字濾波器的設計還存在著一些缺點,如IIR(無限沖擊響應)濾波器所用存儲單元少,經濟且效率高,但是系統不穩定,且其相位是非線性的;FIR(有限沖擊響應)濾波器可以得到嚴格的線性相位,卻需要用較高的階數來實現其高選擇性,所以成本較高,信號延遲也較大。上述Miroslav等人提出的方案這些問題都有能得以解決。
三、數字濾波算法實現的方法
(1)在通用計算機上用MATLAB工具實現。(2)在通用計算機上用高級語言(如C語言)實現軟件,可以由自己編寫,也可以使用現成的軟件包。這種方法速度太慢,不能用于實時系統。(3)用通用的單片機實現。這種方法實現乘法運算速度較慢,不適用于復雜的信號處理系統。(4)應用通用的DSP處理器加上專用的加速處理器構成的硬件系統實現。這種方法不便于系統的獨立運行。(5)用通用的可編程DSP芯片實現。DSP利用改進的哈佛結構,內部有硬件乘法器、累加器,使用流水線結構,具有良好的并行特點,并有專門設計的適用于數字信號處理的指令系統等。(6)用專用的DSP芯片實現。在一些特殊的場合,這種芯片將相應的信號處理算法在芯片內部使用硬件實現,無須進行編程,信號處理速度極高,但是會提高所設計產品的成本。通過上述比較可知:采用MATLAB等軟件來學習數字濾波器的基本知識,計算數字濾波的系數,算法研究的可行性,對數字濾波器進行前期的仿真,最后可以采用DSP或FGPA作為硬件電路設計基礎。
四、數字濾波器的設計過程
數字濾波器設計過程就是從給定的技術指標開始到以濾波器產品原型的實現而結束的一系列過程,該過程包括四個一般步驟:函數逼近、電路實現、缺陷研究、產品實現?;贒SP的IIR數字濾波器的基本設計過程:(1)根據指標確定濾波器的類型,設計出濾波器的函數逼近。(2)根據DSP的特點(字長、精度等)對參數進行取舍、量化,然后進行仿真;(3)根據仿真結果對濾波器的結構、參數再次進行整,直到滿足以指標要求為止;(4)在DSP上用語言實現濾波器功能。在上述要求的前提下,找到盡可能簡易的實現方法。一個IIR數字濾波器是否可以在DSP上實現,最終要看此算法是否滿足兩個條件:執行時間和精度。一個算法的精度再高,如果不能做到實時,也沒有實用價值;相反,如果執行時間很快,但精度滿足不了要求,也就無從實現濾波功能。IIR數字濾波器在DSP上的實現思路,應該是在滿足上面兩個條件的前提下,找到盡可能簡易的實現方法。
通過分析,數字濾波器相對于模擬濾波器的優勢決定了在今后數字濾波器將完全取代模擬濾波器趨勢,隨著技術的不斷發展,像DSP、MATLAB這樣的數字器件容量越來越大,速度也越來越快,從而使得數字濾波器的性能越來越好,成本越來越低,故數字濾波器有著很好的應用前景。
參 考 文 獻
[1]劉正士等.一種數字濾波器的設計方法及其應用[J].中國機械工程.2006(1)
[2]聶光偉等.基于MATLAB的IIR數字濾波器的設計方法[J].科技創新導報.2009