IIR滤波器课程设计数字信号处理课程设计报告Word格式文档下载.docx
《IIR滤波器课程设计数字信号处理课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《IIR滤波器课程设计数字信号处理课程设计报告Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
1.3面对的问题及解决问题的关键技术
MATLAB是于1984年由美国MathWorks公司推出,该软件具有使用简单、方便,易编程,语言简练,函数库可任意扩充,采用全新数据类型和面向对象编程技术等特点,有强大的数值分析、矩阵运算、图形绘制、数据处理等功能,因此已被广泛应用在教学、科研和工程设计的各个领域。
随着MATLAB软件的信号处理工具箱的推出,如今MATLAB已经成为信号与信息处理,特别是数字信号处理应用中分析与仿真设计的主要工具。
传统的滤波器分析与设计均使用繁琐的公式计算,改变参数后需要重新运算,从而在分析与设计滤波器尤其是高阶滤波器时工作量特别大,利用MATLAB信号处理工具箱可以快速而有效地实现滤波器的分析、设计与仿真。
2系统分析
2.1涉及的基础知识
滤波器,是指对输入信号起到滤波作用的系统,其时域输入输出关系为:
,假定
、
的傅里叶变换均存在,则滤波器输入输出的频域关系为
。
数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数字处理来达到频域滤波的目的。
数字滤波器也是具有一定传输选择特性的数字信号处理装置,其输入、输出均为数字信号,实质上是一个由有限精度算法实现的线性时不变离散系统。
设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数
,使其频率响应满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带最大衰减、阻带最小衰减。
2.1.1三种模拟原型滤波器
1.滤波器的特点:
(1)巴特沃斯滤波器:
从通带中心向两边幅频特性单调下降。
(2)切比雪夫I滤波器:
通带内有等纹幅频特性函数,阻带内有单调下降的幅频特性函数。
(3)切比雪夫II滤波器:
通带内有单调下降的幅频特性函数,阻带内有等纹幅频特性函数。
2.两种低通逼近法
(1)巴特沃斯滤波器低通逼近法
巴特沃斯低通滤波器幅度平方函数定义为
式中,N为正整数,代表滤波器的阶数。
(2)切比雪夫低通逼近法
2.2解决问题的基本思路
数字滤波器按单位脉冲相应h(n)的时域特性可分为无限长脉冲响应IIR滤波器和有限长脉冲响应FIR滤波器。
其中IIR滤波器一般采用递归型的实现结构,其N阶递归型数字滤波器的差分方程为:
(2-1)
系数
至少有一项不为零,说明必须将延时的输出序列反馈回来。
相应的IIR滤波器的系统函数为:
(2-2)
IIR滤波器的系统函数的设计就是确定各系数
,
或零极点
,A,以使滤波器满足给定的性能要求。
本课题利用模拟滤波器的理论来设计数字滤波器。
首先,设计一个合适的模拟滤波器,然后用脉冲响应不变法变换成满足预定指标的数字滤波器,即从已知的模拟滤波器传递函数
设计数字滤波器的系统函数
脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应
,将
等间隔采样,使h(n)正好等于
的采样值。
(2-3)
再对h(n)求Z变换,即得数字滤波器的系统函数:
(2-4)
具体步骤:
(1)将数字滤波器设计指标转换为相应的模拟滤波器指标。
(2)设计相应的模拟滤波器,得到模拟系统函数
(3)将模拟滤波器系统函数
转换成数字滤波器系统函数
2.3总体方案
1.创建图形化用户界面。
2.编写控件回调函数
在MATLAB的图形用户界面应用程序中,控件主要响应用户的鼠标单击动作。
响应鼠标动作的方法通过编写回调函数来完成。
回调函数是指在界面控件被选中的时候,响应动作的M语言函数。
回调函数主要完成的功能是:
(1)获取发出动作的对象句柄;
(2)根据发出的动作,设置影响的对象属性。
3.编写功能子函数
(1)函数IIR_Createfilter,用于根据设定参数创建数字滤波器。
(2)显示幅度谱函数IIR_DispMag。
(3)显示相位谱函数IIR_DispAngle。
(4)显示零极点图函数IIR_DispZplane。
(5)选择波形文件函数IIR_GetWAVFile。
(6)播放原始波形文件函数IIR_Playorg。
(7)显示幅度谱函数IIR_Dispmod。
2.3功能模块框图
图2.1功能模块框图
3系统设计
3.1算法描述
1.函数IIR_Createfilter():
function[num,den,FsCY,FlagYYY]=IIR_Createfilter()
num=[];
den=[];
FlagYYY=1;
hndl=gcbf;
name_hndl=findobj(hndl,'
Tag'
'
PMenu_Fileter'
);
%获取控件句柄
str1_full=get(name_hndl,'
String'
%获取控件的文本信息
val=get(name_hndl,'
Value'
%获取组合框选项的索引号
fil_name=str1_full{val};
%获取索引号对应的文本
set(name_hndl,'
UserData'
fil_name);
%将文本信息设置到UserData
type_hndl=findobj(hndl,'
PMenu_Fileter_Style'
str2_full=get(type_hndl,'
val=get(type_hndl,'
fil_type=str2_full{val};
set(type_hndl,'
fil_type);
pbr_hndl=findobj(hndl,'
P_Rp'
%通带最大衰减
val=str2num(get(pbr_hndl,'
string'
));
set(pbr_hndl,'
val);
sbr_hndl=findobj(hndl,'
S_Rs'
%阻带最小衰减
val=str2num(get(sbr_hndl,'
set(sbr_hndl,'
f1_hndl=findobj(hndl,'
CY_Fs'
%采样频率
val=str2num(get(f1_hndl,'
set(f1_hndl,'
f2_hndl=findobj(hndl,'
P_Fp'
%通带截止频率
val=str2num(get(f2_hndl,'
set(f2_hndl,'
f3_hndl=findobj(hndl,'
S_Fs'
%阻带截止频率
val=str2num(get(f3_hndl,'
set(f3_hndl,'
fil_name=get(name_hndl,'
fil_type=get(type_hndl,'
Rp=get(pbr_hndl,'
Rs=get(sbr_hndl,'
f1=get(f1_hndl,'
FsCY=f1;
f2=get(f2_hndl,'
f3=get(f3_hndl,'
f22_hndl=findobj(hndl,'
P_Fp2'
val=str2num(get(f22_hndl,'
set(f22_hndl,'
f32_hndl=findobj(hndl,'
S_Fs2'
val=str2num(get(f32_hndl,'
set(f32_hndl,'
f22=get(f22_hndl,'
f32=get(f32_hndl,'
%模拟滤波器原型为巴特沃斯滤波器
if(strcmp(fil_name,'
巴特沃斯'
))
%数字低通滤波器的设计
if(strcmp(fil_type,'
低通'
Wp=2*pi*f2/f1;
%数字滤波指标
Ws=2*pi*f3/f1;
OmigaP=Wp*f1;
%把数字滤波指标转换为模拟滤波指标
OmigaS=Ws*f1;
[nW]=buttord(OmigaP,OmigaS,Rp,Rs,'
s'
%计算相应的模拟滤波器阶数N和3dB截止频率W
[BA]=butter(n,W,'
%计算相应的模拟滤波器系统函数
[num,den]=impinvar(B,A,f1);
%用脉冲响应不变法将模拟滤波器转换成数字滤波器
%数字高通滤波器的设计
elseif(strcmp(fil_type,'
高通'
high'
%数字带通滤波器的设计
带通'
Wp=2*pi*[f2,f22]/f1;
Ws=2*pi*[f3,f32]/f1;
%数字带阻滤波器的设计
elseif(strcmp(fil_type,'
带阻'
stop'
End
%模拟滤波器原型为切比雪夫1滤波器
elseif(strcmp(fil_name,'
切比雪夫1'
%数字低通滤波器的设计
[nW]=cheb1ord(OmigaP,OmigaS,Rp,Rs,'
[BA]=cheby1(n,Rp,W,'
%模拟滤波器原型为切比雪夫2滤波器
切比雪夫2'
if(strcmp(fil_type,'
[nW]=cheb2ord(OmigaP,OmigaS,Rp,Rs,'
[BA]=cheby2(n,Rp,W,'
%数字高通滤波器的设计
End
3.2详细流程图
4运行与测试
1.图形化用户界面
2.
图4.1用户界面图
图4.2低通滤波器幅度响应图
3.
图4.3低通滤波器相位响应图
图4.4零、极点图
致谢
首先,衷心地感谢淮阴工学院、计算机工程学院提供的实践机会,实验室人员提供的舒适的实验环境!
本论文是在老师们的亲切关怀和悉心指导下完成的。
老师们严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。
从课题的选择到项目的最终完成,老师都始终给予我细心地指导和不懈的支持。
在此向老师致以诚挚的谢意和崇高的敬意。
同时,我还要感谢我们小组的其他成员,虽然时间紧迫,我们仍愉快地度过了这短暂的课程设计周,正是由于你们的帮助和支持,我才能克服一个一个的困难喝疑惑,直至本文的顺利完成,特别感谢我的同学,他们对本课题做了不少工作,给予我不少的帮助。
最后,对所参考的文献原作者,以及其他提供帮助的所有人员和机构表示真诚的谢意!
参考文献
1高西全,丁玉美.数字信号处理.第3版.西安:
西安电子科技大学出版社,2008
2王世一.数字信号处理.北京:
北京工业学院出版社,1987
3刘波.MATLAB信号处理.北京:
电子工业出版社,2006
4飞思科技产品研发中心MATLAB7辅助信号处理技术与应用.北京:
电子工业出版社,2005
5郑君里,应启珩,杨为理.信号与系统(下册).北京:
电子工业出版社,2003
6伯晓晨.MATLAB工具箱应用指南.北京:
电子工业出版社,2000
........忽略此处.......