帶通濾波器的作用
與陷波器類似,帶通濾波器在數字電源控制領域有重要作用,比如在三相LCL逆變器的諧振抑制控制方面,通過帶通濾波器可以提取諧振點附近的頻譜做進一步的控制策略,在有源電力濾波器利用帶通濾波器可以提取電網信號的基波頻率從而做進一步的控制,
帶通濾波器傳遞函式
帶通濾波器的傳遞函式是:
h
(
s
)
=
A
w
o
B
s
s
2
+
B
s
+
w
o
2
h(s)=\frac{Aw_oBs}{s^2+Bs+w_o^2}
h(s)=s2+Bs+wo2?Awo?Bs?
其中,
w
o
w_o
wo? 是帶通的“中心頻率”,也就是想要通過頻率的中心點頻率,
B
B
B是帶通的頻寬比,注意此處頻寬比是一個相對于中心頻率的比例,比如:
w
o
=
50
?
2
?
p
i
w_o=50*2*pi
wo?=50?2?pi
B
=
0.2
B=0.2
B=0.2
表達的意義是設定中心頻率為50Hz,帶通的帶寬為50*0.2=10Hz,
帶通濾波器的伯德圖
設定“中心頻率”為50Hz,頻寬比為0.4,用matlab繪制伯德圖,如下:

可見,僅僅在50Hz附近有大于0的增益,其他頻率點都被抑制了,于是就有了“帶通”的效果,
離散化
上述都是在連續域中分析的,但是對于數字控制應用,它是無法落地實作的,所以我們需要對連續域模型進行離散化分析,
Z變換
利用Z變換可以離散化,也可以利用matlab對S函式進行Z變換,選定離散時間Ts=0.0002,則其Z變換如下:
F
(
z
)
=
0.0012557
z
?
0.0012557
z
2
?
1.996
z
+
0.999920
F(z)=\frac{0.0012557z-0.0012557}{z^2-1.996z+0.999920}
F(z)=z2?1.996z+0.9999200.0012557z?0.0012557?
差分方程
z變換后很自然能得到差分方程,只需要對分子分母除以
z
z
z的最高次冪:
Y
X
=
0.0012557
X
k
?
1
?
0.0012557
X
k
?
2
1
?
1.996
X
k
?
1
+
0.999920
X
k
?
2
\frac{Y}{X}=\frac{0.0012557X_{k-1}-0.0012557X_{k-2}}{1-1.996X_{k-1}+0.999920X_{k-2}}
XY?=1?1.996Xk?1?+0.999920Xk?2?0.0012557Xk?1??0.0012557Xk?2??
有了差分方程,程式的實作可以落到實地,在Matlab的m檔案中撰寫matlab function為例說明:
function Y = BandFilter(X)
%#codegen
%% 中間變數定義及初始化
Num0 = 0;
Num1 = 0.0012557;
Num2 = -0.0012557;
Den0 = 1;
Den1 = -1.996;
Den2 = 0.999920;
persistent Xk_1; % 上1次的輸入
persistent Xk_2; % 上2次的輸入
persistent Yk_1; % 上1次的輸出
persistent Yk_2; % 上2次的輸出
if isempty(Xk_1) Xk_1 = 0;
end
if isempty(Xk_2) Xk_2 = 0;
end
if isempty(Yk_1) Yk_1 = 0;
end
if isempty(Yk_2) Yk_2 = 0;
end
%% 執行計算
Temp = Num0*X + Num1*Xk_1 + Num2*Xk_2 - (Den1*Yk_1 + Den2*Yk_2);
Y = Temp/Den0;
Xk_2 = Xk_1;
Xk_1 = X;
Yk_2 = Yk_1;
Yk_1 = Y;
Simulink仿真
利用Sum模塊將50Hz、1Hz、500Hz正弦信號,以及直線信號、隨機信號,這5個信號相加,得到一組帶有諧波的信號注入到帶通濾波器,結構圖如下所示:

從仿真結果可以看到:濾波后,除了50Hz的波形被保留下來,其他波形都被濾除了,可見,帶通濾波器在雜波信號中獲取指定次的諧波有較好的效果,

參考文獻
二階濾波器的標準傳遞函式
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279908.html
標籤:其他
上一篇:OpenCV入門
下一篇:BF演算法代碼(超詳細)
