当前位置:首页 > 电源 > 数字电源
[导读] 0 引言数字滤波器(Digital Filter)是指输入、输出都是离散时间信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器在数字信

0 引言

数字滤波器(Digital Filter)是指输入、输出都是离散时间信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的器件。数字滤波器在数字信号处理中起着非常重要的作用,在信号的过滤、检测与参数的估计等方面,是使用最为广泛的一种线性系统。

实现数字滤波器的方法有两种,一是采用计算机软件进行,就是把所要完成的工作通过程序让计算机来实现;二是设计专用的数字处理硬件。这个地方主要用到的就是第一种方法。即是用Mafiab提供的信号处理工具箱来实现数字滤波器。

Matlab信号处理工具箱提供了丰富的设计方法,可以使得繁琐的程序设计简化成函数的调用,只要以正确的指标参数调用函数,就可以正确快捷地得到设计结果。

1 IIR数字滤波器设计方法比较

1.1 概述

IIR数字滤波器的最通用的方法是借助于模拟滤波器的设计方法。模拟滤波器设计已经有了相当成熟的技术和方法,有完整的设计公式,还有比较完整的图表可以查询,因此设计数字滤波器可以充分利用这些丰富的资源来进行。

对于IIR数字滤波器的设计具体步骤如下:

(1)按照一定的规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标。

(2)根据转换后的技术指标设计模拟低通滤波器G(s)(G(s)是低通滤波器的传递函数)。

(3)再按照一定的规则将G(s)转换成H(z)(H(z)是数字滤波器的传递函数)。若设计的数字滤波器是低通的,上述的过程可以结束,若设计的是高通、带通或者是带阻滤波器,那么还需要下面的步骤:

将高通、带通或带阻数字滤波器的技术指标转换为低通模拟滤波器的技术指标,然后设计出低通G(s),再将G(s)转换为H(z)。

Matlab信号工具箱提供了几个直接设计IIR数字滤波器的函数,直接调用这些函数就可以很方便地对滤波器进行设计。这里选取巴特沃斯法、切比雪夫I、切比雪夫Ⅱ、椭圆法四种方法进行比较。给出用上述方法设计数字滤波器的函数如下:

其中:Wp表示通带截止频率;Ws表示阻带截止频率;Rp表示通带纹波系数;Rs表示阻带纹波系数;N表示滤波器最小阶数;Wn表示截止频率。b,a分别表示阶次为N+1的数字滤波器系统传递函数的分子和分母多项式系数向量;Fs为采样频率;n为在区间[O Fs]频率范围内选取的频率点数;f记录频率点数。n取2的幂次方,可以提高运算的速度,因为freqz函数采用基2的FFT算法。ftype=high时,为高通滤波器;ftype=bandpass时,为带通滤波器;ftype=stop时,为带阻滤波器。

1.2 四种设计方法比较

(1)在低通滤波器中的比较

假如:Wp=20 Hz,Ws=50 Hz,Fs=200,Rp=1 dB,Rs=30 dB,分别用Butterworth低通滤波器、Chebyshev I型低通滤波器、ChebyshevⅡ型低通滤波器、椭圆低通滤波器四种方法进行设计,如图1所示。

(2)在高通滤波器中的比较

假如:Wp=50 Hz,Ws=20 Hz,Fs=200,Rp=1 dB,Rs=30 dB,分别用Butterworth高通滤波器、Chebyshev I型高通滤波器、ChebyshevⅡ型高通滤波器、椭圆高通滤波器四种方法进行设计,如图2所示。

(3)在带通滤波器中的比较

假如:Wp=[100,200],Ws=[50,250],Rp=3 dB,Rs=30 dB,Fs=1 000,分别用Butterworth带通滤波器、Chebyshev I型带通滤波器、ChebyshevⅡ型带通滤波器、椭圆带通滤波器四种方法进行设计,如图3所示。

(4)在带阻滤波器中比较

假如:Wp=[100,200],Ws=[50,250],Rp=3 dB,Rs=30 dB,Fs=1 000,分别用Butterworth带阻滤波器、Chebyshev I型带阻滤波器、ChebyshevⅡ型带阻滤波器、椭圆带阻滤波器四种方法进行设计,如图4所示。

1.3 比较结果分析

