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

📄 correig2sig.m

📁 阵列信号处理的工具箱
💻 M
字号:
function sigOut = correig2sig(corrMats)%CORREIG2SIG Calculates the square root of the eigenvalues of correlation matrices and converts the result to a radar signal.%%--------%Synopsis:%  sigOut = correig2sig(corrMats)%%Description:%  Calculates the square root of the eigenvalues of several correlation%  matrices and converts the result to a radar signal (RxRadarSigT).%  This is actually not possible and allowed. The result is not a real radar %  signal.%  The purpose with this function is to make it possible to plot correlation %  matrix eigenvalues with the plotting functions for radar signals, e.g.%  the function "sigplot2".%%  NOTE: A "radar" signal created with this function can only be used for %  plotting, not for further processing.%%  NOTE: Now this functions returns the square root of the eigenvalues%  instead of the eigenvalues. The reason for this is that a "radar signal" %  (RxRadarSigT) always should be an amplitude measure.%%Output and Input:%  sigOut (RxRadarSigT ): The output radar signal which contains the%    eigenvalue spectra.%  corrMats (RxCorrMatT): One or several spatial correlation matrices.%%--------%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:%%%%Software Quality:%  (About what is done to ascertain software quality. What tests are done.%   Known bugs.)%%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:%  ecorrm, sigplot2%   *  DBT, A Matlab Toolbox for Radar Signal Processing  *% (c) FOA 1994-2000. See the file dbtright.m for copyright notice.%%  Start        : 990501 Svante Bj鰎klund (svabj).%  Latest change: $Date: 2000/10/16 15:20:15 $ $Author: svabj $.%  $Revision: 1.7 $% *****************************************************************************% ****************** Error check input parameters ******************chkdtype(corrMats,'RxCorrMatT')% ****************** Spectrum size ******************sizeSpec = sizem(corrMats.corrMat);noChannels = sizeSpec(1);noPulses = 1;	  % Can only store correlation matrix for a single pulse in RxCorrMatT data   % type.noRanges = sizeSpec(3);noExtras = sizeSpec(4);noCPIs   = sizeSpec(5);noTrials = 1;  % Can only store correlation matrix for a single trial in RxCorrMatT data   % type.% ****************** Create output variable ******************antenna = defant;waveform = defwave(1,1,1,1,1);sigOut = RxRadarSigT(zeros([noPulses, noRanges,  noChannels,  noExtras, ...  noCPIs, noTrials]),{antenna, waveform});% ****************** Loops ******************for trialLoop = 1:noTrials  for cpiLoop = 1:noCPIs    for extraLoop = 1:noExtras      for rangeLoop = 1:noRanges        for pulseLoop = 1:noPulses          %eigVals = (flipud(sort(abs(eig(corrMats.corrMat(:,:,rangeLoop, ...          %  extraLoop, cpiLoop))))));          %  % Calculate and sort the eigenvalues.          eigVals = svd(corrMats.corrMat(:,:,rangeLoop, extraLoop, cpiLoop));            % Calculate eigenvalues of the spatial correlation matrix.          eigVals = eigVals(:);          sigOut.signals(pulseLoop,rangeLoop,:,extraLoop,cpiLoop,...            trialLoop) = sqrt(eigVals);        end%for pulseLoop      end%for rangeLoop    end%for extraLoop    infoStr = sprintf('correig2sig: cpiLoop = %d(%d), range = %d(%d)\r',cpiLoop, noCPIs, rangeLoop, noRanges);    dbtinfo(infoStr,1);  end%for cpiLoop  dbtinfo('');	%New line.end%for trialLoop

⌨️ 快捷键说明

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