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