脈沖壓縮原理及FPGA實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為解決雷達(dá)作用距離和距離分辨力的問題,分析了線性調(diào)頻脈沖壓縮的原理及工程實(shí)現(xiàn)方法,并利用Matlab軟件對(duì)加權(quán)前后的線性調(diào)頻信號(hào)脈沖壓縮波形進(jìn)行對(duì)比。簡述了分布式(DA)算法的基本原理,給出一種基于FPGA分布式算法的時(shí)域脈沖壓縮實(shí)現(xiàn)結(jié)構(gòu),利用QuartusⅡ軟件完成脈沖壓縮處理模塊設(shè)計(jì)以及波形仿真。通過分析可以得出基于分布式算法實(shí)現(xiàn)的脈沖壓縮可以減少資源利用率,大大節(jié)省硬件資源。
關(guān)鍵詞:脈沖壓縮;匹配濾波器;分布式算法;FPGA
0 引言
隨著現(xiàn)代科技的發(fā)展,對(duì)雷達(dá)的作用距離、距離分辨力等性能提出了越來越高的要求。根據(jù)雷達(dá)理論,距離分辨力取決于信號(hào)的帶寬,探測距離取決于信號(hào)的時(shí)寬,所以理想的雷達(dá)信號(hào)應(yīng)具有大時(shí)寬帶寬積。單載頻脈沖信號(hào)的時(shí)寬帶寬積近似為1 ,因此作用距離與距離分辨力存在矛盾。采用脈沖壓縮可以有效解決上述矛盾,這樣既提高了雷達(dá)的作用距離,又保證了較高的距離分辨力。用數(shù)字方式實(shí)現(xiàn)的脈沖壓縮具有可靠性高,靈活性好,可編程、便于應(yīng)用。因此,這里介紹一種在FPGA上用分布式算法實(shí)現(xiàn)時(shí)域脈沖的壓縮,它是一種基于查找表的計(jì)算方法,與傳統(tǒng)算法(乘累加)相比,分布式算法可以極大地減少硬件電路地規(guī)模,易于實(shí)現(xiàn)流水線處理,從而提高電路的執(zhí)行速度。
1 脈沖壓縮原理及Matlab仿真
1.1 線性調(diào)頻信號(hào)脈沖壓縮原理
大時(shí)寬帶寬信號(hào)的實(shí)現(xiàn)是通過脈沖壓縮濾波器實(shí)現(xiàn)的。這時(shí)雷達(dá)發(fā)射信號(hào)是載頻按一定規(guī)律變化的寬脈沖,即具有非線性相位譜的寬脈沖。然而,脈沖壓縮濾波器具有與發(fā)射信號(hào)變化規(guī)律相反的延遲頻率特性,即脈沖壓縮器的相頻特性應(yīng)該與發(fā)射信號(hào)實(shí)現(xiàn)相位共軛匹配。所以,理想脈沖壓縮濾波器就是匹配濾波器。匹配濾波器的實(shí)現(xiàn)是通過對(duì)接收信號(hào)si(t)與匹配濾波響應(yīng)h(t)求卷積得到的,即:
數(shù)字脈沖壓縮的實(shí)現(xiàn)方式有兩種。一是時(shí)域卷積法;二是頻域FFT法。時(shí)域處理方法比較直觀、簡單,運(yùn)算量相對(duì)較少。另外,由于FPGA等器件的迅速發(fā)展,時(shí)域卷積法得到了更大程度的應(yīng)用。頻域FFT法是先經(jīng)過FFT的運(yùn)算,再進(jìn)行IFFT運(yùn)算,然后得到脈壓結(jié)果,其處理在本質(zhì)上是與時(shí)域卷積法一樣的。通常脈沖壓縮用數(shù)字濾波器來實(shí)現(xiàn),這時(shí)輸入信號(hào)si(t)需要通過A/D轉(zhuǎn)換器將其轉(zhuǎn)換為數(shù)字信號(hào)si(n)。此時(shí),脈沖壓縮匹配濾波器的輸出為:
其實(shí)現(xiàn)框圖如圖1所示。本文的設(shè)計(jì)就是按圖1的原理而實(shí)現(xiàn)的。
1.2 線性調(diào)頻脈沖壓縮的Matlab仿真
線性調(diào)頻信號(hào)經(jīng)過匹配濾波器直接得到的脈沖壓縮輸出信號(hào)并不理想,主副瓣比只有13.2 dB,這在多數(shù)情況下是不能滿足要求的。因?yàn)榇蟮母卑陼?huì)在主瓣周圍形成虛假目標(biāo),而且大目標(biāo)的副瓣也會(huì)掩蓋其鄰近距離上的小目標(biāo),造成小目標(biāo)丟失,所以必須降低輸出信號(hào)的副瓣。常用的方法就是加權(quán)方法。如何選擇加權(quán)函數(shù),應(yīng)根據(jù)應(yīng)用場合的需要,依據(jù)最佳準(zhǔn)則在副瓣抑制、主瓣展寬、信噪比損失、副瓣衰減速度以及技術(shù)實(shí)現(xiàn)的難易等幾個(gè)方面考慮。
下面,給出仿真信號(hào)模型,并在Matlab下進(jìn)行仿真,以分析加權(quán)前后的影響。仿真模型:脈沖寬度為150μs,調(diào)頻帶寬為2 MHz,采樣周期為0.1μs,加權(quán)方式為海明加權(quán)。圖2給出了采用加權(quán)函數(shù)前和采用海明加權(quán)函數(shù)后的脈沖壓縮波形圖。
通過海明加權(quán),主副瓣比大大改善,即副瓣得到了顯著的抑制。雖然海明加權(quán)后帶來了一定的信噪比損失,但匹配濾波器的性能得到了大大的提高。
2 分布式算法原理及4階FIR濾波器的設(shè)計(jì)
2.1 分布式算法原理
分布式算法(DA)是一種以實(shí)現(xiàn)乘累加運(yùn)算為目的的運(yùn)算方法,它與傳統(tǒng)乘加運(yùn)算的不同在于執(zhí)行部分積運(yùn)算的先后順序不同。傳統(tǒng)算法是在完成乘加功能時(shí),等到所有乘積產(chǎn)生之后,再進(jìn)行相加來完成乘加運(yùn)算的。而分布式算法則是通過將各輸入數(shù)據(jù)的每一對(duì)應(yīng)位產(chǎn)生的部分積預(yù)先進(jìn)行相加,形成相應(yīng)部分積,然后對(duì)各部分積進(jìn)行累加,形成最終結(jié)果的。與乘累加算法相比,分布式算法可極大地減少硬件電路規(guī)模,降低設(shè)計(jì)的復(fù)雜度,極大地提高可靠性和可操作性。分布式算法由串行、并行和串并結(jié)合而構(gòu)成的分布式算法。串行分布式算法是逐位的執(zhí)行,每個(gè)時(shí)鐘周期只能執(zhí)行1位,速度比較慢;并行分布式算法是1個(gè)時(shí)鐘周期完成1個(gè)字的運(yùn)算,速度比較快;串并結(jié)合的分布式算法
1次可以執(zhí)行多位,但是需要多個(gè)時(shí)鐘周期才能完成1個(gè)字的運(yùn)算,控制起來比較復(fù)雜。
根據(jù)分布式算法的原理得出采用FPGA實(shí)現(xiàn)分布式算法的硬件結(jié)構(gòu),如圖3所示。
圖3中寄存器完成數(shù)據(jù)寄存,查找表完成數(shù)據(jù)查找運(yùn)算,加權(quán)累加器完成查表之后的加法。為了保證信號(hào)的完整性,即減少輸出毛刺,在數(shù)據(jù)輸出前用寄存器寄存一個(gè)時(shí)鐘周期然后輸出。
2.2 4階FIR濾波器的設(shè)計(jì)
本文的脈沖壓縮是通過并行分布式算法來實(shí)現(xiàn)的。從圖3可以得出,4階的FIR濾波器主要由移位寄存器、查找表和累加器組成。4為模塊的濾波器階數(shù),那么查找表中應(yīng)有24個(gè)存儲(chǔ)單元,如果濾波器階數(shù)過多,查找表規(guī)模隨階數(shù)的增加成指數(shù)遞增,因此階數(shù)較大時(shí)要分割查找表,分割查找表可以節(jié)省存儲(chǔ)資源,有利于成本和資源的節(jié)約。
要使4階FIR濾波器完成數(shù)據(jù)的輸入、串/并轉(zhuǎn)換、查表和加權(quán)累加,因?yàn)槭怯蟹?hào)數(shù)的運(yùn)算,所以要考慮累加最高位運(yùn)算符號(hào)。FIR濾波器是線性濾波器,低階濾波器的輸出集合相加,形成一個(gè)高階FIR濾波器的輸出。因此,在設(shè)計(jì)低階FIR時(shí),必須有2個(gè)輸出,一個(gè)用于FIR運(yùn)算的輸出,另一個(gè)輸出數(shù)據(jù)用于下一個(gè)FIR濾波器的運(yùn)算。為了保證信號(hào)的完整性,在程序設(shè)計(jì)時(shí),對(duì)輸入/輸出數(shù)據(jù)進(jìn)行了寄存處理。
下面給出一個(gè)4階的FIR濾波器設(shè)計(jì)實(shí)例。輸入數(shù)據(jù)為12位有符號(hào)數(shù),匹配濾波系數(shù)為12位有符號(hào)數(shù),4階FIR的仿真波形如圖4所示。仿真結(jié)果與Matlab仿真結(jié)果完全一致,說明設(shè)計(jì)是完全正確的。
3 64階匹配濾波器設(shè)計(jì)及仿真
由于匹配濾波器就是有限脈沖響應(yīng)濾波器,具有線性特性,所以通過低階濾波器的直接級(jí)聯(lián)相加就可以實(shí)現(xiàn)高階濾波器,前一個(gè)濾波器的移位數(shù)據(jù)y_out作為下一個(gè)濾波器模塊信號(hào)的輸入,每個(gè)濾波器模塊都與4階FIR設(shè)計(jì)相同,只需根據(jù)不同系數(shù)更改查找表中的數(shù)據(jù)。
在64階匹配濾波器設(shè)計(jì)中,先用16個(gè)4階的FIR濾波器級(jí)聯(lián)成一個(gè)64階的FIR濾波器,然后再用4個(gè)64階的FIR濾波器組成一個(gè)64階的匹配濾波器,即64階的脈沖壓縮濾波器。64階脈沖壓縮濾波器的邏輯設(shè)計(jì)如圖5所示。
邏輯設(shè)計(jì)是以Altera公司的cycloneⅡ系列EP2C70為平臺(tái),在QuartusⅡ軟件中利用VHDL語言和原理圖進(jìn)行邏輯設(shè)計(jì),頂層為原理圖,底層為VHDL文件。圖5中,fir64模塊為匹配濾波器實(shí)部對(duì)應(yīng)的64階濾波器,fir64I模塊為匹配濾波器虛部對(duì)應(yīng)的64階濾波器,輸出為16 位的I、Q兩路信號(hào)。由Matlab軟件仿真出來的匹配濾波器的系數(shù)全部是小數(shù),然后進(jìn)行歸一化處理后得到匹配濾波系數(shù)。脈沖壓縮加權(quán)不涉及硬件規(guī)模的增加,只是對(duì)其系數(shù)乘以一個(gè)適當(dāng)?shù)募訖?quán)函數(shù),在實(shí)際的編程實(shí)現(xiàn)過程中與不加權(quán)的處理方法是完全一致的。
對(duì)該匹配濾波器進(jìn)行波形仿真,輸入為12位的有符號(hào)數(shù)據(jù),系數(shù)為12位有符號(hào)數(shù)據(jù),輸出為16位有符號(hào)數(shù)據(jù)。由于匹配濾波器做的是64×64點(diǎn)的卷積,所以輸出數(shù)據(jù)為64+64-1=127個(gè)。由于仿真數(shù)據(jù)較多,只給出了部分仿真結(jié)果,如圖6所示。
4 結(jié)語
仿真分析表明,脈壓輸出的實(shí)際值與Matlab仿真值十分接近,其誤差是由量化所產(chǎn)生的,系統(tǒng)具有很高的精度。通過仿真分析整個(gè)設(shè)計(jì),可得出利用基于分布式算法能夠大大減少數(shù)字脈沖壓縮的運(yùn)算量,減少FPGA的資源消耗。另外還可以根據(jù)不同的需求,增加脈沖壓縮階數(shù),更高階數(shù)的脈沖壓縮實(shí)現(xiàn)方法與64階的完全一致。由于匹配濾波器的系數(shù)對(duì)稱,所以可采用線性相位FIR濾波器在FPGA中的實(shí)現(xiàn)算法,這樣同等性能的濾波器設(shè)計(jì)可減小一半的硬件規(guī)模,這樣就會(huì)節(jié)省更多的邏輯單元,實(shí)現(xiàn)更多的功能。