Butterworth技术指标及要求
filter_design_001.png-
衰减函数(dB): A() = -10 = -20
-
通带最大衰减(dB): Ap = -10 = -20
-
阻带最小衰减(dB):As = -10 = -20
-
Butterworth增益和衰减特性曲线如下:
Butterworth模拟低通滤波器的频域特性
filter_design_003.png
-
N:表示滤波器阶
-
: 表示3dB截频
-
所以 称为3dB 截频。 若 =1,则为归一化的BWF。 -
幅度响应单调下降。一般不是通带截频
-
在 =0点1到2N-1阶导数为零,称为最大平坦性。
Butterworth模拟低通滤波器设计基本步骤
- 步骤1:确定模拟滤波器的阶数N
- 步骤2:确定模拟滤波器的3dB截频
- 步骤3:计算模拟滤波器的系统函数极点
- 步骤4:得到模拟低通滤波器的系统函数HL(s)
步骤一:确定模拟滤波器的阶数N
已知给定的条件、,根据 ,再由 可得到,推出:
步骤二:确定模拟滤波器的3dB截频
- 根据以上公式可得出
- 当由决定的时候所得到的衰减图像表明在通带刚好满足要求,在阻带有裕量
- 当由决定的时候所得到的衰减图像表明在阻带刚好满足要求,在通带有裕量
- 当在和之间任意取值时,最后得到的结果是在通带和阻带都有裕量
步骤3:确定模拟滤波器的系统函数极点
利用实系数模拟系统频率响应的共轭对称性有
求出系统函数的极点(位于s左半平面)如下:
步骤4:确定模拟低通滤波器的系统函数
filter_design_005.png使用matlab求模拟低通滤波器的系统函数
- 连续系统的复频域描述如下,若描述连续LTI系统的微分方程为:
利用Laplace变换微分特性,可得描述该系统的复频域方程
最后得到连续时间LTI系统的系统函数如下:
- 设计一个满足下列指标BW型模拟低通滤波器fp=1KHz , fs=2KHz,Ap ≤1dB, As ≥40dB,求出其系统函数,并画出其频率响应特性图
Wp=2*pi*1000;%通带截止频率,将数字频率化成模拟频率
Ws=2*pi*2000;%阻带截止频率,将数字频率化成模拟频率
Ap=1;%通带最大衰耗
As=40; %阻带最小衰耗
% 求得阶数和3db截频wc
[N,Wc]=buttord(Wp,Ws,Ap,As,'s'); %Computer the order of analog filter,s表示模拟
fprintf('Order of the filter=%.0f\n',N)
%num 表示系统函数分子系数,den表示系统函数分母系数
[num,den] = butter(N,Wc,'s'); %Compute AF coefficients
disp('Numerator polynomial'); fprintf('%.4e\n',num);
disp('Denominator polynomial'); fprintf('%.4e\n',den);
omega=[Wp Ws]; % 求出通带频率点和截止频率点对应的频率响应值
h = freqs(num,den,omega); %Compute Ap and As of AF
ap = -20*log10(abs(h(1)));% 将通带频率响应转换成衰耗值,
as = -20*log10(abs(h(2)));% 将阻带频率响应转换成衰耗值,
hp = abs(h(1));
hs = abs(h(2));
gain_p = 20*log10(abs(h(1)));
gain_s = 20*log10(abs(h(2)));
fprintf('Ap= %.4f\n',ap);%打印ap
fprintf('As= %.4f\n',as);%打印as
% 看0~6000pi之间,步进为200 的频率响应值
omega = [0: 200: 3000*2*pi];
h = freqs(num,den,omega); %Compute the frequency response of the AF
subplot(211);
plot(omega/(2*pi),abs(h));
hold on;%在画完函数虚线之后保持曲线图
plot([0 Wp/(2*pi)],[hp hp],'r--'); %画两个虚线
plot([Wp/(2*pi) Wp/(2*pi)],[0 hp],'r--');
plot([0 Ws/(2*pi)],[hs hs],'r--'); %画两个虚线
plot([Ws/(2*pi) Ws/(2*pi)],[0 hs],'r--');
hold off;
xlabel('Frequency in Hz');
ylabel('H(jw)');
gain=20*log10(abs(h));
subplot(212);
plot(omega/(2*pi),gain);
hold on;%在画完函数虚线之后保持曲线图
plot([0 Wp/(2*pi)],[gain_p gain_p],'r--'); %画两个虚线
plot([Wp/(2*pi) Wp/(2*pi)],[0 gain_p],'r--');
plot([0 Ws/(2*pi)],[gain_s gain_s],'r--'); %画两个虚线
plot([Ws/(2*pi) Ws/(2*pi)],[0 gain_s],'r--');
hold off;
xlabel('Frequency in Hz');
ylabel('Gain in dB');
- 最后得出其频率响应以及增益曲线图如下:
- 其系数为
Order of the filter=8 %8阶滤波器
Numerator polynomial % 分之系数
0.0000e+00
0.0000e+00
0.0000e+00
0.0000e+00
0.0000e+00
0.0000e+00
0.0000e+00
0.0000e+00
6.2187e+30
Denominator polynomial %分母系数
1.0000e+00
3.6222e+04
6.5603e+08
7.7093e+12
6.4060e+16
3.8498e+20
1.6360e+24
4.5108e+27
6.2187e+30
Ap= 0.6167
As= 40.0000
- 使用matlab分析该系统的零极点分布以及稳定性
num=[6.2187e+30];
den=[1.0000e+00 3.6222e+04 6.5603e+08 7.7093e+12 6.4060e+16 3.8498e+20 1.6360e+24 4.5108e+27 6.2187e+30];
subplot(211);
sys=tf(num,den);%求出系统的零极点
pzmap(sys);%画出系统零极点
subplot(212);
omega = [0: 200: 3000*2*pi];
H=freqs(num,den,omega);%得到频率响应
plot(omega/(2*pi),abs(H));%画出频率响应
xlabel('Frequency Hz');
title('Magnitude Respone');
filter_design_007.png
- 由图可知极点的分布都在S平面的左半平面,说明是系统稳定
- N=8为偶数,一共有8个极点,和上面理论分析互相匹配
网友评论