用高速DSP在頻域上實現LFM信號的實時脈沖壓縮 作者: 時間:2007-03-09 來源:網絡 加入技術交流群 掃碼加入和技術大咖面對面交流海量資料庫查詢 收藏 摘要:時寬帶寬(TB)積較小的線性調頻(LFM)信號的脈沖壓縮可用A100等器件構成的橫向濾波器實現;對于TB積較大的LFM信號,在時域上對其進行脈沖壓縮所需的計算量和硬件量太大。本文介紹用TMS320C6201 DSP在頻域上實現大TB積LFM信號的實時脈沖壓縮,內容包括海明加權、循環卷積、長數據分段迭加、軟件流程圖和硬件框圖。實驗結果表明,當雷達重要周期為300Hz時,對TB積為320的LFM信號進行脈沖壓縮后最大副瓣電平為-42.3分貝。 關鍵詞:LFM 脈沖壓縮 信號處理器 實時信號處理 匹配濾波 為提高脈沖雷達或脈沖聲納的作用距離,通常有兩個途徑,其一是增加發射機峰值功率;其二是加大發射脈沖的寬度來提高平均發射功率。發射機的發射功率峰值受電源、功率放大器、功率傳輸通道(功率過大,波導等器件易打火)等限制;簡單增加發射脈沖的寬度,相當于降低發射信號的帶寬。為使相同時寬的脈沖增加帶寬,可對發射脈沖內的載波進行線性調頻;在接收端對線性調頻的回波信號再進行脈沖壓縮處理。經脈沖壓縮后信號所具有的大的帶寬能夠提高測距精度和距離分辨力。寬脈沖內大的時寬能夠提高測速精度和速度分辨力。因此脈沖壓縮技術廣泛用于雷達、聲納等系統,其中以線性調頻信號的應用最為廣泛。 1 線性調頻信號的脈沖壓縮 線性調頻(LFM)信號是一種瞬時頻率隨時間呈線性變化的信號。零中頻線調頻信號u(t)可表示為: u(t)=exp(jπBt2/T) -T/2DSP芯片。高速的數據處理能力和對外接口能力使其使用于雷達、聲納、通信、圖像等實時處理系統。 C6201 DSP采用甚長指令字(VLIW)結構,單指令字長32Bit,8個指令組成一個指令包,總字長為256Bit。芯片內部設置了專門的指令分配模塊,可以將每個256Bit的指令包同時分配到8個處理單元并由8個單元同時運行。最大處理能力可達2400MIPS。 C6201的存儲器尋址空間為32Bit。外部存儲器接口包括直接同步存儲器接口,可與同步動態存儲器(SDRAM)、同步突發靜態存儲器(SBSRAM)連接,主要用于大容量、高速存儲;還包括直接異步存儲器接口,可與靜態存儲器(SRAM)、只讀存儲器(EPROM)連接,主要用于小容量數據存儲和程序存儲;還有直接外部控制器接口,可與FIFO寄存器連接。 TI公司推出了世界上第一個效率可達70%~80%的匯編語言級C編譯器。對于高速實時應用,采用C語言和C6000線性匯編語言混合編程的方法,能夠把C語言的優點和匯編語言的高效率有機地結合在一起,代碼效率達到90%以上。 2.2 硬件構成 以TMS320C6201為核心器件的LFM信號的實時脈沖壓縮的硬件構成如圖1所示。雷達中頻信號經抗混迭濾波后,將其頻帶限制在一定的范圍內。再經A/D變換后便得到中頻直接采樣的數據。雙口RAM用于存放中頻直接采樣的原始數據。 TMS320C6201用于完成LFM信號的實時脈沖壓縮處理,包括FFT變換、中頻信號正交化、移頻、脈壓、IFFT等工作。 SDRAM為高速動態存儲器,用于存放LFM信號脈沖壓縮處理過程中的中間數據。 處理后的數據及處理過程中的數據均可送至PC機作保存、顯示等相關處理。 2.3 工作流程 LFM信號的脈沖壓縮的工作流程如圖2所示。 在相參雷達、聲納和某些通信系統中,通常需要提取帶限信號的同相分量(I)和正產分量(Q)。傳統的方法是在同相支路和正交支路中把帶限信號混頻到基帶(零中頻),然后用與信號帶寬相應的頻率進行采樣,以獲得基帶上的同相分量和正交分量。這種傳統的正交采樣方法存在的最大問題是I、Q兩個支路總存在一定的增益不平衡和相位誤差。 為了克服I、Q支路的幅相不平衡,本文采用中頻直接采樣的方法,即只用一個支路和一個A/D變換器。中頻直接采樣的數據通過適當的處理就可獲得零中頻上的正交信號數據。 FFT變換將中頻直接采樣的數據從時域變換到頻域。 正交化的過程是從中頻數據獲得兩路正交信號數據的過程,亦即從中頻信號頻譜獲取正交信號頻譜的過程。當采樣頻率fs、載頻f0和信號帶寬B之間滿足f0=(2M-1) %26;#183;fs/4關系(一般M=1,fs>2B)時,中頻信號頻譜的正頻率部分跟相應正交信號頻譜是完全吻合的。 為了獲得零中頻上的正交信號頻譜,必須將中頻上的正交信號頻譜沿頻軸移動一個載頻數量的大小,即移頻。 用于脈沖壓縮的匹配濾波器的時域值及基頻譜在整個工作過程中是不變的。零中頻正交信號的數據經脈沖壓縮后,再做IFFT得到最終的脈沖壓縮時域數據。 2.4 軟件計算及其優化 在整個工作流程中,FFT及IFFT運算占用的比例很大,因此在LFM信號的實時脈沖壓縮過程中,FFT程序的優化至關重要。 FFT運算采用基2時域抽取算法。在FFT的循環過程中,需要計算旋轉算子。這是一個三角浮點運算,用C6201運算速度慢,很難達到實時處理的要求。所以在FFT運算之前把旋轉算子計算好,放在數據存儲器中加以調用。而且旋轉算子的調用很有規律,尋址比較方便,所以不需花費很大的計算量。這樣大大提高了FFT的運算速度。 N點FFT運算需要1/2(N%26;#183;log2N)復數乘法。乘法花費指令周期較多,因此復數乘法的優化比較重要。在FFT程序中,主要采用了以下優化措施: (1)采用short數據類型 FFT中的數據類型為short,字長16位。模擬信號經A/D變換后長度為12位,與16位比較接近,這樣能夠很好的節省內存資源。由于TMS320C6201為定點型芯片,用它來計算整數類型的代數和運算,能夠發揮其最大的運算優勢。而且,C6000系列的指令集內只有16位乘法指令,這樣采用16位字長,能夠節省乘法運算的指令周期數。 (2)使用字訪問short類型 在復數乘法中,讀、寫內存比較頻繁。讀操作花費指令周期較多(需5個指令周期)。如果以short類型(字長16位)讀、寫內存,將要讀內存6次,寫內存4次。由于C6000指令集內的讀寫操作的數據可以是32位。所以可以采用int類型(字長32位)讀、寫內存,即每訪問一次內存,操作數為兩個Short數據。這樣只需讀內存3次,寫內存2次,花費時間可以減少一半。 (3)使用內聯函數 C6000編譯器提供了大量的內聯函數。如16位乘法算:_mpy(),_mpyh(),_mpyh1(),_mpylh()等。內聯函數可快速優化C代碼,在程序中應盡量使用。 2.5 長數據分段迭加 當一個雷達重復周期內采樣的數據長度很大而相應匹配濾波器的數據很短時,可采用長數據分段迭加來減小運算量。即將信號長數據分散成若干個小段(每小段數據長度都與匹配濾波器數據長度相當),對每小段數據分別作FFT處理后再相加。實驗結果表明:當信號數據長度越大時,采用此種方法相對于通常補零FFT方法的優越性越大,可以滿足LFM信號實時脈沖壓縮的要求。 通用DSP技術的不斷發展,給實時雷達信號處理系統的實現帶來了極大的方便。本文闡述了LFM信號實時脈沖壓縮為雷達實時信號處理的一個實例,對于雷達聲或納等設備的實時信號處理具有一定的參考價值。
評論