毕业设计论文-基于tms320f2812的fir低通滤波器的设计内容摘要:

由上可见, FIR 滤波器不断地对输入的样本 x (n )延时后,再做乘法累加算法。 将滤波器结果 y (n )输出。 因此 ,FIR 实际上就是一种乘法累加运算。 而对于线性相位 FIR而言,利用线性相位 FIR 滤波器系数的对称特性,可以采用结构精简的 FIR结构乘法器数目减少一半。 本科毕业设计说明书(论文) 第 9 页 共 34 页 FIR 数字低通滤波器设计方法 FIR低通滤波器的设计一般方法有两种,即频率抽样法和窗函数法,频率抽样法设计不同于窗函数法,窗函数是从时域出发,把理想的 ()dhn用一定形状得窗函数截取成有限长的 ()hn ,以此 ()hn 来近似理想的 ()dhn,这样得到的频率响应 ()jwHe 逼近于所要求的理想的频率响应 ()jwdHe。 频率抽样法则是从频域出发,把给定的理想频率响应 ()jwdHe 加以等间隔抽样,即2( ) | ( )jwddwkNH e H k 然后以此 ()dHk作为实际 FIR数字滤波器的频率特性的抽样值()Hk,即令 2( ) ( ) ( ) | 0 , 1 , , 1jwddwkNH k H k H e k N   ,知道 ()Hk后,由 DFT定义,可以用频域的这 N 个抽样值 ()Hk来唯一确定有限长序列 ()hn ,而由 ()Xz的内插公式知道,利用这 N 个频域抽样值 ()Hk同样可求得 FIR滤波器的系统函数 ()Hz及频率响应 ()jwHe [12]。 在设计数字滤波器时,通常采用 MATLAB来进行辅助设计和仿真,用 MATLAB设计 FIR数字滤波器的方法 有很多种可以分为窗函数编程设计法、最优化设计法及滤波器设计与分析工具 FDATool设计法。 (1)窗函数编程设计法 窗函数法的设计核心是从给定的频率特性,通过加窗确定有限长单位脉冲响应序列 nh ,根据给定的滤波器技术指标,选择滤波器长度 N和窗函类型,使其具有最窄宽度的主瓣和最小的旁瓣。 工程中常用的窗函数共有 6种,即矩形窗、巴特利特窗、汉宁窗、汉明窗、布莱克曼窗和凯塞窗。 以基于窗函数设计法的 firl和 fir2函数命令可以方便地得到滤波器的系数,并可以通过使用 freqz()和 plot()函数绘制滤波器的幅频响应和相频响应。 (2)最优化设计法 MATLAB中的 remez函数可采用 Parks— McClellan算法设计线性相位 FIR滤波器,这种滤波器使期望频率响应与实际频率响应之间 的最大误差最小,使其频率响应呈现出等波纹特性,因此有时也称为等波纹滤波器。 这种方法的缺点是无法直接设定滤波器阻带衰减参数,只能通过调整参数进行多次试验来得到所需的滤波器。 本科毕业设计说明书(论文) 第 10 页 共 34 页 (3)FDATool设计法 FDATool(filter designamp。 analysis too1)是 MATLAB信号处理工具箱里专用的滤波器设计与分析工具。 FDATool界面为滤波器设计提供了一个交互式的设计环境,用户可以根据对幅值和零极点图的设置,设计几乎所有基本的常规滤波器。 用 FDATool设计法是其界面的上半部分为特性区,用来显 示滤波器的各种特性;下半部分为参数设定区,用来设定滤波器的各种参数,包括滤波器的类型、设计方法、阶数、频率设定等 [13]。 通过对比以上 3种方法,发现本实验利用窗函数法设计滤波器更为方便。 本文便是在 MATLAB中利用窗函数法先设计出 FIR滤波器,得到系数,然后根据其结果再在基于 TMS320F2812的 DSP实验箱上实现。 设计 FIR 数字滤波器的基本步骤 (1)确定指标 在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。 在很多实际应用中,指标的形式一般在频域中给出幅度和相位响 应。 幅度指标主要以两种方式给出,相对于对幅度响应函数的要求,分贝值这种指标最受欢迎。 对于相位响应指标形式,通常希望系统在通频带中只有线性相位 [11]。 本文中滤波器的设计就以线性相位 FIR滤波的设计为例以窗函数进行设计。 (2)逼近 技术指标确定后,就可以建立一个目标的数字滤波器模型。 通常,首先采用理想的数字滤波器模型,然后利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。 (3)性能分析和计算机仿真 上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。 根据这个描述就可以分析其频率特性 和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断设计的效果。 用窗函数法设计 FIR数字低通滤波器 设数字滤波器的传输函数为 )( jeH , )(nhd 是与其对应的单位脉冲响应 , )(zH 为系统函数。  10 )()(Nnnjj enheH  ( ) 本科毕业设计说明书( 论文) 第 11 页 共 34 页   deeHnh njjdd )(21)(  ( )  10 )()(NnnznhzH ( ) 一般说来 , )(nhd 是无限长的 ,需要求对 )( jd eH 的一个逼近。 采用窗函数设计法时 ,可通过对理想滤波器的单位采样响应加窗设计滤波 器 )()()( nhnnh d ( ) 其中 , )(n 是一个长度有限的窗 ,在区间 0 ≤ n ≤ N 1 外值为 0 ,且关于中间点对称 )1()( nNn   ( ) 频率响应 ,由卷积定理得出 )(*)(21)(   jjdj eeHeH  ( ) 理想的频率响应被窗函数的离散时间傅立叶变换 )(  je “平滑”了。 采用窗函数设计法设计出来的滤波器的频率响应对理想响应 )( jd eH 的 逼近程度 ,由两个因素决定 : )(  je 主瓣的宽度。 )(  je 旁瓣的幅度大小。 理想的情况是 )(  je 主瓣的宽度窄 ,旁瓣的幅度小。 但对于一个长度固定的窗函数来说 ,这些不能独立地达到最小。 窗函数的一些通用性质为 : 窗函数的长度 N 增加 ,主瓣的宽度减小 ,使得过渡带变小。 关系为 :NB = C 其中 :B 是过渡带的宽度。 C 是取决于窗函数的一个参数。 如矩形窗为 4。 调整 N 可以有效地控制过渡带的宽度 ,但 N 的改变不改变主瓣和旁瓣的相对比例。 随着 N 值增加 ,过渡带变窄 ,波动频率随着增加 ,虽然总的幅度有所减少 ,但截止频率附近的肩峰并不减少 ,而只是随着 N 值的增加 ,肩峰被抑制在愈来愈小的范围内 ,使肩峰宽度变窄。 和矩形窗相比,改进的窗函数的频谱的主 瓣更宽,滤波器幅频响应函数的过渡带加宽。 窗函数的旁瓣的幅度大小取决于窗函数的选择。 因而,选用不同形状的窗函数,是为了得到平坦的通带幅度响应和较小的阻带波纹。 选择恰当的窗函数使主瓣包含更多的能量 ,相应旁瓣的幅度就减小。 旁瓣幅度的减小 ,可以减少通带和阻带的波动 ,使通带尽可能趋近水平 ,阻带尽可能达到最大衰减。 但通常此时过渡带会变宽。 取不同的窗函数对幅度特性的整形效果比单纯的增加窗口长度要强得多 [14]。 本科毕业设计说明书(论文) 第 12页 共 34 页 常用的窗函数有 :矩形窗、三角形窗、汉宁窗、海明窗、布莱克曼窗等。 为了便于比较和设计时参考,如下表 常用窗函数的基本参数: 表 窗的类型 最大旁瓣幅度 相对值 过渡带宽度 最小阻带衰减 dB 主瓣宽度 矩形 13 21 4 N/ 三角 25 25 N/8 Hanning 31 44 N/8 Hamming 41 53 N/8 布莱克窗 57 5 74 N/12 窗函数的选择原则是 : (1)具有较低的旁瓣幅度, 尤其是第一旁瓣幅度。 (2)旁瓣幅度下降速度要快,以利增加阻带衰减。 (3)主瓣的宽度要窄,以获得较陡的过渡带。 窗函数法计算中的主要问题 首先当 )( jd eH 很复杂或不能按   deeHnh njjdd )(21)( 是直接计算积分时,则必须用求和代替积分,以便在计算机上计算,也就是要计算离散傅里叶反变换,一般都采用 FFT 来计算。 将积分限分成 M 段,也就是令抽样频率为: kMk  2, k =0, 1 ,2,„, M 1 ( ) 则有 knMjMkkMjdM eeHMnh  2102 )(1)(  ( ) 频域的抽样造成时域序列的周期延拓,延拓周期是 M ,即:   r dM rMnhnh )()( ( ) 由于 )(nhd 有可能是无限长的序列,因而严格的说,必须 M 时 )(nhM 才能等于 )(nhd 而不产生混叠现象,即: )(lim)( nhnhMMd  ( ) 本科毕业设计说明书(论文) 第 13页 共 34 页 由于 )(nhd 随 n的增加衰减很快,只要 M 足够大,即 M N ,就足够了。 其次,窗函数设计法的另一个困难就是需要先确定窗函数的形状和窗函数需要的点数 N ,以满足给定的频率响应指标。 这一困难可利用计算机采用累试法加以解决。 一般在设计凯泽窗时,则零阶变形贝塞尔函数可采用无穷级数来表达   12020 )2(!11)2(!1)( k kk k xkxkxI ( ) 这个无穷级数 可用有限项级数去近似,项数多少有要求的精度来确定。 窗函数法的优点是简单,有闭合形式的公式可循,因而很实用。 但是其缺点是通带、阻带的截止频率不易控制。 MATLAB 概述 MATLAB 软件是由美国 Mathworks 公司推出的用于数值计算和图形处理的科学计算系统环境。 MATLAB 是英文 MATrix LABoratory(短阵实验室 )的缩写。 它的第 1 版 (DoS版本 )发行于 1984 年,经过十几年不断改进,现今已推出它的 WINDWS XP 版本 (版 )。 新的版本集中了日常数学处理中的各种功能,包 括高效的数值计算、矩阵运算、信号处理和图形生成等功能。 在 MATLAB 环境下,用户可以集成地进行程序设计、数值计算、图形绘制、输入输出、文件管理等各项操作。 MATLAB 提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩陈对象时,不要求作明确的维数说明。 与利用 C 语言或 FORTRAN 语言作数值计算的程序设计相比,利用 MATLAB可以节省大量的编程时间。 在工程技术界, MATLAB 被用来解决一些实际课题和数学模型问题。 典型的应用包括数值计算、算法预设计与验证,以及一些特殊的短阵计算应用,如自动控制 理论、统计、数字信号处理等。 进入了 20世纪 90年代, MATLAB 已经成为国际控制界公认的标准计算软件。 MATLAB 因其提供计算、图形、文字处理的统一环境而深受欢迎 [15]。 MTALAB 系统由五个主要部分组成,下面分别加以介绍 : (1) MATALB 语言是高层次的矩阵/数组语言。 具有条件控制、函数调用、数据结构、输入输出、面向对象等程序语言特性。 利用它既可以进行小规模编程,完成算法设计和算法实验的基本任务,也可以进行大规模编程,开发复杂的应用程序。 (2) MATLAB 工作环境这是对 MATLAB 提。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。