您的当前位置:首页正文

数字信号处理实验报告(四)——王恩瑶

2020-11-18 来源:小奈知识网
数字信号处理实验报告

实验四 BW模拟滤波器设计

班级 ___电子091_______ 姓名 ___王恩瑶________ 学号 ___0904020118_____ 成绩 __________________

2011年 12 月23日

实验四 BW模拟滤波器设计

一、 实验目的

深刻理解离散时间系统的系统函数在分析离散系统的时域特性、频率特性以及稳定性中的重要作用及意义,熟练掌握利用MATLAB分析离散系统的时域响应、频率响应和零极点的方法。掌握利用DTFT和DFT确定系统特性的原理和方法。 二、 实验内容

1、通过help函数,查询并给出如下函数的使用说明(包括调用形式,函数功能,输入参数,输出参数)

buttord ; buttap;zp2tf; lp2bp; lp2bs;lp2hp;lp2lp;butter

1)Buttord

功能:Butterworth滤波器阶的选择 格式:[N,Wn]=buttord(Wp,Ws,Rp,Rs)

[N,Wn]=buttord(Wp,Ws,Rp,Rs,’s’)

N代表滤波器阶数,Wn代表滤波器的截止频率 2)Buttap

功能:设计模拟低通原型滤波器G(p) 格式:[z,p,k]=Buttap(N)

说明:z:零点 p:极点 k:增益系数 3)[NUM,DEN]=ZP2TF(Z,P,K) 功能:实现参数转换 H(s)=NUM(s)/DEN(s)

4)Lp2lp lp2hp lp2bp lp2bs

功能:将模拟低通原型滤波器G(p)分别转换为实际的低通、高通、带通及带阻滤波器。 格式:[B,A]=lp2lp(b,a,Wo)或[B,A]=lp2hlp(b,a,Wo)

[B,A]=lp2bp(b,a,Wo,BW)或[B,A]=lp2bs(b,a,Wo,BW) 说明:输入参数的b对应3中的NUM,a对应3中的DEN B,A:模拟滤波器的系数,B对应分子,A对应分母

2、分别用下面两种方法设计一个满足下列指标的模拟BW型带阻滤波器,Ap≤1dB,As≥10dB,wp1=6rad/s,wp2=13rad/s,

ws1=9rad/s,ws2=11rad/s,求出该AF的系统函数,绘出其频谱特性 要求用两种方法分别实现 方法一:经典法

方法二:直接采用butter设计带阻filter

经典法:

clear,clc;

wp=[6 13];ws=[9 11]; Ap=1;As=10; B=ws(2)-ws(1);

w0=sqrt(ws(1)*ws(2));

wp1=((ws(2)-ws(1))*wp(1)/(-wp(1)^2+ws(1)*ws(2))); wp2=((ws(2)-ws(1))*wp(1)/(-wp(2)^2+ws(1)*ws(2))); wp0=max(abs(wp1),abs(wp2)); [N,wc]=buttord(wp0,1,Ap,As,'s');

fprintf('Order of the filter=%.0f\\n',N); [z,p,k]=buttap(N) ; [num,den] = zp2tf(z,p,k); [numt,dent] = lp2lp(num,den,wc); [numt,dent] = lp2bs(numt,dent,w0,B); w=[wp ws];

H=freqs(numt,dent,w);

fprintf('Ap1= %.4f\\n',-20*log10(abs(H(1)))); fprintf('Ap2= %.4f\\n',-20*log10(abs(H(2)))); fprintf('As1= %.4f\\n',-20*log10(abs(H(3)))); fprintf('As2= %.4f\\n',-20*log10(abs(H(4)))); w=linspace(1,20); H=freqs(numt,dent,w); gain=20*log10(abs(H)); plot(w/(2*pi),gain);

xlabel('Frequence(Hz)');ylabel('Magnidute(dB)');title('Analog Bandstop filter with Butterworth');

dent:1 4.89897948556636 210.000000000000 484.998969071069 9801.00000000000

numt=1.00000000000000 -7.25658435750547e-15 198.000000000000 -4.69663180959271e-13 9801.00000000002

Analog Bandstop filter with Butterworth0-10-20Magnidute(dB)-30-40-50-6000.511.52Frequence(Hz)2.533.5

直接法:

1)由式B=ws2-ws1和w0^2=ws1ws2

__ __

wp1=[(ws2-ws1)wp1/(-wp1^2+ws1ws2)和 wp2=[(ws2-ws1)wp2/(-wp2^2+ws1ws2)

求得低通到带阻变换中的参数B=2,w0=9.9499

以及原型低通滤波器的通带截频wp_bar=0.3714 ws=1 2)由[N,wc]=buttord(wp_bar,1,Ap,As,‘s’);

[num,den]=butter(N,wc,‘s’);得原型低通滤波器Hl(s)

3)由[numt,dent]=lp2bs(num,den,w0,B);得带阻滤波器HBS(s) 程序:

wp_bar=0.3714;ws=1;Ap=1;As=10;

[N,wc]=buttord(wp_bar,ws,Ap,As,'s'); [num,den]=butter(N,wc,'s'); B=2;w0=9.9499;

[numt,dent]=lp2bs(num,den,w0,B); omega=linspace(6,14,500);

h=20*log10(abs(freqs(numt,dent,omega))); plot(omega,h);

xlabel('Frequency in Hz'); ylabel('Gain in dB') numt=

1 -6.20367372614369e-15 198.001020020000 -5.05138750381447e-13 9801.10098224008 dent=

1 4.89897948556637 210.001020020000 485.001467599599 9801.10098224015

图为:

0-10-20-30Gain in dB-40-50-60-70-80-9067891011Frequency in Hz121314

因篇幅问题不能全部显示,请点此查看更多更全内容