用MATLAB设计IIR数字滤波器 实验七

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验七:用MATLAB 设计IIR 数字滤波器

1、用双线性变换法设计切比雪夫Ⅱ型数字滤波器,列出传递函数并描绘模拟和数字滤波器的幅频响应曲线。

① 设计一个数字低通滤波器,要求:ωp=0.2П,Rp=1dB ;阻带:ωs=0.35П,As=15dB , 滤波器采样频率Fs=10Hz 。 程序清单如下:

wp=0.2*pi; %滤波器的通带截止频率 ws=0.35*pi; %滤波器的阻带截止频率 Rp=1;As=15; %滤波器的通阻带衰减指标

ripple=10^(-Rp/20); %滤波器的通带衰减对应的幅度值 Attn=10^(-As/20); %滤波器的阻带衰减对应的幅度值 %转换为模拟滤波器的技术指标 Fs=10;T=1/Fs;

Omgp=(2/T)*tan(wp/2);%原型通带频率的预修正 Omgs=(2/T)*tan(ws/2);%原型阻带频率的预修正 %模拟原型滤波器计算

[n,Omgc]=cheb2ord(Omgp,Omgs,Rp,As,'s')

[z0,p0,k0]=cheb2ap(n,As); %设计归一化的cheb2型模拟滤波器原型 ba1=k0*real(poly(z0)); %求原型滤波器的系数b aa1=real(poly(p0));

[bb,aa]=lp2lp(ba1,aa1,Omgc); %变换为模拟低通滤波器 %用双线性变换法计算数字滤波器系数 [bd,ad]=bilinear(bb,aa,Fs) %求数字系统的频率特性

[H,w]=freqz(bd,ad);

dbH=20*log10((abs(H)+eps)/max(abs(H))); subplot(2,2,1);plot(w/pi,abs(H));

ylabel('|H|');title('幅度响应');axis([0,1,0,1.1]);

set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]);

set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1]);grid subplot(2,2,2);plot(w/pi,angle(H)/pi);

ylabel('\phi');title('相位响应');axis([0,1,-1,1]);

set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]); set(gca,'YTickMode','manual','YTick',[-1,0,1]);grid subplot(2,2,3);plot(w/pi,dbH);title('幅度响应(dB)');

课程名称:数字信号处理 实验成绩: 指导教师: 实 验 报 告

院系: 信息工程学院 班级: 学号: 姓名:

日期: 2011. 12.26

ylabel('dB');xlabel('频率(\pi)');axis([0,1,-40,5]);

set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]); set(gca,'YTickMode','manual','YTick',[-50,-15,-1,0]);grid subplot(2,2,4);zplane(bd,ad);

axis([-1.1,1.1,-1.1,1.1]);title('零极点图');

程序运行结果如下:

n = 3 Omgc = 10.2282 bd =

0.1624 0.0056 0.0056 0.1624 ad =

1.0000 -1.4073 0.9056 -0.1623

0.20.35

1

00.1778

0.8913

1|H |

幅度响应

0.20.35

1

-10

1

φ

相位响应

0.20.35

1

-15

-1

0幅度响应(dB)

d B

频率(π)

-1

01

-1-0.500.5

1

Real Part

I m a g i n a r y P a r t

零极点图

由频率特性曲线可知,该设计结果再通阻带截止频率处能满足R p ≤1dB 、As ≥20dB 的设计指标要求,系统的极点全部在单位圆内,是一个稳定系统。由n=3可知,由3阶的模拟低通滤波器原型用双线性变换法设计出来的切比雪夫Ⅱ型数字低通滤波器是一个3阶系统。其传递函数为:

(直接型)2

113

213

219658.0111623.09056.04073.111624.00056.00056.01624.0)(---------+-+-+-+++=z

z z z z z z z z z H

②设计一个数字高通滤波器,要求:ωp=0.35П,Rp=1dB;阻带:ωs=0.2П,As=15dB,滤波器采样频率Fs=10Hz。

程序清单如下:

wp=0.35*pi; %滤波器的通带截止频率

ws=0.2*pi; %滤波器的阻带截止频率

Rp=1;As=15; %滤波器的通阻带衰减指标

ripple=10^(-Rp/20); %滤波器的通带衰减对应的幅度值

Attn=10^(-As/20); %滤波器的阻带衰减对应的幅度值

%转换为模拟滤波器的技术指标

Fs=10;T=1/Fs;

Omgp=(2/T)*tan(wp/2);%原型通带频率的预修正

Omgs=(2/T)*tan(ws/2);%原型阻带频率的预修正

%模拟原型滤波器计算

[n,Omgc]=cheb2ord(Omgp,Omgs,Rp,As,'s')

[z0,p0,k0]=cheb2ap(n,As); %设计归一化的cheb2型模拟滤波器原型

ba1=k0*real(poly(z0)); %求原型滤波器的系数b

aa1=real(poly(p0));

[bb,aa]=lp2hp(ba1,aa1,Omgc); %变换为模拟低通滤波器

%用双线性变换法计算数字滤波器系数

[bd,ad]=bilinear(bb,aa,Fs)

[sos,g]=tf2sos(bd,ad) %转换成级联型

%求数字系统的频率特性

[H,w]=freqz(bd,ad);

dbH=20*log10((abs(H)+eps)/max(abs(H)));

subplot(2,2,1);plot(w/pi,abs(H));

ylabel('|H|');title('幅度响应');axis([0,1,0,1.1]);

set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]);

set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1]);grid

subplot(2,2,2);plot(w/pi,angle(H)/pi);

ylabel('\phi');title('相位响应');axis([0,1,-1,1]);

set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]);

set(gca,'YTickMode','manual','YTick',[-1,0,1]);grid

subplot(2,2,3);plot(w/pi,dbH);title('幅度响应(dB)');

ylabel('dB');xlabel('频率(\pi)');axis([0,1,-40,5]);

set(gca,'XTickMode','manual','XTick',[0,0.2,0.35,1]);

set(gca,'YTickMode','manual','YTick',[-50,-15,-1,0]);grid

subplot(2,2,4);zplane(bd,ad);

axis([-1.1,1.1,-1.1,1.1]);title('零极点图');

程序运行结果如下:

n =

3

相关文档
最新文档