姬憲法 王 寧

摘要:MATLAB軟件是一種集數值計算、圖像處理及系統仿真等強大功能于一體的編程環境。將MATLAB的圖形繪制、信號處理和系統仿真等功能應用于雷達原理教學中,能使教學直觀、生動、形象,加深學生對理論的理解。
關鍵詞:雷達原理 MATLAB 教學應用
雷達原理是高校雷達工程專業的專業基礎課,它主要介紹雷達工作的基本原理,在雷達專業的課程體系中起著非常重要的作用,是學習許多后續課程的基礎。然而雷達原理這門課程理論復雜,非常抽象,許多問題不僅要在時域內進行分析,還要在學生們并不熟悉的頻域內進行分析,推理、算式較多,從而使許多學生望而卻步,失去學好這門課的信心。在雷達原理教學中若運用MATLAB,充分發揮該軟件的計算和圖形顯示優勢,可簡化計算過程,把分析運算結果以圖形、曲線的形式形象地顯示出來,同時MATLAB可以仿真雷達工作過程中的各種算法,通過改變某些參數來觀察雷達系統的性能變化,加深學生對知識的理解,從而可以獲得比較好的教學效果。另一方面,高校多媒體教學環境非常普遍,學生的計算機應用能力增強,也為MATLAB應用于雷達原理教學提供了條件。
一、MATLAB軟件的功能和特點
MATLAB(MATRIX LABORTORY)又稱矩陣實驗室,其基本的數據單元是一個維數不加限制的矩陣,在MATLAB下,矩陣的運算變得異常容易。在MATLAB軟件中有自動控制、系統辨識、模糊算法、神經網絡、信號處理及通信等十個工具箱,使MATLAB廣泛應用于自動控制、圖像信號處理、生物醫學工程、語音處理、雷達信號處理與分析、信號分析、優化設計等領域。它具有以下的功能和特點:高效的數值計算及符號計算功能,能使我們從煩雜的數學運算分析中解脫出來;完備的界面及接近數學表達式的自然化語言,便于學習和掌握。實踐證明:學生可以在幾十分鐘時間內學會MATLAB的基本知識,經過幾個小時的使用就能初步掌握它。
二、MATLAB在雷達原理教學中的應用舉例
下面以脈沖壓縮匹配濾波器為例來說明MATLAB方法的運用。
(一)脈沖壓縮的基本原理
脈沖壓縮技術理論較為復雜,在課堂教學中不易理解。它是雷達在發射機峰值功率受限情況下,為提高目標探測距離,同時保持較高的距離分辨力而采用的一種有效技術。雷達的距離分辨力取決于信號的帶寬,然而在普通的脈沖雷達中,雷達信號的時寬帶寬積為一常量(約為1)。因此采用增大發射信號脈寬的方法來提高探測距離就與提高雷達的距離分辨力之間成為一對矛盾的關系,二者不能兼顧。脈沖壓縮雷達體制采用寬脈沖發射以提高發射的平均功率,保證足夠的最大作用距離,而在接收時則采用相應的脈沖壓縮法獲得窄脈沖,以提高距離分辨力,因而能夠較好地解決作用距離和分辨力之間的矛盾。運用MATLAB方法仿真后,在仿真結果的圖形中可以直觀地看到采用脈沖壓縮后能分辨出目標,而未采用脈沖壓縮后不能有效地分辨目標。
(二)用MATLAB仿真工具箱進行脈沖壓縮仿真程序設計
脈沖壓縮仿真程序設計如下:
函數名為:matchfilter(nscat,taup,f0,b,rmin,rrec,scat-rang,scat-rcs,winid)
輸入變量變量說明及其仿真參數取值:
nscat: 點散射體個數;取2
taup:未壓縮脈沖寬度;取0.005e-3S
f0: LFM起始頻率;取14e6Hz
b: 接收機帶寬;取16e6Hz
rmin: 接收窗口最小距離;150e3米
rrec: 接收窗口大小;200米
scat-rang: 散射體距離;[150e3,150.05e3]米
scat-rcs: 散射體RCS;[1,1]m2
winid: 窗口選擇;0 無 1 海明窗 2 凱澤窗 3 切比雪夫窗取2
具體源代碼如下:
function [y] = matched_filter(nscat,taup,f0,b,rmin,rrec,scat_range,scat_rcs,winid)
eps = 1.0e-16:
htau = taup / 2.:
c = 3.e8:
n = fix(2. * taup * b):
m = power_integer_2(n):
nfft = 2.^m:
x(nscat,1:nfft) = 0.:
y(1:nfft) = 0.:
replica(1:nfft) = 0.:
if( winid == 0.)
win(1:nfft) = 1.:
win=win':
else
if(winid == 1.)
win = hamming(nfft):
else
if( winid == 2.)
win = kaiser(nfft,pi):
else
if(winid == 3.)
win = chebwin(nfft,60):
end
end
end
end
deltar = c / 2. / b:
max_rrec = deltar * nfft / 2.:
maxr = max(scat_range) - rmin:
if(rrec > max_rrec | maxr >= rrec )
錯誤. 接收窗口太大或散射體在接收窗口范圍之外
break
end
trec = 2. * rrec / c:
subplot(2,1,1)
plot(real(replica))
title(匹配濾波器時域響應)
subplot(2,1,2)
plot(fftshift(abs(fft(replica)))):
title(匹配濾波器頻域響應)
for j = 1:1:nscat
t_tgt = 2. * (scat_range(j) - rmin ) / c +htau:
x(j,1:uplimit) = scat_rcs(j) .* exp(i *2.* pi * ...
(.5 * (b/taup) .* (t+t_tgt).^2)):
y = y + x(j,:):
end
figure(1)
plot(t,real(y),'k')
xlabel (相對延遲時間 - s)
ylabel (未壓縮時的系統響應)
title (以窗口始端為起始距離)
rfft = fft(replica,nfft):
yfft = fft(y,nfft):
out= abs(ifft((rfft .* conj(yfft)) .* win' )) ./ (nfft):
figure(2)
time = -htau:deltat:htau-eps:
plot(time,out,'k')
xlabel (相對延遲時間 - s)
ylabel (系統壓縮響應)
title (以窗口始端為起始距離)
grid
調試運行后仿真結果為如下波形:
三、結論
由此可見,運用MATLAB仿真的方法可以直觀地表現抽象的雷達工作基本原理。上述方法不僅可以對脈沖壓縮進行仿真,還能實現對雷達工作過程中的發射機工作過程、接收機工作過程和目標跟蹤過程進行直觀表現,對增進雷達原理課堂教學效果具有重要意義。
參考文獻:
[1] 丁鷺飛、耿富錄,《雷達原理》[M],西安電子科技大學出版社,2002
[2] 陳懷琛,《MATLAB及其在理工課程中的應用指南》[M],西安電子科技大學出版社,2000
【作者簡介:姬憲法(1970-),男(漢族),河南焦作人。空軍第一航空學院航空電子工程系副教授,碩士。研究領域:雷達。】