资源描述
课程设计报告书
(2015——2016年度第一学期)
课程名称
数字信号处理
系 院
信息工程系
专 业
通信工程
班 级
姓 名
学 号
指导教师
职 称
二〇一五年十二月二十七日
1、课题描述
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。如果系统是一个连续系统,则滤波器称为模拟滤波器。如果系统是一个离散系统,则滤波器称为数字滤波器。
数字滤波实质上是一种运算过程,实现对信号的运算处理。输入数字信号(数字序列)通过特定的运算转变为输出的数字序列,因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。描述离散系统输出与输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。时域离散系统的频域特性:
其中、分别是数字滤波器的输出序列和输入序列的频域特性(或称为频谱特性), 是数字滤波器的单位取样响应的频谱,又称为数字滤波器的频域响应。输入序列的频谱经过滤波后,因此,只要按照输入信号频谱的特点和处理信号的目的, 适当选择,使得滤波后的满足设计的要求,这就是数字滤波器的滤波原理。
2、设计原理
2.1 IIR数字滤波器设计原理
IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。IIR数字滤波器的设计步骤:
① 按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标;
② 根据模拟滤波器技术指标设计为响应的模拟低通滤波器;
③ 跟据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器;
④ 如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。
在MATLAB中,经典法设计数字滤波器主要采用以下步骤:模拟滤波器原型
buttap,cheb1ap
频率变换
模拟离散化
bilinear,impinvar
IIR数字滤波器
图2.1 IIR数字滤波器设计步骤
2.1.1巴特沃斯低通滤波器的原理
巴特沃斯滤波器的特点是同频带内的频率响应曲线最为平坦,没有起伏,而在组频带则逐渐下降为零。在振幅的对数对角频率的波特图上,从某一边界见频率开始,振幅随着角频率的增加而逐渐减少,趋向于负无穷大。
一阶巴特沃斯滤波器的衰减率为每倍频20分贝,二阶巴特沃斯滤波器的衰减率为每倍频12分贝,三阶的衰减率为每分贝18分贝,如此类推,巴特沃斯滤波器的振幅对角频率单调下降,并且滤波器的结束越高,在组频带振幅衰减速度越快,其他滤波器高阶的振幅对角频率图和低阶数的振幅对角频率有不同的形状。
上述函数的特点是等距离分布在半径为的圆上。
因此,极点用下式表示为
的表示式:
为了使设计公式和图表统一,将频率归一化。巴特沃斯滤波器采用3dB截止频率归一化,归一化后的系统函数为
令,称为归一化频率,称为归一化复变量,这样巴特沃斯滤波器的归一化低通原型系统函数为
式中,,为归一化极点,用下式表示:
2.1.2 双线性变换法
双线性变换法是将平面压缩变换到某一中介平面的一条横带里,再通过标准变换关系将此带变换到整个z平面上去,这样就使平面与平面之间建立一一对应的单值关系,消除了多值变换性。
为了将平面的轴压缩到平面的轴上的到一段上,可以通过以下的正切变换来实现:
这样当由经变化到时,由经过0变化到,也映射到了整个 轴。将这个关系延拓到整个平面和平面,则可以得到
再将平面通过标准变换关系映射到平面,即令得到
同样对z求解,得到
这样的变换叫做双线性变换。为了验证这种映射具有s平面的虚轴映射到z平面单位圆上的特性,考虑 ,,得
除了使s平面的虚轴映射到单位圆上之外,s平面的左半部分映射到单位圆的内部,s平面的右半部分映射到单位圆的外部。如图所示
图2.2 双线性变化映射关系示意图
观察式子,发现的实部为负时,因子的幅度小于1,相当于单位圆的内部。反之,当的实部为负时,该比值的幅度大于1,相当于单位圆的外部。这样就可以看出使用双线性变换可从稳定的模拟滤波器得到稳定的数字滤波器。双线性变换法还避免了使用脉冲响应不变法所遇到的混叠问题,因为它把平面的这个虚轴映射到平面的单位圆上。然而,付出的代价是在频率轴上引入了失真。因此,只有当能容忍或补偿这种失真时,使用双线性变换法设计数字滤波器的方法才是实用的。仅在零频率附近时与之间的频率变换关系接近于线性关系,所产生的数字滤波器的幅频响应相对于原模拟滤波器的幅频响应有畸变。
对于分段常数的滤波器,双线性变换后,仍得到幅频特性为分段常数的滤波器,但是各分段边缘的临界频率点产生了畸变,这种频率的畸变,可以通过频率的预畸变来加以校正,也就是将临界频率事先加以畸变,然后经变换后正好映射到所需要的频率上。通过的关系变换成一组模拟频率。
图2.3 双线性变化法的频率关系
为了克服冲击响应不变法产生的频率混叠现象,我们需要使平面与平面建立一一对应的单值关系,即求出,然后将其代入就可以求得,即
2.2窗函数设计FIR滤波器的原理分析
2.2.1 窗函数设计原理
设数字滤波器的传输函数为,是与其对应的单位脉冲响应,为系统函数
一般说来是无限长的, 需要求对的一个逼近, 采用窗函数设计法时, 可通过对理想滤波器的单位采样响应加窗设计滤波器
其中是一个长度有限的窗,在区间外值为,且关于中间点对称
频率响应根据上式,由卷积定理得出
理想的频率响应被窗函数的离散时间傅立叶变换“平滑”了。
采用窗函数设计法设计出来的滤波器的频率响应对理想响应的逼近程度, 由两个因数决定:①主瓣的宽度;②旁瓣的幅度大小。理想的情况是主瓣的宽度窄,旁瓣的幅度小。但对于一个长度固定的窗函数来说,这些不能独立地达到最小。
2.2.2凯瑟窗需计算的参数
元素必须包含特定化顶峰波动的值或通带、止带允许的偏移量。
。然后应用得到窗的尺寸并进行尺寸修正。
3、设计过程及步骤
3.1巴特沃斯低通滤波器
由设计技术参数所给定技术指标计算出归一化系统函数:
=
N=-lg0.092/lg1.568=5.306 取N=6求得3dB截止频率为,查表得归一化传输函数
,编写MATLAB程序实现从设计截止频率为的六阶低通巴特沃斯数字滤波器。
步骤一:将设计内容题所给归一化巴特沃斯低通滤波器以截止频率为进行去归一化。
步骤二:用双线性变化法将低通模拟滤波器变换为低通数字滤波器
3.2窗函数设计流程
窗函数方法不仅在数字滤波器的设计中占有重要的地位,同时可以用于功率谱的估计,从根本上讲,使用窗函数的目的就是消除由无限序列的截短而引起的Gibbs现象所带来的影响。
窗函数设计线性相位FIR滤波器步骤如下:
(1) 确定数字滤波器的性能要求,临界频率,滤波器单位脉冲响应长度N
(2) 根据性能要求,合理选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应的幅频特性和相频特性
(3) 求理想单位脉冲响应,在实际计算中,可对采样,并对其求IDFT的,用代替
(4) 选择适当的窗函数w(n),根据求所需设计的FIR滤波器单位脉冲响应
(5) 求,分析其幅频特性,若不满足要求,可适当改变窗函数形式或长度N,重复上述设计过程,以得到满意的结果。
4、仿真程序及分析
4.1 巴特沃斯低通滤波器程序
clear all; clc; close all
fs=1; T=1; N=6;
wc=0.7662; omegach=2*tan(wc/2)/T;
M=1; N=[1,3.8636,7.4637,9.1412,7.4637,3.8636,1]
[h,w]=freqs(M,N,512); %模拟滤波器的幅频响应
subplot(2,1,1);plot(w,20*log10(abs(h)));
grid; axis([0,10,-90,0])
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])
4.1.1运行结果
图4.1模拟滤波器的幅频响应图形
图4.2低通数字滤波器的幅频响应图形
4.1.2 结果分析
比较脉冲响应不变法设计的低通滤波器和双线性法设计的低通滤波器进行比较:
优点:是频率坐标变换是线性的,即,如果不考虑频率混叠现象,用这种方法设计的数字滤波器会很好的重现原模拟滤波器的频率特性。另一个优点是数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,时域逼近性好。
缺点:是会产生频率混叠现象适合低通、带通滤波器的设计,不适合高通、带阻滤波器的设计。
双线性变换法避免了频率响应的混叠现象。可以设计高通、带阻滤波器。模拟频率与数字频率不再是线性关系,所以一个线性相位模拟滤波器经双线性变换后所得到的数字滤波器不再保持原有的线性相位了。
与脉冲响应不变法相比,双线性变换靠频率的严重非线性关系得到S平面与Z平面的单值一一对应关系,整个轴单值对应于单位圆一周,这个关系就是式 所表示的,其中和为非线性关系。如图中看到,在零频率附近,接近于线性关系,进一步增加时,增长变得缓慢,时 (终止于折叠频率处),所以双线性变换不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象。
4.2 Kaiser窗法设计一个高通滤波器程序
clear all; clc; close all
ωs=0.5π,ωp=0.6π,dp=0.5 dB,ds=50 dB,
Wdel=wc-wp;
Beta=1; %ds>21
N=ceil((As-8)/2.285/wdel) %N=5
Wn=Kaiser (N,bata);
ws=(wp+wc)/2/pi;
b=fir1(N-1,ws,’high’,wn);
figure(1)
freqz(b,1);
4.1.1运行结果
图4.3Kaiser窗滤波器幅频与相频响应
4.1.2 结果分析
利用凯瑟窗函数设计高通滤波器。高通滤波器就是从频率~∞,其幅频特性平直。它使信号中高于的频率成分几乎不受衰减的通过,而低于的频率成分将受到极大地衰减。凯瑟窗方法是一种应用广泛的可调窗,它可以通过改变窗函数的形状来控制窗函数旁瓣的大小,而在设计中可根据滤波器的衰减指标来确定窗函数的形状。
5、设计总结
本次设计采用了双线性变换法和窗函数法。
数字滤波器的应用广泛,利用MATLAB语言,可以较容易地设汁出滤波器,且滤波器的调整也较方便。利用MATLAB及计数字滤波器有多种方法.我们要灵活运用这蝗方法,从而在工程上有提高设计效率。
滤波器从功能上分类, 可分为低通、 高通、 带通&、带阻滤波器, 这种理想滤波器是不可能实现的,只能作为逼近标准用。 从单位脉冲响应分类" 可分为无限脉冲响应IIR滤波器和有限脉冲响应FIR滤波器。FIR数字滤波器的单位脉冲响应是有限长序列,IIR滤波器由于不具备FIR滤波器所固有的稳定性和设计方法的简单性。所以一般不使用,Matlab所有滤波器没计函数都将返回一个FIR滤波器,FIR数字滤波器具有描述方便、系统总是稳定的,易于实现的。
[参考文献]
[1] 张海藩.软件工程导论(第5 版).北京:清华大学出版社,2008
[2] 赵晓东 张正礼 许小荣.ASP.NET 3.5从入门到精通.北京:清华大学出版社,2009
[3] 刁成嘉.UML系统建模与分析设计.北京:机械工业出版社,2007
[4] UML基础与Rose建模案例.北京:人民邮电出版社,2004
[5] 刘乃丽 ASP.NET 2.0 网络开发详解.北京:电子工业出版社,2008
附件二:
课程设计(学年论文)任务书
(指导教师用表)
装
订
线
学 生 姓 名
指 导 教 师
题 目
数字信号处理课程设计
主要
内容
1. 使用双线性变换设计IIR数字滤波器设计
用双线性变换设计巴特沃兹滤波器,技术指标是:
0.89125≤∣H(ejω)∣≤1, 0≤ω≤0.2π
∣H(ejω)∣≤0.17783, 0.3π≤ω≤π
用绝对指标表示为:
ωp = 0.2π ωs = 0.3π
δ1 = 1-0.89125 = 0.10875 δ2 = 0.17783
2. 使用Kaiser窗法设计FIR高通滤波器
用Kaiser窗法设计一个高通滤波器,满足技术指标:
∣H(ejω)∣≤0.021, ∣ω∣≤0.35π
0.979≤∣H(ejω)∣≤1.021, 0.5π≤ω≤π
用绝对指标要求来表示为:
ωp = 0.5π ωs = 0.35π δ1 =δ2 =δ=0.021
研究方法
1.学生自由分组,由组长负责任务分工。每名成员根据自己领到的任务情况独立开展课程设计任务。设计过程中以教师辅导为辅。
2.学生可以通过查阅网络或书籍资料,学习已有滤波器设计方法及源代码,在借鉴别人成功经验的基础上,提出自己的设计观点,完成设计任务。
3.独立上机实验完成自己的设计思想,逐步调试运行,分析验证设计成果。
主要任务
及目标
1.根据题目要求制定设计方案及步骤; 2.描述设计原理;
3.详细设计; 4.仿真结果分析; 5.设计总结。
主要参
考文献
[1](美)A.V.奥本海姆 (美)R.W.谢弗 (美)J.R. 巴克 著,刘树堂 黄建国 译,离散时间信号处理(第2版),西安交通大学出版社,2001.9
[2] (美)维纳.K.恩格尔 (美)约翰.G.普罗克斯 , 数字信号处理-使用MATLAB, 刘树堂 译, 西安交通大学出版社,2002.6
[3]陈桂明 张照明 戚红雨 著, 应用MATLAB语言处理数字信号与数字图象, 科学出版社,2000
[4] 陈怀琛 吴大正 高西全,MATLAB及在电子信息课程中的应用,北京:电子工业出版社,2002.1
进度安排
各阶段任务
日期
讲解、下达设计任务
2015年12月18日
查阅资料、完成相应设计工作
用Matlab实现设计,对设计系统的性能进行分析、评价
撰写设计总结报告
指导教师签字:
附件三:
课程设计(学年论文)成绩评定表
系(院):
装
订
线
学生姓名
专业 班级
题目
数字信号处理课程设计
内容提要
本次的滤波器设计原理比较简单,查阅了课本和相关书籍,了解了滤波器设计的基本原理。回顾了MATLAB的基本操作和常用函数,了解了其中专门为实现滤波器的函数。然后开始了基本运算和编程,因为使用了MATLAB使得很多原本复杂的运算简单了很多。但中间由于对MATLAB了解的不多,甚至连基本的函数语句都得查书才能知道,这就大大增加了我们设计的时间。有时在调用函数时出现各种错误,得不到正确结果,程序运行时也会有很多的错误。这让我深深体会到,要想正确得出一个波形,需要花很多的时间和很大精力。
指导教师评语
成绩: 指导教师(签名): 年 月 日
展开阅读全文