matlab中的omega-k算法仿真
omega-k algorithm simulation in matlab
我想根据cumming的书《合成孔径雷达数据的数字处理》模拟omega k算法聚焦合成孔径雷达原始数据。首先,我在 stripmap 模式下模拟点目标原始数据,并执行书中提到的所有操作。但是我的目标没有集中。为了确保我的原始数据是真实的,我用传统的RDA算法聚焦它,我的点目标聚焦在真实的位置,这意味着我的原始数据模拟例程是好的。
这是我的 omega k 算法的 matlab 代码:
%% __________________________________________________________________________
fr = linspace(-fs/2,fs/2,nfftr);
faz = linspace(-PRF/2,PRF/2,nffta);
fr_prime = sqrt((f0+fr).^2-(c*faz'/(2*vp)).^2)-f0;
Rref = rs(ceil(Ns/2));
theta_ref = 4*pi*Rref/c*(fr_prime+f0)+pi*fr.^2/kr;
%2D FFT
S_raw = fftshift(fft2(s_raw,nffta,nfftr));
%RFM
S_BC = S_raw.*exp(1j*theta_ref);
for idx = 1:Na
S_int(idx,:) = interp1(fr_prime(idx,:)+f0,S_BC(idx,:),fr+f0,'pchip');
end
S_c = S_int.*exp(-1j*4*pi*fr*Rref/c);
s_c = ifft2(S_c,Na,Nr);
%% __________________________________________________________________________
在此代码中:
f0
: 中心频率
kr
:范围内的线性调频频率
fs
:采样频率在 范围内
vp
: 平台速度
rs
: 范围数组(从近范围到远范围)
Rref
:参考范围(听说我把它当作中间范围的单元格)
Ns
:范围单元格的数量
Na
: 方位角的样本数
s_c
:聚焦图像
三个目标位于射程 [10 , Ns/2 , Ns-10]
和方位 Na/2
处。
这是我的结果:
时域批量压缩后的数据
时域stolt插值后的数据
我检查了几种插值方法,如 sinc interp 、 linear interp 、 pchip 等,但没有一种对我有用。
我感谢所有可以帮助我并告诉我我的错误的人......
谢谢...
在Omega-k的准确版本中,Cumming没有要求在stolt插值后再次与匹配滤波器相乘。只需使用 2D iFFT 即可完成对焦。
我想根据cumming的书《合成孔径雷达数据的数字处理》模拟omega k算法聚焦合成孔径雷达原始数据。首先,我在 stripmap 模式下模拟点目标原始数据,并执行书中提到的所有操作。但是我的目标没有集中。为了确保我的原始数据是真实的,我用传统的RDA算法聚焦它,我的点目标聚焦在真实的位置,这意味着我的原始数据模拟例程是好的。
这是我的 omega k 算法的 matlab 代码:
%% __________________________________________________________________________
fr = linspace(-fs/2,fs/2,nfftr);
faz = linspace(-PRF/2,PRF/2,nffta);
fr_prime = sqrt((f0+fr).^2-(c*faz'/(2*vp)).^2)-f0;
Rref = rs(ceil(Ns/2));
theta_ref = 4*pi*Rref/c*(fr_prime+f0)+pi*fr.^2/kr;
%2D FFT
S_raw = fftshift(fft2(s_raw,nffta,nfftr));
%RFM
S_BC = S_raw.*exp(1j*theta_ref);
for idx = 1:Na
S_int(idx,:) = interp1(fr_prime(idx,:)+f0,S_BC(idx,:),fr+f0,'pchip');
end
S_c = S_int.*exp(-1j*4*pi*fr*Rref/c);
s_c = ifft2(S_c,Na,Nr);
%% __________________________________________________________________________
在此代码中:
f0
: 中心频率kr
:范围内的线性调频频率fs
:采样频率在 范围内
vp
: 平台速度rs
: 范围数组(从近范围到远范围)Rref
:参考范围(听说我把它当作中间范围的单元格)Ns
:范围单元格的数量Na
: 方位角的样本数s_c
:聚焦图像
三个目标位于射程 [10 , Ns/2 , Ns-10]
和方位 Na/2
处。
这是我的结果:
时域批量压缩后的数据
时域stolt插值后的数据
我检查了几种插值方法,如 sinc interp 、 linear interp 、 pchip 等,但没有一种对我有用。 我感谢所有可以帮助我并告诉我我的错误的人...... 谢谢...
在Omega-k的准确版本中,Cumming没有要求在stolt插值后再次与匹配滤波器相乘。只需使用 2D iFFT 即可完成对焦。