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

📄 defant.m

📁 阵列信号处理的工具箱
💻 M
📖 第 1 页 / 共 2 页
字号:
function ant = defant(antennaType, in1, in2, in3, in4, in5, in6, in7)%DEFANT Defines an antenna and receiver.%%--------%Synopsis:%  ant = defant(antennaType, ...)%%Description:%  Defines an antenna and receiver.%  This function must be used once before acquiring received antenna%  signals (with for example function "compsim4" or "expsig"). The antenna %  definition is stored in all radar signals (RxRadarSigT).%%Output and Input:%  ant (AntDefT): Returned antenna definition.%  antennaType (StringT): Antenna type.%    = 'array': A physical antenna array with physical antenna elements.%    = 'beamform': A new top level due to done beamforming.%    = 'BFArray': An array antenna with antenna elements and beamforming.%    = 'isotropElem' : An isotropical antenna element%    = 'pattFuncElem' : Antenna element whose pattern is given by a function.%    = 'LA' : Linear array with antenna elements placed arbitrary along a line.%    = 'ULA' : Linear array with equal distant antenna elements.%    = 'isotropULA' : Linear array with equal distant isotropical antenna%       elements.%    = 'aimtEx2' : The antenna in the AIMT application example. Implementation%       by svabj. Position error can be specified.%    = 'aimtEx' : The antenna in the AIMT application example. Implementation%       by FA.%    = 'expAnt' : The AIMT experimental antenna.%%--------%Array antenna ('array').%Synopsis:%  ant = defant('array', elemPos, [], element,[], elemOrient,%    couplingMat)%%Description:%  A physical antenna array with physical (one-channel) antenna elements. %  Antenna elements can be placed at arbitray positions.%%Output and Input:%  elemPos (Vector of PosT): The positions of the antenna elements. The%    number of antenna elements is determined from the number of elements%    positions in this input parameter.%  element (AntDefT or (Cell) Array of AntDefT): Antenna element definition.%    This can either be a single antenna defintion and then the same%    definition is used for all antenna elements or this can be a (cell)%    array of antenna deinitions, one definition for each antenna element.%  elemOrient [D](Vector of PosT): Orientation of the elements. Not implemented.%  couplingMat [D](CxMatrixT) : Element coupling matrix. Not implemented.%%--------%Beamforming Virtual Antenna ('beamform').%Synopsis:%  ant = defant('beamform',  element, beamSpaceTrans)%%Description:%  A virtual array antenna with the aid of a beamforming operation of the%  output channels from an other array antenna (the "element").%%Output and Input:%  element (AntDefT): An array antenna definition, probably of type 'array'.%    Beamforming is done on this antenna.%  beamSpaceTrans (CxMatrixT): Beamforming weights (CxVectorT) for the%    signals from input channels.%    z = beamSpaceTrans'*x , where%    z : beamspace signals (CxVectorT) = signal(s) from this array.%    x : elementspace signals (CxVectorT) = signals from the elements of%      this array.%    The number of rows in beamSpaceTrans must be equal to the number of%    input channels of this antenna. The number of columns in beamSpaceTrans%    must be equal to the number of output channels.%%--------%Array antenna with beamforming ('BFArray').%Synopsis:%  ant = defant('BFArray', elemPos, [], element, beamSpaceTrans, elemOrient,%    couplingMat)%%Description:%  An array antenna with antenna elements and with one level of beamforming,%  e.g. to subarrays.%%Output and Input:%  beamSpaceTrans (CxMatrixT): Beamforming weights (CxVectorT) for the%    signals from input channels.%    z = beamSpaceTrans'*x , where%    z : beamspace signals (CxVectorT) = signal(s) from this array.%    x : elementspace signals (CxVectorT) = signals from the elements of%      this array.%    The number of rows in beamSpaceTrans must be equal to%    the number of input channels. The number of columns in beamSpaceTrans%    must be equal to%    the number of output channels of this antenna.%%--------%Isotropical Antenna Elements ('isotropElem').%Synopsis:%  ant = defant('isotropElem')%%Description:%%Output and Input:%%--------%Antenna Elements with Arbitrary Antenna Pattern ('pattFuncElem').%Synopsis:%  ant = defant('pattFuncElem', pattern, elemOrient)%%Description:%%Output and Input:%  pattern (FuncStringT): The name of the function that gives the element%    pattern.%  elemOrient (DoaT): Orientation of the element in polar coordinates.%%--------%Non-Uniform Linear Array ('LA').%Synopsis:%  ant = defant('LA', elemPos, [], element, beamSpaceTrans)%%Description:%  Linear array with equal antenna elements that can be placed at arbitrary%  positions along the line.%%Output and Input:%  elemPos (RealVectorT): This is a vector that describes the relative position%    between the elements. The first element should always be 0 (zero). [m].%    length(elemPos) = noElem.%  element (AntDefT): Defintion of the antenna elements.%  beamSpaceTrans (CxMatrixT): Beamforming weights (CxVectorT) for the%    signals from the elements. These weights are only used if this ULA%    is a subarray. Otherwise, if this ULA is the main antenna, the%    weights are supplied at conventional beamforming by the beamforming%    function.%    z = beamSpaceTrans'*x , where%    z : beamspace signals (CxVectorT) = signal(s) from this ULA (only used%      if this ULA is a subarray).%    x : elementspace signals (CxVectorT) = signals from the elements of%      this ULA.%%--------%Uniform Linear Array ('ULA').%Synopsis:%  ant = defant('ULA', [noElem, distElem], element, beamSpaceTrans)%%Description:%  Linear array with equal antenna elements that are placed at equal%  distance from eachother.%%Output and Input:%  noElem (RealScalarT): Number of antenna elements.%  distElem (RealScalarT): Distance between antenna elements [m].%  element (AntDefT): Defintion of the antenna elements.%  beamSpaceTrans (CxMatrixT): Beamforming weights (CxVectorT) for the%    signals from the elements. These weights are only used if this ULA%    is a subarray. Otherwise, if this ULA is the main antenna, the%    weights are supplied at conventional beamforming by the beamforming%    function.%    z = beamSpaceTrans'*x , where%    z : beamspace signals (CxVectorT) = signal(s) from this ULA (only used%      if this ULA is a subarray).%    x : elementspace signals (CxVectorT) = signals from the elements of%      this ULA.%%--------%Isotropical ULA ('isotropULA').%Synopsis:%  ant = defant('isotropULA', [noElem, distElem])%%Description:%  Linear array with isotropical antenna elements that are placed at equal%  distance from eachother.%%Output and Input:%  noElem (RealScalarT): Number of antenna elements.%  distElem (RealScalarT): Distance between antenna elements [m].%%--------%AIMT Application Example ('aimtEx2').%Synopsis:%  ant = defant('aimtex')%  ant = defant('aimtex',posErr)%%Description:%  For a description, see reference [2]. Position errors can be specified.%%Output and Input:%  posErr (Vector of PosT): Position errors [m] for the 51 elements.%    Size = (51 X 1).%%--------%AIMT Application Example ('aimtEx').%Synopsis:%  ant = defant('aimtex', )%%Description:%  For a description, see reference [2]. Position errors can not be specified.%%Output and Input:%%--------%AIMT Experimental Antenna ('expAnt').%Synopsis:%  ant = defant('expAnt')%%Description:%  For a description, see references [3,4].%%Output and Input:%%Global Variables:%  c0 (RealScalarT): The speed of light in vacuum. Defined for the 'expAnt'%    antenna type.%%--------%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:%  Example 1:%    ant = defant('isotropULA',[K,D]);%    sig = compsim4(ant, lambda, T, tgtModel, [theta, phi, SNR, alpha, ...%      dalpha, dist, ones(size(theta,1))], 'rndn', eye(K));%    splot2(sdoaspc('music',sig,[],MMu))%%  Exmaple 2:%    % Creating an antenna equal to the AIMT application example ('aimtex')[2].%    lambda	= 0.1;%%    % Create antenna elements.%    nElem = 51;%    elem21 = defant('pattFuncElem', 'sqrt(cos(x))');%    elem2 = cell(1,nElem);%    for n = 1:nElem, elem2{n}=elem21; end%for n%    %elem2 = repmat({},1,nElem);	% Alternative way to create elem2.%%    % Create beamforming matrix to do subarray beamforming.%    T = zeros(nElem,25);%    for n=1:25%      T((2*n-1):(2*n-1)+2,n) = [0.5 1 0.5].';%    end%for n%    ant2 = defant('BFArray',[0:0.5:25]*lambda,[],elem2,T);%%    % Plot an antenna pattern.%    figure,spantpat3(ant2,{'lambda',lambda,  'mainPointDoa', d2r(20)})%    % Note the grating lobe.%    ylim([-50 0])%    xlim([-60 60])%%Software Quality:%  (About what is done to ascertain software quality. What tests are done.)%  The 'expAnt' antenna type was used in the work done by A. Heydarkhan [5].%%Known Bugs:%  The use of the field 'beamSpaceTrans' in the new antenna types%  described above is not consistent with the use of the same field in the%  old antenna types. This should be no problem as long as no mixing of%  new and old (one-channel elements excluded) antenna types is done.%%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]: Athley F.:"Till鋗pningsexempel f鰎 studie av modellbaserad%    lobformning", Ericsson Microwave Systems 1996, No FY/XU-96:299.%  [3]: Pettersson L., Danestig M., Sj鰏tr鰉 U.: "An Experimental S-Band%    Digital Beamforming Antenna", IEEE AES Systems Magazine, November 1997,%    p.19-26.%  [4]: Bj鰎klund S.:"A MATLAB Toolbox for Radar Signal Processing",%    Proceedings of Nordic MATLAB Conference `97, Stockholm 27-28 October 1997.%  [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.%  []: Danestig M., Pettersson L., Sj鰏tr鰉 U.: "An Experimental S-Band%    Digital Beamforming Antenna", IEEE International Symposium on Phased%    Array Antennas, Boston, 15-18 October 1996.%%See Also:%  dbtex80, compsim4, compsim5, expsig, setcal2, spastemat%   *  DBT, A Matlab Toolbox for Radar Signal Processing  *% (c) FOA 1994-2000. See the file dbtright.m for copyright notice.%%  Start        : 96xxxx Svante Bj鰎klund (svabj).%  Latest change: $Date: 2000/10/21 14:07:20 $ $Author: svabj $.%  $Revision: 1.50 $% *****************************************************************************%Remaining comments.%  The intention is to use an array antenna as "element" and not an%  one-channel antenna element.antDefVersion = 3;	% 980525: Version 3 = The field beamSpaceTrans  % is moved from the element to the current level.% ----------------------------------------------------------------------- %%  Global constants% ----------------------------------------------------------------------- %global thSignthSign = +1;  % Defines the reference direction for the theta angle in DOA:s.  % -1 : As DBT standard in release 1.9 and earlier.  % +1 : To conform to Lars Pettersson standard.% ----------------------------------------------------------------------- %% Handle input parameters% ----------------------------------------------------------------------- %if (nargin < 0)  error('To few input parameters.')end% ****************** Add missing input parameters ******************arginNo=1;if (nargin < arginNo)  antennaType = [];endarginNo = arginNo +1;if (nargin < arginNo)  in1 = [];endarginNo = arginNo +1;if (nargin < arginNo)  in2 = [];endarginNo = arginNo +1;if (nargin < arginNo)  in3 = [];endarginNo = arginNo +1;if (nargin < arginNo)  in4 = [];endarginNo = arginNo +1;if (nargin < arginNo)  in5 = [];endarginNo = arginNo +1;if (nargin < arginNo)  in6 = [];endarginNo = arginNo +1;if (nargin < arginNo)  in7 = [];endarginNo = arginNo +1;% ****************** Default values ******************

⌨️ 快捷键说明

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