APP下载

基于MATLAB巴特沃斯低通数字滤波器的设计与仿真

2016-10-17董雷张民张炜

科技视界 2016年21期

董雷 张民 张炜

"

"

"

【摘 要】巴特沃斯滤波属于IIR数字滤波,它不仅有最大平坦限度的幅频响应特性,而且还有良好的线性相位特性、结构简单等特点,是一种应用比较广泛的数字滤波器。本文介绍了利用Matlab函数和FDAtool工具箱设计巴特沃斯低通数字滤波器,提出了设计方法和设计步骤,并将设计结果在Simulink平台下进行仿真,实验结果可靠、准确地实现了低通滤波。

【关键词】巴特沃斯低通数字滤波器;Matlab;Fdatool;Simulink仿真

Design and Simulation of Butterworth Low-pass Digital Filter Based on MATLAB

DONG Lei ZHANG Min ZHANG Wei

(Qingdao University of Technology, Automation academy, Qingdao Shandong 266000, China)

【Abstract】Butterworth filter belong to IIR digital filter, it not only have the largest flat limit amplitude frequency response characteristics, and has a good linear phase characteristics, the characteristics of simple structure, is a kind of digital filter is widely. This paper introduces the use of Matlab functions and FDAtool toolbox to design butterworth low-pass digital filter, puts forward the design method and design steps, and the design results in Simulink simulation platform, the experimental results is reliable and accurate to achieve the low pass filter.

【Key words】Butterworth low-pass digital filter; Matlab; Fdatool; Simulink simulation

0 引言

数字滤波是信号处理的重要内容,是滤波的核心问题,通过一定的运算关系,消除或减弱噪声,便可以得到有用的信号。巴特沃斯数字滤波器属于IIR数字滤波器。巴特沃斯( Butterworth) 滤波器是具有最大平坦幅度响应,广泛应用于电子、通信和自动控制等领域。

Matlab软件具有强大的信号处理和分析功能,利用Matlab中的函数设计和FDAtool工具箱可以快速,直观地设计巴特沃斯低通数字滤波器。设计完成后在Simulink仿真软件下进行仿真实验,对其输入信号成功地进行滤波处理,滤除高频分量。

1 巴特沃斯滤波器原理

根据图1所示,可以得出结论:

1)N越大,过渡带越陡,通带和阻带近似性越好。除以上特性以外,其幅频特性还具有如下特点:

2)在Ω=0处,曲线几乎平直,具有最大平坦性。

3)幅频特性曲线单调下降,而且随着 N的增加,频带下降越陡峭,越接近理想特性。

2 巴特沃斯数字滤波器算法

巴特沃斯数字滤波器是无限冲击响应(IIR)数字滤波器中的一种,其特性是精度高、稳定性好、功能强大。

IIR数字滤波器用系统函数表示为:

通过上式可以看出设计IIR 滤波器的主要任务就是获得可以使滤波器逼近技术指标的各个系数,并根据所得到的系数建立滤波模型,从而得到符合滤波要求的滤波器。[3-4]

3 巴特沃斯低通数字滤波器设计

Matlab软件功能强大,具有强大的信号处理和分析功能。本文提供了基于Matlab的两种设计方法。可以更加直观、高效的进行巴特沃斯低通数字滤波器的设计。第一种是基于Matlab的buttord()和butter()两个函数进行滤波器的设计。另一种方法是利用Matlab中的滤波器分析设计工具FDATOOL进行设计。使用以上两种方法设计的优点在于可以直接设计、反复修改、实时观察,使得设计过程更加直观、高效。

本文要求设计巴特沃斯低通数字滤波器的技术指标:采样频率1000Hz,通带截止频率fp=60,阻带截起始频率fs=300,通带内波动最小衰减Rp=1dB,阻带内最小衰减Rs=50dB。

3.1 Matlab函数设计法

针对巴特沃斯低通数字滤波器的设计,Matlab提供的函数如下:

1)在已知设计参数Wp,Ws,Rp,Rs之后,利用buttord命令求出所需要的滤波器的阶数和3dB截止频率,其格式为:

[n,Wn]=buttord[Wp,Ws,Rp,Rs]

2)由巴特沃斯滤波器的阶数n以及3dB截止频率Wn计算出所对应低通数字滤波器传递函数H(z)的各个系数:

[b,a]=butter(n,Wn)

故已知设计指标和设计函数,可以给出巴特沃斯低通数字滤波器的设计程序与运行结果:

主要设计程序:

fn=1000;

fp=60;

fs=300;

Rp=1;

Rs=50;