巴特沃斯濾波器是電子濾波器的一種。巴特沃斯濾波器的特點(diǎn)是通頻帶的頻率響應(yīng)曲線最平滑。這種濾波器最先由英國工程師斯蒂芬·巴特沃斯(Stephen Butterworth)在1930年發(fā)表在英國<無線電工程>期刊的一篇論文中提出的。
巴特沃斯濾波器的次數(shù)
根據(jù)給定的參數(shù)設(shè)計(jì)模擬濾波器,然后進(jìn)行變數(shù)變換,求取數(shù)字濾波器的方法,稱為濾波器的間接設(shè)計(jì)。做為數(shù)字濾波器的設(shè)計(jì)基礎(chǔ)的模擬濾波器,稱之為原型濾波器。這里,我們首先介紹的是最簡單最基礎(chǔ)的原型濾波器,巴特沃斯低通濾波器。由于IIR濾波器不具有線性相位特性,因此不必考慮相位特性,直接考慮其振幅特性。
在這里,N是濾波器的次數(shù),Ωc是截止頻率。從上式的振幅特性可以看出,這個(gè)是單調(diào)遞減的函數(shù),其振幅特性是不存在紋波的。設(shè)計(jì)的時(shí)候,一般需要先計(jì)算跟所需要設(shè)計(jì)參數(shù)相符合的次數(shù)N。首先,就需要先由阻帶頻率,計(jì)算出阻帶衰減
將巴特沃斯低通濾波器的振幅特性,直接帶入上式,則有
最后,可以解得次數(shù)N為
當(dāng)然,這里的N只能為正數(shù),因此,若結(jié)果為小數(shù),則舍棄小數(shù),向上取整。
巴特沃斯濾波器的傳遞函數(shù)
巴特沃斯低通濾波器的傳遞函數(shù),可由其振幅特性的分母多項(xiàng)式求得。其分母多項(xiàng)式
根據(jù)S解開,可以得到極點(diǎn)。這里,為了方便處理,我們分為兩種情況去解這個(gè)方程。當(dāng)N為偶數(shù)的時(shí)候,
這里,使用了歐拉公式。同樣的,當(dāng)N為奇數(shù)的時(shí)候,
同樣的,這里也使用了歐拉公式。歸納以上,極點(diǎn)的解為
上式所求得的極點(diǎn),是在s平面內(nèi),在半徑為Ωc的圓上等間距的點(diǎn),其數(shù)量為2N個(gè)。為了使得其IIR濾波器穩(wěn)定,那么,只能選取極點(diǎn)在S平面左半平面的點(diǎn)。選定了穩(wěn)定的極點(diǎn)之后,其模擬濾波器的傳遞函數(shù)就可由下式求得。
巴特沃斯濾波器的實(shí)現(xiàn)(C語言)
首先,是次數(shù)的計(jì)算。次數(shù)的計(jì)算,我們可以由下式求得。
其對應(yīng)的C語言程序?yàn)?/p>
N = Ceil(0.5*( log10 ( pow (10, Stopband_attenuation/10) - 1) /
log10 (Stopband/Cotoff) ));
然后是極點(diǎn)的選擇,這里由于涉及到復(fù)數(shù)的操作,我們就聲明一個(gè)復(fù)數(shù)結(jié)構(gòu)體就可以了。最重要的是,極點(diǎn)的計(jì)算含有自然指數(shù)函數(shù),這點(diǎn)對于計(jì)算機(jī)來講,不是太方便,所以,我們將其替換為三角函數(shù),
這樣的話,實(shí)部與虛部就還可以分開來計(jì)算。其代碼實(shí)現(xiàn)為
typedef struct
{
double Real_part;
double Imag_Part;
} COMPLEX;
COMPLEX poles[N];
for(k = 0;k <= ((2*N)-1) k++)
{
if(Cotoff*cos((k+dk)*(pi/N)) < 0)
{
poles[count].Real_part = -Cotoff*cos((k+dk)*(pi/N));
poles[count].Imag_Part= -Cotoff*sin((k+dk)*(pi/N));
count++;
if (count == N) break;
}
}
評論
查看更多