文章詳細對勒讓德濾波器的綜合設計進行講解,解釋如何從單調最衰減特性推導出勒讓德濾波器的。最后介紹基于Matlab的濾波器設計軟件,以低通、帶通濾波器為例,展示其功能。給出Github相關鏈接。
勒讓德濾波器特點和用途
勒讓德濾波器(Legendre Filter、Papoulis Filter、L Filter)濾波器是1959年Papoulis所提出的一種優化的濾波器(譯文:具有單調響應的最優濾波器(Optimum Filters with Monotonic Response)),其幅頻特性曲線介于巴特沃斯和第一類切比雪夫濾波器之間,具體來說在通帶內具有像巴特沃斯單調頻響特性(通帶無紋波),但是在阻帶具有像切比雪夫濾波器那樣具有陡峭的截止特性,這種濾波器在現實中似乎并不常見。
勒讓德濾波器逼近
這里采用了特征多項式,定義為,濾波器整體幅度公式為:
約束
1,?是階多項式(可實現性,在頻率增益為0)
2,?(低通定義,在頻率為0的位置增益為0)
3,?(定義低通帶寬)
4, 在通帶范圍內[0, 1]無紋波(勒讓德濾波器特征1)
5, 在截止頻率點處信號衰減最快(勒讓德濾波器特征2)
無紋波
這里需要理解下無紋波從特征多項式上如何理解。
假設在通帶內無紋波,表示在區間[0,1]是單調的,即:
或者
衰減最快
這里的衰減最快理解為在處有最大斜率,即:
其中M是最大值。
研究特征多項式的導數
由于約束4和5都有一個明顯的特征,就是研究特征多項式的導數會更加方便,所以這里定義:
所以,依據約束4和5得到:
由約束2和約束3,我們得到:
根據基本積分公式可以得到:
所以原問題變為,尋找一個多項式滿足如下公式:
由理論推導,奇數階(偶數階推導詳見:偶數階單調響應的最優濾波器)勒讓德濾波器是一個完全平方,即,這樣得到,也就是說問題變為一個函數的平方從0到1的積分為1,需要求這個函數。有很多方法來求解這個方程,首先我們直接求解。
下圖是Legendre濾波器和Butterworth濾波器的特征多項式和其導數的對比
直接優化計算
當然假如我們并不了解勒讓德多項式或者雅克比多項式,還是可以直接使用普通多項式來計算,這里以5階為例來計算,假設所求的多項式的導數為:
在[0,1]范圍內恒定大于等于0,天然滿足單調條件。然后我們只需要滿足積分條件(也就是約束2和3,),即:
由約束4,需要找到上式約束下的最大值:
這里有3個未知數,約束條件只有1個,所以這時一個多參數優化問題,可以有多種優化方法,比較常見的使用拉格朗日乘數法優化,當然也可以用各種數值優化工具,這里使用wolfram alpha:
NMaximize[{(a0 + a1 + a2)^2, Integrate[2*x*(a2*x^4+a1*x^2 + a0)^2, {x, 0, 1}] == 1}, {a0, a1, a2}]
得到
所以:
積分后得到:
用代入得到:
即得到了最終5階勒讓德濾波器特征多項式。
正交多項式求解
要實現這個目標可以使用正交多項式來求解,這是因為正交多項式每個正交項互不干擾,可以單獨的調節每個系數達到逼近目的。
勒讓德多項式逼近
Papoulis使用了勒讓德多項式(Legendre Polynomials)來逼近,勒讓德多項式是一組正交多項式。
前7階勒讓德多項式為:
多項式階數 | ? |
---|---|
0 | ? |
1 | ? |
2 | ? |
3 | ? |
4 | ? |
5 | ? |
6 | ? |
7 | ? |
最終我們需要求解的就可以寫成一系列的的多項式的組合。
這里看似將公式復雜化,但是實際上簡化了計算,原因在于滿足從[-1,1]積分為0,所以當上式展開積分后,各個交叉項由于多項式不相關從而相互抵消為0,只有自身乘以自身的項保留了下來。
上式將一個積分轉化為一個普通代數表達式,使用勒讓德多項式極大簡化了計算。
到這一步大家解法都統一了,這是一個帶約束的優化問題,使用拉格朗日乘數法即可解決。
這里以為例展示下計算過程(這里,勒讓德多項式到):
約束為
最大化
即最大化(引入拉格朗日乘數)
分別對求偏導,令其等于0(求極值點),并列出公式:
化簡得到:
代入最后一個公式得到:
解得:
代入得到:
由于勒讓德多項式是定義在[-1,1]上,所以需要將其轉換到[0,1]區間,令,積分求解得到特征多項式:
frac{1}{8}int_{-1}^{2w^2-1}{1+3x}^2dx
位移雅可比多項式逼近
FUKADA使用了位移雅可比多項式(Shifted Jacobi Polynomials)來逼近,位移雅可比多項式也是一組正交多項式,它包含兩個參數,配置不同的參數就會表現出不同特征多項式,位移雅可比多項式可以包含幾乎所有的濾波器多項式。下面列出位移雅克比多項式的遞推公式:
其中的系數為:
當且時,上式就為勒讓德多項式。
其他推導方式和之前勒讓德方式相同。
但是這里帶出一個概念,即對于雅克比多項式,滿足正交性質,但是應用更加廣泛:
公式中的是Kronecker delta符號,表示只有當時才為1,其他都為0.為權函數
在勒讓德多項式中,,即對于整個[-1,1]范圍內權重相同,在不同應用場景中,我們可以根據需要選擇不同的優化策略。下圖展示了不同參數情況下權重的變化:
當權重且時,多項式是第一類切比雪夫多項式,多項式在兩端的權重比較大,當權重時,多項式就是第二類切比雪夫多項式,多項式在兩端的權重小。
在勒讓德濾波器中,權函數為1,表面在整個[-1,1]區間內,所有點貢獻都相同,這樣綜合出來的必定是無紋波的濾波器??梢赃@樣直觀的理解,假如區間內存在紋波,那么積分值必定會比沒有紋波的大,因為函數的平方我們可以理解為對函數求其有效值,那么若存在紋波,那么有效值就等于直流分量加上交流分量,這兩者相加就必定大于其中之一。
使用公式也可以簡單的說明這一點,假設是一個直流信號,幅度值在[0,1]范圍內均為,那么假設存在一個脈動直流信號在[0,0.5]范圍內是,在(0.5,1]范圍內是,必定存在即。也即是說,通過平方操作,大的值比小的值放大得更大,大的值變得更加突出。在這樣的優化條件下,保持積分值不變,原函數在端點取得最大值,函數將呈現單調變化。
本節中,通過采用不同的參數設置,位移雅可比多項式可以得到不同特性的濾波器。
勒讓德濾波器評價
Papoulis首先第一次提出了這種濾波器就得到很多學者的關注,其中相繼發表了多篇關于單調濾波器的設計,這里發展出來很多優化了的單調濾波器,比如LSM(Least-Squares-Monotonic)濾波器,H濾波器,這些濾波器各具特點,總結下來就是我們前面給出的不同約束5所綜合下來的濾波器。
比如H濾波器(本系列文章中有翻譯)就是將約束5修改為:
5, 在漸近頻率點處信號衰減最快(也即特征多項式最高系數最大,H濾波器特征)
LSM濾波器(本系列文章中有翻譯)就是將約束5修改為:
5, 在通帶范圍內曲線所包圍的面積最小(也即在整個通帶范圍內濾波器反射或插損最小,LSM濾波器特征)
同理我們可以將巴特沃斯濾波器納入到這種單調濾波器體系,將約束5修改為:
5, 在0頻率處響應最平坦(Butterworth濾波器特征)
可以說Papoulis開創了一種新的濾波器約束規則,豐富了濾波器的種類??偟膩碚f,這種單調濾波器也屬于幅度逼近。
最近幾年有論文指出勒讓德濾波器除了階梯的衰減特性外沒有任何其他優勢,大家有興趣可以看看,本公眾號已經將其翻譯為中文《在連續時間域中比較Papoulis濾波器和Chebyshev濾波器》。
單調濾波器系數和零極點
目前還沒有統一的公式去計算勒讓德濾波器的特征多項式,但是可以通過數值計算的辦法計算出系數來,以下提供了生成系數的Matlab代碼,需要具體源碼的可以去Github上下載。
使用Matlab求解勒讓德特征多項式系數
%-------------------------------------------------------------------------- % Edited by bbl % Date: 2023-06-11(yyyy-mm-dd) % 勒讓德濾波器系數設計 % 注意返回值低次在前,高次在后 %-------------------------------------------------------------------------- function [Ln] = funGenLegendreCharacteristicPoly(FilterOrder) % Initialize coefficient vector coefficients = ((1:FilterOrder).*2 - 1); % Define coefficient for normalization if mod(FilterOrder, 2) == 1 % Odd polynomial order half_order = (FilterOrder - 1) / 2; norm_coefficient = 1 / (sqrt(2 * (half_order + 1) * (half_order + 1))); else % Even polynomial order half_order = FilterOrder / 2 - 1; norm_coefficient = 1 / sqrt((half_order + 1) * (half_order + 2)); % Check if the half_order is odd or even if mod(half_order, 2) == 1 % Odd coefficients(1:2:end) = 0; else % Even coefficients(2:2:end) = 0; end end % Apply normalization to coefficients coefficients = coefficients * norm_coefficient; % Initial value for the Phi Phi = 0; % Generate polynomial and add to Phi for i = 1:half_order + 1 current_coefficient = coefficients(i); legendrePoly = JacobiPoly(i - 1, 0, 0); % Gen legendre polynomial Phi = polyadd(Phi, current_coefficient * legendrePoly); end % Calculate Phi^2 Phi_squared = conv(Phi, Phi); % For even polynomial order, multiply Phi_squared by (x+1) if mod(FilterOrder, 2) == 0 Phi_squared = conv(Phi_squared, [1,1]); end % Calculate the integral of Phi_squared integral_of_Phi_squared = polyint(Phi_squared, 0); % Define the range for polyval function lower_range = -1; upper_range = [2, -1]; % Calculate polyval for lower and upper ranges D = polyval(integral_of_Phi_squared, lower_range); U = substitute_poly(integral_of_Phi_squared, upper_range); % Final result Ln0 = polyadd(U, -D); nLn = length(Ln0); Ln = zeros(1, nLn*2-1); Ln(3:2:end) = fliplr(Ln0(1:end-1)); Ln(1) = Ln0(end); end
運行結果如下:
>> [Ln] = funGenLegendreCharacteristicPoly(5) Ln = 0 0 1 0 -8 0 28 0 -40 0 20
也就是:
這里給出數值計算出的勒讓德濾波器前7階濾波器多項式(注意這里):
濾波器階數 | ? |
---|---|
1 | ? |
2 | ? |
3 | ? |
4 | ? |
5 | ? |
6 | ? |
7 | ? |
不同階數濾波器頻響如下(圖中紅色曲線是勒讓德濾波器頻響,綠色曲線是巴特沃斯頻響,藍色曲線是切比雪夫I紋波為的頻響):
事實上,勒讓德濾波器的頻率響應并未達到我們預期的優秀程度,從圖中可以看到對比切比雪夫濾波器,勒讓德濾波器沒有優勢,因此,一些學者批評這只是一種適合學術研究,而在實際應用中并無優勢的濾波器。
在s平面取其左半邊極點得到前7階勒讓德濾波器系數為(, 其中的極點等于的做半邊極點):
濾波器階數 | ? |
---|---|
1 | ? |
2 | ? |
3 | ? |
4 | ? |
5 | ? |
6 | ? |
7 | ? |
前7階勒讓德濾波器極點為():
濾波器階數 | ? | ? | ? | ? |
---|---|---|---|---|
1 | ? | ? | ? | ? |
2 | ? | ? | ? | ? |
3 | ? | ? | ? | ? |
4 | ? | ? | ? | ? |
5 | ? | ? | ? | ? |
6 | ? | ? | ? | ? |
7 | ? | ? | ? | ? |
零極點變化動圖(圖中紅色點是勒讓德濾波器極點,藍色和綠色分別是切比雪夫濾波器極點和巴特沃斯濾波器極點分布,猜測勒讓德濾波器極點也是分布在一個橢圓上,注意這里的零極點圖橫坐標是虛軸,縱坐標為實軸):
這里通過調整切比雪夫濾波器紋波大小,驗證了猜測,勒讓德濾波器極點分布近似在一個橢圓上:
下圖是不同類型濾波器的零極點分布圖,紅色曲線和點是5階勒讓德濾波器極點分布,可見勒讓德濾波器的極點在巴特沃斯濾波器和切比雪夫濾波器之間:
勒讓德濾波器綜合
勒讓德波器綜合和巴特沃斯濾波器一樣,屬于全極點濾波器,所以這里僅僅列出一個簡單的3階勒讓德濾波器綜合實例,以供參考:
勒讓德濾波器設計軟件
基于Matlab的appdesign工具開發了一套濾波器設計軟件, 主要特點是:
支持勒讓德濾波器(Legendre Filter)、高斯濾波器(Gaussian Filter)、貝塞爾濾波器(Bessel Filter)、橢圓函數濾波器(Elliptic/Cauer Filter)、切比雪夫濾波器(Chebyshev I)、逆切比雪夫濾波器(Chebyshev II, Inverse Chebyshev)、巴特沃斯濾波器(Butterworth)設計
支持4種不同濾波器通帶類型(LPF,HPF,BPF,BRF)設計
T型和PI型結構濾波器隨意切換
可以設置阻帶衰減決定濾波器階數
可以設置通帶衰減來綜合濾波器
可以隨意配置負載和終端阻抗, 并支持一端接載(源端電阻短路, 源端電流源, 終端開路, 終端短路)設計
可以幅頻響應分析、零極點分析、瞬態分析
可以顯示理想頻率響應、零極點和實際仿真的的頻率響應、零極點
可以支持實際標準器件逼近設計
Legendre LPF設計舉例
設計一款-3dB截止頻率為1GHz, 7階低通Legendre濾波器,輸入輸出阻抗為50歐姆,設計過程如下:
最終設計參數如下:
勒讓德濾波器瞬態仿真結果:
勒讓德濾波器AC仿真結果:
Legendre BPF設計舉例
設計6階帶通Legendre濾波器, 中心頻率為1GHz,帶寬為1GHz,50歐姆輸入,輸出阻抗為高阻,最后進行瞬態仿真,設計過程如下:
最終設計參數如下:
AC仿真結果:
瞬態仿真結果:
程序的Matalb源碼已經上傳GitHub中,有興趣的同學可以下載試用體驗,當然也歡迎技術交流。
直線型濾波器設計預告
回到我們開啟這一主題的初衷(模擬無源濾波器設計(一)),想要實現一個直線型濾波器設計,現在做了這么多鋪墊,我們終于有能力設計出這樣一個直線型濾波器了。直線型濾波器不也是一種單調濾波器嗎!只要讓斜率小于0即可。但是我們應該也需要考慮到直線型濾波器實際上會出現頻率響應大于0的情況出現,這里解決方案類似于偶數階切比雪夫濾波器遇到的問題那樣,實際上偶數階低通切比雪夫濾波器在綜合時就出現了0頻率處幅度小于0的情況,當時得到的結果是,當濾波器兩邊不匹配時,即存在直流衰減情況下是可以實現的。所以我們可以列出直線型濾波器設計約束規則:
1,?是階多項式(可實現性,在頻率增益為0)
2,?(直線的第一個坐標,在頻率為0的位置增益為IL,?)
3,?(直線的第二個坐標,在頻率為1的位置增益為1,即最大值)
4, 在通帶范圍內[0, 1]無紋波(直線特征)
編輯:黃飛
?
評論
查看更多