欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種維特比硬判決度量更新方法

文檔序號:7531215閱讀:500來源:國知局
專利名稱:一種維特比硬判決度量更新方法
技術領域
本發(fā)明涉及數(shù)字信號處理領域,具體地說,涉及硬判決維特比譯碼算法中的度量更新方法。
先介紹一下卷積碼的概念。卷積碼一般用碼型(n0,k0,L-1)來表示,其中n0代表卷積碼子序列的輸出長度,k0代表卷積碼子序列的輸入長度,L-1代表編碼器狀態(tài)機中狀態(tài)寄存器的個數(shù)。例如(3,1,4)卷積碼,其含義為狀態(tài)寄存器4位,狀態(tài)16個,子序列的輸入是1比特,輸出3比特,編碼速率為1/3,卷積碼的輸出生成多項式是G0(x)=1+X+X3+X4,G1(x)=1+X2+X4,G2(x)=1+X+X2+X3+X4。k0=1是最常見的子序列輸入長度。根據(jù)生成多項式和子序列輸入可以計算出卷積碼的輸出G0(x)G1(x)G2(x)。
在卷積碼的硬判決維特比譯碼中,采用網(wǎng)格圖來選擇路徑,選擇路徑的依據(jù)是該路徑的碼字c與量化的接收序列y之間具有最小漢明距離。具體方法如下1)將接收到的序列分成長度為n0的m個子序列進行分析;2)給出所研究的卷積碼的深度為m的網(wǎng)格圖,對于該網(wǎng)格圖的最后L-1個階段,僅給出對應于全0輸入序列的路徑;
3)令w=1,且設初始全0狀態(tài)的距離等于0,即累積度量初始化為0;4)計算接收序列的第w個子序列到第w階段狀態(tài)與第(w+1)階段狀態(tài)相連接的所有支路的距離,這一步稱為計算本地度量;5)將本地度量與第w階段狀態(tài)的距離相加,獲得第(w+1)階段狀態(tài)的距離可選值,對于第(w+1)階段的每個狀態(tài)都有2k0個可供選擇的距離,每個距離都對應著終止于該狀態(tài)的一個支路;6)對于第(w+1)階段的每個狀態(tài),在2k0個可供選擇的距離中選出最短距離對應的支路作為幸存路徑,并把最短距離作為第(w+1)階段狀態(tài)的距離;步驟5)、6)合起來稱為加比選運算,而把本地度量的計算與加比選運算合起來稱為度量更新;7)如果w=m,就進入步驟8);否則,將w增加1后返回步驟4);8)從第(m+1)階段的全0狀態(tài)開始,通過網(wǎng)格圖中的幸存路徑返回到最初的全0狀態(tài),則這條路徑即為最佳路徑,對應于它的接收比特序列是最大似然譯碼信息序列;為了獲得輸入比特序列的最佳估算,去掉接受比特序列中最后k0(L-1)個0,這一步稱為回溯。
從上面的步驟可以看出,維特比算法中的度量更新過程需要進行m次的循環(huán),m與接收序列的長度有關,度量更新是實現(xiàn)維特比算法的關鍵步驟,其速度直接影響整個維特比譯碼的時間開銷。在現(xiàn)有技術中,維特比算法可以用硬件來實現(xiàn),如采用FPGA、ASIC等,但開發(fā)周期長,適用面窄;也可以在通用DSP處理器上用軟件來實現(xiàn),但一般運行的時間和空間開銷都較大,效率低下。所以目前迫切需要有一種方法來提高度量更新的速度。
本發(fā)明維特比硬判決度量更新方法,包括以下步驟一、計算所有2L個狀態(tài)轉移在2n0種維特比輸入下的本地漢明距離;二、不改變所有本地漢明距離的相互關系,把所有本地漢明距離按照以0為中心的對稱形式進行變換;三、計算轉換后的本地漢明距離與維特比輸入之間的關系,獲得最多2L-3個轉換因子;四、用轉換因子代替本地漢明距離進行加比選運算,即將到達某一狀態(tài)的兩個前態(tài)的累積度量分別加或減轉換因子,獲得兩個可選值;比較上述兩個值的大??;選擇其中較小的值作為下一階段該狀態(tài)的累積度量。
本發(fā)明度量更新方法充分利用狀態(tài)轉換的對稱性對本地漢明距離進行變換,使得一個轉換因子可以為多至2L-2個加比選運算提供參數(shù),提高度量更新的速度。本發(fā)明可以在多種DSP處理器上實現(xiàn),不僅適用于移動通信系統(tǒng)的基站和終端,而且也適用于其它應用維特比硬判決譯碼的領域。
本發(fā)明只涉及維特比算法的度量更新,不考慮其初始化和回溯過程。
首先,根據(jù)卷積碼狀態(tài)轉移圖和生成多項式計算所有2L個狀態(tài)轉移在所有2n0種維特比輸入情況下的本地漢明距離。
為了方便計算,先介紹卷積碼子序列的輸入輸出及狀態(tài)轉移情況。維特比譯碼實際上用到其對應的卷積編碼。表1給出了(2,1,4),(3,1,4),(6,1,4)卷積算法的輸入輸出及狀態(tài)轉移情況,根據(jù)維特比譯碼的狀態(tài)轉移關系,當卷積輸入為0時,次態(tài)小于等于2L-2-1;當卷積輸入為1時,次態(tài)大于2L-2-1,其中L-1表示編碼器中狀態(tài)寄存器的個數(shù)。
表1卷積算法的輸入輸出及狀態(tài)轉移情況


