>> Omgc
Omgc =
2.9387e+004
>> z0 z0 =
0 + 1.0824i 0 - 1.0824i 0 + 2.6131i 0 - 2.6131i
>> p0 p0 =
-0.1712 - 0.4761i -0.5045 - 0.2408i -0.5045 + 0.2408i -0.1712 + 0.4761i
>> k0 k0 =
0.0100
>> b0 b0 =
0.0100 0
>> a0 a0 =
1.0000 1.3514
0.0800 0 0.9139 0.3653 0.0800 0.0800
例:设计一个椭圆滤波器原型
技术指标:通带fp?2kHz,Rp?1dB,阻带fs?5kHz,As?40dB。 解:程序如下
实验九(2) 模拟域频率变换法
1、lp2lp
功能:低通滤波器原型到低通滤波器。这种变换是使用butter, chebyI, chebyII, ellip函数设计数字低通滤波器的一个步骤。 调用格式:
[bt, at ]=lp2lp(b, a, W0)。将传递函数表示的截止频率为1rad/s的模拟低通滤波器原型变换成截止频率为W0的低通滤波器。 2、lp2hp
功能:低通滤波器原型到高通滤波器。这种变换是使用butter, chebyI, chebyII, ellip函数设计数字高通滤波器的一个步骤。 调用格式:
[bt, at ]=lp2hp(b, a, W0)。将传递函数表示的截止频率为1rad/s的模拟低通滤波器原型变换成截止频率为W0的高通滤波器。 3、lp2bp
功能:低通滤波器原型到带通滤波器。这种变换是使用butter, chebyI, chebyII, ellip函数设计数字带通滤波器的一个步骤。 调用格式:
[bt, at ]=lp2bp(b, a, W0,BW)。将传递函数表示的截止频率为1rad/s的模拟低通滤波器原型变换成中心频率为W0,带宽为BW的带通滤波器。 如果已知被设计的滤波器低端截止频率为W1,高端截止频率为W2,则可以计算出W0,BW的值:W0=sqrt(W1*W2);BW=W2-W1。 4、lp2bs
功能:低通滤波器原型到带阻滤波器。这种变换是使用butter, chebyI, chebyII, ellip函数设计数字带阻滤波器的一个步骤。 调用格式:
[bt, at ]=lp2bs(b, a, W0,BW)。将传递函数表示的截止频率为1rad/s的模拟低通滤波器原型变换成中心频率为W0,带宽为BW的带阻滤波器。 如果已知被设计的滤波器低端截止频率为W1,高端截止频率为W2,则可以计算出W0,BW的值:W0=sqrt(W1*W2);BW=W2-W1。 5、set
功能:设置图形对象属性。(本实验仅介绍设置坐标刻度的功能) 调用格式:
set(gca,’Xtick’,xs,’Ytick’,ys);二维坐标刻度设置。
set(gca,’Xtick’,xs,’Ytick’,ys,’Ztick’,zs);三维坐标刻度设置。
xs, ys , zs可以是任何合法的实数向量,分别决定了x,y,z轴的刻度。
例:由模拟低通原型设计模拟低通滤波器
设计要求:通带截止频率fp?2000Hz,通带最大衰减Rp?1dB,阻带截止频率
fs?5000Hz,阻带最小衰减As?20dB。
解:程序如下
>> fp=2000;Omgp=2*pi*fp; %输入实际滤波器的通带截止频率 >> fs=5000;Omgs=2*pi*fs; %输入实际滤波器的阻带截止频率
>> Rp=1;As=20; %输入实际滤波器的通带,阻带截止频率 >> %计算滤波器的阶数和3dB截止频率 >> [n,Omgc]=buttord(Omgp,Omgs,Rp,As,'s');
>> %计算n阶模拟低通原型,得到左半平面零极点 >> [z0,p0,k0]=buttap(n); %求归一化的低通滤波器
>> b0=k0*real(poly(z0)); %求归一化的滤波器分子系数b0 >> a0=real(poly(p0)); %求归一化的滤波器分母系数a0 >> [H, Omg0]=freqs(b0,a0); %求归一化的滤波器频率特性
>> dbH=20*log10((abs(H)+eps)/max(abs(H))); %幅度化为分贝值 >> %变换为实际模拟低通滤波器
>> [ba,aa]=lp2lp(b0,a0,Omgc); %从归一化低通变换到实际低通 > [Ha,Omga]=freqs(ba,aa); %求实际系统的频率特性
>> dbHa=20*log10((abs(Ha)+eps)/max(abs(Ha))); %求实际系统的幅度化为分贝值 >> %为作图准备数据
>> Omg0p=fp/Omgc; %通带截止频率归一化 >> Omg0c=Omgc/2/pi/Omgc; %3分贝截止频率归一化 >> Omg0s=fs/Omgc; %阻带截止频率归一化 >> fc=floor(Omgc/2/pi); =B截止频率 >> %归一化模拟低通原型频率特性作图 >> subplot(2,2,1),plot(Omg0/2/pi,dbH);
>> axis([0,1,-50,1]);title('归一化模拟低通原型幅度'); >> subplot(2,2,1),plot(Omg0/2/pi,dbH);
>> axis([0,1,-50,1]);title('归一化模拟低通原型幅度'); >> set(gca,'Xtick',[0,Omg0p,Omg0c,Omg0s,1]); >> set(gca,'Ytick',[-50,-20,-3,-1]);grid
>> subplot(2,2,2),plot(Omg0/2/pi,angle(H)/pi*180);
>> axis([0,1,-200,200]);title('归一化模拟低通原型相位'); >> ylabel('\\phi');
>> set(gca,'Xtick',[0,Omg0p,Omg0c,Omg0s,1]); >> set(gca,'Ytick',[-180,-120,0,90,180]);grid >> %实际模拟低通频率特性作图
>> subplot(2,2,3),plot(Omga/2/pi,dbHa);
>> axis([0,2*fs,-50,1]);title('实际模拟低通幅度'); >> ylabel('dB');xlabel('频率(Hz)'); >> set(gca,'Xtick',[0,fp,fc,fs,2*fs]);
>> set(gca,'Ytick',[-50,-20,-3,-1]);grid
>> subplot(2,2,4),plot(Omga/2/pi,angle(Ha)/pi*180); >> axis([0,2*fs,-200,200]);title('实际模拟低通相位'); >> set(gca,'Xtick',[0,fp,fc,fs,2*fs]);
>> set(gca,'Ytick',[-180,-120,0,90,180]);grid >> ylabel('\\phi');xlabel('频率(Hz)');
归一化模拟低通原型幅度-1-318090-200-120-50-18000.11310.15920.2827实际模拟低通幅度-1-318090100.11310.15920.2827实际模拟低通相位1归一化模拟低通原型相位?dB-20??-500200028155000频率(Hz)100000-120-1800200028155000频率(Hz)10000
其他的:由低通到高通,带通,带阻的变化只是在变换子函数上不同而已。
例:用频率变换法设计一个切比雪夫I型模拟带通滤波器,要求通带截止频率fp1?3kHz,
fp2?5kHz,通带最大衰减Rp?1dB,下阻带截止频率fs1?2kHz,上阻带截止频率fs2?6kHz,阻带最小衰减As?30dB
解:程序如下
>> %求切比雪夫I型带阻滤波器
>> fp1=3;Op1=2*pi*fp1; %带通截止频率 >> fp2=5;Op2=2*pi*fp2;Omgp=[Op1,Op2]; >> fs1=2;Os1=2*pi*fs1; %阻带截止频率 >> fs2=6;Os2=2*pi*fs2;Omgs=[Os1,Os2];
>> bw=Op2-Op1;w0=sqrt(Op1*Op2); %求带通宽度和中心频率 >> Rp=1;As=30;
>> %计算滤波器的阶数和截止频率
>> [n,Omgc]=cheb1ord(Omgp,Omgs,Rp,As,'s');
>> %计算n阶模拟低通原型,得到左半平面零极点
>> [z0,p0,k0]=cheb1ap(n,Rp); >> b0=k0*real(poly(z0)); >> a0=real(poly(p0));
>> [H,Omg0]=freqs(b0,a0);
>> dbH=20*log10((abs(H)+eps)/max(abs(H))); >> %变换为实际的模拟带通滤波器 >> [ba,aa]=lp2bp(b0,a0,w0,bw); >> [Ha,Omga]=freqs(ba,aa);
>> dbHa=20*log10(abs(Ha)/max(abs(Ha)));
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验部分:matlab在数字信号处理中的应用(6)在线全文阅读。
相关推荐: