目录
- 脉冲压缩的优势
- 脉冲压缩原理
- 脉冲压缩Matlab仿真
- 总结
脉冲压缩的优势
传统雷达测距是通过发射点频脉冲串实现的,通过发射脉冲与回波的时延确定目标的距离。此类方法易于实现,对接收机的要求较低。一般要获取更好的距离分辨力,需要增加发射信号的带宽,对于点频脉冲信号即需要减小发射脉冲宽度;而为获取更大的探测距离,提升雷达威力,则需要发射更大占空比的脉冲串。由于点频信号的时宽带宽积约等于1,因此不能同时增加信号的时宽和带宽。若要保持距离分辨力,增大占空比就需要减少雷达的脉冲重复周期(PRT)。这样会减小雷达的无模糊探测距离,也会造成目标回波频繁被遮挡,损失雷达威力。
在此背景下,有些雷达开始使用脉冲压缩(PC)波形。在发射端通过脉内调制的方法增加信号的带宽,在接收端用匹配滤波的方式将大时宽的发射信号进行脉冲压缩,得到高距离分辨力的窄脉冲信号。以常用的线性调频(LFM)信号为例,其时宽带宽积可以远大于1,因此在增加脉宽提升威力的同时也不会损失距离分辨力。
脉冲压缩原理
LFM信号的脉冲压缩是利用匹配滤波实现的。由匹配滤波的原理可知,匹配滤波器的幅频响应与信号完全一致,相频响应与信号相反。因此LFM信号在输入到匹配滤波器后,带宽内的信号会无失真通过,带外噪声会被抑制。而信号不同频率处的相位都会被移相到0相位处叠加,在时域上表现为脉冲压缩。具体推导过程如下。
假设发射信号为LFM脉冲,表达式如下:
其中 为载频,为LFM信号
式中 ,,为LFM信号带宽。若目标回波延时为,暂不考虑幅度变化,则经过下变频后的回波信号表达式为:
利用傅里叶变换将回波信号变到频域,与匹配系数相乘后,再经过傅里叶逆变换到时域,即实现了匹配滤波。由上面分析可知,匹配滤波器的幅频响应与信号相同,相频响应反号。因此与频域匹配系数相乘后的信号频谱表达式如下:
表达式中第一项为LFM信号的幅度谱,可近似为矩形谱。1第二项为目标时延带来的相移,第三项是目标对回波的相位调制。若目标具有运动速度,其多普勒特性即包含再第三项中。对上式做逆傅里叶变换得到脉压后的时域表达式(幅度归一化)。
从表达式中能够看出,脉压后信号的包络为辛克函数,峰值点位于。相邻两个零点的时间宽度为。因此LFM信号的带宽越宽,其距离分辨力越高。2
脉冲压缩Matlab仿真
仿真参数设置如下:
参数 | 设定值 |
载频 | 16GHz |
带宽 | 30MHz |
中频 | 120MHz |
采样率 | 100MHz |
脉宽 | 4us |
目标距离 | 4km |
波门前沿 | 3.9km |
波门宽度 | 5us |
处理流程如下所示:
回波
数字下变频
半带滤波
二倍抽取
低通滤波
脉冲压缩
脉冲压缩在雷达系统中属于预处理部分,通常在FPGA内进行。实际系统中AD采集的信号为实信号,具有镜像频率,因此在数字下变频后需要低通滤波后才能进行抽取。否则会在频域会产生混叠。一般情况下为节省FPGA内部乘法器资源,第一级抗混叠滤波器会选择半带滤波器实现。半带滤波器的通带和阻带关于1/2倍的奈奎斯特率对称,阶数只能为偶数,除零点外的偶数点系数均为0。因此可减少乘法运算,实现简单。但是半带滤波器的截止特性较差,因此为保证下变频后的LFM信号频谱纯净,抽取后还需要再进行一级低通滤波。仿真结果如下所示。
仿真中选择用带通采样的方式对中频信号进行采样,采样后中频信号的中心频率位于20MHz。经过下变频和脉压后,峰值点对于99m处,与实际的100m相近。在构造匹配滤波系数时,对匹配滤波时域信号进行了加窗处理,使脉压后的旁瓣较低。若进行频域加窗,效果和时域一致。但需要注意无论频域还是时域加窗,都是仅对信号有效的部分进行加窗。
Matlab代码如下:
clc;clear;
%% 雷达参数
f0 = 16e9; %载频
c = 3e8; %光速
lamda = c/f0; %波长
fm = 120e6; %中频
fs = 100e6; %采样率,此处带通采样
tp = 4e-6; %脉宽,4us
B = 30e6; %带宽30MHz
u = B/tp; %调频斜率
%% 目标参数及回波构造
Gate_width = tp + 1e-6; %距离波门宽度
Gate_pos = 3900; %距离波门前沿对应距离
t = 0:1/fs:Gate_width - 1/fs; %快时间序列
R0 = 4000; %目标距离
tao = 2*(R0-Gate_pos)/c; %目标延时,0时刻为波门前沿
echo = cos(2*pi*fm*t - 2*pi*f0*tao + u*pi*(t-tp/2-tao).^2).*(abs(t-tao-tp/2) < tp/2);%构造目标回波中频
figure(1);
subplot(211);
plot(t/1e-6,echo);grid on;
xlabel('时间/us');ylabel('幅度');title('中频回波信号');
freq1 = -fs/2:fs/1024:fs/2-fs/1024;
subplot(212);
plot(freq1/1e6,20*log10(abs(fftshift(fft(echo,1024)))));grid on;
xlabel('频率/MHz');ylabel('幅度/dB');title('中频回波信号频谱');
%% 数字下变频
mix_I = echo.*cos(2*pi*fm*t); %数字本振正交解调
mix_Q = -echo.*sin(2*pi*fm*t);
figure(2);
subplot(211);
plot(t/1e-6,mix_I);grid on;
xlabel('时间/us');ylabel('幅度');title('正交混频后的回波信号(实部)');
subplot(212);
plot(freq1/1e6,20*log10(abs(fftshift(fft(mix_I+1i*mix_Q,1024)))));grid on;
xlabel('频率/MHz');ylabel('幅度/dB');title('正交混频后的频谱');
fstop = 30e6/fs; %半带滤波器截至频率
half_band = firhalfband(22,fstop); %构造半带滤波器,滤除镜像频率
ddc_I = conv(half_band,mix_I);
ddc_I = ddc_I(12:end-11);
ddc_Q = conv(half_band,mix_Q);
ddc_Q = ddc_Q(12:end-11);
figure(3);
subplot(211);
plot(t/1e-6,ddc_I);grid on;
xlabel('时间/us');ylabel('幅度');title('半带滤波后的信号(实部)');
subplot(212);
plot(freq1/1e6,20*log10(abs(fftshift(fft(ddc_I+1i*ddc_Q,1024)))));grid on;
xlabel('频率/MHz');ylabel('幅度/dB');title('半带滤波后的频谱');
downsample_I = downsample(ddc_I,2); %2倍抽取
downsample_Q = downsample(ddc_Q,2);
t_downsample = downsample(t,2); %抽取后的快时间序列
figure(4);
subplot(211);
plot(t_downsample/1e-6,downsample_I);grid on;
xlabel('时间/us');ylabel('幅度');title('2倍抽取后的信号(实部)');
freq2 = -fs/4:fs/2048:fs/4-fs/2048;
subplot(212);
plot(freq2/1e6,20*log10(abs(fftshift(fft(downsample_I+1i*downsample_Q,1024)))));grid on;
xlabel('频率/MHz');ylabel('幅度/dB');title('2倍抽取后的频谱');
f1 = 15e6;
f2 = 17e6;
lowpass = fir1(22,(f1+f2)/(0.5*fs));%低通滤波
downsample_I = conv(lowpass,downsample_I);
downsample_Q = conv(lowpass,downsample_Q);
downsample_I = downsample_I(12:end-11);
downsample_Q = downsample_Q(12:end-11);
figure(5);
subplot(211);
plot(t_downsample/1e-6,downsample_I);grid on;
axis([0 5 -1 1]); %调整幅度显示范围从-1到1
xlabel('时间/us');ylabel('幅度');title('低通滤波后的信号(实部)');
subplot(212);
plot(freq2/1e6,20*log10(abs(fftshift(fft(downsample_I+1i*downsample_Q,1024)))));grid on;
xlabel('频率/MHz');ylabel('幅度/dB');title('低通滤波后的频谱');
%% 加窗脉压
win_hamming = zeros(1,length(t_downsample));
win_hamming(1:round(tp*fs/2)) = hamming(round(tp*fs/2)); %在匹配滤波器上时域加窗,只加到信号有效部分上
match_filter = exp(1i*pi*u*(t_downsample-tp/2).^2).*(abs(t_downsample-tp/2) < tp/2).*win_hamming;
match_filter = conj(fft(match_filter,256)); %补零做256点FFT,取共轭
PC_data = ifft(fft((downsample_I+1i*downsample_Q),256).*match_filter); %匹配滤波
figure(6);
deta_R = 1/(0.5*fs)*0.5*c;
d = 0:deta_R:255*deta_R;
plot(d,20*log10(abs(PC_data)));grid on;
xlabel('距离/m');ylabel('幅度/dB');title('脉压结果(加汉明窗)');
总结
本文对LFM信号脉压的背景进行了阐述,对脉压原理进行了分析和仿真。尚未对目标的多普勒特征和相参积累等处理手段进行分析和仿真。供雷达原理初学者学习,不足之处望批评指正,共同进步。
- 矩形谱的逆傅里叶变换为辛克函数 ↩︎
- 一般认为距离分辨力为半功率宽度,即3dB宽度,得到的距离分辨力为。与雷达原理中距离分辨力和带宽之间换算关系一致。 ↩︎