董雷 張民 張煒
【摘 要】巴特沃斯濾波屬于IIR數(shù)字濾波,它不僅有最大平坦限度的幅頻響應(yīng)特性,而且還有良好的線性相位特性、結(jié)構(gòu)簡(jiǎn)單等特點(diǎn),是一種應(yīng)用比較廣泛的數(shù)字濾波器。本文介紹了利用Matlab函數(shù)和FDAtool工具箱設(shè)計(jì)巴特沃斯低通數(shù)字濾波器,提出了設(shè)計(jì)方法和設(shè)計(jì)步驟,并將設(shè)計(jì)結(jié)果在Simulink平臺(tái)下進(jìn)行仿真,實(shí)驗(yàn)結(jié)果可靠、準(zhǔn)確地實(shí)現(xiàn)了低通濾波。
【關(guān)鍵詞】巴特沃斯低通數(shù)字濾波器;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 引言
數(shù)字濾波是信號(hào)處理的重要內(nèi)容,是濾波的核心問題,通過一定的運(yùn)算關(guān)系,消除或減弱噪聲,便可以得到有用的信號(hào)。巴特沃斯數(shù)字濾波器屬于IIR數(shù)字濾波器。巴特沃斯( Butterworth) 濾波器是具有最大平坦幅度響應(yīng),廣泛應(yīng)用于電子、通信和自動(dòng)控制等領(lǐng)域。
Matlab軟件具有強(qiáng)大的信號(hào)處理和分析功能,利用Matlab中的函數(shù)設(shè)計(jì)和FDAtool工具箱可以快速,直觀地設(shè)計(jì)巴特沃斯低通數(shù)字濾波器。設(shè)計(jì)完成后在Simulink仿真軟件下進(jìn)行仿真實(shí)驗(yàn),對(duì)其輸入信號(hào)成功地進(jìn)行濾波處理,濾除高頻分量。
1 巴特沃斯濾波器原理
根據(jù)圖1所示,可以得出結(jié)論:
1)N越大,過渡帶越陡,通帶和阻帶近似性越好。除以上特性以外,其幅頻特性還具有如下特點(diǎn):
2)在Ω=0處,曲線幾乎平直,具有最大平坦性。
3)幅頻特性曲線單調(diào)下降,而且隨著 N的增加,頻帶下降越陡峭,越接近理想特性。
2 巴特沃斯數(shù)字濾波器算法
巴特沃斯數(shù)字濾波器是無限沖擊響應(yīng)(IIR)數(shù)字濾波器中的一種,其特性是精度高、穩(wěn)定性好、功能強(qiáng)大。
IIR數(shù)字濾波器用系統(tǒng)函數(shù)表示為:
通過上式可以看出設(shè)計(jì)IIR 濾波器的主要任務(wù)就是獲得可以使濾波器逼近技術(shù)指標(biāo)的各個(gè)系數(shù),并根據(jù)所得到的系數(shù)建立濾波模型,從而得到符合濾波要求的濾波器。[3-4]
3 巴特沃斯低通數(shù)字濾波器設(shè)計(jì)
Matlab軟件功能強(qiáng)大,具有強(qiáng)大的信號(hào)處理和分析功能。本文提供了基于Matlab的兩種設(shè)計(jì)方法??梢愿又庇^、高效的進(jìn)行巴特沃斯低通數(shù)字濾波器的設(shè)計(jì)。第一種是基于Matlab的buttord()和butter()兩個(gè)函數(shù)進(jìn)行濾波器的設(shè)計(jì)。另一種方法是利用Matlab中的濾波器分析設(shè)計(jì)工具FDATOOL進(jìn)行設(shè)計(jì)。使用以上兩種方法設(shè)計(jì)的優(yōu)點(diǎn)在于可以直接設(shè)計(jì)、反復(fù)修改、實(shí)時(shí)觀察,使得設(shè)計(jì)過程更加直觀、高效。
本文要求設(shè)計(jì)巴特沃斯低通數(shù)字濾波器的技術(shù)指標(biāo):采樣頻率1000Hz,通帶截止頻率fp=60,阻帶截起始頻率fs=300,通帶內(nèi)波動(dòng)最小衰減Rp=1dB,阻帶內(nèi)最小衰減Rs=50dB。
3.1 Matlab函數(shù)設(shè)計(jì)法
針對(duì)巴特沃斯低通數(shù)字濾波器的設(shè)計(jì),Matlab提供的函數(shù)如下:
1)在已知設(shè)計(jì)參數(shù)Wp,Ws,Rp,Rs之后,利用buttord命令求出所需要的濾波器的階數(shù)和3dB截止頻率,其格式為:
[n,Wn]=buttord[Wp,Ws,Rp,Rs]
2)由巴特沃斯濾波器的階數(shù)n以及3dB截止頻率Wn計(jì)算出所對(duì)應(yīng)低通數(shù)字濾波器傳遞函數(shù)H(z)的各個(gè)系數(shù):
[b,a]=butter(n,Wn)
故已知設(shè)計(jì)指標(biāo)和設(shè)計(jì)函數(shù),可以給出巴特沃斯低通數(shù)字濾波器的設(shè)計(jì)程序與運(yùn)行結(jié)果:
主要設(shè)計(jì)程序:
fn=1000;
fp=60;
fs=300;
Rp=1;
Rs=50;