实验三 数字IIR滤波器的设计.docx

上传人:b****8 文档编号:9974006 上传时间:2023-05-22 格式:DOCX 页数:18 大小:252.31KB
下载 相关 举报
实验三 数字IIR滤波器的设计.docx_第1页
第1页 / 共18页
实验三 数字IIR滤波器的设计.docx_第2页
第2页 / 共18页
实验三 数字IIR滤波器的设计.docx_第3页
第3页 / 共18页
实验三 数字IIR滤波器的设计.docx_第4页
第4页 / 共18页
实验三 数字IIR滤波器的设计.docx_第5页
第5页 / 共18页
实验三 数字IIR滤波器的设计.docx_第6页
第6页 / 共18页
实验三 数字IIR滤波器的设计.docx_第7页
第7页 / 共18页
实验三 数字IIR滤波器的设计.docx_第8页
第8页 / 共18页
实验三 数字IIR滤波器的设计.docx_第9页
第9页 / 共18页
实验三 数字IIR滤波器的设计.docx_第10页
第10页 / 共18页
实验三 数字IIR滤波器的设计.docx_第11页
第11页 / 共18页
实验三 数字IIR滤波器的设计.docx_第12页
第12页 / 共18页
实验三 数字IIR滤波器的设计.docx_第13页
第13页 / 共18页
实验三 数字IIR滤波器的设计.docx_第14页
第14页 / 共18页
实验三 数字IIR滤波器的设计.docx_第15页
第15页 / 共18页
实验三 数字IIR滤波器的设计.docx_第16页
第16页 / 共18页
实验三 数字IIR滤波器的设计.docx_第17页
第17页 / 共18页
实验三 数字IIR滤波器的设计.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验三 数字IIR滤波器的设计.docx

《实验三 数字IIR滤波器的设计.docx》由会员分享,可在线阅读,更多相关《实验三 数字IIR滤波器的设计.docx(18页珍藏版)》请在冰点文库上搜索。

实验三 数字IIR滤波器的设计.docx

实验三数字IIR滤波器的设计

实验三数字IIR滤波器的设计

一.实验目的

1.加深对选频滤波概念的理解;

2.学会用MATLAB设计IIR数字低通、高通、带通和带阻滤波器。

二.实验原理

2.1数字滤波器的结构

2.1.1直接型——传递函数形式

用分子和分母多项式的系数两个向量来表示。

Num=[b

(1)b

(2)……b(nb+1)]

Den=[a

(1)a

(2)……a(na+1)]

例:

num=[1-311-2718];

den=[16122-4-1];

2.1.2零极点增益形式

用零点向量z、极点向量p以及增益K表示

num=[1-311-2718];

den=[16122-4-1];

[z,p,k]=tf2zp(num,den)

z=0.0000+3.0000i

0.0000-3.0000i

2.0000

1.0000

p=-0.5000+0.5000i

-0.5000-0.5000i

0.5000

-0.2500

k=0.0625

2.1.3级联型——二阶因子级联形式

的数组SOS表示

sos=zp2sos(z,p,k)

sos=0.0625-0.18750.12501.0000-0.2500-0.1250

1.0000-0.00009.00001.00001.00000.5000

2.1.4并联型——部分分式展开式形式

用函数residuez()把传递函数形式转换为部分分式形式。

例:

num=[1-311-2718];

den=[16122-4-1];

[r,p,c]=residuez(num,den)

r=

-5.0250-1.0750i

-5.0250+1.0750i

0.9250

27.1875

p=

-0.5000+0.5000i

-0.5000-0.5000i

0.5000

-0.2500

c=-18

然后将共轭极点两两合并成如下的一阶节和二阶节的并联。

MATLABSignalProcessingToolbox中的系统模型之间的相互转换函数有:

[z,p,k]=tf2zp(b,a)

[b,a]=zp2tf(z,p,k)

sos=zp2sos(z,p,k)

[z,p,k]=sos2zp(sos)

[b,a]=sos2tf(sos)

[r,p,k]=residuez(b,a)

[b,a]=residuz(r,p,k)

2.2IIR数字滤波器设计

2.2.1MATLAB中模拟滤波器设计函数介绍

设计流程图:

给定模拟滤波器的技术指标

采用真实角频率

(弧度/秒)

计算模拟滤波器的阶次N和截止频率Wc。

(利用buttord,cheb1ord,cheb2ord,ellipord等)

