《IIR数字滤波器》DOC.docx
- 文档编号:27403452
- 上传时间:2023-06-30
- 格式:DOCX
- 页数:15
- 大小:148.82KB
《IIR数字滤波器》DOC.docx
《《IIR数字滤波器》DOC.docx》由会员分享,可在线阅读,更多相关《《IIR数字滤波器》DOC.docx(15页珍藏版)》请在冰豆网上搜索。
《IIR数字滤波器》DOC
一、实验课程任务与要求
《数字信号处理》课程是电子、通信、计算机、自动化、信息处理等专业的重要基础课。
本课程以信号与系统、工程数学为基础,要求学生掌握时域离散信号和系统的基本理论、基本分析方法以及FFT、数字滤波器、谱分析等数字信号处理技术。
《数字信号处理》是一门理论与实践联系紧密的课程,所以本课程安排一周课程设计,以帮助学生掌握数字信号处理技术,提高学生分析问题和解决问题的能力,并通过设计培养学生的创新意识。
本课程设计的基本要求如下:
1学会用MATLAB语言编写数字信号处理的程序,通过上机实习加深对课堂所学知识的理解;
2上机前应按照要求把设计内容准备好,即编好程序及需要改变的参数,能预计出可能出现的结果;
3观察实验结果,得出结论;
4设计结束时提交设计报告。
二、设计题目
2.IIR数字滤波器设计(Ⅱ)
三、考核办法及成绩评定:
根据上机操作、设计报告和答辩给出成绩。
四、教学文件及形式:
教材:
丛玉良《数字信号处理》吉林科学技术出版社
主要参考书:
程佩青《数字信号处理教程》清华大学出版社
学生在教师的辅导下完成给定题目,也可自拟题目。
五、设计内容
题目2IIR数字滤波器设计(Ⅱ)
1.内容:
设计一个数字巴特沃斯低通滤波器,设计指标如下:
采样时间间隔
。
2.要求:
(1)用双线性变换法进行设计。
(2)给出详细的滤波器设计说明书。
(3)给出经过运行是正确的程序清单并加上详细的注释。
(4)画出所设计滤波器的幅度特性和相位特性。
。
3.实验说明
数字滤波器,是数字信号处理中及其重要的一部分。
随着信息时代和数字技术的发展,受到人们越来越多的重视。
数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。
数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应(FIR,FiniteImpulseResponse)滤波器和无限冲激响应(IIR,InfiniteImpulseResponse)滤波器。
IIR滤波器采用递归型结构,即结构上带有反馈环路。
IIR滤波器运算结构通常由延时、乘以系数和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。
同时,IIR数字滤波器在设计上可以借助成熟的模拟滤波器的成果,如巴特沃斯、契比雪夫和
椭圆滤波器等,有现成的设计数据或图表可查,在设计一个IIR数字滤波器时,我们根据指标先写出模拟滤波器的公式,然后通过一定的变换,将模拟滤波器的公式转换成数字滤波器的公式。
对数字频率指标进行预畸变使其成为模拟频率指标:
,
。
计算巴特沃斯模拟滤波器的截止频率
和阶数
。
设计巴特沃斯模拟低通滤波器,给出参数
和
(此处使用了MATLAB中的buttap(N)函数。
把模拟滤波器用双线性变换法转换成数字滤波器(此处使用了MATLAB中的bilinear函数)。
变直接形式为级联形式,并给出结构图。
画出幅度特性和相位特性。
4、双线性变换法的基本原理
脉冲响应不变法使得数字滤波器在时域上能够较好的模仿模拟滤波器,但是由于从
平面到
平面的映射
具有多值性,使得设计出来的数字滤波器不可避免的出现频谱混迭现象。
为了克服脉冲响应不变法可能产生的频谱混跌效应的缺点,我们使用一种新的变换——双线性变换。
双线性变换法可认为是基于对微分方程的积分,利用对积分的数值逼近的道德。
仿真滤波器的传递函数
为
将展开为部份分式的形式,并假设无重复几点,则
那么,对于上述函数所表达的数字信号处理系统来讲,其仿真输入
和模拟输出
有如下关系
利用差分方程来代替导数,即
同时令
这样,便可将上面的微分方程写为对应的差分方程形式
两边分别取
变换,可得
这样,通过上述过程,就可得到双线性变换中的基本关系,如下所示
所谓的双线性变换,仅是指变换公式中
与
的关系无论是分子部份还是分母部份都是线性的。
5、设计步骤框图
下面我们总结一下利用模拟滤波器设计IIR数字低通滤波器的步骤:
(1)确定数字低通滤波器的技术指标:
通带边界频率、通带最大衰减,阻带截止频率、阻带最小衰减。
(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。
(3)按照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器。
(4)用双线性变换法,模拟滤波器系统函数转换成数字低通滤波器系统函数。
数字滤波器的设计步骤如图1所示
图1
6.程序编码如下:
用巴特沃斯滤波器原型设计一个低通滤波器,满足:
ωp=0.2π,Rp=1dB;ωs=0.3π,As=15dB;T=1s
自编写程序实现此功能的文件g12.m,内容如下:
%
%双线性变换法由巴特沃思变数字滤波器
%
%
%数字滤波器指标:
wp=0.2*pi;%数字通带频率(弧度)
ws=0.3*pi;%数字阻带频率(弧度)
Rp=1;%通带波动(dB)
As=15;%阻带衰减(dB)
%模拟原型指标的频率逆映射
T=1;Fs=1/T;%置T=1
OmegaP=(2/T)*tan(wp/2);%原型通带频率预修正
OmegaS=(2/T)*tan(ws/2);%原型阻带频率预修正
ep=sqrt(10^(Rp/10)-1);%通带波动参数
Ripple=sqrt(1/(1+ep*ep));%通带波动
Attn=1/(10^(As/20));%阻带衰减
%模拟巴特沃思原型滤波器计算:
[N,OmegaC]=buttord(OmegaP,OmegaS,Rp,As,'s')%原型的阶数和截止频率计算
%%***巴特沃思滤波器阶次=6
[z0,p0,k0]=buttap(N);%归一化巴特沃思原型设计函数
p=p0*OmegaC;z=z0*OmegaC;%将零极点乘以Omegac,得到非归一化零极点
k=k0*OmegaC^N;%将k0乘以Omegac^N,得到非归一化k
ba0=real(poly(z0));ba0=k0*ba0;%由零点计算分子系数向量
aa0=real(poly(p0));%由极点计算分母系数向量
ba=real(poly(z));ba=k*ba;%由零点计算分子系数向量
aa=real(poly(p));%由极点计算分母系数向量
[bd,ad]=bilinear(ba,aa,Fs)%双线性变换:
[bd1,ad1]=bilinear(ba0,aa0,Fs/OmegaC);%双线性变换:
[sos,G]=tf2sos(bd,ad)%变为二阶环节级联结构
%绘图
figure
(1);subplot(1,1,1)
[db,mag,pha,grd,w]=myfreqz(bd1,ad1);%检验频率响应
subplot(2,1,1);plot(w/pi,mag);title('幅度响应')
xlabel('');ylabel('|H|');axis([0,1,0,1.1]);
set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]);grid%画刻度线
%set(gca,'YTickmode','manual','YTick',[0,Attn,Ripple,1])
set(gca,'YTickLabelMode','manual','YTickLabels',['50';'15';'1';'0'])
subplot(2,1,2);plot(w/pi,pha/pi);title('相位响应')
xlabel('');ylabel('单位:
pi');axis([0,1,-1,1]);
set(gca,'XTickMode','manual','XTick',[0,0.2,0.3,1]);%画刻度线
set(gca,'YTickmode','manual','YTick',[-1,0,1]);grid
set(gcf,'color','w')%置图形背景色为白
还需要编写函数myfreqz,新建一个文件myfreqz.m,输入如下内容:
function[db,mag,pha,grd,w]=myfreqz(b,a);
%
%freqz子程序的扩展版本,可得出分贝幅特性和群迟延特性
%
%
%[db,mag,pha,grd,w]=myfreqz(b,a);
%------------------------------------
%db=[0到pi弧度]区间内的相对振幅(db)
%mag=[0到pi弧度]区间内的绝对振幅
%pha=[0到pi弧度]区间内的相位响应
%grd=[0到pi弧度]区间内的群延迟
%w=[0到pi弧度]区间内的501个频率样本向量
%b=Ha(z)的分子多项式系数(对FIRb=h)
%a=Ha(z)的分母多项式系数(对FIR:
a=[1])
%
[H,w]=freqz(b,a,1000,'whole');
%用MATLAB中的freqz函数计算数字系统频率响应
H=(H(1:
1:
501))';w=(w(1:
1:
501))';%取其前一半,并化为列向量
mag=abs(H);%求其幅特性
db=20*log10((mag+eps)/max(mag));%化为分贝值
pha=angle(H);%求其相特性
grd=grpdelay(b,a,w);%求其群迟延特性
7.结构图
8.程序运行之后,可以观察到频率响应曲线如图所示。
=========================IIR低通滤波器=======================
IIR低通滤波器程序见附录3
图1IIR低通滤波器
9.IIR数字滤波器比较说明:
数字滤波器其实是用一有限精度算法实现的离散时间线形时不变系统,来完成对信号进行滤波处理的功能,共输入是一组由模拟信号经过取样的量化的数字量,输出是经处理的另一组数字量。
工程上常用冲激响应不变变换法和双线性变换法来实现,有Ha(S)到H(Z)的变换。
巴特沃思幅度平方函数在S平面2N个极点等间隔的分布在半径为Ωc的圆周上,这些极点的位置关于虚轴对称,并且没有极点落在虚轴上,保证模拟滤波器的稳定性和因果性。
双线性变换法中,S平面与Z平面是单值映射关系,但存在非线性“预畸变”方法是补偿双线性变换中频率非线性关系的有效方法根据数字滤波器的截止频率Ω=2/Ttan(w/2)求出模拟滤波器的截止频率ΩcΩc
Ω=2/Ttan(wc/2)Ω=2/Ttan(ws/2)
根据双线性变换法,将模拟滤波器Ha(S)变换成数字滤波器H(Z),共双线性变换公式为
S=2/T*(1-1/Z)/(1+1/Z)
输入端接入一个低通滤波器H1(S),共作用是对输入信号X0(t)的频带进行限制,以便D/A变换器输出的模拟量良好的恢复成连续时间信号。
双线性变换法克服了冲激响应不变变换法可能产生的频谱混叠,S平面与Z平面为单位映射关系。
如果模拟滤波器是稳定的,则用双线性变换法设计的数字滤波器也一定是稳定的。
IIR数字滤波器的的设计就是在给定了滤波器的技术指标后,确定滤波器的阶数n和系数{ai,bi}。
在满足技术指标的条件下,滤波器的结束应尽可能低,因为滤波器的阶数越低,实现滤波器的成本就越低。
在设计IIR滤波器时,常用的方法是利用模拟滤波器来设计数字滤波器。
广泛采取这种方法的因素有:
1,模拟滤波器设计技术已非常成熟;2,可得闭合形式的解;3,关于模拟滤波器设计有完整的设计公式和图表可以利用很查阅。
为实现从模拟滤波器到数字滤波器的转换,需要从系统的描述方法来考虑转换问题,无论是模拟滤波器还是数字滤波器,描述系统的基本方法都有四种,如表所示,且同一滤波器的各种描述形式之间可以相互转换。
模拟滤波器
数字滤波器
模拟滤波器
数字滤波器
单位脉冲响应ha(t)
单位采样响应h(n)
系统函数Ha(s)
系统函数H(z)
频率响应Ha(jΩ)
频率响应H(ejω)
微分方程
差分方程
滤波器描述系统的方法
因此,IIR滤波器的设计方法是首先将数字滤波器的技术指标转化为对应模拟滤波器的技术指标,然后设计满足技术指标的模拟滤波器Ha(s),然后将设计出的模拟滤波器Ha(s)转换为满足技术指标的数字滤波器H(z)。
将Ha(s)转换成H(z)的最终目的,是希望数字滤波器的频率响应H(ej
ω)尽量接近模拟滤波器Ha(jΩ)。
将系统函数H(z)从s平面转换到z平面的方法有很多种,但工程上常用的有两种:
一种是使数字滤波器的h(n)近似于模拟滤波器的ha(t),可导出脉冲响应不变法;另一种使数字滤波器的差分方程近似于模拟滤波器的微分方程,由此可导出双线性变换法。
10、心得体会
通过这将近一周的数字信号处理的课程设计,我先在图书馆里查找了相关的书籍,如MATLAB类的编程书籍,各类数据处理类的书籍以及心电信号的书籍等,即丰富了自己的知识范围,又对与自己所学的知识有了更深的了解和认识,同时也对它的应用有了一个大体的认识。
这样将会更加激励我好好学习相关的知识,不断的将所学的知识用于实践。
于实践中牢牢的掌握它。
在设计的过程中,我也认识到了自己所学知识的不足。
这也让我再次认识到知识是无尽的,只有不断的充实自己、完善自己的知识理论体系,才能够更好的胜任自己以后的工作。
设计过程中知识的不足也让我更加坚定了终身学习的决心。
在设计的过程中,我也得到了我们设计小组的成员和很多同学的帮组。
这也加强了我与其他同学合作的能力。
查找资料的过程中我也增强自己学习的能力,这些都将让我在以后的学习、生活和工作中受益匪浅。
总之,对于这样的课程设计活动,我收获了很多东西,也将使我在以后的学习、工作中更加轻松和积极。
这也正是参加这次活动的目的和意义。
(注:
素材和资料部分来自网络,供参考。
请预览后才下载,期待你的好评与关注!
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IIR数字滤波器 IIR 数字滤波器 DOC