分析表1可以得知,將卷積輸入比特(0或1)加在現(xiàn)態(tài)(以二進制表示)的左邊,就可以得到次態(tài)(以二進制表示),如果用u’(k)代表當前輸入,用u’(k-1)、u’(k-2)、u’(k-3)、u’(k-4)代表過去的輸入,那么現(xiàn)態(tài)表示為u’(k-1)u’(k-2)u’(k-3)u’(k-4),次態(tài)表示為u’(k)u’(k-1)u’(k-2)u’(k-3),其中k表示卷積輸入比特的序號,k=0、1、2、……,這樣可以得出輸出碼c與生成多項式和卷積輸入之間的關系。(2,1,4)卷積碼輸出碼c(2k)c(2k+1)的生成多項式是c(2k)=u’(k)+u’(k-2)+u’(k-4);c(2k+1)=u’(k)+u’(k-1)+u’(k-3)+u’(k-4);(3,1,4)卷積碼輸出碼c(3k)c(3k+1)c(3k+2)的生成多項式是c(3k)=u’(k)+u’(k-1)+u’(k-3)+u’(k-4);c(3k+1)=u’(k)+u’(k-2)+u’(k-4);c(3k+2)=u’(k)+u’(k-1)+u’(k-2)+u’(k-3)+u’(k-4);(6,1,4)卷積碼輸出碼c(6k)c(6k+1)c(6k+2)c(6k+3)c(6k+4)c(6k+5)的生成多項式是c(6k)=c(6k+3)=u’(k)+u’(k-1)+u’(k-3)+u’(k-4);c(6k+1)=c(6k+4)=u’(k)+u’(k-2)+u’(k-4);c(6k+2)=c(6k+5)=u’(k)+u’(k-1)+u’(k-2)+u’(k-3)+u’(k-4);以上“+”代表模2加運算。
結合生成多項式,計算出所有2L種狀態(tài)轉移在2n0種輸入下的本地漢明距離,并分成八個區(qū)域。
為加快度量更新的速度,減小整個維特比譯碼的時間開銷和空間開銷,根據(jù)維特比算法和處理器專用指令的特點,在計算出本地漢明距離后,對所有的本地漢明距離進行變換。如果DSP處理器的加比選指令是取大保留,則進行兩次變換;如果處理器的加比選指令是取小保留,則只需進行第二次變換。第一次變換是交叉變換,即把最大值變?yōu)樽钚≈?,最小值變?yōu)樽畲笾担未笾底優(yōu)榇涡≈?,次小值變?yōu)榇未笾档?,?3,1,4)為例,將0變?yōu)?,1變?yōu)?,2變?yōu)?,3變?yōu)?,這樣變換的原因是由于維特比度量更新的原則是取小保留,而處理器的加比選指令可以是取大保留;如果處理器的加比選指令是取小保留,那么就不需要進行第一次變換。第二次變換是對稱變換,即在不改變各個漢明距離的相互關系的前提下,把本地漢明距離變成以0為中心的對稱形式,這樣做可以使一個轉換因子就可以完成一個區(qū)域里的四個計算,同時相同的區(qū)或對稱的區(qū)也可以使用該轉換因子,這樣就大大節(jié)省了進行加比選的計算量。
表2是維特比(2,1,4)的本地漢明距離及變換。卷積編碼和維特比譯碼是互逆的過程,且維特比譯碼中還用到卷積編碼的過程。以(2,1,4)為例,卷積編碼的輸入為1比特,通過生成多項式計算,其輸出為2比特,那么相對應的維特比譯碼的輸入是2比特,輸出為1比特。
表2 維特比(2,1,4)的本地漢明距離


