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

    %% Estimate the Signal Subspace Dimensions Using Forward-Backward Averaging
% Construct a data snapshot for two plane waves arriving at a
% half-wavelength-spaced uniform line array with 10 elements. Correlated
% plane waves arrive from 0° and 10° azimuth, both with elevation
% angles of 0°. Assume the signals arrive in the presence of additive
% noise that is both temporally and spatially Gaussian white noise. For
% each signal, the SNR is 10 dB. Take 300 samples to build a 300-by-10 data
% snapshot. Then, solve for the number of signals using
% |mdltest|.

N = 10;
d = 0.5;
elementPos = (0:N-1)*d;
angles = [0 10];
ncov = db2pow(-10);
scov = [1 .5]'*[1 .5];
x = sensorsig(elementPos,300,angles,ncov,scov);
Nsig = mdltest(x)
%%
% This result shows that |mdltest| cannot determine the number of signals
% correctly when the signals are correlated.
%%
% Now, try the forward-backward smoothing option.
Nsig = mdltest(x,'fb')
%%
% The addition of forward-backward smoothing yields the correct number of
% signals.