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

    %% Estimate the Signal Subspace Dimension using Forward-Backward Smoothing
% Construct a data snapshot for two plane waves arriving at a
% half-wavelength-spaced uniform line array with 10 elements. Two
% correlated plane waves arrive from 0° and 10° azimuth, both
% with elevation angles of 0°. Assume that the signals arrive in the
% presence of additive noise that is both temporally and spatially Gaussian
% white. 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
% |aictest|.
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 = aictest(x)
%%
% This result shows that |aictest| cannot determine the number of signals
% correctly when the signals are correlated.

%%
% Use the forward-backward smoothing option.
Nsig = aictest(x,'fb')

%%
% The addition of forward-backward smoothing yields the correct number of
% signals.