專利名稱:用于Turbo碼譯碼器中減少存儲資源的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種應(yīng)用于通信系統(tǒng)或者無線通信系統(tǒng)的,特別是碼分多址(Code-Division Multiple Access,簡稱CDMA)系統(tǒng)中節(jié)省Turbo碼譯碼器存儲資源的方法及裝置。
背景技術(shù):
信道編、解碼技術(shù)在整個移動通信系統(tǒng)中具有相對獨立的地位,是其關(guān)鍵技術(shù)之一,決定著移動通信系統(tǒng)的性能。信道編、解碼主要是降低信號傳播功率和解決信號在無線傳播環(huán)境中不可避免的衰落問題。編、解碼技術(shù)結(jié)合交織技術(shù)的使用可以降低誤碼率性能,與無編碼情況相比,傳統(tǒng)的卷積碼可以將誤碼率降低兩個數(shù)量級達到10-3~10-4,而Turbo碼可以將誤碼率進一步降低到10-6,逼近香農(nóng)極限。此外,Turbo碼還具有編、解碼實現(xiàn)較為簡單等優(yōu)點。
由于Turbo碼的一系列優(yōu)點,它已經(jīng)在各個移動通信標(biāo)準(zhǔn)中得到了很大的應(yīng)用,第三代移動通信標(biāo)準(zhǔn)的cdma2000、WCDMA(Wideband Code-DivisionMultiple Access,寬帶碼分多址)和時分同步碼分多址(Time DivisionSynchronous Code-Division Multiple Access,簡稱TD-SCDMA)系統(tǒng)中都將Turbo碼作為信道編碼方案之一,用于高數(shù)據(jù)速率(32kbps以上)、高業(yè)務(wù)質(zhì)量的物理鏈路。
Turbo碼的原理是基于對傳統(tǒng)級聯(lián)碼的算法和結(jié)構(gòu)的修正,內(nèi)交織器的引入使得迭代解碼的正反饋得到了很好的消除。Turbo碼編碼器由兩個遞歸系統(tǒng)卷積碼(recursive systematic convolutional code,簡稱RSC碼)、內(nèi)交織器和刪除器組成。如圖1所示,為cdma2000系統(tǒng)中的Turbo碼編碼器的結(jié)構(gòu),根據(jù)符號刪除器打孔(puncture)形式的不同,該Turbo碼的編碼碼率可以在1/6到1/2之間變化。從譯碼復(fù)雜度和譯碼性能兩方面綜合考慮,Turbo碼一般采用迭代形式的最大后驗概率(maximum a posteriori,簡稱MAP)譯碼算法進行譯碼。由于MAP算法的運算復(fù)雜度較高,近來又衍生出了兩類簡化的MAP算法,分別為Log-MAP算法和Max-Log-MAP算法。圖2給出了經(jīng)典的Turbo碼迭代譯碼器結(jié)構(gòu)圖。Turbo碼譯碼器由兩個基于MAP算法的軟輸入、軟輸出譯碼器(soft-input soft-output decoder,簡稱SISO譯碼器)、交織器和去交織器構(gòu)成,經(jīng)對輸入信號交替譯碼、軟輸出多次迭代譯碼、過零硬判決后得到譯碼輸出。
Turbo碼譯碼器實現(xiàn)的一個難點在于它需要消耗大量的存儲單元。以WCDMA系統(tǒng)Turbo碼為例,它需要支持的最大幀長為5114,同時由于WCDMA系統(tǒng)Turbo碼的碼率為1/3,再加上12個尾比特,因此Turbo碼譯碼器的輸入數(shù)據(jù)個數(shù)為(5114×3+12)。假設(shè)譯碼器的輸入信號為N比特(通常需要6比特),則譯碼器輸入共有(5114×3+12)×N=15354×N比特;同時假設(shè)譯碼器內(nèi)部兩個軟輸入/軟輸出譯碼器(SISO譯碼器)產(chǎn)生的外附信息(extrinsic information,Zik)為M比特(通常需要10比特),則外附信息共有5114×2×M=10288×M比特。因此如何在盡可能不降低譯碼器性能的情況下,減少輸入比特和外附信息的位寬,將大大節(jié)省Turbo碼譯碼器的存儲資源消耗,減少專用集成電路(Application Specified Integrated Circuit,簡稱ASIC)的面積,降低成本。
Turbo碼譯碼器需要的存儲器資源主要用來存儲輸入數(shù)據(jù)和外附信息,很顯然可以采用線性壓擴的方法節(jié)省Turbo碼譯碼器的存儲資源消耗。但是如果采用線性壓縮的方法,信號幅度小的值將被進一步壓縮為0,仿真結(jié)果表明這將對Turbo碼譯碼器的性能產(chǎn)生較大的劣化。
故可采用非均勻壓擴的方法節(jié)省Turbo碼譯碼器的存儲資源消耗,目前在語音編碼系統(tǒng)中使用較為普遍的非均勻壓縮的方法包括μ率非均勻壓縮算法和A率非均勻壓縮算法所述的μ率非均勻壓縮算法公式如下所示y=ymax×loge[1+μ(|x|/xmax)]loge(1+μ)sgn(x)]]>sgn(x)=+1,x≥0-1,x<0]]>其中,μ是一正常數(shù),x和y分別代表輸入和輸出信號,xmax和ymax分別是輸入和輸出信號的最大值。
所述的A率非均勻壓縮算法公式如下所示y=ymax×A×(|x|/xmax)1+logeAsgn(x),0<|x|xmax≤1Aymax×1+loge[A(|x|/xmax)]1+logeAsgn(x),1A<|x|xmax<1]]>sgn(x)=+1,x≥0-1,x<0]]>其中,A是一正常數(shù),x和y分別代表輸入和輸出信號,xmax和ymax分別是輸入和輸出信號的最大值。
但上述兩種非均勻壓縮算法均為對數(shù)壓縮方法,由于Turbo碼譯碼器的輸入數(shù)據(jù)和SISO譯碼器產(chǎn)生的外附信息都是定點數(shù)據(jù),故在硬件實現(xiàn)上是相當(dāng)復(fù)雜,有一定難度的,故μ率/A率非均勻壓縮算法均不適用于Turbo碼譯碼器。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種用于Turbo碼譯碼器中減少存儲資源的方法及裝置,對Turbo碼譯碼器的輸入信號和外附信息進行非均勻壓擴,可以在基本不降低Turbo譯碼器性能的情況下,大大節(jié)省Turbo碼譯碼器的存儲資源消耗。
為達上述目的,本發(fā)明提供一種用于Turbo碼譯碼器中減少存儲資源的方法,包含對輸入信號進行判斷其屬于哪段分段函數(shù)的比較步驟;對分段函數(shù)參數(shù)數(shù)據(jù)庫進行尋址,得到分段函數(shù)的具體參數(shù)的步驟;對分段函數(shù)進行具體運算,產(chǎn)生非均勻壓縮后的數(shù)據(jù)的步驟。
對應(yīng)的用于Turbo碼譯碼器中減少存儲資源的裝置,包括對輸入信號進行判斷其屬于哪段分段函數(shù)的比較器;在其中尋址以得到分段函數(shù)的具體參數(shù)的分段函數(shù)數(shù)據(jù)庫;對分段函數(shù)進行具體運算,產(chǎn)生非均勻壓縮后的數(shù)據(jù)的計算單元。
本發(fā)明提供的用于Turbo碼譯碼器中減少存儲資源的方法,采用非均勻壓縮算法對Turbo碼譯碼器的輸入信號和外附信息進行非均勻壓縮即對信號在幅度小的區(qū)域內(nèi)增加量化級數(shù),保持?jǐn)?shù)據(jù)精度,對信號在幅度大的區(qū)域減少量化級數(shù),節(jié)省數(shù)據(jù)存儲寬度,在保證Turbo碼譯碼器的譯碼性能的情況下,節(jié)省Turbo碼譯碼器的存儲資源。
圖1為背景技術(shù)中cdma2000系統(tǒng)的Turbo碼編碼器;圖2為背景技術(shù)中Turbo碼迭代譯碼器;圖3為本發(fā)明提供的用于Turbo碼譯碼器中減少存儲資源的方法的示意圖;圖4為本發(fā)明提供的用于Turbo碼譯碼器中減少存儲資源的裝置的示意圖;圖5為采用不同的壓縮方案時,幀長5114的WCDMA系統(tǒng)Turbo碼譯碼器的誤碼率曲線;圖6為采用不同的壓縮方案時,幀長5114的WCDMA系統(tǒng)Turbo碼譯碼器的誤幀率曲線。
具體實施例方式
以下通過圖3~圖6,結(jié)合WCDMA系統(tǒng)的Turbo碼,說明本發(fā)明的一個具體實施例,以使進一步了解本發(fā)明的發(fā)明內(nèi)容。
由于采用的WCDMA系統(tǒng)Turbo碼譯碼器的輸入信號的數(shù)據(jù)位寬為6比特,軟輸入/軟輸出譯碼器(SISO譯碼器)產(chǎn)生的外附信息的數(shù)據(jù)位寬為10比特,故該譯碼器所需要的存儲單元為(5114×3+12)×6+5114×2×10=194404比特。
如圖3所示,本實施例的具體步驟如下步驟1對Turbo碼譯碼器的輸入信號,以及軟輸入/軟輸出譯碼器產(chǎn)生的外附信息進行非均勻壓縮,減少數(shù)據(jù)的位寬比特數(shù)所述的非均勻壓縮算法為對需要進行非均勻壓縮的數(shù)據(jù)信號根據(jù)幅度的大小進行分段;對于幅度較小的數(shù)據(jù)信號,保持輸入信號不變;對于幅度依次增大的信號,采用斜率依次遞減,且斜率均小于1的線性函數(shù)進行分段線性壓縮;對所述的Turbo碼譯碼器的輸入信號采用如下的非均勻壓縮算法,將原來6比特的數(shù)據(jù)位寬壓縮為4比特
y=x/8+216≤x≤31x/4+18≤x≤15x/22≤x≤7x-1≤x≤1x/2-7≤x≤-2x/4-1-15≤x≤-8x/8-2-32≤x≤-16;]]>對所述的SISO譯碼器產(chǎn)生的外附信息采用如下的非均勻壓縮算法,將原來10比特的數(shù)據(jù)位寬壓縮為6比特y=(x-163)/64+25164≤x≤511(x-67)/16+1968≤x≤163(x-19)/8+1320≤x≤67(x-7)/2+78≤x≤19x-8≤x≤7(x+8)/2-8-20≤x≤-7(x+20)/8-14-68≤x≤-21(x+68)/16-20-164≤x≤-69(x+164)/64-26-512≤x≤-16;]]>步驟2將經(jīng)過非均勻壓縮的數(shù)據(jù)存入存儲器(Memory)中,可節(jié)省存儲資源;采用上述的非均勻壓縮算法分別對Turbo碼譯碼器的輸入信號和SISO譯碼器產(chǎn)生的外附信息進行壓縮后,該Turbo碼譯碼器所需要的存儲單元共為(5114×3+12)×4+5114×2×6=122784比特;與未壓縮時相比,節(jié)省了約37%的存儲資源。
步驟3應(yīng)用與步驟1中的非均勻壓縮算法對應(yīng)的非均勻解壓縮算法,對從存儲器中讀出的數(shù)據(jù)進行解壓縮,恢復(fù)原始信號所包含的信息;所述的非均勻解壓縮算法與步驟1中所述的非均勻壓縮算法互為逆函數(shù)關(guān)系;對所述的Turbo碼譯碼器的輸入信號采用如下的非均勻解壓縮算法,將4比特的數(shù)據(jù)位寬解壓縮為6比特
x=(y-2)×84≤y≤5(y-1)×43≤y≤4y×21≤y≤2y-1≤y≤1y×2-3≤y≤-2(y+1)×4-4≤y≤-3(y+2)×8-5≤y≤-6;]]>對所述的SISO譯碼器產(chǎn)生的外附信息采用如下的非均勻解壓縮算法,將6比特的數(shù)據(jù)位寬解壓縮為10比特x=511y=31(y-25)×64+16325≤y≤30(y-19)×16+6719≤y≤24(y-13)×8+1913≤y≤18(y-7)×2+77≤y≤12y-8≤y≤6(y+8)×2-8-14≤y≤-9(y+14)×8-20-20≤y≤-15(y+20)×16-68-26≤y≤-21(y+26)×64-164-31≤x≤-27-512y=-32;]]>步驟4Turbo碼譯碼器用步驟3中產(chǎn)生的非均勻解壓縮后的數(shù)據(jù)進行譯碼運算。
圖4為本發(fā)明提供的用于Turbo碼譯碼器中減少存儲資源的裝置的示意圖。如圖所示,上述非均勻壓縮算法的實現(xiàn)結(jié)構(gòu)包括三部分對輸入信號進行判斷其屬于哪段分段函數(shù)的比較器;在其中尋址以得到分段函數(shù)的具體參數(shù)的分段函數(shù)數(shù)據(jù)庫;對分段函數(shù)進行具體運算,產(chǎn)生非均勻壓縮后的數(shù)據(jù)的計算單元。實現(xiàn)非均勻壓縮的具體步驟如下步驟1輸入信號通過比較器,以決定該輸入信號屬于哪段分段函數(shù);步驟2根據(jù)步驟1得到的結(jié)果,對分段函數(shù)參數(shù)表進行尋址,得到分段函數(shù)的具體參數(shù),包括Ai、Bi和ki;步驟3根據(jù)步驟2產(chǎn)生的參數(shù),完成分段函數(shù)的具體運算,產(chǎn)生非均勻壓縮后的數(shù)據(jù)。
請參見圖5和圖6,分別給出了幀長為5114時,采用非均勻壓縮與不采用非均勻壓縮時的譯碼器誤的碼率(BER)曲線和誤幀率(BLER)曲線。
從圖中可以看出,如果不采用非均勻壓縮的話,Turbo碼譯碼器直接用4比特輸入,譯碼性能大約會劣化0.2dB;而直接采用6比特來存儲SISO譯碼器輸出的外附信息,譯碼器在比特信噪比(Eb/No)增大到某個值后,由于外附信息飽和,譯碼器性能將出現(xiàn)“平板效應(yīng)”(error floor)。
而如果采用本發(fā)明的方法,對SISO譯碼器輸出的外附信息采用10比特壓縮為6比特的非均勻壓縮,基本對譯碼性能沒有損失;對Turbo碼譯碼器輸入信號采用6比特壓縮為4比特的非均勻壓縮,大約有0.06dB的性能劣化。
由此可見,仿真結(jié)果表明,本發(fā)明采用的非均勻壓縮的方法對Turbo碼譯碼器的輸入信號和軟輸入/軟輸出譯碼器產(chǎn)生的外附信息進行壓擴。可以在基本不降低譯碼器性能的情況下,大大節(jié)省Turbo碼譯碼器的存儲資源消耗。
權(quán)利要求
1.一種用于Turbo碼譯碼器中減少存儲資源的方法,特征在于,包括對輸入信號進行判斷其屬于哪段分段函數(shù)的比較步驟;對分段函數(shù)參數(shù)數(shù)據(jù)庫進行尋址,得到分段函數(shù)的具體參數(shù)的步驟;對分段函數(shù)進行具體運算,產(chǎn)生非均勻壓縮后的數(shù)據(jù)的步驟。
2.如權(quán)利要求1所述的用于Turbo碼譯碼器中減少存儲資源的方法,其特征在于,所述分段函數(shù)的具體參數(shù)包括Ai、Bi和ki。
3.如權(quán)利要求2所述的用于Turbo碼譯碼器中減少存儲資源的方法,其特征在于,所述分段函數(shù)的算法如下y=(x+A1)/k1+B1m1≤x≤n1···(x+Ai)/ki+Bimi≤x≤ni···(x+AN)kN+BNmN≤x≤nN.]]>
4.如權(quán)利要求3所述的用于Turbo碼譯碼器中減少存儲資源的方法,其特征在于,ki的取值為2i的形式。
5.如權(quán)利要求3所述的用于Turbo碼譯碼器中減少存儲資源的方法,其特征在于,調(diào)整參數(shù)Ai和Bi的值,保持各分段函數(shù)接口處的值一致。
6.如權(quán)利要求3所述的用于Turbo碼譯碼器中減少存儲資源的方法,其特征在于,對應(yīng)非均勻壓縮算法的非均勻解壓縮算法與非均勻壓縮算法互為逆函數(shù)關(guān)系。
7.一種用于Turbo碼譯碼器中減少存儲資源的裝置,特征在于,包括對輸入信號進行判斷其屬于哪段分段函數(shù)的比較器;在其中尋址以得到分段函數(shù)的具體參數(shù)的分段函數(shù)數(shù)據(jù)庫;對分段函數(shù)進行具體運算,產(chǎn)生非均勻壓縮后的數(shù)據(jù)的計算單元。
8.如權(quán)利要求7所述的用于Turbo碼譯碼器中減少存儲資源的裝置,其特征在于,所述分段函數(shù)的算法如下y=(x+A1)/k1+B1m1≤x≤n1···(x+Ai)/ki+Bimi≤x≤ni···(x+AN)kN+BNmN≤x≤nN.]]>
9.如權(quán)利要求8所述的用于Turbo碼譯碼器中減少存儲資源的裝置,其特征在于,ki的取值為2i的形式。
10.如權(quán)利要求8所述的用于Turbo碼譯碼器中減少存儲資源的裝置,其特征在于,調(diào)整參數(shù)Ai和Bi的值,保持各分段函數(shù)接口處的值一致。
全文摘要
本發(fā)明提供一種用于Turbo碼譯碼器中減少存儲資源的方法及裝置,方法包括對輸入信號進行判斷其屬于哪段分段函數(shù)的比較步驟;對分段函數(shù)參數(shù)數(shù)據(jù)庫進行尋址,得到分段函數(shù)的具體參數(shù)的步驟;對分段函數(shù)進行具體運算,產(chǎn)生非均勻壓縮后的數(shù)據(jù)的步驟。裝置包括對輸入信號進行判斷其屬于哪段分段函數(shù)的比較器;在其中尋址以得到分段函數(shù)的具體參數(shù)的分段函數(shù)數(shù)據(jù)庫;對分段函數(shù)進行具體運算,產(chǎn)生非均勻壓縮后的數(shù)據(jù)的計算單元。本發(fā)明方法對Turbo碼譯碼器的輸入信號和外附信息進行非均勻壓擴,可以在基本不降低Turbo譯碼器性能的情況下,大大節(jié)省Turbo碼譯碼器的存儲資源消耗。
文檔編號H03M13/00GK1777045SQ200510111150
公開日2006年5月24日 申請日期2005年12月5日 優(yōu)先權(quán)日2005年12月5日
發(fā)明者單鳴 申請人:凱明信息科技股份有限公司