,,,
(湖北大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,武漢 430062)
現(xiàn)代雷達(dá)對速度分辨力和距離分辨力性能均提出了較高的要求,為了兼顧這兩項(xiàng)指標(biāo),常采用脈沖壓縮技術(shù), 即在發(fā)射端發(fā)射大時寬的線性調(diào)頻(LFM)脈沖,在接收端進(jìn)行匹配濾波實(shí)現(xiàn)脈沖壓縮,以獲得大帶寬的回波信號,這樣可同時獲得較高的速度分辨力和距離分辨力[4]。脈沖壓縮可采用時域法和頻域法兩種方式實(shí)現(xiàn)。頻域法實(shí)現(xiàn)時速度較快,但需多次用到FFT和IFFT,硬件開銷較大;采用時域法實(shí)現(xiàn)時電路結(jié)構(gòu)簡單,但運(yùn)算速度較慢。
本文采用分布式算法設(shè)計(jì)FIR結(jié)構(gòu)的匹配濾波器,并對通過對匹配濾波器窗函數(shù)進(jìn)行改進(jìn),改善了脈沖壓縮的效果,提高了目標(biāo)距離分辨能力?;贔PGA完成了對LFM信號脈沖壓縮的時域?qū)崿F(xiàn),具有節(jié)省硬件開銷和運(yùn)算速度快的雙重優(yōu)勢。
LFM(線性調(diào)頻)信號表示為:
s(t)=rect(t/T)exp(jπkt2)
(1)
rect(t/T)表示信號的幅度。用sri表示第i個點(diǎn)目標(biāo)的回波信號:
(2)
雷達(dá)發(fā)射端發(fā)射寬脈沖的LFM信號,在雷達(dá)的接收端對回波信號進(jìn)行處理獲得窄脈沖信號,這種由寬脈沖信號到窄脈沖信號的處理過程被稱為脈沖壓縮,其核心就是匹配濾波器。
匹配濾波器的原理:回波信號與濾波器傳輸系數(shù)進(jìn)行時域卷積,并不斷調(diào)整傳輸函數(shù)h(t),使匹配濾波器的脈壓效果達(dá)到最佳,同時輸出信號的信噪比達(dá)到最大值。設(shè)s(t)、h(t)分別是回波信號和濾波器的傳輸系數(shù),得到匹配濾波器的輸出為:
(3)
令h(t)=s(-t)*,則濾波器輸出為:
(4)
K代表幅度歸一化常數(shù)。匹配濾波器的核心:對回波信號s(t)與濾波器的傳輸函數(shù)h(t)進(jìn)行線性卷積,濾波器的長度由發(fā)射脈沖的帶寬B、時寬T,以及采樣倍數(shù)n決定的。脈沖壓縮后回波信號的主瓣寬度:τ=1/B,脈沖寬度比:D=BT=T/τ,D也稱為發(fā)射脈沖的時寬帶寬積。由式(4)可知,當(dāng)h(t)為回波信號s(t)的鏡像函數(shù)時,匹配效果最佳,由于回波信號是動態(tài)的、不確定的,觀察圖(a)發(fā)現(xiàn),回波信號類似于帶有波紋的LFM信號,所以可采用發(fā)射脈沖信號的復(fù)共軛近似代替匹配濾波器的傳輸函數(shù)。
發(fā)射脈沖的設(shè)計(jì)參數(shù):T=3 μs,B=10 MHz時,距離分辨力δ=c/2B=15 m,c為光速,目標(biāo)間距設(shè)計(jì)為20 m。圖1 為雙目標(biāo)LFM回波信號脈沖壓縮前后的仿真波形:其中(a)是脈沖壓縮前的回波信號,該回波信號的波形近似于帶波紋的發(fā)射脈沖,沒有明顯的目標(biāo)信息,需要對該回波信號進(jìn)行脈壓處理;(b)為回波信號經(jīng)脈沖壓縮后的仿真結(jié)果,觀察發(fā)現(xiàn),脈沖壓縮后信號的主瓣與旁瓣區(qū)分明顯,過渡帶更加陡峭,很容易提取目標(biāo)的有效信息,通過對主瓣時間間距進(jìn)行計(jì)算,可以獲得較為準(zhǔn)確的目標(biāo)間距。
圖1 兩目標(biāo)LFM回波信號脈壓前后的波形
對回波信號直接進(jìn)行脈壓得到的窄脈沖信號旁瓣比較大,信號能量不集中,造成能量的損失,要接收到信噪比較大的信號就需要發(fā)射端發(fā)射更大功率的信號,故需要一種方法使信號的能量盡可能集中在主瓣上。常見的抑制旁瓣的方式就是窗函數(shù)加權(quán),不僅使信號能量集中在主瓣,也使目標(biāo)信息的提取變得更加容易。常見的窗函數(shù)有矩形窗、三角窗、海明窗以及布萊克曼窗,且不同窗函數(shù)的頻譜特性不同。采用窗函數(shù)加權(quán)的最終目的是抑制旁瓣、減小主瓣寬度,但是這兩個目標(biāo)相互矛盾,不能同時實(shí)現(xiàn),所以窗函數(shù)的選擇要根據(jù)實(shí)際需求。以經(jīng)典Hamming窗為例先對匹配濾波器加權(quán)處理,窗函數(shù)表達(dá)式為:
(5)
其中:T為發(fā)射脈沖的時寬,Hamming窗加權(quán)后信號的旁瓣抑制較好,但是過渡帶變得平緩。在實(shí)際數(shù)字濾波器中,受采樣頻率、數(shù)據(jù)位寬以及濾波器長度的限制,當(dāng)目標(biāo)距離較近時,目標(biāo)識別的難度加大。雖然旁瓣受到了有效抑制,但是平滑的過渡帶降低了目標(biāo)的可識別性。為改善這種情況,對Hamming窗進(jìn)行改進(jìn)。
LFM信號的能量主要集中在低頻,而回波信號與發(fā)射脈沖的波形相似,所以在匹配濾波器進(jìn)行線性卷積時,主瓣的能量也主要來自低頻部分,而且發(fā)射脈沖采用的是上變頻LFM信號,故得到改進(jìn)后的加窗函數(shù)為:
(6)
圖2 窗函數(shù)時域仿真波形
對比改進(jìn)前后的窗函數(shù)可以看出,改進(jìn)窗只有Hamming函數(shù)的一半,也近似于LFM信號的第一個周期的一半。對濾波器進(jìn)行加權(quán)就是對濾波器的傳輸系數(shù)進(jìn)行加權(quán),得到新的傳輸系數(shù)為:hh(t)=h(t)·w(t),帶入式(4)得到加權(quán)后匹配濾波器的輸出為:
(7)
其中:W(t)為w(t)或wh(t),回波信號經(jīng)過窗函數(shù)加權(quán)后的匹配濾波器進(jìn)行脈沖壓縮(以間距d=20 m為例),對比Hamming窗改進(jìn)前后的仿真結(jié)果,如圖3所示。對比圖1、圖3看出,進(jìn)行窗函數(shù)加權(quán)后的回波信號能量更加集中,降低了能量的損失,然而波峰間的過渡帶變得平緩,目標(biāo)識別難度加大。與傳統(tǒng)的Hamming窗相比,使用改進(jìn)窗函數(shù)進(jìn)行加權(quán)可以獲得較為陡峭的過渡帶,提高目標(biāo)的距離分辨能力,而且旁瓣進(jìn)一步被抑制。
圖3 窗函數(shù)改進(jìn)前后的脈壓波形
時域數(shù)字卷積是通過N(N為采樣長度)階FIR結(jié)構(gòu)的濾波器實(shí)現(xiàn)的[2],由上節(jié)可知濾波器的輸入數(shù)據(jù)和匹配系數(shù)都是復(fù)數(shù)形式。實(shí)現(xiàn)一次長度為N的卷積運(yùn)算需要4N次乘法器和4N-1次加法器[5]。當(dāng)N取值64時,完成一次實(shí)時卷積運(yùn)算就需要256個乘法器同時運(yùn)行,然而一般的FPGA芯片沒有如此多的嵌入IP核,所以在考慮實(shí)際成本和不降低運(yùn)算速度的情況下,采用分布式算法,設(shè)計(jì)多條流水線并行執(zhí)行的匹配濾波器,可以很好解決高階濾波器設(shè)計(jì)受限于乘法器資源不足的情況。
分布式算法就是利用嵌入在FPGA芯片的存儲模塊和豐富的邏輯資源,采用數(shù)據(jù)存儲、格式轉(zhuǎn)換、地址查詢的方式代替卷積運(yùn)算中的乘法器。分布式濾波器設(shè)計(jì)是先將卷積運(yùn)算結(jié)果的所有可能情況存儲在RAM模塊,接著將輸入數(shù)據(jù)轉(zhuǎn)換成存儲模塊的尋址數(shù)據(jù),并進(jìn)行查表輸出,然后對存儲器的輸出進(jìn)行移位求和就得到實(shí)際卷積運(yùn)算的結(jié)果,該算法實(shí)現(xiàn)乘法到存儲器、寄存器的轉(zhuǎn)換,利用FPGA豐富的存儲和邏輯資源代替稀有的IP核,使普通FPGA芯片設(shè)計(jì)高階濾波器成為可能,節(jié)省了硬件成本。分布式算法具體如下:
首先對回波信號進(jìn)行采樣,得到濾波器的輸入信號x(n),二進(jìn)制表示形式為:
(8)
xk(n)表示x(n)的第k位,b是采樣數(shù)據(jù)的位長,則匹配濾波器輸出:
(9)
由式(9)看出,首先輸入信號第k位的值(1或0)與濾波器系數(shù)進(jìn)行與運(yùn)算并求和,然后將上一步的累加和左移k位(2k相當(dāng)于左移k位),再次求和最終得到y(tǒng)(n),此方法就是將卷積運(yùn)算轉(zhuǎn)變?yōu)檫壿嬤\(yùn)算和移位求和的過程。通過此方法可以看出,只要知道第一步的累加值,再進(jìn)行移位求和就可以得到時域卷積的值。在實(shí)際設(shè)計(jì)中首先將第一步累計(jì)和的所有可能值存儲在芯片嵌入的RAM塊中,然后對輸入數(shù)據(jù)進(jìn)行變換,作為存儲器的尋址數(shù)據(jù),對存儲器輸出的數(shù)據(jù)進(jìn)行移位求和,這就是分布式算法設(shè)計(jì)濾波器的大致流程。
為了改善脈沖壓縮后信號的信噪比,需要對設(shè)計(jì)的濾波器進(jìn)行窗函數(shù)加權(quán),設(shè)w(n)為窗函數(shù)經(jīng)采樣后的數(shù)據(jù),采樣長度為濾波器的設(shè)計(jì)階數(shù),得到濾波器的傳輸系數(shù)變?yōu)椋篽(0)w(0),h(1)w(1),...,h(63)w(63)。
(10)
為了設(shè)計(jì)方便和節(jié)省資源,先將加權(quán)后的系數(shù)值帶入式(9),即先對濾波器進(jìn)行加權(quán),此時濾波器的輸出即為窗函數(shù)加權(quán)后的濾波結(jié)果。
匹配濾波器的設(shè)計(jì)如圖4,設(shè)計(jì)8條流水線并行處理的結(jié)構(gòu),此時每條流水線都為一個8階FIR結(jié)構(gòu)的濾波器,每條流水線的查找表大小為28單位,流水線設(shè)計(jì)將卷積運(yùn)算的RAM使用量降到8×28單位,這使得一般的FPGA芯片都可以滿足。甚至可以進(jìn)一步采用16條流水線的進(jìn)行電路設(shè)計(jì),將查找表的使用量降為16×24單位,不過模塊銜接復(fù)雜,硬件電路設(shè)計(jì)難度加大,需要注意更多的時序問題。本次設(shè)計(jì)采用8條流水線并行執(zhí)行的FIR結(jié)構(gòu),匹配濾波器的具體設(shè)計(jì)框圖如圖5。
圖4 匹配濾波器的結(jié)構(gòu)
圖4中k表示輸入數(shù)據(jù)的第k位,每個ROM表存儲8階FIR結(jié)構(gòu)采用分布式算法的所有可能乘積項(xiàng),需要個存儲單元,對輸入數(shù)據(jù)進(jìn)行轉(zhuǎn)換并尋址存儲器,接著將ROM表的輸出數(shù)據(jù)進(jìn)行移位(左移k位)求和,輸出的值為圖5 中的一個值。因?yàn)闉V波器的輸入數(shù)據(jù)是復(fù)數(shù),由復(fù)數(shù)乘法可知,故需要4條圖4的流水線設(shè)計(jì)。匹配濾波器整體設(shè)計(jì)結(jié)構(gòu)如下圖:
圖5 匹配濾波的總體結(jié)構(gòu)
由圖5可知,首先將回波信號進(jìn)行分解,然后對回波信號的實(shí)部和虛部進(jìn)行采樣、存儲及數(shù)據(jù)轉(zhuǎn)換,濾波器最終輸出的是回波信號脈沖壓縮后的模值。然而傳統(tǒng)的求模方式依舊要用到乘法器和開方運(yùn)算,實(shí)現(xiàn)開方運(yùn)算非常復(fù)雜而且延時比較高,所以需要找到一種簡單的模值估算方法求取信號的模值,且延時較低。設(shè)信號的模值為Y,估算算法[3]為:
Y=MAX{MAX(|I|,|Q|),7/8MAX(|I|,|Q|)+
1/2MIN(|I|,|Q|)}
(11)
據(jù)統(tǒng)計(jì),采用該復(fù)數(shù)求模公式對信號的損失不超過0.13 db,其中7/8MAX(|I|,|Q|)可以采用移位寄存器與加法器的結(jié)合來實(shí)現(xiàn)。至此匹配濾波器的整體結(jié)構(gòu)完成,整個設(shè)計(jì)完全使用寄存器和加法器資源,理論上只要FPGA的ROM和加法器資源足夠,可以設(shè)計(jì)任意長度的濾波器。
采用ALTERA公司的FPGA器件EP2C35F672C8進(jìn)行匹配濾波器的設(shè)計(jì)集成。圖6是利用FPGA設(shè)計(jì)實(shí)現(xiàn)脈沖壓縮功能的匹配濾波器的整體結(jié)構(gòu)。ROM_real、ROM_imag模塊存儲的是回波信號經(jīng)分解、采樣、量化處理后的實(shí)部和虛部數(shù)據(jù),在時鐘CLK控制下,通過counter計(jì)數(shù)器計(jì)數(shù)作為存儲模塊的輸入地址產(chǎn)生濾波器的輸入數(shù)據(jù);address模塊對輸入數(shù)據(jù)的第k進(jìn)行轉(zhuǎn)換作為分布式算法查找表模塊的輸入地址,通過該地址提取模塊ROM_R0toR7、ROM_I0toI7模塊中的數(shù)據(jù)(完成乘積項(xiàng)的提取),接著對輸出的數(shù)據(jù)移位、求和得到圖5中I1、I2、Q1、Q2的值;此時得到回波信號經(jīng)過脈沖壓縮后的實(shí)部、虛部,且都為有符號數(shù)據(jù),需要進(jìn)一步設(shè)計(jì)求模電路方便數(shù)據(jù)分析。
圖6 匹配濾波器設(shè)計(jì)結(jié)構(gòu)
圖7是由式(11)設(shè)計(jì)的求模電路,采用xor2模塊求取回波信號實(shí)部和虛部的絕對值(輸入數(shù)據(jù)與其最高位逐位異或),通過比較器和加法器對輸出信號求模,輸出data4[17:0]為回波信號脈壓后的近似模值。至此基于FPGA的匹配濾波器的整體硬件電路設(shè)計(jì)已經(jīng)完成,進(jìn)一步對設(shè)計(jì)好的電路添加時序約束并進(jìn)行時序仿真分析,檢測整個電路是否滿足要求。首先編寫Test Bench驅(qū)動文件,設(shè)計(jì)時鐘精度并初始化電路,接著加載ROM模塊存儲的數(shù)據(jù)進(jìn)入濾波器進(jìn)行處理,最終將濾波器輸出的是數(shù)據(jù)通過波形顯示器顯示,觀察回波信號脈沖壓縮后的波形。
圖7 求模電路結(jié)構(gòu)
LFM信號設(shè)計(jì)參數(shù):帶寬,時寬,采樣頻率,時鐘頻率,距離分辨力δ=15 m。通過Modelsim加載濾波器的輸出數(shù)據(jù),Wave設(shè)置為Analog模式,觀察脈沖壓縮后信號的波形。圖8是兩目標(biāo)回波信號脈壓前實(shí)部和虛部的測試波形,與MATLAB仿真結(jié)果一致,直接對回波信號進(jìn)行分析,是難以提取到目標(biāo)信號的有用信息,需要進(jìn)一步對回波信號進(jìn)行匹配濾波。
圖8 兩目標(biāo)脈沖壓縮前的回波信號
圖9分別為兩目標(biāo)間距20 m的回波信號??梢钥闯?,與圖3的Hamming窗加權(quán)仿真結(jié)果相比,經(jīng)FPGA設(shè)計(jì)數(shù)字濾波器處理后,目標(biāo)的分辨性能下降,這主要是由于采樣頻率與采樣精度受限的影響。考慮FPGA硬件資源有限和成本的控制,過多地提高采樣頻率和采樣精度的方法并不可取,故需要提高算法的有效性。對窗函數(shù)進(jìn)行改進(jìn)并加權(quán),觀察濾波器的輸出波形如下所示,此時目標(biāo)信號區(qū)分明顯,雖然主瓣的寬度卻有所增加,但是信號能量依舊集中在主瓣。對圖9的測試波形進(jìn)行分析,測得兩主瓣間距Δt=16 ns,經(jīng)計(jì)算測量間距Δd=fclk·cΔt/2fp=20 m,與設(shè)計(jì)的目標(biāo)間距一致,這說明改進(jìn)窗函數(shù)能夠改善因采樣頻率、采樣精度受限造成信息損失的影響。
仿真報(bào)告顯示,該數(shù)字濾波器設(shè)計(jì)占用2 268個邏輯單元、1 573個寄存器、28 032字節(jié)存儲器??梢钥闯鍪褂眉拇嫫骱痛鎯ζ鞔婢矸e運(yùn)算中的乘法器時,邏輯資源、存儲資源的使用量都比較大。當(dāng)采用級聯(lián)結(jié)構(gòu)設(shè)計(jì)匹配濾波器時,資源的使用量會成倍減小,但運(yùn)算速度也會成倍降低,二者不能同時兼顧,具體選擇要根據(jù)實(shí)際要求。
圖9 兩目標(biāo)脈沖壓縮后的測試結(jié)果
本次設(shè)計(jì)根據(jù)FPGA并行執(zhí)行機(jī)制,采用分布式算法設(shè)計(jì)FIR結(jié)構(gòu)的匹配濾波器。以寄存器和加法器代替乘法運(yùn)算,不僅保證了數(shù)據(jù)處理的速率,而且打破了FPGA的乘法器資源的限制,可以設(shè)計(jì)高階濾波器。通過對仿真結(jié)果進(jìn)行分析,與直接對回波信號進(jìn)行壓縮相比,Hamming窗函數(shù)加權(quán)后,可以降低旁瓣,但目標(biāo)距離分辨性能并不理想,使用改進(jìn)窗函數(shù)加權(quán)后,目標(biāo)的距離分辨能力明顯改善。
本次設(shè)計(jì)采用64階的FIR結(jié)構(gòu)以及全流水線同步算法,雖然完全替代了乘法器的使用,但是資源的使用量依舊較大。若采用串行處理的方式,每削減一半的流水線,硬件資源的使用量就會減少1/2,所以如何考慮硬件成本和處理速度需要結(jié)合實(shí)際情況。
參考文獻(xiàn):
[1] 杜 勇. 數(shù)字濾波器的MATLAB與FPGA實(shí)現(xiàn)[M].北京:電子工業(yè)出版社,2015.
[2] Baese U M. 數(shù)字信號處理的FPGA實(shí)現(xiàn)[M]. 劉 凌譯.北京:清華大學(xué)出版社,2011.
[3] 楊維明.一種基于EPLD技術(shù)的信號取模方法[J]. 湖北大學(xué)學(xué)報(bào),1999,21(2):1-4.
[4] 丁智泉. 線性調(diào)頻信號的脈沖壓縮系統(tǒng)的設(shè)計(jì)與FPGA實(shí)現(xiàn)[D]. 成都:電子科技大學(xué), 2006.
[5] 李文剛. 基于FPGA的高階高速FIR濾波器設(shè)計(jì)[D]. 成都:電子科技大學(xué), 2005.