IIR数字滤波器设计及其MATLAB实现.doc

合集下载

利用MATLAB设计IIR滤波器

利用MATLAB设计IIR滤波器

河海大学常州校区
利用MATLAB设计IIR滤波器 11/ 29 利用MATLAB设计IIR滤波器 11/ MATLAB设计IIR
6;Wn=0.2329; n = 6;Wn=0.2329; b=[0.0007 0.0044 0.0111 0.0148 0.0111 0.0044 0.0007]; 0.0007]; 0.0544]; a=[1.0000 -3.1836 4.6222 -3.7795 1.8136 -0.4800 0.0544];
利用MATLAB设计IIR滤波器 利用MATLAB设计IIR滤波器 3/ 29 MATLAB设计IIR
1、根据频域指标设计
设计方法 滤波器
巴特沃思
函数及调用格式
[n,Wn]=buttord(Wp,Ws,Rp,Rs, s ) [n,Wn]=buttord(Wp,Ws,Rp,Rs,’s’)
根 据 频 域 指 标 设 计
函数格式: 函数格式:
[b,a]=func (…)
func: func:
butter(巴特沃思)、 butter(巴特沃思)、 cheby1(切比雪夫I型)、 cheby1(切比雪夫I cheby2(切比雪夫II II型 cheby2(切比雪夫II型)、 ellip(椭圆) ellip(椭圆)
河海大学常州校区
河海大学常州校区
利用MATLAB设计IIR滤波器 19/ 29 利用MATLAB设计IIR滤波器 19/ MATLAB设计IIR
wp=0.1;ws=0.15;rp=1;rs=15;Fs=1; [n1,Wn1]=buttord buttord(wp/(Fs/2),ws/(Fs/2),rp,rs); [n1,Wn1]=buttord(wp/(Fs/2),ws/(Fs/2),rp,rs); butter(n1,Wn1); [num1,den1]=butter [num1,den1]=butter(n1,Wn1); [H1,W1]=freqz(num1,den1); [n2,Wn2]=cheb1ord cheb1ord(wp/(Fs/2),ws/(Fs/2),rp,rs); [n2,Wn2]=cheb1ord(wp/(Fs/2),ws/(Fs/2),rp,rs); [num2,den2]=cheby1 cheby1(n2,rp,Wn2); [num2,den2]=cheby1(n2,rp,Wn2); [H2,W2]=freqz(num2,den2); [n3,Wn3]=cheb2ord cheb2ord(wp/(Fs/2),ws/(Fs/2),rp,rs); [n3,Wn3]=cheb2ord(wp/(Fs/2),ws/(Fs/2),rp,rs); [num3,den3]=cheby2 cheby2(n3,rs,Wn3); [num3,den3]=cheby2(n3,rs,Wn3); [H3,W3]=freqz(num3,den3); ellipord(wp/(Fs/2),ws/(Fs/2),rp,rs); [n4,Wn4]=ellipord [n4,Wn4]=ellipord(wp/(Fs/2),ws/(Fs/2),rp,rs); [num4,den4]=ellip(n4,rp,rs,Wn4); [num4,den4]=ellip(n4,rp,rs,Wn4); ellip [H4,W4]=freqz(num4,den4);

实验六 IIR滤波器的matlab实现.doc实验六 IIR滤波器的matlab实现.doc实验六 IIR滤波器的matlab实现

实验六 IIR滤波器的matlab实现.doc实验六 IIR滤波器的matlab实现.doc实验六 IIR滤波器的matlab实现

实验六IIR滤波器的matlab实现一、实验目的和任务1.理解并掌握IIR数字滤波器的机理;2. 掌握设计IIR数字滤波器的原理和方法;3. 观察IIR滤波器的频域特性。

二、实验原理1、IIR数字滤波器与FIR数字滤波器的区别1.1、单位响应IIR数字滤波器单位响应为无限脉冲序列,而FIR数字滤波器单位响应为有限的;FIR滤波器,也就是“非递归滤波器”,没有引入反馈。

这种滤波器的脉冲响应是有限的。

1.2、幅频特性IIR数字滤波器幅频特性精度很高,不是线性相位的,可以应用于对相位信息不敏感的音频信号上;FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。

1.3、实时信号处理FIR数字滤波器是有限的单位响应也有利于对数字信号的处理,便于编程,用于计算的时延也小,这对实时的信号处理很重要。

2、设计步骤:(1)、给定技术指标转换为模拟低通原型设计性能指标。

(2)、估计满足性能指标的模拟低通性能阶数和截止频率。

(3)、设计模拟低通原型。

(4)、由模拟低通原型经频率变换获得模拟低通、高通、带通或带阻滤波器。

(5)、利用脉冲响应不变法或双线性不变法,实现模拟滤波器到数字滤波器的映射。

三、IIR滤波器的设计一:IIR一阶低通滤波器clear;fi=1;fs=10;Gc2=0.9;wc=2*pi*fi/fs;omegac=tan(wc/2);alpha=(sqrt(Gc2)/sqrt(1-Gc2))*omegac;a=(1-alpha)/(1+alpha);b=(1-a)/2;w=0:pi/300:pi;Hw2=alpha^2./(alpha^2+(tan(w/2)).^2);plot(w/pi,Hw2);grid;hold on;00.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.70.80.91二:一阶高通滤波器clear;fi=1;fs=10;Gc2=0.5;wc=2*pi*fi/fs;omegac=tan(wc/2);alpha=(sqrt(1-Gc2)/(sqrt(Gc2)))*omegac;a=(1-alpha)/(1+alpha);b=(1+a)/2;w=0:pi/300:pi;Hw2=(tan(w/2).^2)./(alpha^2+(tan(w/2)).^2);plot(w/pi,Hw2);grid;hold on;00.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.70.80.91三:Notch 嵌波滤波器clear;Gb2=0.5;w0=0.35*pi;deltaw=0.1*pi;b=1/(1+tan(deltaw/2)*(sqrt(1-Gb2)/sqrt(Gb2)));B=[1 -2*cos(w0) 1].*b;A=[1 -2*b*cos(w0) (2*b-1)];w=0:pi/500:pi;H=freqz(B,A,w);plot(w/pi,abs(H));grid;00.10.20.30.40.50.60.70.80.9100.20.40.60.811.2四:Peak 滤波器clear;Ac=3;Gb2=10^(-Ac/10);w0=0.35*pi;deltaw=0.1*pi;b=1/(1+tan(deltaw/2)*(sqrt(Gb2)/sqrt(1-Gb2)));B=[1 0 -1].*(1-b);A=[1 -2*b*cos(w0) (2*b-1)];w=0:pi/500:pi;H=freqz(B,A,w);plot(w/pi,abs(H));grid;00.10.20.30.40.50.60.70.80.9100.10.20.30.40.50.60.70.80.91。

数字信号处理Matlab实验三-IIR数字滤波器的设计

数字信号处理Matlab实验三-IIR数字滤波器的设计

数字信号处理 Matlab 实验三-IIR 数字滤波器的设计1. 概述数字滤波器是数字信号处理领域中的重要内容。

按照系统的特点,数字滤波器可以分为 FIR 数字滤波器和 IIR 数字滤波器。

其中,IIR 数字滤波器具有更强的适应性和更高的性能,因此受到广泛关注。

本文档将详细介绍 Matlab 实验中的 IIR 数字滤波器的设计过程。

2. IIR 数字滤波器的基本概念IIR 数字滤波器是一种反馈型滤波器,它的输出信号取决于当前的输入信号和前一时刻的输出信号。

在 IIR 数字滤波器中,反馈路径与前向路径都包含有延时器和系数。

IIR 数字滤波器的具体实现形式有直接型、级联型、积分型等。

IIR 数字滤波器的主要特征是具有无限脉冲响应。

这一特性意味着输入信号可以产生无限长的输出响应,并且IIR 数字滤波器具有更加平滑的频率响应和更高的滤波器阶数。

3. IIR 数字滤波器设计的步骤Matlab 的 Signal Processing Toolbox 中提供了多种方法进行 IIR 数字滤波器设计。

在本文档中,我们将介绍基于极点和零点设计的方法。

IIR 滤波器设计主要分为以下几个步骤:3.1 确定滤波器类型和性能规格设计 IIR 数字滤波器时,需要先确定滤波器的类型和性能规格。

比如,需要确定滤波器的通带和阻带边界频率、通带和阻带幅度响应、滤波器阶数等参数。

3.2 根据性能规格确定滤波器的传递函数根据滤波器的类型、性能规格、滤波器的传递函数和滤波器结构之间的关系,通过理论计算得到滤波器的传递函数。

3.3 将滤波器传递函数化简为数字滤波器结构将传递函数简化为数字滤波器的结构,选择适当的滤波器结构和方案。

3.4 计算数字滤波器的系数选择一种计算数字滤波器系数的方法,如双线性变换、频率抽取等。

3.5 检验滤波器设计的性能进行模拟仿真和实验检验,根据预设的性能规格检验滤波器设计的合理性。

4. Matlab 实现 IIR 数字滤波器的设计在 Matlab 中,可以使用 Signal Processing Toolbox 中的 iirfilter 函数实现 IIR 数字滤波器的设计。

基于matlab的IIR数字滤波器设计(doc 19页)

基于matlab的IIR数字滤波器设计(doc 19页)

在MATLAB 中,模拟滤波器的系统函数 H(S)=)()()1()((.....)2()1()1()(......)2()1(11S A S B N A S N A S A S A M B S M B S B S B N N M M =++++++++++--数字滤波器的系统函数 H(Z)=)()()1()(.....)2()1()1()(.....)2()1()1(1)1(1Z A Z B Z N A Z N A Z A A Z M B Z M B Z B B N N M M =++++++++++--------在实际工程中,需要的设计结果是系数向量B 和A ,用B 和A 来综合滤波器的硬件实现结构或软件运算结构,为了直观的看出设计结果,本文的实例均以滤波器幅频响应曲线作为设计结果输出。

如果需要滤波器系数,在运行程序后,只要在MATLAB 命令窗口键入系数向量名,则相应的系数就显示出来了。

2.1.2.程序设计实例分析(a )设计高通和带通Butterworth 数字滤波器我们给出四阶归一化 Butterworth 模拟滤波器的系统函数16131.24142.36131.21)(234++++=S S S S S H用双线性变换法从Ha (s )设计四阶带通butterworth数字滤波器)(Z H BP ,并图示|)(jw BP e H |,设计采样周期T=1s ,指标如下 ππ65.0,35.01==uc c w w现在我们分步进行:■建模由于本例主要涉及三个问题:(1) 由数字滤波器指标求相应的模拟滤波器指标;(2) 模拟滤波器频率变换(因为已给定阶数和模拟滤波器的归一化低通原型);(3) 由相应的模拟滤波器到数字滤波器(双线性变换法)。

由于调用bilinear 函数将模拟滤波器转换成数字滤波器非常容易,并且有效抑制频率失真的问题,本例给定了数字滤波器指标,所以首先要设计处与该指标相应的四阶Butterworth 模拟滤波器,然后调用bilinear 函数将其转换为数字滤波器即可,应当特别注意的是,对于双线性变换法,由数字边界频率求相应的模拟边界频率时,一定要考虑预畸变矫正。

利用MATLAB设计IIR滤波器

利用MATLAB设计IIR滤波器

利用MATLAB设计IIR滤波器IIR滤波器是一种数字滤波器,它基于无限脉冲响应(Infinite Impulse Response)的概念。

与FIR滤波器相比,IIR滤波器具有更高的灵活性和更小的计算复杂度。

MATLAB是一种强大的数学软件,它提供了丰富的信号处理工具箱,可以用于设计、分析和实现各种数字滤波器,包括IIR滤波器。

设计IIR滤波器的一种常用方法是脉冲响应不变方法(Impulse Invariance Method)。

下面将以该方法为例,介绍如何使用MATLAB设计IIR滤波器。

首先,我们将使用MATLAB的`iirdesign`函数来设计IIR滤波器。

该函数的语法如下:```matlab[b, a] = iirdesign(wp, ws, rp, rs);```其中,`wp`是通带截止频率,`ws`是阻带截止频率,`rp`是通带衰减,`rs`是阻带衰减。

`b`和`a`分别代表滤波器的分子和分母系数。

例如,我们希望设计一个低通IIR滤波器,通带截止频率为0.4π,阻带截止频率为0.6π,通带衰减为3dB,阻带衰减为40dB。

则可以使用以下代码:```matlabwp = 0.4 * pi;ws = 0.6 * pi;rp = 3;rs = 40;[b, a] = iirdesign(wp, ws, rp, rs);```设计完成后,我们可以使用MATLAB的`freqz`函数来绘制滤波器的频率响应曲线。

代码示例如下:```matlab[H, w] = freqz(b, a);mag = 20 * log10(abs(H));figure;plot(w/pi, mag);xlabel('Normalized Frequency');ylabel('Magnitude (dB)');```上述代码中,`freqz`函数返回滤波器的频率响应`H`和频率向量`w`。

IIR数字滤波器及其matlab软件实现解析

IIR数字滤波器及其matlab软件实现解析

实验四IIR数字滤波器设计及软件实现一、实验指导1.实验目的(1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。

(3)掌握IIR数字滤波器的MATLAB实现方法。

(3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。

2.实验原理设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。

基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。

MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。

第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。

本实验要求读者调用如上函数直接设计IIR数字滤波器。

本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。

3. 实验内容及步骤(1)调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图10.4.1所示。

由图可见,三路信号时域混叠无法在时域分离。

但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。

图10.4.1 三路调幅信号st的时域波形和幅频特性曲线(2)要求将st中三路调幅信号分离,通过观察st的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。

iir数字滤波器的设计matlab

iir数字滤波器的设计matlab

iir数字滤波器的设计matlab摘要:1.IIR数字滤波器简介2.MATLAB在IIR数字滤波器设计中的应用3.设计实例与分析4.结论正文:一、IIR数字滤波器简介IIR(无限脉冲响应)数字滤波器是数字信号处理中的重要组成部分,其设计方法与模拟滤波器设计密切相关。

在设计IIR数字滤波器时,需要确定采样间隔或采样频率,将数字滤波器的指标转化为模拟滤波器的指标,然后根据模拟滤波器的指标设计模拟滤波器。

最后,通过冲激响应不变法和双线性变换法,将模拟滤波器的冲激响应转化为数字滤波器的冲激响应。

二、MATLAB在IIR数字滤波器设计中的应用MATLAB以其强大的计算和仿真能力,在数字滤波器设计中得到了广泛的应用。

设计师可以利用MATLAB的函数和工具箱,方便地实现IIR数字滤波器的设计、仿真和分析。

三、设计实例与分析以下是一个基于MATLAB的IIR数字滤波器设计实例:1.确定设计指标:通带截止频率为1kHz,阻带截止频率为2kHz,通带波纹小于1dB,阻带衰减大于40dB。

2.利用MATLAB的函数,如freqz、butter等,设计模拟低通滤波器。

3.将模拟滤波器的参数转化为数字滤波器的参数,如采样频率、阶数等。

4.利用MATLAB的函数,如impulse、bode等,对数字滤波器进行仿真和分析。

四、结论通过以上实例,可以看出MATLAB在IIR数字滤波器设计中的重要作用。

它不仅提供了方便的设计工具,还能实时地展示滤波器的性能,大大提高了设计效率和精度。

此外,IIR数字滤波器的设计方法和MATLAB的应用也可以推广到其他数字信号处理领域,如音频处理、图像处理等。

iir数字滤波器的设计matlab

iir数字滤波器的设计matlab

iir数字滤波器的设计matlabIIR数字滤波器的设计(Matlab)数字滤波器是一种用于信号处理的重要工具,可以对信号进行滤波、去噪和频率分析等操作。

其中,IIR(Infinite Impulse Response)数字滤波器是一种常见的数字滤波器,具有无限冲激响应的特点。

本文将介绍如何使用Matlab设计IIR数字滤波器。

首先,我们需要明确设计IIR数字滤波器的目标。

通常,设计IIR数字滤波器的目标是在满足一定的频率响应要求的前提下,使得滤波器的阶数尽可能低。

这样可以减少计算量和延迟,提高滤波器的实时性。

在Matlab中,可以使用`designfilt`函数来设计IIR数字滤波器。

该函数提供了多种设计方法和滤波器类型的选择。

常见的设计方法有巴特沃斯(Butterworth)、切比雪夫(Chebyshev)和椭圆(Elliptic)等。

这些方法在满足不同的频率响应要求和阶数限制方面有所不同。

以巴特沃斯滤波器为例,我们可以使用以下代码来设计一个低通滤波器:```matlabfs = 1000; % 采样频率fc = 100; % 截止频率order = 4; % 阶数[b, a] = butter(order, fc/(fs/2), 'low'); % 设计低通滤波器freqz(b, a); % 绘制滤波器的频率响应曲线```在上述代码中,`fs`表示采样频率,`fc`表示截止频率,`order`表示滤波器的阶数。

`b`和`a`分别是滤波器的分子和分母系数。

`butter`函数根据给定的阶数、截止频率和滤波器类型来设计滤波器。

设计完成后,我们可以使用`freqz`函数来绘制滤波器的频率响应曲线。

该函数可以显示滤波器的幅度响应和相位响应。

通过观察频率响应曲线,我们可以了解滤波器的频率特性,以及是否满足设计要求。

除了低通滤波器,我们还可以设计高通、带通和带阻滤波器。

例如,以下代码可以设计一个带通滤波器:```matlabfs = 1000; % 采样频率f1 = 100; % 通带下限频率f2 = 200; % 通带上限频率order = 4; % 阶数[b, a] = butter(order, [f1/(fs/2), f2/(fs/2)], 'bandpass'); % 设计带通滤波器freqz(b, a); % 绘制滤波器的频率响应曲线```在上述代码中,`f1`和`f2`分别表示带通滤波器的通带下限频率和通带上限频率。

IIR数字滤波器的MATLAB实现

IIR数字滤波器的MATLAB实现

第6章 IIR 数字滤波器的MATLAB 实现6.1 实验目的● 要求掌握IIR 数字滤波器的设计原理、设计方法和设计步骤; ● 能根据给定的滤波器指标进行滤波器设计;● 掌握数字巴特沃斯滤波器、数字切比雪夫滤波器的设计原理和步骤;6.2 实验原理及实例分析6.2.1 IIR 数字滤波器的传递函数及特点设IIR 滤波器的输入序列为x(n),则IIR 滤波器的输入序列x(n)与输出序列y(n)之间的关系可以用下面的方程式表示:)()()(1j n x a i n x b n y Nj j M i i -+-=∑∑==其中,j a 和i b 是滤波器的系数,其中j a 中至少有一个非零。

与之相对应的差分方程为:NN M M z a z a z b z b b z X z Y Z H ------++==....1....)()()(11110由传递函数可以发现无限常单位冲激响应滤波器有如下特点: (1) 单位冲激响应h(n)是无限长的。

(2) 系统传递函数H(z)在有限z 平面上有极点存在。

(3) 结构上存在着输出到输入的反馈,也就是结构上是递归型的。

6.2.2 IIR 数字滤波器的设计与实现IIR 数字滤波器的设计有多种方法,如频率变换法、数字域直接设计以及计算辅助设计等。

下面只介绍频率变换设计法。

首先考虑由模拟低通滤波器到数字低通滤波器的转换,其基本的设计过程如下:(1) 将数字滤波器的技术指标转换为模拟滤波器的技术指标; (2) 设计模拟滤波器G(S);(3) 将G(S)转换成数字滤波器H(Z);在低通滤波器的设计基础上,可以得到数字高通、带通、带阻滤波器的设计流程如下:(1)给定数字滤波器的设计要求(高通、带阻、带通);(2)转换为模拟(高通、带阻、带通)滤波器的技术指标;(3)转换为模拟低通滤波器的指标;(4)设计得到满足第三步要求的低通滤波器传递函数;(5)通过频率转换得到模拟(高通、带阻、带通)滤波器;(6)变换为数字(高通、带阻、带通)滤波器。

IIR数字滤波器的MATLAB实现

IIR数字滤波器的MATLAB实现

实验六IIR数字滤波器的MATLAB实现1.忽略2.低通,采样频率为1Hz,通带临界频率f p =0.2Hz,通带内衰减小于1dB(αp=1);阻带临界频率f s=0.3Hz,阻带内衰减大于25dB(αs=25)。

设计一个数字滤波器满足以上参数。

% Matlab使用归一化的频率参数(临界频率除以采样频率的1/2)。

%这样临界频率参数的取值范围在0和1之间,1代表Fs/2(用角频率表示的时候对应π)程序如下:FS=1 ;[n,Wn]=buttord(0.2/(FS/2),0.3/( FS /2),1,25);[b,a]=butter(n,Wn);freqz(b,a,512, FS);运行结果为:3.低通,采样频率为1Hz,通带临界频率f p =0.2Hz,通带内衰减小于1dB(αp=1);阻带临界频率f s=0.3Hz,阻带内衰减大于25dB(αs=25)。

设计一个数字滤波器满足以上参数。

程序如下:FS=1 ;[n,Wn]=buttord(0.2*2*pi,0.3*2*pi,1,25,'s'); %临界频率采用角频率表示[b,a]=butter(n,Wn,'s');%freqs(b,a) %设计模拟的[bz,az]=impinvar(b,a,FS); %映射为数字的freqz(bz,az,512,FS)4.基于chebyshev1型模拟滤波器原型使用冲激不变转换方法设计数字滤波器,要求具有下面的参数指标:通带截止频率:π2.0=Ωp 通带波动值:dB R p 1=阻带截止频率:π3.0=Ωs 阻带波动值:dB A s 15=程序 如下:FS=10;T=1/FS;fp=0.2;fs=0.3;wp=fp/FS*2*pi;ws=fs/FS*2*pi;OmegaP=2*FS*tan(wp/2);OmegaS=2*FS*tan(ws/2);[n,Wn]=cheb1ord(OmegaP,OmegaS,1,15,'s')[b,a]=cheby1(n,1,Wn,'high','s');freqs(b,a) %设计模拟的[bz,az]=bilinear(b,a,FS); %映射为数字的freqz(bz,az,512,FS)bz,az5.一个椭圆数字滤波器的设计,要求采用双线性变换方法,指标参数如下:通带截止频率:π2.0=Ωp 通带波动值:dB R p 5.1=阻带截止频率:π3.0=Ωs 阻带波动值:dB A s 20=程序 如下:FS=1%通带、阻带截止频率Fl=0.2;Fh=0.3;%频率预畸wp=(Fl/FS)*2*pi; %临界频率采用角频率表示ws=(Fh/FS)*2*pi; %临界频率采用角频率表示OmegaP=2*FS*tan(wp/2);OmegaS=2*FS*tan(ws/2);[n,Wn]=buttord(OmegaP,OmegaS,1.5,20,'s');[b,a]=butter(n,Wn,'s');%freqs(b,a) %设计模拟的[bz,az]=bilinear(b,a,FS); %映射为数字的freqz(bz,az,512,FS,'whole')。

IIR滤波器的MATLAB实现

IIR滤波器的MATLAB实现

2、IIR 滤波器的MATLAB 实现2.1 IIR 滤波器的设计方法及原理IIR 数字滤波器是一种离散时间系统,其系统函数为:)()(1)(10z x z y z a zb Z H N k kk Mk kk =-=∑∑=-=- 假设M ≤N ,当M >N 时,系统函数可以看作一个IIR 的子系统和一个(M-N)的FIR 子系统的级联。

IIR 数字滤波器的设计实际上是求解滤波器的系数k a 和k b ,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。

如果在S 平面上去逼近,就得到模拟滤波器;如果在z 平面上去逼近,就得到数字滤波器。

2.1.1 用脉冲相应不变法设计IIR 数字滤波器利用模拟滤波器来设计数字滤波器,也就是使数字滤波器能模仿模拟滤波器的特性,这种模仿可以从不同的角度出发。

脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应ha(t),即将ha(t)进行等间隔采样,使h(n)正好等于ha(t)的采样值,满足 )()(nT h n h a =式中,T 是采样周期。

如果令Ha(s)是ha(t)的拉普拉斯变换,H(z)为h(n)的Z 变换,利用采样序列的Z 变换与模拟信号的拉普拉斯变换的关系得(1-1)则可看出,脉冲响应不变法将模拟滤波器的S 平面变换成数字滤波器的Z 平面,这个从s 到z 的变换z =e sT 是从S 平面变换到Z 平面的标准变换关系式。

⎪⎭⎫ ⎝⎛-=Ω-=∑∑∞-∞=∞-∞==k T j s X T jk s X T z X k a s k a e z sTπ21)(1)(图1-1脉冲响应不变法的映射关系由(1-1)式,数字滤波器的频率响应和模拟滤波器的频率响应间的关系为(1-2)这就是说,数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。

正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内时,即(1-3)才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真,即|ω|<π (1-4) 但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真,如图7-4所示。

用matlab设计IIR数字滤波器

用matlab设计IIR数字滤波器

实验三 IIR 数字滤波器设计及实现一、实验目的(1)熟悉用脉冲响应不变法和双线性变换法设计IIR 数字滤波器的原理与方法;(2)学会调用MATLAB 信号处理工具箱中滤波器设计函数设计IIR 数字滤波器,学会根据滤波需求确定滤波器指标参数。

二、实验原理设计IIR 数字滤波器一般采用脉冲响应不变法和双线性变换法。

1. 脉冲响应不变法的变换原理与步骤从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应模仿模拟滤波器的冲击响应,即h (n )是h a (t )的采样值。

设T 为采样周期,变换过程:如果模拟滤波器的系统函数只有单阶极点,且分母的阶数高于分子阶数,用脉冲响应不变法求数字滤波器的系统函数有简便方法:将H a (s ) 展成部分分式的并联形式,再利用下述变换公式直接写出H (z )2.双线性变换法的变换原理和步骤(1)保证s 平面压缩到s 1平面的宽为2π/T 的横带内(2)保证低频部分基本对应根据要求,确定数字滤波器指标。

如是模拟频率临界点,则要先转变)()()()(z H n h t h s H ZTnT t a ILT a −→−−−→−−→−=1111)( )(-==-=⇒-=∑∑z eTA z H s s A s H T s k N k k k N k a k )2tan()2tan(1ωC T C =Ω=ΩTC T C T C 2 2)2tan(11=Ω⋅≈Ω⋅=Ω成数字频率,以便预畸变处理。

将数字指标转换成与Ha (s )对应的模拟性能指标。

设计模拟滤波器的系统函数Ha (s ) 。

将映射关系代入Ha (s )中得数字滤波器系统函数H (z ) 。

由于数字滤波器传输函数只与频域的相对值有关,故在设计时可先将滤波器设计指标进行归一化处理。

设采样频率为Fs ,归一化频率的计算公式是:2/)()/(Fs Hz Fs s rad 实际模拟频率实际数字频率实际模拟角频率归一化频率==⨯=ππ利用典型法设计数字滤波器的步骤:1、将设计指标归一化处理。

IIR数字滤波器设计及其MATLAB实现

IIR数字滤波器设计及其MATLAB实现

IIR数字滤波器设计及其MATLAB实现目录IIR数字滤波器及其MATLAB实现 (1)摘要 (1)关键字 (1)引言 (1)第一章滤波器概论 (1)1.1滤波原理 (1)1.2滤波器分类 (2)1.3 滤波器的技术要求 (3)1.3.1 滤波器的截止频率 (3)1.3.2 带通带阻的容限 (3)1.3.3采样频率 (4)1.3.4 滤波器设计步骤 (4)第二章模拟滤波器设计 (4)2.1 巴特沃斯低通滤波器的设计 (5)2.2 切比雪夫低通滤波器的设计 (8)1.切比雪夫Ⅰ型低通滤波器 (9)2.切比雪夫Ⅱ型低通滤波器 (10)2.3 椭圆低通滤波器的设计 (12)第三章模拟高通、带通与带阻滤波器设计 (14)3.1 模拟高通滤波器的设计 (14)3.2 模拟带通滤波器的设计 (15)3.3 模拟带阻滤波器的设计 (17)第四章IIR数字滤波器设计方法 (18)4.1 基于冲激响应不变法的IIR滤波器设计 (18)4.2 基于双线性Z变换法的IIR滤波器的设计 (20)4.3数字高通、带通及带阻IIR滤波器设计 (22)1.基于原型滤波器转换法的IIR数字滤波器设计 (22)1.1直接有由模拟低通滤波器转换成数字高通、带通或带阻滤波器 (22)1.2 先由模拟低通滤波器转换成模拟高通、带通或带阻滤波器然后再转换成相应的数字滤波器 (23)1.3将模拟低通滤波器转换成数字低通滤波器,再通过变量代换变成数字高通、带通或带阻滤波器。

(24)2 基于直接数字域法的IIR数字滤波器设计 (25)致谢 (26)参考文献 (27)IIR Digital Filter Design And Impementation By MATLAB (27)Abstract (27)Keyword (27)附录 (28)IIR数字滤波器及其MATLAB实现摘要:本文介绍了滤波器的滤波原理、IIR数字滤波器的设计及MATLAB工具箱进行IIR数字滤波器的设计。

IIR数字滤波器设计matlab代码

IIR数字滤波器设计matlab代码

大连理工大学实验报告学院(系): 电子信息与电气工程学部 专业: 电子信息工程 班级: 姓 名: 学号: 组:实验时间: 实验室: 大黑楼C221 实验台:指导教师签字:成绩: 实验名称实验三 IIR 数字滤波器设计1、实验目的和要求(1)掌握双线性变换法设计IIR 数字滤波器。

(2)掌握脉冲响应不变法设计IIR 数字滤波器。

2、实验原理和内容1. 巴特沃思低通滤波器巴特沃思低通滤波器幅度平方函数定义为|H (jΩ)|= a 2N c 211⎪⎪⎭⎫ ⎝⎛ΩΩ+式中N 为正整数,代表滤波器的阶次,称为截止频率。

当时,有c Ωc Ω=Ω21)(2=Ωc a j H 即dB j H j H c a a 3)()0(lg 201=Ω=δ所以又称为巴特沃思低通滤波器的3分贝带宽。

c Ω巴特沃思低通滤波器的幅度特性如图所示。

图1 巴特沃思低通滤波器的幅度特性图2 切贝雪夫I型低通滤波器的幅度特性•并分别绘制两种设计方法的频响曲线(1)双线形变换法设计巴特沃斯IIR低通数字滤波器,代码如下:clcclearwp = 0.4*pi;ws = 0.6*pi;rp = 2;rs = 15;Ts = 0.0001;Fs = 1/Ts; %采样频率wp = 2/Ts*tan(wp/2);ws = 2/Ts*tan(ws/2);[N,wc]=buttord(wp,ws,rp,rs,'s');[z,p,k]=buttap(N);[b,a]=zp2tf(z,p,k);[B,A]=lp2lp(b,a,wc);[Bz,Az]=bilinear(B,A,Fs);w=0:0.001:pi;[H,w1]=freqz(Bz,Az,w);H=20*log10(abs(H));plot(w/pi,H);grid on;title('双线形变换法设计巴特沃斯IIR低通数字滤波器');xlabel('频率/pi');ylabel('幅度/dB');00.10.20.30.40.50.60.70.80.91-300-250-200-150-100-5050低低低低低低低低低低低低IIR 低低低低低低低低低/pi 低低/d B(2)直接法设计巴特沃斯IIR 低通数字滤波器,代码如下::clcclearwp=0.4;ws=0.6;rp=2;rs=15;[N,wc]=buttord(wp,ws,rp,rs);[Bz,Az]=butter(N,wc);w=0:0.001:pi;[H,w1]=freqz(Bz,Az,w);H=20*log10(abs(H));plot(w/pi,H);grid on;title('直接法设计巴特沃斯IIR 低通数字滤波器');xlabel('频率/pi');ylabel('幅度/dB');00.10.20.30.40.50.60.70.80.91-300-250-200-150-100-5050低低低低低低低低低IIR 低低低低低低低低低/pi 低低/d B(3)设计一个巴特沃兹低通滤波器,给定技术指标是100p f Hz =300st f Hz =3p dB α=,抽样频率为。

IIR数字滤波器MATLAB实现

IIR数字滤波器MATLAB实现
经典数字滤波器从滤波特性上分类,可以分成低通,高通,带通,和带阻等滤波器。
数字滤波器从实现的网络结构或者从单位脉冲回应长度分类,可以分成无限位脉冲回应<IIR, infinite impulse response)滤波器和有限长单位脉冲回应<FIR,finite impulse response)滤波器。它们的系统函数分别为:xHAQX74J0X
关键词MATLAB;双线性变换法;幅频相频特性图
IIR digital filter's MATLAB design
Zhang Cai
School of Physics and Electronic Information, HuaibeiNormalUniversity, 235000b5E2RGbCAP
Keywords MATLAB;Bilinearity method of transformation。amplitude frequency and phase frequency characteristics graph.DXDiTa9E3d
目次
引言1
1数字滤波器2
1.1数字滤波器的分类2
1.2数字滤波器的工作原理3
数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR>数字滤波器和有限长冲激响应(FIR>数字滤波器。IIR数字滤波器的特征是,具有dvzfvkwMI1
无限持续时间冲激响应,需要用递归模型来实现,其差分方程为:
系统函数为:
设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数H(z>,使其频率响应H(z>满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数。rqyn14ZNXI

利用MATLAB设计IIR数字滤波器

利用MATLAB设计IIR数字滤波器

V ol. 26, No . 1 M ar. 2007
2007 年 3 月
利用 M AT L AB 设计 IIR 数字滤波器
皇甫海燕1 , 黄晓俊2 , 刘楚湘1
( 1 新疆师范大学 数理信息学院 , 新疆 乌鲁木齐 830054; 2 喀什师范学院 数理系 , 新疆 喀什 844000) ) *
摘 要: 关键词 :
The Application of MATLAB in the Design of IIR Digital Filter
HUANGPU Haiyan ,
1
HUANG Xiaojun ,
2
LIU Chuxiang
1
( 1 . Coll ege of Maths - p hy sics and I nf or mat ion Sciences, X i nj i ang N orm al Uni ver si ty , Ur umqi X inj i ang 830054; 2. Maths- p hy sics Dep ar tment , K ashgar T eacher s # Col l ege, K ashgar X i nj iang 844000) Abstract: T his paper is t o demonst rat e advant ages of com puter simulat ion in ex periment, w ith t he ex am ples of dig ital filt er t o ex plain t he IIR f ilter desig n o f prog ram ming and SP T OOL simulatio n in M AT L AB. Key words: IIR digit al f ilter; M AT L AB; computer simulat io n
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

cos(arccos ),1()(),1N N x x C x ch N Archx x ≤⎧⎪=⎨≥⎪⎩ IIR 数字滤波器设计及其MATLAB 实现摘 要:IIR 数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等。

在设计一个IIR 数字滤波器时,我们根据指标先写出模拟滤波器的设计方法设计一个满足数字滤波器指标的模拟滤波器,然后通过一定的变换,将模拟滤波器转换成数字滤波器。

本文介绍了IIR 数字滤波器设计,主要分析了其在满足上述要求下的工程方法,冲激响应不变法和双线性变换法。

通过理论与实践的分析对比,表明了两种方法的优弊端。

关键词:IIR 数字滤波器;MATLAB ;冲激响应不变法;双线性变换法1引 言IIR 数字滤波器的最通用的方法是借助于模拟滤波器的设计方法。

模拟滤波器设计已经有了相当成熟的技术和方法,有完整的设计公式,还有比较完整的图表可以查询,因此设计数字滤波器可以充分利用这些丰富的资源来进行。

对于IIR 数字滤波器的设计具体步骤: (1)按照一定的规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标。

(2)根据转换后的技术指标设计模拟低通滤波器G(s)(G(s)是低通滤波器的传递函数)。

(3)再按照一定的规则将G(s)转换成H(z)(H(z)是数字滤波器的传递函数).下面从原理分析在到实践来分析设计用冲激响应不变法和双线性变换法来设计IIR 数字滤波器的过程。

2原理分析我们书本上重点介绍了巴特沃斯低通滤波器的设计,但巴特沃斯滤波器的频率特性无论在通带还是在阻带豆岁频率而单调变化,因此,如果在通带边缘满足指标,则在通带内肯定会有富裕量,也就是超过指标的要求,因而并不经济。

所以,更有效果的办法是将指标的精度要求欧均匀地分布在通带内,或均匀分布在阻带内,或同时均匀分布在通带与阻带内。

这样在同样通带,阻带性能要求下,就可以设计出阶数较低的滤波器。

下面分析典型的滤波器---切比雪夫1。

2.1切比雪夫1低通滤波器的原理设计IIR 滤波器的基础是设计模拟滤波器的原型,其中切比雪夫1就是一种。

切比雪夫1低通滤波器的原理:幅度平方函数为 式中,ε为小于1的正数,表示通带内幅度波动的程度,ε愈大,波动幅度也愈大。

Ωp 称为通带截止频率。

令λ=Ω/Ωp ,称为对Ωp 的归一化频率。

CN(x)称为N 阶切比雪夫多项式,定义为 切比雪夫的特性:(1)切比雪夫多项式的过零点在|x|≤1的范围内;(2)当|x|<1时,|CN(x)|≤1,在|x|<1范围内具有等波纹性;(3)当|x|>1时,CN(x)是双曲线函数,随x 单调上升。

Matlab 信号工具箱提供了几个直接设计IIR 数字滤波器的函数,直接调用这些函数就可以很方便地对滤波器进行设计。

他们为cheblap,cheblord,cheby1.22221()()1()a N p A H j C εΩ=Ω=Ω+Ω2.2冲激响应不变法顾名思义,所谓冲激响应不变法,就是使离散时间系统的冲激响应等于连续时间系统冲激响应的抽样值,即(1)这样,如果连续时间系统的冲激响应为则根据式子(1),离散时间系统的冲激响应就等于(2)由式子(2)可得连续时间系统的系统函数可见,在(2)中,p i是系统函数的极点,或者系统微分方程的特征根。

这里,我们假设p i都是一阶极点,而A i是与每个极点相对应的系数,其值为(3).而从式子(3)可求得离散时间系统的系统函数.根据s 平面和z 平面之间的映射关系可知:s 平面上的j ω 轴将映射成z 平面上的单位园;而左半s 平面将映射为单位园内部分;右半s 平面将映射为单位园外部分,如图z6.1所示。

而且,从连续时间频率ω 到离散时间频率Ω 是一个多值映射。

根据这种映射关系可知,左半s 平面上的极点将映射到z 平面上的单位园内,由此而可得到一个基本结论,即冲激响应不变法可以将一个稳定的连续时间系统转换为一个稳定的离散时间系统。

此外,由于可以将离散时间系统的冲激响应看作是连续时间系统的抽样,于是,根据抽样定理和连续时间频率与离散时间频率之间的关系,可以求得离散时间系统的频率响应和连续时间系统的频率响应满足下述关系此式表明,如果连续时间系统的频率特性不是一个限带频谱,则转换为离散时间系统后将出现频谱混叠,从s 平面到z 平面的映射来看,多值映射是造成频谱混叠的原因。

2.3双线性变换法双线性变换法是在冲激响应不变法的基础上采用不同的变换,分为两步:第一步:将整个S平面压缩到S1平面的一条横带里;第二步:通过标准变换关系将此横带变换到整个Z平面上去。

为了将s平面的jΩ轴压缩到s1平面jΩ轴上的-一段上,可通过以下的正切变换实现:。

经过这样的频率变,当Ω1由时,Ω由,即映射了整个jΩ轴。

将这一解析关系延拓至整个s平面,则得到s平面平面的映射关系再将s1平面通过标准变换关系映射到z平面,即单值映射关系,令,最后得S平面与Z平面的关系3目标分析冲激响应不变法是一种简单的转换方法,它可以将一个稳定的连续时间系统转换为一个稳定的离散时间系统,而且可以使离散时间系统的冲激响应形状和连续时间系统相同,但是,由于连续时间系统的频率响应往往不是限带频谱,因此,这种方法存在着频谱混叠的现象。

这种混叠将造成频谱高端的严重失真,从而使得这种方法只适用于低通滤波器或者频谱限带的高通或带通。

与脉冲响应不变法相比,双线性变换的主要优点:靠频率的严重非线性关系得到S平面与Z平面的单值一一对应关系,整个jΩ轴单值对应于单位圆一周,这个关系就是式所表示的,其中ω和Ω为非线性关系。

如图图中看到,在零频率附近,Ω~ω接近于线性关系,Ω进一步增加时,ω增长变得缓慢,(ω终止于折叠频率处),所以双线性变换不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象。

双线性变换法的缺点:Ω与ω的非线性关系,导致数字滤波器的幅频响应相对于模拟滤波器的幅频响应有畸变,(使数字滤波器与模拟滤波器在响应与频率的对应关系上发生畸变)。

下面通过实例来分析两种方法设计IIR低通滤波器。

4实例分析设计低通数字滤波器,要求在通带内频率低于0.2πrad时,允许幅度误差在1dB以内,在频率0.3πrad到πrad之间的阻带衰减大于15dB。

用脉冲响应不变法设计数字滤波器。

T=1。

,要求利用-切比雪夫滤波器原型来设计IIR低通滤波器。

需要对信号做频谱分析,为了简便对比,对信号进行频谱分析时,这里统一采用无纲量的归一化频率单位,即模拟频率对采样频率归一化;模拟角频率对采样角频率归一化;数字频率对2π归一化。

方法步骤先将技术指标转换为模拟低通滤波器的技术指标,再求出阶数N,查表,得出模拟低通滤波器G(s),按一定规则G(s)转换成H(z),并作出频谱分析的图像,利用MATLAB实现上述分析过程的程序如下:冲激响应不变法:wp=0.2*pi;wr=0.3*pi;Ap=1;Ar=15;T=1;Omegap=wp/T;Omegar=wr/T;[cs,ds]=afd_chb1(Omegap,Omegar,Ap,Ar) %切比雪夫1型[C,B,A]=sdir2cas(cs,ds); %模拟滤波器级联型[db,mag,pha,Omega]=freqs_m(cs,ds,pi); %模拟滤波器响应subplot(224);plot(Omega/pi,mag);title('模拟滤波器幅度响应|Ha(j\Omega|');[b,a]=imp_invr(cs,ds,T); %脉冲响应不变法设计[C,B,A]=dir2par(b,a) %数字低通滤波器并联[db,mag,pha,w]=freqz_m(b,a); %数字滤波器响应subplot(2,2,1);plot(w/pi,mag);title('数字滤波器幅度响应|H(ej\omega|');subplot(2,2,2);plot(w/pi,db);title('数字滤波器幅度响应(dB)');subplot(2,2,3);plot(w/pi,pha/pi);title('数字滤波器相位响应');双线性变换法:wp=0.2*pi;wr=0.3*pi;Ap=1;Ar=15;T=1;Omegap=(2/T)*tan(wp/2);Omegar=(2/T)*tan(wr/2);[cs,ds]=afd_chb1(Omegap,Omegar,Ap,Ar) %切比雪夫原型[C,B,A]=sdir2cas(cs,ds); %模拟滤波器级联型[db,mag,pha,Omega]=freqs_m(cs,ds,pi); %模拟滤波器响应subplot(224);plot(Omega/pi,mag);title('模拟滤波器幅度响应|Ha(j\Omega|');[b,a]=bilinear(cs,ds,T); %双线性变换法设计[C,B,A]=dir2cas(b,a) %数字低通滤波器级联型[db,mag,pha,w]=freqz_m(b,a); %数字滤波器响应subplot(2,2,1);plot(w/pi,mag);title('数字滤波器幅度响应|H(ej\omega|');subplot(2,2,2);plot(w/pi,db);title('数字滤波器幅度响应(dB)');subplot(2,,23);plot(w/pi,pha/pi);title('数字滤波器相位响应');delta_w=2*pi/1000;Ap=-(min(db(1:1:wp/delta_w+1)))Ar=-round(max(db(wr/delta_w+1:1:501)))程序设计清晰,容易理解,脉冲响应不变法设计的切比雪夫1型数字滤波器,双线性变换法设计的切比雪夫1型数字滤波器,运行结果如图1,2。

从结果图像1中可以看到脉冲响应不变法设计会造成频响的混叠,不宜用来设计高通,带阻滤波器,使用于基本上市限带的滤波器,如低通和带通滤波器,当强调以控制时间响应为目的来设计滤波器,采用这种方法比较适合。

从结果图像2可以看到双线性变换法设计克服了频响的混叠,但频率变换关系不是线性的。

5结束语本次课程设计是用脉冲响应不变法和双线性不变法来设计IIR滤波器,认真阅读数字信号处理课本的相关内容,但在设计的过程中遇到了一些问题,通过查阅资料,对一些问题由了进一步的认识。

本次课程设计不仅考察了我对专业知识的理解程度,也锻炼了我的动手能力,提高了自己的独立思考问题,解决问题的能力,所以,整个过程我觉得学到不少东西。

相关文档
最新文档