一種基于fpga的相控陣天線迭代配相算法的實(shí)現(xiàn)方法
【專利摘要】本發(fā)明提出的一種基于FPGA的相控陣天線迭代配相算法的實(shí)現(xiàn)方法,利用FPGA硬件并行運(yùn)行特性,通過(guò)算法優(yōu)化實(shí)現(xiàn)迭代配相算法,提高迭代配相算法的運(yùn)算速度和運(yùn)算精度。本發(fā)明的運(yùn)算速度由計(jì)數(shù)器時(shí)鐘頻率決定,通過(guò)優(yōu)化FPGA設(shè)計(jì),計(jì)數(shù)器時(shí)鐘頻率可以做到200MHz(與采用的FPGA硬件平臺(tái)相關(guān)),即完成一個(gè)移相單元的接收、發(fā)送配相碼的配相迭代計(jì)算時(shí)間為5ns。運(yùn)算精度由擴(kuò)大倍數(shù)2Q決定,擴(kuò)大倍數(shù)越大,則四舍五入誤差噪聲越小,運(yùn)算結(jié)果精度越高,天線波束指向精度也越高。但擴(kuò)大倍數(shù)增大會(huì)影響計(jì)數(shù)器時(shí)鐘頻率的優(yōu)化效果,降低運(yùn)算速度。在實(shí)際設(shè)計(jì)過(guò)程中需兼顧運(yùn)算速度和運(yùn)算精度要求。
【專利說(shuō)明】—種基于FPGA的相控陣天線迭代配相算法的實(shí)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于相控陣天線領(lǐng)域,涉及一種基于FPGA的相控陣天線迭代配相算法的實(shí)現(xiàn)方法,應(yīng)用于提高迭代配相算法的運(yùn)算速度和運(yùn)算精度。
【背景技術(shù)】
[0002]迭代配相算法是相控陣天線領(lǐng)域使用的一種配相碼計(jì)算方法。在這種算法中,將當(dāng)前移相單元計(jì)算出的理論相移值量化后產(chǎn)生的量化誤差帶入下一移相單元的配相碼計(jì)算,這樣有利于降低移相系統(tǒng)量化噪聲,可有效提高天線波束指向精度。這種算法與普通配相算法的區(qū)別在于移相單元配相碼計(jì)算之間存在迭代關(guān)系,欲計(jì)算出當(dāng)前單元配相碼,則需要獲知前一單元的量化誤差。這種迭代算法必然要求其實(shí)現(xiàn)方法基于順序執(zhí)行方式。在順序執(zhí)行的計(jì)算中,運(yùn)算耗時(shí)與順序執(zhí)行步數(shù)成正比。在迭代配相算法中運(yùn)算耗時(shí)則直接正比于移相單元數(shù)量。具體針對(duì)某一移相單元,其配相運(yùn)算中存在三角函數(shù)運(yùn)算、除法運(yùn)算、乘法運(yùn)算、加法運(yùn)算、模運(yùn)算及邏輯判斷分支。配相運(yùn)算是一種較為復(fù)雜的運(yùn)算過(guò)程,其中的三角函數(shù)運(yùn)算、乘除法運(yùn)算以及模運(yùn)算在所有硬件平臺(tái)中耗時(shí)都較多。配相碼運(yùn)算速度直接決定相控陣天線波束掃描速度。若配相運(yùn)算速度過(guò)慢,將導(dǎo)致天線單元性能無(wú)法滿足系統(tǒng)需求。例如在詢問(wèn)機(jī)這類特殊的應(yīng)用場(chǎng)合中,要求天線波束進(jìn)行快速切換(通常要求天線波束在IOOus內(nèi)完成切換),若所有移相單元配相碼未能在規(guī)定時(shí)間內(nèi)完成計(jì)算和發(fā)送,則天線指標(biāo)無(wú)法滿足系統(tǒng)應(yīng)用需求。目前配相運(yùn)算常用的硬件平臺(tái)主要是DSP芯片,但針對(duì)移相單元數(shù)量較多的有源相控陣天線,其配相運(yùn)算速度已經(jīng)無(wú)法滿足要求。由于有源器件TR組件的制造工藝帶來(lái)的發(fā)射、接收通道不一致問(wèn)題,天線波束在發(fā)射和接收過(guò)程中需要使用不同的配相碼,這就將配相運(yùn)算分為發(fā)射配相計(jì)算和接收配相計(jì)算。例如在包含200個(gè)TR組件的有源相控陣天線中,配相計(jì)算過(guò)程包含400次迭代配相運(yùn)算。若要求運(yùn)算過(guò)程在IOOus內(nèi)完成,常用的浮點(diǎn)型DSP芯片存在極大困難。同時(shí),配相碼運(yùn)算精度決定天線波束指向精度。常用的DSP硬件平臺(tái),其數(shù)據(jù)總線位寬有限,必然限制運(yùn)算精度。隨著相相掃天線的深入推廣,天線移相單元數(shù)量越來(lái)越多,而且都向有源化方向發(fā)展。這對(duì)配相運(yùn)算過(guò)程提出了更高的要求,必然推動(dòng)算法實(shí)現(xiàn)的硬件平臺(tái)出現(xiàn)新變化并要求對(duì)算法進(jìn)行優(yōu)化。
[0003]迭代配相算法的數(shù)學(xué)表達(dá)式為:
【權(quán)利要求】
1.一種基于FPGA的相控陣天線迭代配相算法的實(shí)現(xiàn)方法,其特征在于步驟如下: 步驟1、計(jì)算天線單元理想相位:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_MULT,設(shè)置輸入?yún)?shù)為頻率信息預(yù)運(yùn)算數(shù)據(jù)和波位信息預(yù)運(yùn)算數(shù)據(jù)進(jìn)行乘積操作;在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_COUNTER,設(shè)置其計(jì)數(shù)時(shí)鐘為fN,并將其計(jì)數(shù)模式設(shè)置為Modulus (Num),其中Num為天線通道數(shù),以其計(jì)數(shù)輸出的i作為當(dāng)前天線單元通道號(hào);將頻率信息預(yù)運(yùn)算數(shù)據(jù)與波位信息預(yù)運(yùn)算數(shù)據(jù)乘積結(jié)果和當(dāng)前天線單元號(hào)i作為新調(diào)用的參數(shù)化模塊庫(kù)LPM_MULT輸入?yún)?shù),LPM_MULT乘積輸出結(jié)果為當(dāng)前天線單元理想相位; 步驟2、計(jì)算接收支路配相碼和發(fā)射支路配相碼: 接收支路配相碼的計(jì)算步驟: 初始條件:第一接收天線單元量化殘差ESO; ①求取當(dāng)前接收天線單元理想相位與上一接收天線單元量化殘差E之和:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_ADD_SUB,設(shè)置其工作模式為加法器,操作數(shù)據(jù)類型為有符號(hào)整型,其輸入?yún)?shù)分別設(shè)置為當(dāng)前接收天線單元理想相位和上一接收天線單元量化殘差,LPM_ADD_SUB輸出得到二者之和Add_Templ ; ②求取當(dāng)前接收天線單元通道初相與Add_Templ之和:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_ADD_SUB,設(shè)置其工作模式為加法器、操作數(shù)據(jù)類型為有符號(hào)整型,其輸入?yún)?shù)分別設(shè)置為當(dāng)前接收天線單元通道初相和Add_TempI,LPM_ADD_SUB輸出得到二者之和Add_Temp2 ; ③一次取模操作:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_AND,將數(shù)據(jù)Add_Temp2和常數(shù)236(1/In+Q-1進(jìn)行邏輯與操作,即實(shí)現(xiàn)對(duì)數(shù)據(jù)Add_Temp2的符號(hào)判斷處理及模360操作,得到數(shù)據(jù)Data—Modl ; ④四舍五入預(yù)操作:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_ADD_SUB,設(shè)置其工作模式為加法器、操作數(shù)據(jù)類型為無(wú)符號(hào)整型,其輸入?yún)?shù)分別設(shè)置為Data_Modl和2Q_1 ;LPM_ADD_SUB求和輸出結(jié)果為Data_PreRound ; ⑤二次取模操作:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_AND,將數(shù)據(jù)Data_PreRound和常數(shù)23_η+Μ進(jìn)行邏輯與操作,即實(shí)現(xiàn)對(duì)數(shù)據(jù)Data_PreR0Und的模360操作,獲取數(shù)據(jù)Data_Mod2 ; ⑥移位操作獲取接收支路配相碼:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_CLSHIFT,設(shè)置其工作模式為邏輯右移,將數(shù)據(jù)Data_Mod2右移48bit,獲取接收支路配相碼R_Code ; ⑦當(dāng)前接收天線單元量化殘差預(yù)運(yùn)算:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_CLSHIFT,設(shè)置其工作模式為邏輯左移,將數(shù)據(jù)R_Code左移48bit,獲取量化殘差預(yù)運(yùn)算數(shù)據(jù)E_Pre ; ⑧求取當(dāng)前接收天線單元量化殘差:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_ADD_SUB,設(shè)置其工作模式為減法器、操作數(shù)據(jù)類型為有符號(hào)整型;被減數(shù)設(shè)置為初次模取模操作后獲取的數(shù)據(jù)Data_Modl,減數(shù)設(shè)置為量化殘差預(yù)運(yùn)算數(shù)據(jù)E_Pre ;LPM_ADD_SUB作減法操作后,獲取當(dāng)前接收天線單元量化殘差E,以備下一接收天線單元配相碼計(jì)算時(shí)使用;重復(fù)步驟①~⑧,直到所有接收天線單元配相碼計(jì)算完成; 發(fā)射支路配相碼的計(jì)算步驟: 初始條件:第一發(fā)射天線 單元量化殘差ESO; ①求取當(dāng)前發(fā)射天線單元理想相位與上一發(fā)射天線單元量化殘差E之和:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_ADD_SUB,設(shè)置其工作模式為加法器、操作數(shù)據(jù)類型為有符號(hào)整型,其輸入?yún)?shù)分別設(shè)置為當(dāng)前發(fā)射天線單元理想相位和上一發(fā)射天線單元量化殘差,LPM_ADD_SUB輸出得到二者之和Add_Templ ; ②求取當(dāng)前發(fā)射天線單元通道初相與Add_Templ之和:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_ADD_SUB,設(shè)置其工作模式為加法器、操作數(shù)據(jù)類型為有符號(hào)整型,其輸入?yún)?shù)分別設(shè)置為當(dāng)前發(fā)射天線單元通道初相和AdcLTemp I,LPM_ADD_SUB輸出得到二者之和Add_Temp2 ; ③一次取模操作:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_AND,將數(shù)據(jù)Add_Temp2和常數(shù)236(1/In+Q-1進(jìn)行邏輯與操作,即實(shí)現(xiàn)對(duì)數(shù)據(jù)Add_Temp2的符號(hào)判斷處理及模360操作,得到數(shù)據(jù)Data—Modl ; ④四舍五入預(yù)操作:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_ADD_SUB,設(shè)置其工作模式為加法器、操作數(shù)據(jù)類型為無(wú)符號(hào)整型,其輸入?yún)?shù)分別設(shè)置為Data_Modl和2Q_1 oLPiLADD—SUB求和輸出結(jié)果為Data_PreRound ; ⑤二次取模操作:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_AND,將數(shù)據(jù)Data_PreRound和常數(shù)23_η+Μ進(jìn)行邏輯與操作,即實(shí)現(xiàn)對(duì)數(shù)據(jù)Data_PreR0Und的模360操作,獲取數(shù)據(jù)Data_Mod2 ; ⑥移位操作獲取發(fā)射支路配相碼:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_CLSHIFT,設(shè)置其工作模式為邏輯右移,將數(shù)據(jù)Data_Mod2右移48bit,獲取發(fā)射支路配相碼R_Code ; ⑦當(dāng)前發(fā)射天線單元量 化殘差預(yù)運(yùn)算:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_CLSHIFT,設(shè)置其工作模式為邏輯左移,將數(shù)據(jù)R_Code左移48bit,獲取量化殘差預(yù)運(yùn)算數(shù)據(jù)E_Pre ; ⑧求取當(dāng)前發(fā)射天線單元量化殘差:在FPGA中調(diào)用參數(shù)化模塊庫(kù)LPM_ADD_SUB,設(shè)置其工作模式為減法器、操作數(shù)據(jù)類型為有符號(hào)整型;被減數(shù)設(shè)置為初次模取模操作后獲取的數(shù)據(jù)Data_Modl,減數(shù)設(shè)置為量化殘差預(yù)運(yùn)算數(shù)據(jù)E_Pre ;LPM_ADD_SUB作減法操作后,獲取當(dāng)前發(fā)射天線單元量化殘差E,以備下一發(fā)射天線單元配相碼計(jì)算時(shí)使用;重復(fù)步驟①~⑧,直到所有發(fā)射天線單元配相碼計(jì)算完成。
2.根據(jù)權(quán)利要求1所述基于FPGA的相控陣天線迭代配相算法的實(shí)現(xiàn)方法,其特征在于:所述頻率信號(hào)查找表的建立,在Altera公司FPGA開發(fā)軟件QuartusII中調(diào)用參數(shù)化模塊庫(kù)ROM: 1-PORT,建立頻率信號(hào)查找ROM R0M_Freq ;R0M_Freq在例化過(guò)程中調(diào)用其對(duì)應(yīng)的MIF文件,完成ROM存儲(chǔ)單元與頻率信號(hào)數(shù)據(jù)映射; 所述MIF文件的內(nèi)容:設(shè)置MIF文件的表格數(shù)據(jù)為有符號(hào)整型數(shù)據(jù),數(shù)據(jù)總量為天線工作總頻率點(diǎn)數(shù)η,數(shù)據(jù)內(nèi)容為round(-k/InX2aXf)。其中round()為四舍五入函數(shù);k為天線陣元分布常數(shù),數(shù)據(jù)形式為浮點(diǎn)型常數(shù);In為移相器最小步進(jìn)量;a為頻率信號(hào)數(shù)據(jù)放大倍數(shù)參數(shù)為頻率值,其單位為GHz ; 所述MIF文件的產(chǎn)生方法:在Office Excel中編輯round(_k/InX2aXf)計(jì)算公式,其中k、In、2a皆為常數(shù),以頻率f為變量列計(jì)算獲得頻率信息預(yù)運(yùn)算數(shù)據(jù)列。直接將該數(shù)據(jù)列拷貝進(jìn)入MIF文件粘貼,完成MIF文件建立; 所述R0M_Freq的查找方法:R0M_Freq例化后,其存儲(chǔ)內(nèi)容為MIF文件對(duì)應(yīng)的存儲(chǔ)信息,以頻率點(diǎn)作為R0M_Freq的地址索引輸入,即可查找獲取相應(yīng)的頻率信息預(yù)運(yùn)算數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述基于FPGA的相控陣天線迭代配相算法的實(shí)現(xiàn)方法,其特征在于:所述波位信號(hào)查找表的建立:在FPGA開發(fā)軟件QuartusII中調(diào)用參數(shù)化模塊庫(kù)ROM: 1-PORT,建立波位信號(hào)查找ROM R0M_Beam。R0M_Beam在例化過(guò)程中調(diào)用其對(duì)應(yīng)的MIF文件,完成ROM存儲(chǔ)單元與波位信號(hào)數(shù)據(jù)映射; 所述MIF文件的內(nèi)容:設(shè)置MIF文件表格數(shù)據(jù)為有符號(hào)整型數(shù)據(jù),數(shù)據(jù)總量為天線工作總波位數(shù)m,數(shù)據(jù)內(nèi)容為round(Sin( Θ ) X2b)。其中round O為四舍五入函數(shù);SinO為正弦函數(shù);Θ為天線波位對(duì)應(yīng)的指向角;b為波位信號(hào)數(shù)據(jù)放大倍數(shù)參數(shù);
所述MIF文件的產(chǎn)生方法:在Office Excel中編輯round (Sin ( Θ ) X 2b)計(jì)算公式,其中2b為常數(shù),以指向角Θ為變量列計(jì)算獲得波位信息預(yù)運(yùn)算數(shù)據(jù)列。直接將該數(shù)據(jù)列拷貝進(jìn)入MIF文件粘貼,完成MIF文件建立; 所述R0M_Beam的查找方法:R0M_Beam例化后,其存儲(chǔ)內(nèi)容為MIF文件對(duì)應(yīng)的存儲(chǔ)信息,以波位號(hào)作為R0M_Beam的地址索引輸入,即可查找獲取相應(yīng)的波位信息預(yù)運(yùn)算數(shù)據(jù)。
4.根據(jù)權(quán)利要求1所述基于FPGA的相控陣天線迭代配相算法的實(shí)現(xiàn)方法,其特征在于:所述接收初相查找表的建立:在Altera公司FPGA開發(fā)軟件QuartusII中調(diào)用參數(shù)化模塊庫(kù)ROM: 1-PORT,建立接收初相查找ROM R0M_R_In_Phase。R0M_R_In_Phase在例化過(guò)程中調(diào)用其對(duì)應(yīng)的MIF文件,完成ROM存儲(chǔ)單元與接收初相數(shù)據(jù)映射; 所述MIF文件的內(nèi)容:設(shè)置MIF文件表格數(shù)據(jù)為有符號(hào)整型數(shù)據(jù),數(shù)據(jù)總量為天線接收通道數(shù)與天線工作頻點(diǎn)總數(shù)之積Num_rXn,數(shù)據(jù)內(nèi)容為round(Initial_Ph_R/InX2Q)。其中round O為四舍五入函數(shù);In為移相器最小步進(jìn)量;Q為系統(tǒng)數(shù)據(jù)放大倍數(shù)參數(shù),為頻率信號(hào)數(shù)據(jù)放大倍數(shù)參數(shù)a與波位信號(hào)數(shù)據(jù)放大倍數(shù)參數(shù)b之和;Initial_Ph_R是天線單元接收通道初始相位,每個(gè)天線單元接收通道在不同頻率下具有不同初始相位,其值通過(guò)掃頻方式的通道初相測(cè)試獲??; 所述MIF文件的產(chǎn)生方法:在Off ice Excel中編輯round(Initial_Ph_R/InX2Q)計(jì)算公式,其中In、2Q為常數(shù),以測(cè)試獲取的接收初始相位Initial_Ph_R為變量列計(jì)算獲得接收初相數(shù)據(jù)列。直接將該數(shù)據(jù)列拷貝進(jìn)入MIF文件粘貼,完成MIF文件建立; 所述R0M_R_In_Phase的查找方法:R0M_R_In_Phase例化后,其存儲(chǔ)內(nèi)容為MIF文件對(duì)應(yīng)的存儲(chǔ)信息,以天線工作頻點(diǎn)為行索引參數(shù),以天線通道單元號(hào)為列索引參數(shù)。以當(dāng)前頻率點(diǎn)號(hào)XNum_r+i作為R0M_R_In_Phase的地址索引輸入,即可查找獲取當(dāng)前天線單元當(dāng)前頻率點(diǎn)下相應(yīng)的接收初始相位預(yù)運(yùn)算數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述基于FPGA的相控陣天線迭代配相算法的實(shí)現(xiàn)方法,其特征在于:所述發(fā)射初相查找表的建立:在Altera公司FPGA開發(fā)軟件QuartusII中調(diào)用參數(shù)化模塊庫(kù)ROM: 1-PORT,建立發(fā)射初相查找ROM R0M_T_In_Phase。R0M_T_In_Phase在例化過(guò)程中調(diào)用其對(duì)應(yīng)的MIF文件,完成ROM存儲(chǔ)單元與發(fā)射初相數(shù)據(jù)映射; 所述MIF文件內(nèi)容:設(shè)置MIF文件表格數(shù)據(jù)為有符號(hào)整型數(shù)據(jù),數(shù)據(jù)總量為天線發(fā)射通道數(shù)與天線工作頻點(diǎn)總數(shù)之積Num_TXη,數(shù)據(jù)內(nèi)容為round(Initial_Ph_T/InX2Q)。其中round O為四舍五入函數(shù);In為移相器最小步進(jìn)量;Q為系統(tǒng)數(shù)據(jù)放大倍數(shù)參數(shù),為頻率信號(hào)數(shù)據(jù)放大倍數(shù)參數(shù)a與波位信號(hào)數(shù)據(jù)放大倍數(shù)參數(shù)b之和;Initial_Ph_T是天線單元發(fā)射通道初始相位,每個(gè)天線單元發(fā)射通道在不同頻率下具有不同初始相位,其值通過(guò)掃頻方式的通道初相測(cè)試獲??; 所述MIF文件的產(chǎn)生方法:在Off ice Excel中編輯round(Initial_Ph_T/InX2Q)計(jì)算公式,其中In、2Q為常數(shù),以測(cè)試獲取的發(fā)射初始相位Initial_Ph_T為變量列計(jì)算獲得發(fā)射初相數(shù)據(jù)列。直接將該數(shù)據(jù)列拷貝進(jìn)入MIF文件粘貼,完成MIF文件建立; 所述ROM_T_In_Phase的查找方法:ROM_T_In_Phase例化后,其存儲(chǔ)內(nèi)容為MIF文件對(duì)應(yīng)的存儲(chǔ)信息,以天線工作頻點(diǎn)為行索引參數(shù),以天線通道單元號(hào)為列索引參數(shù)。以當(dāng)前頻率點(diǎn)號(hào)XNum_T+i作為ROM_T_In_Phase的地址索引輸入,即可查找獲取當(dāng)前天線單元當(dāng)前頻率點(diǎn)下相應(yīng)的發(fā)射初 始相位預(yù)運(yùn)算數(shù)據(jù)。
【文檔編號(hào)】G06F17/50GK103810319SQ201310534070
【公開日】2014年5月21日 申請(qǐng)日期:2013年10月31日 優(yōu)先權(quán)日:2013年10月31日
【發(fā)明者】江承財(cái), 鄧龍波, 張軍, 李曉航, 張小虎, 李濤, 云龍, 陳君, 王凌 申請(qǐng)人:西安電子工程研究所