通过对各种类型的滤波器通过不同的方法进行设计,可以使一些结论得到验证。利用Butterworth滤波器、Chebysheve I型滤波器、Che-bysheveⅡ型滤波器、椭圆滤波器都可以进行低通、高通、带通、带阻滤波器的设计,但是各有特点。Butterworth滤波器通带内的幅频响应曲线能得到最大限度的平滑,但牺牲了截止频率的坡度。

Chebysheve I型滤波器通带内等波纹,阻带内单调;ChebysheveⅡ型滤波器通带内单调,然而阻带内等波纹;椭圆滤波器阻带和通带内都是等波纹的,但下降的坡度更大,而且可以以更低的阶数实现和其他两类滤波器一样的性能指标。

2 IIR数字滤波器应用

假定信号的采样频率是600 Hz,输入信号的频率为100 Hz,180 Hz和250 Hz的合成正弦波信号f(t)=sin(200πt)+sin(360πt)+sin(500πt),通过截止频率是120 Hz的巴特沃斯低通滤波器,通过滤波前后频谱的对比,可以发现信号通过滤波器后,两个高频的信号180 Hz和250 Hz的正弦信号被滤掉,达到了滤波的效果。

图5和图6给出了巴特沃斯低通滤波器滤波前后的频谱图。

依然是上述的条件,如果想保留高频的信号250 Hz的正弦信号,可以通过巴特沃斯高通滤波器,此高通滤波器截止频率为220 Hz,滤波以后的频谱如图7所示,两个低频的信号100 Hz,180 Hz的正弦波信号被滤掉;当预保留100 Hz,250 Hz两个信号后可以通过带阻滤波器滤掉180 Hz的正弦信号,如图8所示;同理如果仅仅保留180 Hz的正弦信号可以通过带通滤波器,而滤掉其他两个信号,如图9所示。

3 结语

滤波是信号处理的基础,滤波运算是信号处理中的基本运算,滤波器的设计也就相应成为数字信号处理的最基本问题之一。信号带有噪声或无用信号,滤波器的作用是将这些干扰成分滤除,也就是让特定频段的信号通过达到对信号筛选的效果。在经典的滤波器中,通过对IIR数字滤波器的设计研究,应用Butterworth滤波器、Chebysheve I型滤波器、Chebysheve II型滤波器以及椭圆滤波器四种形式分别对低通、高通、带通和带阻四种滤波器形式进行比较仿真,得到其不同的仿真特性;选择三个不同频率100 Hz,180Hz和250 Hz的合成正弦波信号:

f(t)=sin(200πt)+sin(360πt)+sin(5007πt)

进行叠加,应用了Butterworth滤波器实现了混合信号频谱的分离,得到了良好的仿真效果。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

数值计算方法是一种用于解决数学问题的方法,涉及到数值近似、数值逼近、数值积分、数值微分等等。算法设计是数值计算方法的核心,它包括了数值方法的数学原理和计算机实现的算法,能够有效地解决各种数学问题。

关键字: matlab 算法设计 数值积分

仿真的基本思想是利用物理的或数学的模型来类比模仿现实过程,以寻求过程和规律。它的基础是相似现象,相似性一般表现为两类

关键字: matlab 程序仿真 仿真模式

本文利用Matlab GUI设计通过串口进行数据发送和接收的界面,并利用内置于Matlab的串口通信API实现串口数据发送与接收功能。

关键字: matlab GUI 串口通信

信号处理工程师在开发工作的所有阶段都使用 MATLAB® 和 Simulink® — 从分析信号和探索算法,到评估设计实现的权衡,最终构建实时信号处理系统。

关键字: matlab 通信系统

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

关键字: matlab 程序设计 计算机视觉

表示机器的浮点运算误差限,在Matlab仿真实验开发中,eps的精度达到2.2204*10^-6,当运算的误差精度下于这个数值的时候,可以认为误差为零。

关键字: matlab 控制系统 Matlab仿真

MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。

关键字: matlab 工具箱 信号处理

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程

Matlab是matrix laboratory的组合,意为矩阵实验室,软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

关键字: matlab 编程语言 数值分析

Matlab是matrix laboratory的组合,意为矩阵实验室,软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化。

关键字: matlab 矩阵实验室 软件
关闭
关闭