2007 合成孔径雷达成像算法与实现 各figure的matlab实现(第三章 - 图3.9 和 图3.12 )

该博客详细介绍了如何使用MATLAB实现合成孔径雷达成像算法,特别关注了非基带信号的频域匹配滤波。通过对比图3.9(add_kaiser_window_flag设为0)和图3.12(add_kaiser_window_flag设为1)的结果,展示了时域插值对旁瓣降低的影响。
摘要由CSDN通过智能技术生成

说明:
(1)如果是非基带信号,频域匹配滤波的关键在于找到DFT一个宽度内的实际频率值
(2)图3.9和图3.12的结果,可以对比一下时域插值后的情况,旁瓣降低

matlab代码如下:

% initial matlab workspace
% figure 3.9 and figure 3.12 ; page 57 and page 62
clc
clear
close all

%% 参数设置
% 设置时间宽度T 和 TBP
T   = 7.2e-6;
TBP = 42;

% 设置tc 和 时延t0; 总时间为t0+T,时间范围是-T/2~t0+T/2
tc = 0e-6; 
t0 = 0e-6;

% 是否添加噪声
add_noise_flag = 0;
snr            = 2.5;

% 是否加kaiser窗
add_kaiser_window_flag = 1;
beta                   = 2.5;

%% 由设置的参数 计算其他参数
% 计算B和K
B = TBP/T;
K = B/T;

% 设置fs和dt, Nh为T时间宽度内的抽样点数
fs = 1.2*B;
dt = 1/fs;
Nh = ceil( T/dt );
Nh = 2^( ceil( log2(Nh) ) );
dt = T/Nh;
fs = 1/dt;

% 设置回波信号的时间序列tr; Nr为回波信号数据长度
tr = -T/2:dt:t0+T/2-dt;
Nr = length(tr);

% 计算DFT频点
fre = (0:Nr-1)*fs/Nr;

% 确定中心频点fc; 
fc = - K * tc;
df = fs/Nr;

% 确定fc-fs/2对应的位置fre_real_left_loc
fre_real_left_loc = round( ( fc-fs/2 )/df ) ;
% 如果是傅里叶变换 回波信号每个频点所在的位置序号 fre_real_loc ; 以及对应的频点值fre_real
fre_real_loc = (0:Nr-1) + fre_real_left_loc;
fre_real     = fre_real_loc * df;
% 因为DFT的循环特性,确定loc_real在0~Nr内的位置fre_real_loc_in_main; 并确定在0-Nr之内每个频点实际频点fre_real_in_main
fre_real_loc_in_main                         = mod( fre_real_loc, Nr );
fre_real_in_main                             = zeros(1,Nr);
fre_real_in_main( fre_real_loc_in_main + 1 ) = fre_real;

% 加窗
if add_kaiser_window_flag == 1
   wk             = kaiser( Nr, beta );
   wk_in_main( fre_real_loc_in_main + 1 ) = wk; 
end

%% 模拟信号 根据设置添加噪声
% 模拟接收信号sr; 
sr = exp( 1i.*pi.*K.*(tr-t0-tc).^2 ).*( tr-t0<=T./2 & tr
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值