IIR数字滤波器的设计
实验四IIR数字滤波器设计及软件实现

实验四IIR数字滤波器设计及软件实现实验四涉及IIR数字滤波器设计及软件实现。
IIR数字滤波器是一种基于IIR(Infinite Impulse Response)的滤波器,采用了反馈结构,具有无限长的脉冲响应。
与FIR(Finite Impulse Response)数字滤波器相比,IIR数字滤波器具有更高的灵活性和更小的计算复杂度。
IIR数字滤波器的设计可以通过以下步骤进行:
1.确定滤波器的类型:低通、高通、带通或带阻。
2.确定滤波器的阶数:滤波器的阶数决定了其频率响应的陡峭程度。
3.设计滤波器的传递函数:传递函数是滤波器的数学模型,可以通过多种方法进行设计,如巴特沃斯、切比雪夫等。
4.将传递函数转换为差分方程:差分方程是IIR数字滤波器的实现形式,可以通过对传递函数进行离散化得到。
5.实现差分方程:差分方程可以通过递归运算的方式实现,使用递归滤波器结构。
IIR数字滤波器的软件实现可以使用各种数学软件或程序语言进行。
常见的软件实现语言包括MATLAB、Python等。
这些语言提供了丰富的数字信号处理库和函数,可以方便地实现IIR数字滤波器。
在软件实现中,需要将差分方程转换为计算机程序,然后输入待滤波的数字信号,并输出滤波后的信号。
此外,还可以对滤波器的参数进行调整,以达到满足特定滤波要求的效果。
总结起来,实验四的内容是设计和实现IIR数字滤波器,通过软件工具进行滤波效果的验证。
这是数字信号处理领域中常见的实验任务,可以帮助学生掌握IIR数字滤波器的设计和实现方法。
数字信号处理第五章-IIR数字滤波器的设计

2、由模平方函数确定系统函数
模拟滤波器幅度响应常用幅度平方函数表示:
| H ( j) |2 H ( j)H *( j)
由于冲击响应h(t)为实函数,H ( j) H *( j)
| H ( j) |2 H ( j)H ( j) H (s)H (s) |s j
H (s)是模拟滤波器的系统函数,是s的有理分式;
分别对应:通带波纹和阻带衰减(阻带波纹)
(4种函数)
只介绍前两种
31
32
33
无论N多大,所 有特性曲线均通 过该点
特性曲线单调减小,N越大,减小越慢 阻
特性曲线单调减小,N越大,减小越快
34
20Nlog2:频率增加一倍,衰减6NdB
35
另外:
36
无论N多大,所 有特性曲线均通 过Ωc点: 衰减3dB, Ωc 为 3dB带宽
8
根据
(线性相位滤波器)
非线性相位滤波器
9
问题:
理想滤波器的幅度特性中,频带之间存 在突变,单位冲击响应是非因果的;
只能用逼近的方法来尽量接近实际的要 求。
滤波器的性能要求以频率响应的幅度特 性的允许误差来表征,如下图:
10
p
11
低通滤波器的频率响应包括:
通带:在通带内,以幅度响应的误差δp逼近 于1;
20
3、数字滤波器设计的基本方法
利用模拟理论进行设计 先按照给定的技术指标设计出模拟滤波 器的系统函数H(s),然后经过一定的变 换得到数字滤波器的系统函数H(z),这实 际上是S平面到Z平面的映射过程: 从时域出发,脉冲响应不变法 从频域出发,双线性变换法 适合于设计幅度特性较规则的滤波器, 如低通、高通等。
由于系统稳定, H(s)的极点一定落在s的左半 平面,所以左半平面的极点一定属于H(s),右 半平面的极点一定属于H(-s)。
iir数字滤波器的设计原理

