資源簡介
利用距離多普勒算法對點目標回波進行壓縮成像仿真
代碼片段和文件信息
clear?all;
close?all;
%const
c?=?3e8;
pi?=?3.1415926;
j?=?sqrt(-1);
Rn?=?20e3;??%點據
Vr?=?150;?????%速度
Tp?=?10e-6;???%脈沖寬度
fc?=?5.3e9;??????%載頻
Kr?=?20e12;????%距離向調頻率
Bw?=?Kr*Tp;????%距離向帶寬
Fs?=?1.2*Bw;???%采樣率
Ba?=?200;?????????%多普勒帶寬
PRF?=?1.2*Ba;??%脈沖重復頻率
lamda?=?c/fc;??????%波長
sin_theta?=?Ba/2*lamda/2/Vr;????????????????%最大斜視角
cos_theta?=?sqrt(1-sin_theta^2);
tan_theta?=?sin_theta/cos_theta;
La?=?Rn*tan_theta*2;??????????????%合成孔徑
Na?=?fix(La/Vr*PRF)+1;??????%方位向采樣數
Nr?=?fix(Tp*Fs);???????????????????%距離向采樣數
%回波數據
data?=?zeros(Na2*Nr);
for?k?=?1:Na;
????L=?abs(k-Na/2)/PRF*Vr;
????slantRange?=?sqrt(L^2+Rn^2);
????timeOffset?=?2*(slantRange-Rn)/c;
????offsetNum?=?round(timeOffset*Fs);
????Ni?=?(0+fix(Nr/2)):(Nr+fix(Nr/2));
????tr?=?(Ni-Nr+offsetNum)/Fs;???????????????????%發射信號時間向量
????sig?=?exp(-j*pi*Kr*(tr-timeOffset).^2)*exp(-j*4*pi/lamda*slantRange);
????data(kNi+offsetNum)=sig;
end
figureimagesc(abs(data));????????title(‘點目標回波幅度‘)
figureimagesc((angle(data)));???title(‘點目標回波相位‘)
figureplot(real(data(Na/2:)));
%距離向壓縮
f_axis?=?[-Nr:Nr-1]/2/Nr*Fs;
HfRange?=?exp(-j*pi/Kr*f_axis.^2);
%?HfRange?=?fftshift(HfRange);
figureplot(f_axisabs(HfRange));
figureplot(abs(myfft(data(Na/2:))));
for?i?=?1:Na
????data(i:)?=?myifft(myfft(data(i:)).*HfRange);
end
figureimagesc(abs(data));?????????title(‘距離壓縮數據‘)
figureplot(abs(
- 上一篇:matlab 實現粒子群優化算法代碼
- 下一篇:Matlab與蒙特卡洛仿真
評論
共有 條評論