a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 汽車電子 > 設計應用 > 基于FPGA的誤碼測試儀

基于FPGA的誤碼測試儀

作者:北京交通大學無線通信研究所 盧艷萍 陶成 時間:2004-08-10 來源:電子產品世界 收藏

2004年4月A版

摘  要:本文提出了一種基于的誤碼測試方案,并在上實現了其功能。該方案不僅納入了“同步保護”的思想,同時對誤碼率量級的判斷也提出了一種簡化而又可行的方法。

關鍵詞:誤碼測試;;m序列;同步

  在數字通信系統中,為了檢測系統的性能,通常使用誤碼分析儀對其誤碼性能進行測量。誤碼分析儀給工程實際應用帶來了極大的便利,比如它有豐富的測試接口和測試內容,并能將結果直觀、準確的顯示出來。但是它的價格昂貴,并且通常需要另加外部輔助長線驅動電路才能與某些系統接口適配。這些都嚴重的制約了通用誤碼儀在實際中的應用。

  基于工程的需要和實際應用中的困難性,本文提出一個基于FPGA的多功能誤碼測試方案。芯片采用Altera公司的ACEX1K家族的EP1K50。

誤碼測試

  該誤碼儀由發送端、接收端,以及接口模塊等部分組成。發送端產生測試的比特流,作為通信系統的信源數據通過接口模塊發送出去,另外它還有誤碼插入功能;接收端模塊從數據接口中接收通信系統輸出的比特流,并將它與本地產生的,與發端形式相同的比特流進行比較,進行誤碼統計,從而完成誤碼測試功能。

發送端

  在發送端要產生替代通信信源的碼序列,那么究竟應該選擇什么樣的碼作為測試碼呢?這類碼序列的最重要的特征是具有近似于隨機信號的性能。也可以說具有噪聲近似的性能。但是,真正的隨機信號和噪聲是不能重復再現和產生的。所以只能產生一種周期性的脈沖信號來近似隨機噪聲的性能,這稱之為偽隨機序列或PN碼。本方案中就采用m序列作為測試碼,雖然它是周期信號,但它具有類似于隨機信號較好的自相關特性。

  發送端另外一個重要的功能是實現誤碼插入。也就是人為的在發送序列中插入已知插入頻率的誤碼信號,然后在接收端檢測這些誤碼,最后可以將檢測的結果與發送端已知的插入頻率進行比較,以判斷通信系統的誤碼性能。這也是檢測通信系統性能的重要方法之一。在此可以通過一個受時鐘控制的反向器實現這一功能。將傳輸的某一個碼通過反向器,也就是強制它變為一個比特的誤碼,改變反向器的時鐘控制信號就可以實現對誤碼插入率的控制。