设计模拟低通滤波器原型G(p)。

(利用buttap,cheb1ap,cheb2ap,ellipap等)

模拟滤波器完全设计函数H(s)

(butter,cheby1,cheby2,ellip)

由模拟低通原型经频率变换获得所需要的低通、高通、带通和带阻滤波器H(s)。

(利用lp2lp,lp2hp,lp2bp,lp2bs)

 

1.阶次计算函数;

(1)Butterworth模拟滤波器

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

(2)ChebyshevI型模拟滤波器

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

(3)ChebyshevII型模拟滤波器

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

(4)椭圆滤波器

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

其中:

Wp,Ws分别是通带和阻带的截止频率,单位为弧度/秒。

对低通和高通,Wp,Ws都是标量,对带通和带阻,Wp,Ws是1×2的向量。

Rp,Rs分别是通带和阻带的衰减(dB)。

N是求出的相应低通滤波器的阶次,Wn是求出的3dB频率,它和Wp稍有不同。

2.模拟低通原型滤波器设计函数(注意:

得到的是归一化的传递函数)

(1)Butterworth模拟滤波器

[z,p,k]=buttap(N);

滤波器传递函数具有如下形式:

(2)ChebyshevI型模拟滤波器

[z,p,k]=cheb1ap(N,Rp)

滤波器传递函数具有如下形式:

(3)ChebyshevII型模拟滤波器

[z,p,k]=cheb2ap(N,Rs)

滤波器传递函数具有如下形式:

(4)椭圆滤波器

[z,p,k]=ellipap(N,Rp,Rs)

滤波器传递函数具有如下形式:

其中,N是欲设计的低通原型滤波器的阶次,z,p,k是设计出的极点、零点及增益。

3.频率变换函数

将模拟低通原型转换为实际的低通、高通、带通及带阻滤波器。

(1)[B,A]=lp2lp(b,a,wo),

(2)[B,A]=lp2hp(b,a,wo)

(3)[B,A]=lp2bp(b,a,wo,Bw),

(4)[B,A]=lp2bs(b,a,wo,Bw)

b,a是AFLP的分子、分母的系数向量,B,A是转换后的的分子、分母的系数向量;在

(1)、

(2)中,wo是低通或高通滤波器的截止频率;在(3)、(4)中,wo是带通或带阻滤波器的中心频率,Bw是其带宽。

4.模拟滤波器完全设计函数(=2+3)

(1)Butterworth模拟滤波器

[b,a]=butter(N,Wn,’s’)%低通或带通滤波器

[b,a]=butter(N,Wn,’high’,’s’)%高通滤波器

[b,a]=butter(N,Wn,’stop’,’s’)%带阻滤波器

(2)ChebyshevI型模拟滤波器

[b,a]=cheby1(N,Rp,Wn,’s’)%低通或带通滤波器

[b,a]=cheby1(N,Rp,Wn,’high’,’s’)%高通滤波器

[b,a]=cheby1(N,Rp,Wn,’stop’,’s’)%带阻滤波器

(3)ChebyshevII型模拟滤波器

[b,a]=cheby2(N,Rs,Wn,’s’)%低通或带通滤波

[b,a]=cheby2(N,Rs,Wn,’high’,’s’)%高通滤波器

[b,a]=cheby2(N,Rs,Wn,’stop’,’s’)%带阻滤波器

(4)椭圆滤波器

[b,a]=ellip(N,Rp,Rs,Wn,’s’)%低通或带通滤波器

[b,a]=ellip(N,Rp,Rs,Wn,’high’,’s’)%高通滤波器

[b,a]=ellip(N,Rp,Rs,Wn,’stop’,’s’)%带阻滤波器

例1:

设计一个Butterworth模拟低通滤波器,通带截至频率fp=5KHz,阻带截至频率fs=10KHz;通带最大衰减Ap=3,阻带最小衰减As=30。

画出该滤波器的频率响应。

%DesignaButterworthAnaloglowpassfilter

%Specifications

Wp=5000*2*pi;

Ws=10000*2*pi;

Ap=3;As=30;

%ComputeorderandCutofffrequency

[N,Wc]=buttord(Wp,Ws,Ap,As,'s');

%designanaloglowpassfilterprototype

[z,p,k]=buttap(N)%归一化的传递函数G(p)

[b,a]=zp2tf(z,p,k);

%frequencytransform,得到反归一化传递函数G(s)

