在线性调频信号中,信号带宽越大,距离分辨率越高。
首先通过matlab生成两个目标的回波信号。
%% =================== 参数 ======================
f0 = 10e9; % 载波
Tp = 10e-6; % 脉冲持续时间
B = 10e6; % 带宽
fs = 2*B; % 采样频率
c = 3e8; % 光速
R0 = 1e3; % 目标1距离
R1 = 2e3; % 目标2距离
k = B/Tp; % 调频斜率
%% ================= 信号产生 =================
N = 10000; % 采样点
n = 0:N-1;
Ts = 1/fs; % 采样间隔
t = n*Ts;
f = -fs/2+ n*(fs/N);
tau_0 = 2*R0/c; % 时延
st = rectpuls(t-Tp/2,Tp).*exp(1i*pi*k*(t-Tp/2).^2); % 参考信号
tau_1 = 2*R1/c;
echo = rectpuls(t-tau_0-Tp/2,Tp).*exp(1i*pi*k*(t-tau_0-Tp/2).^2)*exp(-1i*pi*f0*tau_0)+rectpuls(t-tau_1-Tp/2,Tp).*exp(1i*pi*k*(t-tau_1-Tp/2).^2)*exp(-1i*pi*f0*tau_1);
plot(t,real(echo));
时域信号如图所示.
很明显,两个反射的信号已经叠加在一起了,从时域上来说就是两个目标的间隔已经小于脉冲的宽度了。间隔的时间 = (R1-R0)*2/c = 6.67us小于脉宽10us.
但是进行脉冲压缩后。
Xs = fft(st); % 本地副本的FFT
Xecho = fft(echo); % 输入信号的FFT
Y = conj(Xs).*Xecho; % 乘法器
Y = fftshift(Y);
y = ifft(Y); % IFFT
plot(abs(y));
脉冲压缩结果如图所示:
此时能很明显的分辨出两个点目标。
此时我们将带宽减小或者减小两者的相对距离.例如我将间隔从1000m,改成50m.相当于间隔缩小了20倍。
R0 = 1e3; % 目标1距离
R1 = 1.05e3; % 目标2距离
再观察脉冲压缩的结果:
从图只能看出一个点目标了,因为两个点目标靠得太近导致。
此时我们再将带宽增加20倍,将带宽从10M增加至200M。
B = 200e6; % 带宽
再观察脉冲压缩的结果:
此时再进行脉冲压缩则又可分辨出两个目标了。