iir数字滤波器的设计原理
IIR(Infinite Impulse Response)数字滤波器是一种常见的数字滤波器类型,其设计基于具有无限冲激响应的差分方程。
相比于FIR(Finite Impulse Response)数字滤波器,IIR滤波器通常可以用更少的系数实现相似的频率响应,但也可能引入稳定性和相位延迟等问题。
以下是设计IIR数字滤波器的原理:
选择滤波器类型:首先,确定所需的滤波器类型,例如低通滤波器、高通滤波器、带通滤波器或带阻滤波器。
确定规格:定义滤波器的规格,包括截止频率、通带和阻带的幅度响应要求、群延迟要求等。
选择滤波器结构: IIR滤波器有不同的结构,如Butterworth、Chebyshev Type I和 Type II、Elliptic等。
选择适当的滤波器结构取决于应用的要求。
模拟滤波器设计:利用模拟滤波器设计技术,例如频率变换法或波纹变换法,设计出满足规格要求的模拟滤波器。
离散化:使用数字滤波器设计方法,将模拟滤波器离散化为数字滤波器。
这通常涉及将模拟滤波器的差分方程转换为差分方程,通常使用褶积法或双线性变换等方法。
频率响应调整:通过调整设计参数,如截止频率、阻带衰减等,以满足实际需求。
稳定性分析:对设计的数字滤波器进行稳定性分析,确保它在所有输入条件下都是稳定的。
实现和优化:最后,将设计好的数字滤波器实现为计算机程序或硬件电路,并进行必要的性能优化。
总体而言,IIR数字滤波器设计是一个复杂的过程,涉及到模拟滤波器设计、频域和时域变换、数字化和稳定性分析等多个步骤。
在实际应用中,通常使用专业的工具和软件来辅助设计和分析。
IIR数字滤波器设计与滤波

实验五 IIR 数字滤波器设计与滤波1.实验目的(1)加深对信号采样的理解,(2)掌握滤波器设计的方法;(3)复习低通滤波器的设计。
2.实验原理目前,设计IIR 数字滤波器的通用方法是先设计相应的低通滤波器,然后再通过双线性变换法和频率变换得到所需要的数字滤波器。
模拟滤波器从功能上分有低通、高通、带通及带阻四种,从类型上分有巴特沃兹(Butterworth )滤波器、切比雪夫(Chebyshev )I 型滤波器、切比雪夫II 型滤波器、椭圆(Elliptic )滤波器以及贝塞尔(Bessel )滤波器等。
典型的模拟低通滤波器的指标如下:,P S ΩΩ分别为通带频率和阻带频率,,P S δδ分别为通带和阻带容限(峰波纹值)。
在通带内要求1()1P a H J δ-≤Ω≤,有时指标由通带最大衰减p α和阻带最小衰减s α给出,定义如下:20lg(1)p p αδ=-- 和20lg()s s αδ=- 第二种常用指标是用参数ε和A 表示通带和阻带要求,如图所示:二者之间的关系为:21/2[(1)1]p εδ-=--和1/s A δ=,根据这几个参数可导出另外两个参数d ,k ,分别称为判别因子和选择性因子。
d =/p s k =ΩΩBUTTERWORTH 低通滤波器:幅度平方函数定义为221()1(/)a Nc H J Ω=+ΩΩ,N 为滤波器阶数,c Ω为截止频率。
当c Ω=Ω时,有()1/a H J Ω=3DB 带宽。
BUTTERWORTH 低通滤波器系统函数有以下形式:11111()...()N c a N N N N Nk H s s a s a s a k s s --=Ω==++++∏- 由模拟滤波器设计IIR 数字滤波器,必须建立好s 平面和z 平面的映射关系。
使模拟系统函数()a H s 变换成数字滤波器的系统函数()H z ,通常采用冲激相应不变法和双线性变换法。
冲激相应不变法存在频谱混叠现象,双线性变换法消除了这一线象,在IIR 数字滤波器的设计中得到了更广泛的应用。
脉冲响应不变法设计iir数字滤波器

