IIR滤波器设计.docx

上传人:b****4 文档编号:27518069 上传时间:2023-07-02 格式:DOCX 页数:14 大小:234.03KB
下载 相关 举报
IIR滤波器设计.docx_第1页
第1页 / 共14页
IIR滤波器设计.docx_第2页
第2页 / 共14页
IIR滤波器设计.docx_第3页
第3页 / 共14页
IIR滤波器设计.docx_第4页
第4页 / 共14页
IIR滤波器设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

IIR滤波器设计.docx

《IIR滤波器设计.docx》由会员分享,可在线阅读,更多相关《IIR滤波器设计.docx(14页珍藏版)》请在冰豆网上搜索。

IIR滤波器设计.docx

IIR滤波器设计

实验五、双线性变换法设计IIR数字滤波器

一、实验目的:

1、熟悉用双线性变换法设计IIR数字滤波器的原理与方法。

2、掌握数字滤波器的计算机仿真方法。

3、熟悉Butterworth滤波器设计方法及特点

二、实验原理

(一)、IIR数字滤波器的设计步骤:

①按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标;

②根据模拟滤波器技术指标设计为响应的模拟低通滤波器;

③跟据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;

④如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。

在MATLAB中,经典法设计

数字滤波器主要采用以下步骤:

 

IIR数字滤波器设计步骤

(二)、用模拟滤波器设计数字滤波器的方法

1、冲激响应不变法:

冲激响应不变法是从时域出发,要求数字滤波器的冲激响应h(n)对应于模拟滤波器h(t)的等间隔抽样。

优点:

时域逼近良好;保持线性关系。

缺点:

频域响应混叠。

只适用于限带低通滤波器和带通滤波器

 

2、双线性变换法

优点:

克服了频域混叠

缺点:

高频时会引起畸变

 

1)冲激响应不变法impinvar

格式:

[BZ,AZ]=impinvar(B,A,Fs)

功能:

把具有[B,A]模拟滤波器传递函数模型转换为采样频率为Fs的数字滤波器的传递函数模型[BZ,AZ],Fs默认值为1。

例:

一个4阶的Butterworth模拟低通滤波器的系统函数如下:

试用冲激响应不变法求出Butterworth模拟低通数字滤波器的系统函数。

num=1;

den=[1,sqrt(5),2,sqrt

(2),1];

[num1,den1]=impinvar(num,den)

2)双线性变换法bilinear

格式一:

[Zd,Pd,Kd]=bilinear(Z,P,K,Fs)

功能:

把模拟滤波器的零极点模型转换成数字滤波器的零极点模型,Fs是采样频率

格式二:

[numd,dend]=bilinear(num,den,Fs)

功能:

把模拟滤波器的传递函数模型转换为数字滤波器的传递函数模型。

例:

一个三阶的模拟Butterworth模拟低通滤波器的系统函数如下:

,试用双线性变换法求出数字Butterworth数字低通滤波器的系统函数。

num=1;

den=[1,sqrt(3),sqrt

(2),1];

[num1,den1]=bilinear(num,den,1)

3)IIR数字滤波器的频率变换实现

步骤:

1按一定的规则将数字滤波器的技术指标转换为模拟低通滤波器的技术指标

2根据转换后的技术指标使用滤波器阶数函数,确定滤波器的最小阶数N和截止频率Wc

3利用最小阶数N产生模拟低通原型

4利用截止频率Wc把模拟低通滤波器原型转换为模拟低通、高通、带通、带阻滤波器

5利用冲激响应不变法或双线性变换法把模拟滤波器转换为数字滤波器

表一IIR滤波器阶次估计

函数名

功能说明

buttord

计算Butterworth滤波器的阶次及截止频率

cheb1ord

计算ChebyshevⅠ滤波器的阶次

cheb2ord

计算ChebyshevⅡ滤波器的阶次

ellipord

计算椭圆滤波器的最小阶次

表二模拟低通滤波器原型设计

函数名

功能说明

buttap

Butterworth模拟低通滤波器原型设计

cleb1ap

ChebyshevⅠ模拟低通滤波器原型设计

cheb2ap

ChebyshevⅡ模拟低通滤波器原型设计

ellipap

椭圆模拟低通滤波器原型设计

表三模拟滤波器变换函数

函数名

功能说明

lp2bp

模拟低通转换为带通

lp2bs

模拟低通转换为带阻

lp2hp

模拟低通转换为高通

lp2lp

改变模拟低通的截止频率

(三)、数字滤波器的设计

1.数字滤波器的设计参数

滤波器的4个重要的通带、阻带参数为:

通带截止频率(Hz)

阻带起始频率(Hz)

通带内波动(dB),即通带内所允许的最大衰减;

阻带内最小衰减

设采样速率(即奈奎斯特速率)为

,将上述参数中的频率参数转化为归一化角频率参数:

通带截止角频率(rad/s),

阻带起始角频率(rad/s),

通过以上参数就可以进行离散滤波器的设计。

2、巴特沃斯滤波器设计

1)巴特沃斯滤波器阶数的选择:

在已知设计参数

之后,可利用“buttord”命令可求出所需要的滤波器的阶数和3dB截止频率,其格式为:

[n,Wn]=buttord[Wp,Ws,Rp,Rs],其中Wp,Ws,Rp,Rs分别为通带截止频率、阻带起始频率、通带内波动、阻带内最小衰减。

返回值n为滤波器的最低阶数,Wn为3dB截止频率。

2)巴特沃斯滤波器系数计算:

由巴特沃斯滤波器的阶数n以及3dB截止频率Wn可以计算出对应传递函数H(z)的分

子分母系数,MATLAB提供的命令如下:

(a)巴特沃斯低通滤波器系数计算:

