LFM信号脉冲压缩原理和仿真

脉冲压缩的优势

  传统雷达测距是通过发射点频脉冲串实现的,通过发射脉冲与回波的时延确定目标的距离。此类方法易于实现,对接收机的要求较低。一般要获取更好的距离分辨力,需要增加发射信号的带宽,对于点频脉冲信号即需要减小发射脉冲宽度;而为获取更大的探测距离,提升雷达威力,则需要发射更大占空比的脉冲串。由于点频信号的时宽带宽积约等于1,因此不能同时增加信号的时宽和带宽。若要保持距离分辨力,增大占空比就需要减少雷达的脉冲重复周期(PRT)。这样会减小雷达的无模糊探测距离,也会造成目标回波频繁被遮挡,损失雷达威力。
  在此背景下,有些雷达开始使用脉冲压缩(PC)波形。在发射端通过脉内调制的方法增加信号的带宽,在接收端用匹配滤波的方式将大时宽的发射信号进行脉冲压缩,得到高距离分辨力的窄脉冲信号。以常用的线性调频(LFM)信号为例,其时宽带宽积可以远大于1,因此在增加脉宽提升威力的同时也不会损失距离分辨力。

脉冲压缩原理

  LFM信号的脉冲压缩是利用匹配滤波实现的。由匹配滤波的原理可知,匹配滤波器的幅频响应与信号完全一致,相频响应与信号相反。因此LFM信号在输入到匹配滤波器后,带宽内的信号会无失真通过,带外噪声会被抑制。而信号不同频率处的相位都会被移相到0相位处叠加,在时域上表现为脉冲压缩。具体推导过程如下。

假设发射信号为LFM脉冲,表达式如下:
  S e ( t ) = p ( t ) e j 2 π f c t \ S_e(t) = \it p(t)e^{j2\pi f_ct}  Se(t)=p(t)ej2πfct
其中   f c \ f_c  fc为载频,   p ( t ) \ p(t)  p(t)为LFM信号
  p ( t ) = r e c t ( t t p ) ⋅ e j π μ t 2 \ p(t) = rect({t \over t_p})\cdot e^{j\pi\mu t^2}  p(t)=rect(tpt)ejπμt2
式中   r e c t ( t t p ) = 1 , ∣ t t p < 1 2 ∣ \ rect({t \over t_p}) = 1,|{t \over t_p}<{1 \over 2}|  rect(tpt)=1,tpt<21 μ = B / t p \mu = B/t_p μ=B/tp B B B为LFM信号带宽。若目标回波延时为 τ \tau τ,暂不考虑幅度变化,则经过下变频后的回波信号表达式为:
  S r ( t ) = p ( t − τ ) ⋅ e − j 2 π f c τ \ S_r(t) = p(t-\tau)\cdot e^{-j2\pi f_c\tau}  Sr(t)=p(tτ)ej2πfcτ
利用傅里叶变换将回波信号变到频域,与匹配系数相乘后,再经过傅里叶逆变换到时域,即实现了匹配滤波。由上面分析可知,匹配滤波器的幅频响应与信号相同,相频响应反号。因此与频域匹配系数相乘后的信号频谱表达式如下:
  S r ( f ) = ∣ P ( f ) ∣ 2 ⋅ e − j 2 π f τ ⋅ e − j 2 π f c τ \ S_r(f) = |P(f)|^2\cdot e^{-j2\pi f\tau}\cdot e^{-j2\pi f_c\tau}  Sr(f)=P(f)2ej2πfτej2πfcτ
表达式中第一项   ∣ P ( f ) ∣ \ |P(f)|  P(f)为LFM信号的幅度谱,可近似为矩形谱1第二项为目标时延带来的相移,第三项是目标对回波的相位调制。若目标具有运动速度,其多普勒特性即包含再第三项中。对上式做逆傅里叶变换得到脉压后的时域表达式(幅度归一化)。
  S p c ( t ) = s i n c ( B ( t − τ ) ) ⋅ e − j 2 π f c τ \ S_{pc}(t) = sinc(B(t-\tau))\cdot e^{-j2\pi f_c\tau}  Spc(t)=sinc(B(tτ))ej2πfcτ
从表达式中能够看出,脉压后信号的包络为辛克函数,峰值点位于 τ \tau τ。相邻两个零点的时间宽度为 2 / B 2/B 2/B因此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信号脉压的背景进行了阐述,对脉压原理进行了分析和仿真。尚未对目标的多普勒特征和相参积累等处理手段进行分析和仿真。供雷达原理初学者学习,不足之处望批评指正,共同进步。


  1. 矩形谱的逆傅里叶变换为辛克函数 ↩︎

  2. 一般认为距离分辨力为半功率宽度,即3dB宽度,得到的距离分辨力为   c 2 B \ {c \over 2B}  2Bc。与雷达原理中距离分辨力和带宽之间换算关系一致。 ↩︎

  • 16
    点赞
  • 160
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
线性调频(LFM信号脉冲压缩雷达是一种常用的雷达信号处理方法,它通过对于发射信号进行线性调频,再通过对接收信号进行相关运算,实现对于距离和速度目标的高分辨率测量。下面将介绍如何使用MATLAB进行LFM信号脉冲压缩雷达的仿真。 首先,在MATLAB中定义LFM信号的频率带宽和脉冲宽度。例如,假设频率带宽为B,脉冲宽度为T,我们可以使用以下代码定义LFM信号: t = -T/2:1/Fs:T/2; % 时间范围 f = linspace(-B/2,B/2,length(t)); % 频率范围 s = exp(1i*pi*K*t.^2); % 定义LFM信号 其中,Fs为采样率,K为斜率。 接下来,生成目标和杂波信号,并将它们与LFM信号进行卷积以模拟雷达回波信号: target = exp(1i*2*pi*tau*fR); % 定义目标信号 clutter = exp(1i*2*pi*fRmax*(t-tau/2)); % 定义杂波信号 received_signal = conv(target, s) + clutter; % 生成回波信号 然后,使用相关运算对接收信号进行脉冲压缩处理,以提取目标信息。具体步骤如下: 1. 对接收信号进行自相关运算:correlation = abs(fftshift(ifft(fft(received_signal) .* conj(fft(s))))); 2. 对自相关结果进行归一化处理:correlation = correlation / max(correlation); 最后,绘制脉冲压缩后的回波信号和相关结果图形,以可以观察到目标的距离和速度信息: figure; subplot(2,1,1); plot(abs(received_signal)); xlabel('Sample'); ylabel('Amplitude'); title('Received Signal'); subplot(2,1,2); plot(correlation); xlabel('Sample'); ylabel('Amplitude'); title('Correlation Result'); 这就是使用MATLAB进行LFM信号脉冲压缩雷达的简单仿真过程。通过对脉冲压缩后的相关结果进行分析,可以获得雷达目标的距离和速度信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值