logo资料库

IIR数字滤波器设计与应用研究.doc

第1页 / 共29页
第2页 / 共29页
第3页 / 共29页
第4页 / 共29页
第5页 / 共29页
第6页 / 共29页
第7页 / 共29页
第8页 / 共29页
资料共29页,剩余部分请下载后查看
摘 要
Abstract
第1章 绪 论
1.1 MATLAB及其特点
1.2 GUI界面简介
第2章 数字滤波器简介
2.1 数字信号处理与数字滤波器
2.2 IIR数字滤波器的设计方法
第3章 IIR滤波器的设计
3.1 巴特沃斯模拟滤波器的设计
3.2 AF到DF的转换
3.2.1 脉冲响应不变法
3.2.2 双线性变换法
第4章 IIR滤波器的应用
4.1 语音信号方面的应用
4.2 基于MATLAB的平台实现
4.2.1 语音信号的采集和分析
4.2.2 干扰信号的构建
4.2.3 语音信号加噪
4.2.4 数字滤波
4.2.5 图形用户界面的设计
第5章 结 论
参考文献
致 谢
毕业综合训练(论文) 摘 要 IIR 滤波器广泛应用于语音信号的降噪处理。本课题研究的是在 MATLAB 软件下 IIR 数字滤波器的设计,以及在语音信号处理方面的应用。先简单描述了 MATLAB 软 件的特点,介绍了巴特沃斯低通滤波器的设计步骤。然后叙述了 IIR 数字滤波器对语音 信号处理的应用,包括语音信号的采集分析、干扰信号的构建以及对语音信号进行加噪 滤波处理,所设计的滤波器能成功滤除干扰噪声。最后利用 MATLAB 设计了一个简单 的 GUI 界面,该界面可以录制语音、构建噪声、实现不同类型的 Butterworth 滤波器的 设计以及可以调用这些滤波器进行降噪处理,并能显示各滤波器滤波前后的幅频响应 图。 关键词:数字信号处理;IIR;数字滤波;MATLAB;语音信号
毕业综合训练(论文) Abstract IIR filter is widely used in noise reduction processing of speech signal. The thesis studies the design of IIR digital filter under MATLAB software ,and the application of IIR digital filter in speech signal processing. Firstly,the characteristics of MATLAB software are briefly described and the design method of Butterworth Low-pass filter. Then the application of IIR digital filter in speech signal processing is described, including the acquisition and analysis of speech signal,the construction of jamming signal and the noise filtering processing of speech signal, and the designed filter can filter out the interference noise successfully. Finally, a simple GUI interface is designed by MATLAB, which can record speech, build noise, realize the design of different types of Butterworth filters, and call these filters for noise reduction processing.It also can show the amplitude-frequency response before and after the filter. Key words:Digtal signal processing; IIR; Digital filtering; MATLAB; Speech signal
毕业综合训练(论文) 目 录 摘 要...........................................................................................................................................I Abstract......................................................................................................................................II 第 1 章 绪 论............................................................................................................................1 1.1 MATLAB 及其特点................................................................................................... 1 1.2 GUI 界面简介.............................................................................................................2 第 2 章 数字滤波器简介..........................................................................................................3 2.1 数字信号处理与数字滤波器.....................................................................................3 2.2 IIR 数字滤波器的设计方法.......................................................................................5 第 3 章 IIR 滤波器的设计........................................................................................................6 3.1 巴特沃斯模拟滤波器的设计.....................................................................................6 3.2 AF 到 DF 的转换........................................................................................................8 3.2.1 脉冲响应不变法..............................................................................................9 3.2.2 双线性变换法................................................................................................10 第 4 章 IIR 滤波器的应用......................................................................................................13 4.1 语音信号方面的应用...............................................................................................13 4.2 基于 MATLAB 的平台实现.................................................................................... 13 4.2.1 语音信号的采集和分析................................................................................14 4.2.2 干扰信号的构建............................................................................................15 4.2.3 语音信号加噪................................................................................................17 4.2.4 数字滤波........................................................................................................18 4.2.5 图形用户界面的设计....................................................................................19 第 5 章 结 论..........................................................................................................................24 参考文献..................................................................................................................................25 致 谢........................................................................................................................................26
毕业综合训练(论文) 第 1 章 绪 论 1.1 MATLAB 及其特点 MATLAB 自诞生以来就广泛应用于计算机辅助分析设计、数据处理等领域。本文 使用的是 MATLAB R2013a,它含有丰富的工具箱,方便各个领域的研究人员可以直观 地进行科学研究和工程应用 [2]。此外,MATLAB 能与外部程序或其他语言进行沟通, 从而大大增强了它的计算能力。MATLAB 主要有以下几方面的特点: (1) MATLAB 语言的特点 MATLAB 语言用法简单,比较接近基础数学,编程语言基本与数学公式一致。尤 其是与其他编程语言相比,MATLAB 语言的实用性就更加明显了。比如求方阵 A 的特 征值,若使用 C 语言,则需要先声明函数和定义变量的类型;而在 MATLAB 中求解只 ,就能求出方阵的逆矩阵。在界面可视化方面,虽然面向 需在编辑窗口输入 对象设计语言能做出相应的界面,但操作起来比较麻烦,不适合初学者,但 MATLAB 中就提供了很多绘图的函数和工具箱。比如要画一个三维图形,若使用 C++语言,执行 起来很复杂,而且不能将图形展示给用户;而在 MATLAB 中只要调用函数 plot3(x,y,z), 还可以设置三维图的线型、颜色等外观。总之使用 MATLAB 编程简洁、相比 C 语言效 率更高。 ) inv A ( a  (2) MATLAB 的技术特点 在滤波器的设计方面,MATLAB 软件比其他编程软件受欢迎主要是因为其强大而 简单的绘图功能。在 MATLAB 中可以很方便的画出很多不同类型的图,如二维、三维 等图形,而且绘图的过程也很简单,只需调用一个函数即可,为了给大家一个很好的视 觉体验,MATLAB 软件除了能绘制出符合要求的图形,还可以对图形的外观进行调整 和润色,线条的样式和颜色种类繁多,可以满足所有用户的要求。更重要的是它能在绘 制出的图形中进行数据的标注,可以使读者很清楚的看到图形的性质。此外,MATLAB 还能给这些绘制好图形进行复制保存,还可以利用 MATLAB 软件编程创建 GUI 界面, 本课题的最后在 MATLAB 软件上做了一个关于数字滤波的 GUI 界面。 (3) MATLAB 工作环境特点 MATLAB R2013a 的工作环境主要由命令窗口、编辑窗口、当前目录窗口、命令历 史纪录、工作台窗口等部分组成。下面对几个常用窗口做简单的介绍。 1) Command Window(命令窗口) 命令窗口是和编译器连接的主要窗口。直接在提示符“>>”后面输入命令再按“enter” 键就可以直接执行命令,如果命令行以分号结束,就不会在下一行输出结果;对于想要 得到结果的命令,用户在编写时应该去掉分号。但在这个窗口编程的缺点就是不能对前
毕业综合训练(论文) 一行的程序进行修改。 2) Editor(编辑窗口) 对于比较复杂的程序一般是在 Editor 窗口进行编写,用户可以在该窗口对程序随时 进行更改,也可以建立 function(自定义函数)方便用户调用,编写结束后可直接点击“run” 运行,运行过程中产生的变量名称、数据会显示在工作台窗口。若运行过程中出现错误, 用户可以通过加 Breakpoints(断点)对程序进行调试,也可以根据命令窗口的错误提示 进行检错。 3) Current Folder(当前目录窗口) 该窗口会显示当前工作所在的目录,用户可以在该窗口进行 m 文件的移动、查找、 重命名等文件操作。 1.2 GUI 界面简介 GUI 是指由窗口、菜单、图标、按键、对话框和文本等各种图形对象组成的用户界 面,是人机交流信息的工具和方法,在该界面,用户可以根据界面提示完成整个工程[4]。 创建 MATLAB GUI 界面有两种方式:一种是通过在编辑窗口编程使用.m 来添加界面上 的各部件,不过这种方法执行起来比较复杂,每一个功能和图形都要编写一个相应的主 函数,对于多次用到的可编辑变量,只需把它定义为全局变量,然后在 main 函数中调 用就好。但只要把框架搭好,用户就可以很方便的设计所需的用户界面,对于想要实现 的用户界面功能,编写相应的函数就可以达到目的。另一种是直接利用 MATLAB 中的 GUIDE 工具箱进行设计,如图 1.1。左侧菜单栏是设计界面需要用到的对象,用户将所 需的对象放置在空白界面上,MATLAB 会自动生成 m 文件框架,双击该对象可以修改 各项参数,如名字、尺寸大小等,对象的功能设定可以在回调函数中编写相应的代码。 这种方法操作简单,适合搭建功能简单的 GUI 界面,用户可以很方便地创建 GUI 应用 程序。由于本课题设计的界面较多,所以采用的是第一种方法。 图 1.1 GUI 界面
毕业综合训练(论文) 第 2 章 数字滤波器简介 2.1 数字信号处理与数字滤波器 数字滤波器的设计是数字信号处理课程的重要内容[1]。现在如果设计想设计一个数 字滤波器的话会有许多现成的高级语言设计程序可以参考,但这些语言都存在或多或少 的弊端,有些语言设计效率低,有些不能绘制图形或者修改参数,还有一些语言编写的 程序一点也不直观,而 MATLAB 2013a 却完美的避开了这些不足。它以矩阵运算为基 础,把计算、可视化、程序设计融合到了一个交互式的工作环境中[2]。 数字滤波器本质上就是分辨频率或者选择频率的线性时不变系统。因此,数字滤波 器又可以叫做离散时间线性时不变系统。而数字滤波器有很多种表示方式,在时域上可 以用差分方程、脉冲响应、网络框图描述;在频域上可以用系统函数、零极点图、频率 响应描述。如果系统服从 N 阶差分方程: ( ) y n  M  i  0 b x n i i   ( ) N  i 1  a y n i  i ( ) (2.1) i i 0 N , min  ,所以称式(1.1)为 N 阶差分方程; ( 式中, max 前的输入输出信号, ia 、 ib 分别是输出输入信号的系数,M 为输入 ( 差分方程的阶数取决于 ( y n i 中i 的值。则对应的系统函数为 x n i 和 ( ) ) ) y n i 为 n 时刻以 x n i 中i 的最大值, ) ( ) H z  ( ) Y z ( ) X z  M   0  N i 1  i 1-  i b z i  i a z i (2.2) 由于 IIR 的单位脉冲响应是无限长的,此时 ia 是非零实数,系统存在输出对输入的反 馈。此时若 1N  、 0M  , 1 ib  时,则 IIR 系统的差分方程为 其单位脉冲响应为 (2.3)  。FIR 和 IIR 这两类不同的网络结构各有不同的特 点,而设计出的 IIR 滤波器的 ( )H z 一般用直接型表示。下面简单介绍 IIR 系统的直接型 网络结构。 ( ) y n )( nua ( ay n ( ) x n )( nh n 1)   根据式(2.1),当 1M  、 2N  时,直接型的差分方程可表示为: ( b x n  1 ( ) b x n 0 ( a y n 2 ( a y n 1 ( ) y n 2) 1)       对应的系统函数为: ) zH (  ) zY ) zX ( (  1  1 0  zbb  zaza  1  1  2 2 1 1) (2.4) (2.5)
毕业综合训练(论文) 根据式(2.4)可以画出直接 I 型的网络结构如图 2.1 所示。图中 1( )H z 表示零点即式(2.5) 的分子, 2( )H z 表示极点也就是式(2.5)的分母。 . 图 2.1 直接 I 型结构 交换 1( )H z 和 2( )H z 的位置,可以形成如图 2.2(a)所示的结构流图,将两个相同的输 入合并得到如图 2.2(b)所示的结构流图。 (a) (b) 图 2.2 IIR 滤波器正准型结构 在 MATLAB 中设计滤波器,最后得到的 ( )H z 都是如式(2.5)的表达式。 数字滤波器从不同的角度划分就会有不同的类型。如果从滤波特性上分类的话,可 划分如图 2.3 所示的四种理想滤波器。
毕业综合训练(论文) (a)低通 (b)高通 (c)带通 (d)带阻 图 2.3 各类滤波器幅频特性 2.2 IIR 数字滤波器的设计方法 如图 2.4 所示把设计 IIR 滤波器的方法分为两大类,图中用 AF 表示模拟滤波器, DF 则是数字滤波器。 第一大类是间接法。结合 AF 的现有技术设计 DF,这是比较便捷的一种方法。这 种方法主要分为两个步骤,首先是先设计出一个归一化样本模拟低通滤波器;然后将模 拟频带数字化(脉冲响应不变法或双线性变换法)。间接法一个特点就是结合了 AF 的成 熟理论。本课题主要介绍用间接设计法对巴特沃斯数字滤波器进行设计。 另一类是直接法。这个方法的核心是通过解决 IIR 滤波器的逼近问题来设计滤波器 的 ( )H z 的各个系数。与上一种方法相比,该方法不需要进行 AF 到 DF 的转换,就能直 接得到滤波器的系统函数。逼近用到的方法有时域最小均方误差逼近法和频域最小均方 误差逼近法以及零极点类试法。直接法程序理解起来比较复杂,对运行软件的要求比较 高,可以充分发挥 MATLAB 在滤波器的设计方面的应用。 图 2.4 IIR 滤波器设计方法
分享到:
收藏