原理
陷波滤波器指的是一种可以在某一个频率点迅速衰减输入信号,以达到阻碍此频率信号通过的滤波效果的滤波器。实际上,陷波滤波器能够消除特定频率的谐波,从而只留下基波,方便后续的处理。陷波滤波器的传递函数
其中ωc表示陷波中央角频率,ωbw表示陷波宽度。在Matlab上输入该传递函数,画出伯德图如下所示:
可以看出,输入信号在特定频率在会急速衰减,达到滤波的效果。
离散化设计
根据陷波滤波器的传递函数,通过matlab软件进行离散化(双线性),程序如下
fc = 150;
fbw = 15;
% tustin
wc = 2 * pi * fc;
wbw = 2 * pi * fbw;
Ts = 0.0001;
a = [1 0 wc^2];
b = [1 wbw wc^2];
sys = tf(a, b)
bode(sys)
sysd_tustin = c2d(sys, Ts, 'tustin')
得到如下公式
其中Y表示输出值,X表示输入值,整理可得如下公式
其中X(t-1)表示上一次X的值,其他同理。
小数位数
由于matlab的限制,窗口打印出来的只保留了四位有效数字,最然能满足大部分要求,但如果陷波宽度小到一定程度,四位有效数字显然不够。
可以在matlab修改显示小数的位数,然后分别显示分子分母,但是直接打印离散之后的分式仍然只显示4位有效数字。
分别显示
仿真验证
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !