📄 dbtex6.m
字号:
%DBTEX6 An example doing Monte-Carlo simulations with DML and an ULA.%% * DBT, A Matlab Toolbox for Radar Signal Processing *% (c) FOA 1994-2000. See the file dbtright.m for copyright notice.% Start : 951221 Svante Bj鰎klund (svabj).% Latest change: $Date: 2000/10/16 15:39:54 $ $Author: svabj $.% $Revision: 1.2 $% *****************************************************************************% ----------------------------------------------------------------------- %% Parameters.% ----------------------------------------------------------------------- %lambda = 0.03; % wavelength.D = 0.45*lambda; % Element separation.T = 35; % Number of snapshots.K = 12; % Number of digital antenna channels.theta = d2r([-5 0]); % Target angles. The number of targets is % given by the number of target angles.phi = zeros(size(theta')); % Target angles.SNRtrial= [-10 -5 0]'; % Signal to noise ratio in dB at each % antenna element!?!alpha = d2r([20 210])'; % Start phases of the target signals.dalpha = d2r([0 -10])'; % A constant phase shift between snapshots. % Means targets movements at constant velocity.dist=Inf*ones(size(theta')); % Distances to the sources.tgtModel = 'const';noiseModel = 'rndn';doaStart = d2r([-4 1]);Ntrial = 10;% ----------------------------------------------------------------------- %% Commands.% ----------------------------------------------------------------------- %AngleIndexInDoaT = 1;% Define the antenna.ant = defant('isotropULA',[K,D]);Ndoa = size(doaStart,2);NSNRtrial = size(SNRtrial,1);doaMean = zeros(NSNRtrial,Ndoa);doaStdDev = zeros(NSNRtrial,Ndoa);doaStdDevCRB = zeros(NSNRtrial,Ndoa);noTgt = size(theta,2);for nSNR =1:NSNRtrial fprintf('nSNR = %d\n',nSNR); edoaAll = []; SNR = ones(size(theta',1),1) * SNRtrial(nSNR,1); RssHat = zeros(noTgt, noTgt); for nTrial = 1:Ntrial fprintf(' nSNR = %d, nTrial = %d, Total = %d\n', nSNR, nTrial, ... (nSNR-1)*Ntrial+nTrial); % Generate simulated received antenna signals. [sig, tgtSig] = compsim4(ant, lambda, T, tgtModel, ... [theta', phi, SNR, alpha, ... dalpha, dist, eye(size(theta',1))], noiseModel, eye(K)); % Estimate the DOA:s edoa = sdoapar1('dml',sig, doaStart); pdoapar(edoa) edoaAll = [ edoaAll; edoa]; %edoaAll = [ edoaAll; getm(edoa.doa,1,':',':')']; % Estimate target signal correlation matrix. RssHat = RssHat + (1/T)*tgtSig*tgtSig'; end%for nTrial doaMean(nSNR,:) = mean(edoaAll); doaStdDev(nSNR,:) = std(edoaAll); doaStdDevCRB(nSNR,:) = crbdet(ant, theta, RssHat, T, lambda)end%for nSNRfprintf('\nMean of DOA:s [degrees]\n')fprintf(' DOA 1 DOA2\n')disp(r2d(doaMean))fprintf('Standard deviation of of DOA:s [degrees]\n')fprintf(' DOA 1 DOA2\n')disp(r2d(doaStdDev))fprintf('Standard deviation Cramer Rao Bound of of DOA:s [degrees]\n')fprintf(' DOA 1 DOA2\n')disp(r2d(doaStdDevCRB))plot(SNRtrial,r2d(doaStdDev(:,1)), SNRtrial,r2d(doaStdDev(:,2)), ... SNRtrial,r2d(doaStdDevCRB(:,1)))title('Standard deviation of DOA')xlabel('SNR')ylabel('[degrees]')legend('Target 1', 'Target2', 'CRB')% printfm dbtex6a.eps [] 12
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -