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