接收端

  接收端實際上可以分成三個功能子模塊:本地m序列發生子模塊,同步子模塊,誤碼率計算子模塊。

  本地m序列發生子模塊的結構與發送端相似,只是將接收到的連續r位碼長的序列(其中r為發送端m序列發生器的級數)置入本地m序列寄存器中,作為其初始狀態,并且收發雙方已同步于這個狀態,由前面對m序列的討論知道,如果兩個具有相同邏輯結構的m序列發生器在某一時刻寄存器狀態相同,則由這兩個m序列發生器所產生的數字數據流保持同步。這樣在本地就可以產生一個與發送端結構相同且比特對齊的m序列了。

  同步判斷是進行誤碼統計的先決條件,只有對接收到的碼序列與本地碼序列不斷地進行同步判斷,確定收、發端處于同步狀態,那么誤碼統計才有意義。在通信系統中同步的方法有很多種,但由于對于誤碼測試儀,發送端并不是真實的隨機信息,在接收端只要確定了m序列的級數和某一時刻的寄存器狀態,就能在后續的時間里產生出與發送端同步的m序列。所以通信系統中通常采用的如滑動相關法,匹配濾波法,插入導頻法等方法在這里并沒有用。

  很容易想到,如果接收端截取的N位碼序列中包含有誤碼,則由此產生的本地序列與發端是不同的,那么此后進行的誤碼統計就是毫無意義的,因此對誤碼測試儀收發雙方進行嚴格同步的意義是為了避免由于將接收到的含有誤碼的狀態作為本地初始狀態而造成的“假同步”。同步判別的狀態轉移如圖2所示。

  實現了上述功能的同步模塊在實際應用中已經能夠保證收發雙方的同步問題了,但是考慮到實際系統的處理能力及處理性能,還有必要對他做進一步的優化。觀察上述系統不難發現,同步模塊一旦探測到接收到的誤碼個數超過了預設的判決門限就認為收發雙方不同步,而重新進行同步判定,這種處理方式不僅降低了誤碼儀對突發錯誤的處理能力,更嚴重的是會導致接收端進行反復同步,從而大大降低了處理的效率。而實際上這種由突發錯誤造成的“反復同步”是沒有必要的。所以在實際的設計中我們又納入了“同步保護”機制。有同步保護的狀態轉移如圖3所示。

  由圖3可以看到,有同步保護的同步判別狀態轉移圖只是在原有的四個狀態的基礎上增加了一個失同步檢查態,增加這個狀態的目的是為了在同步計數的過程中,如果有短時的大量突發誤碼,并不立即指示時同步信號,而是進行失同步檢查,如果在后續的連續幾個檢測周期內都有大量的誤碼,那么可以判斷收發端已經失同步了,立即給出失同步報警信號。此時有必要對本地m序列發生器重新加載,重新同步;而如果短時的大量誤碼只是由于突發誤碼造成的,后續的幾個連續檢測周期內接收端的誤碼并沒有超過判決門限,那么就繼續進行同步計數,沒有必要重新進行同步判定了。

  在同步模塊中,判決門限的設定與采用的m序列的周期,以及誤碼測試的準確性要求有關。

  當收發端已經判斷同步以后,只要將接收信號與本地的m序列流進行同步的串行比較就可以統計誤碼了。誤碼率的計算常常又需要進行除法運算,要在FPGA中或其它的可編程邏輯器件中實現除法運算通常要消耗掉大量的邏輯資源,可以采用估算的辦法大致的估計出誤碼率。具體的方法是:在進行測試的時候首先設定一個統計周期,對傳輸的碼元進行一個統計,例如設定統計周期為100M信號。然后對這100M傳輸信號進行誤碼統計,給定一系列判決門限,在每個周期結束的時候,將誤碼統計結果與判決門限進行比較,得出誤碼率量級,例如:如果誤碼個數在5 到50 之間,則認為誤碼量級為10-7,在50 到500之間,就認為誤碼率量級為10-6,以此類推。這樣估算不可避免的會造成真實誤碼率的偏差,但是它不僅節約了大量的邏輯資源,而且并不影響工程實際中對誤碼量級的判斷,因此是完全可行的。

接口模塊

  接口模塊主要是為了與通信系統傳輸形式相匹配,如常用的RS-232接口或RS-485接口。由于采用FPGA實現整體功能,哪怕是對非標準信道進行測試,接口形式也易于擴展,而且還有利于系統的集成化,避免了通用誤碼儀的外加輔助長線驅動器。

結語

  在數字通信系統中,誤碼儀的使用是很普遍的,而現今的通信系統大量采用FPGA作為系統的核心控制器件,將物理層上的各協議層的功能集中在FPGA內部實現。本文提出的誤碼測試方案在一片Altera公司的EP1K50芯片上進行了試驗驗證,大約需要消耗1000個邏輯單元,只占到整個芯片資源的36%。今后還有很大的擴展空間。設計的仿真波形如圖4和圖5。另外本測試方案還可以作為某些系統的模塊,有利于系統的性能調試。■

參考文獻:

1. 徐志軍、徐光輝,《CPLD/FPGA的開發與應用》,電子工業出版社



關鍵詞: FPGA 嵌入式

評論


相關推薦

技術專區

關閉