[bt,at]=lp2lp(b,a,Wp);

w=0:

20*2*pi:

20000*2*pi;

H=freqs(bt,at,w);

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

xlabel('Frequency(Hz)');

ylabel('Magnitude');

title('ButterworthAnaloglowpassfilter');

grid

%Usingfilterwholedesignfuction

[bb,aa]=butter(N,Wc,'s');

w=0:

20*2*pi:

20000*2*pi;

HH=freqs(bb,aa,w);

subplot(212),plot(w/(2*pi),abs(HH));

xlabel('Frequency(Hz)');

ylabel('Magnitude');

title('ButterworthAnaloglowpassfilter');

grid

 

例2:

设计一个Chebyshev模拟带通滤波器,通带截至频率分别为1000Hz和2000Hz,阻带截至频率分别为500Hz和2500Hz;通带最大衰减Ap=1,阻带最小衰减As=100。

画出该滤波器的频率响应。

%DesignaChebyshevAnalogbandpassfilter

%Specifications

Wp=[10002000]*2*pi;

Ws=[5002500]*2*pi;

Ap=1;As=100

%ComputeorderandCutofffrequency

[N,Wc]=cheb1ord(Wp,Ws,Ap,As,'s');

%designanaloglowpassfilterprototype

[z,p,k]=cheb1ap(N,Ap);

[b,a]=zp2tf(z,p,k);

%findthecenterfrequencyandbandwidth

Wo=sqrt(Wp

(1)*Wp

(2));

Bw=Wp

(2)-Wp

(1);

%frequencytransform

[bt,at]=lp2bp(b,a,Wo,Bw);

w=0:

20*2*pi:

4000*2*pi;

H=freqs(bt,at,w);

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

xlabel('Frequency(Hz)');

ylabel('Magnitude');

title('ChebyshevAnalogbandpassfilter');grid

%Usingfilterwholedesignfuction

[bb,aa]=cheby1(N,Ap,Wc,'s');

w=0:

20*2*pi:

4000*2*pi;

H=freqs(bb,aa,w);

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

xlabel('Frequency(Hz)');

ylabel('Magnitude');

title('ChebyshevAnalogbandpassfilter');grid

 

给定数字滤波器的技术指标

2.2.2MATLAB中IIR数字滤波器设计函数

采用归一化频率

0~1对应

采用真实角频率

(弧度/秒)

计算数字滤波器的

阶次N和截止频率Wc。

(利用buttord,cheb1ord,

cheb2ord,ellipord等)

模拟滤波器完全设计函数H(s)

(butter,cheby1,cheby2,ellip)

数字滤波器完全设计函数H(z)

(butter,cheby1,cheby2,ellip)

 

1.阶次计算函数;

(1)Butterworth数字滤波器

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

(2)ChebyshevI型数字滤波器

[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs)

(3)ChebyshevII型数字滤波器

[N,Wn]=cheb2ord(Wp,Ws,Rp,Rs)

(4)椭圆数字滤波器

[N,Wn]=ellipord(Wp,Ws,Rp,Rs)

其中:

Wp,Ws分别是通带和阻带的数字标准化频率,取值范围在0~1之间,标准化频率1对应的数字频率为

对低通和高通,Wp,Ws都是标量,对带通和带阻,Wp,Ws是1×2的向量。

Rp,Rs分别是通带和阻带的衰减(dB)。

N是求出的相应低通滤波器的阶次,Wn是求出的3dB频率,它和Wp稍有不同。

2.数字滤波器完全设计函数(采用的是bilinear变换)

(1)Butterworth数字滤波器

[b,a]=butter(N,Wn)%低通或带通滤波器

[b,a]=butter(N,Wn,’high’)%高通滤波器

[b,a]=butter(N,Wn,’stop’)%带阻滤波器

(2)ChebyshevI型数字滤波器

[b,a]=cheby1(N,Rp,Wn)%低通或带通滤波器

[b,a]=cheby1(N,Rp,Wn,’high’)%高通滤波器

[b,a]=cheby1(N,Rp,Wn,’stop’)%带阻滤波器

(4)ChebyshevII型数字滤波器

[b,a]=cheby2(N,Rs,Wn)%低通或带通滤波器

[b,a]=cheby2(N,Rs,Wn,’high’)%高通滤波器

[b,a]=cheby2(N,Rs,Wn,’stop’)%带阻滤波器

(4)椭圆滤波器

