一種基于A(yíng)VR單片機的工頻干擾濾除快速算法
內容摘要:提出了一種利用數字濾波器濾除工頻干擾的快速算法。這種算法從AVR單片機內部硬件乘法器的特點(diǎn)出發(fā),采用分配系統數法進(jìn)行低通數字濾波器設計。經(jīng)過(guò)VMLAB集成開(kāi)發(fā)環(huán)境的仿真驗證,算法速度快、代碼效率高、濾波效果理想。
本文引用地址:http://dyxdggzs.com/article/173334.htm工頻干擾廣泛存在各種工業(yè)現場(chǎng)中,其產(chǎn)生的途徑主要包括輸電饋線(xiàn)、照明設備、發(fā)動(dòng)機以及各種電子儀器設備等。一般可以通過(guò)濾波電路消除工頻干擾,但這必將增加硬件結構的復雜程度。實(shí)際上,還可以采用數字信號處理的相關(guān)算法,通過(guò)軟件濾波器濾除工頻干擾。軟件濾波算法的采用,無(wú)疑會(huì )在簡(jiǎn)化電路結構的同時(shí),使系統的硬件資源得到更加充分的利用,并達到降低產(chǎn)品成本的要求。
AVR單片機是Atmel公司生產(chǎn)的8位精簡(jiǎn)指令集(RISC)單片機。與同類(lèi)單片機相比,在運算速度、外設資源、靈活性等方面性能均衡,性?xún)r(jià)比較高。AVR單片機適合C語(yǔ)言開(kāi)發(fā),Mega系列AVR單片機還有一個(gè)內部硬件乘法器單元。這些特點(diǎn)都為軟件濾波器的實(shí)現提供了極大的便利。
1 濾波算法
常用的單片機濾波算法包括中值濾波、增色值濾波、滑動(dòng)平均以及復合濾波算法等。工頻干擾的頻率范圍在50Hz附近,可以采用一個(gè)截止頻率遠低于50Hz的低通濾波器來(lái)濾除工頻干擾。
假設輸入信號x(t),輸出信號y(t),則一個(gè)RC低通濾波器表達式為:τ[dy(t)]/dt+y(t)=x(t),其中τ為時(shí)間常數。
連續時(shí)間信號經(jīng)過(guò)采樣后成為離散時(shí)間信號,低通濾波器的表達式也變?yōu)椋?/p>
τ[y(t)-y(k-1)]/ Δt+y(k)=x(t) (1)
Δt為采樣時(shí)間間隔,k為歸一化時(shí)間。
由(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)式進(jìn)行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畫(huà)出頻率響應曲線(xiàn),如圖1。其中50Hz頻率對應的幅度衰減見(jiàn)表1。
表1 50Hz幅度衰減
a | 衰減 |
0.8 | -9.4dB |
0.85 | -11.9dB |
0.9 | -15.5dB |
0.95 | -21.6dB |
評論