王利華,趙 軍,湯 勇,韓曉明
(航空工業(yè)雷華電子技術(shù)研究所,江蘇 無錫 214063)
·工程應(yīng)用·
基于FPGA的并行數(shù)字脈壓設(shè)計(jì)
王利華,趙 軍,湯 勇,韓曉明
(航空工業(yè)雷華電子技術(shù)研究所,江蘇 無錫 214063)
在超寬帶雷達(dá)接收系統(tǒng)中,對(duì)超大帶寬、高數(shù)據(jù)率和大數(shù)據(jù)量的基帶信號(hào)處理,并不再適合采用傳統(tǒng)的基于DSP芯片的低速率串行脈壓方式。在數(shù)字中頻接收系統(tǒng)中基于FPGA實(shí)現(xiàn)并行多相濾波數(shù)字下變頻與并行數(shù)字脈壓的綜合設(shè)計(jì),采用并行多相FFT和頻率抽取IFFT的算法架構(gòu),多個(gè)并行基帶信號(hào)同時(shí)進(jìn)行脈壓運(yùn)算,相比傳統(tǒng)串行方式能夠大大提高處理效率。將數(shù)字脈壓由雷達(dá)信號(hào)處理系統(tǒng)提前到數(shù)字中頻接收系統(tǒng)實(shí)現(xiàn),并基于FPGA實(shí)現(xiàn)并行高效處理,對(duì)優(yōu)化雷達(dá)系統(tǒng)的接收及處理架構(gòu)具有重要意義。
并行脈壓;并行多相快速傅里葉變換;頻率抽取快速傅里葉逆變換;現(xiàn)場(chǎng)可編程門陣列
隨著雷達(dá)接收系統(tǒng)實(shí)現(xiàn)功能的不斷豐富,對(duì)數(shù)字中頻接收預(yù)處理的要求已不僅僅局限于中頻信號(hào)模數(shù)變換器(ADC)采樣、數(shù)字下變頻、基帶數(shù)據(jù)打包和高速串行傳輸?shù)龋€性調(diào)頻信號(hào)脈壓亦可以基于現(xiàn)場(chǎng)可編程門陣列(FPGA)在數(shù)字中頻接收預(yù)處理中完成,以減少后續(xù)數(shù)字信號(hào)處理器(DSP)的處理壓力。對(duì)于帶寬接近吉赫茲的信號(hào),中頻信號(hào)采樣率和數(shù)字信號(hào)數(shù)據(jù)率都大大提高,使得基于FPGA的數(shù)字下變頻算法通常采用并行多相濾波結(jié)構(gòu),以“面積換速率”的方式降低FPGA的單路處理時(shí)鐘。但是這種超寬帶數(shù)字接收設(shè)計(jì)使得輸出的基帶信號(hào)通常由多個(gè)并行支路組成,導(dǎo)致脈壓算法將無法像單路信號(hào)那樣易于實(shí)現(xiàn)。
針對(duì)超寬帶多路并行基帶信號(hào)的脈壓,最直觀的解決方法就是數(shù)據(jù)存儲(chǔ)方式,即在FPGA內(nèi)將并行信號(hào)先通過雙口隨機(jī)存儲(chǔ)器(RAM)緩存,然后按支路順序依次讀出合成一路完整基帶信號(hào),最后再按照單路信號(hào)脈壓的方式進(jìn)行完整信號(hào)的脈壓。但是這種存儲(chǔ)方式不但浪費(fèi)FPGA的存儲(chǔ)資源,支路信號(hào)的順序組合亦使得處理時(shí)間大大增加。在數(shù)字中頻接收系統(tǒng)中,除了完成傳統(tǒng)的數(shù)字接收和數(shù)字下變頻算法功能外,基于多相快速傅里葉變換( FFT)和頻率抽取快速傅里葉逆變換(IFFT)算法,在FPGA中進(jìn)行頻域并行脈壓,對(duì)多路并行基帶信號(hào)無需緩存,采用流水運(yùn)算的方式實(shí)現(xiàn)并行實(shí)時(shí)脈壓處理。
實(shí)現(xiàn)線性調(diào)頻信號(hào)脈壓包括時(shí)域卷積和頻域相乘兩種方式。由于對(duì)大數(shù)據(jù)量的時(shí)域卷積,其匹配濾波器的設(shè)計(jì)較為復(fù)雜,并且需要進(jìn)行卷積運(yùn)算,并不適合超寬帶線性調(diào)頻信號(hào)的脈壓。而頻域相乘方式對(duì)輸入信號(hào)先進(jìn)行FFT運(yùn)算,再在頻域與脈壓匹配系數(shù)相乘,最后進(jìn)行IFFT運(yùn)算即可。由于目前應(yīng)用較為廣泛的FPGA開發(fā)環(huán)境中都提供了用于實(shí)現(xiàn)FFT和IFFT運(yùn)算的IP核,因此頻域方式在FPGA中實(shí)現(xiàn)起來較為容易[1]。
頻域相乘方式實(shí)現(xiàn)超寬帶信號(hào)并行數(shù)字脈壓的關(guān)鍵是并行結(jié)構(gòu)的FFT和IFFT算法,各支路信號(hào)既能獨(dú)立進(jìn)行脈壓運(yùn)算又相互關(guān)聯(lián)。并行脈壓相比于串行方式的優(yōu)勢(shì)是并行多相FFT和頻率抽取IFFT運(yùn)算,這也是工程實(shí)現(xiàn)的關(guān)鍵。
1.1 并行多相FFT
在超寬帶數(shù)字中頻接收系統(tǒng)中,為降低FPGA對(duì)高速采樣信號(hào)的處理壓力,通常采用并行多相濾波算法實(shí)現(xiàn)數(shù)字下變頻,并獲得多路并行支路基帶信號(hào)。并行數(shù)字脈壓即以這些并行支路信號(hào)為運(yùn)算基礎(chǔ),將傳統(tǒng)的一路串行FFT就變成多路并行的多相FFT算法,這樣的處理方式不需要像串行FFT那樣先對(duì)各個(gè)支路信號(hào)進(jìn)行順序組合為一路完整信號(hào),而是可以直接采用流水方式對(duì)各支路信號(hào)同時(shí)進(jìn)行并行FFT運(yùn)算,再對(duì)支路運(yùn)算結(jié)果進(jìn)行數(shù)據(jù)組合即可以獲得與串行FFT一樣的計(jì)算效果。這樣不僅能夠減少單路FFT的運(yùn)算點(diǎn)數(shù),也節(jié)省了運(yùn)算處理時(shí)間。
設(shè)時(shí)域信號(hào)為x(n),并行多相濾波數(shù)字下變頻獲得的支路基帶信號(hào)數(shù)為D,其多相結(jié)構(gòu)FFT可以分解為[2]:
(k′=0,1,…,N/D-1)
(1)
多個(gè)支路的基帶信號(hào)能夠同時(shí)獨(dú)立進(jìn)行FFT計(jì)算,再進(jìn)行支路FFT的合成處理,即獲得并行多相FFT的運(yùn)算結(jié)果。對(duì)于支路基帶信號(hào)數(shù)為D的超寬帶數(shù)字接收系統(tǒng),D路并行多相FFT運(yùn)算使得單個(gè)支路的FFT長(zhǎng)度減少至原來串行方式的1/D,并且處理延時(shí)與運(yùn)算時(shí)間亦縮短至原來的1/D,大大提高處理效率。
盡管基于FPGA的FFT運(yùn)算可以直接調(diào)用其開發(fā)環(huán)境提供的IP核,但是對(duì)FFT運(yùn)算的長(zhǎng)度是有限制的,例如Xilinx公司FPGA開發(fā)環(huán)境ISE14.7中提供的用于FFT和IFFT運(yùn)算的Fast Fourier Transform核,最大計(jì)算長(zhǎng)度是64K。對(duì)于脈壓點(diǎn)數(shù)(例如128K)超過FFT的IP核能夠支持的最大長(zhǎng)度時(shí),傳統(tǒng)的串行FFT方式顯然無法實(shí)現(xiàn)這種運(yùn)算。但是并行多相FFT多個(gè)支路獨(dú)立運(yùn)算的特點(diǎn)卻可以將總計(jì)算長(zhǎng)度擴(kuò)展至原來的D倍。
采用并行多相FFT運(yùn)算方式,既可以節(jié)省大數(shù)據(jù)量的計(jì)算時(shí)間又能夠擴(kuò)展處理長(zhǎng)度,對(duì)提高雷達(dá)信號(hào)處理系統(tǒng)的數(shù)字脈壓處理能力,比傳統(tǒng)串行FFT計(jì)算方式具有更大優(yōu)勢(shì)。
1.2 頻率抽取IFFT
并行多相FFT運(yùn)算將時(shí)域信號(hào)轉(zhuǎn)換為頻域,并在頻域完成與脈壓匹配系數(shù)的點(diǎn)乘,而IFFT則需要將頻域信號(hào)轉(zhuǎn)換為時(shí)域才獲得最終的脈壓結(jié)果。盡管FFT和IFFT運(yùn)算在理論上沒有本質(zhì)區(qū)別,但是采用并行多相FFT處理后,各支路數(shù)據(jù)的組合關(guān)系與原始基帶I/Q信號(hào)不同。于是IFFT則須根據(jù)多相FFT運(yùn)算后各支路信號(hào)的數(shù)據(jù)組成特點(diǎn),選擇不同的并行處理方式,即頻率抽取算法。
頻率抽取IFFT法能夠?qū)崿F(xiàn)復(fù)乘后多支路信號(hào)的并行運(yùn)算,并且實(shí)現(xiàn)頻域到時(shí)域的并行轉(zhuǎn)換,這是獲得最終脈壓結(jié)果的關(guān)鍵。各支路的IFFT計(jì)算仍然調(diào)用FPGA開發(fā)環(huán)境提供的FFT核,先進(jìn)行支路數(shù)據(jù)的頻率抽取處理,再各自獨(dú)立完成IFFT運(yùn)算。
設(shè)與匹配系數(shù)相乘后的頻域信號(hào)為X(k),并行支路信號(hào)數(shù)為D,頻率抽取方式IFFT計(jì)算可以分解為:
(2)
頻率抽取處理方式IFFT算法將IFFT分解為并行多個(gè)支路的運(yùn)算,可以很好地與并行多相FFT及復(fù)乘運(yùn)算的結(jié)果相融合,并且實(shí)現(xiàn)了頻域信號(hào)轉(zhuǎn)換為時(shí)域波形的并行處理。與并行多相FFT一樣,由于采用了并行多路運(yùn)算架構(gòu),對(duì)節(jié)省脈壓處理時(shí)間和擴(kuò)展脈壓處理長(zhǎng)度都具有傳統(tǒng)串門脈壓所不具備的優(yōu)勢(shì)。
頻率抽取IFFT方式獲得并行多路基帶信號(hào)的數(shù)字脈壓結(jié)果,再將各支路信號(hào)進(jìn)行組合打包即可傳輸至信號(hào)處理系統(tǒng)完成后續(xù)處理。
2.1 算法架構(gòu)
在超寬帶雷達(dá)數(shù)字接收系統(tǒng)中,信號(hào)帶寬達(dá)到吉赫茲的數(shù)字中頻采樣和數(shù)字下變頻通?;诓⑿刑幚砟芰Ω鼜?qiáng)的FPGA芯片實(shí)現(xiàn)。由于FPGA內(nèi)處理時(shí)鐘的限制,對(duì)采樣率在吉赫茲以上的數(shù)字接收及數(shù)字下變頻算法通常采用并行多相濾波結(jié)構(gòu),對(duì)ADC輸出的并行多支路信號(hào)采用并行混頻和多相濾波運(yùn)算,獲得多個(gè)支路基帶I/Q信號(hào)。由于FPGA并行處理能力的強(qiáng)大,使得基于FPGA的數(shù)字脈壓算法得到越來越多的應(yīng)用,而不再局限于在處理系統(tǒng)的DSP芯片實(shí)現(xiàn)。超寬帶并行多相濾波數(shù)字下變頻和并行多相脈壓算法的無縫結(jié)合,使得數(shù)字下變頻和數(shù)字脈壓可以通過流水運(yùn)算方式完成,省去了中間的并行支路數(shù)據(jù)緩存及組合,提高信號(hào)脈壓處理效率。
以并行輸出支路為4路、DDR模式的高速ADC采樣數(shù)字中頻接收系統(tǒng)為例,基于FPGA的超寬帶數(shù)字下變頻與并行數(shù)字脈壓的綜合處理架構(gòu)如圖1所示。
采用此架構(gòu)可以在單片F(xiàn)PGA內(nèi)完成吉赫茲帶寬信號(hào)、采樣率在2吉赫茲以上的并行多相數(shù)字下變頻和并行數(shù)字脈壓算法。對(duì)各支路脈壓信號(hào)進(jìn)行數(shù)據(jù)打包處理,再通過FPGA的高速串行總線輸出至信號(hào)處理系統(tǒng),這樣能夠減輕處理機(jī)的運(yùn)算壓力。于是處理機(jī)能夠?qū)W⒂诶走_(dá)信號(hào)處理,而不至于在信號(hào)脈壓這種可以由數(shù)字中頻接收系統(tǒng)實(shí)現(xiàn)的預(yù)處理算法上浪費(fèi)硬件資源[3]。
2.2 基4多相FFT
超寬帶數(shù)字中頻接收系統(tǒng)的并行多相濾波數(shù)字下變頻運(yùn)算獲得并行4支路基帶信號(hào),各支路基帶信號(hào)時(shí)域表示為:
x0(n)=x(4n),x1(n)=x(4n+1),
x2(n)=x(4n+2),x3(n)=x(4n+3)
(n=0,1,2,…,N/4-1)
(3)
將4個(gè)并行基帶支路信號(hào)同時(shí)進(jìn)行N/4點(diǎn)FFT運(yùn)算,這個(gè)計(jì)算過程由FPGA提供的IP核實(shí)現(xiàn),不需要復(fù)雜的邏輯處理。各個(gè)支路時(shí)域信號(hào)的FFT結(jié)果可表示為:
X0(k′)=FFT(x0(n)),X1(k′)=FFT(x1(n)),
X2(k′)=FFT(x2(n)),X3(k′)=FFT(x3(n))
(k′=0,1,2,…,N/4-1)
(4)
各支路FFT運(yùn)算后需要進(jìn)行合成處理才能獲得并行多相結(jié)構(gòu)FFT的計(jì)算結(jié)果,各支路多相合成算法如下[4]:
(k,k′=0,1,2,…,N/4-1)
(5)
2.3 匹配系數(shù)復(fù)乘
線性調(diào)頻信號(hào)脈壓的匹配系數(shù)與信號(hào)帶寬、脈寬、數(shù)據(jù)率和脈壓點(diǎn)數(shù)相關(guān),由于超寬帶雷達(dá)接收系統(tǒng)的信號(hào)種類相對(duì)較少,于是脈壓匹配系數(shù)種類亦相對(duì)固定。因此基本上不需要在FPGA中進(jìn)行實(shí)時(shí)計(jì)算,可以根據(jù)信號(hào)參數(shù),通過Matlab仿真獲得匹配系數(shù)。由于Matlab開發(fā)環(huán)境與FPGA開發(fā)環(huán)境能夠有效結(jié)合,F(xiàn)PGA可以直接調(diào)用Matlab仿真計(jì)算的匹配系數(shù)用于脈壓運(yùn)算。
根據(jù)信號(hào)參數(shù)基于Matlab仿真計(jì)算的脈壓匹配系數(shù),按并行多相FFT的運(yùn)算方式進(jìn)行并行多路拆分,并存儲(chǔ)于FPGA內(nèi)部4個(gè)獨(dú)立的只讀存儲(chǔ)器(ROM)中,在匹配系數(shù)復(fù)乘運(yùn)算過程中同時(shí)讀取各個(gè)ROM中存儲(chǔ)的支路匹配系數(shù)即可。
2.4 基4頻率抽取IFFT
多相FFT和匹配系數(shù)并行復(fù)乘決定了IFFT運(yùn)算也須采用并行處理方式,只是根據(jù)并行多相FFT的運(yùn)算結(jié)果,IFFT采用不同的并行處理方式。根據(jù)頻率抽取IFFT運(yùn)算的分解方法,基4頻率抽取IFFT可以分解如下[5]:
令X(k)=X0(k),X(k+N/4)=X1(k),
X(k+2N/4)=X2(k),X(k+3N/4)=X3(k)
(6)
那么,這4個(gè)并行支路的IFFT運(yùn)算可以分別表示為:
x0(r)=IFFT(X0(k)),x1(r)=IFFT(X1(k)),
x2(r)=IFFT(X2(k)),x3(r)=IFFT(X3(k))
(k=0,1,…,N/4-1),(r=0,1,…,N/4-1)
(7)
令n=4m,4m+1,4m+2,4m+3,(m=0,1,…,N/4),則對(duì)各支路信號(hào)的IFFT運(yùn)算結(jié)果進(jìn)行合成的運(yùn)算過程如下[6]:
=4-1(x0(r)+x2(r)+x1(r)+x3(r))
(8)
對(duì)4個(gè)并行支路分別進(jìn)行IFFT運(yùn)算,再按照上述基4頻率抽取的合成方式,即獲得多路并行IFFT計(jì)算結(jié)果,將和支路信號(hào)進(jìn)行組合即可獲得與串行脈壓相同的結(jié)果。
為簡(jiǎn)化運(yùn)算處理流程,基于FPGA的數(shù)字脈壓通常采用定點(diǎn)方式,這與DSP基于浮點(diǎn)運(yùn)算有很大不同。定點(diǎn)運(yùn)算過程中的數(shù)據(jù)截取很可能導(dǎo)致FPGA脈壓的精度略差,但如果這種精度上的差異對(duì)整個(gè)信號(hào)處理系統(tǒng)實(shí)現(xiàn)的功能沒什么實(shí)質(zhì)影響,那么基于FPGA的脈壓算法就可以在工程上應(yīng)用?;贔PGA的超寬帶多相濾波數(shù)字下變頻算法采用流水方式,F(xiàn)PGA中并行數(shù)字脈壓亦采用流水處理模式,沒有對(duì)支路數(shù)據(jù)的存儲(chǔ)和組合,相比傳統(tǒng)的串行脈壓算法具有處理效率高的優(yōu)勢(shì)。
以基于FPGA實(shí)現(xiàn)128K點(diǎn)線性調(diào)頻信號(hào)脈壓處理的應(yīng)用系統(tǒng)為例,由于FPGA開發(fā)環(huán)境中提供的用于FFT和IFFT運(yùn)算的IP核僅支持最大64K點(diǎn)的處理,要實(shí)現(xiàn)128K點(diǎn)的脈壓算法,采用傳統(tǒng)的串行脈壓方式可能無法實(shí)現(xiàn),但是選擇基4并行數(shù)字脈壓方法則是一種很好的解決方式。每個(gè)基帶支路信號(hào)分別完成32K點(diǎn)脈壓運(yùn)算,再進(jìn)行各支路數(shù)據(jù)組合即可獲得128K點(diǎn)脈壓結(jié)果。
將脈壓匹配函數(shù)加Hamming窗以獲得較好的脈壓效果,基于FPGA開發(fā)環(huán)境的支路32K點(diǎn)基帶線性調(diào)頻信號(hào)并行脈壓仿真結(jié)果如圖2所示。將4個(gè)并行支路合成一路128K點(diǎn)的脈壓結(jié)果如圖3所示。仿真結(jié)果驗(yàn)證了這種并行脈壓算法的工程可行性。
針對(duì)超寬帶數(shù)字中頻接收系統(tǒng)處理帶寬大、采樣率高和信號(hào)脈壓點(diǎn)數(shù)多,以及傳統(tǒng)串行脈壓方式處理時(shí)間長(zhǎng)和 FFT IP 核計(jì)算長(zhǎng)度有限的特點(diǎn), 提出了基于并行多相FFT和頻率抽取IFFT算法架構(gòu)的并行數(shù)字脈壓算法,既可節(jié)省計(jì)算時(shí)間又能夠擴(kuò)展數(shù)據(jù)處理長(zhǎng)度,并且提高數(shù)字脈壓處理效率?!?/p>
[1] 毛榮鈞,馮道旺,郭福成,等. 基于FPGA的相關(guān)匹配實(shí)時(shí)處理算法[J]. 航天電子對(duì)抗, 2015,31(3):56-58.
[2] 王宏偉,趙國(guó)慶,王玉軍,等.一種寬帶數(shù)字信道化接收機(jī)[J].西安電子科技大學(xué)學(xué)報(bào), 2010,37(3):487-491.
[3] 關(guān)濤,朱運(yùn)航,常文革,等.數(shù)字下變頻與脈沖壓縮系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 雷達(dá)科學(xué)與技術(shù), 2010,8(2):133-138.
[4] 王宏偉.基于傅里葉變換的數(shù)字信道化及相關(guān)技術(shù)[D].西安:西安電子科技大學(xué)電子工程學(xué)院,2010.
[5] 周海斌,劉剛. 基于FPGA的高速實(shí)時(shí)FFT處理器設(shè)計(jì)[J].電子工程師, 2015,31(1):54-56.
[6] 蘇彥鵬,張漢富,韓磊. 基于FPGA的4K點(diǎn)基-16 FFT模塊的實(shí)現(xiàn)[J].電子與封裝, 2007,7(9):8-11.
DesignofparalleldigitalpulsecompressionbasedonFPGA
Wang Lihua, Zhao Jun, Tang Yong, Han Xiaoming
(AVIC Leihua Electronic Technology Research Institute, Wuxi 214063, Jiangsu, China)
In the ultra-wideband radar receiving system, processing of the baseband signal for large bandwidth, high data rata and large data volume is not suitable for low-rate serial pulse compression based on digital signal processor (DSP). In digital intermediate frequency(IF) receiving system, the integrated design of polyphase filter digital down conversion (DDC) and parallel pulse compression, using parallel multi-phase fast Fourier transform(FFT) and frequency extraction inverse fast Fourier transform(IFFT) algorithm architecture, a number of parallel baseband branch signal simultaneously implementation pulse compression operation, and greatly improve the processing effectiveness. The implementation of digital pulse compression algorithm from the traditional processing system to the digital IF receiving system, and complete parallel processing based on FPGA, which optimize the receiving and processing system of radar.
parallel pulse compression; parallel polyphase FFT; frequency extraction IFFT; field programmable gate array
2017-09-02;2017-09-27修回。
王利華(1982-),男,高工,碩士,主要研究方向?yàn)槔走_(dá)數(shù)字中頻接收與信號(hào)預(yù)處理。
TN958
A