卷積碼是廣泛應用于衛星通信、無線通信等多種通信系統的信道編碼方式。Viterbi算法是卷積碼的最大似然譯碼算法,該算法譯碼性能好、速度快,并且硬件實現結構比較簡單,是最佳的卷積碼譯碼算法。隨著可編程邏輯技術的不斷發展,使用FPGA實現Viterbi譯碼器的設計方法逐漸成為主流。不同通信系統所選用的卷積碼不同,因此設計可重配置的Viterbi譯碼器,使其能夠滿足多種通信系統的應用需求,具有很重要的現實意義。 本文設計了基于FPGA的高速Viterbi譯碼器。在對Viterbi譯碼算法深入研究的基礎上,重點研究了Viterbi譯碼器核心組成模塊的電路實現算法。本設計中分支度量計算模塊采用只計算可能的分支度量值的方法,節省了資源;加比選模塊使用全并行結構保證處理速度;幸存路徑管理模塊使用3指針偶算法的流水線結構,大大提高了譯碼速度。在Xilinx ISE8.2i環境下,用VHDL硬件描述語言編寫程序,實現(2,1,7)卷積碼的Viterbi譯碼器。在(2,1,7)卷積碼譯碼器基礎上,擴展了Viterbi譯碼器的通用性,使其能夠對不同的卷積碼譯碼。譯碼器根據不同的工作模式,可以對(2,1,7)、(2,1,9)、(3,1,7)和(3,1,9)四種廣泛運用的卷積碼譯碼,并且可以修改譯碼深度等改變譯碼器性能的參數。 本文用Simulink搭建編譯碼系統的通信鏈路,生成測試Viterbi譯碼器所需的軟判決輸入。使用ModelSim SE6.0對各種模式的譯碼器進行全面仿真驗證,Xilinx ISE8.2i時序分析報告表明譯碼器布局布線后最高譯碼速度可達200MHz。在FPGA和DSP組成的硬件平臺上進一步測試譯碼器,譯碼器運行穩定可靠。最后,使用Simulink產生的數據對本文設計的Viterbi譯碼器的譯碼性能進行了分析,仿真結果表明,在同等條件下,本文設計的Viterbi譯碼器與Simulink中的Viterbi譯碼器模塊的譯碼性能相當。
標簽:
Viterbi
FPGA
譯碼器
上傳時間:
2013-06-24
上傳用戶:myworkpost