脉冲响应不变法设计iir数字滤波器以脉冲响应不变法设计IIR数字滤波器引言:数字滤波器是数字信号处理中的重要组成部分,用于处理和改变数字信号的频率特性。
脉冲响应不变法(Impulse Invariance Method)是一种常用的IIR数字滤波器设计方法,其基本原理是通过将连续时间域中的模拟滤波器的脉冲响应与采样脉冲响应进行匹配,从而实现滤波器的设计。
一、脉冲响应不变法基本原理脉冲响应不变法的基本原理是将连续时间域中的模拟滤波器的脉冲响应与离散时间域中的数字滤波器的脉冲响应进行匹配。
在这种方法中,首先需要确定模拟滤波器的脉冲响应,然后通过采样得到数字滤波器的脉冲响应,最后将其离散化得到数字滤波器的差分方程。
二、脉冲响应不变法的设计步骤1. 确定模拟滤波器的脉冲响应:选择适当的模拟滤波器类型,并设计其频率响应。
根据滤波器的阶数和截止频率,确定模拟滤波器的差分方程。
2. 采样得到数字滤波器的脉冲响应:通过将连续时间域中的模拟滤波器的脉冲响应与采样脉冲进行卷积,得到数字滤波器的脉冲响应。
3. 离散化得到数字滤波器的差分方程:将数字滤波器的脉冲响应离散化,得到数字滤波器的差分方程。
根据差分方程,可以计算数字滤波器的各个系数。
三、脉冲响应不变法的优缺点脉冲响应不变法具有以下优点:1. 设计方法简单:通过匹配模拟滤波器和数字滤波器的脉冲响应,可以直接得到数字滤波器的差分方程,设计方法相对简单。
2. 精度较高:脉冲响应不变法可以保持模拟滤波器的频率响应特性,因此可以实现较高的滤波器精度。
3. 适用范围广:脉冲响应不变法适用于各种模拟滤波器类型和滤波器规格的设计。
然而,脉冲响应不变法也存在一些缺点:1. 频率响应失真:由于采样过程中的截断和抽样误差,脉冲响应不变法可能导致数字滤波器的频率响应失真。
2. 高阶滤波器设计困难:对于高阶滤波器的设计,脉冲响应不变法可能会导致数字滤波器的稳定性问题和数值计算问题。
四、脉冲响应不变法的应用领域脉冲响应不变法广泛应用于数字信号处理领域,特别是在音频信号处理、图像处理和通信系统中的滤波器设计中。
脉冲响应不变法设计iir数字滤波器

