⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 doaspc1.m

📁 阵列信号处理的工具箱
💻 M
字号:
function  spect = doaspc1(method, sigIn, specType, smplPoints, focusDist, rangeIx, cpiIx, in8, in9, in10, timeIx, snapshotDim)%DOASPC1 Estimates a DOA-spectrum with different methods.%%  spect = doaspc1(method, sigIn, [], smplPoints, focusDist, rangeIx,%    cpiIx, ...)%%More detailed help text by commands "help2 doaspc1" or "helpwin2 "doaspc1".%DOASPC1 Estimates a DOA-spectrum with different methods.%%--------%Synopsis:%  spect = doaspc1(method, sigIn, [], smplPoints, focusDist, rangeIx,%    cpiIx, ...)%%Description:%  Estimates a DOA spectrum ((Direction of Arrival)) with different methods.%%  If the input parameters "rangeIx" or "cpiIx" are vectors, several DOA%  spectra will be estimated, one for each specified range bin and CPI.%%  The input can either be a radar signal (RxCorrMatT) or a spatial%  correlation matrix (RxCorrMatT). In the former case a correlation%  matrix is estimated for all range bins and CPIs by calling%     Rxx1  = ecorrm(sigIn,[],rangeIx, cpiIx);%  This means that the samples used for the estimation are taken from all%  pulses (see function "eccorrm").%%Output and Input:%  spect (DoaSpecT): Output DOA-spectrum. It is a quadratic measure of the%    presence of sources in different directions. It can be either a power%    spectrum (e.g. cbf) or a pseudo spectrum (e.g. music).%    All methods use the antenna signal correlation matrix, which is%    estimated by the function "ecorrm" if it is not supplied as input.%  method (StringT): Estimation method. See below for sections about each%    method.%    = 'cbf': Conventional beamforming.%    = 'acbf': Adaptive conventional beamforming. This is beamforming with%      adaptive sidelobe cancelation (ASLC). Not implemented.%    = 'capon': Capons beamformer.%    = 'capon2': An other implementation of Capons beamformer.%    = 'music : MUSIC.%    = 'music2': An other implementation of MUSIC.%    = 'minnorm': Minimum norm.%    = 'minnorm2': An other implementation of Minimum norm (freath).%    = 'eigvec': Eigenvector method.%    = 'pisa': Pisarenko Harmonic Decomposition.%  sigIn (RxRadarSigT or RxCorrMatT): The input antenna signal or a%    spatial correlation matrix.%  smplPoints [D](Vector of DoaT): Calculate the spectrum at these angles.%  focusDist [D](RealScalarT): Focus distance of the antenna [m]%    (default = Inf). Not implemented.%  rangeIx [D](IndexT): Indices of range bin (default = 1). Only used%    when "sigIn" is of type RxRadarSigT. Then default is all range bins.%  cpiIx [D](IndexT): CPI indices (default = 1). Only used%    when "sigIn" is of type RxRadarSigT. Then default is all CPIs.%  timeIx : Not Implemented.%  snapshotDim [D](IntScalarT): Use snapshots from this dimension to%    estimate the correlation matrix.  Not Implemented.%%--------%Conventional Beamforming.%Synopsis:%  spect = doaspc1('cbf', sigIn)%  spect = doaspc1('cbf', sigIn, [], smplPoints)%  spect = doaspc1('cbf', sigIn, [], smplPoints, [], rangeIx, cpiIx)%  spect = doaspc1('cbf', sigIn, [], [], [], [], [], taperType, taperParam)%  spect = doaspc1('cbf', sigIn, [], smplPoints, [], rangeIx, cpiIx,%    taperType, taperParam)%%Output and Input:%   taperType (StringT): Tapering type.%     = 'norm': Normalised beamforming ([2] p. 72-73).%     = Otherwise the parameter "taperType" of function "gettap1".%   taperParam (?): The third input parameter of function "gettap1".%%Description:%  The conventional beamforming. It can be done either with any of the%  taperings that are available with te function gettap1 or by a kind of%  normalization.%%Algoritm:%  taperType = 'norm':%    P = (a'*Rxx*a)/(a'*a),%    where P=P(doa) is the output spectrum as a function of direction,%    a=a(doa) is the steering vector calculated by the spastemat function,%    Rxx is an estimate of the input antenna signal correlation matrix.%  taperType = Otherwise:%     w = a .* taper%     P = w'*Rxx*w,%     where taper is a tapering from the function gettap1. Other variables%     are as above.%%--------%Adaptive Conventional Beamforming.%Synopsis:%  spect = doaspc1('acbf', sigIn, [], [], [], [], [], [], [], iNCorrMat)%  spect = doaspc1('acbf', sigIn, [], [], [], [], [], taperType, taperParam,%    iNCorrMat)%  spect = doaspc1('acbf', sigIn, [], smplPoints, [], rangeIx, cpiIx,%    taperType, taperParam, iNCorrMat)%%Output and Input:%  taperType  (StringT): Tapering type.%    = The parameter "taperType" of function "gettap1".%  taperParam (?): The third input parameter of function "gettap1".%  iNCorrMat (RxCorrMatT): The input antenna signal interference-plus-noise%    correlation matrix. This should be estimated on a radar signal without%    targets.%%Description:%  Not implemented.%  Adaptive (conventional) beamforming. Reference [4] p. 57-58 contains a%  description of STAP which is a generalization of adaptive beamformning.%  Possibility to choose a desired weight vector ([4] p. 57-58).%%Algoritm:%%Examples:%  ant = defant('isotropULA',[noElem,D,lambda]);%  sigJam = compsim2(ant, 1, T, jamModel, [thetaJam, phiJam, SNRJam, ...%    alphaJam, dalphaJam, dist, ones(size(theta,1))], 'rndn', eye(noElem));%  iNCorrMat = ecorrm(sigJam);%  sigTgt = compsim2(ant, 1, T, tgtModel, [thetaTgt, phiTgt, SNRTgt, ...%    alphaTgt, dalphaTgt, distTgt, ones(size(theta,1))], 'rndn', eye(noElem));%  splot2(doaspc1('acbf', sigTgt, [], 'taylor', 40, iNCorrMat))%%--------%Capons Beamformer.%Synopsis:%  spect = doaspc1('capon', sigIn)%  spect = doaspc1('capon', sigIn, [], smplPoints)%  spect = doaspc1('capon', sigIn, [], smplPoints, [], rangeIx, cpiIx)%%Description:%  This is another adaptive conventional beamformer (see 'acbf') but there%  is no possibility to choose a desired weight vector.%  This method is the solution to a minimization that attempts to minimize%  signals from other direction other than the current look direction, in%  which a constant gain is maintained, [2] p73-74.%  This method is also known as Minimum Variance Distorionless Response.%%Algoritm:%  1/(a'*inv(Rxx)*a),%  where P=P(doa) is the output spectrum as a function of direction,%  a=a(doa) is the steering vector calculated by the spastemat function,%  Rxx is an estimate of the input antenna signal correlation matrix.%%--------%MUSIC.%Synopsis:%  spect = doaspc1('music', sigIn, [], [], [], [], [], noSrc)%  spect = doaspc1('music', sigIn, [], smplPoints, [], [], [], noSrc)%  spect = doaspc1('music', sigIn, [], smplPoints, [], rangeIx, cpiIx,%    noSrc)%%Output and Input:%   noSrc [D](IntScalarT): Hypotesis for the number of targets or signals.%%Description:%  Multiple Signal Classification. Probably the most known model based DOA%  spectrum estimation method. See for example [2] p. 74-75.%%Algoritm:%  See [3].%%--------%Minimum  Norm.%Synopsis:%  spect = doaspc1('minnorm', sigIn, [], [], [], [], [], noSrc)%  spect = doaspc1('minnorm', sigIn, [], smplPoints, [], [], [], noSrc)%  spect = doaspc1('minnorm', sigIn, [], smplPoints, [], rangeIx, cpiIx,%    noSrc)%%Output and Input:%   noSrc (IntScalarT): Hypotesis for the number of targets or signals.%%Description:%  A modification of the MUSIC method. See [2] p. 75.%Algoritm:%%--------%Minimum  Norm 2.%Synopsis:%  spect = doaspc1('minnorm2', sigIn, [], [], [], [], [], noSrc)%  spect = doaspc1('minnorm2', sigIn, [], smplPoints, [], [], [], noSrc)%  spect = doaspc1('minnorm2', sigIn, [], smplPoints, [], rangeIx, cpiIx,%    noSrc)%%Output and Input:%   noSrc (IntScalarT): Hypotesis for the number of targets or signals.%%Description:%  An other implementation of Minimum norm (by Fredrik Athley).%%Algoritm:%  See [3].%%--------%Eigenvector Method.%Synopsis:%  spect = doaspc1('eigvec', sigIn, [], [], [], [], [], noSrc)%  spect = doaspc1('eigvec', sigIn, [], smplPoints, [], [], [], noSrc)%  spect = doaspc1('eigvec', sigIn, [], smplPoints, [], rangeIx, cpiIx,%    noSrc)%%Output and Input:%   noSrc (IntScalarT): Hypotesis for the number of targets or signals.%%Description:%  See [6] p. 9 and [7] p. 384.%%Algoritm:%%--------%Pisarenko Harmonic Decomposition.%Synopsis:%  spect = doaspc1('pisa', sigIn, [], [], [], [], [], noSrc)%  spect = doaspc1('pisa', sigIn, [], smplPoints, [], [], [], noSrc)%  spect = doaspc1('pisa', sigIn, [], smplPoints, [], rangeIx, cpiIx,%    noSrc)%%Output and Input:%   noSrc (IntScalarT): Hypotesis for the number of targets or signals.%%Description:%  See [6] p. 10. and [7] p. 371.%  This method does not seem to work.%%Algoritm:%%--------%Notations:%  Data type names are shown in parentheses and they start with a capital%  letter and end with a capital T. Data type definitions can be found in [1]%  or by "help dbtdata".%  [D] = This parameter can be omitted and then a default value is used.%  When the [D]-input parameter is not the last used in the call, it must be%  given the value [], i.e. an empty matrix.%  ... = There can be more parameters. They are explained under respective%  metod or choice.%%Examples:%  ant = defant('isotropULA',[noElem,D,lambda]);%  sig = compsim2(ant, 1, T, tgtModel, [theta, phi, SNR, alpha, dalpha, ...%    dist, ones(size(theta,1))], 'rndn', eye(noElem));%  splot2(sdoaspc('music',sig,[],MMu))%  figure;%  splot2(doaspc1('cbf', sig, [], d2r(-30:0.1:30), [], 3, 2, 'taylor', 40));%%Software Quality:%  (About what is done to ascertain software quality. What tests are done.)%  The methods 'cbf', 'capon', 'music' and 'minnorm' were used in the work%  done by A. Heydarkhan [5].%%Known Bugs:%  The wavelength is acquired from the antenna definition. This is not%  logical but works as the wavelength happens to be stored there.%%References:%  [1]: Bj鰎klund S.: "DBT, A MATLAB Toolbox for Radar Signal Processing.%    Reference Guide", FOA-D--9x-00xxx-408--SE, To be published.%  [2]: Krim H., Viberg M.:"Two Decades of Array Signal Processing Research",%    IEEE Signal Processing Magazine, July 1996, pp. 67-94.%  [3]: Fredrik Athley, Ericsson Microwave Systems, M鰈ndal, Sweden.%  [4]: Ward J.: "Space-Time Adaptive Processing for Airborne Radar",%    Technical report 1015, MIT Lincoln Laboratory 1994.%  [5]: Heydarkhan A.: "Model Based Direction of Arrival Estimation Methods%    Applied to Experimental Antenna Data", Master's Thesis, Chalmers%    University of Technology 1997. FOA-R--97-00631-408--SE, FOA November 1997.%  [6]: Pettersson L.: "Inverkan av fel p

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -