《合成孔径雷达成像算法与实现》Figure3.13——匹配滤波器的三种实现方式

《合成孔径雷达成像算法与实现》Figure3.13——匹配滤波器的三种实现方式_第1张图片

《合成孔径雷达成像算法与实现》Figure3.13——匹配滤波器的三种实现方式_第2张图片

clc
clear
close all

% 参数设置
TBP = 80;                               % 时间带宽积
T = 10e-6;                              % 脉冲持续时间
N_ZD = 60;                              % 零频点位于中点右侧的距离,P58

% 参数计算
B = TBP/T;                              % 信号带宽
K = B/T;                                % 线性调频频率
alpha_os = 5;                           % 过采样率
F = alpha_os*B;                         % 采样频率
N = 2*ceil(F*T/2);                      % 采样点数
dt = T/N;                               % 采样时间间隔
t_c = N_ZD*dt;                          % 脉冲时间偏移

% 变量设置
t = -T/2:dt:T/2-dt;                     % 时间变量

% 信号表达
st1 = exp(1j*pi*K*(t-t_c).^2);          % 有时间偏移的chirp信号
st2 = zeros(1,N);                       % 等长的空信号
st = [zeros(1,40),st1,st2,st1,st2,st1,zeros(1,40)];
N_st = length(st);                      % 信号长度
Sf = fftshift(fft(st));                 % 信号频域表达式
f = -F/2:F/N_st:F/2-F/N_st;             % 频率变量
n = 0:N_st-1;                           % 采样点

% 窗函数
window_1 = kaiser(N,2.5)';              % 时域窗函数
Window_1 = fftshift(window);            % 频域窗函数

% 匹配滤波——方式1
ht_1 = conj(fliplr(st1));               % 将时间反褶后的复制脉冲取复共轭
%ht_window_1 = window_1.*ht_1;          % 加窗的时域匹配滤波器表达式
Hf_1 = fftshift(fft(ht_1,N_st));        % 补零离散傅里叶变换
Sf_out_1 = Sf.*Hf_1;                    % 频域输出
st_out_1 = ifft(ifftshift(Sf_out_1));   % 时域输出

% 匹配滤波——方式2
ht_2 = st1;                             % 复制脉冲
Hf_2 = conj(fftshift(fft(ht_2,N_st)));  % 补零后离散傅里叶变换后复共轭
Sf_out_2 = Sf.*Hf_2;                    % 频域输出
st_out_2 = ifft(ifftshift(Sf_out_2));   % 时域输出
plot(abs(st_out_2))

% 匹配滤波——方式3
window_3 = kaiser(N_st,2.5)';            % 信号长度的窗函数
Window_3 = fftshift(window_3);          % 频域窗函数
Hf_3 = Window_3.*exp(1j*pi*f.^2/K);     % 匹配滤波器频域表达式
Sf_out_3 = Sf.*Hf_3;
st_out_3 = ifft(ifftshift(Sf_out_3));

% 绘图
subplot(411),plot(n,real(st)),axis([0 N_st,-1.2 1.2])
subplot(412),plot(n,abs(st_out_1)),xlim([0,N_st])
subplot(413),plot(n,abs(st_out_2)),xlim([0,N_st])
subplot(414),plot(n,abs(st_out_3)),xlim([0,N_st])

 《合成孔径雷达成像算法与实现》Figure3.13——匹配滤波器的三种实现方式_第3张图片

 可以看到方式一脉冲压缩至输入序列的后沿,方式二脉冲压缩至输入序列前沿,方式三脉冲压缩至零频位置

你可能感兴趣的:(合成孔径雷达成像算法与实现,算法,matlab)