⛄一、雷达信号处理仿真
典型雷达信号处理流程:脉压(PC)、动目标显示(MTI)、动目标检测(MTD)、恒虚警检测(CFAR)
其中,雷达发射信号为线性调频信号,回波模型为:目标回波、噪声、瑞利杂波。
发射信号参数:带宽、发射功率、时宽、脉冲重复周期、起始频率
⛄二、部分源代码
close all; % 关闭所有图形
clear all; % 清除所有变量
clc;
%% 雷达参数
C = 3.0e8; % 光速(m/s)
RF = 1.5e9; % 雷达射频
Lambda = C/RF; % 雷达工作波长
PulseNumber = 16; % 回波脉冲数
f0 = 10e6; % 起始频率
BandWidth = 2.0e6; % 发射信号带宽
TimeWidth = 10e-6; % 发射信号时宽
Tr = 240e-6; % 雷达发射脉冲重复周期
PRF = 1/Tr;
Fs = 10e6; % 采样频率
SampleNumber = fix(FsTr); % 计算一个脉冲周期的采样点数
TotalNumber = SampleNumberPulseNumber; % 总的采样点数
N = fix(Fs*TimeWidth);
%% 目标参数
TargetNumber = 3; % 目标个数
SigPower(1:TargetNumber) = [1 10 5]; % 目标功率,无量纲
TargetDistance(1:TargetNumber) = [3000 6000 20000]; % 目标距离,单位m 距离参数为
DelayNumber(1:TargetNumber) = fix(Fs2TargetDistance(1:TargetNumber)/C); % 把目标距离换算成采样点(距离门)
TargetVelocity(1:TargetNumber) = [0 300 500]; % 目标径向速度 单位m/s 速度参数为[0 100 (Y*10+X+Z)6]
TargetFd(1:TargetNumber) = 2TargetVelocity(1:TargetNumber)/Lambda ; % 计算目标多卜勒
%% 产生线性调频信号
number = fix(FsTimeWidth); % 回波的采样点数 = 脉压系数长度 = 暂态点数目+1
if rem(number,2)~= 0
number = number+1;
end
for i = -fix(number/2):fix(number/2)-1
Chirp(i+fix(number/2)+1) = exp(j(pi*(BandWidth/TimeWidth)(i/Fs)^2))exp(j2pif0(i/Fs));
end
coeff = conj(fliplr(Chirp)); % 产生脉压系数
%% 产生目标回波
SignalAll = zeros(1,TotalNumber); % 所有脉冲的信号,先填0
for k = 1:TargetNumber % 依次产生各个目标
SignalTemp = zeros(1,SampleNumber); % 一个脉冲
SignalTemp(DelayNumber(k)+1:DelayNumber(k)+number) = sqrt(SigPower(k))Chirp; % 一个脉冲的1个目标(未加多普勒速度)
Signal = zeros(1,TotalNumber);
for i = 1:PulseNumber
Signal((i-1)SampleNumber+1:iSampleNumber) = SignalTemp;
end
FreqMove = exp(j2piTargetFd(k)(0:TotalNumber-1)/Fs); % 目标的多普勒速度时间 = 目标的多普勒相移
Signal = Signal.*FreqMove;
SignalAll = SignalAll+Signal;
end
⛄三、运行结果
⛄四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1]李树锋.基于完全互补序列的MIMO雷达与5G MIMO通信[M].清华大学出版社.2021
[2]何友,关键.雷达目标检测与恒虚警处理(第二版)[M].清华大学出版社.2011
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除