雙線性轉換

在數位信號處理和離散時間的控制理論中，雙線性變換 (即 Tustin變換)被用來在連續時間系統與離散時間系統做轉換。 雙線性變換是一種特別的共行映射(即莫比烏斯變換)，常被用來將線性非時變系統濾波器在連續時域的傳遞函數 H a ( s )   {\displaystyle H_{a}(s)\ } 轉換成線性且平移不變濾波器在離散時域的傳遞函數 H d ( z )   {\displaystyle H_{d}(z)\ } 。將S平面中位置在 j ω   {\displaystyle j\omega \ } 軸的點映射到複數平面上的單位圓 | z | = 1   {\displaystyle |z|=1\ } 。其他的應用還有扭曲任何的離散時間線性系統的頻率響應(例如用來估計人類聽覺系統的非線性頻率解析度)或是被用在離散域以取代一個系統經過一階全通濾波器的單位延遲 ( z − 1 )   {\displaystyle \left(z^{-1}\right)\ } 。 這種變換保有穩定性且將連續時間濾波器的頻率響應 H a ( j ω a )   {\displaystyle H_{a}(j\omega _{a})\ } 中每一點映射到離散時間濾波器的頻率響應 H d ( e j ω d T )   {\displaystyle H_{d}(e^{j\omega _{d}T})\ } 中所對應的點，雖然頻率會有點不同，這部分會在之後的頻率扭曲中解釋。對於類比濾波器的頻率響應中所看到的特徵，在數位濾波器的頻率響應中都有相同增益和相位平移的對應特徵，雖然頻率可能會有點不同，在低頻時很難觀察到但在頻率接近奈奎斯特頻率時就相當明顯。 雙線性變換是自然對數函數的一階估計法，也就是將z平面映射到s平面，當拉普拉斯變換被用在離散時間信號上(將離散時間序列中的每個元素附在對應的延遲狄拉克δ函數)，其結果確實為將離散時間序列的Z轉換替代成 z = e s T = e s T / 2 e − s T / 2 ≈ 1 + s T / 2 1 − s T / 2 {\displaystyle {\begin{aligned}z&=e^{sT}\\&={\frac {e^{sT/2}}{e^{-sT/2}}}\\&\approx {\frac {1+sT/2}{1-sT/2}}\end{aligned}}} 其中 T   {\displaystyle T\ } 是用在推导雙線性變換的梯形公式中數值積分每階的大小，換句話說就是取樣間距。上述的雙線性估計可以透過 s   {\displaystyle s\ } 來解或是產生一個近似估計 s = ( 1 / T ) ln ⁡ ( z )     {\displaystyle s=(1/T)\ln(z)\ \ } 。 逆映射則為 s = 1 T ln ⁡ ( z ) = 2 T [ z − 1 z + 1 + 1 3 ( z − 1 z + 1 ) 3 + 1 5 ( z − 1 z + 1 ) 5 + 1 7 ( z − 1 z + 1 ) 7 + ⋯ ] ≈ 2 T z − 1 z + 1 = 2 T 1 − z − 1 1 + z − 1 {\displaystyle {\begin{aligned}s&={\frac {1}{T}}\ln(z)\\&={\frac {2}{T}}\left[{\frac {z-1}{z+1}}+{\frac {1}{3}}\left({\frac {z-1}{z+1}}\right)^{3}+{\frac {1}{5}}\left({\frac {z-1}{z+1}}\right)^{5}+{\frac {1}{7}}\left({\frac {z-1}{z+1}}\right)^{7}+\cdots \right]\\&\approx {\frac {2}{T}}{\frac {z-1}{z+1}}\\&={\frac {2}{T}}{\frac {1-z^{-1}}{1+z^{-1}}}\end{aligned}}} 雙線性變換的本質是使用這種一階估計法且將連續時間傳遞函數 H a ( s )   {\displaystyle H_{a}(s)\ } 中的 s   {\displaystyle s\ } 替換成 s ← 2 T z − 1 z + 1 . {\displaystyle s\leftarrow {\frac {2}{T}}{\frac {z-1}{z+1}}.} 也就是說 H d ( z ) = H a ( s ) | s = 2 T z − 1 z + 1 = H a ( 2 T z − 1 z + 1 ) .   {\displaystyle H_{d}(z)=H_{a}(s){\bigg |}_{s={\frac {2}{T}}{\frac {z-1}{z+1}}}=H_{a}\left({\frac {2}{T}}{\frac {z-1}{z+1}}\right).\ } 如果有一個連續時間且有因果性的濾波器，其傳遞函數的極點落在複數S平面的左半邊，此濾波器則為穩定的。如果有一個離散時間且有因果性的濾波器，其傳遞函數的極點落在複數Z平面的單位圓內，此濾波器則為穩定的。雙線性變換將複數S平面的左半邊映射到複數Z平面的單位圓內，因此穩定的連續時間濾波器被轉變成離散時間濾波器後也保有穩定性。 同樣地，如果有一個連續時間的濾波器，其傳遞函數的零點落在複數S平面的左半邊，此濾波器則有最小相位性質。如果有一個離散時間且有因果性的濾波器，其傳遞函數的零點落在複數Z平面的單位圓內，此濾波器則有最小相位性質。透過相同的映射性質，可以保證有最小相位性質的連續時間濾波器被轉換成離散時間濾波器後也保有最小性質。 以一個簡單的低通RC電路當例子，這種連續時間濾波器的傳遞函數為 H a ( s ) = 1 / s C R + 1 / s C = 1 1 + R C s . {\displaystyle {\begin{aligned}H_{a}(s)&={\frac {1/sC}{R+1/sC}}\\&={\frac {1}{1+RCs}}.\end{aligned}}} 如果我們想將這種濾波器應用成數位濾波器，我們可以將上式中的 s {\displaystyle s} 做替換，因此可以得到下列表示式 在應用在即時數位濾波器時，分母的係數為’回饋係數’而分子的係數為’前饋係數’。 將連續時間的類比濾波器的係數對應到由雙線性變換展成的相似的離散時間數位濾波器是有可能的，假設有一個傳遞函數為下式的一般二階連續時間濾波器 H a ( s ) = b 0 s 2 + b 1 s + b 2 a 0 s 2 + a 1 s + a 2 = b 0 + b 1 s − 1 + b 2 s − 2 a 0 + a 1 s − 1 + a 2 s − 2 {\displaystyle H_{a}(s)={\frac {b_{0}s^{2}+b_{1}s+b_{2}}{a_{0}s^{2}+a_{1}s+a_{2}}}={\frac {b_{0}+b_{1}s^{-1}+b_{2}s^{-2}}{a_{0}+a_{1}s^{-1}+a_{2}s^{-2}}}} 利用下列替換方法做雙線性變換 s ← K 1 − z − 1 1 + z − 1 {\displaystyle s\leftarrow K{\frac {1-z^{-1}}{1+z^{-1}}}} 其中 K ≜ 2 T {\displaystyle K\triangleq {\frac {2}{T}}} . 其結果為一個離散時間的數位雙二階濾波器，且由原本連續時間濾波器的係數所組成的表達式如 H d ( z ) = ( b 0 K 2 + b 1 K + b 2 ) + ( 2 b 2 − 2 b 0 K 2 ) z − 1 + ( b 0 K 2 − b 1 K + b 2 ) z − 2 ( a 0 K 2 + a 1 K + a 2 ) + ( 2 a 2 − 2 a 0 K 2 ) z − 1 + ( a 0 K 2 − a 1 K + a 2 ) z − 2 {\displaystyle H_{d}(z)={\frac {(b_{0}K^{2}+b_{1}K+b_{2})+(2b_{2}-2b_{0}K^{2})z^{-1}+(b_{0}K^{2}-b_{1}K+b_{2})z^{-2}}{(a_{0}K^{2}+a_{1}K+a_{2})+(2a_{2}-2a_{0}K^{2})z^{-1}+(a_{0}K^{2}-a_{1}K+a_{2})z^{-2}}}} 一般而言，在推導對應的差分方程式前，分母的常數項會被標準化為1 H d ( z ) = b 0 K 2 + b 1 K + b 2 a 0 K 2 + a 1 K + a 2 + 2 b 2 − 2 b 0 K 2 a 0 K 2 + a 1 K + a 2 z − 1 + b 0 K 2 − b 1 K + b 2 a 0 K 2 + a 1 K + a 2 z − 2 1 + 2 a 2 − 2 a 0 K 2 a 0 K 2 + a 1 K + a 2 z − 1 + a 0 K 2 − a 1 K + a 2 a 0 K 2 + a 1 K + a 2 z − 2 . {\displaystyle H_{d}(z)={\frac {{\frac {b_{0}K^{2}+b_{1}K+b_{2}}{a_{0}K^{2}+a_{1}K+a_{2}}}+{\frac {2b_{2}-2b_{0}K^{2}}{a_{0}K^{2}+a_{1}K+a_{2}}}z^{-1}+{\frac {b_{0}K^{2}-b_{1}K+b_{2}}{a_{0}K^{2}+a_{1}K+a_{2}}}z^{-2}}{1+{\frac {2a_{2}-2a_{0}K^{2}}{a_{0}K^{2}+a_{1}K+a_{2}}}z^{-1}+{\frac {a_{0}K^{2}-a_{1}K+a_{2}}{a_{0}K^{2}+a_{1}K+a_{2}}}z^{-2}}}.} 差分方程式則為 y [ n ] = b 0 K 2 + b 1 K + b 2 a 0 K 2 + a 1 K + a 2 ⋅ x [ n ] + 2 b 2 − 2 b 0 K 2 a 0 K 2 + a 1 K + a 2 ⋅ x [ n − 1 ] + b 0 K 2 − b 1 K + b 2 a 0 K 2 + a 1 K + a 2 ⋅ x [ n − 2 ] − 2 a 2 − 2 a 0 K 2 a 0 K 2 + a 1 K + a 2 ⋅ y [ n − 1 ] − a 0 K 2 − a 1 K + a 2 a 0 K 2 + a 1 K + a 2 ⋅ y [ n − 2 ] . {\displaystyle {\begin{aligned}y[n]={}&{\frac {b_{0}K^{2}+b_{1}K+b_{2}}{a_{0}K^{2}+a_{1}K+a_{2}}}\cdot x[n]+{\frac {2b_{2}-2b_{0}K^{2}}{a_{0}K^{2}+a_{1}K+a_{2}}}\cdot x[n-1]\\[8pt]&{}+{\frac {b_{0}K^{2}-b_{1}K+b_{2}}{a_{0}K^{2}+a_{1}K+a_{2}}}\cdot x[n-2]-{\frac {2a_{2}-2a_{0}K^{2}}{a_{0}K^{2}+a_{1}K+a_{2}}}\cdot y[n-1]\\[8pt]&{}-{\frac {a_{0}K^{2}-a_{1}K+a_{2}}{a_{0}K^{2}+a_{1}K+a_{2}}}\cdot y[n-2].\end{aligned}}} 為了要計算連續時間濾波器的頻率響應，會去計算傳遞函數 H a ( s )   {\displaystyle H_{a}(s)\ } 在 j ω   {\displaystyle j\omega \ } 軸上的值( s = j ω   {\displaystyle s=j\omega \ } )。相同地，為了要計算離散時間濾波器的頻率響應，會去計算在單位圓上傳遞函數 H d ( z )   {\displaystyle H_{d}(z)\ } 的值( z = e j ω T   {\displaystyle z=e^{j\omega T}\ } ， | z | = 1   {\displaystyle |z|=1\ } )。當真正的頻率 ω   {\displaystyle \omega \ } 被代入由雙線性變換產生的離散時間濾波器，可以透過下列式子得到連續時間濾波器的頻率 ω a   {\displaystyle \omega _{a}\ } H d ( z ) = H a ( 2 T z − 1 z + 1 )   {\displaystyle H_{d}(z)=H_{a}\left({\frac {2}{T}}{\frac {z-1}{z+1}}\right)\ } 由此可知，離散時間濾波器在z平面單位圓中的每一點( z = e j ω T   {\displaystyle z=e^{j\omega T}\ } )可以被映射到連續時間濾波器在s平面 j ω   {\displaystyle j\omega \ } 軸上的一點( s = j ω a   {\displaystyle s=j\omega _{a}\ } )。也就是說，雙線性變換將離散時間濾波器的頻率映射到連續時間濾波器的方法為下式 ω a = 2 T tan ⁡ ( ω T 2 ) {\displaystyle \omega _{a}={\frac {2}{T}}\tan \left(\omega {\frac {T}{2}}\right)} 反之則為 ω = 2 T arctan ⁡ ( ω a T 2 ) . {\displaystyle \omega ={\frac {2}{T}}\arctan \left(\omega _{a}{\frac {T}{2}}\right).} 離散時間濾波器在頻率為 ω   {\displaystyle \omega \ } 的表現和連續時間濾波器在頻率為 ( 2 / T ) tan ⁡ ( ω T / 2 )   {\displaystyle (2/T)\tan(\omega T/2)\ } 的表現相同，具體來說，離散時間濾波器在頻率為 ω   {\displaystyle \omega \ } 的增益和相位平移與連續時間濾波器在頻率為 ( 2 / T ) tan ⁡ ( ω T / 2 )   {\displaystyle (2/T)\tan(\omega T/2)\ } 的增益和相位平移相同。也就是說，在連續時間濾波器的頻率響應所看到的每一個特徵，都可以在離散時間濾波器得頻率響應中看到，但頻率位置可能會不同。對於低頻而言(也就是當 ω ≪ 2 / T {\displaystyle \omega \ll 2/T} 或 ω a ≪ 2 / T {\displaystyle \omega _{a}\ll 2/T} )， ω ≈ ω a   {\displaystyle \omega \approx \omega _{a}\ } 。 連續時間濾波器的頻率範圍是 − ∞ < ω a < + ∞   {\displaystyle -\infty <\omega _{a}<+\infty \ } 對應到在離散時間濾波器的頻率區間是 − π T < ω < + π T .   {\displaystyle -{\frac {\pi }{T}}<\omega <+{\frac {\pi }{T}}.\ } 當連續時間濾波器的頻率 ω a = 0   {\displaystyle \omega _{a}=0\ } ，對應到離散時間濾波器的頻率 ω = 0   {\displaystyle \omega =0\ } ；當連續時間濾波器的頻率< ω a = ± ∞   {\displaystyle \omega _{a}=\pm \infty \ } ，對應到離散時間濾波器的頻率 ω = ± π / T .   {\displaystyle \omega =\pm \pi /T.\ } 可以看到 ω a   {\displaystyle \omega _{a}\ } 和 ω .   {\displaystyle \omega .\ } 之間是非線性的關係，這個由雙線性變換產生的影響稱為頻率扭曲。設計連續時間濾波器時可以透過設定 ω a = 2 T tan ⁡ ( ω T 2 )   {\displaystyle \omega _{a}={\frac {2}{T}}\tan \left(\omega {\frac {T}{2}}\right)\ } 來補償頻率扭曲，這在濾波器設計中稱作為預先扭曲。 當設計一個數字濾波器去估計連續時間濾波器時，如果將下列轉換式代入連續時間濾波器的傳遞函數中，這個數位濾波器的頻率響應(包含振幅跟相位)可以被做成符合連續時間濾波器在 ω 0 {\displaystyle \omega _{0}} 的頻率響應，這是一種修改過的Tustin變換。然而，當 ω 0 → 0 {\displaystyle \omega _{0}\to 0} 時，這種變換方式就會變成上面所說的Tustin變換。也就是說，上面的轉換使得數位濾波器的響應在直流分量時會對應到類比濾波器響應 s ← ω 0 tan ⁡ ( ω 0 T 2 ) z − 1 z + 1 . {\displaystyle s\leftarrow {\frac {\omega _{0}}{\tan({\frac {\omega _{0}T}{2}})}}{\frac {z-1}{z+1}}.} 這種扭曲現象的主要優點是去除頻率響應的混疊失真。然而，還需要透過預先扭曲給定的連續時間系統頻率能補償所造成的頻率扭曲，這些被預先扭曲的頻率用在雙線性變換上可以得到想要的離散時間系統。 Z轉換 S轉換 Oppenheim, Alan. Discrete Time Signal Processing Third Edition. Upper Saddle River, NJ: Pearson Higher Education, Inc. 2010: 504. ISBN 978-0-13-198842-2.