在表2中,由于n0=2,所以維特比譯碼的輸入有2n0=4種,即00,01,10和11。0->0,0->8……15->15表明狀態(tài)轉移的情況,由于L=5,k0=1,所以共有2k0*L=32種狀態(tài)轉移情況。卷積輸出是指在某狀態(tài)轉移的情況下,由于狀態(tài)轉移與卷積編碼的一位輸入有一一對應關系,卷積編碼的輸入確定了,再結合生成多項式計算得到的兩位輸出值。這一欄的內(nèi)容與表1中“(2,1,4)卷積輸出”的內(nèi)容是相同的?!安煌S特比輸入情況下的本地漢明距離”一欄中是用兩個“/”隔開的三個數(shù)字,其中第一個數(shù)字表明是本地漢明距離,它是維特比輸入與卷積輸出之間不同對應位的個數(shù),第二個數(shù)字是本地漢明距離經(jīng)過交叉變換后的值(適用于DSP處理器的指令是取大保留的情況),第三個數(shù)字是經(jīng)過交叉變換后的本地漢明距離再經(jīng)過對稱變換后的值。例如,狀態(tài)轉移是“1->8”,其卷積輸出為00,那么對于00的維特比輸入,其漢明距離是0;對維特比輸入是01的漢明距離是1;對維特比輸入是10的漢明距離是1;對維特比輸入是11的漢明距離是2。由于本實施例所采用的DSP處理器的加比選指令是取大保留,那么需先對上述所有的漢明距離進行交叉變換,獲得變換后的本地漢明距離是2,1,1,0;再將經(jīng)過交叉變換后的本地漢明距離進行對稱變換,得到本地漢明距離是2,0,0,-2。
表3是維特比(3,1,4)的本地漢明距離及變換。
表3維特比(3,1,4)的本地漢明距離


由于n0=3,所以維特比譯碼的輸入有2n0=8種,即000,001,010,011,100,101,110和111。0->0,0->8……15->15表明狀態(tài)轉移的情況,由于L=5,k0=1,所以共有2k0*L=32種狀態(tài)轉移情況。卷積輸出是指在某狀態(tài)轉移的情況下,由于狀態(tài)轉移與卷積編碼的一位輸入有一一對應關系,卷積編碼的輸入確定了,再結合生成多項式計算得到的三位輸出值。這一欄的內(nèi)容與表1中“(3,1,4)卷積輸出”的內(nèi)容是相同的?!安煌S特比輸入情況下的本地漢明距離”一欄中的內(nèi)容是用兩個“/”隔開的三個數(shù)字,其中第一個數(shù)字表明是本地漢明距離,它是維特比輸入與卷積輸出之間不同對應位的個數(shù),第二個數(shù)字是本地漢明距離經(jīng)過交叉變換后的值(適用于DSP處理器的指令是取大保留的情況),第三個數(shù)字是經(jīng)過交叉變換后的本地漢明距離再經(jīng)過對稱變換后的值。例如,當狀態(tài)轉移是“1->8”時,其卷積輸出為000,那么對于000的維特比輸入,其漢明距離是0;對維特比輸入是001的漢明距離是1;對維特比輸入是010的漢明距離是1;對維特比輸入是011的漢明距離是2;對維特比輸入是100的漢明距離是1;對維特比輸入是101的漢明距離是2;對維特比輸入是110的漢明距離是2;對維特比輸入是111的漢明距離是3。由于本實施例所采用的DSP處理器的加比選指令是取大保留,那么需先對上述所有的漢明距離進行交叉變換,獲得變換后的本地漢明距離是3,2,2,1,2,1,1,0;再將經(jīng)過交叉變換后的本地漢明距離進行對稱變換,得到本地漢明距離是2,1,1,-1,1,-1,-1,-2。
本地漢明距離經(jīng)過兩次變換后,得到了種類最少的對稱的本地漢明距離,有些維特比算法由于其本身的特殊性,本地漢明距離的種類會少于2L-3種。種類越少,該發(fā)明在時間開銷上的優(yōu)越性越明顯。
在上述變換的基礎上抽象出表4和表5,表明轉換因子T與維特比子序列輸入(SDi)的關系,并據(jù)此獲得轉換因子T。轉換因子T是抽象出來的對應于某一維特比輸入子序列的數(shù)量已經(jīng)減少的本地漢明距離的集合,把轉換因子T作為進行加比選運算的參數(shù),可以節(jié)省運算時間。
T與維特比子序列輸入(SDi)的關系可以用數(shù)學邏輯的方法(如布爾運算)獲得,也可以用枚舉的方法獲得。兩種方法所用的時間開銷基本相當,但前者空間開銷小,后者思路清晰,易擴展。
由表2可以看出,維特比(2,1,4)經(jīng)過變換后的本地漢明距離有三種,即2,0,-2,但是對應于某一確定的輸入子序列來說,只需用兩個值0和2就可以完成32個計算,這就是轉換因子T。這是因為在前四個區(qū)內(nèi),I區(qū)和II區(qū)是對稱關系,III區(qū)與IV區(qū)是對稱關系,而I區(qū)和III區(qū)內(nèi)容相同,II區(qū)與IV區(qū)內(nèi)容相同,所以前四個區(qū)可以共用一個轉換因子T0;同樣,后四個區(qū)可以共用另一個轉換因子T1。從表4所示的維特比(2,1,4)的轉換因子T與子序列輸入的關系中可以得到維特比(2,1,4)的兩個轉換因子T0和T1。
表4 維特比(2,1,4)的T與子序列輸入(SDi)的關系

