• 大小: 6KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-07-19
  • 语言: Matlab
  • 标签:

资源简介

梯形调制LFMCW的目标解算流程,包括发射信号以及回波信号的建模,基带信号处理过程,以及最后目标参数的解算和误差分析

资源截图

代码片段和文件信息

function  [goast_nummiss_numerr_R err_V]=trapezoid_typical(NoisePowerTarget_num)

%------------------------------------------------------------%
%% 雷达信号基本参数

C = 3E8; 
Radar.f0 = 77E9; % 载频 77GHz 
Radar.lambda = C/Radar.f0; % 波长 

Radar.T =4e-3;  
Radar.B = 2E8;    % 信号带宽
Radar.mu=Radar.B / Radar.T; %调制斜率

%Radar.Fs = 2*Radar.B; % 采样率 
% Radar.Fs =Radar.B; % 采样率 

Radar.Single = 2e8; % 单频信号

basic_par.windows_en=1;  %是否加窗
%% 信号分辨力
R_max=160;
V_max=83.34;
fd_max=2*V_max/Radar.lambda ;
fr_max= Radar.mu * 2 * R_max / C;
fb_max = fr_max + fd_max;

fs=2*fb_max; %做fft的采样频率
NFFT =2048;
delta_f = 1/Radar.T;
delta_r = C/(2*Radar.B);
delta_v = Radar.lambda /(2*Radar.T);
f_res = fs/NFFT;          
%% 产生发射波形

Radar.Fs =fs; % 采样率 (为了降低运行时间设定)
% Radar.Fs =2e8;
Radar.Ts = 1/Radar.Fs;% 采样间隔

t=0:Radar.Ts :3*Radar.T-Radar.Ts;
Tx_Sig =exp(1i*2*pi*(Radar.f0.*t + Radar.mu/2*t.^2 .*(t           + Radar.Single *t.*(t>=Radar.T).*(t<2*Radar.T ) ...
           + (-Radar.mu/2 * t.^2 ) .*(t>=2*Radar.T)));


%---- 多个运动目标组合(速度距离随机产生) ---- %
% seed =24; 
% rng(seed); seed = seed + 1;

Target.Num=Target_num;% 目标个数
for i=1:Target.Num
    Target.Item(i).Range =R_max*rand(11); % 距离 (米)
    Target.Item(i).Velocity =random(‘uniform‘-838311);  %* delta_v;% 速度(米/秒) 
    Target.Item(i).Amp =  0.5*rand(11) + 0.5;
    Target.Item(i).Single = 2*Target.Item(i).Velocity/Radar.lambda;
    Target.Item(i).Up = Radar.mu*2*Target.Item(i).Range/C - Target.Item(i).Single;
    Target.Item(i).Down = Radar.mu*2*Target.Item(i).Range/C + Target.Item(i).Single;    
end

%% 产生目标的回波信号
Rx_Sig=0;
% parpool(4);
% parfor i = 1 : Target.Num  
for i = 1 : Target.Num  
    tempRx_Sig = [];
    t=0:Radar.Ts :3*Radar.T-Radar.Ts;
    tao = 2 * Target.Item(i).Range / C; % 目标延时
    fd = 2 * Target.Item(i).Velocity / Radar.lambda;
  
     tempRx_Sig = Target.Item(i).Amp * exp(1i*2*pi*( (Radar.f0 + fd).*(t-tao)+ ...
       Radar.mu/2*(t-tao).^2 .*(t-tao=Radar.T) ...
       .*(t-tao < 2*Radar.T ) +(-Radar.mu/2*(t-tao).^2 .*((t-tao)>=2*Radar.T)  )));    
    Rx_Sig = Rx_Sig + tempRx_Sig;
end
% delete(gcp(‘nocreate‘));


% 加噪声
% rng(seed);
% NoisePower=-20;    %(dB);%噪声功率
SystemNoise=normrnd(010^(NoisePower/10)1length(Rx_Sig))+...
    1i*normrnd(010^(NoisePower/10)1length(Rx_Sig));
Rx_Sig = Rx_Sig + SystemNoise;
% Rx_Sig = Rx_Sig;

%% 差频接收处理

IF_Sig = conj(Tx_Sig) .* (Rx_Sig); %利用发射波形的共轭对接收波形进行去调频处理得到中频信号
n_T = fix(Radar.T * Radar.Fs); % Radar.T内的点数
number = fix(Radar.Fs/fs); % 采样间隔点数

Sam_tri_up = IF_Sig(1:number:n_T);  
Sam_single  = IF_Sig(n_T+1:number:2*n_T);  
Sam_tri_down= IF_Sig(2*n_T+1:number:3*n_T); 

%加窗
% if basic_par.windows_en

评论

共有 条评论

相关资源