• 大小: 15KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2022-11-29
  • 语言: Matlab
  • 标签:

资源简介

车载LFMCW雷达系统仿真代码,详细,已通过实际测试。

资源截图

代码片段和文件信息

% -----------------------------------------------------------------------------
% 安防多斜率 多目标配对
% n目标 n个斜率 +MTD
% fs=1e6;  % 1M
% 8倍抽取  Fs=125k
% #  
% # 缺陷:
% #       1.信号源是三角调制波平移和上下移得到,不是通过公式得到
% #       2.多目标配对写的方法较复杂,效果也不是很好
% #       3.无MTI MTD算法
% ------------------------------------------------------------------------------
clc;
clear all;
close all;

%%
B=250e6;
fs=500e6;  % 1M
dt=1/fs;
c=3e8;
fc=34.5e9;
n_MTI=4;
n_MTD=n_MTI;

T=[40e-3  50e-3   60e-3   70e-3 ];

n_slope=length(T);

R=[ 20  40    60    80    ];% 单位:m 
V=[ 1   2     3     4     ];% 单位:m/s
n_target=length(R);

for i=1:n_target
    tao(i)=2*R(i)/c;
    n_tao(i)=fix(tao(i)/dt);  % 目标1的时间延迟
end

t_delay_max=1e-4;
n_delay_max=t_delay_max/dt+1;
t_total_1=t_delay_max;           % 15000m时间延迟
n_T_total=0;

f_add=zeros(n_slopen_target);

for i=1:n_slope
    T_half(i)=T(i)/2; 
    K(i)=B/T_half(i);
    eval([‘t‘num2str(i)‘=0:dt:T(i);‘]);
    n_T(i)= T(i)/dt+1;
    n_T_half(i)= fix(n_T(i)/2);
    t_total_1=t_total_1+T(i);
    for j=1:n_target
        f_add(ij)=(tao(j)-n_tao(j)*dt)*K(i);
    end
    n_T_total=n_T(i)+n_T_total;  % 三角波调制时间点数,不含延迟时间
end
% 怎么处理处理连续时间和离散时间的关系
t_total=0:dt:t_total_1+n_slope*dt;
n_t_total=n_delay_max+n_T_total;
% tao(1)=2*(R(1)+V(1)*t1)/c;
%% 发射
for i=1:n_slope
    eval([‘Sm_T_up_‘num2str(i)‘=K(i)*t‘num2str(i)‘(1:n_T_half(i));‘]);
    eval([‘Sm_T_down_‘num2str(i)‘=-K(i)*(t‘num2str(i)‘(n_T_half(i)+1:n_T(i))-T(i));‘]);
    eval([‘Sm_T_‘num2str(i)‘=[Sm_T_up_‘num2str(i)‘Sm_T_down_‘num2str(i)‘];‘]);
end
Sm_T=zeros(1n_t_total);
n_T_start=1;
n_T_end=0;
for i=1:n_slope  
    n_T_end=n_T_end+n_T(i);
    eval([ ‘Sm_T(n_T_start:n_T_end)=Sm_T_‘num2str(i)‘;‘ ]);
    n_T_start=n_T_start+n_T(i);

end

figure;
hold on;
plot(Sm_T);


% t = 0:ts_bb:T(1)+T(2)+T(3)+T(4);
% Sm_T = 2*pi*(fc + Sm_T).*(t - n_t_half*T_half) + 0;% 发射信号相位
%% 接收
Sm_R=zeros(n_targetn_t_total);
for i=1:n_target
    Sm_R(i:)=[zeros(1n_tao(i))Sm_T(1:(n_t_total-n_tao(i)) )];
    f_IF(i)=2*K(1)*R(i)/c;  %目标1的距离频移
    f_d(i)=2*fc*V(i)/c;   %目标1的多普勒频移
end

for j=1:n_target
    n_sb_t=n_tao(j);
    for i=1:n_slope
        %eval([]);
        Sm_R(jn_sb_t+1:n_sb_t+n_T_half(i))=Sm_R(jn_sb_t+1:n_sb_t+n_T_half(i))-f_add(ij);
        Sm_R(jn_sb_t+n_T_half(i)+1:n_sb_t+n_T(i))=Sm_R(jn_sb_t+n_T_half(i)+1:n_sb_t+n_T(i))+f_add(ij);
        % 因为n_tao1取整平移后,有量化损失,上面加减f_add就是补偿这种损失
        n_sb_t=n_sb_t+n_T(i);
    end
        Sm_R(j:)=Sm_R(j:)+f_d(j);
end

% figure; 
plot(Sm_R(1:)‘r‘);
plot(Sm_R(2:)‘k‘);
%% 差拍
for j=1:n_target
    Sm_B(j:)=Sm_T-Sm_R(j:);
    Sm_B(j:)=abs(Sm_B(j:));
end

plot(Sm_B(1:)‘y‘);
plot(Sm_B(2:)‘g‘);
%axis([1n_T(1)+n_tao(1)-5e65e6]);
hold off;
% n_Sm_B=length(Sm_B(1:));
% n_t_total=(n_Sm_B-1)*dt;
% t_total=0:dt:n_t_total;
sb_temp=zeros(n_targetn_t_total);
for j=1:n_target
    sb_temp(j:)=cos(2*pi*Sm_B(j:).*t_total);    %调制,

评论

共有 条评论

相关资源