維特比(2,1,4)的轉換因子T與輸入的關系是T0=(SD0-SD1)×(-2);T1=(SD0 XOR1-SD1)×2。
同樣,由表3可以看出,維特比(3,1,4)變換后的本地漢明距離有四種,即2,1,-1,-2,但是對應某一確定的輸入子序列,有一個固定的四元組合就可以完成32個計算,這就是4個轉換因子T0、T1、T2和T3。這是因為I區(qū)和IV區(qū)的內(nèi)容相同,可以共用一個轉換因子T3,;II區(qū)與V區(qū)的內(nèi)容相同,可以共用一個轉換因子T2;III區(qū)與VIII區(qū)的內(nèi)容相同,可以共用一個轉換因子T1;IV區(qū)與VII區(qū)的內(nèi)容相同,可以共用一個轉換因子T0。從表5所示的維特比(3,1,4)的轉換因子T與子序列輸入的關系中可以得到維特比(3,1,4)的四個轉換因子T0,T1,T2和T3。
表5維特比(3,1,4)的T與子序列輸入(SDi)的關系


用枚舉的方法即可以得到4個轉換因子T0、T1、T2和T3。
對于維特比(6,1,4)的情況,它與維特比(3,1,4)相同,所以同樣需要4個轉換因子完成32個計算。
在獲得了轉換因子后,用轉換因子代替本地漢明距離進行加比選運算,即將到達某一狀態(tài)的兩個前態(tài)的累積度量分別加或減轉換因子獲得兩個可選值,當然一個前態(tài)的累積度量與轉換因子相加,那么另一個前態(tài)的累積度量就與轉換因子相減;然后比較上述兩個值的大小;選擇其中較小的值作為下一階段該狀態(tài)的累積度量。這一步可以用DSP處理器的加比選指令完成,如果DSP處理器沒有類似的指令,也可以用基本指令組合完成此功能。
以維特比(2,1,4)為例,當輸入子序列為01時,經(jīng)計算得T0=2,T1=0。假設某一階段w對應的16個狀態(tài)的累積度量為ma0、ma1,……ma15,選擇的DSP處理器的加比選指令是取大保留,那么階段w+1對應的16個狀態(tài)的累積度量可由下面的公式得到ma0’=max(ma0+T0,ma1-T0);ma8’=max(ma0-T0,ma1+T0);完成第I區(qū)的計算ma1’=max(ma2-T0,ma3+T0);ma9’=max(ma2+T0,ma3-T0);完成第II區(qū)的計算ma2’=max(ma4+T0,ma5-T0);ma10’=max(ma4-T0,ma5+T0);完成第III區(qū)的計算ma3’=max(ma6-T0,ma7+T0);ma11’=max(ma6+T0,ma7-T0);完成第IV區(qū)的計算ma4’=max(mag+T1,ma9-T1);ma12’=max(ma8-T1,ma9+T1);完成第V區(qū)的計算ma5’=max(ma10-T1,ma11+T1);ma13’=max(ma10+T1,ma11-T1);完成第VI區(qū)的計算ma6’=max(ma12+T1,ma13-T1);
ma14’=max(ma12-T1,ma13+T1);完成第VII區(qū)的計算ma7’=max(ma14-T1,ma15+T1);ma15’=max(ma14+T1,ma15-T1);完成第VIII區(qū)的計算在具體的編程中,可以通過有效選用數(shù)據(jù)尋址方式及合理安排數(shù)據(jù)存儲區(qū)來有效快捷實現(xiàn)上述加比選運算。
權利要求
1.一種維特比硬判決度量更新方法,其特征在于,包括以下步驟一、計算所有2L個狀態(tài)轉移在2n0種維特比輸入下的本地漢明距離,其中L是編碼器的狀態(tài)寄存器的個數(shù)加1,n0是維特比輸入子序列的長度;二、不改變所有本地漢明距離的相互關系,把所有本地漢明距離按照以0為中心的對稱形式進行變換;三、計算轉換后的本地漢明距離與維特比輸入之間的關系,獲得最多2L-3個轉換因子;四、用轉換因子代替本地漢明距離進行加比選運算,即將到達某一狀態(tài)的兩個前態(tài)的累積度量分別加或減轉換因子,獲得兩個可選值;比較上述兩個值的大?。贿x擇其中較小的值作為下一階段該狀態(tài)的累積度量。
2.根據(jù)權利要求1所述的維特比硬判決度量更新方法,其特征在于,所述步驟一中的本地漢明距離是根據(jù)卷積碼狀態(tài)轉移關系和生成多項式計算所得;(2,1,4)卷積碼輸出碼c(2k)c(2k+1)的生成多項式是c(2k)=u’(k)+u’(k-2)+u’(k-4);c(2k+1)=u’(k)+u’(k-1)+u’(k-3)+u’(k-4);(3,1,4)卷積碼輸出碼c(3k)c(3k+1)c(3k+2)的生成多項式是c(3k)=u’(k)+u’(k-1)+u’(k-3)+u’(k-4);c(3k+1)=u’(k)+u’(k-2)+u’(k-4);c(3k+2)=u’(k)+u’(k-1)+u’(k-2)+u’(k-3)+u’(k-4);(6,1,4)卷積碼輸出碼c(6k)c(6k+1)c(6k+2)c(6k+3)c(6k+4)c(6k+5)的生成多項式是c(6k)=c(6k+3)=u’(k)+u’(k-1)+u’(k-3)+u’(k-4);c(6k+1)=c(6k+4)=u’(k)+u’(k-2)+u’(k-4);c(6k+2)=c(6k+5)=u’(k)+u’(k-1)+u’(k-2)+u’(k-3)+u’(k-4);其中,k表示卷積輸入比特的序號,k=0、1、2、……;“+”代表模2加運算。
3.根據(jù)權利要求1所述的維特比硬判決度量更新方法,其特征在于,所述步驟一的本地漢明距離等于維特比輸入與卷積輸出之間不同對應位的個數(shù)。
4.根據(jù)權利要求1、2或3所述的維特比硬判決度量更新方法,其特征在于,在所述步驟二之前還包括,如果DSP處理器的加比選指令是取大保留,則將所有的本地漢明距離進行交叉變換,即把最大值變?yōu)樽钚≈?,最小值變?yōu)樽畲笾?,次大值變?yōu)榇涡≈?,次小值變?yōu)榇未笾档牟襟E。
5.根據(jù)權利要求1、2或3所述的維特比硬判決度量更新方法,其特征在于,所述步驟三中的轉換因子可以用數(shù)學邏輯的方法(如布爾運算)獲得,也可以用枚舉的方法獲得。
全文摘要
本發(fā)明提供一種維特比硬判決度量更新方法,先計算所有文檔編號H03M13/41GK1479451SQ0213681
公開日2004年3月3日 申請日期2002年8月31日 優(yōu)先權日2002年8月31日
發(fā)明者王清理, 尹冬元, 王磊 申請人:深圳市中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乐东| 唐河县| 洛南县| 广平县| 当雄县| 康马县| 桦川县| 炎陵县| 三穗县| 山阳县| 大英县| 团风县| 阜新市| 呼和浩特市| 随州市| 扬州市| 洛隆县| 澄迈县| 汽车| 隆林| 静安区| 榆树市| 乌审旗| 台山市| 新蔡县| 贺州市| 开化县| 南江县| 邵阳市| 图们市| 金寨县| 台东市| 雷山县| 米脂县| 江陵县| 应城市| 长春市| 开江县| 北宁市| 富蕴县| 衢州市|