- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在数字信号处理中滤波占有极其重要的作用数字滤波器是谱分析
在数字信号处理中,滤波占有极其重要的作用,数字滤波器是谱分析、雷达信号处理、通信信号处理应用中的基本处理算法。目前常用的滤波器设计方法普遍采用Matlab仿真,DSP实现。但这一传统设计方法需要的开发周期较长,且设计过程反复进行,非常不便。
针对这一问题,出现了系统级设计方法的构想将Matlab算法仿真和DSP的实现融合在一起。文中应用Matlab Link For CCS Development Tools进行系统级设计,来完成FIR滤波器的设计。
1 FIR数字滤波器设计的基本步骤
数字滤波器根据其冲激响应函数的时域特性,可分为2种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。FIR系统不像IIR系统那样易取得较好的通带和阻带衰减特性,要取得较好的衰减特性,一般要求H(z)阶次要高,也即M要大。FIR系统有自己突出的优点:系统总是稳定的;易实现线性相位;允许设计多通带(或多阻带)滤波器,后两项都是IIR系统不易实现的。FIR数字滤波器的设计方法有多种,如窗函数设计法、频率采样法和Chebyshev逼近法等。随着Matlab软件尤其是Matlab的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。
FIR数字滤波器设计的基本步骤如下[1]:
(1)确定技术指标
在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以2种方式给出。第一种是绝对指标。他提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。第二种指标是相对指标。他以分贝值的形式给出要求。本文中滤波器的设计就以线性相位FIR滤波器的设计为例。
(2)逼近
确定了技术指标后,就可以建立一个目标的数字滤波器模型(通常采用理想的数字滤波器模型)。之后,利用数字滤波器的设计方法(窗函数法、频率采样法等),设计出一个实际滤波器模型来逼近给定的目标。
(3)性能分析和计算机仿真
上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。
2 FIR数字滤波器的传统设计方法
传统的FIR数字滤波器设计流程分为2个部分:开发设计和产品实现。在开发设计部分完成方案设计和算法设计与验证,一般用Matlab语言进行仿真,当仿真结果满意时,再进入产品的实现阶段。在实现阶段,将开发设计的阶段的算法用C/C++或者汇编语言实现,在硬件的单片机或DSP目标板上实现。
下面以电力系统中的用于滤除高次谐波的低通滤波器为例,介绍设计线性相位FIR低通数字滤波器的传统设计方法。
2.1 FIR滤波器的Matlab仿真[2]
在电力分析实验仪中,只要求分析20次以下的谐波,30次以上的谐波由抗混叠滤波器滤波,20-30次的谐波则由数字滤波器滤除。所以电力系统的低通滤波器的技术指标如下:通带截止频率为1 000Hz,阻带截止频率为1 500Hz,通带波纹为0.001,阻带波纹为0.001,采样频率为4 000Hz,阻带衰减小于50 dB,因此设计中采用汉明窗比较合适。
FIR滤波器的设计用Matlab数字信号处理软件包提供的专用函数来直接求取是非常方便的。
先求出滤波器的阶数N:N=ceil(n)+1,通过相关程序仿真可以计算出N=28。
滤波器h(n)的系数和他的幅频特性:
调用格式为:b=fir1(N,wc,’ftype’,window)或b=fir2(N,wc,m,window);编制程序并运行,表1为计算所得滤波器系数,图1所示为设计的低通滤波器频率响应曲线。由此可见基本满足性能指标。h(n)的系数见表1。
输入一混叠信号来测试所设计滤波器的功能:输入信号是频率为f1=400Hz和f2=1 800Hz的正弦交流信号。
S1=sin(400×2πt);
S2=sin(1800×2πt);
S=S1+S2
图2为混叠信号波形S=S1+S2。
图3经滤波器滤波后的波形。由此可见,仿真结果基本令人满意。然后用DSP来实现系统。
将上述系统存盘,建立一个数据文件fir01.txt,将Matlab中产生的fir01.txt文件,通过执行转换命令,将自动变换为Firdata.inc滤波器系数文件。转换命令为(在Matlab下):!firdata fic01.txt
2.2 FIR数字滤波器的C54实现
TMS320C5416有很强的数据处理功能[3],带数据移位的加法指令MACD在循环执行时,一但流水线启动,该指令就变为单
文档评论(0)