陳發堂,吳增順
(重慶郵電大學 通信與信息工程學院,重慶 400065)
隨著通信技術的不斷發展,對長期演進(LTE)技術的研究不斷的深入并逐漸商用,在20 MHz頻譜帶寬下LTE要求能夠提供下行100 Mb/s與上行50 Mb/s的峰值速率。在LTE系統中,物理隨機接入信道(PRACH)主要用于用戶設備(UE)開始進行上行同步或者在小區之間進行切換,只有在隨機接入過程完成后,UE才能和網絡端進行正常的數據發送與接收,因此隨機接入過程是實現LTE系統正常通信的前提和保障[1]。PRACH基帶信號的生成在隨機接入過程UE發送端中起著至關重要的作用,它能否高效地實現直接影響著LTE系統的整體性能。
本文通過對PRACH基帶信號的研究與分析,給出了一種PRACH基帶信號快速高效的實現方案[1-2],該方案主要包括:(1)頻域隨機接入前導的生成[3-4];(2)大素數的IDFT的快速實現方法[5]。通過理論分析與仿真,驗證該方案的高效性,該方案已在TD-LTE射頻一致性測試儀表中得到應用。

PRACH基帶信號生成的流程圖如圖1所示。根據LTE的標準,時域上的PRACH基帶信號定義為:

式(1)中 0≤t<TSEQ+TCP,βPRACH為幅度因子。
相關參數如表 1。 采樣頻率f=1/Ts,將t=iTs帶入S(t),S(t)的離散形式為:


表1 隨機接入基帶信號的相關參數

xu,v(n)=xu((n+Cv)modNZC),Cv為時域偏移量

根據DFT計算公式可知式(1)中

由LTE協議標準可知,采樣率為1/Ts=30.72 MHz,NIDFT=1/(ΔfRATS),對于前導格式 0-3,NIDFT=24 576,對于前導格式 4,NIDFT=4 096。
對于DFT如果直接進行計算,每計算一個頻域值,除了計算旋轉因子的指數外,還要進行一次復數計算和NZC次的加法運算,計算量比較大,相對有效的辦法就是采用快速傅里葉變換(FFT)進行計算,然而隨機接入前導的長度為素數,并不能滿足2的n次方的條件,無法直接采用FFT進行計算。因此需要對前導序列的DFT進行變換。


經過推導可以清楚地看出,計算每一個頻域值只需要計算旋轉因子的指數和做一次復數與實數的相乘,大大簡化了計算的復雜度。
前導序列完成DFT計算后的長度為NZC,要進行24 576/4 096點的IDFT計算,需要在NZC點的DFT之后添加大量的0,前導格式4的IDFT運算的點數為4 096點,滿足2的n次方,尚可以采用FFT進行計算。但前導格式0-3的IDFT運算的點數為24 576點,點數極大,且不能直接采用FFT進行處理。因此對24 576點的IDFT需要做一些處理。其中一種行之有效的方法就是:將大點數的IDFT分成若干個小的長度,且分成的長度較小點均能滿足2的n次方,可以采用FFT進行處理。令m=aM+b,其中M=NIDFT/NIFFT為總組數,a=0,1,2…NIFFT-1為每一組中的索引指數,b=0,1,2…M-1為組的索引指數。

以前導格式 0-3為例,NZC=839,將NIDFT=24 576分成24組NIDFT=1 024點的IFFT進行計算,因為NIFFT=1 024點的 IFFT最接近NZC=839點,而且 1 024點的 IFFT可以采用基2或基4的IFFT進行實現。IFFT組輸出與IDFT輸出之間的映射關系如圖2所示。
根據表2可以看出只有在前導格式3和4時,需要進行前導序列的重復,其他情況均無前導的重復。
設m=i-Tcp,m1=m+NIDFT,則有:

表2 隨機接入前導參數




