在網路上有許多不同的濾波器設計套件,有些要求用戶指定濾波器階數(order)和響應(response)類型,例如Butterworth或Bessel;其他則要求通帶漣波和寬度,以及阻帶衰減,然後自動選擇響應類型。這些可能會針對雜訊、電壓範圍、低功耗或其他參數來最佳化。

其他設計套件則提供更多的靈活性,不只是處理響應類型,可讓用戶指定每個二階濾波器的品質因數Q和諧振頻率ω0弧度/秒。它們要求使用者指定額外的參數組合來約束問題,這些參數可能包括DC增益和/或某些分量值。有了這些資訊,就可以透過計算確定剩餘的值。

有時也會提到Q和ω0對元件容差的敏感性問題。眾所周知,濾波器在 ω0 時的幅度響應表現出最大的變化,即使對於合適的Q值也是如此,但是在單位DC增益(Rf/Rg=0)的情況下,這種變化最小。這就要求C1 = 4·Q2·C2,這對於Q值較大時可能是有問題的。本文介紹的方法是當C1小於4·Q2·C2時,如何讓濾波器響應靈敏度在頻率ω0時達到最小。

濾波器配置的響應是由以下公式計算:

EDNT180830_SallenKey_TA31P2

圖2:以Q和ω0值表示的濾波器響應──公式(1)。

為了方便,我們在求解元件參數值之前先定義一些術語。適用於設計的電容值範圍受到尺寸、價格和容差的限制。因此,我們要控制電容比,也希望控制DC增益,它等於1+Rf/Rg。所以我們定義:

EDNT180830_SallenKey_TA31P3

圖3:定義本文公式中將使用的某些術語。──公式(2)

從公式(1)可以看出,真正重要的是電阻Rf和Rg的比值Rr,而不是它們的絕對值;因此一旦我們指定Rr,就可以選擇數值大的Rf和Rg,以便使功耗最小,或者選擇數值小的Rf和Rg,以便使雜訊最小。如果我們還指定了C1和C2,則Cr也確定了。從這些值可以得出R1和R2:

EDNT180830_SallenKey_TA31P4

圖4:用C2、Rr、Cr、Q和 ω0 計算R1和R2的值;有兩組電阻值。──公式(3)

可實現性(Realizability)對Rr和Cr有一些約束要求。為確保平方根項及電阻R1和R2是實數,需要:

EDNT180830_SallenKey_TA31P5

圖5:所有濾波器的可實現性約束條件。──公式(4)

此外,從1/(2·Q)中減去平方根項的R2的運算式必須是正數,我們將其稱為減法根(subtractive root),另一個稱為加法(additive)根。所以,對於減法根,總約束是:

EDNT180830_SallenKey_TA31P6

圖6:R2的減法根構成的濾波器可實現性約束條件。──公式(5)

公式(5)將R1和R2限制到減法根的一個小範圍的值。稍後我們會看到,我們希望避免使用減法根實現濾波器,因為對於既定的Q、ω0、Cr和Rr,我們總是可以用加法根構建出靈敏度較低的濾波器。

過去的設計中都是計算Q相對於電阻和電容每個值變化的靈敏度。但這裡採用的方法是計算在頻率ω0處濾波器響應幅度的靈敏度,ω0是變化最大的頻率。這六個分量的個別靈敏度表達如下,其中Rr12=R2/R1:

EDNT180830_SallenKey_TA31P7

圖7:諧振時濾波器響應幅度對每個分量值的靈敏度。──公式(6)

找出靈敏度的平方和

下一步是找出這些靈敏度的平方和,這樣就可以得到盡可能小的值。結果(除以2)是:

EDNT180830_SallenKey_TA31P8

圖8:諧振時濾波器對每個分量值靈敏度的總和(除以2)。Ctol項是電容與電阻容差的比值。──公式(7)

請注意術語Ctol,這是電容容差與電阻容差的比值;例如,2.5%的電容容差和1%的電阻容差會得到2.5的Ctol值。在這種情況下,Ctol可以衡量電容值的更大變化。

我們希望確定公式的參數並消除Rr12,它可以用Cr和Rr表示。此外,由公式(3)計算出的R1和R2這對電阻的兩個根之單獨運算式是很有用的。我們也借此機會切換到平方和的平方根,因為這與所有元件的總靈敏度成正比。最後,我們希望僅繪製分量值的可實現範圍。由於正在使用的繪圖套件不會在圖中畫出假想值,因此我們將√(-1)分配給不可實現的濾波器:

EDNT180830_SallenKey_TA31P9

圖9:諧振時濾波器響應幅度的每個分量靈敏度之平方和(除以2)的根。它包括R2的加法和減法根運算式。R1和R2用Cr和Rr表示;如前所述,術語Ctol也被採用。──公式(8)

圖10顯示隨Rr變化的各種Cr值的濾波器靈敏度。所示曲線的Q = 10和Ctol = 2.5,無論C2和 ω0 的絕對值如何,這些值都是有效的;實線是加法根靈敏度,虛線是減法根靈敏度。對於給定的Cr值,這兩個根的曲線顏色相同。

EDNT180830_SallenKey_TA31P10

圖10:被兩部分濾波器分開的總靈敏度曲線,其中Q = 10和Ctol = 2.5,隨著Rr變化,各種Cr值變化導致靈敏度變化。實曲線是加法根靈敏度,虛線是減法根靈敏度。對於給定的Cr值,這兩個根的曲線顏色相同。

從圖中可以清楚看出幾點。首先是給定Cr的加法根的最小靈敏度總是小於相應的減法根的最小靈敏度,因此我們不應該使用減法根的元件值構建濾波器。第二個觀察結果是,一般來說,Cr = C2/C1的值越小,可以實現的靈敏度就越低(更好)。第三,直覺可能會告訴我們,最好的解決方案是使用最小的Rr值產生可實現的濾波器,但曲線顯示並非這樣。

第四,底部的橙色水平實線是我們能達到的最好結果,它對應於單位DC增益,Rf短路和/或Rg開路,並對應於Cr = .25·Q-2,即C1 = 4·Q2·C2。如果我們認為使Cr值更小會進一步降低靈敏度的話,那麼直覺再一次失敗。當我們將Cr設為.125·Q-2時,橙色水平實線之上的橙色水準虛線會顯示真相。

我一直無法找到Rr最佳值的閉合解——曲線的鞍點,即對給定的Q、ω0、Cr和Ctol,濾波器的總靈敏度最小的位置。不過我提供了一個Excel表(點此下載),它可以精確地將這個值限定在0.1%以內。

各種濾波器設計的蒙地卡羅分析

如果不對圖11和圖12中的各種濾波器設計進行蒙地卡羅分析(Monte Carlo analyses),本文就不算完整。響應曲線以20dB的增量隔開,以便看得更清楚,而不會相互混淆。表1列出了圖11曲線的分量值;這再次證明,對於分量靈敏度低的濾波器,減法根不是一個好的選擇,同樣電容也不是。我們還看到,使用Rr = Rf/Rg的最優值與較低和較高值進行比較的可取性。利用Rf相對於Rg的最優值,可以計算Rr

EDNT180830_SallenKey_TA31P11

圖11:各種濾波器設計的蒙地卡羅分析。

EDNT180830_SallenKey_TA31T1

表1:圖11中曲線的分量值。

EDNT180830_SallenKey_TA31P12

圖12:各種濾波器設計的蒙地卡洛分析,不同參數情況下的濾波器靈敏度存在差異,其中Q= 10,Ctol = 2.5,Cr = C2/C1比值分別為0.316、0.0316和0.00316。

圖12顯示了Q = 10,Ctol = 2.5,而Cr = C2/C1值分別為0.316、0.0316和0.00316時濾波器靈敏度的差異。這些已經用Rr的最優值計算出來了。表2列出了所有的濾波器分量值。

EDNT180830_SallenKey_TA31T2

表2:所有的濾波器分量值。

一些猜測

我們只探討了Q = 10和Ctol = 2.5時的濾波器設計。這似乎是說,設計中R1和R2的值相當接近最佳Rr值。這個推論對於Q和Ctol的所有值都正確嗎?如果是這樣,即便我們使R1和R2相等並計算出結果Rr,靈敏度增加的可能也微乎其微。當然,閉合公式適用於所有分量;不過有了上述的Excel表,目前的方法會得到最佳的靈敏度,而且很容易使用。

設計Sallen Key低通濾波器從指定Q和ω0開始。Sallen Key濾波器諧振時使響應靈敏度最小化至元件值的黃金標準是選擇單位DC增益,其中Rf是短路和/或Rg是開路。這要求C1 = 4·Q2·C2。可以選擇C2的值並計算C1。然後,R1和R2可以由公式(2)和(3)確定,其中R2應該選擇加上而不是減去平方根。但對於高Q的情況,這可能並不總是一個理想的方法;在這些情況下,應在C1/C2具有可接受的最大比值時才選擇C2。

設計中我們還需要知道電容容差與電阻容差的比值Ctol,應該為這些值找到最佳比Rr=Rf/Rg,使用前面提到的Excel表也許能找到;該Excel表可以計算R1和R2,還可以選擇任意Rr值,為Rg和Rf以及C1、C2、Q和ω0指定自己期望的值,然後用Excel表計算出R1和R2。

其他性能參數也可得到改善。使Rf||Rg=R1+R2,放大器偏置電流造成的失調將會最小。使C1||C2最大、Rf||Rg最小,元件阻抗和濾波雜訊將會降至最低。使C最小、Rf||Rg最大,功耗會降至最低。

(參考原文:Designing second order Sallen-Key low pass filters with minimal sensitivity to component tolerances,by Christopher Paul;本文作者在通訊產業領域擁有超過40年工程資歷)