大连理工大学数字信号处理实验实验三——IIR滤波器的设计.doc
文本预览下载声明
大连理工大学实验报告
学院(系): 电信 专业: 电子信息工程 班级: 电子1204
姓 名: 梁宇 学号: 201281001 组: ___
实验时间: 实验室: 实验台:
指导教师签字: 成绩:
实验三、IIR数字滤波器设计与信号滤波
一、实验题目和代码
1. 用双线性变换法设计一个巴特沃斯IIR低通数字滤波器。设计指标参数为:在通带内频率低于0.4*pi 时,最大衰减小于2dB ;在阻带内[0.6*pi, pi] 频率区间上,最小衰减大于15dB 。要求:
(1)用buttord,buttap,zp2tf,lp2lp,bilinear等指令实现
(2)用buttord,butter指令实现
并分别绘制两种设计方法的频响曲线
实验源程序:
% 方法一:用buttord,buttap,zp2tf,lp2lp,bilinear等指令实现
%求模拟滤波器参数,
clc;clear all; close all
Rp=2; Rs=15;
wp=0.4*pi; ws=0.6*pi;
Fs=1;
Wo=wp;
wap=2*Fs*tan(wp/2);was=2*Fs*tan(ws/2);
[N,Wn]=buttord(wap,was,Rp,Rs,s); %选择滤波器的最小阶数
[Z,P,K]=buttap(N); %创建butterworth模拟滤波器
[b,a]=zp2tf(Z,P,K); %把滤波器零极点模型转化为传递函数模型
[B,A]=lp2lp(b,a,Wo); %把模拟滤波器原型转换成截至频率为Wn的低通滤波器
%用双线性变换法实现模拟滤波器到数字滤波器的转换
[bz,az]=bilinear(B,A,Fs);
%绘制频率响应曲线
[H,W]=freqz(bz,az);
figure
plot(W,abs(H));
grid
xlabel(频率/弧度)
ylabel(频率响应幅度)
axis([0 pi 0 1.1])
figure
plot(W,20*log10(abs(H)));
grid
xlabel(频率/弧度)
ylabel(对数幅频响应/dB)
axis([0 pi -700 10])
实验结果:
频响曲线
对数频响曲线
% 方法二:用buttord,butter指令实现
%设置滤波器参数
clc;clear all;
Rp=2; Rs=15;
wp=0.4*pi/pi; ws=0.6*pi/pi;
Fs=1;
%选择滤波器的最小阶数
[N,Wn]=buttord(wp,ws,Rp,Rs);
%用双线性变换法的butter指令直接实现IIR数字滤波器的设计
[bz,az]= butter(N,Wn)
%绘制频率响应曲线
[H,W]=freqz(bz,az);
figure
plot(W,abs(H));
grid
xlabel(频率/弧度)
ylabel(频率响应幅度)
axis([0 pi 0 1.1])
figure
plot(W,20*log10(abs(H)));
grid
xlabel(频率/弧度)
ylabel(对数幅频响应/dB)
axis([0 pi -700 10])
实验结果:
频响曲线
对数频响曲线
2.用buttord和butter函数,直接,通带内衰减不大于1dB,阻带起始频率为,阻带内衰减不小于15dB,观察其频谱响应的特点。
源程序:
% Word上的第一题用buttord,butter指令直接设计一个巴特沃茨高通滤波器
%设置滤波器参数
clc;clear all;
Rp=1; Rs=15;
wp=0.6*pi/pi; ws=0.4*pi/pi;
Fs=1;
%选择滤波器的最小阶数
[N,Wn]=buttord(wp,ws,Rp,Rs);
%用双线性变换法的butter指令直接实现IIR数字滤波器的设计
[bz,az]= butter(N,Wn,high)
%绘制频率响应曲线
[H,W]=freqz(bz,az);
figure
plot(W,abs(H));
grid
xlabel(频率/弧度)
ylabe
显示全部