基于matlab的数字滤波器的设计与开发_毕业论文设计(编辑修改稿)内容摘要:

滤波器 的时间冲激响应 无限长 ,所以 一般需要递归模型来实现 这种滤波器 ,而 FIR 滤波器的冲激响应是有限的,所以在实际工程实现方式可以采用递归方式也可以选取非递归方式。  10)()( NnnznhzH基于 Matlab的数字滤波器的设计与开发 7 数字滤波器的设计方法概述 有很多种 设计方法来设计数字滤波器 ,比如熟知的双线性变换、窗函数、 Chebyshev逼近和差值逼近法等等。 数字滤波器的设计和实施 ,一般按照以下步骤进行: 滤波器的性能要求 由任务要求来确定。 因为再设计滤波器之前,滤波器的技术指标 必须首先根据工程实际的需要来确定。 滤波器 在大多数的实际应用中 主要用作选频,所以,一般给出幅度和相位响应的指标形式实在频域中。 幅度指标给出方式一般是两种,绝对指标(提供对幅度响应函数的要求)和相对指标(以分贝的形式给出要求)。 绝对指标一般应用在 FIR 滤波器的设计, 而在实际运用中,第二种 相对指标最受欢迎。 系统函数被 一个因果稳定的离散线性移不变去逼近滤波器的性能要求。 因为 理想的频率响应是不可能实现的,所以只能去逼近。 有 两种系统函数逼近所用系统函数, 无限长单位冲激响应( IIR)系统函数 与 有限长单位冲激响应( FIR)。 这个系统函数 运用有限精度算法来实现。 这里所包括的算法包括选择运算结构、选择合适字长和有效数字的处理方法等 [1]。 一般 采用专用的数字滤波器硬件、通 用计算机软件、通用的数字信号处理器或者专用的数字信号处理器来进行技术的实现。 数字滤波器的性能指标 模拟滤波器按频率特性划分 有低通、高通、带通和全阻等类型 ,数字滤波器和模拟滤波器类似,按照频率响应也分为四类。 我们 用数字频率 ω来表示 频率变量 , 因为频率响应有周期性,而且抽样频率在数字滤波器的设计中是必须知道的。 下图为各种数字滤波器的理想频率响应(指表示了正频部分) 基于 Matlab的数字滤波器的设计与开发 8 图 23 数字滤波器的理想频率响应 一般来说,滤波器的性能常常用频率响应的幅度特性的允许误差来表征。 本文以低通滤波器为例,如图所示,频率响应有通带,过渡带和阻带三个部分, 并 不是理想情况下的通带和阻带两个部分。 图 24 非理想低通滤波器频率响 应 在通带内: 1 AP≤| H(ejω)| ≤1 |ω|≤ωc 在阻带中: |H(ejω)| ≤ Ast ωst ≤|ω|≤ωc 基于 Matlab的数字滤波器的设计与开发 9 ωc 为通带截止频率 , ωst 为阻带截止频率, Ap 为通带误差 , Ast 为阻带误差。 软件简介 当今很流行的一种科学计算软件 Matlab 是英文 Matrix Laboratory(矩阵实验室)的缩写 , 它由美国的 MATHWORK 软件公司发行 ,从此这款 Matlab 软件给人们提供了一个 数值计算 的 简便 平台。 Matlab 系 统是交互式的 , 它 在计算式 按照 IEEE 的数值计算标准,而且 不需要矩阵指定维数 对于基本运算。 该系统不仅可以方便的进行一些复杂的计算,而且可以运算运算效率很高,这都归咎于 Matlab 系统提供了大量的矩阵和许多运算函数 [7]。 程序设计、图像绘制、数值计算、文件管理以及输入输出等等各项操作 用户可以 在此软件下 进行。 Matlab 出色的数值计算能力和优秀的数据可视化功能让其在同类软件中脱颖而出。 接下来,我将分别对 IIR 数字滤波器和 FIR 滤波器得实现进行分析讨论,并在实现过程中,充分利用 Matlab 软件在数值计算、图像处理方 面的优势。 基于 Matlab的数字滤波器的设计与开发 10 第三章 数字滤波器的 Matlab 实现 IIR 滤波器的设计 与开发 IIR 数字滤波器设计最常用的方法是先 根据情况设计一个合适的模拟滤波器,然后再转换成 数字滤波器 ,以满足预定指标。 因为模拟滤波器设计已经具有一系列很 容易掌握 的方 法 ,而且模拟滤波器有 很多简单现成的设计 模拟滤波器的 公式,并且设计参数有比较充分 的图标来 查询。 实际中,有三种被广泛使用的滤波器,即巴特沃斯低通( Butterworth) 滤波器 、切比 雪夫低通 (Chebyshev)滤波器 ,椭圆 ( Ellips) 低通滤波器 和贝塞尔 (Bessel)滤波器等 ,下面, 将以巴特沃斯为例 进行介绍。 巴特沃斯 ( Butterworth)滤波器 因为在 Matlab 中,可以利用 butter 函数直接设计各种形式的数字滤波器 ,下面我以巴特沃斯低通滤波器为例,分析参数对其性能的影响。 巴特沃斯 (Butterworth)低通滤波器是将巴特沃斯函数作为滤波器的传递函数 |)(| 2jG ,它的平方幅度函数 可以写成 :  NcjG 22 1 1|)(|  式中, N 是 整数,为滤波器的阶数, 为滤波器频率, c 为 3dB 截止频率。 Matlab 信号处理工具箱为低通模拟巴特沃斯滤波器产生提供了 buttap 函数,它的调用格式: [z,p,k]=buttap(N),z 表示零点, p 表示极点 ,k是表示增益, N 表示滤波器的阶次,下面运用 Matlab 语言设计 Butterworth 低通模拟滤波器: 基于 Matlab的数字滤波器的设计与开发 11 图 31 巴特沃斯程序 图 32 阶数 N 分别是 14 的巴特沃斯幅频图 基于 Matlab的数字滤波器的设计与开发 12 由上图可以清楚地分析出, Butterworth 具有平滑的频率响应,而且在截止频率外,频率响应单调下降,阶数 N 越大,过渡带的陡峭程度越大,由此可以推出高阶的Butterworth 滤波器频率响应近似于理想低通滤波器。 在 Matlab 中,可以利用 butter 函数直接设计各种形式的数字滤波器,它的 调用格式为: [b,a]=butter( N,Wn) ,依据阶数 N 和截止频率 Wn 计算 Butterworth 滤波器分子分母系数( a 为分母系数的矢量形式, b 为分子系数的矢量形式)。 相同参数条件下模拟滤波器的调用格式: [b,a]=butter[N,Wn,’s’] 函数的调用格式是 : [N,Wn]=butterd(Wp,Ws,Rp,Rs,’s’),Wp 是通带临界频率, Ws 阻带临界频率, Rp 通带内最大衰减, Rs 阻带内最小衰减。 FIR 滤波器的设计 与开发 IIR 数字滤波器的设计方法是利用模拟滤波器成熟理论和设计图标进行的,所以保留了一些模拟滤波器优良的幅度特性。 但是在设计中只考虑到了幅度特性,没有考虑到相位特性,所以设计的滤波器的相位一般是非线性的。 于是我们考虑到通过增加相位校正网络就可以得到线性相位,但是这样设计的滤波器就会变得复 杂。 非常幸运的是, FIR滤波器恰恰就可以在满足幅度特性技术要求的同时能很容的做到相位的严格线性。 现在 Matlab 中一共有五种设计 FIR 数字滤波器的方式,分别是窗函数法,过渡带法、最小二乘约束设计法、升余弦法和非线性相位滤波器设计法。 其中对于窗函数法,本文主要讨论矩形窗( Rectangle window)、 汉宁窗( Hanning window)、布拉克曼窗( blackman window)。 在 Matlab 中,实现矩形窗的函数为 boxcar,调用格式为 w=boxcar(N),汉宁窗的函数为 hanning,调 用格式为 hanning,调用格式为 w=hanning( N) ,海明窗的函数为 blackman,调用格式为 w=Blackman(N)。 各种窗函数 N 相同时 的实现与比较 下图给出了当 N=100 时三种窗函数的频谱图。 基于 Matlab的数字滤波器的设计与开发 13 图 33 N=100 是三种窗函数的 程序 基于 Matlab的数字滤波器的设计与开发 14 图 34 N=100 是三种窗函数的频谱图 再设计窗函数的时候,一般会希望窗函数满足窗函数的主瓣尽可能的窄以及尽量减少窗函数的最大旁瓣的相对幅度,这样不仅可以获得较陡的过渡带,而且可以让旁瓣尽量集中于主瓣,因此肩峰和波纹减小,可以增大阻带的衰减。 由上图的矩形窗,汉宁窗以及布拉克曼窗的比较可知 矩形窗偶对称,主瓣的宽度最窄,旁瓣的幅度最大;汉宁窗 偶对称,主瓣宽度中等,旁瓣幅度中等;布拉克曼窗偶对称, 主板宽度最大,旁瓣幅度最小。 同一种窗函数用不同长度 N 进行滤波实现与比较 先设计一个由 50HZ、 150HZ、 300HZ 频率叠加混合而成的正弦信号,用 fs=1000HZ的频率进行抽样,然后都用 FIR 滤波器中的矩形窗函数进行低通滤波,不同的是滤波器的长度一个是 N=13,另一个是 N=93,观察混合信号在其他条件相同的情况下经过低通滤波器后滤出的波形 有什么差别,以及。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。