[b,a]=ellip(N,Rp,Rs,Wn,’s’)%低通或带通滤波器

[b,a]=ellip(N,Rp,Rs,Wn,’high’)%高通滤波器

[b,a]=ellip(N,Rp,Rs,Wn,’stop’)%带阻滤波器

3.impinvar

用冲激响应不变法实现模拟滤波器到数字滤波器的变换。

[Bz,Az]=impinvar(B,A,Fs)

4.bilinear双线性变换

用双线性变换实现模拟滤波器到数字滤波器的变换。

[Bz,Az]=bilinear(B,A,Fs)

式中B,A分别是模拟滤波器传递函数G(s)的分子、分母多项式的系数向量,Bz,Az分别是数字滤波器系统函数H(z)的分子、分母多项式的系数向量,Fs是抽样频率。

例3:

设计一个Butterworth数字低通滤波器,通带截至频率fp=100Hz,阻带截至频率fs=300Hz,采样频率Fs=1000Hz;通带最大衰减Ap=3,阻带最小衰减As=20。

画出该滤波器的频率响应。

用该滤波器对50Hz和400Hz的两个正弦信号之和

x=sin(2*pi*50*n/Fs)+sin(2*pi*400*n/Fs)进行滤波,画出滤波前后的信号波形。

%DesignaButterworthDigitallowpassfilter

%UsingbilinearTrasform

%DFspecifications

fp=100;fs=300;Fs=1000;

Ap=3;As=20;

T=1/Fs;

%Convertdigitalfrequencytoanalogfrequency

Wp=(2/T)*tan(fp*pi/Fs);

Ws=(2/T)*tan(fs*pi/Fs);

%Computeorderandcutofffrequency

[N,Wc]=buttord(Wp,Ws,Ap,As,'s')

%computertheanalogfilterprototype

[z,p,k]=buttap(N);

[B,A]=zp2tf(z,p,k)

%frequencytransform

[b,a]=lp2lp(B,A,Wc);

%bilinearTrasform

[bz,az]=bilinear(b,a,1/T)

disp('Butterworthlowpassfilter');

%w=0:

0.01*pi:

pi;

Nn=128;

freqz(bz,az,Nn,Fs);

%-------------------------------------

%NomalizedAngularFrequency

Wp=fp*2/Fs;

Ws=fs*2/Fs;

%Computeorderandcutofffrequency

[N,Wc]=buttord(Wp,Ws,Ap,As);

%Desighdigitalhighpassfilter

[dz,cz]=butter(N,Wc)

%output

figure,

w=0:

0.01*pi:

pi;

freqz(dz,cz,w);

%-------------------------------------

n=[0:

100];

x=sin(2*pi*50*n/Fs)+sin(2*pi*400*n/Fs);

imp=[1;zeros(100,1)];

h=filter(bz,az,imp);

y=conv(h,x);

figure;

subplot(211),plot(n,x);xlabel('n');ylabel('Inputsignal');grid

subplot(212),plot(n,y(21:

121));

xlabel('n');ylabel('Outputsignal');grid

B=001

A=1.00001.41421.0000

bz=0.10530.21070.1053

az=1.0000-0.89580.3172

三、实验内容:

1.用双线性变换法设计ButterworthIIR数字低通滤波器,满足下列指标:

通带截止频率

阻带截止频率

,通带衰减小于1dB,阻带衰减大于15dB。

写出滤波器归一化传输函数

和最终的系统函数

的表达式,画出滤波器的频率响应曲线。

2.用双线性变换法设计ButterworthIIR数字高通滤波器,满足下列指标:

通带截止频率

阻带截止频率

,通带衰减小于3dB,阻带衰减大于15dB。

写出滤波器的归一化传输函数

和最终的系统函数

的表达式,画出滤波器的频率响应曲线。

3.用双线性变换法设计ButterworthIIR数字带通滤波器,满足下列指标:

通带范围为

通带衰减小于3dB,

以下和

以上为阻带,阻带衰减大于18dB。

写出滤波器归一化传输函数

和最终的系统函数

的表达式,画出滤波器的频率响应曲线。

4.用双线性变换法设计ButterworthIIR数字带阻滤波器,满足下列指标:

阻带范围为

阻带衰减大于13dB,

以下和

以上为阻带,通带衰减小于3dB。

写出滤波器归一化传输函数

和最终的系统函数

的表达式,画出滤波器的频率响应曲线。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2