一種基四算法下的加比選計算方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信領(lǐng)域,尤其涉及一種基四算法下的加比選計算方法和裝置。
【背景技術(shù)】
[0002] 為了滿足當今社會對數(shù)字通信量的需求和提高系統(tǒng)的糾錯能力,信道編碼技術(shù)變 得越來越重要。自從1955年Elias首次提出用于離散無記憶信道的卷積編碼,關(guān)于卷積碼 的各種改進和優(yōu)化算法層出不窮。1967年,AndrewJ.Viterbi提出了關(guān)于卷積碼的動態(tài) 規(guī)劃譯碼算法-viterbi算法,這是一種最大似然譯碼算法,通過對輸入信息進行逐比特譯 碼,在網(wǎng)格圖中找到與接收序列距離最近的序列作為譯碼輸出。在碼約束長度比較小的情 況下,Viterbi算法實現(xiàn)比較簡單,運算速度快,性能好,在移動通信和衛(wèi)星通信中得到了廣 泛應(yīng)用。1993 年,C.Berrou,A.Glavieux和P.Thitimajshiwa提出了turbo碼,turbo碼具 有很強的抗衰落和抗干擾能力,其糾錯性能接近香農(nóng)限,在第三代、第四代通信系統(tǒng)中作為 數(shù)據(jù)傳輸?shù)男诺谰幋a標準。
[0003] 迄今為止,卷積碼和turbo碼在信道編碼方面仍然占據(jù)主導(dǎo)地位。卷積碼主要用 于語音信息、控制信息和廣播信息等編碼,turbo碼主要用于數(shù)據(jù)編碼。無論是卷積碼還是 turbo碼,其譯碼算法中都有一個關(guān)鍵部件-加比選單元。加比選單元主要用于前向遞歸計 算狀態(tài)度量值,基二算法下的加比選單元架構(gòu)如圖1所示。
[0004] 隨著人們對數(shù)據(jù)傳輸速率的要求越來越高,基二算法已逐漸不能滿足高吞吐率的 要求,更高基的算法被逐漸采納。然而,高基算法帶來高吞吐量的同時,硬件復(fù)雜度也隨之 上升。以基四算法為例,譯碼單元通常是以蝶形單元作為基本處理單元,加比選單元通常是 蝶形單元的子單元,基四算法的蝶形單元如圖2所示,進入下一時刻的每個狀態(tài)有四條分 支,從四條分支中選擇最大/最小的狀態(tài)度量值,作為該狀態(tài)的新的狀態(tài)度量值,這個過程 就是加比選過程。其加比選單元架構(gòu)如圖3所示。面積上基四算法下的加比選單元比基二 算法下的加比選單元多了兩個加法器和兩個比較器,時間上基四算法下的加比選單元比基 二算法下的加比選單元多了一級比較運算。在數(shù)據(jù)吞吐量提高的同時,不可避免會增加一 些硬件資源,如果能優(yōu)化基四算法下的加比選單元的運算延遲,即減少一級比較運算,那么 整個譯碼器的關(guān)鍵路徑延遲就會減少,對譯碼性能的提升將是非常有益的。
[0005] 狀態(tài)度量值的前向遞歸計算還有一個特點,當前時刻的狀態(tài)度量值是前一時刻的 狀態(tài)度量值與分支度量值之和,隨著前向遞歸計算,狀態(tài)度量值會越來越大,大到一定程度 會發(fā)生溢出。所以,狀態(tài)度量值計算的加比選單元通常伴隨規(guī)約運算。最直接的規(guī)約運算 是選取狀態(tài)度量值中最大的一個,每個狀態(tài)度量值分別減去這個數(shù),以四狀態(tài)規(guī)約為例,如 圖4所示。這種方法延遲比較大,在加比選完成狀態(tài)度量值計算后,需要增加若干級比較和 減法運算,時間消耗與加比選運算相當,這種方法是不劃算的。還有一種模規(guī)約運算,需要 增加兩級異或門操作,其結(jié)構(gòu)圖如圖5所示。如果規(guī)約運算能與加比選運算同時進行,會大 大降低時間延遲,提高譯碼速率。
[0006] 總體來說,基四算法下的加比選運算有兩個方面可以優(yōu)化,即縮短四選一運算邏 輯以及采用新的規(guī)約運算來計算狀態(tài)度量值,從而提高數(shù)據(jù)吞吐率。
【發(fā)明內(nèi)容】
[0007] (一)要解決的技術(shù)問題
[0008] 基四算法下的加比選ACS(Add-Compare-Select)單元,存在路徑延遲大的問題, 具體體現(xiàn)在四選一邏輯方面,如圖3所示,需要兩級比較,才能從四個數(shù)據(jù)中選出最大/最 小的一個。還體現(xiàn)在規(guī)約運算方面,如圖4、圖5所示,不管是減規(guī)約還是模規(guī)約運算,都在 ACS運算的基礎(chǔ)上增加了兩級運算。關(guān)鍵路徑延遲會影響整個譯碼器的性能,成為譯碼器設(shè) 計的瓶頸問題。
[0009] (二)技術(shù)方案
[0010] 為解決上述技術(shù)問題,本發(fā)明一方面提出了一種基四算法下的加比選計算方法, 該方法包括:
[0011] 步驟1,分支度量值與相應(yīng)的狀態(tài)度量值相加,得到四個臨時狀態(tài)度量值;
[0012] 步驟2,四個臨時狀態(tài)度量值兩兩進行比較,比較的結(jié)果以0或1標識;同時,四個 臨時狀態(tài)度量值分別減去前一時刻的某一狀態(tài)度量值,得到規(guī)約運算后的狀態(tài)度量值;
[0013] 步驟3,根據(jù)比較的結(jié)果,從規(guī)約運算后的四個狀態(tài)度量值中選出最大/最小的一 個,作為新的狀態(tài)度量值。
[0014] 本發(fā)明另一方面提出了一種基四算法下的加比選計算裝置,包括:
[0015] 加法器:用于將分支度量值與相應(yīng)的狀態(tài)度量值相加,計算臨時狀態(tài)度量值;
[0016] 比較器:用于將兩個臨時狀態(tài)度量值進行比較,比較的結(jié)果以0或1標識;
[0017] 減法器:用于將臨時狀態(tài)度量值減去前一時刻的某一狀態(tài)度量值,得到規(guī)約運算 后的狀態(tài)度量值;
[0018] 選擇器:根據(jù)比較的結(jié)果,從規(guī)約運算后的狀態(tài)度量值中選出最大/最小的一個, 作為新的狀態(tài)度量值。
[0019] (三)有益效果
[0020] 采用本發(fā)明的加比選計算方法和裝置,使得四選一邏輯在一級比較中實現(xiàn),規(guī)約 運算和比較運算同時進行,有效降低了關(guān)鍵路徑延遲,提高了譯碼速率,進而提升了整個系 統(tǒng)的性能。
【附圖說明】
[0021 ] 圖1是基二算法下的加比選單元結(jié)構(gòu)圖;
[0022] 圖2是基四算法下的蝶形單元結(jié)構(gòu)圖;
[0023] 圖3是基四算法下傳統(tǒng)的加比選單元結(jié)構(gòu)圖;
[0024] 圖4是四狀態(tài)的減規(guī)約運算單元結(jié)構(gòu)圖;
[0025] 圖5是加比選單元的模規(guī)約運算結(jié)構(gòu)圖;
[0026] 圖6是本發(fā)明的加比選流程圖;
[0027] 圖7是本發(fā)明的加比選單元結(jié)構(gòu)圖。
【具體實施方式】
[0028] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照 附圖,對本發(fā)明進一步詳細說明。
[0029] 本發(fā)明提出的基四算法下的加比選計算方法流程如圖6所示,具體包括:
[0030] 步驟502,四個分支的分支度量值BMO、BMl、BM2和BM3分別與對應(yīng)的狀態(tài)度量值 SMO、SMI、SM2和SM3相加,得到四個臨時狀態(tài)度量值SUMO、SUM1、SUM2和SUM3 ;
[0031] 步驟503,四個臨時狀態(tài)度量值SUMO、SUMl、SUM2和SUM3兩兩進行比較,即 SUM0&SUM1、SUM0&SUM2、SUM0&SUM3、SUM1&SUM2、SUM1&a