?? correig2sig.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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -