www.gusucode.com > phased 案例源码 matlab代码程序 > phased/RootMUSICEstimationOfDOAForULAExample.m

    %% Root-MUSIC Estimation of DOA for ULA
% Estimate the DOA's of two signals received by a standard 10-element
% uniform linear array (ULA) having an element spacing of 1 meter. The antenna
% operating frequency is 150 MHz. The actual direction of the first signal
% is 10 degrees in azimuth and 20 degrees in elevation. The direction of
% the second signal is 45 degrees in azimuth and 60 degrees in elevation.

% Copyright 2015 The MathWorks, Inc.

fs = 8000;
t = (0:1/fs:1).';
x1 = cos(2*pi*t*300);
x2 = cos(2*pi*t*400);
sULA = phased.ULA('NumElements',10,...
    'ElementSpacing',1);
sULA.Element.FrequencyRange = [100e6 300e6];
fc = 150e6;
x = collectPlaneWave(sULA,[x1 x2],[10 20;45 60]',fc);
rng default;
noise = 0.1/sqrt(2)*(randn(size(x))+1i*randn(size(x)));
sDOA = phased.RootMUSICEstimator('SensorArray',sULA,...
    'OperatingFrequency',fc,...
    'NumSignalsSource','Property',...
    'NumSignals',2);
doas = step(sDOA,x + noise);
az = broadside2az(sort(doas),[20 60])