貝塞爾濾波器
此條目沒有列出任何參考或來源。 (2012年5月22日) |
此條目需要擴充。 (2012年5月13日) |
在電子學和信號處理領域,貝塞爾濾波器(Bessel filter)是具有最大平坦的群延遲(線性相位響應)的線性濾波器。貝塞爾濾波器常用在音頻天橋系統中。模擬貝賽爾濾波器在幾乎整個通頻帶都具有恆定的群延遲,因而在通頻帶上保持了被過濾的信號波形。濾波器的得名德國數學家弗雷德里希·貝塞爾,他發展了濾波器的數學理論基礎。
傳遞函數
描述貝塞耳濾波器低通濾波器的傳遞函數如下:
這裡θn(s)是一個反向貝塞耳多項式,ω0是選定的期望截止頻率。
簡單例子
下面是一個三階貝塞爾低通濾波
gain值為
相位為
群延遲為
群延遲的泰勒級數展開為
注意在ω2和ω4的二個term是零,在ω=0造成非常平坦的群延遲。這是可以調整到零term的最大數量,因為在三階貝賽爾多項式中總共有四個係數,要求定義四個等式。一個等式是為了在ω = 0 時the gain be unity,第二個等式指定ω =無窮時gain是零,剩下二個等式指定二個terms的級數展開是零。這是n秩貝賽爾濾波的群延遲的一般特性:在群延遲的前n-1級數展開的term為零,因而ω = 0時群延遲的扁平得以最大化。
Pseudo code
以下為貝塞爾低通濾波器的pseudo code,以階數N=5及N=10模擬並繪製出幅頻相對應曲線,可以以python或是matlab實現之。
n ← 0 TO 1 BY 0.01 for i (0 to 1): IF i ←← 0 THEN pos ← 1 N ← 5 ENDIF IF i ←← 1 THEN pos ← 3 N ← 10 ENDIF z, p, k ← besselap(N) b, a ← zpk2tf(z, p, k) h, w ← freqs(b, a, n) magh2 ← abs(h) ** 2 phah ← unwrap(angle(h)) plt.subplot(2, 2, pos) plt.xlim(0, 2) plt.xlabel("w/wc") plt.ylabel("Bessel H(jw)^2") plt.title("N =" + INT_TO_STRING(N)) plt.grid() plt.plot(w, magh2) plt.subplot(2, 2, pos + 1) plt.xlim(0, 2) plt.xlabel("w/wc") plt.ylabel("Bessel Ph(jw)^2") plt.title("N =" + INT_TO_STRING(N)) plt.grid() plt.plot(w, phah) ENDFOR plt.show()