等化器

等化器（Equalizer）在通訊系統中是很重要的一部分，由於傳送訊號在傳送路徑到接收器接收的過程中會受到多路徑干擾（multipath）、路徑中遮蔽物阻擋造成遮蔽效應（shadow effect），這些現象都會造成接收訊號錯誤率上升。因此為了降低通訊系統傳輸的錯誤率要作通道估測，經由估測的結果對通道響應做補償進而降低傳送錯誤率。现亦有軟體可利用等化器处理声音，将声音专门为某类优化，如摇滚、流行、舞曲、古典、柔和等。 在頻域（freq. domain）的觀點，ZF等化器是個反向濾波器（E(z)=1/F(z)） 在時域，ZF等化器的脈衝響應（impulse response）是脈衝函數（delta function） ZF等化器可以完全消除ISI，但缺點是會造成雜訊放大 x(t)：傳送信號 p(t)：傳送濾波器使用波型 y(t)：接收訊號 w：tap delay line filter每個tap的係數 a i = 1 , i = 0 a i = 0 , i ≠ 0 {\displaystyle {\begin{matrix}a_{i}=1,i=0\\a_{i}=0,i\neq 0\\\end{matrix}}} x ( t ) = ∑ i a i p ( t − i T ) = a 0 p ( t ) = p ( t ) {\displaystyle x(t)=\sum \limits _{i}{a_{i}p(t-iT)=a_{0}p(t)=p(t)}} y ( t ) = ∑ n = − N N w i p ( t − n T ) {\displaystyle y(t)=\sum \limits _{n=-N}^{N}{w_{i}p(t-nT)}} [ p ( 0 ) p ( − T ) ⋯ p ( − 2 N T ) p ( T ) p ( 0 ) ⋯ p ( − ( 2 N − 1 ) T ) ⋮ ⋮ ⋱ ⋮ p ( 2 N T ) p ( ( 2 N − 1 ) T ) ⋯ p ( 0 ) ] {\displaystyle \left[{\begin{matrix}p(0)&p(-T)&\cdots &p(-2NT)\\p(T)&p(0)&\cdots &p(-(2N-1)T)\\\vdots &\vdots &\ddots &\vdots \\p(2NT)&p((2N-1)T)&\cdots &p(0)\\\end{matrix}}\right]} [ w − N w − N + 1 ⋮ w 0 ⋮ w N ] {\displaystyle \left[{\begin{matrix}w_{-N}\\w_{-N+1}\\\vdots \\w_{0}\\\vdots \\w_{N}\\\end{matrix}}\right]} = [ 0 0 ⋮ 1 ⋮ 0 ] {\displaystyle \left[{\begin{matrix}0\\0\\\vdots \\1\\\vdots \\0\\\end{matrix}}\right]} => AW=b,W=A^(-1)b 由上面推導即可導出Tap delay line equalizer所以要的最佳係數 ZF等化器可以消除完全消除ISI，但過程中會放大雜訊。MMSE等化器則是在則是使設計估測通道信號及實際信號的均方誤差為最小，雖然不能完全消除ISI但不會造成雜訊的放大。d(n)為實際通道、 y 0 ( n ) {\displaystyle y_{0}(n)} 為通道估測結果、 e o ( n ) {\displaystyle e_{o}(n)} 為兩者誤差 e 0 ( n ) = d ( n ) − y 0 ( n ) = d ( n ) − h ( n ) {\displaystyle e_{0}(n)=d(n)-y_{0}(n)=d(n)-h(n)} J M I N = E ( ( e 0 ( n ) ) 2 ) = σ d 2 + σ h 2 − 2 E ( d ( n ) h ( n ) ) {\displaystyle J_{MIN}=E((e_{0}(n))^{2})=\sigma _{d}^{2}+\sigma _{h}^{2}-2E(d(n)h(n))} d ( n ) = h ( n ) + e o p t ( n ) {\displaystyle d(n)=h(n)+e_{opt}(n)} ⇒ E ( d ( n ) h ( n ) ) = E ( h ( n ) 2 ) + E ( h ( n ) e o p t ( n ) ) {\displaystyle \Rightarrow E(d(n)h(n))=E(h(n)^{2})+E(h(n)e_{opt}(n))} => J M I N = σ d 2 + σ h 2 − 2 σ h 2 = σ d 2 − σ h 2 {\displaystyle =>J_{MIN}=\sigma _{d}^{2}+\sigma _{h}^{2}-2\sigma _{h}^{2}=\sigma _{d}^{2}-\sigma _{h}^{2}} 由上面結果可知，我們想要得到的結果d(n)可以正交分解成d(n)=h(n)+ e o p t ( n ) {\displaystyle e_{o}pt(n)} 其中h(n)垂直於 e o p t ( n ) {\displaystyle e_{o}pt(n)} 通訊傳輸等化器設計，很重要的就是要找出最佳的tap-delay-line filter係數，找出一組可以誤差最小的係數。而在時變（time-variant）通道中，通道狀況隨時在改變，所以在設計等化器時便要因應不同的通道狀況，隨時調整計算出使誤差最小的係數，這種演算法變稱為adaptive algorithms。可適性（adaptive）演算法的好壞可由下列幾項標準判定： 收斂速度：演算法在經過多少次重覆運算後可以相當接近最後想要的結果 每次重覆運算（iteration）的計算量 錯誤調整（misadjustment）的大小 LMS演算法通常包含兩部分（由以下兩者相互運作形成一回授（feedback loop） 濾波程序（filtering process）: 1.計算線系濾波器輸出對輸入信號的反應 2.比較輸出信號和想要的信號（desire signal）得到預測誤差 可適性程序（adaptive process）:對於估測誤差，自動調整等化器參數 J ( n ) = | e ( n ) | 2 , e ( n ) = d ( n ) − y ( n ) , y ( n ) = w H ( n ) u ( n ) => ∇ J ( n ) = − 2 e ∗ ( n ) u ( n ) => w ( n + 1 ) = w ( n ) − u 2 ∇ J ( n ) = w ( n ) + u e ∗ ( n ) u ( n ) {\displaystyle {\begin{aligned}&J(n)=\left|e(n)\right|^{2},e(n)=d(n)-y(n),y(n)=w^{H}(n)u(n)\\&=>\nabla J(n)=-2e^{*}(n)u(n)\\&=>w(n+1)=w(n)-{\frac {u}{2}}\nabla J(n)=w(n)+ue^{*}(n)u(n)\\\end{aligned}}} d(n)：為想得到的信號 u(n)：等化器輸入信號 y(n)：等化器輸出信號 w(n)：可時變的tap-delay line filter係數 由於LMS演算法不需要事先求得u(n)的自相關函數（ACF）及u(n)和d(n)的互相關函數（CCF），因此在運算上簡化許多，也由於w(n)是e(n)及u(n)的函式（e(n)u(n)是隨機程序），所以LMS演算法是一統計濾波器（stochastic filter）。 在設計LMS-based可適性濾波器時，如何決定step-size u使LMS演算法收斂是一項相當重要的議題 當0<u<2/ŋ時，LMS演算法收斂（ŋ_max是u* u T {\displaystyle u^{T}} 的最大特徵值） 對每個n值，我們根據W[N]來估計新的最小平方差解，我們在用w(n)來尋找，來表示新的w(n+1)估計值時，希望避免LS演算法全部從頭重做的情況，用RLS演算法的好處是我們不用將矩陣反置（inverse），如此一來可以節省運算POWER 演算法： 1.初始條件：P(0)=δ^(-1)·I，w(0)=0 ，δ是一大於零很小的常數 2.for n=1,2,....計算k(n)，z(n)，w(n) k ( n ) = λ − 1 p ( n − 1 ) u ( n ) 1 + λ − 1 u H ( n ) p ( n − 1 ) u ( n ) ξ ( n ) = d ( n ) − w H ( n − 1 ) u ( n ) w ( n ) = w ( n − 1 ) + k ( n ) ξ ∗ ( n ) p ( n ) = λ − 1 p ( n − 1 ) − λ − 1 k ( n ) u H ( n ) p ( n − 1 ) {\displaystyle {\begin{aligned}&k(n)={\frac {\lambda ^{-1}p(n-1)u(n)}{1+\lambda ^{-1}u^{H}(n)p(n-1)u(n)}}\\&\xi (n)=d(n)-w^{H}(n-1)u(n)\\&w(n)=w(n-1)+k(n)\xi ^{*}(n)\\&p(n)=\lambda ^{-1}p(n-1)-\lambda ^{-1}k(n)u^{H}(n)p(n-1)\\\end{aligned}}} LMS和RLS兩者比較： LMS演算法的運算量少，為L的等級（L為濾波器的長度），但收斂速度受到輸入信號的統計特性所影響，需花較多時間達到要求的收斂性能 RLS演算法雖然收斂速度快，但卻需要巨大的運算量，為L平方的等級。 DFE有個簡單根本的假定：當我們已經正確地偵測到一個bit，我們可以利用由bit獲得的知識及對通道響應的了解，進而計算出這個bit所造成的ISI。換句話說我們可以決定這個bit後來收到訊號序列所造成的影響，並扣除這個bit對後面接收序列所造成的ISI。 DFE由一個forward filter（轉移函數E(z)）及一個feedback filter（轉移函數D(z)）所組成。一旦接收端RX對接收信號做出決策，其對之後信號所造成的影響（postcursor ISI）可以立刻算出，並且扣除。 DFE使用回授系統，所以有Error propagation的現象 MMSE DFE的目標是藉由在雜訊放大與殘餘ISI（residual ISI）間取得平衡，進而使均方誤差最小化。由於DFE雜訊放大的情況和線性等化器不同，所以tap-delay-line等化器的係數也就不同。由於postcursor ISI不會造成雜訊放大，所以我們把目標放在使雜訊及precursorISI的相加最小 feedforward濾波器的係數可由下列推導得到： ∑ n = − k 0 {\displaystyle \sum \limits _{n=-k}^{0}} e n ( ∑ m = 0 − l f m − 1 f m + l − n + N 0 δ n l ) {\displaystyle e_{n}(\sum \limits _{m=0}^{-l}{f_{m}^{-1}f_{m+l-n}+N_{0}\delta _{nl}})} = − f − l ∗ {\displaystyle =-f_{-l}^{*}} 其中l,n=-k,...,0 k:feedforward filter的tap數，所以feedback filter係數為 d n = − ∑ m − − k 0 e m f n − m {\displaystyle {\text{d}}_{n}=-\sum \limits _{m--k}^{0}{e_{m}f_{n-m}}} for n=1,..., K b {\displaystyle K_{b}} （feedback filter的tap數） MMSEDFE輸出端的均方誤差為： σ n 2 = N 0 exp ⁡ ( T S 2 π ∫ − π T S π T S ln ⁡ ( 1 z ( e j w T + N 0 ) ) ) d w ) {\displaystyle \sigma _{n}^{2}=N_{0}\exp({\tfrac {T_{S}}{2\pi }}\int \limits _{\tfrac {-\pi }{T_{S}}}^{\frac {\pi }{T_{S}}}{\ln({\frac {1}{z(e^{jwT}+N_{0})}})})dw)} 如上面提到ZF等化器消除所有ISI，以致於導致有效通道是純因果性（purely casual）。postcursor ISI在回授端會被扣除，其輸出雜訊功率如下 σ n 2 = N 0 exp ⁡ ( T S 2 π ∫ − π T S π T S ln ⁡ ( 1 z ( e j w T ) ) ) d w ) {\displaystyle \sigma _{n}^{2}=N_{0}\exp({\tfrac {T_{S}}{2\pi }}\int \limits _{\tfrac {-\pi }{T_{S}}}^{\frac {\pi }{T_{S}}}{\ln({\frac {1}{z(e_{}^{jwT})}})})dw)} 最大概似函數估測（MLSE）利用判定哪個符號（symbol）最類似接收到的信號，來對接收到的符號做決策。這個方法很類似循環碼（convolution code）解碼的過程 事實上，在延遲分散（delay dispersive）通道中可視為循環編碼法（code rate 1/1），MLSE估計是上述所有等化器中效能最好的。 MLSE接收到信號為 u i = ∑ n = 0 L C f n c i − n + n i {\displaystyle u_{i}=\sum \limits _{n=0}^{L_{C}}{f_{n}c_{i-n}+n_{_{i}}}} 其中n為高斯白雜訊，對於N個接收值的序列，接收訊號u的結合條件機率密度為 pdf（u│c,f)= 1 ( 2 π σ n 2 ) N / 2 exp ⁡ ( − 1 2 σ n 2 ∑ i = 1 N | u i − ∑ n = 0 L C f n c i − n | 2 ) {\displaystyle {\frac {1}{(2\pi \sigma _{n}^{2})^{N/2}}}\exp(-{\frac {1}{2\sigma _{n}^{2}}}\sum \limits _{i=1}^{N}{\left|u_{i}-\sum \limits _{n=0}^{L_{C}}{f_{n}c_{i-n}}\right|^{2}})} 所以當 ∑ i = 1 N | u i − ∑ n = 0 L C f n c i − n | 2 {\displaystyle \sum \limits _{i=1}^{N}{\left|u_{i}-\sum \limits _{n=0}^{L_{C}}{f_{n}c_{i-n}}\right|^{2}}} 最小時，pdf(u│c;f)有最大值。 MLSE只有在可加性雜訊是白雜訊（white）時有最佳化結果，所以取樣值在進入MLSE檢測器前要先經過noise-whitening濾波器 使位元錯誤率（BER）最小： MLSE等化器位元錯誤率比其他等化器都小 DFE錯誤率比線性等化器好 當通道轉移函數（Transfer function）有零是否可以應付 ZF等化器運算過程中把通道轉移函數做倒數運算，所以等化器轉移函數會產上零點，MMSE及MLSE等化器都不會產生這個問題 計算量 線性等化器計算量和DFE計算量沒有顯著的差異 可適性演算法隨者等化器長度線性、二次方甚至四次方的增加 當通道的脈衝響應長度增加時，MLSE等化器運算量成指數增加 能量消耗可由計算量推斷出 對通道估測誤差的敏感度 DFE對估測誤差敏感度大於線性等化器[來源請求] ZF等化器的敏感度大於MMSE等化器 "Wireless Commuincation",Andreas F.Molisch "Adaptive filter theory",Simon HayKin