来源于:陷波器设计以及双线性离散bode图绘制 - 哔哩哔哩
设陷波器的基本传递函数为:
参数说明:
Wn:陷波中心频率
ζ1、ζ2:陷波系数
陷波器的三个重要指标:
Wn:陷波中心频率
depth:陷波深度(中心频率处的衰减倍数)
Bw:陷波带宽(衰减到-3db时频率差值)
①:将s域传递函数转化到G[jw](直接将s换为jw即可)
②:利用中心频率计算ζ1、ζ2之间的关系:(将w=wn带入方程求模)
由定义可知以下公式:
③:利用W1 W2的定义求解ζ1与陷波器指标的关系
因为
所以
即可得到公式:
此时只需要输入wn、depth、B通过关系式即可设计出一个陷波器。
④通过双线性变换进行离散:
Matlab代码:
Bode图配置函数Bode_Init.m
function P=Bode_Init()
P=bodeoptions;
P.Grid='on';
P.FreqUnits='Hz';
end
陷波器双线性离散化后的bode图:
clear;
clc;
P=Bode_Init();
fc=100;%陷波频率
depth=1/1000;%陷波深度
Wn=2*pi*fc;%陷波频率
B=1/100;%陷波带宽
fs=2000;%采样频率
Ts=1/fs;
zeta1=sqrt((-sqrt(B*B/(Wn*Wn)+1)+1)/(4*depth*depth-2))
zeta2=zeta1*depth
H=tf([(4+Wn*Wn*Ts*Ts+4*zeta2*Wn*Ts) (2*Wn*Wn*Ts*Ts-8) (4-4*Wn*zeta2*Ts+Wn*Wn*Ts*Ts)],[(4+Wn*Wn*Ts*Ts+4*zeta1*Wn*Ts) (2*Wn*Wn*Ts*Ts-8) (4-4*Wn*zeta1*Ts+Wn*Wn*Ts*Ts)],Ts)
Hc=d2c(H,'tustin')
bode(Hc,P)