Butterworth模拟低通滤波器设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例:设计满足下列条件的模拟CB I型低通滤波器 fp=1kHz, fs=2kHz, Ap=1dB, As=40dB
%filter specification Wp=2*pi*1000;Ws=2*pi*2000;Ap=1;As=40; %Computer filter order [N,Wc]=cheb1ord(Wp,Ws,Ap,As,'s'); fprintf('Order of the filter=%.0f\n',N) %compute filter coefficients [num,den] = cheby1(N,Ap,Wc,'s'); disp('Numerator polynomial'); fprintf('%.4e\n',num); disp('Denominator polynomial'); fprintf('%.4e\n',den);
cheb2ord函数确定。
* 椭圆低通滤波器
3. 利用MATLAB设计椭圆低通滤波器
[N,wc]=ellipord(wp,ws,Ap,As,'s')
确定椭圆滤波器的阶数N。wc=wp。
[num,den]=ellip(N,Ap,As,wc,'s') 确定阶数为N,通带衰减为Ap dB,阻带衰 减为As dB的椭圆滤波器的分子和分母多项式。
切比雪夫II (CB II)型模拟低通滤波器
3. 利用MATLAB设计CB II LP [N,wc]=cheb2ord(wp,ws,Ap,As,'s') 确定模拟切比雪夫II型滤波器的阶数N。
[num,den]=cheby2(N,As,wc,'s') 确定阶数为N,阻带衰减为As dB的切比雪
夫 II 型 滤 波 器 的 分 子 和 分 母 多 项 式 。 wc 由
wc是椭圆滤波器的通带截频。
例:设计满足下列指标的模拟椭圆低通滤波器 fp=1kHz, fs=2kHz, Ap=1dB, As=40dB
0
GΒιβλιοθήκη Baiduin in dB
-20
-40
BW型 :N=8
-60
CB I型:N=5
椭圆型:N=4
-80
-100 0
500
1000
1500
2000
2500
3000
Frequency in Hz
确定阶数为N,3-dB截频为wc(radian/s)的Butterworth filter分子和分母多项式。's' 表示模拟域。
[z,p,k]=buttap(N)
确定N阶归一化的Butterworth filter 的零点、极点和 增益(gain)
例:设计满足下列条件的模拟Butterworth低通滤波器
例:设计满足下列条件的模拟CB I型低通滤波器 fp=1kHz, fs=2kHz, Ap=1dB, As=40dB
Gain in dB
-10
BW型:N=8
-20
CB 型:N=5
-30
-40
-50
-60
-70
0
500
1000
1500
2000
2500
3000
Frequency in Hz
Ap=1.00dB, As=45dB
Ap=1.00dB, As=40dB
模拟高通滤波器的设计
MATLAB实现 [numt,dent] = lp2hp(num,den,W0)
例: 设计满足下列条件的模拟BW型高通滤波器 fp=5kHz, fs=1kHz, Ap1dB, As 40dB。
%高通滤波器的设计 wp=1/(2*pi*5000);ws=1/(2*pi*1000);Ap=1;As=40; [N,Wc]=buttord(wp,ws,Ap,As,'s'); [num,den] = butter(N,Wc,'s'); disp('LP 分子多项式'); fprintf('%.4e\n',num); disp('LP 分母多项式'); fprintf('%.4e\n',den); [numt,dent] = lp2hp(num,den,1); disp('HP 分子多项式'); fprintf('%.4e\n',numt); disp('HP 分母多项式'); fprintf(‘%.4e\n’,dent);
例:设计满足下列条件的模拟Butterworth低通滤波器
fp=1kHz, fs=2kHz, Ap=1dB, As=40dB
0
BW型: N=8
-20
Gain in dB
-40
-60
-80
0
500
1000
1500
2000
2500
3000
Frequency in Hz
Ap=0.62dB, As=40dB
例:设计满足下列条件的模拟CB I型低通滤波器 fp=1kHz, fs=2kHz, Ap=1dB, As=40dB
%Compute Ap and As of designed filter omega=[Wp Ws]; h = freqs(num,den,omega); fprintf('Ap= %.4f\n',-20*log10(abs(h(1)))); fprintf('As= %.4f\n',-20*log10(abs(h(2))));
fp=1kHz, fs=2kHz, Ap=1dB, As=40dB
Wp=2*pi*1000;Ws=2*pi*2000;Ap=1;As=40; [N,Wc]=buttord(Wp,Ws,Ap,As,'s'); fprintf('Order of the filter=%.0f\n',N) [num,den] = butter(N,Wc,'s'); disp('Numerator polynomial'); fprintf('%.4e\n',num); disp('Denominator polynomial'); fprintf('%.4e\n',den); omega=[Wp Ws];h = freqs(num,den,omega); fprintf('Ap= %.4f\n',-20*log10(abs(h(1)))); fprintf('As= %.4f\n',-20*log10(abs(h(2)))); omega = [0: 200: 12000*pi]; h = freqs(num,den,omega); gain=20*log10(abs(h));plot(omega/(2*pi),gain); xlabel('Frequency in Hz');ylabel('Gain in dB');
Butterworth模拟低通滤波器设计
3. 利用MATLAB设计BW LP
[N,wc]=buttord(wp,ws,Ap,As,'s')
确定模拟Butterworth filter的阶数N和3-dB截频wc。
wc是由阻带参数确定的。 's' 表示模拟域。
[num,den]=butter(N,wc,'s')