等化器

**等化器**（Equalizer）在通訊系統中是很重要的一部分，由於傳送訊號在傳送路徑到接收器接收的過程中會受到多路徑干擾（multipath）、路徑中遮蔽物阻擋造成遮蔽效應（shadow effect），這些現象都會造成接收訊號錯誤率上升。因此為了降低通訊系統傳輸的錯誤率要作通道估測，經由估測的結果對通道響應做補償進而降低傳送錯誤率。現亦有軟體可利用等化器處理聲音，將聲音專門為某類優化，如搖滾、流行、舞曲、古典、柔和等。

## 線性等化器（Linear equalizer）

### zero forcing equalizer

* 在頻域（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 的係數

$$
{\begin{matrix}a_{i}=1,i=0\\a_{i}=0,i\neq 0\\\end{matrix}}
$$

$$
x(t)=\sum \limits _{i}{a_{i}p(t-iT)=a_{0}p(t)=p(t)}
$$

$$
y(t)=\sum \limits _{n=-N}^{N}{w_{i}p(t-nT)}
$$

 $\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]$
 $\left[{\begin{matrix}w_{-N}\\w_{-N+1}\\\vdots \\w_{0}\\\vdots \\w_{N}\\\end{matrix}}\right]$
=
 $\left[{\begin{matrix}0\\0\\\vdots \\1\\\vdots \\0\\\end{matrix}}\right]$
=> AW=b,W=A^(-1)b

由上面推導即可導出 Tap delay line equalizer 所以要的最佳係數

### MMSE 等化器

ZF 等化器可以消除完全消除 ISI，但過程中會放大雜訊。MMSE 等化器則是在則是使設計估測通道信號及實際信號的均方誤差為最小，雖然不能完全消除 ISI 但不會造成雜訊的放大。d (n) 為實際通道、 $y_{0}(n)$ 為通道估測結果、 $e_{o}(n)$ 為兩者誤差

$$
e_{0}(n)=d(n)-y_{0}(n)=d(n)-h(n)
$$

$$
J_{MIN}=E((e_{0}(n))^{2})=\sigma _{d}^{2}+\sigma _{h}^{2}-2E(d(n)h(n))
$$

 $d(n)=h(n)+e_{opt}(n)$
 $\Rightarrow E(d(n)h(n))=E(h(n)^{2})+E(h(n)e_{opt}(n))$
 $=>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}pt(n)$ 其中 h (n) 垂直於 $e_{o}pt(n)$

## 可適性演算法（for MSE）

通訊傳輸等化器設計，很重要的就是要找出最佳的 tap-delay-line filter 係數，找出一組可以誤差最小的係數。而在時變（time-variant）通道中，通道狀況隨時在改變，所以在設計等化器時便要因應不同的通道狀況，隨時調整計算出使誤差最小的係數，這種演算法變稱為 adaptive algorithms。可適性（adaptive）演算法的好壞可由下列幾項標準判定：

* 收斂速度：演算法在經過多少次重覆運算後可以相當接近最後想要的結果
* 每次重覆運算（iteration）的計算量
* 錯誤調整（misadjustment）的大小

### LMS 演算法

LMS 演算法通常包含兩部分（由以下兩者相互運作形成一回授（feedback loop）

* 濾波程序（filtering process）:

1. 計算線系濾波器輸出對輸入信號的反應

2. 比較輸出信號和想要的信號（desire signal）得到預測誤差

* 可適性程序（adaptive process）: 對於估測誤差，自動調整等化器參數

$$
{\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}$ 的最大特徵值）

### RLS 演算法

對每個 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)

$$
{\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 兩者比較：

1. LMS 演算法的運算量少，為 L 的等級（L 為濾波器的長度），但收斂速度受到輸入信號的統計特性所影響，需花較多時間達到要求的收斂性能
2. RLS 演算法雖然收斂速度快，但卻需要巨大的運算量，為 L 平方的等級。

## Decision feedback equalizer

* DFE 有個簡單根本的假定：當我們已經正確地偵測到一個 bit，我們可以利用由 bit 獲得的知識及對通道響應的了解，進而計算出這個 bit 所造成的 ISI。換句話說我們可以決定這個 bit 後來收到訊號序列所造成的影響，並扣除這個 bit 對後面接收序列所造成的 ISI。
* DFE 由一個 forward filter（轉移函數 E (z)）及一個 feedback filter（轉移函數 D (z)）所組成。一旦接收端 RX 對接收信號做出決策，其對之後信號所造成的影響（postcursor ISI）可以立刻算出，並且扣除。
* DFE 使用回授系統，所以有 Error propagation 的現象

### MMSE Decision feedback equalizer

MMSE DFE 的目標是藉由在雜訊放大與殘餘 ISI（residual ISI）間取得平衡，進而使均方誤差最小化。由於 DFE 雜訊放大的情況和線性等化器不同，所以 tap-delay-line 等化器的係數也就不同。由於 postcursor ISI 不會造成雜訊放大，所以我們把目標放在使雜訊及 precursorISI 的相加最小

feedforward 濾波器的係數可由下列推導得到：

$$
\sum \limits _{n=-k}^{0}$ $e_{n}(\sum \limits _{m=0}^{-l}{f_{m}^{-1}f_{m+l-n}+N_{0}\delta _{nl}})$ $=-f_{-l}^{*}
$$

其中 l,n=-k,...,0 k:feedforward filter 的 tap 數，所以 feedback filter 係數為

 ${\text{d}}_{n}=-\sum \limits _{m--k}^{0}{e_{m}f_{n-m}}$ for n=1,..., $K_{b}$ （feedback filter 的 tap 數）

MMSEDFE 輸出端的均方誤差為：

$$
\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)
$$

### Zero Forcing DFE

如上面提到 ZF 等化器消除所有 ISI，以致於導致有效通道是純因果性（purely casual）。postcursor ISI 在回授端會被扣除，其輸出雜訊功率如下

$$
\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)
$$

## Maximum Likelihood Sequence Estimation

最大概似函數估測（MLSE）利用判定哪個符號（symbol）最類似接收到的信號，來對接收到的符號做決策。這個方法很類似循環碼（convolution code）解碼的過程

事實上，在延遲分散（delay dispersive）通道中可視為循環編碼法（code rate 1/1），MLSE 估計是上述所有等化器中效能最好的。

MLSE 接收到信號為

$$
u_{i}=\sum \limits _{n=0}^{L_{C}}{f_{n}c_{i-n}+n_{_{i}}}
$$

其中 n 為高斯白雜訊，對於 N 個接收值的序列，接收訊號 u 的結合條件機率密度為

pdf（u│c,f)= ${\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}})$

所以當 $\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