SAR合成孔径雷达距离多普勒(RD)算法
1.簡介
?????????距離多普勒算法(RDA)是在1976至1978年 為處理SEASATSAR數據提出來的,該算法于1978年處理出了第一幅機載SAR數字圖像。RDA至今仍在廣泛使用,它通過距離和方位上頻域操作,達到了高效的模塊化處理要求,同時又具有了一維操作的簡便性。該算法根據距離和方位上的大尺度差異,在兩個一維之間使用距離徙動校正(RCMC),對距離和方位都進行了近視的分離處理。
????????由于RCMC是在距離-方位頻域中實現,所以也可以進行高效的模塊化處理。因為方位頻率等同于多普勒頻率,所以該域也稱之為“距離多普勒域”。RCMC的“距離多普勒”域實現是RDA算法與其它算法的主要區別點,因而稱其為距離多普勒算法。
?????????距離相同而方位不同的點目標能量變換到方位頻域后,其位置重合,因此頻域中單一目標軌跡校正等效于同一最近斜距處的一組目標軌跡校正。這是算法的關鍵,使RCMC能在距離多普勒域高效實現。
? ???????為了提高處理效率,所有的匹配濾波器卷積都可通過頻域相乘實現,匹配濾波及RCMC都與距離可變參數有關。RDA區別于其它頻域算法的另一主要特點是較易適應距離向參數的變化。所有運算都針對一維數據進行,從而達到了處理的簡便和高效。
????????1984年,JPL對其進行了二次距離壓縮(SRC)改進,以處理中等斜視下的數據。距離壓縮中SRC可以補償距離-方位目標相位歷程的耦合,從而有助于消除斜視或大孔徑下的相位耦合畸變。
????????綜上所訴,本文將從信號模型出發推導講解有關RDA算法的實現過程。
?2.信號回波模型
????????假設雷達發射的線性調頻連續波,經過解調后點目標的回波的信號模型為:
?式中,
?由圖1表示中,我們很容易根據空間關系得到瞬時斜距的關系:
?式中
?3.低斜視角RD算法實現過程
????????距離多普勒算法(RD)基本思想是將二維處理分解為兩個一維處理的級聯形式,其特點是只考慮相位展開的一次項,將距離壓縮后的數據沿方位向作FFT,變換到距離多普勒域,然后完成距離遷移校正和方位向壓縮。算法流程圖如圖二所示:
????????有兩種實現距離徙動矯正的方式,最傳統的RD算法采用的是左邊的方法,即在RD域進行插值處理。后來為了提高運算效率,可以通過在Frequency-Azimuth Range域通過乘以一個相位項,反變換回到二維時域來校正距離向發生走動的信號,這個屬于改進的RD算法。接下來就從原始的RD算法出發進行講解。RD算法的主要三個步驟:1.距離向壓縮(匹配濾波)2.距離徙動校正 3.方位向脈沖壓縮。
3.1 距離向壓縮
????????對回波數據經行距離壓縮,首先對式(1)的快時間方向經行FFT,由于式子存在二次項,故直接對其進行傅里葉變換有點困難,故可通過駐相定理(POST)進行求解,有關POST定理的原理可參考[1]。于是根據POST定理得到式(1)的距離向脈沖壓縮結果為:
式中A0為常數,壓縮脈沖包絡Pr為窗函數的傅里葉變換。對于矩形窗,Pr為sin函數。對原始數據利用距離向壓縮后,接下來就是將距離壓縮后的數據進一步進行處理,將方位向時域轉化到頻域,并對距離徙動進行補償。
3.2方位向傅里葉變換
????????在開始方位向傅里葉變換之前,首先需要對瞬時斜距進行近似處理。在低斜視角的情況下式(2)可以通過泰勒展開近視為:
?將式(4)代入(3)式子中可得
觀察式(5)可知,從第二個指數項可以明顯看到方位相位調制,由于相位是慢時間的二次函數,故在方位向上信號同樣具有調頻特性,此時調頻率為:
?式中λ為波長。隨后將每一距離上的數據通過方位FFT變換到距離多普勒頻域。對于給定目標,式(5)利用POST定理,得到方位向上的時頻關系為:
?或
?將式(8)代入式(5),利用POST得到方位向FFT后的信號為:
?聯立式(5)和式(8)可以得到距離多普勒域中的RCM,即:
?3.3 距離徙動校正
????????距離徙動校正(RCMC)的實現方法有兩種,第一種就是在距離多普勒域中進行距離插值運算,主要的插值算法有最近領插值、牛頓插值、Sinc插值等。本文將基于sinc插值進行講解。另一種方法則是假設RCM至少在有限區域內不隨距離而變,此時可以通過FFT,線性相位相乘以及逆FFT實現RCMC,流程圖如圖2右。由式子(8)不難得出需要進行校正的距離徙動量為:
通過式(11)不難發現,距離徙動量不僅是R0的函數,同時也是方位頻率的函數。對式子(11)經行離散化有:
其中m、n分別為距離向和方位向采樣點序號;M、N分別為距離向和方位向采樣點數;fs為回波快時間采樣率,PRF為脈沖重復頻率。我們觀察式(3)不難得出一個結論,由于前面說過RCM是目標最近距離R0和方位頻率的函數,而在距離壓縮后對應不同的最近距離R0和不同的方位頻率目標,受斜距影響導致目標在對應的R0和𝑓𝜂中有一個偏移,這個偏移就是式(11),如果這個偏移量比距離分辨率大時,如果不進行補償將會導致方位向做壓縮時候出現散焦現象,只有這個偏移量小于距離分辨率的1/4以上才可以忽視。通過插值的手段,估計出偏移一個距離徙動量的值來實現距離徙動校正。(設未校正前向左偏移一個徙動量,我只需利用現有數據估計向右偏移一個徙動量后的值即為校正后的數據)。另外每一個𝑓𝜂處的距離彎曲量與所占的距離采樣單元數Δ𝑚的關系為:
式中P為采樣后的距離單元。要校正由斜距產生的彎曲就是從距離多普勒域數據s(m,n)估計得到s(m+Δ𝑚,n)的值,這是一個沿著距離向的插值問題。設校正前的信號為s(m,n),故校正后的信號為S(m,n):
式(14)即為距離徙動校正公式。通過校正前的信號s(m,n)插值來估計校正后的信號S(m,n)。插值算法主要有最近鄰插值、拉格朗日插值、sinc插值等。在這里只介紹sinc插值。
3.3.1 sinc插值
????????sinc插值法是利用原函數y(x)中其它的點的值進行sinc函數加權得到y(x)在x處的值。
????????在距離彎曲校正的過程中,考慮到運算量,不可能對回波進行無數點的sinc插值,因此要對sinc插值進行截斷處理,取P點的sinc插值,距離彎曲校正的插值公式為:
式中𝑚′為式(13)中Δ𝑚的四舍五入的整數部分,fracn為Δ𝑚的小數部分。由于對sinc的截斷會產生Gibbs(吉布斯)效應,所以要對sinc插值核進行加窗,進而減弱Gibbs效應,常用的窗函數有升余弦窗(hamming窗),Kaiser窗。在SAR距離彎曲校正中,兼于精度和運算量的要求,一-般使用8點sinc插值。便于與其他的插值方法比較,文中取4點; 插值進行實驗。
4 實驗仿真
設置三個點目標,由于篇幅問題參數介紹省略。matlab仿真代碼如下:
%作者:poulen
%時間:2022.12.14
close all; clear; clc;
c = 3e8; % 光速
fc = 5e9; %載波頻率
B = 200e6; %帶寬
lambda = c/fc; %波長
Tp = 1.5e-6; %脈寬
Kr = B/Tp; %調頻率
fs = 1.6*B; %采樣率H = 200; %飛機高度
Ls = 200 ; %合成孔徑長度
v = 100 ; %飛機速度
Lt = Ls/v; %合成孔徑時間%成像區域[Xc-X0,Xc+X0; Yc-Y0,Yc+Y0]
%以合成孔徑中心為原點,距離向為x軸,方位向為y軸
Xc = 10000;
Yc = 0;
Xo = 100 ;
Yo =100 ;Rc =sqrt(H^2+Xc^2); %中心距離
Ka = 2*v^2/(Rc*lambda); %多普勒調頻率
Bmax = Lt*Ka; %多普勒最大帶寬
fa = ceil(2.1*Bmax); %脈沖重復頻率Rmin = sqrt(H^2+(Xc-Xo)^2); %觀測場景距飛機的最近距離
Rmax = sqrt((Xc+Xo)^2+H^2); %最遠距離
rm = Ls + 2*Yo; %雷達走過的總路程長度
tm= 0:1/fa:rm/v-1/fa; %慢時間(合成孔徑時間+成像區域時間)
tk= 2*Rmin/c-Tp/2:1/fs:2*Rmax/c-1/fs+Tp/2; %快時間(距離門內)target = [Xc,Yc,0;Xc-50,Yc+20,0;Xc-50,Yc-20,0]; %目標坐標
echo = zeros(length(tm),length(tk),length(target)); %回波
echo_all = zeros(length(tm),length(tk));
y = -v*(rm/v)/2+v*tm; %飛機y軸坐標
for k=1:size(target,1) %目標數for i=1:length(tm) %慢時間軸radar = [0,y(i),H ]; %飛機坐標Rtm = sqrt(sum((target(k,:)-radar).^2));%斜距echo(i,:,k)=(abs(target(k,2)-y(i)) < Ls/2)*rectpuls(tk-2*Rtm/c,Tp).*...exp(1j*2*pi*fc*(tk-2*Rtm/c)+1j*pi*Kr*(tk-2*Rtm/c).^2); %回波模型endecho_all = echo(:,:,k) + echo_all;
end
r=((tk*c/2).^2-H^2).^(1/2);%% 距離向匹配濾波
tt=0:1/fs:Tp-1/fs;
for i = 1:size(echo_all,1)echo_all(i,:) = echo_all(i,:).*(exp(-1j*2*pi*fc*tk)); %回波去載頻
endhk=exp(-1j*pi*Kr*tt.^2); %距離向匹配濾波器
MFFT = fft(hk,length(tk)); %匹配濾波頻譜
ECHO = zeros(size(echo_all)); %直接距離向壓縮之后%距離校準
% ECHORCMC = zeros(size(echo_all)); %距離校正距離向壓縮之后
% f = (-length(tk)/2:length(tk)/2-1)*fs/length(tk); %采樣率
% R0 = 2*tk(:)/c; %距離門距離
% fm =linspace(-fa/2,fa/2,length(tm)); %慢時間采樣率
for i=1:length(tm)FasttimeFFT = fft(echo_all(i,:)); ECHO(i,:) = ifft(FasttimeFFT.*MFFT);
% for n=1:length(tk)
% deltaR = (lambda*fm(i)/v)^2*R0(n)/8;
% MFFT(n) = MFFT(n).*exp(1j*4*pi*f(n)*deltaR/c);
% end
% ECHORCMC(i,:) = ifft(FasttimeFFT.*MFFT);
endfigure;
[R,Y] = meshgrid(r,y);
mesh(R,Y,abs(ECHO));view(0,90);xlim([9900 10100]);
xlabel('距離向');
title('距離壓縮后');% figure;
% [R,Y] = meshgrid(r,y);
% mesh(R,Y,abs(ECHORCMC));view(0,90);xlim([9900 10100]);
% xlabel('距離向');
% title('距離校準后距離向');
% figure;
% [R,Y] = meshgrid(r,y);
% mesh(R,Y,abs(ECHORCMC-ECHO));view(0,90);xlim([9900 10100]);
% xlabel('距離向');
% title('距離校準后距離向');
%
ha = exp(-1j*pi*2*(v^2)/(lambda*Rc)*(0:1/fa:Lt-1/fa).^2); %方位向匹配濾波器
for k=1:length(tk)ECHO(:,k) = fftshift(fft(ECHO(:,k)));
end%% 距離徙動修正
N=6; %插值核長度為6
ECHO_RCMC=zeros(size(ECHO));
f =linspace(-fa/2,fa/2,length(tm));
for k = 1:length(tm) deltaR = (lambda*f(k)/v)^2*Rc/8; %注意這個f,到底是哪個fDU = 2*deltaR*fs/c;du = DU-floor(DU);for n = N/2+1:length(tk) %快時間for m = -N/2:N/2-1if n+floor(DU)+m>length(tk)ECHO_RCMC(k,n) = ECHO_RCMC(k,n)+ECHO(k,length(tk))*sinc(DU-m);elseECHO_RCMC(k,n) = ECHO_RCMC(k,n)+ECHO(k,n+floor(DU)+m)*sinc(du-m);endendend
endfigure;
[R,Y] = meshgrid(r,y);
mesh(R,Y,abs(ifft(ECHO_RCMC)));view(0,90);xlim([9900 10100]);
title('距離徙動矯正')
xlabel('距離向');%% 方位向匹配濾波
for k=1:length(tk)ECHO(:,k) = abs(ifft(fft(ha,length(tm))'.*fftshift(ECHO_RCMC(:,k)))); %方位向壓縮后
endfigure;
mesh(r,y,ECHO);
xlim([9900 10100]);
xlabel('距離向');
ylabel('方位向');
zlabel('幅度'); title('最終壓縮結果');
經過距離向壓縮后的如下圖所示:
可以看到距離壓縮后,原來三個目標被壓縮成兩天微微彎曲的曲線,原因是由于有一個目標被設置具有相同的最近距離R0,故對其進行距離壓縮時,他們在方位頻率上的軌跡重疊,應征了上文的說法。對其進行sinc插值距離校正后:
?可以看到斜距曲線被拉直,這時對其進行方位向壓縮得到三個點目標的sar圖像如下;
?
參考資料:
合成孔徑雷達成像——算法與實現? lan G.Gumming,Frank H.Wong 著;洪文 胡東輝等譯
總結
以上是生活随笔為你收集整理的SAR合成孔径雷达距离多普勒(RD)算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mongodb插入速度每秒_MongoD
- 下一篇: 模拟用户输入并检查输出的简单方法