本發(fā)明屬于無線通信領(lǐng)域,具體涉及一種用于FOGA的UFMC發(fā)射機的頻域?qū)崿F(xiàn)方法。
背景技術(shù):
OFDM技術(shù)在現(xiàn)有的各種無線通信標(biāo)準中得到了廣泛應(yīng)用,也是目前第四代移動蜂窩通信系統(tǒng)LTE物理層的關(guān)鍵技術(shù)之一。作為目前最流行的一種多載波調(diào)制技術(shù),OFDM通過把整個信道劃分成多個子載波的形式,并行的傳輸信息。相對于傳統(tǒng)的單載波調(diào)制方式,OFDM系統(tǒng)具有更高的頻譜利用率,能更好的應(yīng)對多徑衰落、頻率選擇性衰落及窄帶干擾等等。
面向2020及未來的第五代移動通信將滲透到物聯(lián)網(wǎng)及各行各業(yè),滿足工業(yè)、醫(yī)療、交通等行業(yè)的多樣化業(yè)務(wù)需求,實現(xiàn)“萬物互聯(lián)”。作為第五代移動通信的兩大發(fā)展驅(qū)動,移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)的發(fā)展對波形技術(shù)也提出了新的要求。由于物聯(lián)網(wǎng)業(yè)務(wù)具有小數(shù)據(jù)包、低功耗、連接海量、突發(fā)性強等特點,雖然總體數(shù)量較大,但設(shè)備對信道帶寬需求量低,適合零散、碎片化的頻譜。然而OFDM系統(tǒng)頻譜旁瓣大,對時頻偏移敏感,而其良好的特性都是建立在子載波正交的基礎(chǔ)上,小的時頻偏移也容易導(dǎo)致正交性的破壞,導(dǎo)致系統(tǒng)性能下降。為保證載波間的正交性,OFDM系統(tǒng)采用嚴格的同步機制來保證正交性,由于短幀的數(shù)量大,導(dǎo)致同步的開銷大,傳輸效率下降,因此在第五代移動通信中的突發(fā)傳輸不適宜直接采用OFDM技術(shù)。
為此滿足下一代移動通信的要求,新型的多載波調(diào)制技術(shù)方案得到了廣泛的關(guān)注。基于濾波的多載波調(diào)制的濾波器組多載波(FBMC)和通用濾波多載波(UFMC)均是當(dāng)前研究的熱點。FBMC分別采用合成濾波器和分析濾波器實現(xiàn)載波調(diào)制和解調(diào)。由于是對子載波進行濾波,濾波頻帶窄,發(fā)射濾波器的沖擊響應(yīng)長度較長,導(dǎo)致開銷大,另外,F(xiàn)BMC系統(tǒng)各個子帶嚴重交疊帶來很大的載波間干擾(ICI),為解決這個問題當(dāng)前采用的主要方法為偏移正交幅度調(diào)制(OQAM),而OQAM與MIMO技術(shù)結(jié)合后的信道估計也比較困難。UFMC采用了基于子帶濾波的方式,由于濾波頻帶變寬,濾波器的階數(shù)也相應(yīng)的下降,降低了對器件的要求?;谧訋V波的UFMC系統(tǒng)對零散頻譜利用明顯優(yōu)于OFDM系統(tǒng)。在以往的研究也已經(jīng)證明時頻偏移對UFMC影響比OFDM系統(tǒng)更小,這對節(jié)省同步開銷和終端節(jié)能是有利的。
UFMC中使用IDFT實現(xiàn)多載波調(diào)制,為了獲得更好的旁瓣衰減效果,降低對相鄰用戶/子帶的干擾,通常會使用比較窄的子帶劃分和階數(shù)比較高的濾波器。在IDFT點數(shù)比較多的情況下,需要對每個子帶進行大量的補零操作,在FPGA實現(xiàn)時具體表現(xiàn)為引入處理時延。
目前,現(xiàn)有技術(shù)中存在以下相關(guān)方案:
用于FPGA的高速高階FIR濾波器的頻域?qū)崿F(xiàn)方法(CN 104967428 A)提出的一種用于FPGA的FIR濾波器頻域方案,使用頻域處理卷積運算,相對于快速卷積可以減少FPGA補零運算數(shù)量。然而,該發(fā)明并沒有考慮分段IFFT/FFT點數(shù)與運算總體復(fù)雜度及補零數(shù)量的關(guān)系,也沒有很好的使用各個分段使用同一濾波器這一特性。
基于濾波器組的分塊傳輸系統(tǒng)頻域調(diào)制系統(tǒng)及方法(CN 101355538 A)是在已有的基于離散傅里葉變化的廣義多載波(DFT-S-GMC)的頻域調(diào)制方法,與時域方法相比該方法復(fù)雜度更低。然而此方法與UFMC不同,子帶濾波之前已經(jīng)存在相鄰子帶的干擾。
在常規(guī)FPGA實現(xiàn)中,通常對IDFT變換使用IFFT IP核來完成,然而在UFMC中使用IFFT IP核實現(xiàn)IDFT存在IP核利用率低、補零多造成延時大;對于濾波操作雖然有相關(guān)的頻域分段方法,但是沒有考慮分段IFFT/FFT點數(shù)與運算總體復(fù)雜度及補零數(shù)量的關(guān)系,另外由于同一子帶使用相同的濾波器,常規(guī)方法采用多片RAM存儲相同序列浪費存儲資源;在多個子帶相加過程中,由于各個子帶數(shù)據(jù)同時產(chǎn)生,采用累加器的方法需要對數(shù)據(jù)進行存儲后在相加,不能滿足處理的實時性。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種可以在FPGA上實現(xiàn)的UFMC發(fā)射機系統(tǒng)方案,能夠?qū)崿F(xiàn)IDFT變換階段補零數(shù)量少;充分考慮濾波處理考慮分段的IFFT/FFT點數(shù)與運算總體復(fù)雜度及補零數(shù)量的關(guān)系,使得IFFT/FFT IP可以被充分利用,也減少補零數(shù)量,降低處理時延;子帶相加采能夠?qū)崿F(xiàn)多子帶輸入的同時相加。
為達到上述目的,本發(fā)明提供如下技術(shù)方案:
一種用于FPGA的UFMC發(fā)射機的頻域?qū)崿F(xiàn)方法,所述方法包括以下步驟:
1)對串行比特流進行符號映射,將映射的符號分塊,分別送到B個不同子帶的處理單元;
2)每個子帶處理單元采用分塊處理的方式實現(xiàn)NIDFT點IDFT變換;
3)對IDFT變換后的數(shù)據(jù)補零后進行頻域分段濾波,對輸出的各個分段結(jié)果相加后輸出;
4)通過并行的分級加法器將所有子帶的處理結(jié)果疊加。
進一步的,步驟1)所述符號映射的方法為QAM或QPSK。
進一步的,步驟2)所述實現(xiàn)NIDFT點IDFT變換具體方法為:
NIDFT點的IDFT變換為設(shè)定每個子帶包含n個子載波,那么將其對應(yīng)的矩陣中的n列,按行存儲,依次讀入到分塊處理單元上,分塊處理單元根據(jù)輸入QAM/QPSK的值對對應(yīng)的值進行處理,從而獲得每個F(n)W-nk的值,累加n次后得到f(k)值。
進一步的,步驟3)所述采用的頻域分段濾波的具體步驟為:
在重疊相加法下設(shè)定分段IFFT/FFT點數(shù)為N,分段的數(shù)據(jù)長度為Lseg,需要的分段數(shù)為m;根據(jù)總體計算復(fù)雜度和補零數(shù)量選擇合適的分段卷積實現(xiàn)所需要的IFFT/FFT點數(shù)N;接著根據(jù)每個分段中數(shù)據(jù)長度Lseg與濾波器長度M的關(guān)系,確定可以實現(xiàn)連續(xù)數(shù)據(jù)處理的分段數(shù)m;隨后將經(jīng)過IDFT變換后的數(shù)據(jù)進行分段,前m-1段長度為Lseg,最后一個分段長度為NIDFT-(m-1)Lseg,分別對其補零到N點,每個分段進行N點FFT,隨后與濾波器的頻域響應(yīng)對應(yīng)相乘后再進行N點IFFT;由于每兩個相鄰分段間隔為Lseg,因此,直接將各個分段值直接疊加即可獲得濾波處理的結(jié)果。
進一步的,重疊相加法的計算復(fù)雜度采用實數(shù)計算總數(shù)來表示,并按照一次復(fù)數(shù)加法需要兩次實數(shù)加法,一次復(fù)數(shù)乘法需要四次實數(shù)乘法和兩次實數(shù)加法進行計算。
進一步的,所述補零數(shù)量的計算方法為:
式中表示濾波器所需的補零總數(shù),h(n)表示濾波器相應(yīng);表示IDFT變換后數(shù)據(jù)所需要的補零總數(shù),x(n)表示數(shù)據(jù)序列。
進一步的,步驟4)所述通過并行的分級加法器將所有子帶的處理結(jié)果疊加具體方法為:對所有B個子帶進行分組,將B分解為2的次冪的和,Max(i)表示所有i的最大值,因此分級加法最大級數(shù)為i,使用帶有截位操作的兩輸入定點加法器,對各個子帶值兩兩相加,結(jié)果送入下一級,次一級仍然兩兩相加,結(jié)果送入下下級,對于不足i級的部分通過添加寄存器緩存,實現(xiàn)全部子帶同時相加且時延較低。
本發(fā)明的有益效果在于:通過使用分塊處理的方式實現(xiàn)了一種適用于FPGA實現(xiàn)的UFMC中的IDFT調(diào)制,避免了采用IFFT IP核需要較多的補零數(shù)量,降低了調(diào)制部分的處理時延;通過分段卷積的方式,依據(jù)計算復(fù)雜度和補零數(shù)量,選擇了頻域濾波所需要的合適的FFT/IFFT點數(shù),依據(jù)濾波器長度與數(shù)據(jù)分段長度關(guān)系確定實現(xiàn)連續(xù)處理所需要的濾波分段數(shù)目,相對于一般的頻域處理方式計算總量更少;對于全子帶相加,提出了使用帶有截位操作的兩輸入定點加法器和寄存器構(gòu)成的分級加法的方式,可以以較快的速度實現(xiàn)多個輸入數(shù)據(jù)同時相加??偟膩碚f,處理的延時比直接實現(xiàn)的方式可以更快的實現(xiàn)連續(xù)數(shù)據(jù)處理。
附圖說明
為了使本發(fā)明的目的、技術(shù)方案和有益效果更加清楚,本發(fā)明提供如下附圖進行說明:
圖1為本發(fā)明UFMC發(fā)射機系統(tǒng)原理框圖;
圖2為本發(fā)明UFMC發(fā)射機中調(diào)制模塊中使用的處理單元的原理框圖;
圖3為本發(fā)明UFMC發(fā)射機中調(diào)制和濾波模塊的原理框圖;
圖4為本發(fā)明UFMC發(fā)射機中分段及補零模塊原理示意圖;
圖5為本發(fā)明UFMC發(fā)射機中多輸入并行分級加法模塊原理框圖;
圖6為本發(fā)明UFMC發(fā)射機濾波模塊中使用的XILINX FFT IP及多口RAM模塊的原理框圖。
具體實施方式
下面將結(jié)合附圖,對本發(fā)明的優(yōu)選實施例進行詳細的描述。
本發(fā)明提供了一種用于FPGA的UFMC發(fā)射機的頻域?qū)崿F(xiàn)方法,圖1為本發(fā)明的UFMC發(fā)射機系統(tǒng)原理框圖,如圖所示,發(fā)射機包括幾大模塊,其中,主要的模塊是補零及分段模塊、調(diào)制及濾波模塊、多輸入并行分級加法模塊。
圖2調(diào)制處理單元的內(nèi)部原理框圖。它包括三個小模塊,首先處理邏輯模塊根據(jù)輸入的QAM符號對輸入的IDFT矩陣對應(yīng)的值進行相應(yīng)的變換,由于IDFT變換為如果每個子帶包含個l子載波,假設(shè)一個子帶上子載波的起點為i,那么第k個值為由于N個F(n)值里面有N-l個零,實際上計算每個f(k)僅僅需要對l非零子載波的值進行運算即可,那么將其對應(yīng)的矩陣中的l列,按行存儲起來,隨著QAM/QPSK符號的輸入依次讀入到分塊處理單元上,分塊處理單元根據(jù)輸入QAM/QPSK的值對對應(yīng)的值進行倍數(shù)及正負的變化,而QAM/QPSK幅度值相對固定,QAM符號的實部為QAMRe,虛部為QAMIm,對應(yīng)的IDFT矩陣值實部為虛部為兩者乘積的實部為虛部為當(dāng)QAM實部和虛部值確定的情況下使用乘法器消耗資源更多一些,一般只需要對IDFT矩陣對應(yīng)值的實部/虛部進行移位相加就能獲得一次運算的值,然后通過累加器對l次計算值進行累加,就可以獲得一個f(k)值,由于從QAM符號輸入到結(jié)果輸出經(jīng)歷了l個時鐘,那么,只需要有l(wèi)個相同的模塊同時運算,就可以實現(xiàn)連續(xù)數(shù)據(jù)計算。QAM符號在相鄰模塊間依次傳遞,相差一個時鐘,l個時鐘后數(shù)據(jù)就能連續(xù)輸出,通過多路選擇器當(dāng)前輸出數(shù)據(jù)的分塊處理單元。通過這種運算方法可以避免直接使用IFFT IP核的時候補零數(shù)量多,引入大的處理時延的問題。
圖3是調(diào)制及濾波模塊的原理框圖,IDFT調(diào)制通過多個相同的處理單元實現(xiàn)。濾波操作通過分段卷積實現(xiàn)。每個調(diào)制處理單元負責(zé)計算第k個IDFT變換結(jié)果值f(k),運算結(jié)果交替輸出,從而實現(xiàn)處理的連續(xù)性。濾波器采用分段卷積實現(xiàn)。IDFT變換后的數(shù)據(jù)f(k)與濾波器響應(yīng)h(n)進行時域線性卷積,而實際應(yīng)用中,數(shù)據(jù)f(k)的長度L常常遠大于濾波器響應(yīng)h(n)的長度M,從計算復(fù)雜度來講常規(guī)的時域及頻域方法計算復(fù)雜度均比較高,比較合適的方法為分段卷積。然而在實現(xiàn)分段卷積的時候選用的IFFT/FFT點數(shù)并非越大越好,也不是越小越好的,需要從計算復(fù)雜度及補零長度考慮,實際使用的并行處理分段的數(shù)量也需要結(jié)合具體情況而定,即根據(jù)分段中數(shù)據(jù)的長度和濾波器響應(yīng)h(n)的長度M的關(guān)系來確定。在重疊相加下,假定選取的分段IFFT/FFT點數(shù)為N,分段的數(shù)據(jù)長度為Lseg,需要的分段數(shù)為m。
重疊相加法的計算復(fù)雜度使用實數(shù)計算總數(shù)來表示,以基-2FFT為例,N點FFT需要的復(fù)數(shù)乘法次數(shù)復(fù)數(shù)加法次數(shù)此時總實數(shù)運算量為:Cseg=m[3(6mF+2aF)+6N]+2(m-1)(N-Lseg),N=2n≥Lseg+M-1,補零的數(shù)量也是一個重要的考慮因素,補零總數(shù)為:通過上述兩個公式選取合適的IFFT/FFT點數(shù)使得總體運算量最低,補零數(shù)量盡可能少。隨后按長度為Lseg對IDFT變換后的數(shù)據(jù)進行分段并補零到N點,隨后進行N點FFT,濾波器時域響應(yīng)補零到N點后也進行N點FFT,兩者結(jié)果對應(yīng)相乘后的N個值進行N點IFFT,就獲得了濾波后的一個分段的值,由于相鄰分段相隔Lseg個數(shù)值,對m個分段的值疊加后就能獲得每個子帶數(shù)據(jù)濾波后的結(jié)果,在此過程中,由于使用的IFFT/FFT點數(shù)相對較小,可以采用流水類型XILINX FFT/IFFT IP核來實現(xiàn),保證數(shù)據(jù)處理的連續(xù)性。
圖4是圖3中濾波模塊前面分段控制及補零模塊的時序示意圖,當(dāng)每個分段中數(shù)據(jù)長度大于補零長度,即每個分段中的數(shù)據(jù)長度長過濾波器時域響應(yīng)的長度時,每個子帶只需要兩個頻域濾波處理模塊交替運算即可實現(xiàn)連續(xù)的數(shù)據(jù)處理。否則需要相應(yīng)的增加處理模塊的數(shù)量,具體需要使用多少個分段處理模塊還需要結(jié)合實際情況下的具體數(shù)據(jù)來分析。
圖5是圖1中多輸入并行分級加法模塊的實現(xiàn)框圖。具體為,將B個子帶的輸入結(jié)果進行分組,使得B分解為2的次冪的和,即Max(i)表示所有i的最大值,因此分級加法最大級數(shù)為i,即實現(xiàn)上最多經(jīng)過i個時鐘周期就可以獲得連續(xù)輸出的B個子帶相加的結(jié)果。對于小于i的分組,需要使用寄存器對分組數(shù)據(jù)進行緩存,即通過寄存器將該分組補齊到i級,從而保證所有分組經(jīng)歷相同的延時。
圖6是圖3中濾波器模塊使用的XILINX FFT/IFFT IP核及根據(jù)UFMC同一子帶共用濾波器的特點,設(shè)計的多輸出RAM,其工作原理為:用戶使用XILINX FFT IP核將濾波器時域響應(yīng)變換到頻域,通過RAM的DINA口存儲到RAM中,由于分段濾波過程中,F(xiàn)IR1,F(xiàn)IR2……FIRm,相差固定間隔,即Lseg,因此本發(fā)明設(shè)計的多輸出RAM模塊輸出DOUTB口輸出的也是同一序列,但間隔為Lseg。通過上述方法可以節(jié)省一部分處理資源。
本發(fā)明提供了一種FPGA上的UFMC的頻域?qū)崿F(xiàn)方法,解決了UFMC中直接使用點數(shù)較大的IDFT IP核時需要補零的數(shù)量較多,從而導(dǎo)致處理時延大的問題,另外,在濾波處理是采用分段卷積方法,且對分段點數(shù)進行了合理的選擇,從而降低了濾波處理的復(fù)雜度,子帶求和使用了一種并行多輸入分級加法模塊,該模塊主要由帶截位的兩輸入加法器模塊和寄存器組成,能夠較快的獲得同時產(chǎn)生的多個子帶數(shù)值之和。
最后說明的是,以上優(yōu)選實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管通過上述優(yōu)選實施例已經(jīng)對本發(fā)明進行了詳細的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在形式上和細節(jié)上對其作出各種各樣的改變,而不偏離本發(fā)明權(quán)利要求書所限定的范圍。