脉冲响应不变法设计iir数字滤波器以脉冲响应不变法设计IIR数字滤波器引言:数字滤波器在信号处理领域起着重要的作用,而设计滤波器的方法也有很多种。
其中一种常用的方法是脉冲响应不变法(Impulse Invariance Method),它是一种将模拟滤波器转化为数字滤波器的方法。
本文将介绍脉冲响应不变法的基本原理和步骤,并以一个实例进行说明。
一、脉冲响应不变法的基本原理脉冲响应不变法的基本原理是通过保持模拟滤波器和数字滤波器的单位脉冲响应相等,来实现滤波器的转换。
具体而言,将模拟滤波器的单位脉冲响应与采样脉冲序列进行卷积,得到数字滤波器的单位脉冲响应。
这样可以保持滤波器的频率响应特性在一定程度上保持一致。
二、脉冲响应不变法的步骤1. 确定模拟滤波器的传递函数H(s),并将其转化为零极点形式。
2. 对传递函数进行低通化处理,即将其映射到单位圆内部,以避免数字化后的频率混叠。
3. 进行离散化处理,即将连续时间变为离散时间。
这里常用的方法是将模拟滤波器的传递函数中的s替换为z,其中z为复平面上的离散点。
4. 对离散化后的传递函数进行归一化处理,确保单位圆上频率为π的点的模为1。
5. 对归一化后的传递函数进行因子化,消除传递函数中的公共因子。
6. 根据因子化后的传递函数,可以得到数字滤波器的差分方程,即数字滤波器的单位脉冲响应。
三、实例分析为了更好地理解脉冲响应不变法的应用,我们以一个二阶低通滤波器为例进行分析。
假设模拟滤波器的传递函数为H(s),经过前述步骤转化为数字滤波器的差分方程为:y[n] = b0*x[n] + b1*x[n-1] + b2*x[n-2] - a1*y[n-1] - a2*y[n-2]其中,b0、b1、b2为数字滤波器的前馈系数,a1、a2为数字滤波器的反馈系数。
根据传递函数的零极点分解,我们可以得到数字滤波器的差分方程的系数。
具体计算步骤如下:1. 求解传递函数的零点和极点,得到模拟滤波器的零极点分解形式。
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的应用也可以推广到其他数字信号处理领域,如音频处理、图像处理等。
切比雪夫II型带通IIR数字滤波器设计
切比雪夫II 型带通IIR 数字滤波器设计1.设计思路(1) 数字—模拟指标转换。
利用双线性变换的频率预畸变公式2tan 2ωT =Ω,把所要求的数字滤波器)(z H 数字频率指标转换为相应的模拟滤波器)(s H 的模拟频率指标。
(2) 低通模拟指标转换。
将模拟滤波器)(s H 的频率指标归一化原型低通滤波器)(p H LP 的频率指标。
(3) 模拟滤波器的设计,得到低通滤波器的归一化传输函数)(p H LP 。
(4) 模拟频率变换,将模拟低通滤波器归一化传输函数)(p H LP 转换成所需要的模拟滤波器传输函数)(z H 。
(5) 模拟—数字滤波器变换。
利用双线性变换得到所要求的数字滤波器传输函数11112)()(--+-==z z T s s H Z H 。
2.设计要求及方案设计一带通切比雪夫II 型IIR 滤波器,要求如下:通带上下边沿频率分别为300 Hz 和400 Hz ,通带最大衰减dB p3=α,阻带上下边沿频率分别为200Hz 和500 Hz ,阻带最小衰减 dB s 18=α,采样频率Hz f s 2000=。
2.1带通滤波器的边缘频率为Hz f p 3001=,Hz f p 4002= Hz f s 2001=,Hz f s 5002=给定的系统取样频率为Hz f s 2000=,相应的数字频率为ππω3.0211=⨯=sp p f f ππω4.0222=⨯=sp p f fππω2.02=⨯=s sl sl f f ππω5.0222=⨯=ss s f f2.2采用双线性变换,以获得相应的模拟带通滤波器的边缘频率s rad f p s p /1.20382tan211==Ωω s rad f p s p /2.29062tan222==Ωωs rad f s s s /7.12992tan211==Ωω s rad f s s s /0.40002tan222==Ωωs rad B p p /1.86812=Ω-Ω=2.3归一化低通滤波器的技术指标1=p λ 11.31212≈Ω-ΩΩ-Ω=p p s s s λ通带最大衰减dB p3=α阻带最小衰减 dB s 18=αss s B s p w p 1001200002202+=Ω+=λ 用MTALAB 算法设计归一化切比雪夫II 型低通模拟滤波器>> [N2,wp2]=cheb2ord(wp,ws,Rp,As,'s'); %Chebyshev Ⅱ型滤波器参数计算(模拟域); >> [B2,A2]=cheby2(N2,Rp,wp2,'s'); %计算H(s)的系数B 和A ;>> [Z,P,K]=cheby2(N2,As,wp2,'s'); %构造Chebyshev Ⅱ型滤波器(零极点模型) >> subplot(2,2,1);>> [Z,P,K]=cheby2(N2,As,wp2,'s'); %构造Chebyshev Ⅱ型滤波器(零极点模型) >> [H,W]=zp2tf(Z,P,K); %将零极点模型转化成传递函数的模型 >> figure(1);>> [P,Q]=freqs(H,W); %在Figure1上显示滤波器的幅频响应及相频响应>> figure(2); >> subplot(2,2,1);>> fk=0:12000/512:12000;wk=2*pi*fk; %在Figure2上显示幅频特性曲线>> Hk=freqs(B2,A2,wk);>> plot(fk/1000,20*log10(abs(Hk)));grid on >> xlabel('Frequency(Hz)') >> ylabel('Magnitude Response')2.4将)(p H LP 转化为带通滤波器的系统sB s p LP w pp H s H 202)()(Ω+==λ2.5用双线性变换法将)(s H 转换成数字滤波器)(z H ,即1112)()(-+-==z z s s H Z H()()()()()()()()()()()()()()()⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡+-+++-+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-+++-∙⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡+-+++-+⎪⎪⎪⎪⎪⎭⎫⎝⎛-+++-+-+++-=--------------------6359.011219001148720.0112190011411949.111219001143331.01121900114)5389.01121900114(442.21111212111211112121112111121zz z z z z z z z z z zz z z z z z zz3.利用MATLAB 一步编写切比雪夫II 型带通数字滤波器Matlab 总程序如下:>> W1=300;W2=400;rp=3;rs=18;Fs=2000; >> WP=[200,300];WS=[50,450];>> [N,Wn]=cheb2ord(WP/(Fs/2),WS/(Fs/2),rp,rs);>> [P,Q]=cheby2(N,rp,Wn,'bandpass'); %创建Chebyshev 带通滤波器 >> ylabel('幅度'); >> figure(1);>> freqz(P,Q); %显示产生滤波器的幅频及相频曲线 >> [H,W]=freqz(P,Q); >> figure(2);>> plot(W*Fs/(2*pi),abs(H));grid; >> xlabel('频率/Hz');>> ylabel('幅度')>> title('数字滤波器幅频响应|H(ejOmega)| ');仿真出的幅频特性曲线如下图1.1所示:图1.1:幅频特性曲线相频特性及幅度特性曲线如下图1.2所示:图1.2:相频特性及幅度特性曲线。
IIR滤波器设计解读
H (e
j
)
1 T
k
H
a
j
2k
T
(1-2)
❖ 这就是说,数字滤波器的频率响应是模拟滤波器
频率响应的周期延拓。正如采样定理所讨论的,
只有当模拟滤波器的频率响应是限带的,且带限
于折叠频率以内时,即
Ha ( j) 0
| | s
T2
(1-3)
❖才能使数字滤波器的频率响应在折叠频率以内重现 模拟滤波器的频率响应,而不产生混叠失真,即
2 e e j1T / 2
j1T / 2
j T e j1T / 2 e j1T / 2
❖ 将此关系解析延拓到整个S平面和S1平面,令jΩ=s, jΩ1=s1,则得
s 2 T
es1T / 2 es1T / 2
es1T / 2 es1T / 2
2 T
tanh s1T 2
双线性变换法优缺点
❖双线性变换法与脉冲响应不变法相比,其主要的优点 是避免了频率响应的混叠现象。这是因为S平面与Z平 面是单值的一一对应关系。S平面整个jΩ轴单值地对 应于Z平面单位圆一周,即频率轴是单值变换关系。 这个关系如式(1-8)所示,重写如下:
2 tan
T 2 ❖ 上式表明,S平面上Ω与Z平面的ω成非线性的正切关
无限冲击响应滤波器 IIR 设计
❖ IIR数字滤波器在很多领域中都有着广阔的应用。 与FIR数字滤波器相比,IIR数字滤波器可以用 较低的阶数获得较高的选择性,而且所用存储单 元少。经济效率高。
❖ 但相位非线性,且选择性越好,相位非线性越严 重。
❖ IIR滤波器的设计方法有:脉冲响应不变法,双 线性变换法、MATLAB求系数法。
实验五:双线性变换法的设计IIR-数字滤波器
实验五、双线性变换法设计IIR 数字滤波器一、实验目的:1、熟悉用双线性变换法设计IIR 数字滤波器的原理与方法。
2、掌握数字滤波器的计算机仿真方法。
3、熟悉Batterworth 滤波器设计方法及特点 二、实验原理(一)、IIR 数字滤波器的设计步骤:① 按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; ② 根据模拟滤波器技术指标设计为响应的模拟低通滤波器;③ 跟据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;④ 如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。
在MATLAB 中,经典法设计IIR 数字滤波器主要采用以下步骤:IIR 数字滤波器设计步骤(二)、用模拟滤波器设计数字滤波器的方法 1、冲激响应不变法:冲激响应不变法是从时域出发,要求数字滤波器的冲激响应h (n ) 对应于模拟滤波器h (t ) 的等间隔抽样。
优点:时域逼近良好;保持线性关系。
缺点:频域响应混叠。
只适用于限带低通滤波器和带通滤波器2、双线性变换法优点:克服了频域混叠模拟滤波器原型 buttap,cheb1ap频率变换 模拟离散化 bilinear,impin varIIR 数字滤波器/Tπ/T π-3/Tπ3/Tπ-j ΩσjIm (z)Re(z)1S 平面Z 平面1S ~S T Tππ-将整个平面压缩变换到平面一个的带状区域缺点:高频时会引起畸变1)冲激响应不变法impinvar格式:[BZ,AZ]= impinvar (B,A,Fs )功能:把具有[B,A]模拟滤波器传递函数模型转换为采样频率为Fs 的数字滤波器的传递函数模型[BZ,AZ],Fs 默认值为1。
例:一个4阶的Butterworth 模拟低通滤波器的系统函数如下:12251)(234++++=s s s s s H a试用冲激响应不变法求出Butterworth 模拟低通数字滤波器的系统函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数字信号处理课程设计报告题目: IIR数字滤波器的设计学院:化工过程自动化学院专业班级:学号:姓名:指导教师:起止日期:2015年6月22日~2015年6月28日目录1课程设计的意义与任务要求 (1)1.1课程设计的意义 (1)1.2课程设计的任务要求 (1)2课程设计的理论基础 (1)2.1数字滤波器简介 (2)2.2IIR数字滤波器的设计原理 (2)2.3IR数字滤波器的特点 (3)3 MATLAB软件介绍 (3)3.1MATLAB软件介绍 (3)3.2MATLAB应用领域 (4)3.3MATLAB相关语句 (4)4课程设计的具体内容 (5)4.1数字滤波器设计步骤 (5)4.2脉冲响应不变法和双线性变换法的变换原理和步骤.. 错误!未定义书签。
4.2.1脉冲响应不变法的变换原理和步骤 ............ 错误!未定义书签。
4.2.2双线性变换法的变换原理和步骤 (6)4.3实验步骤及运行程序 (6)5课程设计的总结与心得 (10)参考文献 (11)1、课程设计的意义与任务要求1.1 课程设计的意义数字滤波器是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。
它的基本工作原理是利用离散系统特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用频率的信号分量输出。
数字滤波器和模拟滤波器有着相同的滤波概念,根据其频率响应特性可分为低通、高通、带通、带阻等类型,与模拟滤波器相比,数字滤波器除了具有数字信号处理的固有优点外,还有滤波精度高、稳定性好、、灵活性强等优点。
1.2 课程设计的任务要求(1)熟悉用脉冲响应不变法和双线性变换法设计IIR数字滤波器的原理与方法;(2)学会调用MATLAB信号处理工具箱中滤波器设计函数设计IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。
2、课程设计的理论基础利用MATLAB信号处理工具箱中的滤波器设计和分析工具(FDATool)可以很方便地设计出符合应用要求的未经量化的IIR数字滤波器。
需要将MATLAB设计出的IIR数字滤波器进一步分解和量化,从而获得可用FPGA实现的滤波器系数。
IIR数字滤波器的设计方法有两类:间接设计法和直接设计法。
间接设计法是借助模拟滤波器设计方法进行设计的,先根据数字滤波器设计指标设计相应的过渡模拟滤波器,再将过渡模拟滤波器转换为数字滤波器。
直接设计法师在时域或频域直接设计数字滤波器。
由于模拟滤波器设计理论非常成熟,而且有很多性能优良的典型滤波器可供选择(如,巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器等),设计公式和图表完善,而且许多实际应用需要模拟滤波器的数字仿真,所以间接设计法得到广泛的应用。
而直接设计法要求解联立方程组,必须采用计算机辅助设计。
在计算机普及的今天,各种设计方法都有现成的设计程序(或设计函数)可供调用,例如利用MATLAB仿真平台,可以设计不同类型的IIR滤波器。
2.1数字滤波器简介数字滤波器是一种用来过滤时间离散信号的数学系统,通过对抽样数据进行数学处理来达到频域滤波的目的。
可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。
如果系统是一个连续系统,则滤波器称为模拟滤波器。
如果系统是一个离散系统,则滤波器称为数字滤波器。
数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号(对应数字频率)转换为所要求的输出离散时间信号的特定功能装置)。
应用数字滤波器处理模拟信号(对应模拟频率)时,首先须对输入模拟信号进行限带、抽样和模数转换。
数字滤波器输入信号的数字频率(2π*f/fs,f为模拟信号的频率,fs 为采样频率,注意区别于模拟频率),按照奈奎斯特抽样定理,要使抽样信号的频谱不产生重叠,应小于折叠频率(ws/2=π),其频率响应具有以2π为间隔的周期重复特性,且以折叠频率即ω=π点对称。
为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。
2.2 IIR数字滤波器的设计原理IIR数字滤波器的最通用的方法是借助于模拟滤波器的设计方法。
模拟滤波器设计已经有了相当成熟的技术和方法,有完整的设计公式,还有比较完整的图表可以查询,因此设计数字滤波器可以充分利用这些丰富的资源来进行。
对于IIR数字滤波器的设计具体步骤如下:(1)按照一定的规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标。
(2)根据转换后的技术指标设计模拟低通滤波器G(s)(G(s)是低通滤波器的传递函数)。
(3)再按照一定的规则将G(s)转换成H(z)(H(z)是数字滤波器的传递函数)。
若设计的数字滤波器是低通的,上述的过程可以结束,若设计的是高通、带通或者是带阻滤波器,那么还需要下面的步骤:将高通、带通或带阻数字滤波器的技术指标转换为低通模拟滤波器的技术指标,然后设计出低通G(s),再将G(s)转换为H(z)。
2.3 IIR数字滤波器的特点(1) IIR数字滤波器的系统函数可以写成封闭函数的形式。
(2) IIR数字滤波器采用递归型结构,即结构上带有反馈环路。
IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。
由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。
(3) IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和椭圆滤波器等,有现成的设计数据或图表可查,其设计工作量比较小,对计算工具的要求不高。
在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。
(4) IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。
3、关于MATLAB软件3.1 MATLAB软件介绍MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。
MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。
[1]MATLAB不仅在数值运算上继续保持着相对其他同类软件的绝对优势,而且还开发了自己的符号运算功能。
用户只要学会了MATLAB就可以方便解决诸如矩阵变换及运算、多项式运算、微积分运算、线性与非线性方程求解、常微分方程求解、偏微分方程求解、插值与拟合、统计及优化等问题。
而且MATLAB能发展到今天,其可扩充性和可开发性起着不可估量的作用。
MATLAB本身就像一个解释系统,对其中的函数程序的执行以一种解释执行的方式进行,其最大好处是MATLAB完全成了一个开放的系统,用户可以方便的与FORTRAN、C等语言进行连接,以充分利用各种资源。
用户只需将已有的EXE文件转换成MEX文件,就可以方便地调用有关程序和子程序。
3.2 MATLAB应用领域MATLAB是一种应用于科学计算领域的高级语言,它的主要功能包括数值计算和符号计算功能、绘图功能、编程语言及应用工具箱。
尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。
另外还有一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
[2]MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++ 。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
[3]3.3 MATLAB相关语句convert转换量化滤波器的结构copyobj*为量化器、量化滤波器或量化FFT创建一个独立的复制品disp*显示量化器、量化滤波器或量化FFTeps*返回量化器、量化滤波器或量化FFT的量化阶数filter*将一量化滤波器应用于数据,可访问状态和滤波信息freqz*计算量化滤波器的频响特性get*返回量化器、量化滤波器或量化FFT的属性impz*计算量化滤波器的单位冲激响应isallpass测试量化滤波器是否为全通特性isfir测试是否为FIR滤波器islinphase测试是否为线性相位noperations*量化器、量化滤波器或量化FFT的量化操作次数noverflows*返回最后一次FFT或IFFT运算的溢出次数qfft量化FFTqreport*显示应用量化器、量化滤波器或量化FFT的结果quantizer*构建一个量化器range*返回量化器的数值范围reset*将一个或多个量化器、量化滤波器或量化FFT复位setbits*将量化器、量化滤波器或量化FFT的数据设置为Format形式4、设计的具体内容4.1 数字滤波器设计步骤用MATLAB进行模拟原型的数字滤波器的设计,一般步骤如下:(1)按一定规则将给出的数字滤波器的技术指标转换成模拟低通滤波器的技术指标。
(2)根据转换后的技术指标使用滤波器阶数选择函数,确定最小阶数N和固有频率Wn,根据选用的模拟低通滤波器的类型可分为:buttord,cheblord,cheb2ord,ellipord等函数;(3)运用最小阶数N产生模拟滤波器原型,模拟低通滤波器的创建函数有:buttap,cheb1ap,cheb2ap,ellipap,besselap等;(4)运用固有频率Wn把模拟滤波器原型转换成模拟低通、高通、带通、带阻滤波器,可分别用函数lp2lp,lp2hp,lp2bp,lp2bs;(5)运用脉冲响应不变法和双线性不变法把模拟滤波器转换成数字滤波器,分别用函数impinva和bilinear来实现。