数字滤波器的MATLAB设计与DSP上的实现.docx





《数字滤波器的MATLAB设计与DSP上的实现.docx》由会员分享,可在线阅读,更多相关《数字滤波器的MATLAB设计与DSP上的实现.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、评语学号 成绩 DSP技术课程论文 题目 数字滤波器的MATLAB设计与DSP上的实现作 者 严仲书 班 级 N09电信 -1F 院 别 机电系 专 业 电子信息工程 完成时间 2012年5月24日 数字滤波器的MATLAB设计与DSP上的实现摘要:以窗函数法设计线性相位FIR数字滤波器为例,介绍用MATLAB工具软件设计数字滤波器的方法和在定点DSP上的实现。实现时,先在CCS5000仿真开发,然后将程序加载到TMS320VC5409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在DSP上实现的关键问题。 关键词:数字滤波器 MATLAB DSP引言随着信息时代和数
2、字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。1 数字滤波器的设计1.1 数字滤波器设计的基本步骤数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。IIR滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归
3、的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和Chebyshev逼近法等等。随着MATLAB软件尤其是MATLAB的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。数字滤波器设计的基本步骤如下:(1)确定指标在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以两种方式给出。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。第二种指标是相对指标。它以分贝值的形
4、式给出要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中人有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:只包含实数算法,不涉及复数运算;不存在延迟失真,只有固定数量的延迟;长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。(2)逼近确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。(3)性能分析和计算机仿真上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就
5、可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。1.2 滤波器的MATLAB设计(1)MATLABMATLAB是一套用于科学计算的可视化高性能语言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境。它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。在设计数字滤波器时,通常采用MATLAB来进行辅助设计和仿真。(2)FIR滤波器的MATLAB设计下面以设计线性相位FIR滤波器为例介绍具体的设计方法。线性相位FIR滤波器通常采用窗函数法
6、设计。窗函数法设计FIR滤波器的基本思想是:根据给定的滤波器技术指标,选择滤波器长度N和窗函数(n),使其具有最窄宽度的主瓣和最小的旁瓣。其核心是从给定的频率特性,通过加窗确定有限长单位脉冲响应序列h(n)。工程中常用的窗函数共有6种,即矩形窗、巴特利特(Bartlett)窗、汉宁(Hanning)窗、汉明(Hamming)窗、布莱克曼(Blackman)窗和凯塞(Kaiser)窗。假设实际工程需要设计一个线性相位带通FIR滤波器指标如下:fn=1000,1375,3625,4000;a=0,1,0;dev=0.0005,0.05,0.0005;阻带最小衰减60dB,再设采样频率fs=10kH
7、z,则根据阻带最小衰减来选择凯塞(Kaiser)窗,利用MATLAB的求阶函数和FIR滤波器的设计函数,可以快速地设计出所需的数字滤波器。这两个设计函数如下:N,Wn,beta,ftype=kaiserord(fn,a,dev,fs);b=fir1(n,Wn,ftype,Kaiser(n+1,beta);最后,利用的滤波器分析函数freqz分析所设计出的滤波器的幅频特性和相频特性,并用图形显示函数plot将它们显示出来,如图1所示。由图1可见,设计结果满足指标要求。2 数字滤波器的实现方法数字滤波器的实现方法一般有以下几种。采用加法器、乘法器、延时器设计专用的滤波电路。在通用计算机系统中加上专
8、用的加速处理机设计实现。用通用的可编程DSP芯片实现。用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用DSP芯片很难实现。这种芯片将相应的滤波算法在芯片内部用硬件实现,无需进行编程。采用FPGA/CPLD设计实现。在上述几种方法中,第种方法的缺点是速度较慢,一般可用于DSP算法的模拟。第、种方法专用性强,应用受到很大的限制。第、种方法都可以通过编程来实现各种数字滤波,但是,第种因有专用的指令来实现滤波运算编程实现容易,而第种方法编程实现较为困难。3 数字滤波器的DSP实现DSP是一种实时、快速、特别适合于实现各种数字信号处理运算的微处理器。由于它由具有丰富的硬件资源、改
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字滤波器 MATLAB 设计 DSP 实现

限制150内