LTE中卷積碼的譯碼器設計與FPGA實現(xiàn)
3 譯碼器的設計與實現(xiàn)
在譯碼器的設計中,采用固定延遲算法。首先對進入譯碼器之前的軟判決數(shù)據進行處理,如圖3所示。本文引用地址:http://m.butianyuan.cn/article/191081.htm
將其處理成圖中所示的待譯碼數(shù)據格式,其中DL是實際輸入的所需譯碼數(shù)據長度,PL為所需在數(shù)據中加的數(shù)據前綴長度,也即上述固定延遲算法中的頭譯碼長度,DD為所要達到的譯碼深度(Decoding Depth),DD-DL為所要加的后綴長度,即固定延遲算法中的尾譯碼長度。在設計中選擇PL為96,由于在LTE系統(tǒng)中DL是變化的,最大為76,不能夠選擇固定的尾譯碼長度,但在本文設計中選擇固定的DD為192。
譯碼器的整體設計框圖,如圖4所示。圖中譯碼器主要由譯碼器系統(tǒng)控制模塊,分支度量(BM)模塊,加比選(ACS)模塊,回溯(TB)模塊和輸出緩存組成。
數(shù)據處理由譯碼器系統(tǒng)控制模塊控制完成,它控制從輸入緩存中讀入數(shù)據進行譯碼。
下面對譯碼器BM模塊、ACS模塊和TB模塊這三個核心模塊的具體設計與實現(xiàn)進行詳細介紹。
3.1 BM模塊
在整個系統(tǒng)中分支度量采用的是軟判決數(shù)據。軟判決根據接收的的軟判決比特和編碼器網格圖的參考分支,計算其歐氏距離。一般的歐氏距離采用如下公式計算:
式中:ri為接收的軟判決比特;ci為編碼器網格圖的參考分支。上述公式經簡化后結合系統(tǒng)所用軟判決數(shù)據特點,可以得到如下計算方法:
式中:Ri為接收的軟判決比特的絕對值;Ci∈{0,1)為參考分支比特。
3.2 BM模塊
在每一個時鐘中,用得到的分支度量(BM)和路徑度量(PM)相加,得到下一時刻狀態(tài)的多個路徑度量,通過比較,選擇一個幸存分支。將每個狀態(tài)的幸存分支,存儲到回溯存儲器中,更新路徑度量。在設計中,存儲從數(shù)據段(即圖4中的Initial State)開始,在這之前的幸存分支不需存儲。同時,計算出64個狀態(tài)中,具有最小路徑度量的狀態(tài)。
如果直接將前一狀態(tài)的路徑度量與分支度量相加,得到下一狀態(tài)的路徑度量,來選擇幸存分支,如圖2中,比較PMi+BMp和PMj+BMq選擇幸存分支。每個狀態(tài)2個加法器,64個狀態(tài)就需要128個加法器。
評論