Turbo簡化譯碼算法的FPGA設(shè)計與實現(xiàn)
3.4 8狀態(tài)值最小值運算單元
由MAX-LOG-MAP算法可知,在進行前后向遞推歸一化處理和計算譯碼軟輸出時,均需要計算每一時刻8個狀態(tài)的最小值。為了減小計算延時,采用了8狀態(tài)值并行比較的結(jié)構(gòu),與串行的8狀態(tài)值比較結(jié)構(gòu)相比較,要少4級延時。實現(xiàn)結(jié)構(gòu)如圖4所示。
4 仿真結(jié)果
按照以上所分析的簡化譯碼算法、FPGA實現(xiàn)的相關(guān)參數(shù)和結(jié)構(gòu),整個譯碼采用Verilog HDL語言編程,以Xilinx ISE 7.1i、Modelsim SE 6.0為開發(fā)環(huán)境,選定Virtex4芯片xc4vlx40-12ff668進行設(shè)計與實現(xiàn)。整個譯碼器占用邏輯資源如表1所示。
MAX-LOG-MAP譯碼算法,幀長為128,迭代4次的情況下,MATLAB浮點算法和FPGA定點實現(xiàn)的譯碼性能比較如圖5所示。
由MAX-LOG-MAP算法的MATLAB浮點與FPGA定點的性能比較仿真結(jié)果可知,采用F(9,3)的定點量化標(biāo)準(zhǔn),F(xiàn)PGA定點實現(xiàn)譯碼性能和理論的浮點仿真性能基本相近,并具有較好的譯碼性能。
綜上所述,在短幀情況下,MAX-LOG-MAP算法具有較好的譯碼性能,相對于MAP,LOG-MAP算法具有最低的硬件實現(xiàn)復(fù)雜度,并且Turbo碼譯碼延時也較小。所以,在特定的短幀通信系統(tǒng)中,如果采用Turbo碼作為信道編碼方案,MAX-LOG-MAP譯碼算法是硬件實現(xiàn)的最佳選擇。
評論