直接法设计IIR滤波器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国民航大学
电子信息工程学院 DSP技术及应用课程设计报告
题目:直接法设计IIR滤波器
专业班级:2011级通信C班
学号:
姓名:
指导教师:
二〇〇年月日
目录
一、设计目的 (1)
二、设计要求 (1)
三、设计原理及方案 (1)
四、软件流程 (3)
五、调试分析 (4)
六、设计总结 (5)
七、参考文献 (6)
一、设计目的
1、复习数字信号处理教材中讲解的滤波器的基本设计方法。
2、通过查找资料学习prony和yule-walk滤波器的知识。
3、熟练掌握matlab的常用函数,学会对信号进行处理。
4、学会使用matlab的GUI控件编辑图形用户界面。
5、学习撰写ppt和报告的技巧,培养团队合作能力。
二、设计要求
1、查阅课题相关资料,学习matlab的基本语句,以及设计滤波器的知识,制定设计计划及设计思路。
2、搭建GUI平台,使界面中可以显示原信号时域、频域波形,加噪后信号的时域、频域波形,滤波器的频率响应波形,以及去噪后声音信号的时域、频域波形,方便进行对比。
3、可以打开任意wav格式声音文件。
4、通过添加播放与音量调节按钮,可对声音信号进行播放、调节音量操作。
5、通过录音按钮,可以现场采集声音信号并保存
6、向声音信号添加不同种类噪声,并且可以改变信噪比或噪声频率等参数。
7、用prony及yule-walk方法设计不同类型的IIR滤波器,滤除噪声信号。
8、通过在窗口中输入数值,可以改变滤波器阶数,以及通带与阻带的宽度。
三、设计原理及方案
1、yule-walk法设计IIR滤波器原理:
yulewalk函数使用最小二乘拟合逼近给定的频率特性。不像模拟滤波器原型设计,yulewalk函数设计方法不是基于低通、高通、带通、带阻的设计参数,而是基于离散区域上的特征值。
函数的用法如下:
[b,a]=yulewalk(n,f,m)
该函数返回yule-walk滤波器的系数矩阵[b,a];其中矩阵f和m是已知的
频率响应;n是滤波器的阶数。其中频率矩阵f的元素必须处于范围[0,1]之内,而且必须是升序排列,以0开始,以1结束。
2. prony法设计IIR滤波器原理:
和yule-walk法不同,prony法是根据给定的冲激响应设计滤波器的一种方法,prony在滤波器设计、指数信号建模、系统辨识等领域都有广泛的应用。
在matlab里用prony函数实现:
[b,a]=prony(h,nb,na)
其中,nb,na指定滤波器的传递函数中分子和分母的阶数,h为给定的冲激响应,返回值中b和a的长度分别为nb+1和na+1,并且以升幂的形式给出系统的传递函数。
3
原理图说明:
(1)初始化:点击开始使用,进入主界面。
(2)添加一个声音信号或点击录制可以录制声音,点击添加后可以得到该声音信号的时域、频域波形。
(3)加入噪声:选择噪声种类、设定相关参数,点击添加后,得到加噪后的声音信号,并在界面中显示加噪后的声音信号的波形。
(4)滤波器滤波:选择适合的滤波器并设定相关参数,点击选择后获得加噪声音信号经滤波器滤波后的声音,以及它的时域、频域波形。
四、平台介绍
欢迎界面,点击“开始使用”进入主界面
在点击“录音开始后”,会在下面
的坐标中实时显示波形。
在点击“选择声音信号”,可以选
择任意声音信号。
选择声音文件后,就会看到信号的波形和频谱图。
选择噪声类型,并调整参数,点击“添加噪声信号”,即可看到加噪后信号的波形与频谱图。
选择滤波器,调整相应参
数,点击“使用滤波器”,
即可看到去噪后信号的波
形和频谱图,以及滤波器的
图。
五、调试分析
在系统编程过程中我们遇到了许多问题,以下几点主要的进行分析说明:
1、在为声音信号加入正余弦噪声时,无法直接将原始声音与噪声信号相加。
解决方法:由于噪声信号的长度与原始信号不同,必须重新设定使其长度相等,在正余弦噪声后添加“转置加”符号后,两者才可以进行相加。
2、在最开始设计滤波器时,对prony以及yule-walk方法的原理不了解,设定的各项参数不合理。
解决方法:通过上网查找资料,借阅书籍,组员之间不断探讨尝试,掌握两种方法的基本原理,设定合适的滤波器参数。
3、不知道button间的数据如何传递。
解决方法:设置全局变量,数据即可在程序中传递。
4、不知如何将下拉菜单和按钮关联。
解决方法:获取popupmenu的string属性,并设为全局变量,在按钮中直接调用即可。
5、在添加背景图后,运行时,坐标轴不能全部显示出来,只有在使用时才会显示。
解决方法:在matlab中添加背景图后,坐标轴确实没有办法完全显示,只能改为使用软件提供的背景色,对界面进行美化。
六、设计总结
通过本次应用matlab实现直接法设计IIR滤波器实验,我们巩固了数字信号处理的知识,掌握了有关滤波器的设计方法,并学习了利用prony和yulewalk 两种新的方法设计滤波器。在使用matlab处理声音信号和设计滤波器过程中和GUI平台的搭建过程中,我们组虽然遇到很多问题,但都经过查资料和询问同学使问题得到了解决,使我们对matlab的使用有了更加深刻的理解。
这次课程设计的经历,我们都受益匪浅,在韩老师和何老师的指导下,我们不光在学术上有所收获,还在ppt设计以及答辩方便得到了很多技巧,而且这次实习还提高了我们团结合作的能力,我们相信这些宝贵的实习经历都会对我们以后的工作有所帮助。
七、参考文献
[1] 陈亚勇. MATLAB信号处理详解.北京:人民邮电出版社,
[2] 张小虹王丽娟任姝婕. 数字信号处理基础. 北京:清华大学出版社,2007
[3] 万永革.数字信号处理的MATLAB实现.北京:科学出版社,