设计一个数字带通滤波器.doc
《设计一个数字带通滤波器.doc》由会员分享,可在线阅读,更多相关《设计一个数字带通滤波器.doc(7页珍藏版)》请在冰豆网上搜索。
实验总成绩:
——————————————————————————装订线—————————————————————————————————
报告份数:
西安邮电大学
数字信号处理课内上机报告
专业班级:
学生姓名:
学号(班内序号):
年月日
题目:
设计一个数字带通滤波器,通带范围为0.3pirad到0.4pi,通带最大衰减为3db,阻带最小衰减为18db,0.2pi以下和0.5pi以上范围为阻带。
采用切比雪夫型,利用双线性变换法设计之
源程序
%所设计的数字滤波器的指标
Ts=0.1,Fs=1/Ts,Rp=3,Rs=18;
wp1=0.3*pi,wp2=0.4*pi;
ws1=0.2*pi,ws2=0.5*pi;
%频率的预畸变
Wp1=(2/T)*tan(wp1/2);
Wp2=(2/T)*tan(wp2/2);
Wp=[Wp1,Wp2];%模拟滤波器的通带截止频率
Ws1=(2/T)*tan(ws1/2);
Ws2=(2/T)*tan(ws2/2);
Ws=[Ws1,Ws2];%模拟滤波器的阻带截止频率BW=Ws2-Ws1;%模拟滤波器的带宽
%BW=Wp2-Wp1;
Omegaw0=sqrt(Ws1*Ws2); %模拟滤波器的中心频率
%Omegaw0=sqrt(Wp1*Wp2);
%求模拟低通滤波器的阶数与边缘频率
[N,OmegaC]=cheb2ord(Wp,Ws,Rp,Rs,'s');
%[N,OmegaC]=cheb1ord(Wp,Ws,Rp,Rs,'s')
%求切比雪夫模拟低通滤波器的零、极点与增益
[z0,p0,k0]=cheb2ap(N,Rs);
%[z0,p0,k0]=cheb1ap(N,Rp);
%设计归一化的模拟原型带通滤波器
%求原型滤波器的分子系数
AnalogB=k0*real(poly(z0));
%求原型滤波器的分母系数
AnalogA=real(poly(p0));
%模拟低通到模拟带通的分子、分母系数的变换
[BandB,BandA]=lp2bp(AnalogB,AnalogA,Omegaw0,BW);
%双线性变换:
模拟带通与数字带通的分子分母系数的变换
[DigitalB,DigitalA]=bilinear(BandB,BandA,Fs);
%变为二阶节级联结构
[sos,G]=tf2sos(DigitalB,DigitalA);
%求数字带通滤波器的幅频、相频特性、及其群延迟
%求数字带通滤波器的幅频特性
[Hz,Wz]=freqz(DigitalB,DigitalA,1024,'whole');
%将数字带通滤波器的幅频特性转化为分贝表示
dbHz=20*log10((abs(Hz)+eps)/max(abs(Hz)));
%求数字带通滤波器的相频特性
φ=angle(Hz)
%求数字带通滤波器的群延迟特性
grd=grpdelay(DigitalB,DigitalA,Wz);
%作图
subplot(2,3,1);plot(Wz/pi,abs(Hz));title('幅频响应');
xlabel(''),ylabel('幅度:
|Hz|');axis([0,1,0,1.1]);
set(gca,'XTickMode','manual','XTick',[0,ws1/pi,wp1/pi,wp2/pi,ws2/pi,1]);grid;
subplot(2,3,4);plot(Wz/pi,dbHz);title('模值(dB)');
xlabel('频率(单位:
\pi)');ylabel('分贝(dB)');axis([0,1,-40,5]);
set(gca,'XTickMode','manual','XTick',[0,ws1/pi,wp1/pi,wp2/pi,ws2/pi,1]);
set(gca,'YTickmode','manual','YTick',[-50,-30,-2,0]);
set(gca,'YTickLabelMode','manual','YTickLabels',['50';'30';'2';'0']);grid;
subplot(2,3,2);plot(Wz/pi,angle(Hz)/pi);title('相频响应');
xlabel('');ylabel('单位:
\pi');axis([0,1,-1,1]);
set(gca,'XTickMode','manual','XTick',[0,ws1/pi,wp1/pi,wp2/pi,ws2/pi,1]);grid;
subplot(2,3,5);title(零极点图');
ylabel('单位:
\dB');xlabel('单位:
\pi');
zplane(DigitalB,DigitalA);axis([-1.1,1.1,-1.1,1.1]);
subplot(2,3,3);plot(Wz/pi,grd);title('群延迟')
xlabel('频率(单位:
\pi)');ylabel('样本');axis([0,1,0,8])
set(gca,'XTickMode','manual','XTick',[0,ws1/pi,wp1/pi,wp2/pi,ws2/pi,1]);%画高刻度线
set(gca,'YTickmode','manual','YTick',[0:
0.5:
10]);grid
set(gcf,'color','w')%置图形背景色为白色
——————————————————————————装订线—————————————————————————————————
指导教师评语:
实验成绩:
指导(辅导)教师:
-6-