简介:提出FIR敷字滤波器的设计方案,并基于Matlab实现滤波仿真。通过使用Matlab信号处理工具箱提供的函数,选择适当的窗函数编写程序,其中窗函数按照实际信号的处理需求,参数折中选择。实验获得了比较理想的滤波器特性,可以实现较好的滤波作用。而且在实际应用中只需按需求修改滤波器参数,并结合程序的相应改动,即可实现不同功能的滤波器。另外,介绍了利用FDATool设计滤波器的方法,简单修改参数即可实现多种滤波器。
关键词:Matlab;FIR窗函数;FDATool;滤波器
数字滤波器可以过滤时间离散信号,通过对抽样数据进行数字处理来达到频域滤波的目的,目前已经广泛应用在高保真的信号处理,如数字音频、图像处理、数据传输、生物医学等领域。由于计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现。借助Mathb强大的数据处理能力,灵活使用模块集和工具箱,可以按照需求编写程序来实现多种滤波器设计。伴随Matlab的不断发展以及工具箱的不断开发,工作平台的改善,使用Mathb的编程工作量会大大减少。Matlab提供了完整的联机查询、帮助系统,提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。而这也使得基于Matlab的设计变得方便易于使用。
1 数字滤波器及设计方案
应用数字滤波器处理模拟信号时,首先要对输入模拟信号进行限带、抽样和模/数转换,数字滤波器输入信号的抽样率应大于被处理信号带竟的两倍,其频率响应具有以抽样频率为间隔的周期重复特性,且以折叠频率即1/2抽样频率点呈镜像对称。滤波器的输出信号须经数/模转换、平滑处理。
FIR数字滤波器的输出值u(Kt)与输出的过去值u(Kt-kt)表达关系如下:
这是不断乘累加的过程,解决了滤波器的系数α问题,再加上乘法和加法计算即可实现滤波器设计。由于FIR滤波器的单位脉冲响应h(n)是有限长序列,因此滤波器没有不稳定的问题,FIR滤波器一般为非递归结构,因此在采用Matlab设计时采用有限精度的计算,以避免出现递归结构中极性震荡等不稳定现象。常见的两种FIR滤波器设计方法是窗函数法和频率采样法。虽然频率采样法可以精确控制采样点的频率响应,但是设计中必须插入过渡点来改善纹波,而且截止频率不易控制,过渡点也需要进一步的优化,对比来看窗函数法则是一种基本的设计理念,设计方法比较成熟。并且Matlab中提供的函数可以方便地实现加窗线性相位FIR滤波器设计,包括了比较常见的低通、带通、高通和带阻数字滤波器。本文采用的是窗函数结合编程的设计方法。
窗函数法的基本思想是先给定理想的滤波器频响为
,
式中:ωc为截止频率;α为采样延迟。
而所要求设计的频响为
,之后的工作便是使
逼近
。加窗w(n)对理想滤波器的单位抽样响应hd(n)(见式(3))截断,得到所要设计的h(n)。
对于FDATool设计法,本文通过选择适当参数,利用Matlab完成。
[1] [2] [3] 下一页