用匹配滤波发获取LFM信号下目标一维距离像

参考资料:《雷达目标特性及MATLAB仿真》第五章内容
以下代码如有问题,欢迎批评指正。如您满意,欢迎带走~

匹配滤波法

发射信号s(t),其匹配滤波器为h(t)=s*(t0-t),雷达匹配滤波处理:s(t)与h(t)相关运算,输出一个峰值,峰值处就是目标的像。

假设有三个目标分别在2km,10km,30km处。

发射信号长度tao=100us,采样时长为发射信号长度的n=5倍,画出发射信号、接收信号、匹配滤波器(match filter)、目标一维距离像(HRRP)为:

图1. 发射信号实部
图2. 接收信号实部
图3. 匹配滤波器实部
图4. 目标一维距离像

代码

close all;
clear;
clc;

% 设置参数并产生信号
n = 5;
c = 3e8;
tao = 100e-6;
fs = 5e6;
f0 = 20e6;
B = 0.3e6;
K = B/tao;
R0 = [2 10 30]*1000;


t = 0 : 1/fs : (n*tao-1/fs);
f = linspace( -fs/2,fs/2,ceil(n*tao*fs) );
delta_R = c/(2*fs);
Rindex = linspace( -ceil(n*tao*fs)*delta_R,ceil(n*tao*fs)*delta_R,2*ceil(n*tao*fs)-1 );

yref = rectpuls( t , 2*tao ).*exp( 1i*( 2*pi*f0*t + pi*K*t.^2) );
mf = fliplr(conj(yref));

for i = 1:length(R0)
    yt(i,:) = rectpuls( (t-2*R0(i)/c) , 2*tao ).*exp( 1i*( 2*pi*f0*(t-2*R0(i)/c) + pi*K*(t-2*R0(i)/c).^2) );
    yt(i,:) = rectpuls( (t-2*R0(i)/c)-tao/2 , tao ).*yt(i,:);
    ymf(i,:) = conv(yt(i,:),mf);
end

% 绘图
figure
plot(1e6*t,real(yref));
xlabel('t/us');
title('Real Part of Reference');
grid

figure
plot(1e6*t,real(yt));
xlabel('t/us');
title('Real Part of echo');
grid

figure
plot(real(mf))
xlabel('Samples')
title('Real Part of Matched Filter')
grid

figure
plot(Rindex/1000,abs(ymf'))
xlabel('R/km')
title('HRRP')
grid

祝万事如意,事业攀升!!

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

keep94968

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值