逆快速傅里葉變換實(shí)現(xiàn)方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種逆快速傅里葉變換實(shí)現(xiàn)方法及裝置。其中,該方法包括:接收輸入的多天線數(shù)據(jù)流,將多天線數(shù)據(jù)流合并為第一數(shù)據(jù)流;根據(jù)獲取的多個(gè)天線權(quán)值對第一數(shù)據(jù)流進(jìn)行乘法操作,得到第二數(shù)據(jù)流,并對第二數(shù)據(jù)流進(jìn)行逆快速傅里葉變換(IFFT)處理,得到第三數(shù)據(jù)流,其中,每個(gè)天線對應(yīng)一個(gè)天線權(quán)值;根據(jù)預(yù)先存儲(chǔ)的旋轉(zhuǎn)因子對第三數(shù)據(jù)流進(jìn)行多級循環(huán)迭代乘加運(yùn)算后輸出,其中,旋轉(zhuǎn)因子支持多種帶寬配置。通過本發(fā)明,從而達(dá)到了降低處理時(shí)延、提高結(jié)構(gòu)靈活擴(kuò)展性,可以滿足運(yùn)營商靈活多變的組網(wǎng)需求。
【專利說明】逆快速傅里葉變換實(shí)現(xiàn)方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種逆快速傅里葉變換實(shí)現(xiàn)方法及裝置。
【背景技術(shù)】
[0002]正交頻分復(fù)用(OrthogonalFrequency Division Multiplexing,簡稱為 OFDM)技術(shù)可應(yīng)用于可變帶寬的通信系統(tǒng)中,例如,長期演進(jìn)(Long Term Evolution,簡稱為LTE)系統(tǒng)需要同時(shí)支持20MHz帶寬、15MHz帶寬、IOMHz帶寬、5MHz帶寬、3MHz帶寬和1.4MHz帶寬,不同帶寬對應(yīng)的子載波的個(gè)數(shù)也不相同,相應(yīng)地,在對不同個(gè)數(shù)的子載波進(jìn)行調(diào)制時(shí),需要執(zhí)行不同點(diǎn)數(shù)的逆快速傅里葉變換(Inverse Fast Fourier Transform,簡稱為IFFT)處理。
[0003]常見的IFFT處理裝置一般采取以下三種處理方式:
[0004]方式一、點(diǎn)數(shù)為2的N次冪時(shí),可以直接調(diào)用現(xiàn)場可編程門陣列(FiledProgrammable Gate Array,簡稱為 FPGA)廠家內(nèi)置的 IP core 來實(shí)現(xiàn);
[0005]方式二、點(diǎn)數(shù)為非2的N次冪時(shí),先將數(shù)據(jù)內(nèi)插O到最近點(diǎn)數(shù)的2的N次冪,再采用方式一完成相應(yīng)規(guī)模的IFFT處理,然后再對輸出數(shù)據(jù)進(jìn)行抽取操作;
[0006]方式三、點(diǎn)數(shù)為非2的N次冪時(shí),先進(jìn)行大樣點(diǎn)的IFFT逐級分解,再進(jìn)行全分解的蝶形運(yùn)算。
[0007]上述三種處理方式在實(shí)際應(yīng)用中均存在不足之處,具體如下:
[0008]方式一無法滿足LTE系統(tǒng)所需支持的所有帶寬配置;
[0009]方式二采用內(nèi)插操作,導(dǎo)致時(shí)域序列引入泄漏干擾且無法將采樣濾除、性能降低且對應(yīng)的硬件成本高;
[0010]方式三采用大樣點(diǎn)的IFFT全分解操作,實(shí)現(xiàn)起來較為復(fù)雜,且占用較多FPGA的邏輯資源和存儲(chǔ)資源。
[0011]針對相關(guān)技術(shù)中的IFFT處理裝置所采取的三種處理方式分別存在上述缺陷的問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0012]本發(fā)明提供了一種逆快速傅里葉變換實(shí)現(xiàn)方法及裝置,以至少解決上述問題。
[0013]根據(jù)本發(fā)明的一個(gè)方面,提供了一種逆快速傅里葉變換實(shí)現(xiàn)方法,包括:接收輸入的多天線數(shù)據(jù)流,將多天線數(shù)據(jù)流合并為第一數(shù)據(jù)流;根據(jù)獲取的多個(gè)天線權(quán)值對第一數(shù)據(jù)流進(jìn)行乘法操作,得到第二數(shù)據(jù)流,并對第二數(shù)據(jù)流進(jìn)行逆快速傅里葉變換(IFFT)處理,得到第三數(shù)據(jù)流,其中,每個(gè)天線對應(yīng)一個(gè)天線權(quán)值;根據(jù)預(yù)先存儲(chǔ)的旋轉(zhuǎn)因子對第三數(shù)據(jù)流進(jìn)行多級循環(huán)迭代乘加運(yùn)算后輸出,其中,旋轉(zhuǎn)因子支持多種帶寬配置。
[0014]優(yōu)選地,將多天線數(shù)據(jù)流合并為第一數(shù)據(jù)流,包括:接收輸入的P點(diǎn)多天線數(shù)據(jù)流,將P點(diǎn)多天線數(shù)據(jù)流抽取映射為M路數(shù)據(jù)流;針對每一路數(shù)據(jù)流,按照預(yù)定的地址跳轉(zhuǎn)規(guī)則讀取P/2M個(gè)數(shù)據(jù)后,插入Q個(gè)O再繼續(xù)讀取剩下的P/2M個(gè)數(shù)據(jù),當(dāng)對每一路數(shù)據(jù)流讀取完畢時(shí),得到N個(gè)數(shù)據(jù)流,其中,N=P+M*Q ;按照天線順序?qū)個(gè)數(shù)據(jù)流合并為第一數(shù)據(jù)流。
[0015]優(yōu)選地,通過以下方式獲取多個(gè)天線權(quán)值:判斷系統(tǒng)制式,當(dāng)系統(tǒng)制式為時(shí)分雙工(TDD)時(shí),獲取系統(tǒng)進(jìn)行天線校正操作后得到的N個(gè)天線權(quán)值,當(dāng)系統(tǒng)制式為頻分雙工(FDD)時(shí),將N個(gè)天線權(quán)值均設(shè)定為I。
[0016]優(yōu)選地,根據(jù)獲取的多個(gè)天線權(quán)值對第一數(shù)據(jù)流進(jìn)行乘法操作,得到第二數(shù)據(jù)流,并對第二數(shù)據(jù)流進(jìn)行逆快速傅里葉變換(IFFT)處理,得到第三數(shù)據(jù)流,包括:對N個(gè)天線權(quán)值與第一數(shù)據(jù)流進(jìn)行乘法操作,得到第二數(shù)據(jù)流;對第二數(shù)據(jù)流進(jìn)行M次IFFT處理,在IFFT處理后的數(shù)據(jù)流的幅值未超出預(yù)定幅值閾值的情況下,將IFFT處理后的數(shù)據(jù)流作為第三數(shù)據(jù)流,在IFFT處理后的數(shù)據(jù)流的幅值超出預(yù)定幅值閾值的情況下,根據(jù)預(yù)先配置的功率控制因子對IFFT處理后的數(shù)據(jù)流進(jìn)行截位處理,得到第三數(shù)據(jù)流。
[0017]優(yōu)選地,根據(jù)預(yù)先存儲(chǔ)的旋轉(zhuǎn)因子對第三數(shù)據(jù)流進(jìn)行多級循環(huán)迭代乘加運(yùn)算后輸出,包括:將第三數(shù)據(jù)流分別寫入M個(gè)不同的緩存,得到M個(gè)待處理數(shù)據(jù)流;按照地址跳轉(zhuǎn)規(guī)則,從M個(gè)不同的緩存中分別讀取每一路待處理數(shù)據(jù)流;按照預(yù)定的讀取規(guī)則,分別從存儲(chǔ)旋轉(zhuǎn)因子的緩存空間中讀取與每一路待處理數(shù)據(jù)流對應(yīng)的旋轉(zhuǎn)因子;對每一路待處理數(shù)據(jù)流和與之對應(yīng)的旋轉(zhuǎn)因子進(jìn)行復(fù)數(shù)乘法運(yùn)算,并對該路待處理數(shù)據(jù)流和復(fù)數(shù)乘法運(yùn)算結(jié)果進(jìn)行復(fù)數(shù)加法運(yùn)算,得到迭代運(yùn)算結(jié)果,其中,旋轉(zhuǎn)因子為WN_n,n的取值范圍為(0,N-1);對迭代運(yùn)算結(jié)果進(jìn)行多次迭代運(yùn)算后輸出,其中,迭代運(yùn)算的次數(shù)由帶寬配置決定。
[0018]根據(jù)本發(fā)明的另一方面,提供了一種逆快速傅里葉變換實(shí)現(xiàn)裝置,包括:合并模塊,用于接收輸入的多天線數(shù)據(jù)流,將多天線數(shù)據(jù)流合并為第一數(shù)據(jù)流;第一處理模塊,用于根據(jù)獲取的多個(gè)天線權(quán)值對第一數(shù)據(jù)流進(jìn)行乘法操作,得到第二數(shù)據(jù)流,并對第二數(shù)據(jù)流進(jìn)行逆快速傅里葉變換(IFFT)處理,得到第三數(shù)據(jù)流,其中,每個(gè)天線對應(yīng)一個(gè)天線權(quán)值;第二處理模塊,用于根據(jù)預(yù)先存儲(chǔ)的旋轉(zhuǎn)因子對第三數(shù)據(jù)流進(jìn)行多級循環(huán)迭代乘加運(yùn)算后輸出,其中,旋轉(zhuǎn)因子支持多種帶寬配置。
[0019]優(yōu)選地,合并模塊包括:映射單元,用于接收輸入的P點(diǎn)多天線數(shù)據(jù)流,將P點(diǎn)多天線數(shù)據(jù)流抽取映射為M路數(shù)據(jù)流;第一讀取單元,用于針對每一路數(shù)據(jù)流,按照預(yù)定的地址跳轉(zhuǎn)規(guī)則讀取P/2M個(gè)數(shù)據(jù)后,插入Q個(gè)0再繼續(xù)讀取剩下的P/2M個(gè)數(shù)據(jù),當(dāng)對每一路數(shù)據(jù)流讀取完畢時(shí),得到N個(gè)數(shù)據(jù)流,其中,N=P+M*Q ;合并單元,用于按照天線順序?qū)個(gè)數(shù)據(jù)流合并為第一數(shù)據(jù)流。
[0020]優(yōu)選地,第一處理模塊包括:判斷單元,用于判斷系統(tǒng)制式;獲取單元,用于當(dāng)系統(tǒng)制式為時(shí)分雙工(TDD)時(shí),獲取系統(tǒng)進(jìn)行天線校正操作后得到的N個(gè)天線權(quán)值;設(shè)定單元,用于當(dāng)系統(tǒng)制式為頻分雙工(FDD)時(shí),將N個(gè)天線權(quán)值均設(shè)定為I。
[0021 ] 優(yōu)選地,第一處理模塊還包括:計(jì)算單元,用于對N個(gè)天線權(quán)值與第一數(shù)據(jù)流進(jìn)行乘法操作,得到第二數(shù)據(jù)流;處理單元,對第二數(shù)據(jù)流進(jìn)行M次IFFT處理,在IFFT處理后的數(shù)據(jù)流的幅值未超出預(yù)定幅值閾值的情況下,將IFFT處理后的數(shù)據(jù)流作為第三數(shù)據(jù)流,在IFFT處理后的數(shù)據(jù)流的幅值超出預(yù)定幅值閾值的情況下,根據(jù)預(yù)先配置的功率控制因子對IFFT處理后的數(shù)據(jù)流進(jìn)行截位處理,得到第三數(shù)據(jù)流。
[0022]優(yōu)選地,第二處理模塊包括:存儲(chǔ)單元,用于將第三數(shù)據(jù)流分別存入M個(gè)不同的緩存,得到M個(gè)待處理數(shù)據(jù)流;第二讀取單元,用于按照地址跳轉(zhuǎn)規(guī)則,從M個(gè)不同的緩存中分別讀取每一路待處理數(shù)據(jù)流;第三讀取單元,用于按照預(yù)定的讀取規(guī)則,分別從存儲(chǔ)旋轉(zhuǎn)因子的緩存空間中讀取與每一路待處理數(shù)據(jù)流對應(yīng)的旋轉(zhuǎn)因子;第一運(yùn)算單元,用于對每一路待處理數(shù)據(jù)流和與之對應(yīng)的旋轉(zhuǎn)因子進(jìn)行復(fù)數(shù)乘法運(yùn)算,并對該路待處理數(shù)據(jù)流和復(fù)數(shù)乘法運(yùn)算結(jié)果進(jìn)行復(fù)數(shù)加法運(yùn)算,得到迭代運(yùn)算結(jié)果,其中,旋轉(zhuǎn)因子為WN_n,η的取值范圍為(O,N-1);第二運(yùn)算單元,用于對迭代運(yùn)算結(jié)果進(jìn)行多次迭代運(yùn)算后輸出,其中,迭代運(yùn)算的次數(shù)由帶寬配置決定。
[0023]通過本發(fā)明,采用將接收數(shù)據(jù)劃分為多路數(shù)據(jù)后對多路數(shù)據(jù)分別進(jìn)行IFFT運(yùn)算處理操作,并對IFFT運(yùn)算處理的數(shù)據(jù)進(jìn)行復(fù)乘迭代處理的方式,解決了 LTE系統(tǒng)各種帶寬混合靈活配置的問題,同時(shí)回避了內(nèi)插操作帶來的性能損失和全分解IFFT的復(fù)雜算法,從而達(dá)到了降低處理時(shí)延低、提高結(jié)構(gòu)靈活擴(kuò)展性,可以滿足運(yùn)營商靈活多變的組網(wǎng)需求的效果。
【專利附圖】
【附圖說明】
[0024]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0025]圖1是根據(jù)本發(fā)明實(shí)施例的逆快速傅里葉變換實(shí)現(xiàn)方法流程圖;
[0026]圖2是根據(jù)本發(fā)明實(shí)施例的逆快速傅里葉變換實(shí)現(xiàn)方法在下行物理層處理中的應(yīng)用位置(0FDM信號產(chǎn)生階段)示意圖;
[0027]圖3是根據(jù)本發(fā)明優(yōu)選實(shí)施例的本發(fā)明系統(tǒng)的逆快速傅里葉變換實(shí)現(xiàn)流程圖;
[0028]圖4是根據(jù)本發(fā)明優(yōu)選實(shí)施例的多天線載波映射及復(fù)用處理流程圖;
[0029]圖5是根據(jù)本發(fā)明優(yōu)選實(shí)施例的多天線載波映射及復(fù)用示意圖;
[0030]圖6是根據(jù)本發(fā)明優(yōu)選實(shí)施例的IFFT處理示意圖;
[0031]圖7是根據(jù)本發(fā)明優(yōu)選實(shí)施例的復(fù)乘迭代處理示意圖;
[0032]圖8是根據(jù)本發(fā)明實(shí)施例的逆快速傅里葉變換實(shí)現(xiàn)裝置的結(jié)構(gòu)框圖;
[0033]圖9是根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的逆快速傅里葉變換實(shí)現(xiàn)裝置的結(jié)構(gòu)框圖;
[0034]圖10是根據(jù)本發(fā)明另一個(gè)優(yōu)選實(shí)施例的逆快速傅里葉變換實(shí)現(xiàn)裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0035]下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0036]圖1是根據(jù)本發(fā)明實(shí)施例的逆快速傅里葉變換實(shí)現(xiàn)方法流程圖,如圖1所示,該方法主要包括以下步驟(步驟S102-步驟S106)。
[0037]步驟S102,接收輸入的多天線數(shù)據(jù)流,將多天線數(shù)據(jù)流合并為第一數(shù)據(jù)流。
[0038]步驟S104,根據(jù)獲取的多個(gè)天線權(quán)值對第一數(shù)據(jù)流進(jìn)行乘法操作,得到第二數(shù)據(jù)流,并對第二數(shù)據(jù)流進(jìn)行逆快速傅里葉變換(IFFT)處理,得到第三數(shù)據(jù)流,其中,每個(gè)天線對應(yīng)一個(gè)天線權(quán)值。
[0039]步驟S106,根據(jù)預(yù)先存儲(chǔ)的旋轉(zhuǎn)因子對第三數(shù)據(jù)流進(jìn)行多級循環(huán)迭代乘加運(yùn)算后輸出,其中,旋轉(zhuǎn)因子支持多種帶寬配置。
[0040]在本實(shí)施例的步驟S102中,當(dāng)將多天線數(shù)據(jù)流合并為第一數(shù)據(jù)流時(shí),可以通過這樣的方式實(shí)施:先接收輸入的P點(diǎn)多天線數(shù)據(jù)流,將P點(diǎn)多天線數(shù)據(jù)流抽取映射為M路數(shù)據(jù)流;再針對每一路數(shù)據(jù)流,按照預(yù)定的地址跳轉(zhuǎn)規(guī)則讀取P/2M個(gè)數(shù)據(jù)后,插入Q個(gè)O再繼續(xù)讀取剩下的P/2M個(gè)數(shù)據(jù),當(dāng)對每一路數(shù)據(jù)流讀取完畢時(shí),得到N個(gè)數(shù)據(jù)流,其中,N=P+M*Q ;最后,按照天線順序?qū)個(gè)數(shù)據(jù)流合并為第一數(shù)據(jù)流。
[0041]在本實(shí)施例的步驟S104中,通過以下方式獲取多個(gè)天線權(quán)值:判斷系統(tǒng)制式,當(dāng)系統(tǒng)制式為時(shí)分雙工(TDD)時(shí),獲取系統(tǒng)進(jìn)行天線校正操作后得到的N個(gè)天線權(quán)值,當(dāng)系統(tǒng)制式為頻分雙工(FDD)時(shí),將N個(gè)天線權(quán)值均設(shè)定為I。
[0042]本實(shí)施例的步驟S104可以這樣實(shí)現(xiàn):對N個(gè)天線權(quán)值與第一數(shù)據(jù)流進(jìn)行乘法操作,得到第二數(shù)據(jù)流;對第二數(shù)據(jù)流進(jìn)行M次IFFT處理,在IFFT處理后的數(shù)據(jù)流的幅值未超出幅值閾值的情況下,將IFFT處理后的數(shù)據(jù)流作為第三數(shù)據(jù)流,在IFFT處理后的數(shù)據(jù)流的幅值超出幅值閾值的情況下,根據(jù)預(yù)先配置的功率控制因子對IFFT處理后的數(shù)據(jù)流進(jìn)行截位處理,得到第三數(shù)據(jù)流。
[0043]本實(shí)施例的步驟S106可以這樣實(shí)現(xiàn):先將第三數(shù)據(jù)流分別寫入M個(gè)不同的緩存,得到M個(gè)待處理數(shù)據(jù)流;再按照地址跳轉(zhuǎn)規(guī)則,從M個(gè)不同的緩存中分別讀取每一路待處理數(shù)據(jù)流;按照預(yù)定的讀取規(guī)則,分別從存儲(chǔ)旋轉(zhuǎn)因子的緩存空間中讀取與每一路待處理數(shù)據(jù)流對應(yīng)的旋轉(zhuǎn)因子;對每一路待處理數(shù)據(jù)流和與之對應(yīng)的旋轉(zhuǎn)因子進(jìn)行復(fù)數(shù)乘法運(yùn)算,并對該路待處理數(shù)據(jù)流和復(fù)數(shù)乘法運(yùn)算結(jié)果進(jìn)行復(fù)數(shù)加法運(yùn)算,得到迭代運(yùn)算結(jié)果,其中,旋轉(zhuǎn)因子為WN_n,η的取值范圍為(0,N-1);對迭代運(yùn)算結(jié)果進(jìn)行多次迭代運(yùn)算后輸出,其中,迭代運(yùn)算的次數(shù)由帶寬配置決定。
[0044]首先,為了更清楚了解上述實(shí)施例,對該實(shí)施例的應(yīng)用位置做下簡單說明。請參考圖2,圖2是根據(jù)本發(fā)明實(shí)施例的逆快速傅里葉變換實(shí)現(xiàn)方法在下行物理層處理中的應(yīng)用位置(OFDM信號產(chǎn)生階段)示意圖,如圖2所示,該方法主要應(yīng)用于下行物理層處理的OFDM信號產(chǎn)生階段(該階段的示意圖已經(jīng)作了背景標(biāo)注)。
[0045]下面結(jié)合圖3至圖7及優(yōu)選實(shí)施例對本發(fā)明實(shí)施例的逆快速傅里葉變換實(shí)現(xiàn)方法進(jìn)行詳細(xì)說明。
[0046]圖3是根據(jù)本發(fā)明優(yōu)選實(shí)施例的本發(fā)明系統(tǒng)的逆快速傅里葉變換實(shí)現(xiàn)流程圖,如圖3所示,該方法主要包括以下步驟(步驟S302-步驟S310)。
[0047]步驟S302、接收輸入的P點(diǎn)數(shù)據(jù)流,分別寫入各自指定的緩存空間。
[0048]步驟S304、映射復(fù)用處理單元根據(jù)配置帶寬,從各個(gè)緩存空間,讀取M路數(shù)據(jù)共N點(diǎn),用于后級數(shù)據(jù)處理。
[0049]步驟S306、順序輸入N點(diǎn)數(shù)據(jù),循環(huán)調(diào)用I個(gè)512點(diǎn)IFFT處理單元,完成M次IFFT運(yùn)算。
[0050]步驟S308、將串行輸出的M路數(shù)據(jù),由控制模塊分別寫入M個(gè)不同的緩存空間。
[0051]步驟S310、從M個(gè)不同的緩存空間讀取數(shù)據(jù),與另一個(gè)緩存空間中存儲(chǔ)的旋轉(zhuǎn)因子完成M次復(fù)數(shù)乘法運(yùn)算。在輸出數(shù)據(jù)時(shí)完成定標(biāo)操作,防止數(shù)據(jù)溢出。
[0052]下面結(jié)合圖4和圖5多天線載波映射及復(fù)用處理流程進(jìn)行進(jìn)一步的說明。
[0053]圖5是根據(jù)本發(fā)明優(yōu)選實(shí)施例的多天線載波映射及復(fù)用示意圖,在圖5中,多天線載波映射及復(fù)用處理流程可以這樣實(shí)施。
[0054](I)根據(jù)配置帶寬,決定此時(shí)的運(yùn)算規(guī)模和復(fù)用規(guī)模,將前級處理完的數(shù)據(jù),寫入指定的緩存空間,寫入的各類數(shù)據(jù)流每間隔一個(gè)數(shù)據(jù)符號進(jìn)行一次數(shù)據(jù)流之間的倒換處理(按照奇數(shù)位置和偶數(shù)位置所在的數(shù)據(jù)符號向不同的緩存空間寫入數(shù)據(jù))。
[0055](2)根據(jù)配置帶寬,從緩存空間中讀取數(shù)據(jù),用于后級數(shù)據(jù)處理。此時(shí),請參考圖4,圖4是根據(jù)本發(fā)明優(yōu)選實(shí)施例的多天線載波映射及復(fù)用處理流程圖,如圖4所示,該流程主要包括以下步驟(步驟S402-步驟S410)。
[0056]步驟S402,讀取已經(jīng)寫入緩存空間中的P點(diǎn)數(shù)據(jù),等分成M路數(shù)據(jù)輸出。
[0057]在本優(yōu)選實(shí)施例中,一個(gè)數(shù)據(jù)符號共P個(gè)數(shù)據(jù)流,抽取映射為M路,每一路P/M個(gè)數(shù)據(jù)流。初始化讀地址為1,地址加M遞增,以下按照M路地址跳轉(zhuǎn)規(guī)則計(jì)算M路地址。
[0058]步驟S404,計(jì)算第一路的讀地址 ram_raddr_chl 為:I, M+l, 2M+1, 3M+1, ? ?.P-M+1。
[0059]步驟S406,計(jì)算第二路的讀地址 ram_raddr_ch2 為:2,M+2,2M+2, 3M+2, ? ?.P-M+2。
[0060]步驟S408,計(jì)算第 M 路的讀地址 ram_raddr_chM 為:M, 2M, 3M, 4M, ? ?.P。
[0061]步驟S410,將M路讀地址按先后順序串行合并,讀出N點(diǎn)數(shù)據(jù)。
[0062]其中,在各路地址串行順序輸出過程中,對于每一路數(shù)據(jù)而言,在讀出P/2M個(gè)數(shù)據(jù)后,插入Q個(gè)數(shù)據(jù)0,然后再完成P/2M各數(shù)據(jù)的讀取,循環(huán)M次得到M路共N個(gè)數(shù)據(jù)流。
[0063]其中P,M,N的取值由當(dāng)前系統(tǒng)的處理模式來確定,幾個(gè)參數(shù)之間的計(jì)算關(guān)系為:P+M*Q=N。
[0064]各參數(shù)的取值范圍為:M的取值范圍為f 4,P的取值范圍為72~1200,Q的取值范圍為112~212,N的取值范圍為512~2048。
[0065]在數(shù)據(jù)讀取過程中,每間隔一個(gè)數(shù)據(jù)符號進(jìn)行一次數(shù)據(jù)流之間的切換處理(按照奇數(shù)位置和偶數(shù)位置所在的數(shù)據(jù)符號從不同的緩存空間讀取數(shù)據(jù)),在實(shí)際應(yīng)用中,可以按照天線順序先后讀取,最終多天線的數(shù)據(jù)合并為一個(gè)數(shù)據(jù)流,再進(jìn)行多天線串行IFFT處理。
[0066]在實(shí)際應(yīng)用中,每次從不同的緩存空間讀取數(shù)據(jù)操作完成后,還可以對同一片緩存空間進(jìn)行清零操作,確保各個(gè)數(shù)據(jù)符號之間的處理獨(dú)立互不影響。
[0067]圖6是根據(jù)本發(fā)明優(yōu)選實(shí)施例的IFFT處理示意圖,在圖6中,IFFT處理流程可以這樣實(shí)施。
[0068](I)根據(jù)系統(tǒng)工作的制式,決定是否需要進(jìn)行天線校正操作。
[0069](2)在時(shí)分雙工(Time Division Duplexing,簡稱為TDD)模式下,需要根據(jù)配置帶寬存儲(chǔ)系統(tǒng)對多天線進(jìn)行校正后得到的多個(gè)天線權(quán)值。在頻分雙工(Frequency DivisionDuplexing,簡稱為FDD)模式下,權(quán)值使用全I(xiàn)代替。根據(jù)各種規(guī)模配置下總資源塊的大小,確定所占用的存儲(chǔ)空間。
[0070](3)根據(jù)不同配置的帶寬,產(chǎn)生讀取天線校正權(quán)值的地址,得到N個(gè)權(quán)值流,分為M路,其中N和M的取值由當(dāng)前系統(tǒng)的處理模式來確定,且均為大于等于I的整數(shù)。
[0071](4)多天線載波映射及復(fù)用處理單元輸出的N個(gè)數(shù)據(jù)流與步驟3讀出的N個(gè)權(quán)值流完成乘法操作。多天線數(shù)據(jù)串行完成M次IFFT處理。對完成IFFT處理的數(shù)據(jù),使用配置的功控因子進(jìn)行動(dòng)態(tài)截位處理,確保數(shù)據(jù)流的幅值在預(yù)定的幅值范圍內(nèi)。
[0072]圖7是根據(jù)本發(fā)明優(yōu)選實(shí)施例的復(fù)乘迭代處理示意圖,在圖7中,復(fù)乘迭代處理流程可以這樣實(shí)施。
[0073](I)經(jīng)過截位處理后的M路N個(gè)數(shù)據(jù)流,由控制模塊分別寫入M個(gè)不同的緩存空間。第rN/M個(gè)數(shù)據(jù)流,寫入第I個(gè)緩存;第N/M+f 2*N/M個(gè)數(shù)據(jù)流,寫入第2個(gè)緩存;第(M-1) *N/M+rN個(gè)數(shù)據(jù)流,寫入第M個(gè)緩存。
[0074](2)控制使能信號如步驟I的地址跳轉(zhuǎn)規(guī)則一致,均需要根據(jù)配置帶寬來在線調(diào)M
iF.0
[0075](3)數(shù)據(jù)流之間的切換處理:每間隔N/M個(gè)數(shù)據(jù)流進(jìn)行一次數(shù)據(jù)流之間的切換處理。
[0076](4)從指定的緩存空間,讀取數(shù)據(jù)。由于數(shù)據(jù)分M路,此處需要控制數(shù)據(jù)循環(huán)M次讀出,需要和旋轉(zhuǎn)因子做復(fù)數(shù)乘法運(yùn)算。
[0077](5)在每級迭代運(yùn)算的過程中,需要在數(shù)據(jù)流中乘一個(gè)旋轉(zhuǎn)因子WN_n,n的取值范圍為(0,N-1)。由于系統(tǒng)需要支持的帶寬配置較多,最簡單的設(shè)計(jì)是各種帶寬均需存儲(chǔ)一張旋轉(zhuǎn)因子的表。
[0078]需要說明的是,針對此處,在實(shí)際應(yīng)用中還可以采用以下更加優(yōu)化的方案。
[0079]在實(shí)際應(yīng)用中,可以將旋轉(zhuǎn)因子的實(shí)部和虛部分為四個(gè)象限。根據(jù)公式推導(dǎo)發(fā)現(xiàn)分別存在一定的對應(yīng)關(guān)系,因此,可以利用對稱性來節(jié)省緩存空間。例如,可以設(shè)定余弦第一象限的點(diǎn)為A,第二象限的點(diǎn)為B,余弦的其他兩個(gè)象限的值和正弦的四個(gè)象限的值,均可以推導(dǎo)得出。此方法可以節(jié)省80%的緩存空間。
[0080](5a)初始化讀地址,讀取余弦旋轉(zhuǎn)因子的讀地址初始化為0,讀取正弦旋轉(zhuǎn)因子的讀地址初始化為N/M。
[0081](5b)根據(jù)配置的帶寬參數(shù),決定地址跳轉(zhuǎn)規(guī)則和讀取哪一個(gè)緩存空間的內(nèi)容。具體地,假設(shè)帶寬為20M,則讀取20M和IOM共用的緩存空間,此時(shí)N=2048,M=4。余弦旋轉(zhuǎn)因子讀地址加I遞增,正弦旋轉(zhuǎn)因子讀地址減I遞減。在實(shí)際應(yīng)用中,可以將余弦旋轉(zhuǎn)因子讀地址初始化為0,加I遞增操作,當(dāng)讀遞增到1023時(shí),地址重新跳轉(zhuǎn)到0,繼續(xù)讀地址加I遞增操作;將正弦旋轉(zhuǎn)因子讀地址初始化為512,減I遞減操作,當(dāng)讀地址遞減到0時(shí),地址跳轉(zhuǎn)到1023,繼續(xù)讀地址減I遞減操作;該操作在遍歷完2048點(diǎn)后,即完成I個(gè)符號的旋轉(zhuǎn)因子的讀取。
[0082](5c)讀取緩存空間(該緩存空間專用于存儲(chǔ)數(shù)據(jù))中的第M路數(shù)據(jù),同時(shí)讀取另一緩存空間中的旋轉(zhuǎn)因子,二者完成復(fù)數(shù)乘法操作,在輸出數(shù)據(jù)時(shí)完成定標(biāo)操作,防止數(shù)據(jù)溢出。
[0083](5d)讀取緩存空間中的第M-1路數(shù)據(jù),并進(jìn)行延時(shí)H個(gè)周期,H為步驟5c的處理時(shí)延。延時(shí)H個(gè)周期后得到的數(shù)據(jù),與步驟5c的輸出數(shù)據(jù),進(jìn)行復(fù)數(shù)加法操作,在輸出數(shù)據(jù)時(shí)完成定標(biāo)操作,防止數(shù)據(jù)溢出。
[0084](5e)讀取緩存空間(該緩存空間專用于存儲(chǔ)選擇因子,與存儲(chǔ)數(shù)據(jù)的緩存空間是不同的緩存空間)中的旋轉(zhuǎn)因子,方法見步驟5b,并進(jìn)行延時(shí)K個(gè)周期,K為步驟5c+5d的處理時(shí)延。延時(shí)K個(gè)周期后得到的旋轉(zhuǎn)因子,與步驟5d的輸出數(shù)據(jù),進(jìn)行復(fù)數(shù)乘法操作,在輸出數(shù)據(jù)時(shí)完成定標(biāo)操作,防止數(shù)據(jù)溢出。
[0085](5f)讀取緩存空間中的第M-2路數(shù)據(jù),并進(jìn)行延時(shí)L個(gè)周期,L為步驟5c+5d+5e的處理時(shí)延。延時(shí)L個(gè)周期后得到的數(shù)據(jù),與步驟5e的輸出數(shù)據(jù),進(jìn)行復(fù)數(shù)加法操作,在輸出數(shù)據(jù)時(shí)完成定標(biāo)操作,防止數(shù)據(jù)溢出。
[0086]重復(fù)上述5eT5f操作,直至讀取緩存空間中的第I路數(shù)據(jù)。[0087](6)經(jīng)過復(fù)乘迭代處理后的M路N個(gè)數(shù)據(jù)流,按天線串行輸出,由寫緩存控制模塊按天線分別寫入各自天線的緩存空間。
[0088]下面以LTE系統(tǒng)配置帶寬20MMHZ帶寬為例,對本發(fā)明實(shí)施例的逆快速傅里葉變換實(shí)現(xiàn)方法進(jìn)行更加具體的說明。在LTE系統(tǒng)配置帶寬20MMHZ帶寬時(shí),系統(tǒng)需要同時(shí)支持2048點(diǎn)和1536點(diǎn)IFFT處理,前2根天線支持2048點(diǎn)IFFT,后2根天線支持1536點(diǎn)IFFT。
[0089]1、輸入1200點(diǎn)數(shù)據(jù)流,分別寫入各自天線指定的緩存空間。進(jìn)行2048點(diǎn)IFFT的數(shù)據(jù)抽取映射為4路,每一路512個(gè)數(shù)據(jù)流;進(jìn)行1536點(diǎn)IFFT的數(shù)據(jù)抽取映射為3路,每一路512個(gè)數(shù)據(jù)流。
[0090]2、進(jìn)行2048點(diǎn)IFFT的數(shù)據(jù)流,初始化讀地址為I,地址加4遞增。4路地址跳轉(zhuǎn)規(guī)則如下:
[0091]第一路的讀地址ram_raddr_chl 為:1,5,9,13,...1197 ;
[0092]第二路的讀地址ram_raddr_ch2 為:2,6,10,14,...1198 ;
[0093]第三路的讀地址ram_raddr_ch3 為:3,7,11,15,...1199 ;
[0094]第四路的讀地址ram_raddr_ch4 為:4,8,12,16,...1200 ;
[0095]各路地址串行順序輸出,每一路數(shù)據(jù),在讀出150個(gè)數(shù)據(jù)后,插入212個(gè)數(shù)據(jù)0,然后再完成150個(gè)數(shù)據(jù)的讀取。循環(huán)4次得到4路共2048個(gè)數(shù)據(jù)流。
[0096]3、進(jìn)行1536點(diǎn)IFFT的數(shù)據(jù)流,初始化讀地址為1,地址加3遞增。3路地址跳轉(zhuǎn)規(guī)則如下:
[0097]第一路的讀地址ram_raddr_chl 為:1,4,7,10,...1198 ;
[0098]第二路的讀地址ram_raddr_ch2 為:2,5,8,13,...1199 ;
[0099]第三路的讀地址ram_raddr_ch3 為:3,6,9,12,...1200 ;
[0100]各路地址串行順序輸出,每一路數(shù)據(jù),在讀出200個(gè)數(shù)據(jù)后,插入112個(gè)數(shù)據(jù)0,然后再完成200個(gè)數(shù)據(jù)的讀取。循環(huán)3次得到3路共1536個(gè)數(shù)據(jù)流。
[0101]4、前端模塊數(shù)據(jù)寫入是以符號為單位的,在符號內(nèi)的持續(xù)時(shí)間不確定。因此緩存空間按照乒乓操作來開辟的,寫入的各類數(shù)據(jù)流每間隔一個(gè)數(shù)據(jù)符號進(jìn)行一次數(shù)據(jù)流之間的切換處理。
[0102]5、進(jìn)行2048點(diǎn)IFFT的數(shù)據(jù)流和進(jìn)行1536點(diǎn)IFFT的數(shù)據(jù)流,是串行進(jìn)入各處理模塊的,僅占用一套資源。
[0103]6、從權(quán)值緩存空間中讀取天線校正權(quán)值。TDD模式下,使用配置的權(quán)值,F(xiàn)DD模式下,無權(quán)值,使用全I(xiàn)代替,保證處理流程的一致性。前2根天線支持2048點(diǎn)IFFT,讀取2048個(gè)權(quán)值,分為4路;后2根天線支持1536點(diǎn)IFFT,讀取1536個(gè)權(quán)值,分為3路。
[0104]7、多天線載波映射及復(fù)用處理單元輸出的數(shù)據(jù)與步驟6讀取的對應(yīng)權(quán)值完成乘法操作。完成乘法操作后的數(shù)據(jù)串行送入IFFT處理,支持2048點(diǎn)IFFT的需完成4次512點(diǎn)IFFT操作,支持1536點(diǎn)IFFT的需完成3次512點(diǎn)IFFT操作。
[0105]8、對完成IFFT處理的數(shù)據(jù),使用配置的功控因子進(jìn)行動(dòng)態(tài)截位處理,確保數(shù)據(jù)流的幅值在預(yù)定的幅值范圍內(nèi)。
[0106]9、經(jīng)過截位處理后的4路2048點(diǎn)IFFT的數(shù)據(jù)流,由控制模塊分別寫入4個(gè)不同的緩存空間。第廣512個(gè)數(shù)據(jù)流,寫入第I個(gè)緩存;第513?1024個(gè)數(shù)據(jù)流,寫入第2個(gè)緩存;第1025?1536個(gè)數(shù)據(jù)流,寫入第3個(gè)緩存;第1537?2048個(gè)數(shù)據(jù)流,寫入第4個(gè)緩存。[0107]10、經(jīng)過截位處理后的3路1536點(diǎn)IFFT的數(shù)據(jù)流,由控制模塊分別寫入3個(gè)不同的緩存空間。第廣512個(gè)數(shù)據(jù)流,寫入第I個(gè)緩存;第513?1024個(gè)數(shù)據(jù)流,寫入第2個(gè)緩存;第1025?1536個(gè)數(shù)據(jù)流,寫入第3個(gè)緩存。
[0108]11、從指定的緩存空間,讀取數(shù)據(jù)。由于后級復(fù)乘迭代操作是循環(huán)進(jìn)行的,此處的緩存空間也是按照乒乓操作來開辟的。
[0109]12、在每級迭代運(yùn)算的過程中,需要在數(shù)據(jù)流中乘以旋轉(zhuǎn)因子WN_n。4路2048點(diǎn)IFFT的數(shù)據(jù)流,讀取20MHz和IOMHz帶寬共用的緩存空間;3路1536點(diǎn)IFFT的數(shù)據(jù)流,讀取15MHz帶寬的緩存空間。
[0110]13、讀取20MHz和IOMHz帶寬共用的緩存空間的具體步驟:
[0111]將余弦旋轉(zhuǎn)因子讀地址初始化為0,加I遞增操作,當(dāng)讀遞增到1023時(shí),地址重新跳轉(zhuǎn)到0,繼續(xù)讀地址加I遞增操作。
[0112]將正弦旋轉(zhuǎn)因子讀地址初始化為512,減I遞減操作,當(dāng)讀地址遞減到O時(shí),地址跳轉(zhuǎn)到1023,繼續(xù)讀地址減I遞減操作。
[0113]該操作在循環(huán)4次遍歷完2048點(diǎn)后,即完成I個(gè)符號的旋轉(zhuǎn)因子的讀取。
[0114]14、讀取15MHz帶寬的緩存空間的具體步驟:
[0115]將余弦旋轉(zhuǎn)因子讀地址初始化為0,加I遞增操作,當(dāng)讀遞增到767時(shí),地址重新跳轉(zhuǎn)到0,繼續(xù)讀地址加I遞增操作。
[0116]將正弦旋轉(zhuǎn)因子讀地址初始化為384,減I遞減操作,當(dāng)讀地址遞減到O時(shí),地址跳轉(zhuǎn)到767,繼續(xù)讀地址減I遞減操作。
[0117]該操作在循環(huán)3次遍歷完1536點(diǎn)后,即完成I個(gè)符號的旋轉(zhuǎn)因子的讀取。
[0118]15、4路2048點(diǎn)IFFT的數(shù)據(jù)流的復(fù)乘迭代處理:
[0119]15a:讀取緩存空間中的第4路數(shù)據(jù),同時(shí)如操作13讀取旋轉(zhuǎn)因子,二者完成復(fù)數(shù)乘法操作。在輸出數(shù)據(jù)時(shí)完成定標(biāo)操作,防止數(shù)據(jù)溢出。
[0120]15b:讀取緩存空間中的第3路數(shù)據(jù),并進(jìn)行延時(shí)H個(gè)周期,H為步驟15a的處理時(shí)延,大小與所選用的乘法操作的時(shí)延相關(guān),一般范圍為2飛個(gè)時(shí)鐘周期。延時(shí)H個(gè)周期后的數(shù)據(jù),與步驟15a的輸出數(shù)據(jù),進(jìn)行復(fù)數(shù)加法操作。
[0121]15c:如操作13讀取旋轉(zhuǎn)因子,延時(shí)K個(gè)周期,K為步驟15a+15b的處理時(shí)延,大小與所選用的乘法和加法操作的時(shí)延相關(guān),一般范圍為3?7個(gè)時(shí)鐘周期。延時(shí)K個(gè)周期后得到的旋轉(zhuǎn)因子,與步驟15b的輸出數(shù)據(jù),進(jìn)行復(fù)數(shù)乘法操作。在輸出數(shù)據(jù)時(shí)完成定標(biāo)操作,防止數(shù)據(jù)溢出。
[0122]15d:讀取緩存空間中的第2路數(shù)據(jù),并進(jìn)行延時(shí)L個(gè)周期,L為步驟15a+15b+15c的處理時(shí)延,一般范圍為5?13個(gè)時(shí)鐘周期。延時(shí)L個(gè)周期后的數(shù)據(jù),與步驟15c的輸出數(shù)據(jù),進(jìn)行復(fù)數(shù)加法操作。
[0123]15e:如操作13讀取旋轉(zhuǎn)因子,延時(shí)G個(gè)周期,G為步驟15a+15b+15c+15d的處理時(shí)延,一般范圍在6?14個(gè)時(shí)鐘周期。延時(shí)G個(gè)周期后得到的旋轉(zhuǎn)因子,與步驟15d的輸出數(shù)據(jù),進(jìn)行復(fù)數(shù)乘法操作。在輸出數(shù)據(jù)時(shí)完成定標(biāo)操作,防止數(shù)據(jù)溢出。
[0124]15f:讀取緩存空間中的第I路數(shù)據(jù),并進(jìn)行延時(shí)J個(gè)周期,J為步驟15a+15b+15c+15d+15e的處理時(shí)延,一般范圍為8?20個(gè)時(shí)鐘周期。延時(shí)J個(gè)周期后的數(shù)據(jù),與步驟15e的輸出數(shù)據(jù),進(jìn)行復(fù)數(shù)加法操作。[0125]16、經(jīng)過步驟15復(fù)乘迭代處理后的4路2048個(gè)數(shù)據(jù)流,按天線串行輸出,由寫緩存控制模塊按天線分別寫入各自天線的緩存空間。
[0126]17、3路1536點(diǎn)IFFT的數(shù)據(jù)流的復(fù)乘迭代處理:
[0127]17a:讀取緩存空間中的第3路數(shù)據(jù),并進(jìn)行延時(shí)H個(gè)周期,H為步驟15a的處理時(shí)延,大小與所選用的乘法操作的時(shí)延相關(guān),一般范圍為3?7個(gè)時(shí)鐘周期。
[0128]17b:如操作14讀取旋轉(zhuǎn)因子,延時(shí)K個(gè)周期,K為步驟17a的處理時(shí)延,一般范圍為3?7個(gè)時(shí)鐘周期。延時(shí)K個(gè)周期后得到的旋轉(zhuǎn)因子,與步驟17a的輸出數(shù)據(jù),進(jìn)行復(fù)數(shù)乘法操作。在輸出數(shù)據(jù)時(shí)完成定標(biāo)操作,防止數(shù)據(jù)溢出。
[0129]17c:讀取緩存空間中的第2路數(shù)據(jù),并進(jìn)行延時(shí)L個(gè)周期,L為步驟17a+17b的處理時(shí)延,一般范圍為5?13個(gè)時(shí)鐘周期。延時(shí)L個(gè)周期后的數(shù)據(jù),與步驟14c的輸出數(shù)據(jù),進(jìn)行復(fù)數(shù)加法操作。
[0130]17d:如操作14讀取旋轉(zhuǎn)因子,延時(shí)G個(gè)周期,G為步驟17a+17b+17c的處理時(shí)延,一般范圍在7?19個(gè)時(shí)鐘周期。延時(shí)G個(gè)周期后得到的旋轉(zhuǎn)因子,與步驟17c的輸出數(shù)據(jù),進(jìn)行復(fù)數(shù)乘法操作。在輸出數(shù)據(jù)時(shí)完成定標(biāo)操作,防止數(shù)據(jù)溢出。
[0131]17e:讀取緩存空間中的第I路數(shù)據(jù),并進(jìn)行延時(shí)J個(gè)周期,J為步驟17a+17b+17c+17d的處理時(shí)延,一般范圍為8?20個(gè)時(shí)鐘周期。延時(shí)J個(gè)周期后的數(shù)據(jù),與步驟17d的輸出數(shù)據(jù),進(jìn)行復(fù)數(shù)加法操作。
[0132]18、經(jīng)過步驟17復(fù)乘迭代處理后的3路1536個(gè)數(shù)據(jù)流,按天線串行輸出,由寫緩存控制模塊按天線分別寫入各自天線的緩存空間。
[0133]采用上述實(shí)施例提供的逆快速傅里葉變換實(shí)現(xiàn)方法,解決了 LTE系統(tǒng)各種帶寬混合靈活配置的問題,同時(shí)回避了內(nèi)插操作帶來的性能損失和全分解IFFT的復(fù)雜算法,從而達(dá)到了降低處理時(shí)延低、提高結(jié)構(gòu)靈活擴(kuò)展性,可以滿足運(yùn)營商靈活多變的組網(wǎng)需求的效果。
[0134]圖8是根據(jù)本發(fā)明實(shí)施例的逆快速傅里葉變換實(shí)現(xiàn)裝置的結(jié)構(gòu)框圖,該裝置用以實(shí)現(xiàn)上述實(shí)施例提供的逆快速傅里葉變換實(shí)現(xiàn),如圖8所示,該裝置主要包括:合并模塊
10、第一處理模塊20以及第二處理模塊30。其中,合并模塊10,用于接收輸入的多天線數(shù)據(jù)流,將多天線數(shù)據(jù)流合并為第一數(shù)據(jù)流;第一處理模塊20,連接至合并模塊10,用于根據(jù)獲取的多個(gè)天線權(quán)值對第一數(shù)據(jù)流進(jìn)行乘法操作,得到第二數(shù)據(jù)流,并對第二數(shù)據(jù)流進(jìn)行逆快速傅里葉變換(IFFT)處理,得到第三數(shù)據(jù)流,其中,每個(gè)天線對應(yīng)一個(gè)天線權(quán)值;第二處理模塊30,連接至第一處理模塊20,用于根據(jù)預(yù)先存儲(chǔ)的旋轉(zhuǎn)因子對第三數(shù)據(jù)流進(jìn)行多級循環(huán)迭代乘加運(yùn)算后輸出,其中,旋轉(zhuǎn)因子支持多種帶寬配置。
[0135]圖9是根據(jù)本發(fā)明一個(gè)優(yōu)選實(shí)施例的逆快速傅里葉變換實(shí)現(xiàn)裝置的結(jié)構(gòu)框圖,如圖9所示,在該優(yōu)選裝置中,合并模塊10可以包括:映射單元12,用于接收輸入的P點(diǎn)多天線數(shù)據(jù)流,將P點(diǎn)多天線數(shù)據(jù)流抽取映射為M路數(shù)據(jù)流;第一讀取單元14,連接至映射單元12,用于針對每一路數(shù)據(jù)流,按照預(yù)定的地址跳轉(zhuǎn)規(guī)則讀取P/2M個(gè)數(shù)據(jù)后,插入Q個(gè)0再繼續(xù)讀取剩下的P/2M個(gè)數(shù)據(jù),當(dāng)對每一路數(shù)據(jù)流讀取完畢時(shí),得到N個(gè)數(shù)據(jù)流,其中,N=P+M*Q ;合并單元16,連接至第一讀取單元14,用于按照天線順序?qū)個(gè)數(shù)據(jù)流合并為第一數(shù)據(jù)流。
[0136]在該優(yōu)選實(shí)施例提供的裝置中,第一處理模塊20可以包括:判斷單元22,用于判斷系統(tǒng)制式;獲取單元24,連接至判斷單元22,用于當(dāng)系統(tǒng)制式為時(shí)分雙工(TDD)時(shí),獲取系統(tǒng)進(jìn)行天線校正操作后得到的N個(gè)天線權(quán)值;設(shè)定單元26,連接至判斷單元22,用于當(dāng)系統(tǒng)制式為頻分雙工(FDD)時(shí),將N個(gè)天線權(quán)值均設(shè)定為I。
[0137]在該優(yōu)選實(shí)施例提供的裝置中,第一處理模塊20還可以包括:計(jì)算單元27,用于對N個(gè)天線權(quán)值與第一數(shù)據(jù)流進(jìn)行乘法操作,得到第二數(shù)據(jù)流;處理單元28,連接至計(jì)算單元27,對第二數(shù)據(jù)流進(jìn)行M次IFFT處理,在IFFT處理后的數(shù)據(jù)流的幅值未超出幅值閾值的情況下,將IFFT處理后的數(shù)據(jù)流作為第三數(shù)據(jù)流,在IFFT處理后的數(shù)據(jù)流的幅值超出幅值閾值的情況下,根據(jù)預(yù)先配置的功率控制因子對IFFT處理后的數(shù)據(jù)流進(jìn)行截位處理,得到第三數(shù)據(jù)流。
[0138]在該優(yōu)選實(shí)施例提供的裝置中,第二處理模塊30可以包括:存儲(chǔ)單元32,用于將第三數(shù)據(jù)流分別存入M個(gè)不同的緩存,得到M個(gè)待處理數(shù)據(jù)流;第二讀取單元34,連接至存儲(chǔ)單元32,用于按照地址跳轉(zhuǎn)規(guī)則,從M個(gè)不同的緩存中分別讀取每一路待處理數(shù)據(jù)流;第三讀取單元36,連接至第二讀取單元34,用于按照預(yù)定的讀取規(guī)則,分別從存儲(chǔ)旋轉(zhuǎn)因子的緩存空間中讀取與每一路待處理數(shù)據(jù)流對應(yīng)的旋轉(zhuǎn)因子;第一運(yùn)算單元37,連接至第三讀取單元36,用于對每一路待處理數(shù)據(jù)流和與之對應(yīng)的旋轉(zhuǎn)因子進(jìn)行復(fù)數(shù)乘法運(yùn)算,并對該路待處理數(shù)據(jù)流和復(fù)數(shù)乘法運(yùn)算結(jié)果進(jìn)行復(fù)數(shù)加法運(yùn)算,得到迭代運(yùn)算結(jié)果,其中,旋轉(zhuǎn)因子為WN_n,η的取值范圍為(0,N-1);第二運(yùn)算單元38,連接至第一運(yùn)算單元37,用于對迭代運(yùn)算結(jié)果進(jìn)行多次迭代運(yùn)算后輸出,其中,迭代運(yùn)算的次數(shù)由帶寬配置決定。
[0139]當(dāng)然在實(shí)際應(yīng)用中,逆快速傅里葉變換實(shí)現(xiàn)裝置也可以采用如下的組成方式。
[0140]例如,請參考圖10,圖10是根據(jù)本發(fā)明另一個(gè)優(yōu)選實(shí)施例的逆快速傅里葉變換實(shí)現(xiàn)裝置的結(jié)構(gòu)示意圖,如圖10所示,該優(yōu)選裝置主要包括:多天線載波映射及復(fù)用處理單元,IFFT處理單元,復(fù)乘迭代處理單元。下面對各個(gè)單元的功能進(jìn)行介紹:
[0141]多天線載波映射及復(fù)用處理單元:根據(jù)配置帶寬信息,對前端模塊輸入的多天線數(shù)據(jù)流,采用不同的讀寫地址計(jì)算及跳轉(zhuǎn)規(guī)則,在讀取數(shù)據(jù)時(shí)完成數(shù)據(jù)流之間的切換處理,多天線數(shù)據(jù)時(shí)分合并為一個(gè)數(shù)據(jù)流,串行送入后級IFFT處理。
[0142]IFFT處理單元:根據(jù)系統(tǒng)制式,可以選擇是否進(jìn)行天線校正操作。進(jìn)行校正權(quán)值的讀寫地址控制,完成多天線權(quán)值與數(shù)據(jù)流的乘法操作。對完成IFFT處理的數(shù)據(jù),使用配置的功控因子進(jìn)行動(dòng)態(tài)截位處理。
[0143]復(fù)乘迭代處理單元:根據(jù)從IFFT處理單元輸出的有效數(shù)據(jù)指示,產(chǎn)生地址映射和切換規(guī)則。同時(shí),根據(jù)旋轉(zhuǎn)因子和數(shù)據(jù)流的對應(yīng)關(guān)系,一方面控制數(shù)據(jù)流的讀取和跳轉(zhuǎn),另一方面控制旋轉(zhuǎn)因子查找表的讀地址,控制因子的輸出。進(jìn)行數(shù)據(jù)與旋轉(zhuǎn)因子的多級循環(huán)迭代乘加運(yùn)算,同時(shí)控制輸出數(shù)據(jù)的定標(biāo),避免溢出。
[0144]采用上述實(shí)施例提供的逆快速傅里葉變換實(shí)現(xiàn)裝置,解決了 LTE系統(tǒng)各種帶寬混合靈活配置的問題,同時(shí)回避了內(nèi)插操作帶來的性能損失和全分解IFFT的復(fù)雜算法,從而達(dá)到了降低處理時(shí)延低、提高結(jié)構(gòu)靈活擴(kuò)展性,可以滿足運(yùn)營商靈活多變的組網(wǎng)需求的效
果O
[0145]從以上的描述中,可以看出,本發(fā)明實(shí)現(xiàn)了如下技術(shù)效果:解決了 LTE系統(tǒng)各種帶寬混合靈活配置的問題,同時(shí)回避了內(nèi)插操作帶來的性能損失和全分解IFFT的復(fù)雜算法。不僅降低了 FPGA芯片資源的占用,處理時(shí)延低,而且結(jié)構(gòu)靈活擴(kuò)展性高,可以滿足運(yùn)營商靈活多變的組網(wǎng)需求,提高了產(chǎn)品競爭力。
[0146]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
[0147]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種逆快速傅里葉變換實(shí)現(xiàn)方法,其特征在于,包括: 接收輸入的多天線數(shù)據(jù)流,將所述多天線數(shù)據(jù)流合并為第一數(shù)據(jù)流; 根據(jù)獲取的多個(gè)天線權(quán)值對所述第一數(shù)據(jù)流進(jìn)行乘法操作,得到所述第二數(shù)據(jù)流,并對所述第二數(shù)據(jù)流進(jìn)行逆快速傅里葉變換IFFT處理,得到第三數(shù)據(jù)流,其中,每個(gè)天線對應(yīng)一個(gè)天線權(quán)值; 根據(jù)預(yù)先存儲(chǔ)的旋轉(zhuǎn)因子對所述第三數(shù)據(jù)流進(jìn)行多級循環(huán)迭代乘加運(yùn)算后輸出,其中,所述旋轉(zhuǎn)因子支持多種帶寬配置。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述多天線數(shù)據(jù)流合并為第一數(shù)據(jù)流,包括: 接收輸入的P點(diǎn)多天線數(shù)據(jù)流,將所述P點(diǎn)多天線數(shù)據(jù)流抽取映射為M路數(shù)據(jù)流;針對每一路數(shù)據(jù)流,按照預(yù)定的地址跳轉(zhuǎn)規(guī)則讀取P/2M個(gè)數(shù)據(jù)后,插入Q個(gè)O再繼續(xù)讀取剩下的P/2M個(gè)數(shù)據(jù),當(dāng)對每一路數(shù)據(jù)流讀取完畢時(shí),得到N個(gè)數(shù)據(jù)流,其中,N=P+M*Q ;按照天線順序?qū)⑺鯪個(gè)數(shù)據(jù)流合并為所述第一數(shù)據(jù)流。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,通過以下方式獲取所述多個(gè)天線權(quán)值: 判斷系統(tǒng)制式,當(dāng)所述系統(tǒng)制式為時(shí)分雙工TDD時(shí),獲取系統(tǒng)進(jìn)行天線校正操作后得到的N個(gè)天線權(quán)值,當(dāng)所述系統(tǒng)制式為頻分雙工FDD時(shí),將所述N個(gè)天線權(quán)值均設(shè)定為I。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,根據(jù)獲取的多個(gè)天線權(quán)值對所述第一數(shù)據(jù)流進(jìn)行乘法操作,得到所述第二數(shù)據(jù)流,并對所述第二數(shù)據(jù)流進(jìn)行逆快速傅里葉變換IFFT處理,得到第三數(shù)據(jù)流,包括:` 對所述N個(gè)天線權(quán)值與所述第一數(shù)據(jù)流進(jìn)行乘法操作,得到所述第二數(shù)據(jù)流; 對所述第二數(shù)據(jù)流進(jìn)行M次IFFT處理,在IFFT處理后的數(shù)據(jù)流的幅值未超出幅值閾值的情況下,將IFFT處理后的數(shù)據(jù)流作為所述第三數(shù)據(jù)流,在IFFT處理后的數(shù)據(jù)流的幅值超出所述幅值閾值的情況下,根據(jù)預(yù)先配置的功率控制因子對IFFT處理后的數(shù)據(jù)流進(jìn)行截位處理,得到所述第三數(shù)據(jù)流。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其特征在于,根據(jù)預(yù)先存儲(chǔ)的旋轉(zhuǎn)因子對所 述第三數(shù)據(jù)流進(jìn)行多級循環(huán)迭代乘加運(yùn)算后輸出,包括: 將所述第三數(shù)據(jù)流分別寫入M個(gè)不同的緩存,得到M個(gè)待處理數(shù)據(jù)流; 按照所述地址跳轉(zhuǎn)規(guī)則,從所述M個(gè)不同的緩存中分別讀取每一路所述待處理數(shù)據(jù)流; 按照預(yù)定的讀取規(guī)則,分別從存儲(chǔ)所述旋轉(zhuǎn)因子的緩存空間中讀取與每一路所述待處理數(shù)據(jù)流對應(yīng)的旋轉(zhuǎn)因子; 對每一路所述待處理數(shù)據(jù)流和與之對應(yīng)的所述旋轉(zhuǎn)因子進(jìn)行復(fù)數(shù)乘法運(yùn)算,并對該路待處理數(shù)據(jù)流和復(fù)數(shù)乘法運(yùn)算結(jié)果進(jìn)行復(fù)數(shù)加法運(yùn)算,得到迭代運(yùn)算結(jié)果,其中,所述旋轉(zhuǎn)因子為WN_n,n的取值范圍為(0,N-1); 對所述迭代運(yùn)算結(jié)果進(jìn)行多次迭代運(yùn)算后輸出,其中,所述迭代運(yùn)算的次數(shù)由所述帶寬配置決定。
6.一種逆快速傅里葉變換實(shí)現(xiàn)裝置,其特征在于,包括: 合并模塊,用于接收輸入的多天線數(shù)據(jù)流,將所述多天線數(shù)據(jù)流合并為第一數(shù)據(jù)流;第一處理模塊,用于根據(jù)獲取的多個(gè)天線權(quán)值對所述第一數(shù)據(jù)流進(jìn)行乘法操作,得到所述第二數(shù)據(jù)流,并對所述第二數(shù)據(jù)流進(jìn)行逆快速傅里葉變換IFFT處理,得到第三數(shù)據(jù)流,其中,每個(gè)天線對應(yīng)一個(gè)天線權(quán)值; 第二處理模塊,用于根據(jù)預(yù)先存儲(chǔ)的旋轉(zhuǎn)因子對所述第三數(shù)據(jù)流進(jìn)行多級循環(huán)迭代乘加運(yùn)算后輸出,其中,所述旋轉(zhuǎn)因子支持多種帶寬配置。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述合并模塊包括: 映射單元,用于接收輸入的P點(diǎn)多天線數(shù)據(jù)流,將所述P點(diǎn)多天線數(shù)據(jù)流抽取映射為M路數(shù)據(jù)流; 第一讀取單元,用于針對每一路數(shù)據(jù)流,按照預(yù)定的地址跳轉(zhuǎn)規(guī)則讀取P/2M個(gè)數(shù)據(jù)后,插入Q個(gè)O再繼續(xù)讀取剩下的P/2M個(gè)數(shù)據(jù),當(dāng)對每一路數(shù)據(jù)流讀取完畢時(shí),得到N個(gè)數(shù)據(jù)流,其中,N=P+M*Q; 合并單元,用于按照天線順序?qū)⑺鯪個(gè)數(shù)據(jù)流合并為所述第一數(shù)據(jù)流。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一處理模塊包括: 判斷單元,用于判斷系統(tǒng)制式; 獲取單元,用于當(dāng)所述系統(tǒng)制式為時(shí)分雙工TDD時(shí),獲取系統(tǒng)進(jìn)行天線校正操作后得到的N個(gè)天線權(quán)值; 設(shè)定單元,用于當(dāng)所述系統(tǒng)制式為頻分雙工FDD時(shí),將所述N個(gè)天線權(quán)值均設(shè)定為I。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第一處理模塊還包括:` 計(jì)算單元,用于對所述N個(gè)天線權(quán)值與所述第一數(shù)據(jù)流進(jìn)行乘法操作,得到所述第二數(shù)據(jù)流; 處理單元,對所述第二數(shù)據(jù)流進(jìn)行M次IFFT處理,在IFFT處理后的數(shù)據(jù)流的幅值未超出幅值閾值的情況下,將IFFT處理后的數(shù)據(jù)流作為所述第三數(shù)據(jù)流,在IFFT處理后的數(shù)據(jù)流的幅值超出所述幅值閾值的情況下,根據(jù)預(yù)先配置的功率控制因子對IFFT處理后的數(shù)據(jù)流進(jìn)行截位處理,得到所述第三數(shù)據(jù)流。
10.根據(jù)權(quán)利要求6至9中任一項(xiàng)所述的裝置,其特征在于,所述第二處理模塊包括: 存儲(chǔ)單元,用于將所述第三數(shù)據(jù)流分別存入M個(gè)不同的緩存,得到M個(gè)待處理數(shù)據(jù)流; 第二讀取單元,用于按照所述地址跳轉(zhuǎn)規(guī)則,從所述M個(gè)不同的緩存中分別讀取每一路所述待處理數(shù)據(jù)流; 第三讀取單元,用于按照預(yù)定的讀取規(guī)則,分別從存儲(chǔ)所述旋轉(zhuǎn)因子的緩存空間中讀取與每一路所述待處理數(shù)據(jù)流對應(yīng)的旋轉(zhuǎn)因子; 第一運(yùn)算單元,用于對每一路所述待處理數(shù)據(jù)流和與之對應(yīng)的所述旋轉(zhuǎn)因子進(jìn)行復(fù)數(shù)乘法運(yùn)算,并對該路待處理數(shù)據(jù)流和復(fù)數(shù)乘法運(yùn)算結(jié)果進(jìn)行復(fù)數(shù)加法運(yùn)算,得到迭代運(yùn)算結(jié)果,其中,所述旋轉(zhuǎn)因子為WN_n,n的取值范圍為(0,N-1); 第二運(yùn)算單元,用于對所述迭代運(yùn)算結(jié)果進(jìn)行多次迭代運(yùn)算后輸出,其中,所述迭代運(yùn)算的次數(shù)由所述帶寬配置決定。
【文檔編號】H04L27/26GK103516656SQ201210222939
【公開日】2014年1月15日 申請日期:2012年6月29日 優(yōu)先權(quán)日:2012年6月29日
【發(fā)明者】周旭明, 馬杰, 呂艷 申請人:中興通訊股份有限公司