最近做一个电源,要满足一个指标,所以不得不用滤波器滤掉那讨厌的纹波,达到指标。
关于滤波器的一些介绍和说明在这里就不废话啦。
下面以一个列子来介绍巴特沃思低通滤波器的设计。
eg:通带截止频率fp=3Hz,阻带截止频率fs=4Hz,通带最小衰减ap=1dB,阻带最大衰减as=20dB。
这里我先用MATLAB软件,采用双线性变换法设计一个满足此要求的以模拟滤波器为原型的数字滤波器。代码如下:
FS=10; %采样频率10Hz
T=1/FS; %采样周期
fp=3;fs=4;
Wp=fp/FS*2*pi;Ws=fs/FS*2*pi; %数字角频率
ap=1;as=20;
Op=2/T*tan(Wp/2);
Os=2/T*tan(Ws/2);
[N,Wc]=buttord(Op,Os,ap,as,'s'); %调用巴特沃斯函数得到滤波器阶数N,3dB带宽频率Wc。
[b,a]=butter(N,Wc,'s'); %调用butter函数得到满足该滤波器的传输函数分母、分子系数a,b。
[bz,az]=bilinear(b,a,FS); %将b,a映射为数字的。
freqz(bz,az,512,FS,'whole');