01引言
如果單純依靠模擬電路,是不可能將50Hz干擾徹底抑制掉的,所以這時候就體現(xiàn)出數(shù)字信號處理的優(yōu)越性了。
數(shù)字信號處理里面的濾波器分兩種:一種是IIR濾波器,另一種是FIR濾波器,本質(zhì)區(qū)別就是IIR濾波器的當前輸出與以前的輸出和輸入有關(guān),F(xiàn)IR濾波器只與輸入有關(guān),看一下差分方程就一目了然了。
來看一下海寧濾波器的結(jié)構(gòu)和傳遞函數(shù),
很明顯這是一個FIR濾波器,因為輸出只與輸入有關(guān)。而它的濾波器系數(shù)也非常好記(1/4)*[1 2 1]=[0.25 0.5 0.25],這個數(shù)值運算量非常小,把它放到單片機里面使用也是毫無壓力的,因為,不論是1/4還是1/2都可以在程序中用移位>>運算來實現(xiàn)。
02matlab濾波器設(shè)計
廢話少說,接下來進入正題, 1Hz信號里面混有較強的50Hz和178Hz干擾,觀察圖形看一下是這樣的。
利用MATLAB的fdatool工具來設(shè)計一個能夠兼具低通和50Hz陷波功能的濾波器。
參數(shù)設(shè)置為:FIR濾波,低通,10階,通帶截止頻率4Hz,阻帶截止頻率46Hz,采樣率400Hz,生成的幅度響應(yīng)曲線中虛線是未進行量化后的曲線,可以發(fā)現(xiàn),阻帶的衰減幅度最小也有25db,50Hz的衰減頻率則達到了70db,
觀察下濾波器的參數(shù)
未量化的浮點數(shù)據(jù)還是比較長的,但是效果是最好的,量化后的數(shù)據(jù)會比較短,具體長度是我們自己設(shè)置的,量化的目的是降低運算量,但是以犧牲濾波效果為代價的,我們先把數(shù)據(jù)導出來進行驗證。
在matlab里面進行驗證,代碼如下
Ts=0.0025;%采樣率400hz
len=500; >> n=0:len-1;
%3種頻率的信號混合
x=0.1*sin(2*pi*1*n*Ts)+sin(2*pi*50*n*Ts)+0.5*sin(2*pi*178*n*Ts);
CO=[0.04675 0.05845 0.084 0.1068 0.1225 0.1282 0.1225 0.1068 0.084 0.05845 0.04675];
W=[0 0 0 0 0 0 0 0 0 0 0];
for i = 1:len
W(1) = x(i);
y(i) = W(1)*CO(1)+W(2)*CO(2)+W(3)*CO(3)+W(4)*CO(4)+W(5)*CO(5)+W(6)*CO(6)+W(7)*CO(7)+W(8)*CO(8)+W(9)*CO(9)+W(10)*CO(10)+W(11)*CO(11);
W(11)=W(10);
W(10)=W(9);
W(9)=W(8);
W(8)=W(7);
W(7)=W(6);
W(6)=W(5);
W(5)=W(4);
W(4)=W(3);
W(3)=W(2);
W(2)=W(1);
end
subplot(211);
plot(x);
subplot(212);
plot(y)
axis([0 500, -1.5, 1.5]);
結(jié)果如下圖:
由于1Hz的信號幅值較低,所以所以看起來會有點小,但是50Hz和178Hz已經(jīng)消失不見了,但是這個濾波器存在一個問題,就是階數(shù)有點高--10階,然后浮點運算太多了,在單片機上運行是個負擔,所以還得改進一下。
0350Hz精準陷波
這次只定點濾除50Hz信號,實際上通過上面的操作大家應(yīng)該清楚了,不同的濾波器不過是在調(diào)整濾波器的系數(shù)而已,那么我們不妨直接來通過修改系數(shù)的方式設(shè)計濾波器,matlab也提供了這樣的功能,見下圖:
這里面的系數(shù)B=[ 0.125 0.53 -0.75 0.53 0.125];是我反復調(diào)整得到的,未量化時是精準的50Hz陷波,量化后會有偏移,如果單片機運算能力尚可的話,就不要量化了,因為本身這里浮點的數(shù)據(jù)并不長,不多說了,代碼與上面沒有太大差異,故省略,直接看效果吧。
04結(jié)語
實際上階數(shù)還可以繼續(xù)降低,比如這篇文獻里面設(shè)計的陷波器就只有4階,他的采樣率是200Hz。
可以發(fā)現(xiàn),數(shù)字濾波不過是各種乘加運算,只不過系數(shù)不同,濾波的效果和功能也不同。
至于IIR濾波器,實際上設(shè)計的方法與上面相差也不大,matlab的代碼也與C語言極為相似,如何轉(zhuǎn)化,也不再贅述了。
-
模擬電路
+關(guān)注
關(guān)注
125文章
1557瀏覽量
102758 -
濾波器
+關(guān)注
關(guān)注
161文章
7826瀏覽量
178203 -
FIR
+關(guān)注
關(guān)注
4文章
146瀏覽量
33189 -
干擾
+關(guān)注
關(guān)注
0文章
211瀏覽量
27349 -
數(shù)字信號
+關(guān)注
關(guān)注
2文章
970瀏覽量
47555
發(fā)布評論請先 登錄
相關(guān)推薦
評論