在许多脉冲雷达应用中,一个脉冲不足以提供信息,主要是因为您提到的原因。然而,多个脉冲的相干处理可用于提取有用信息。
例如,以足够长的时域信号来准确提取频率信息为例。现在将该信号与时域中的矩形脉冲序列相乘(而不是卷积)。实际上,您正在采集大量样本,并将它们设置为零。现在考虑频域中的结果。它看起来像是原始频谱与脉冲序列频谱的卷积。
这是一个 MATLAB 示例:
K = 3; % Samples per pulse
N = 50; % Number of pulses
duty = 0.1; % Duty Cycle
Fs = 48e3; % Sampling Frequency
f0 = 13e3; % Center frequency
fd = f0*(1+0.03); % Doppler shifted frequency
SNR = 10; % Signal/Noise Ratio (dB)
% Helper function for plotting FFTs
plotFFT=@(x,Fs) plot(Fs*(0:length(x)-1)/length(x)-Fs/2, abs(fftshift(fft(x))));
% Create a train of rectangular pulses
rect_pulse_train = repmat([ones(1,K), zeros(1,K*(1/duty-1))],1,N);
figure(1); plotFFT(rect_pulse_train,Fs); title('Spectrum of pulse train');
% Create a carrier signal plus a doppler shifted version
t = (0:length(rect_pulse_train)-1)/Fs;
x = cos(2*pi*f0*t) + 0.7*cos(2*pi*fd*t);
% Add Gaussian noise
nstd = norm(x) / sqrt(2 * length(x) * 10^(SNR/10));
x_noisy = x + nstd*(randn(size(x)) + 1j*randn(size(x)));
x_pulse = [x_noisy(1:K), zeros(1,length(x)-K)];
figure(2); plotFFT(x_pulse,Fs); title('Spectrum of single pulse');
% Capture a coherently-pulsed version of the signal
y = rect_pulse_train.*x_noisy;
figure(3); plotFFT(y,Fs); title('Spectrum of coherently pulsed signal');
当您尝试不同的 值时K,您可以看到它如何影响您的频率分辨率。即使峰值被频谱拖尾,当使用相干多普勒处理时,仍然可以识别载波的小频移副本。