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

📄 rxradarsigt.m

📁 阵列信号处理的工具箱
💻 M
字号:
function sigOut = RxRadarSigT(signals, model, param, pulIx, ranIx, spaIx, extraIx, cpiIx, trialIx, pulTrans, ranTrans, spaTrans, freqPos, rangePos, doaPos, spaPulTrans, spaRanTrans, pulRanTrans, allTrans)%RXRADARSIGT Constructor for radar signals.%%--------%Synopsis:%  sigOut = RxRadarSigT%  sigOut = RxRadarSigT(signals, {antenna, waveform}, {propSpeed},%    pulIx, ranIx, spaIx, extraIx, cpiIx, trialIx, pulTrans,ranTrans,spaTrans,%    freqPos, rangePos, doaPos)%%Description:%  Constructor for radar signals, i.e. the data type "RxRadarSigT".%  More information on this data type and the input parameters of this%  function can be found in [1] (type the command "dbtrefguide").%%Output and Input:%  sigOut (RxRadarSigT): The output radar signal.%%  signals (CxMultiMatrixT): The complex radar signal values in a%    multidimensional matrix with the indices (pulseIx, timeInPulseIx,%    channelIx, extraIx, cpiIx, trialIx). All indices except for pulseIx%    are optional.%  antenna (AntDefT): The antenna definition to use in subsequent signal%    processing of this radar signal.%  waveform (WaveformT): The time properties (WaveformT) of the radar signal%    to use in subsequent signal processing.%  propSpeed [D](RealScalarT): Propagation speed of the radar wave [m/s].%    Default is ?.  This input parameter is not used. What is the purpose%    with it?%  pulIx [D](IndexT): Present pulse or doppler channel numbers in the signal.%  ranIx [D](IndexT): Present range bins (numbers) in the signal.%  spaIx [D](IndexT): Present spatial channels in the signal.%  extraIx [D](IndexT): Present extra indices in the signal.%  cpiIx [D](IndexT): Present CPIs in the signal.%  trialIx [D](IndexT): Present trials in the signal.%  pulTrans [D](CxMatrixT): Transformation matrix used for doppler or%    frequency filtering, i.e. filtering in the time dimension.%  ranTrans [D](CxMatrixT): Transformation matrix used for pulse compression,%    i.e. filtering in the range dimension.%  spaTrans [D](CxMatrixT): Transformation matrix used for beamforming, i.e.%    filtering in the spatial dimension.%  freqPos [D](RealVectorT): Frequency in Hertz for the different doppler%    or frequency channels.%  rangePos [D](RealVectorT): Range in meter for the different range bins.%  doaPos [D](RealVectorT): Beam positions in radians for the different beams.%%--------%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:%  % This example creates a radar signal from measured data in the variable %  % "signals" from the FOA experimental antenna.%  antenna = defant('expAnt');		% Antenna definition.%  waveform = defwave(lambda,noRangeBinsTot,noPri,pModulation,sampleTime);%    % lambda: wavelength.%    % noRangeBinsTot: The separation between different pulses or%    %   PRIs expressed in number of range bins.%    % noPri: Number of pulses%    % pModulation: The coeffient of the pulse modulation.%    % sampleTime: Sample period time.%  pulIx = 1:noPri;%  ranIx = 1:noSnapshots;%  spaIx = 1:noElem;%  sigvar = RxRadarSigT(signals,{antenna,waveform},[],pulIx,ranIx,spaIx);%    % signals: See above in this help text.%%  For other examples, see the code of the functions "compsim4", %  "simradarsig" and "expsig".%%Software Quality:%  (About what is done to ascertain software quality. What tests are done.)%%Known Bugs:%%References:%  [1]: Bj鰎klund S.: "DBT, A MATLAB Toolbox for Radar Signal Processing.%    Reference Guide", FOA-D--9x-00xxx-408--SE, To be published.%%See Also:%  dbtrefguide, defant, defwave, compsim4, simradarsig, expsig%   *  DBT, A Matlab Toolbox for Radar Signal Processing  *% (c) FOA 1994-2000. See the file dbtright.m for copyright notice.%%  Start        : 981113 Svante Bj鰎klund (svabj).%  Latest change: $Date: 2000/10/16 15:19:57 $ $Author: svabj $.%  $Revision: 1.8 $% *****************************************************************************% The structure of this function is prepared for using MATLAB's classes.if (nargin == 0)  sigOut = basedef;elseif isa(signals,'RxRadarSigT')  sigOut = signals;else  if (nargin < 2)    error('DBT-Error: To few input parameters.')  end  % ****************** Add missing input parameters ******************  arginNo=3;  if (nargin < arginNo)    param = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    pulIx = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    ranIx = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    spaIx = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    extraIx = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    cpiIx = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    trialIx = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    pulTrans = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    ranTrans = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    spaTrans = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    freqPos = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    rangePos = [];  end  arginNo = arginNo +1;  if (nargin < arginNo)    doaPos = [];  end  arginNo = arginNo +1;  % ****************** Default values ******************  if isempty(param)    param = {speedoflight};  end%if  if isempty(pulIx)    pulIx = 1:size(signals,1);  end%if  if isempty(ranIx)    ranIx = 1:size(signals,2);  end%if  if isempty(spaIx)    spaIx = 1:size(signals,3);  end%if  if isempty(extraIx)    extraIx = 1:size(signals,4);  end%if  if isempty(cpiIx)    cpiIx = 1:size(signals,5);  end%if  if isempty(trialIx)    trialIx = 1:size(signals,6);  end%if  % ************* Pick out some more fields from input parameters. *************  antenna = model{1};  waveform = model{2};  %propSpeed = param{1};  % ************* Base definition. *************  sigOut = basedef;  % ************* Assign values. *************  sigOut.signals  = signals;  sigOut.antenna  = antenna;  sigOut.waveform = waveform;  sigOut.pulIx    = pulIx;  sigOut.ranIx    = ranIx;  sigOut.spaIx    = spaIx;  sigOut.extraIx  = extraIx;  sigOut.cpiIx    = cpiIx;  sigOut.trialIx  = trialIx;  sigOut.trans.pulTrans = pulTrans;  sigOut.trans.ranTrans = ranTrans;  sigOut.trans.spaTrans = spaTrans;  sigOut.freqPos = freqPos;  sigOut.rangePos = rangePos;  sigOut.doaPos = doaPos;end%if%endfunction RxRadarSigTfunction sigOut = basedef  sigOut.dataType = 'RxRadarSigT';  sigOut.version = 2;    % The version number must be changed after important changes of this    % data type, changes requiring changes of the functions which are     % using this data type.  sigOut.signals  = [];  sigOut.antenna  = [];  sigOut.waveform = [];  sigOut.pulIx    = [];  sigOut.ranIx    = [];  sigOut.spaIx    = [];  sigOut.extraIx  = [];  sigOut.cpiIx    = [];  sigOut.trialIx  = [];  sigOut.trans.pulTrans = [];  sigOut.trans.ranTrans = [];  sigOut.trans.spaTrans = [];  sigOut.freqPos = [];  sigOut.rangePos = [];  sigOut.doaPos = [];  %parent = SigT(...)  %sigOut = class(sigOut,'RxRadarSigT',parent);    % Inheritance from class "SigT".%endfunction basedef

⌨️ 快捷键说明

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