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