新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 利用FIR濾波器去除傳輸線效應

        利用FIR濾波器去除傳輸線效應

        作者: 時間:2015-09-17 來源:網絡 收藏

          簡介:本文主要介紹利用器如何去除傳輸線效應,并例列舉實例進行描述、驗證。

        本文引用地址:http://www.104case.com/article/280267.htm

          網絡串行解串器(SERDES)的串行數據輸出速度已經高達28Gbps,并且還在繼續發展。在如此高數據速率的條件下,即使很短的PCB走線也會起到傳輸線的作用,進而通過衰減和散射降低信號完整性。在芯片的焊球上監視SERDES發送器輸出信號很難做到。通常信號會引到SMA或SMP連接器后再用示波器進行監測。然而,信號特性會因為IC和連接器之間的傳輸線而發生改變。因此,真正的挑戰是在SERDES引腳處監視信號性能,而這可以通過去除傳輸線效應來實現。

          本設計實例介紹了一種去除傳輸線的方法。 假設H(s)是走線的沖激響應,如果X(s)是輸入信號,那么從數學角度看: Y(s)=H(s)×X(s) X(s)=Y(s)×H-1(s) 可以將H-1(s)實現為有限沖激響應(FIR)濾波器,并使用MATLAB確定濾波系數(參考文章最后的文檔)。 走線的H(s)可以用網絡分析儀進行測量,測量的對象是Sdd21。首先需要確定器(hf(t))的系數,其頻率響應(Hf(s))接近上述測量的Sdd21的倒數,即Hf(s)=H-1(s)。計算濾波器系數的方法是先從特定系數開始計算頻率響應,然后計算H(s)和Hf(s)之間的幅度誤差。最后使用優化算法改變系數,直到使和方差最小。 參考FIR_filter_design.m,nc是器中的系數值,drate是單位為Gbps的輸入串行數據的數據速率。選擇合適的fs,使fs/drate為整數。這樣將定義用1個比特表示的系數值。Ncbit給出了相鄰系數間的時間差。假設N是頻率響應Hf(s)中的點數,numfpts=N/2是奈奎斯特范圍內的頻點數。濾波器傳遞函數的奈奎斯特頻率就是fs/2。然后定義finmin到finmax的頻率范圍,這樣就可以計算這個范圍內的幅度誤差了。 對應奈奎斯特的濾波器頻率點為: Hz1=(k×fs)/(2×numfpts),k=0~numpts-1 插值運算是通過計算Hz1頻率點處的Sdd21幅度完成的。將濾波系數初始化為某個值。使用freqz MATLAB函數計算濾波器的頻率響應幅度,然后確定插值后獲得的Sdd21幅度數據間的誤差。使用MATLAB fminbnd函數可以最大程度地減小和方差,最小化算法有許多實現方式,本文提供的代碼只是其中一種。

          實驗結果

          為了演示FIR濾波器的效果,使用一臺Keysight 86100D采樣示波器和一臺Tektronix的BERTScope,生成了速率為10.3125Gbps的圖案。BERTScope的輸出連接到DS0,波形存儲在示波器內存中,如圖1所示(洋紅色)。然后將BERTScope輸出連接到PCB上的傳輸線;通道的SDD21(dB)的變化如圖2所示。將通道的輸出連接到DS0(黃線)。通道引起的衰減和散射顯著劣化了波形。在示波器的數學功能選項中有一個線性均衡器模塊,它的輸入是濾波系數。在信號路徑中插入該線性均衡器模塊,然后輸入濾波系數。該模塊的輸出用綠線表示。FIR濾波器消除了通道的ISI效應,而且恢復的波形相當完美。

          

        圖1:BerScope PRBS7輸出(洋紅色);PCB走線輸出端的信號(黃色);FIR濾波器輸出(綠色)。

         

          圖1:BerScope PRBS7輸出(洋紅色);PCB走線輸出端的信號(黃色);FIR濾波器輸出(綠色)。

          

        圖2:PCB走線的Sdd21。

         

          圖2:PCB走線的Sdd21。

          從MATLAB代碼獲得的FIR系數是: 0.766, -0.115, -0.097, -0.119, -0.090, -0.099,-0.083, -0.033, 0.028, 0.015, 0.042, 0.013, 0.024,-0.008, 0.002, -0.019, 0.000, -0.025, 0.005,-0.014, 0.011, -0.007, 0.021, -0.002, 0.014,-0.009, 0.009, -0.018, 0.003, -0.022。

          本文小結

          通過消除PCB走線引起的衰減,濾波器極大地提高了信號完整性。這個過程可以用示波器、離線式或硬件實現等方式進行。 BertScope輸出和濾波器輸出之間存在一些差異,引起這些差異的原因是:

          ● 第一個用戶界面(UI)中存在一些尖峰。這是濾波系數a2、a3和a4的值較大引起的。大多數高頻放大是通過這些系數完成的,因此會引起尖峰。通過修改算法可以加以糾正。

          ● 應該使用低通濾波(LPF)函數對H1(s)加以頻帶限制。這將形成頻帶受限的濾波器,并在整個傳遞函數上盡量減少誤差。這樣也有望減小第一個UI中的峰值。本文中的濾波器是通過定義fmin和fmax實現頻帶受限的,這種方法會引入一定的誤差。

          ● 在確定濾波器系數時沒有包含相位信號,這也會引入一定的誤差。 通過在設計算法中采取這些校正措施,可以改進濾波系數的計算。

        濾波器相關文章:濾波器原理


        濾波器相關文章:濾波器原理


        電源濾波器相關文章:電源濾波器原理


        數字濾波器相關文章:數字濾波器原理


        關鍵詞: FIR濾波

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 迁西县| 正宁县| 五常市| 灵武市| 通榆县| 攀枝花市| 香河县| 梧州市| 霸州市| 广丰县| 应城市| 南宁市| 紫阳县| 三原县| 天气| 清河县| 南澳县| 宣恩县| 将乐县| 渝中区| 文昌市| 龙海市| 鄂温| 丹凤县| 盐边县| 云安县| 高青县| 唐海县| 八宿县| 阿尔山市| 蛟河市| 临猗县| 诸城市| 安溪县| 鄯善县| 蕉岭县| 即墨市| 卢湾区| 久治县| 定陶县| 于田县|