本文提出了一種新型的濾波器,其頻響具有直線特性,本文將詳細解釋如何推導這種特殊的濾波器。最后介紹基于Matlab的濾波器設計軟件,以低通為例,展示其功能。給出Github相關鏈接。
直線幅度濾波器特點和用途
直線幅度濾波器(Linear Amplitude Filter, LR Filter)濾波器本公眾號首次公開的一種濾波器,其幅頻特性在某一點上具有最佳直線幅度逼近特性,這種濾波器可以用于補償線纜插損,可以用于幅度均衡和濾波器兩用。
直線幅度濾波器
直線幅度濾波器是一類特殊的理想濾波器,其地位和矩形濾波器以及高斯濾波器相當,是無法通過多項式直接擬合得到的,只能通過函數逼近的方式得到,現在我們總結下現有濾波器設計。
總共有三類濾波器綜合如下(當然這個圖還可以擴展):
直線幅度濾波器綜合全流程如下:
直線幅度濾波器逼近
這里定義直線幅度濾波器的幅頻響應為:
其中為階直線幅度濾波器多項式。
約束
1,是階多項式(可實現性,在頻率增益為0)
2,(直線特性第一點,在頻率為0的位置增益為,其中)
3,(直線特性第二點,在頻率為1的位置增益為)
4,(直線濾波器帶寬定義,幅度最高點規定為1)
5,在通帶范圍內逼近直線(直線幅度濾波器特征)
直線幅度逼近
首先需要澄清一點是定義,為了可實現性,因為只有多項式是偶次項才能實現,偶次就意味著零點關于虛軸對稱,所以,最后濾波器極點就一定可以選擇到左半邊平面,是可以實現的。
照例我們定義:
是一個偶次多項式。
由約束2和3可以繪制出理想濾波器草圖:
那么我們可以得到直線濾波器在帶寬范圍內的直線表達式:
由約束1,是一個多項式,所以在區間范圍內,結合式和式,得到:
變量代換得到:
我們得到了理想濾波器在范圍內的函數關系式,這里使用泰勒展開來進行幅度逼近,其中展開的點可以在范圍內隨意指定:
為簡單起見,這里將展開點定為,并且,使用wolfram alpha計算:
得到:
從泰勒逼近式我們可以看到,只能取偶數,當為奇數時,最高次項是負,當頻率為無窮時,,違反約束1。這里取,得到:
看看逼近效果:
由于泰勒逼近只在有效,所以最終逼近后約束2,3,4將失效,所以需要對式和進行處理,由約束3,4以及式可以得到多項式:
所以需要調整直線的截距來達到約束條件:
要依據式(8)和泰勒逼近(6)聯合得到所需的和展開點,最終求解的方程為:
兩個方程兩個未知數,式(8b)求解過程非常復雜,我們采用數值求解方案:這里采用了chebfun函數逼近庫來計算,得到時,,,多項式為:
最終效果如下:
這個濾波器就是帶寬為1,斜率為0.5的4階直線幅度濾波器響應。
那么當階數增加,逼近效果怎樣呢,這里制作了階數從2到20階的幅度響應動圖(圖中對比了Butterworth頻響):
下圖是將幅度修改為dB,頻率軸還是線性:
歸一化參數與階數的關系如下,當階數升高,最終值會趨于0.5。圖中16階后曲線有偏移是因為計算精度問題。
奇數階濾波器設計
目前還未找到一個有效的辦法解決奇數階直線幅度濾波器的設計(探索了幾個方案均不滿意)。
線性幅度濾波器多項式
和勒讓德濾波器類似,線性幅度濾波器多項式并沒有統一的公式來求解,這里采用了Matlab的符號計算工具來進行求解:
%-------------------------------------------------------------------------- % Edited by bbl % Date: 2023-07-03(yyyy-mm-dd) % 線性幅度濾波器系數設計 % 注意返回值低次在前,高次在后 %-------------------------------------------------------------------------- function [Ln] = funGenLinearAmpPoly(FilterOrder, IL) if mod(FilterOrder, 2) Ln = []; warning('FilerOrder must be even'); return; end % 使用chebfun函數計算m和b,使得在w=1處有單位增益和最大值 [m, b] = funLinearAmpGet_mb_chebfun(IL, FilterOrder); if FilterOrder > 20 dig = 100; else dig = 16; end syms x % 定義了直線幅度濾波器傳遞函數 f = 1/((1-IL)*sqrt(x)+b)^2; a = sym(m); coeffsx = sym(0); for k = 0:FilterOrder kk = sym(k); % 使用在x=m處的麥克勞林展開得到系數 coeffsx = coeffsx + vpa(subs(diff(f, x, kk) / factorial(k), x, a)*vpa((x-a)^kk, dig), dig); end polyx = coeffs(coeffsx); % 計算平方的系數 Ln = vpa(zeros(1, length(polyx)*2-1), dig); Ln(1:2:end) = polyx; end
輸入,的到參數:
>> [Ln] = funGenLinearAmpPoly(2, 0.707) Ln = [1.4882, 0, -0.9764, 0, 0.4882]
也即得到2階直線幅度濾波器多項式:
這里給出數值計算出的線性幅度濾波器前14階偶數濾波器多項式(注意這里不是特征多項式):
濾波器階數 | |
---|---|
2 | |
4 | |
6 | |
8 | |
10 | |
12 | |
14 |
在s平面取其左半邊極點得到前14階偶數線性幅度濾波器系數為(時幅度為1,時幅度為0.707):
濾波器階數 | |
---|---|
2 | |
4 | |
6 | |
8 | |
10 | |
12 | |
14 |
前14階線性幅度濾波器極點為(時幅度為1,時幅度為0.707):
濾波器階數 | |||||||
---|---|---|---|---|---|---|---|
2 | |||||||
4 | |||||||
6 | |||||||
8 | |||||||
10 | |||||||
12 | |||||||
14 |
線性幅度濾波器零極點
不同參數對線性幅度濾波器的極點影響如下圖所示,其極點分布推測和高斯濾波器一樣符合某種Szeg?曲線分布(其中兩個參數為0.5,另外一個參數從0.1掃描到0.9):
當濾波器階數非常高時就極點分布規律就非常明顯(以下展示100階濾波器極點分布):
下圖是不同類型濾波器的零極點分布圖,紅色曲線和點是6階直線幅度濾波器極點分布:
直線幅度濾波器綜合
這里僅使用全極點濾波器來綜合,列出一個簡單的2階3dB直線幅度濾波器綜合實例,以供參考:
直線幅度濾波器IL(As)限制
對于上述線性幅度濾波器,由于綜合實現方面的限制,對于兩端匹配線性幅度濾波器,只能滿足特定IL(As)目標,比如對于2階線性幅度濾波器,其As必須小于3.4dB,對于10階線性幅度濾波器,其As必須小于2.3dB。
具體如下圖所示(圖中陰影部分是可實現的部分):
但是對于單端匹配狀態下的線性幅度濾波器,可以綜合出來的幅度調整范圍就寬很多,如對于終端開路的直線幅度濾波器,假設,那么可以得到如下的綜合結果:
同樣的參數4種不同終端情況匯總如下,均可以綜合出實際的電路出來:
當然兩端口直線幅度綜合限制也是有的,如下所示(圖中陰影部分是可實現的部分):
直線幅度濾波器設計軟件
基于Matlab的appdesign工具開發了一套濾波器設計軟件, 主要特點是:
支持直線幅度濾波器(Linear Amplitude Filter)、勒讓德濾波器(Legendre Filter)、高斯濾波器(Gaussian Filter)、貝塞爾濾波器(Bessel Filter)、橢圓函數濾波器(Elliptic/Cauer Filter)、切比雪夫濾波器(Chebyshev I)、逆切比雪夫濾波器(Chebyshev II, Inverse Chebyshev)、巴特沃斯濾波器(Butterworth)設計
支持4種不同濾波器通帶類型(LPF,HPF,BPF,BRF)設計
T型和PI型結構濾波器隨意切換
可以設置阻帶衰減決定濾波器階數
可以設置通帶衰減來綜合濾波器
可以隨意配置負載和終端阻抗, 并支持一端接載(源端電阻短路, 源端電流源, 終端開路, 終端短路)設計
可以幅頻響應分析、零極點分析、瞬態分析
可以顯示理想頻率響應、零極點和實際仿真的的頻率響應、零極點
可以支持實際標準器件逼近設計
LinearAmp LPF設計舉例
設計一款-2.0dB截止頻率為1GHz, 8階低通線性幅度濾波器,輸入輸出阻抗為50歐姆,設計過程如下:
最終設計參數如下:
線性幅度濾波器瞬態仿真結果:
線性幅度濾波器AC仿真結果:
程序的Matalb源碼已經上傳GitHub中(https://github.com/etools361/MatlabLinearAmpFilterDesignApp),有興趣的同學可以下載試用體驗,當然也歡迎技術交流。
展望
本文只提出了偶數階濾波器的梯形網絡實現方法,還可探索奇數階濾波器設計;
理論上還存在多種不同實現方案,比如使用電阻和電容網絡實現;
兩端匹配衰減幅度的范圍也可以進一步拓寬;
匹配特性還可改善,比如將對地電阻衰減更換為衰可以進一步改善駐波;
審核編輯:湯梓紅
-
matlab
+關注
關注
185文章
2974瀏覽量
230385 -
濾波器
+關注
關注
161文章
7795瀏覽量
177994 -
計算
+關注
關注
2文章
449瀏覽量
38787 -
GitHub
+關注
關注
3文章
469瀏覽量
16428
原文標題:模擬無源濾波器設計(十一)-LinearAmplitude濾波器設計詳解
文章出處:【微信號:電路設計小工具,微信公眾號:電路設計小工具】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論