资源简介
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
- 上一篇:LFMCW雷达测距测速
- 下一篇:Matlab2017a破解文件
评论
共有 条评论