当前位置:文档之家› 直接法设计IIR滤波器

直接法设计IIR滤波器

直接法设计IIR滤波器
直接法设计IIR滤波器

中国民航大学

电子信息工程学院 DSP技术及应用课程设计报告

题目:直接法设计IIR滤波器

专业班级:2011级通信C班

学号:

姓名:

指导教师:

二〇〇年月日

《DSP设计及应用》课程设计报告

目录

一、设计目的 (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信号处理详解.北京:人民邮电出版社,2001.9

[2] 张小虹王丽娟任姝婕. 数字信号处理基础. 北京:清华大学出版社,2007

[3] 万永革.数字信号处理的MATLAB实现.北京:科学出版社,2008.1

相关主题
文本预览
相关文档 最新文档