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

📄 sigplot2win.m

📁 阵列信号处理的工具箱
💻 M
字号:
function handle = sigplot2win(sigIn, plotFlag, axesValueType)%SIGPLOT2WIN Plots a 1D- or 2D-slice of a radar signal with GUI.%%--------%Synopsis:%  sigplot2win(sigIn)%  handle = sigplot2win(sigIn)% %Description:%  Plots a 1D- or 2D-slice of a radar signal with a graphical user%  interface (GUI) enabling the interactive change of signal part to plot, %  plot type, normalization etc.%  %  See help text of function "sigplot2" for information on the GUI controls.%%  To print the graf without the GUI controls there are two possibilities.%  1) Choose "GUI Controlls Off" in the "View" meny. A new window with%     the graf but without the GUI controls appear. Print this new window. %     Choose  "GUI Controlls On" in the "View" meny of this new window.%  2) Use the -noui flag to the MATLAB print command. This is done by the%     DBT command "printfm".%  %  If there are problems with the mapping between graph values and the%  available colors, try the Matlab command "caxis('auto')".%%Output and Input:%  handle (): Graphic object handles.%  sigIn (RxRadarSigT): Radar signal to plot.%  plotFlag (): Not used.%  axesValueType (StringT): Type of values on the axes.%    'index': Index or subscripts (present or original signal matrix?).%    'physical': Using Hertz for Doppler frequency, meter for range, %       degrees for direction and index for the remaining dimensions.%       NOTE: Implementation not finnished.%%Function Calls:%  sigplot2win -> sigplot2winGUIcb -> sigplot2 OR%  "Radar Signal Plot" in DBTLink -> sigplot2win_s -> sigplot2win -> %    sigplot2winGUIcb -> sigplot2%  "A -> B" means that A calls B.%		%--------%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 ...%  [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%  method.%%Examples:%%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:%  sigplot2%   *  DBT, A Matlab Toolbox for Radar Signal Processing  *% (c) FOA 1994-2000. See the file dbtright.m for copyright notice.% Start        : 2000-01-17 Jouni Rantakokko (jounir).% Latest change: $Date: 2000/11/17 12:45:14 $ $Author: svabj $.% $Revision: 1.15 $% *****************************************************************************%  This function opens the Graphical User Interface (sigplot2winGUI) and %  sets it's UserData property to the input signal matrix sigIn. The Slider's%  max properties are also set from the size of the sigIn matrix...if (nargin < 2)  plotFlag = 'noplot';end%ifif (nargin < 3)  axesValueType = 'index';end%if% ****************** open sigplot2winGUI ******************cfh = sigplot2winGUI;  % Using the M-file/MAT-file version of the GUI.% ****************** Add a new menu ******************viewMenu = uimenu(cfh ,'Label','&View', 'Position',3);toggleGUIControlsMenu = uimenu(viewMenu ,'Label','GUI &Controls Off',  ...  'Callback','sigplot2winGUIcb(''GUIControlsOff'')');% *********** Assign the radar signal to the 'UserData' property ************%set(findobj('tag','sigplot2win'),'UserData',sigIn);set(cfh,'UserData',sigIn);% ********* Set the GUI controlls according to size of radar signal **********sigSizeIn=sigsize(sigIn);clickSliderStep = 5;if (sigSizeIn(1) > 1)  set(findobj(cfh,'Tag','SliderPulse'),'Min',1);  set(findobj(cfh,'Tag','SliderPulse'),'Max',sigSizeIn(1));  set(findobj(cfh,'Tag','SliderPulse'),'SliderStep',[1/sigSizeIn(1), ...    clickSliderStep*1/sigSizeIn(1)]);  set(findobj(cfh,'Tag','SliderPulse'),'Enable','on');else  set(findobj(cfh,'Tag','SliderPulse'),'Enable','off');end%ifif (sigSizeIn(2) > 1)  set(findobj(cfh,'Tag','SliderRange'),'Min',1);  set(findobj(cfh,'Tag','SliderRange'),'Max',sigSizeIn(2));  set(findobj(cfh,'Tag','SliderRange'),'SliderStep',[1/sigSizeIn(2), ...    clickSliderStep*1/sigSizeIn(2)]);  set(findobj(cfh,'Tag','SliderRange'),'Enable','on');else  set(findobj(cfh,'Tag','SliderRange'),'Enable','off');end%ifif (sigSizeIn(3) > 1)  set(findobj(cfh,'Tag','SliderSpace'),'Min',1);  set(findobj(cfh,'Tag','SliderSpace'),'Max',sigSizeIn(3));  set(findobj(cfh,'Tag','SliderSpace'),'SliderStep',[1/sigSizeIn(3), ...    clickSliderStep*1/sigSizeIn(3)]);  set(findobj(cfh,'Tag','SliderSpace'),'Enable','on');else  set(findobj(cfh,'Tag','SliderSpace'),'Enable','off');end%ifif (sigSizeIn(4) > 1)  set(findobj(cfh,'Tag','SliderExtra'),'Min',1);  set(findobj(cfh,'Tag','SliderExtra'),'Max',sigSizeIn(4));  set(findobj(cfh,'Tag','SliderExtra'),'SliderStep',[1/sigSizeIn(4), ...    clickSliderStep*1/sigSizeIn(4)]);  set(findobj(cfh,'Tag','SliderExtra'),'Enable','on');else  set(findobj(cfh,'Tag','SliderExtra'),'Enable','off');end%ifif (sigSizeIn(5) > 1)  set(findobj(cfh,'Tag','SliderCPI'),'Min',1);  set(findobj(cfh,'Tag','SliderCPI'),'Max',sigSizeIn(5));  set(findobj(cfh,'Tag','SliderCPI'),'SliderStep',[1/sigSizeIn(5), ...    clickSliderStep*1/sigSizeIn(5)]);  set(findobj(cfh,'Tag','SliderCPI'),'Enable','on');else  set(findobj(cfh,'Tag','SliderCPI'),'Enable','off');end%ifif (sigSizeIn(6) > 1)  set(findobj(cfh,'Tag','SliderTrial'),'Min',1);  set(findobj(cfh,'Tag','SliderTrial'),'Max',sigSizeIn(6));  set(findobj(cfh,'Tag','SliderTrial'),'SliderStep',[1/sigSizeIn(6), ...    clickSliderStep*1/sigSizeIn(6)]);  set(findobj(cfh,'Tag','SliderTrial'),'Enable','on');else  set(findobj(cfh,'Tag','SliderTrial'),'Enable','off');end%ifset(findobj(cfh,'tag','EditTextLengthRange'),'String',...  num2str(sigSizeIn(2)));set(findobj(cfh,'tag','EditTextLengthSpace'),'String',...  num2str(sigSizeIn(3)));%set(findobj('Tag','sigplot2win'),'HandleVisibility','Callback');%set(cfh,'HandleVisibility','Callback');% ********* Set the the axes values **********% NOTE: Implementation not finnished.switch (axesValueType)case 'index'  pulAxisPhys = 0;  ranAxisPhys = 0;  spaAxisPhys = 0;case 'physical'  if (isfield(sigIn,'freqPos') & (~isempty(sigIn.freqPos)))    set(findobj(cfh,'tag','EditTextAxisValuesPulse'),'String',...      num2str(sigIn.freqPos));    pulAxisPhys = 1;  end%if  if (isfield(sigIn,'ranPos') & (~isempty(sigIn.ranPos)))    set(findobj(cfh,'tag','EditTextAxisValuesRange'),'String',...      num2str(sigIn.ranPos));    ranAxisPhys = 1;  end%if  if (isfield(sigIn,'doaPos') & (~isempty(sigIn.doaPos)))    %set(findobj(cfh,'tag','EditTextAxisValuesSpace'),'String',...    %  num2str(sigIn.doaPos(1,:)));    set(findobj(cfh,'Tag','EditTextAxisValuesSpace'),'String',...      ['[',num2str(r2d(sigIn.doaPos(1,:))),']']);      % Only the theta angle is set.     spaAxisPhys = 1;  end%ifotherwise  axesValueType  dbterror('Internal error in sigplot2win: invalid axesValueType.')end%switch (axesValueType)% ****************** Plot radar signal ******************set(gca, 'NextPlot','replacechildren')  % Keep axes properties when replotting , [Using MATLAB Graphics. Version 5] p. 8-37.sigplot2winGUIcb('replot', cfh)%sigplot2winGUIcb('restoreView', cfh)% ****************** Return figure handle ******************if (nargout > 0)  handle = cfh;end%if

⌨️ 快捷键说明

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