资源简介

LFMCW线性调频连续波雷达测距测速代码,用在多目标情况,能正确反演出目标距离和速度

资源截图

代码片段和文件信息

%==================LFMCW多目标测距测速,变斜率====================
% 验证3个目标的情况
% 参考文献《LFMCW雷达运动目标检测与距离速度去耦合_杨建宇》
% “A Novel Method to Identify Multitarget by FMCW Radar“
clear;clc;close all;
r=[20 50 180];
v=[10 -20 30];

c=3e8;
j=sqrt(-1);
f0=24e9;    %初始频率
B=150e6;     %扫频带宽
T1=2e-3;T2=3e-3;T3=4e-3;    %有效时宽
mu1=B/T1;mu2=B/T2;mu3=B/T3;     %调频斜率

dr=c/2/B;       %距离分辨率

k=2*v/c;        %不同目标的归一化多普勒频率
tau0=2*r/c;     %不同目标的初始时延

fs=300e3;
num1=round(T1*fs);       %采样点数
t1=linspace(0T1num1);
num2=round(T2*fs);       %采样点数
t2=linspace(0T2num2);
num3=round(T3*fs);       %采样点数
t3=linspace(0T3num3);

%%
%===============第一个周期===============
%===============上扫频的混频信号===============
fb=(mu1*tau0-k*f0)‘;
mub=(-2*k*mu1)‘;
phib=(f0*tau0-0.5*mu1*tau0.^2)‘;
phib=repmat(phib1num1);
mup1=sum(exp(j*2*pi*(fb*t1+0.5*mub*t1.^2+phib)));

%===============下扫频的混频信号===============
fb=(mu1*tau0+k*f0)‘;
mub=(2*k*mu1)‘;
phib=(f0*tau0+0.5*mu1*tau0.^2)‘;
phib=repmat(phib1num1);
mdown1=sum(exp(j*2*pi*(fb*t1+0.5*mub*t1.^2+phib)));

wup1=fftshift(fft(mup1));
wdown1=fftshift(fft(mdown1));
n=linspace(-fs/2fs/2num1);
figure
subplot(121)plot(nabs(wup1));
subplot(122)plot(nabs(wdown1));

[maglocup1]=findpeaks(abs(wup1));  %寻找峰值对应的fft下标
[maglocdown1]=findpeaks(abs(wdown1));
locup1=(locup1-num1/2)/num1*fs;     %将fft下标变换成频率
locdown1=(locdown1-num1/2)/num1*fs;


%%
%===============第二个周期===============
%===============上扫频的混频信号===============
fb=(mu2*tau0-k*f0)‘;
mub=(-2*k*mu2)‘;
phib=(f0*tau0-0.5*mu2*tau0.^2)‘;
phib=repmat(phib1num2);
mup2=sum(exp(j*2*pi*(fb*t2+0.5*mub*t2.^2+phib)));

%===============下扫频的混频信号===============
fb=(mu2*tau0+k*f0)‘;
mub=(2*k*mu2)‘;
phib=(f0*tau0+0.5*mu2*tau0.^2)‘;
phib=repmat(phib1num2);
mdown2=sum(exp(j*2*pi*(fb*t2+0.5*mub*t2.^2+phib)));

wup2=fftshift(fft(mup2));
wdown2=fftshift(fft(mdown2));
n=linspace(-fs/2fs/2num2);
figure
subplot(121)plot(nabs(wup2));
subplot(1

评论

共有 条评论