專利名稱:ZigZag碼譯碼方法及其裝置的制作方法
技術領域:
本發(fā)明涉及通信領域,特別涉及ZigZag碼i奪碼技術。
技術背景信道編解碼技術在整個移動通信系統(tǒng)中具有相對獨立的地位,是其不可 或缺的關鍵技術之一,決定著移動通信系統(tǒng)的性能。信道編解碼主要是降低 信號傳播功率和解決信號在無線傳播環(huán)境中不可避免的衰落問題。Turbo碼最早是由韓國和北美的碼分多址2000 (Code Division Multiple Access2000,簡稱"CDMA2000")標準提出的,用于第三代移動通信系統(tǒng) 的信道編碼方案,經(jīng)研究發(fā)現(xiàn)有較好的性能后,寬帶碼分多址(Wideband Code Division Multiple Access,簡稱"WCDMA")等其它標準也紛紛轉而采納。 雖然Turbo碼具有優(yōu)異的糾錯性能,適用于對譯碼時延要求不高的高速率的 數(shù)據(jù)傳輸業(yè)務,并可降低對發(fā)射功率的要求、增加系統(tǒng)容量,但是Turbo碼 具有一定的復雜度。因此,為了減少Turbo碼的譯碼復雜度,引入了 ZigZag 碼的編譯碼方案。ZigZag碼具有比Turbo碼低的譯碼復雜度,而譯碼性能相 差不多,特別是在高編碼速率時性能差異大約是O.ldB。下面對ZigZag碼進 行具體地介紹。ZigZag碼的編碼器結構如圖1所示。ZigZag碼的輸入是一個由信息比特 構成的I行J列的信息矩陣,編碼的結果是在信息比特的每一行生成一個校 驗比特,校驗比特的取得是對其前面所有的信息比特進行模2和得到的,生 成的碼字圖解示意圖如圖2所示。圖中的白色節(jié)點代表信息比特,黑色節(jié)點 代表了編碼生成的校驗比特,其中的[^' -1), 4',1), 4,2),.. .,4, J),/K0]部分稱為碼字的一段。這樣,每一個分量編碼器的輸出都會得到一個校驗比特向量。其中,當J取值不大時,ZigZag碼編碼可以生成一個稀疏的校驗矩陣。由于ZigZag碼的編碼結構同時具有Turbo碼和LDPC碼的結構特點,因 此它有多種譯碼算法如類似于Turbo碼譯碼算法的APP算法和MLM算法; 或類似于LDPC碼譯碼算法的sum-product算法。通過比較采用Turbo譯碼思想的ZigZag譯碼算法,和采用LDPC譯碼思 想的ZigZag譯碼算法各自的性能,可以發(fā)現(xiàn),基于Turbo譯碼思想的譯碼算 法Log-MAP的最大值算法(Max-Log-MAP,簡稱"MLM"),能夠很好 地權衡對硬件復雜度要求和處理時間的關系,是一種有效算法,其中,MAP 為最大后概率(Maximum A Posteriori,簡稱"MAP")。下面對基于ZigZag 碼的MLM譯碼算法進行介紹。并行級聯(lián)ZigZag碼迭代譯碼方案的譯碼器結構框如圖3所示,在該迭代 譯碼的結構下,分量碼譯碼是除了交織器模塊以外的一個最關鍵的技術點。 具體地說,采用MLM譯碼算法的分量碼譯碼的關鍵算法是在當前譯碼信息 比特所在行的校驗比特的前向和后向遞推值的基礎上,計算出W(')函數(shù)(即 通過圖3中的ZigZag解碼模塊得到),從而得到當前比特的譯碼軟輸出。譯 碼軟輸出即為當前比特的軟判決譯碼。軟判決譯碼與硬判決譯碼的不同之處 在于,在硬判決譯碼中,得到的譯碼比特不是0,就是l,這樣就損失了接收 信號中所含的有關信道差錯統(tǒng)計特性的信息。而在軟判決譯碼中,得到的譯 碼比特還包含了為O或為1的概率信息。具體的譯碼流程如圖4所示,是對ZigZag碼的i段中的第j個信息比特 d(i, j)進行譯碼判決的過程。首先接收碼字信息矩陣,讀取i段的比特序 列,包括信息比特和校驗比特p(i),以及讀取該i段除d (i, j)以外的信息 比特;之后進入譯碼的核心步驟在步驟401中,根據(jù)初始化前向遞推值F[p(0)]計算W(.)函數(shù);在步驟402中,根據(jù)初始化后向遞推值B[p(I)]計算W( )函數(shù);在步驟403中,根據(jù)讀取的校驗比特p(i)和步驟401中計算的W(.)函 數(shù),計算前向遞推值F[p(i)];在步驟鄰4中,根據(jù)讀取的校驗比特p(i-l)和步驟402中計算的W(.) 函數(shù),計算后向遞推值B[p(i-l)];在步驟405中,根據(jù)步驟403計算得到的前向遞推值F[p(i)]、步驟404 計算得到的后向遞推值B[p(i-l)]、以及所讀取的i段除d(i, j)以外的信息比 特,計算W(.)函數(shù);在步驟406中,根據(jù)步驟405計算得到的W(.)函數(shù),以及所讀取的信 息比特d(i, j),計算譯碼比特d(i, j)軟輸出??梢钥闯?,步驟401、 402和步驟405中的W(')函數(shù)為比特的譯碼判決 提供重要的譯碼信息。但是,本發(fā)明的發(fā)明人發(fā)現(xiàn),雖然現(xiàn)有的MLM算法譯碼復雜度比較低, 易于工程實現(xiàn)。但是該算法是一種簡化算法,并不是最優(yōu)的接收技術。這是 因為,MLM譯碼算法釆用了最大值運算,在對當前單比特的譯碼時,只考 慮了與接收序列具有最大相關值的碼字序列對譯碼比特的貢獻(即步驟405 中的W(.)函數(shù)部分),而沒有其他可能的碼字序列對譯碼比特的貢獻,所 以會導致譯碼性能損失,而譯碼性能的損失會增加實際系統(tǒng)的誤碼率。發(fā)明內(nèi)容本發(fā)明實施方式要解決的主要技術問題是提供一種ZigZag碼譯碼方法 及其裝置,使得ZigZag碼譯碼性能得以有效提高。為解決上述技術問題,本發(fā)明的實施方式提供了一種ZigZag碼譯碼方 法,在對ZigZag碼中的任一段進行譯碼時,根據(jù)MLM譯碼算法,由該段中除當前待譯碼比特外的所有信息比特和該段的前、后校驗比特的遞推值計算w( )函數(shù),先對該w( )函數(shù)進行修正,修正后的w( )函數(shù)的取值為修正前的50%至100% ,再使用經(jīng)修正的W(.)函數(shù)對當前待-澤碼比特進行譯碼 得到譯碼軟輸出。本發(fā)明的實施方式還提供了一種ZigZag碼譯碼裝置,包含,W函數(shù)計 算單元,用于在對ZigZag碼中的任一段進行譯碼時,4艮據(jù)MLM譯碼算法, 由該段中除當前待譯碼比特外的所有信息比特和該段的前、后校驗比特的遞 推值計算W(.)函數(shù),還包含W函數(shù)修正單元,用于對W函數(shù)計算單元輸出的W(.)函數(shù)進行修正, 修正后的W(.)函數(shù)的取值為修正前的50%至100%;譯碼計算單元,用于使用經(jīng)W函數(shù)修正單元修正的W(.)函數(shù)對當前待 譯碼比特進行譯碼得到譯碼軟輸出。本發(fā)明實施方式與現(xiàn)有技術相比,主要區(qū)別及其效果在于因為對W( ■)函數(shù)進行了修正后再用于譯碼,因此修正時不僅考慮了具 有最大相關值的碼字序列,還考慮了除具有最大相關值的碼字序列外,其它 可能的碼字序列對譯碼比特的貢獻,經(jīng)仿真證明,有效地提高了 ZigZag碼的 譯碼性能。
圖1是現(xiàn)有技術中ZigZag碼的編碼器結構示意圖;圖2是現(xiàn)有技術中ZigZag碼生成的碼字圖解示意圖;圖3是現(xiàn)有技術中并行級聯(lián)ZigZag碼的迭代譯碼器的結構示意圖;圖4是現(xiàn)有技術中ZigZag碼分量碼的譯碼流程圖;圖5是根據(jù)本發(fā)明第一實施方式的ZigZag碼譯碼方法中MLM算法與現(xiàn)有技術中MLM算法的區(qū)別示意圖;圖6是根據(jù)本發(fā)明第 一 實施方式的ZigZag碼譯碼方法中相關的仿真曲線 示意圖;圖7是根據(jù)本發(fā)明第三實施方式的ZigZag碼譯碼裝置結構示意圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā) 明的實施方式作進一步地詳細描述。本發(fā)明的第一實施方式涉及一種ZigZag碼譯碼方法,在本實施方式中,其 譯碼的主要過程和現(xiàn)有技術中步驟401-405 —致,不同的地方是先對405中的 W(.)函數(shù)進行修正,再使用經(jīng)修正的W(.)函數(shù)對當前待譯碼比特進行譯碼得 到譯碼軟輸出。本實施方式中的MLM算法與現(xiàn)有技術中MLM算法的區(qū)別部分 如圖5所示。具體地說,在對ZigZag碼中的任一段進行譯碼時,根據(jù)MLM譯碼算法, 由該段中除當前待譯碼比特外的所有信息比特和該段的前、后校驗比特的遞推 值計算W(.)函數(shù)。計算到的該W(')函數(shù)即為圖4的步驟405中的W( )函數(shù)。 該W(.)函數(shù)的計算屬于現(xiàn)有技術范疇,與背景技術中的介紹一致,在此不再贅 述。在步驟510中,對步驟405中的W(')函數(shù)進行修正。在本步驟中,通過將 該W(.)函數(shù)乘以一個固定的修正因子,對該W( )函數(shù)進行修正,經(jīng)修正的 W(.)函數(shù)即為W( )x "。當然,在其他的實施方式中,也可以是除法,或者加法、減法運算,但是 總的效果是和本實施方式中乘以or的乘法運算一致,屬于等同的效果。接著,進入步驟520,用經(jīng)修正的W(.)函數(shù)對當前待譯碼比特進行澤碼,得到該比特的譯碼軟輸出。在現(xiàn)有技術中,每一個比特的譯碼軟輸出都要計算一次W(.)函數(shù)。本實施 方式與現(xiàn)有技術相比,在每一個比特的運算過程中增加一次乘法運算,采用本 實施方式的算法帶來的額外計算量比較低,易于實現(xiàn)。尤其當該修正因子a的值取為0.75時,只需在硬件電路實現(xiàn)時通過少數(shù)幾次移位和加法就可以實現(xiàn)乘0.75 的運算,便于實施。與現(xiàn)有技術中直接使用步驟405計算到的該W( O函數(shù)對當前待譯碼比特進 行譯碼,得到該比特的譯碼軟輸出的方案相比,本實施方式中的使用經(jīng)修正的 W( )函數(shù)對當前待譯碼比特進行譯碼,得到該比特的譯碼軟輸出的方案,可以 有效地提高接收性能。具體說明如下假定z^和zj;,;j分別是矩陣zez且4',y卜o、 ^z且4w)"的集合,那么MAP算法的軟輸入法軟輸出(Soft input Soft Output,簡稱"SISO")的譯碼軟 輸出為其中,Z是所有可能的碼字矩陣的集合,zeZ是其中的一個碼字;2是受噪 聲干擾以后的碼字矩陣的集合;zg是所有滿足zeZ且4,力-0的碼字矩陣的集 合;ZJ;,;j是所有滿足2eZ且4,力-i的碼字矩陣的集合。相應的MLM算法的軟輸出為由(1)式到(2)式的變換過程中,損失的譯碼信息可以由下面的簡單的式子可以說明:在(1 )式中,設對應于向量z e Z^j的值及對應于向量z e Zfj/的^」值可以分另!j簡單表示為,jc2+ , jc3+ ,…)和(x「, jc2_ , x3-,…),并且假設x卩=max^, x2+, x3+,…), x「 = max^—, , x3—,… ,那么上面(1)式可以寫為<formula>formula see original document page 10</formula>而(3)式中的(<-()即是譯碼算法軟輸出的表達式:<formula>formula see original document page 10</formula>)。(3)從MAP算法到MAX-Log-MAP算法變換丟失的譯碼信息 l。g~4^^~~^^(是和(4)式44力]=4,力+對)中的『(.)是有關的。所以本實施方式中將(4)式修正為44,_/)] = ^,力+"'『(')。由于修正后的W(.)函數(shù)不僅考慮到了具有最大相關值的碼字序列,還考慮 到了其它可能的碼字序列對譯碼比特的貢獻,通過使用修正后的W(')函數(shù)對當 前待譯碼比特進行譯碼,得到該比特的譯碼軟輸出,能夠有效地提高ZigZag碼的譯碼性能。修正因子的較佳值可以通過仿真的方法來獲取,具體地說,可以通過仿真結果是否滿足以下兩個條件,來判斷選取的修正因子是否為較佳值(1) 對于不同的調制方式和不同的編碼速率,采用該修正因子的修正算法 相對于原MLM算法是否具有最優(yōu)的修正增益;(2) 對于不同的調制方式和不同的編碼速率,該修正因子是否具有魯棒性 (robustness )。所謂魯棒性就是指系統(tǒng)的健壯性,就是指控制系統(tǒng)在一定(結構,大小)的參數(shù)攝動下,維持某些性能的特性,它是在異常和危險情況下系統(tǒng)生 存的關鍵。對于同時滿足上述這兩個條件的修正因子,可以認為該修正因子即 為較佳值。本發(fā)明實施方式的一個仿真結果如圖6所示,其中橫座標為每比特的接收 能量與噪聲功率譜密度的比值(Eb/No),縱座標為誤比特率(Bit Error Rate,簡 稱"BER")。不同的調制方式和不同的編碼速率會有不同的Eb/No, BER越小 修正增益越大。從圖6中可以看出,修正因子oc為0.8或0.75所對應數(shù)據(jù)點連 成的線位置較低,即在相同的Eb/No下,修正后(修正因子為0.8或0.75)的性 能仿真曲線所對應的BER最小,也就是說譯碼性能最好;在相同的BER要求下, 修正后(修正因子為0.8或0.75 )的性能仿真曲線所對應的Eb/No值最小,也就 是說對系統(tǒng)的功率要求最低。因此,當修正因子a取為0.8或0.75時,對于不 同的調制方式和不同的編碼速率,采用該修正因子的修正算法相對于原MLM算 法具有較優(yōu)的修正增益。因為對不同的Eb/No始終是修正因子取為0.8或0.75 時BER最小,所以對于不同的調制方式和不同的編碼速率,該修正因子具有魯 棒性。另外,值得一提的是,當修正因子取為0.75時,帶來的延時較小。這是因 為在硬件電路實現(xiàn)時通過少數(shù)幾次移位和加法就可以實現(xiàn)乘0.75的運算,而移 位和加法都是速度很快的運算,因此幾乎不會造成延時。本發(fā)明的第二實施方式涉及一種ZigZag碼譯碼方法,本實施方式與第一實 施方式大致相同,其區(qū)別在于,在第一實施方式中,通過將該W(.)函數(shù)乘以一 個固定的修正因子(該修正因子的值在0.5至1.0之間),對該W( )函數(shù)進行修 正;而在本實施方式中,通過將該W(.)函數(shù)乘以一個函數(shù)值范圍在0.5至1.0 之間的修正函數(shù),對該W(')函數(shù)進行修正。本發(fā)明的實施方式對修正函數(shù)的具 體形式?jīng)]有具體要求,只要函數(shù)值范圍在0.5至l.O之間即可,使得本發(fā)明的實 施方式可靈活實現(xiàn)。類似的,修正函數(shù)的較佳函數(shù)值范圍可以通過仿真的方法來荻取,根據(jù)仿 真結果,修正函數(shù)的函數(shù)值范圍是0.7至0.85,或者,可以更精確為0.75至0.8。本發(fā)明實施方式還提供一種計算機可讀的存儲介質,例如光盤磁盤等, 該介質上存儲的軟件在執(zhí)行時,其實現(xiàn)的步驟和上述方法的步驟一致。本發(fā)明的第三實施方式涉及一種ZigZag碼譯碼裝置,如圖7所示,包含W函數(shù)計算單元,用于在對ZigZag碼中的任一段進行譯碼時,根據(jù)MLM 譯碼算法,由該段中除當前待譯碼比特外的所有信息比特和該段的前、后校驗 比特的遞推值計算W( )函數(shù)。W函數(shù)修正單元,用于對該W函數(shù)計算單元輸出的W( )函數(shù)進行修正, 修正后的W(.)函數(shù)的取值為修正前的50 %至100% 。譯碼計算單元,用于使用經(jīng)該W函數(shù)修正單元修正的W(.)函數(shù)對當前待 譯碼比特進行譯碼,得到該比特的譯碼軟輸出。其中,該W函數(shù)修正單元通過對該W( )函數(shù)乘以一個固定的修正因子進 行W(.)函數(shù)的修正,該修正因子的值在0.5至l.O之間。根據(jù)仿真結果表明, 固定的修正因子的較佳值為0.8或0.75?;蛘撸揨igZag碼譯碼裝置還包含修正因子生成單元,用于根據(jù)修正函數(shù) 生成一個范圍在0.5至l.O之間的修正因子。該W函數(shù)修正單元通過對該W( )函數(shù)乘以該修正因子生成單元生成的修正因子進行w(.)函數(shù)的修正。根據(jù)仿真結果表明,該修正因子生成單元根據(jù)修正函數(shù)生成的修正因子的取值范圍可以是0.7至0.85,甚至,可以進一步精確到0.75至0.8。由于在本實施方式中,對W(')函數(shù)進行了修正后再用于譯碼,因此修正時 不僅考慮了具有最大相關值的碼字序列,還考慮了除具有最大相關值的碼字序 列外,其它可能的碼字序列對譯碼比特的貢獻,經(jīng)仿真證明,有效地提高了 ZigZag碼譯碼性能。綜上所述,在本發(fā)明的實施方式中,因為對W(.)函數(shù)進行了修正后再用于 譯碼,因此修正時不僅考慮了具有最大相關值的碼字序列,還考慮了除具有最 大相關值的碼字序列外,其它可能的碼字序列對譯碼比特的貢獻,經(jīng)仿真證明, 有效地提高了 ZigZag碼譯碼性。修正時可以簡單地對W( )函數(shù)乘一個修正因子,從而對譯碼復雜度只 有略微增加,相對于MLM譯碼算法,經(jīng)修正的譯碼算法帶來的額外計算量 比較低,易于實現(xiàn)。提出了修正因子的較佳取值范圍是0.5至1.0,便于實施。提出了修正因子的較佳值為0.8,對于不同的調制方式和不同的編碼速 率,采用該修正因子的修正算法相對于原MLM算法具有最優(yōu)的修正增益, 并且對于不同的調制方式和不同的編碼速率,該修正因子具有魯棒性。修正因子可以取0.75,在硬件電路實現(xiàn)時通過少數(shù)幾次移位和加法就可 以實現(xiàn)乘0.75的運算,而移位和加法都是速度很快的運算,幾乎不會造成延 時。雖然通過參照本發(fā)明的某些優(yōu)選實施方式,已經(jīng)對本發(fā)明進行了圖示和 描述,但本領域的普通技術人員應該明白,可以在形式上和細節(jié)上對其作各 種改變,例如通過軟件實現(xiàn)本發(fā)明的實施方式,又如以除一個修正因子的方 式代替乘一個修正因子的方式等,而不偏離本發(fā)明的精神和范圍。
權利要求
1.一種ZigZag碼譯碼方法,在對ZigZag碼中的任一段進行譯碼時,根據(jù)MLM譯碼算法,由該段中除當前待譯碼比特外的所有信息比特和該段的前、后校驗比特的遞推值計算W(·)函數(shù),其特征在于,先對該W(·)函數(shù)進行修正,修正后的W(·)函數(shù)的取值為修正前的50%至100%,再使用經(jīng)修正的W(·)函數(shù)對當前待譯碼比特進行譯碼得到譯碼軟輸出。
2. 根據(jù)權利要求1所述的ZigZag碼譯碼方法,其特征在于,通過對所 述W(.)函數(shù)乘以一個固定的修正因子進行所述修正,該修正因子的值在0.5 至1.0之間。
3. 根據(jù)權利要求2所述的ZigZag碼譯碼方法,其特征在于,所述固定 的修正因子為0.8或0.75。
4. 根據(jù)權利要求1所述的ZigZag碼譯碼方法,其特征在于,通過對所 述W( )函數(shù)乘以一個函數(shù)值范圍在0.5至1.0之間的修正函數(shù)進行所述修 正。
5. 根據(jù)權利要求4所述的ZigZag碼譯碼方法,其特征在于,所述修正 函數(shù)的函數(shù)值范圍是0.7至0.85。
6. 根據(jù)權利要求5所述的ZigZag碼譯碼方法,其特征在于,所述修正 函數(shù)的函數(shù)值范圍是0.75至0.8。
7. —種ZigZag碼譯碼裝置,包含,W函數(shù)計算單元,用于在對ZigZag 碼中的任一段進行譯碼時,根據(jù)MLM譯碼算法,由該段中除當前待譯碼比 特外的所有信息比特和該段的前、后校驗比特的遞推值計算W( )函數(shù),其 特征在于,還包含W函數(shù)修正單元,用于對所述W函數(shù)計算單元輸出的W( )函數(shù)進行 修正,修正后的W(.)函數(shù)的取值為修正前的50%至100%;譯碼計算單元,用于使用經(jīng)所述w函數(shù)修正單元修正的w(.)函數(shù)對 當前待譯碼比特進行譯碼得到譯碼軟輸出。
8. 根據(jù)權利要求7所述的ZigZag碼譯碼裝置,其特征在于,所述W 函數(shù)修正單元通過對所述W(.)函數(shù)乘以一個固定的修正因子進行所述修 正,該修正因子的值在0.5至1.0之間。
9. 根據(jù)權利要求8所述的ZigZag碼譯碼裝置,其特征在于,所述固定 的^資正因子為0.8或0.75。
10. 根據(jù)權利要求7所述的ZigZag碼譯碼裝置,其特征在于,還包含 修正因子生成單元,用于根據(jù)修正函數(shù)生成一個范圍在0.5至l.O之間的修 正因子;所述W函數(shù)修正單元通過對所述W(.)函數(shù)乘以所述修正因子生成單 元生成的修正因子進行所述修正。
11. 根據(jù)權利要求IO所述的ZigZag碼譯碼裝置,其特征在于,所述修 正因子生成單元根據(jù)修正函數(shù)生成的修正因子的取值范圍是0.75至0.8。
全文摘要
本發(fā)明涉及通信領域,公開了一種ZigZag碼譯碼方法及其裝置,使得ZigZag碼譯碼性能得以有效提高。本發(fā)明中,對MLM譯碼算法進行了改進,對根據(jù)MLM譯碼算法得到的W(·)函數(shù)先進行修正后再用于譯碼,修正時可以簡單地對W(·)函數(shù)乘一個修正因子。修正因子的較佳取值范圍是0.5至1.0,其中的較佳值為0.8。也可以使用0.75作為修正因子,從而在硬件處理時可以進行優(yōu)化,幾乎不會造成延時。
文檔編號H03M13/00GK101299613SQ200710103629
公開日2008年11月5日 申請日期2007年4月30日 優(yōu)先權日2007年4月30日
發(fā)明者任瑞香, 魏岳軍 申請人:華為技術有限公司