劉暢
(重慶郵電大學(xué)移動(dòng)通信技術(shù)重點(diǎn)實(shí)驗(yàn)室 重慶 400065)
基于多模芯片的TD-SCDMA系統(tǒng)Turbo碼內(nèi)交織器設(shè)計(jì)
劉暢
(重慶郵電大學(xué)移動(dòng)通信技術(shù)重點(diǎn)實(shí)驗(yàn)室 重慶 400065)
本文在多模基帶芯片(兼容LTE和TD-SCDMA系統(tǒng))Turbo譯碼器的硬件加速器設(shè)計(jì)背景下,介紹了TD-SC DMA系統(tǒng)中Turbo碼的碼內(nèi)交織器結(jié)構(gòu)以及算法設(shè)計(jì),針對硬件實(shí)現(xiàn)提出了具體的算法優(yōu)化設(shè)計(jì)方案,使算法的復(fù)雜度得到了進(jìn)一步降低,并且提高了時(shí)間效率,對整個(gè)TD-SCDMA系統(tǒng)有很大的實(shí)用價(jià)值。
TD-SCDMA;Turbo碼;交織器;數(shù)字信號處理
上世紀(jì)90年代Berrou等人在ICC會(huì)議上提出了一種采用重復(fù)迭代(Turbo)譯碼方式的并行級聯(lián)碼,該譯碼器采取了軟輸入/輸出的方式,具有接近香農(nóng)極限的優(yōu)良性能,從而受到移動(dòng)通信領(lǐng)域的廣泛重視,特別是在第三代移動(dòng)通信體制中,被廣泛采用。
在多模基帶芯片(兼容LTE與TD-SCDMA系統(tǒng))的設(shè)計(jì)中,Turbo譯碼器作為獨(dú)立的核通過硬件加速器實(shí)現(xiàn),LTE系統(tǒng)與TD-SCDMA系統(tǒng)復(fù)用Turbo譯碼器主體結(jié)構(gòu),并使用各自獨(dú)立的碼內(nèi)交織器進(jìn)行譯碼。因此,本文針對TD-SCDMA系統(tǒng)的Turbo碼內(nèi)交織器,本著減少硬件開銷和復(fù)雜度的角度出發(fā),整理出一套可行的算法優(yōu)化設(shè)計(jì)方案,易于硬件實(shí)現(xiàn)。
Turbo編碼器的結(jié)構(gòu)是一個(gè)并行級聯(lián)卷積碼(PCCC),包括一個(gè)2分支8狀態(tài)編碼器和一個(gè)Turbo碼內(nèi)交織器。其結(jié)構(gòu)圖如圖1所示。

圖1 碼率1/3的Turbo編碼器結(jié)構(gòu)
碼內(nèi)交織器作為Turbo編碼器的重要組成單元,在譯碼過程中實(shí)用頻率很高。因此,Turbo碼內(nèi)交織器的設(shè)計(jì)對整個(gè)Turbo譯碼器的性能起著至關(guān)重要的作用。
有別于LTE系統(tǒng)中的QPP碼內(nèi)交織器,TD-SCDMA系統(tǒng)中的碼內(nèi)交織器為傳統(tǒng)的行列交織器,串行處理數(shù)據(jù)。其作用是重置輸入序列的順序,減小相關(guān)性。TD-SCDMA系統(tǒng)中的Turbo碼內(nèi)交織器的處理流程如圖2所示。

圖2 Turbo交織器處理流程圖
Turbo碼內(nèi)交織器的輸入比特記為x1,x2,x3,…,xK,其中K是比特?cái)?shù)目,取值為40≤K≤5114。Turbo碼內(nèi)交織器的輸入比特與信道編碼的輸入比特之間的關(guān)系滿足xk=Oirk且K=Ki。輸入給Turbo碼內(nèi)交織器的比特序列按下列步驟寫入交織矩陣中:
(1)確定方形矩陣的行數(shù)R,使?jié)M足:

(2)確定行內(nèi)置換所需的質(zhì)數(shù)p,以及方形矩陣的列數(shù)C,使?jié)M足:

從表1中找到最小質(zhì)數(shù)p,使得k≤R×(p+1),
并計(jì)算C使?jié)M足:


表1 質(zhì)數(shù)p及相應(yīng)原根v列表
(3)逐行將比特序列x1,x2,x3,…,xK寫入R×C的方形矩陣中,首比特y1填入0行0列:

其中,yk=xk for k=1,2,…,K,并且如果R×C×K,則用填充比特yk=0or1,k=K+1,K+2,…,R×C填充。這些填充比特在執(zhí)行完行內(nèi)和行間置換之后,從交織矩陣中刪除而不輸出。
(4)根據(jù)不同的輸入長度K確定不同的行間置換模式以及行內(nèi)置換模式。
(5)逐列將比特輸出,并刪掉填充比特。
在算法設(shè)計(jì)時(shí),根據(jù)協(xié)議以及具體的實(shí)現(xiàn)中存在的問題,針對一些計(jì)算量較大的序列提出了以下的優(yōu)化算法。
2.1 針對s序列的優(yōu)化
協(xié)議中規(guī)定s序列為:首項(xiàng)s0為1,對于j=1,2,…,p-2,有s(j)=(v×s(j-1))modp。整個(gè)Turbo譯碼器中只有在交織器的s序列和U序列計(jì)算中用到模除,所以可以通過減法運(yùn)算替代代價(jià)較大的模除運(yùn)算。由于每次運(yùn)算的減法次數(shù)一定小于v值,例如v=5時(shí)最多做4次減法,所以可以對v=19的情況進(jìn)行存表,表格含189個(gè)數(shù),而對于其他的6種v值,設(shè)計(jì)以下針對正數(shù)的模除運(yùn)算mod(a,b)=c:

