天天看點

No.02 色散補償 TSM算法 時域離散采樣方法 MATLAB Python 代碼實作

一定先看這篇預備知識全網首篇用人話講清楚:光纖中的色散

對于單模光纖傳輸系統,色散補償按照是否與偏振有關分為兩部分,色度色散的補償在第一部分,稱這部分為靜态均衡(均衡和補償是同義詞)。

所謂靜态就是對于速率一定的光信号,不論調制格式如何,隻要光纖長度一定,色散就一定。

色散(本篇專指與偏振無關的色散)對信号包絡的影響可以表示成一個偏微分方程 ∂ U ( z , τ ) ∂ z = j D λ 2 4 π c ⋅ ∂ U ( z , τ ) ∂ τ 2 \frac{\partial U(z,\tau)}{\partial z}=j\frac{D\lambda^2}{4\pi c}\cdot \frac{\partial U(z,\tau)}{\partial \tau ^2} ∂z∂U(z,τ)​=j4πcDλ2​⋅∂τ2∂U(z,τ)​求解得頻域傳輸方程 G ( z , w ) = e D λ 2 z j 4 π c ω 2 G(z,w)=e^{\frac{D\lambda^2z}{j4\pi c}\omega^2} G(z,w)=ej4πcDλ2z​ω2

時域沖擊響應 g ( z , t ) = c j D λ 2 z e j π c D λ 2 z t 2 g(z,t)=\sqrt{\frac{c}{jD\lambda^2z}}e^{\frac{j\pi c}{D\lambda^2z}t^2} g(z,t)=jDλ2zc​

​eDλ2zjπc​t2

如此便将色散對信号的影響抽象成了信号通過系統的過程。

上述公式是根據光脈沖單模光纖内傳輸的非線性薛定谔方程導出的,對脈沖包絡做了歸一化引入了參數 U U U

對于時域均衡算法來說,隻需要将色散時域沖擊響應中的色散系數 D 取反,就能得到色散時域補償濾波器的脈沖響應,即 g ( z , t ) = j c D λ 2 z e π c j D λ 2 z t 2 g(z,t)=\sqrt{\frac{jc}{D\lambda^2z}}e^{\frac{\pi c}{jD\lambda^2z}t^2} g(z,t)=Dλ2zjc​

​ejDλ2zπc​t2我們寫程式的時候,肯定要把這個連續的脈沖響應,改寫成離散的點,即對其進行采樣。但是由于此脈沖響應是無限非因果的,采樣會導緻頻率的混疊。 是以要把他截斷為有限長度,來克服頻率混疊的現象。

假設我們對此脈沖響應的采樣時間間隔是 T T T,那麼采樣頻率為 f s = 1 / T f_s=1/T fs​=1/T,奈奎斯特頻率 ω n = 2 π f s / 2 = π / T \omega_n=2\pi f_s/2=\pi/T ωn​=2πfs​/2=π/T。如果截斷後此均衡系統的頻譜超過 ω n \omega_n ωn​,就說明 ω n \omega_n ωn​ 不夠大,也就是我們的采樣間隔 T T T 不夠密集。

對信号截斷等價于時域乘一個矩形窗,頻域即卷積sinc函數,矩形窗越寬,卷積的sinc函數就越窄。是以也可以通過增加截斷長度的方式使得均衡系統的頻譜寬度降低,低于 ω n \omega_n ωn​,也能解決頻譜混疊的問題。

脈沖響應的角頻率 ω = ∂ φ ( t ) ∂ t = 2 π c D λ 2 z t \omega=\frac{\partial\varphi(t)}{\partial t}=\frac{2\pi c}{D\lambda^2z}t ω=∂t∂φ(t)​=Dλ2z2πc​t上面求得為瞬時頻率,隻需要是瞬時頻率的所有瞬時值都滿足 ∣ ω ∣ < ω n |\omega|<\omega_n ∣ω∣<ωn​,就能保證均衡系統的頻譜都在 ω n \omega_n ωn​ 的範圍内。

為了保證 ∣ ω ∣ < ω n |\omega|<\omega_n ∣ω∣<ωn​,就求得了時間t的範圍 − ∣ D ∣ λ 2 z 2 c T ⩽ t ⩽ ∣ D ∣ λ 2 z 2 c T -\frac{|D|\lambda^2z}{2cT}\leqslant t\leqslant \frac{|D|\lambda^2z}{2cT} −2cT∣D∣λ2z​⩽t⩽2cT∣D∣λ2z​如此一來時間上的截斷工作就做好了,隻要 g ( z , t ) g(z,t) g(z,t)在這個時間範圍内截斷,就不會造成頻譜混疊(當然比這個範圍更大也沒問題)。

下面就要對 g ( z , t ) g(z,t) g(z,t) 采樣了(采用非遞歸結構抽頭延遲 FIR 濾波器實作)

No.02 色散補償 TSM算法 時域離散采樣方法 MATLAB Python 代碼實作

濾波器的參數如下

  1. 采樣點(濾波器抽頭)的個數 N = 2 ⌊ ∣ D ∣ λ 2 z 2 c T 2 ⌋ + 1 N=2\lfloor\frac{|D|\lambda^2z}{2cT^2}\rfloor+1 N=2⌊2cT2∣D∣λ2z​⌋+1采用這種形式的表達式是為了保證,截取的 g ( z , t ) g(z,t) g(z,t) 的整數長度 N T NT NT 不小于剛才求得的最小截斷長度。
  2. 第 K 個采樣點的取值 a k a_k ak​。其中 − ⌊ N 2 ⌋ ⩽ k ⩽ ⌊ N 2 ⌋ -\lfloor \frac{N}{2}\rfloor \leqslant k \leqslant \lfloor \frac{N}{2}\rfloor −⌊2N​⌋⩽k⩽⌊2N​⌋ 将 kT 帶入 g ( z , t ) g(z,t) g(z,t) 就得到了 a k a_k ak​ 的取值 a k = T j c D λ 2 z e π c j D λ 2 z k 2 T 2 a_k=T\sqrt{\frac{jc}{D\lambda^2z}}e^{\frac{\pi c}{jD\lambda^2z}k^2T^2} ak​=TDλ2zjc​

    ​ejDλ2zπc​k2T2為什麼前面多了 T? 信号通過系統是 x ( t ) ∗ g ( z , t ) x(t)*g(z,t) x(t)∗g(z,t) 有一個相乘再積分的過程。現在你把 g ( z , t ) g(z,t) g(z,t) 變成一組點了,積分是不是得乘個T呢?思考一下~

以上就是色散時域補償,TSM算法的全部内容了。

這種算法可以看作是對色散脈沖響應的離散采樣,故被稱為時域離散采樣。他在信号處理過程中添加了一個全通性質的色散補償濾波器,但這種方法沒有考慮噪聲的影響,是以還有其它更優秀的算法~下次再唠啦。

繼續閱讀