由上述推導可知,CP的插入實際上就是將生成的前導后面的一部分數據搬到前導的最前端,完成CP的插入。
PRACH基帶信號實現的結構圖如圖3所示。
由DFT實現的推導式(14)首先將u-1提前存儲在查找表中。為了節約存儲空間,把雅各比符號δu代替αu存儲在查找表中。根據存儲表中的u-1和 δu結合公式,計算 DFT運算的相位Phase of DFT=[(u-1k(k+1)+(1-u-1)k(NZC+1)+αu+2kCv)mod(2NZC)]/NZC,Cv是計算前導時的時域偏移量。把計算出的DFT相位存儲在SRAM中,對NZC=839而言,存儲空間為13 424 bit,每個相位占16 bit寬度,相比較由I和Q兩路構成的復數數據而言,相位計算DFT的存儲空間節約將近一半。
IDFT計算時,復數相乘和 DFT添加 0,采用 DFT計算出來的相位加上2kb/NIDFT后再進行相位到復數值的變換 (PCU),在實數相位到復數值的變換時同時乘以DFT的幅度因子。經過實相位到復數值變換單元后的數據通過一個由開關S的輸入選擇單元,當輸入數據為0到NZC-1時,開關S置1,將DFT的數據傳遞給IFFT模塊,當輸入的數據為NZC到NIFFT-1時,選擇開關S置 0,對 DFT數據進行添加0;進行 IFFT計算。
IFFT的實現可以將輸入數據取共軛,再做FFT運算,最后將輸出的結果取共軛除以總點數就是IFFT的輸出結果。因此可以采用FFT的模塊來實現[6-7],如圖4。
FFT算法基本可以分為兩大類,即按時間抽取法和按頻域抽取法[2]。按時間抽取法的輸入是倒序的,輸出是自然順序的。本文采用時間抽取法的FFT的算法。用J表示當前倒序的十進制數值,對于N=2M,M位二進制數最高位的十進制權值為N/2,且從左向右二進制位的權值依次為N/4,N/8…2,1。因此最高位加 1相當于十進制運算J+N/2。如果最高位是 0(J<N/2),則直接由J+N/2得到下一個倒序值;如果最高位是 1(J≥N/2),則先將最高位變成 0(J=J-N/2),然后次高位加 1(J+N/4),同樣在次高位加1時也要對次高位進行判斷。如果次高位也為1,此時也需要將該值減去次高位的權值;如果為0,則將該值加上次高位的權值,再判斷下一位,依次類推,直到完成最高位加1,逢2向右進位的運算。形成倒序J后,將FFT模塊的輸入序列重新進行排列,輸入到FFT計算模塊。進行FFT計算時,先從輸入端的第一級開始,共M逐級進行。第L級有2L-1個旋轉因子。每一個旋轉因子需要完成2M-L個蝶形運算。計算完成每一級后需要對已有的數據進行更新。圖4中的控制模塊用于產生所有的控制信息。存儲器2和3分別用于n和n+t時對應的數據的輸入。存儲器1用于中間結果的存儲,Butterfly運算模塊用于每一級的蝶形運算。旋轉因子存儲器用于每一級的旋轉因子的存儲。
完成IDFT的數據進行時域頻移,根據前導格式判斷計算完成的前導序列是否需要進行重復,再根據式(17)和式(18)將計算的前導序列的CP長度序列復制搬移到前導的前端完成CP的插入,得到PRACH基帶信號。
本文從理論分析出發,根據PRACH基帶信號的特點,給出了一種PRACH基帶信號的生成實現方案。在DFT實現中,改進前的DFT計算的乘法運算次數和加法運算次數比改進的DFT計算的復數的乘法次數和加法運算次數多達703 082次。在IDFT的實現中,采用IFFT計算與直接進行IDFT的乘法次數的比較曲線如圖5所示,由圖5可以看出,采用IFFT的乘法計算量遠小于直接進行IDFT計算,從而減少了PRACH基帶信號實現的計算量,提高了整體的性能。能較好地滿足LTE系統需要。該方案已應用于TD-LTE射頻一致性測試儀表的開發中。

[1]3GPP TS 36.211 v9.0.0 Evolved Universal Terrest-rial Radio Access(E-UTRA)Physical Channels and Modulation(Release 9)[S].2009-12.
[2]丁玉美.數字信號處理[M].西安:西安電子科技大學出版社,2002.
[3]POPOVIC B M.Efficient DFT of zadoff-chu sequences[J].Electronics.letter,2010,46(7):502-503.
[4]BEYME S,LEUNG C.Efficient computation of DFT of zadoff-chu sequences[J].Electronics letter,2010,45(9):461-463.
[5]He Ying,so on.An efficient implementation of PRACH generator in LTE UE transmitters[C].in Wireless Communications and Mobile Compution Conference(IWCMC),2011 7th international,2011:2226-2230.
[6]王林泉,皮亦鳴,陳曉寧,等.基于 FPGA的超高速FFT硬件實現[J].電子科技大學學報,2005,34(2):152-155.
[7]HE S,TORKELSON M.Design and implementation of a 1024-point pipeline FFT processor[C].in Custom Integrated Circuits Conference,1998.Proceedings of the IEEE 1998,may 1998:131-134.