通過減法運(yùn)算化簡了模除運(yùn)算。除去v=19的情況外,其他所有v值對應(yīng)的s序列共存在6 105種計(jì)算,每次模除需要用到的減法次數(shù)統(tǒng)計(jì)如表2。

表2 不同減法次數(shù)的統(tǒng)計(jì)
通過表格可以看到,不做減法直接求得結(jié)果的比例占1/3還多,而需要多次減法運(yùn)算的概率卻非常小,例如6次減法運(yùn)算的比例只占到1.41%。另外,根據(jù)遍歷測試可以發(fā)現(xiàn),在實(shí)際運(yùn)算中,對于v=V的情況,一定存在減法次數(shù)n=V-1的運(yùn)算。這也方便了對不同v值的時(shí)序規(guī)劃。在之后Uij的計(jì)算和填充比特刪減操作時(shí)用到的模除計(jì)算減法量也非常少,同時(shí)都為正數(shù)模除,都可以利用這個(gè)算法代替,不在贅述。
2.2 針對q序列的優(yōu)化

表3 質(zhì)數(shù)p及相應(yīng)q序列列表
協(xié)議中規(guī)定q序列為:首項(xiàng)q0為1,第二項(xiàng)大于6的遞增素?cái)?shù)序列,其中對于i=1,2,…,R-1,有g(shù).c.d(qi,p-1)=1。嚴(yán)格按照協(xié)議進(jìn)行算法設(shè)計(jì)將需要使用g.c.d函數(shù),由于g.c.d函數(shù)使用頻率非常低,在整個(gè)Turbo譯碼器核中,僅在TD-SCDMA系統(tǒng)的碼內(nèi)交織器計(jì)算q序列時(shí)需要。如果將所有的p值對應(yīng)的q序列進(jìn)行存表,將得到52*20的表格,開銷也很大,所以考慮將不同p值對應(yīng)的q序列進(jìn)行分類歸納,部分存表,使用時(shí)根據(jù)p值查表即可:
2.3 針對填充比特刪減的優(yōu)化
根據(jù)協(xié)議規(guī)定,填充比特的數(shù)量l根據(jù)交織矩陣的大小RC減去輸入的比特長度K而決定,并附在輸入比特的尾部按行填入交織矩陣中。執(zhí)行完交織操作后將刪掉填充比特,按列輸出信息比特。由于交織后比特將亂序,如何確定填充比特的位置進(jìn)行正確的刪減操作是個(gè)問題。最初考慮利用交織矩陣Uij作為標(biāo)識矩陣,將填充比特設(shè)為區(qū)別于0和1的其他數(shù),交織矩陣輸出時(shí)參照Uij進(jìn)行判定,但是考慮到硬件面積和實(shí)現(xiàn)難度,放棄了這種設(shè)計(jì)。
通過分析交織規(guī)律發(fā)現(xiàn),根據(jù)填充比特的長度,可以確定交織前行號不小于l_int=ceil(l/C)的行內(nèi)含有填充比特,其中行號大于l_int的行中全部為填充比特,而行號等于l_int的行中部分為填充比特,且這一行的填充比特?cái)?shù)目為l_dec=l%C。所以在輸出時(shí),可以根據(jù)以下判斷條件進(jìn)行判斷:
((T[i]<R-l_int)||((T[i]==R-l_int)&&(U[T[i]][j]<C-l_dec)))
若滿足該條件,判定為非填充比特,輸出;若不滿足該條件,則判定為填充比特,跳過。
碼內(nèi)交織器的一致性測試可以通過安捷倫公司的產(chǎn)品Advanced Design System進(jìn)行測試,選取3GPP的標(biāo)準(zhǔn)Turbo碼內(nèi)交織器進(jìn)行數(shù)據(jù)比對,仿真鏈路的搭建如圖3所示。

圖3 ADS中Turbo碼內(nèi)交織器仿真鏈路搭建
本文通過算法的優(yōu)化設(shè)計(jì)以及RTL代碼對算法的仿真,確定了TD-SCDMA系統(tǒng)中Turbo碼內(nèi)交織器的優(yōu)化算法,在硬件加速器實(shí)現(xiàn)時(shí),減少了硬件開銷并提高了效率,對整個(gè)TDSCDMA系統(tǒng)有很大的實(shí)用意義。
[1]BerrouC,GlavieuxA.NearOptimumErrorCorrecting Coding and Decoding:Turbo Codes.IEEE Trans.Commun,vol.44, 1996,(10):1261~1271.
[2]3GPP TS 25.222 V10.2.0 3rd Generation Partnership Project.Technical Specification Group Radio Access Network,Multiplexing and Channel Coding(TDD)(Release 4).2011-12.
[3]李小文.TD-SCDMA第三代移動(dòng)通信系統(tǒng)、信令及實(shí)現(xiàn)[M].北京:人民郵電出版社,2003:110-115.
TN929
A
1003-5168(2014)04-0013-02