[b,a]=butter(n,Wn),其中b为H(z)的分子多项式系数,a为H(z)的分母多项式系数

(b)巴特沃斯高通滤波器系数计算:

[b,a]=butter(n,Wn,’High’)

(c)巴特沃斯带通滤波器系数计算:

[b,a]=butter(n,[W1,W2]),其中[W1,W2]为截止频率,是2元向量,需要注意的是该函数返回的是2*n阶滤波器系数。

(d)巴特沃斯带阻滤波器系数计算:

[b,a]=butter(ceil(n/2),[W1,W2],’stop’),其中[W1,W2]为截止频率,是2元向量,需要注意的是该函数返回的也是2*n阶滤波器系数。

三、巴特沃斯滤波器设计实例:

例题1:

采样速率为8000Hz,要求设计一个低通滤波器,

=2100Hz,

=2500Hz,

=3dB,

=25dB。

用直接设计法

程序如下:

fn=8000;%采样频率

fp=2100;%通带截止频率

fs=2500;%阻带起始频率

Rp=3;%通带最大衰减

Rs=25;%阻带最小衰减

Wp=fp/(fn/2);%计算归一化角频率

Ws=fs/(fn/2);

[n,Wn]=buttord(Wp,Ws,Rp,Rs);%计算阶数和截止频率

[b,a]=butter(n,Wn);%计算H(z)分子、分母多项式系数

[H,F]=freqz(b,a,1000,8000);%计算H(z)的幅频响应,freqz(b,a,计算点数,采样速率)

subplot(2,1,1)

plot(F,20*log10(abs(H)))%画出幅频特性图

xlabel('Frequency(Hz)');ylabel('Magnitude(dB)')

title('低通滤波器')

axis([04000-303]);gridon

pha=angle(H)*180/pi;

subplot(2,1,2)

plot(F,pha);gridon%画出相频特性图

xlabel('Frequency(Hz)');

ylabel('phase');

用双线性变换法

wp=2100*2*pi;%利用

ws=2500*2*pi;

Rp=3;

Rs=25;

Fs=8000;

Ts=1/Fs;

%选择滤波器的最小阶数

[N,Wn]=buttord(wp,ws,Rp,Rs,'s');%创建butterworth模拟滤波器

[Z,P,K]=buttap(N);

%把滤波器零极点模型转化为传递函数模型

[Bap,Aap]=zp2tf(Z,P,K);

%把模拟滤波器原型转换成截至频率为Wn的低通滤波器

[b,a]=lp2lp(Bap,Aap,Wn);

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

[bz,az]=bilinear(b,a,Fs);

%绘制频率响应曲线

[H,W]=freqz(bz,az);

plot(W*Fs/(2*pi),abs(H));

grid

xlabel('频率/Hz')

ylabel('幅度')

例题2:

模拟原型直接变换法设计数字滤波器:

已知四阶归一化低通巴特沃斯模拟滤波器系统函数为

,编写MATLAB程序实现从

设计3dB截止频率为

,设采样周期为T=1,的四阶低通巴特沃斯数字滤波器。

程序如下:

步骤一:

将设计内容题所给归一化巴特沃斯低通滤波器以3dB截止频率为

进行去归一化。

步骤二:

用双线性变化法将低通模拟滤波器

变换为低通数字滤波器

设计程序如下:

clear;

T=1;fs=1/T;N=4;

wc=pi/2;

omegach=2*tan(wc/2)/T;%模拟滤波器的截止频率

M=1;

N=[1,2.6131,3.4142,2.6131,1];

[h,w]=freqs(M,N,512);%模拟滤波器的幅频响应

subplot(2,1,1);

plot(w,20*log10(abs(h)));

axis([0,10,-90,0]),gridon;

xlabel('Hz');ylabel('幅度');title('归一化模拟低通滤波器');

[Ms,Ns]=lp2lp(M,N,omegach);%对低通滤波器进行频率变换

[hs,ws]=freqs(Ms,Ns,512);%模拟滤波器的幅频响应

subplot(2,1,2);plot(ws,20*log10(abs(hs)));

grid;

axis([0,10,-90,0]);

xlabel('Hz');ylabel('幅度');title('去归一化模拟低通滤波器');

[Mz,Nz]=bilinear(Ms,Ns,1/T);%对模拟滤波器双线性变换

[h1,w1]=freqz(Mz,Nz);%数字滤波器的幅频响应

figure

plot(w1/pi,20*log10(abs(h1)));grid;

xlabel('ω/π');ylabel('幅度(dB)');title('数字低通滤波器');

axis([0,1,-160,0])

四、实验内容

1、采样速率为10000Hz,要求设计一个巴特沃斯带阻滤波器,

=[1000Hz,1500Hz],

=[1200Hz,1300Hz],

=3dB,

=30dB。

提示:

[b,a]=butter(N,Wc,'stop')

2、采样速率为10000Hz,要求设计一个带通滤波器,

=[1000Hz,1500Hz],

=[600Hz,1900Hz],

=3dB,

=20dB。

3、已知四阶归一化低通巴特沃斯模拟滤波器系统函数为

,编写MATLAB程序实现从

设计3dB截止频率为

的四阶高通巴特沃斯数字滤波器。

4、设计低通滤波器,把输入信号

中的三个信号分离出来。

要求:

画出滤波前后信号的波形及频谱及低通滤波器的幅频响应。

提示:

[b,a]=butter(n,Wn);%计算H(z)分子、分母多项式系数

y=filter(b,a,x);%对输入的信号进行滤波

五、思考题:

用双线性变换法设计数字滤波器过程中,变换公式

中T的取值对设计结果有无影响?

为什么?

程序如下:

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1