- 相關推薦
一種基于AVR單片機的工頻干擾濾除快速算法
摘要:提出了一種利用數字濾波器濾除工頻干擾的快速算法。這種算法從AVR單片機內部硬件乘法器的特點出發,采用分配系統數法進行低通數字濾波器設計。經過VMLAB集成開發環境的仿真驗證,算法速度快、代碼效率高、濾波效果理想。工頻干擾廣泛存在各種工業現場中,其產生的途徑主要包括輸電饋線、照明設備、發動機以及各種電子儀器設備等。一般可以通過濾波電路消除工頻干擾,但這必將增加硬件結構的復雜程度。實際上,還可以采用數字信號處理的相關算法,通過軟件濾波器濾除工頻干擾。軟件濾波算法的采用,無疑會在簡化電路結構的同時,使系統的硬件資源得到更加充分的利用,并達到降低產品成本的要求。
AVR單片機是Atmel公司生產的8位精簡指令集(RISC)單片機。與同類單片機相比,在運算速度、外設資源、靈活性等方面性能均衡,性價比較高。AVR單片機適合C語言開發,Mega系列AVR單片機還有一個內部硬件乘法器單元。這些特點都為軟件濾波器的實現提供了極大的便利。
1 濾波算法
常用的單片機濾波算法包括中值濾波、增色值濾波、滑動平均以及復合濾波算法等。工頻干擾的頻率范圍在50Hz附近,可以采用一個截止頻率遠低于50Hz的低通濾波器來濾除工頻干擾。
假設輸入信號x(t),輸出信號y(t),則一個RC低通濾波器表達式為:τ[dy(t)]/dt y(t)=x(t),其中τ為時間常數。
連續時間信號經過采樣后成為離散時間信號,低通濾波器的表達式也變為:
τ[y(t)-y(k-1)]/ Δt y(k)=x(t) (1)
Δt為采樣時間間隔,k為歸一化時間。
由(1)式可得:
y(k)=[1/(1 τ/Δt)]x(k) (τ/Δt)/(1 τ/Δt)[y(k-1) (2)
令a=(τ/Δt)(1 τ/Δt),代入(2)式,
y(k)=(1-a)·x(k) a·y(k-1) (3)
對(3)式進行z變換,可得:
Y(z)=(1-a) ·X(z) a·z-1·Y(z)
所以系統的傳遞函數為:
假設采樣頻率Fs=500Hz,a分別取0.8、0.85、0.9、0.95,代入(4)式,利用matlab畫出頻率響應曲線,如圖1。其中50Hz頻率對應的幅度衰減見表1。
表1 50Hz幅度衰減
2 定點小數表達方式
為了精確構造數字濾波器,經常要用到浮點數據和系統。在進行浮點數乘法運算時,針對AVR單片機設計的C編譯器例如AVR-GCC,需要加入額外的數學庫函數進行編譯。而這會使編譯后程序的代碼量增加、處理時間加長、處理器的開銷也隨之增加。為了更大限度地降低系統開銷,提高程序效率,采用定點小數表示形式進行乘法運算是最佳選擇。
AVR單片機是一種8位精簡指令集(RISC)單片機。其中megaAVR系列內部都帶有一個硬件乘法器,計算一次8位乘8位的定點乘法只需2個時鐘周期。因此采用8位定點采樣數據乘以8位系數的定點乘法方式完成濾波器算法是最高效的。
低通濾波處理涉及的運算形式為一個純小數系數和一個已知數據相乘再相加。因此將系數采用定點小數的表示形式,對于提高算法速度是至關重要的。
可以定義一種8位定點小數表示形成——Q8,其各位權系數如下:
Q8數的表示范圍從0到1-2 -8=0.99609375,每兩個數之間的間隔是2 -8(0.00390625),其所能表示的純小數共有2 8=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之間的純小數只能用這兩個數中的一個近似表示了。這對于乘法計算的精度有一定的影響,但是由于濾波公式(3)中的系數a和(1-a)都是常數,在整體性能穩定的情況下,系數微小的不確定性對濾波器整體性能并沒有太大的影響。
3 分配系數法原理
從(3)式可知,濾波算法可以用迭代計算實現,為保證每個新的輸出值都可以作為下次計算的輸入值,必須使輸出值和輸入值的位寬度一致。必須使輸出值和輸入值的位寬度一致。AVR單片機內部硬件乘法器的輸出結果為16位,兩次乘法運算的結果還要進行加法運算,其結果很有可能超過16位寬度。如果要進行迭代計算,就要將乘加運算的結果轉化成8位表示方式。一種解決方法是用查表法實現乘法計算,這樣運算結果就直接表達成8位定點數形式,不用進行表示方式的轉化,但是這種方案要占用額外的硬件在座空間構造一張查找表。
【一種基于AVR單片機的工頻干擾濾除快速算法】相關文章:
一種基于AVR單片機的智能蓄電池巡檢系統03-07
基于MR信息干擾矩陣的頻率優化算法03-07
AVR單片機GCC編程03-18
一種基于KEELOQ的改進加密算法及其在單片機中的實現技術03-18
動背景下基于模板匹配的快速跟蹤算法03-07
基于ST72單片機的快速充電系統03-18
基于大氣物理模型的快速視覺優化去霧算法03-17
一種基于加權空間平滑的新MUSIC算法03-07