数字滤波器的设计和实现

描述

滤波器设计是一个创建满足指定滤波要求的滤波器参数的过程。滤波器的实现包括滤波器结构选择和滤波器参数计算。只有完成滤波器的设计和实现,才能最终完成数据的滤波。

滤波器设计的目标是实现数据序列的频率成分变更。严格的设计规格需要指定通带波纹数、阻带衰减、过渡带宽度等,更准确的指定可能包括:需要实现最小阶数的滤波器、需要实现任意形状的滤波器或者需要用FIR滤波器实现。指定要求不同,滤波器的设计也不同。

MATLAB的信号处理工具箱软件提供了两种方式设计滤波器:面向对象的和非面向对象的。

面向对象的方法通过调用滤波器设计工具fdatool,然后选择设置合适的design参数设计。

非面向对象的方法则使用函数实现滤波器设计,如butter、firpm。所有非面向对象的滤波器设计函数使用的是归一化频率,归一化频率在[0,1]之间,1表示π rad。将Hz频率转化为归一化频率的方法为除以采样频率/2。

  1. 数字滤波器设计

数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组(由模拟信号取样和量化)数字量,其输出是输入经过变换(或处理)后的另一组数字量。

对数字滤波器相位特性的要求:相位特性受稳定性和因果性要求的限制,即要求系统函数的极点必须位于单位圆内部。

数字滤波器设计的本质是寻找一满足预定性能要求的离散时间线性非时变系统。IIR滤波器的系统函数是z-1的有理函数。FIR滤波器的系统函数是z-1的多项式。这样,滤波器的设计问题变成了一个数学逼近问题,即用一个因果稳定的系统函数去逼近给定的性能要求,以确定滤波器系数。

  1. 数字滤波器的结构

数字滤波器可以用差分方程、单位取样响应以及系统函数等来表示。对于研究系统(滤波器)的实现方法(即它的运算结构)来说,用方框图表示最为直接。

一个给定的输入、输出关系,可以用不同的数字网络来实现。在不考虑量化影响时,这些不同的实现方法是等效的;但在考虑量化影响时,这些不同的实现方法性能上就有差异。因此,运算结构是很重要的,同一系统函数H(z),运算结构的不同,将会影响系统的精度、误差、稳定性、经济性以及运算速度等许多重要性能。

  1. 常见滤波函数

(1)filter:利用IIR滤波器或FIR滤波器对数据进行数字滤波;

(2)fftfilt:利用基于FFT的重叠相加法对数据进行滤波,只适用于FIR滤波器;

(3)filter2:二维FIR数字滤波器;

(4)filtfilt:零相位滤波,IIR与FIR均可。

  1. 滤波器特性分析

4.1 脉冲响应

Impz()等价于使用函数filter输入一个脉冲信号x=[1;zero(N-1,1)]。

4.2 频率响应

freqz():求解数字滤波器的频率响应;

freqs():求解模拟滤波器的频率响应。

4.3 幅频和相频

abs():求解滤波器的幅频响应;

angle():求解滤波器的相频响应。

4.4 相位解模糊

unwrap():用来校正(解模糊)相位角。

4.5 群延迟

grpdelay():群延迟为滤波器相位响应的负一阶导数,它是滤波器平均延迟的度量。

滤波器的群延迟是在数字域频率进行评估的,即横坐标指的是数字域频率而不是真实频率,或者说是沿单位圆周的相角变化。

数字滤波器

4.6 零极点分析

zplane()函数用来绘制零-极点曲线。

数字滤波器

  1. FIR数字滤波器设计

5.1 FIR滤波器与IIR滤波器

FIR滤波器有以下主要优点:

线性相位(除cfirpm外),非线性相位会引起频率色散;

总是稳定的;

设计方法是线性的;

可以有效地在硬件上实现;

滤波初始过渡阶段持续时间有限。

它的主要缺点是需要比IIR更高的阶数来实现给定响应,相应地,它的滤波器延迟也比IIR的大。

5.2 FIR滤波器概述

数字滤波器

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分