dspastevec.m

来自「阵列信号处理的工具箱」· M 代码 · 共 69 行

M
69
字号
function a = dspastevec(antenna, doas, lambda, ranges)% *****************************************************************************%   *  DBT, A Matlab Toolbox for Radar Signal Processing  *% (c) FOA 1994-2000. See the file dbtright.m for copyright notice.%%  function a = dspastevec(antenna, doas, lambda, ranges)%%  Calculates the derivative of the ideal steering vector with respect to%  the doa for specified angles for a particular distance.%  This function should not be called. Use "dspastemat" instead.%%  antenna  AntDefT%  doas     Vector of DoaT    (= RealMatrixT M x 2)%  lambda   RealScalarT%  ranges   RealVectorT (Only a scalar is implemented)%%  Start        : 960327 Svante Bj鰎klund (svabj).%  Latest change: $Date: 2000/10/16 15:20:49 $ $Author: svabj $.%  $Revision: 1.4 $% *****************************************************************************global thSign  % Defines the reference direction for the theta angle in DOA:s.  % Defined in "defant".antennaType = antenna.antennaType;if ~(strcmp(antennaType,'isotropULA') | strcmp(antennaType,'ULA') ...     | strcmp(antennaType,'LA'))  error('DBT-Error: Not implemented for the desired antenna type.')endif (nargin < 4)  ranges = Inf;endif (ranges ~= Inf)   error('DBT-Error: Only focus on infinity is implemented.')endif (size(doas,1) > 1)  error('DBT-Error: spastevec is only implemented for one DOA angle (theta).')endtheta = doas(:,1);if isfield(antenna,'name')  if (strcmp(antenna.name,'aimtEx'))    error('DBT-Error: Not implemented.')  elseif (strcmp(antennaType,'ULA') | strcmp(antennaType,'LA'))    element = antenna.element;    eType = element.antennaType;    pType = element.patternType;    if (strcmp(eType,'elem') & strcmp(pType,'isotrop'))      noElem   = antenna.noElem;      if (strcmp(antennaType,'ULA'))        distElem = antenna.distElem;        elemPos = distElem*(0:noElem-1)';      else        elemPos = antenna.elemPos;      end%if      a = thSign*j*2*pi*(elemPos/lambda)*cos(theta) .* exp(thSign*j*2*pi * ...         (elemPos/lambda) * sin(theta));    end%if  else    error('DBT-Error: Not implemented.')  end%ifelse  error('DBT-Error: Antenna definition too old. Contact programmers.')end%if exist name

⌨️ 快捷键说明

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