资源简介
matlab基础程序,主要是关于双基地MIMO雷达基本数据结构模型及其matlab实现,双基地MIMO雷达多目标的定位和多运动目标的跟踪的matlab实现
代码片段和文件信息
clc;
clear all;
close all;
%% ture DOD and DOA
DOD = [-40 -20 20 20];
DOA = [ 30 -50 40 -50];
% DOD = [-40 30 20];
% DOA = [ 30 30 50];
DOD_DOA = DOD + 1i * DOA; % the ture location
%% parameters
SNR = 0;
Mt = 3; % transmitting array
Mr = 3; % recieving array
K = length(DOA); % mumber of targets
Num_of_pulse = 100; % the number of independent pulses
T = 512; % the code length per pulse
%% randomly generating the reflection coefficient of each target
Beta = zeros(Num_of_pulseK); % the RCS of targets in different pulses
std_beta = sqrt(0.5 + 0.5 * rand(1K)); % the standard deviation of RCS
for k = 1 : K
Beta(:k) = std_beta(k) * (randn(Num_of_pulse1) + 1i * randn(Num_of_pulse1)) / sqrt(2); % the RCS of the targets (maybe complex valued)
end
%% the transmitted waveforms
H = hadamard(T);
S = (1 + 1i)/sqrt(2) * H(1:Mt:); % orthogonal transmiting signals
%% the recieved data and matched filtering
theta = DOD * pi / 180; % converting to radians
A_theta = exp(1i * pi * [0:1:Mt-1]‘ * sin(theta)); % half wavelength is assumed
phi = DOA * pi / 180; % converting to radians
B_phi = exp(1i * pi * [0:1:Mr-1]‘ * sin(phi)); % half wavelength is assumed
R = zeros(MrMtNum_of_pulse);
for n = 1 : Num_of_pulse
beta = Beta(n:);
Xn = B_phi * diag(beta) * conj(A_theta‘) * S;
% --------------- Receiver Noise Mode----------------
% sigma = sqrt(mean(var(Xn.‘))) * 10^(-SNR/20); % std of the noise
% Noise = sigma * (randn(size(Xn)) + 1i * randn(size(Xn))) / sqrt(2); % sensor noise
% Yn = Xn + Noise;
% R(::n) = Yn * S‘/T; % matched d
评论
共有 条评论