diff m-toolbox/classes/@sigBuilder/cb_drawControls.m @ 0:f0afece42f48

Import.
author Daniele Nicolodi <nicolodi@science.unitn.it>
date Wed, 23 Nov 2011 19:22:13 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/m-toolbox/classes/@sigBuilder/cb_drawControls.m	Wed Nov 23 19:22:13 2011 +0100
@@ -0,0 +1,802 @@
+% CB_DRAWCONTROLS draws the user controls depending on which signal type is
+% selected.
+%
+% M Hewitson
+%
+% $Id: cb_drawControls.m,v 1.1 2008/10/19 11:42:40 hewitson Exp $
+%
+
+function cb_drawControls(varargin)
+  
+  % Settings
+  hmarg = 0.01;
+  vmarg = 0.02;
+  commHeight = 0.08;
+  
+  % Get selected signal type
+  sigType = varargin{2};
+  % main figure
+  mainfig = varargin{1};
+  % Panel to draw on
+  pan = findobj(mainfig.handle, 'Tag', 'ControlsPanel');
+  
+  % Delete all children
+  delete(get(pan, 'Children'))
+  drawnow
+  
+  % Draw the requested controls
+  switch lower(sigType)
+    case 'sine wave'
+      draw_Sine_Wave(pan,mainfig,commHeight,hmarg,vmarg);
+    case 'white noise'
+      draw_WhiteNoise(pan,mainfig,commHeight,hmarg,vmarg);
+    case 'chirp'
+      draw_Chirp(pan,mainfig,commHeight,hmarg,vmarg);
+    case 'gaussian pulse'
+      draw_GaussPulse(pan,mainfig,commHeight,hmarg,vmarg);
+    case 'square wave'
+      draw_SquareWave(pan,mainfig,commHeight,hmarg,vmarg);
+    case 'sawtooth'
+      draw_Sawtooth(pan,mainfig,commHeight,hmarg,vmarg);
+    case 'noise generator'
+      draw_NoiseGenerator(pan,mainfig,commHeight,hmarg,vmarg);
+    case 'polynomial'
+      draw_Polynomial(pan,mainfig,commHeight,hmarg,vmarg);
+    case 'custom'
+      draw_Custom(pan,mainfig,commHeight,hmarg,vmarg);
+    otherwise
+      warning('!!! No controls for signal type: %s', sigType);
+  end
+  
+end
+
+%--------------------------------------------------------------------------
+% Draw controls for a polynomial
+% 
+function draw_Polynomial(pan,mainfig,commHeight,hmarg,vmarg)
+  
+  Lwidth = 0.25;
+  Ewidth  = 0.65;
+  h = commHeight;
+  
+  %--- Coeffs
+
+  l = hmarg;
+  b = 1-2*vmarg-h;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Coeffs',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  clsh = uicontrol(pan, ...
+    'Style', 'edit', ...
+    'Units', 'normalized',...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'BackgroundColor', 'w', ...
+    'String', '1', ...
+    'Position', [l b Ewidth h],...
+    'Tag', 'Poly_Coeffs', ...
+    'Tooltip', 'Polynomial coefficients');
+
+  % nsecs
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Length [s]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'Poly_Length',...
+    'Tooltip', 'Length of signal in seconds');
+  
+  
+end
+
+%--------------------------------------------------------------------------
+% Draw controls for a custom f(t)
+% 
+function draw_Custom(pan,mainfig,commHeight,hmarg,vmarg)
+  
+  Lwidth = 0.25;
+  Ewidth  = 0.65;
+  h = commHeight;
+  
+  %--- Fcn
+
+  l = hmarg;
+  b = 1-2*vmarg-h;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'F(t)',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  clsh = uicontrol(pan, ...
+    'Style', 'edit', ...
+    'Units', 'normalized',...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'BackgroundColor', 'w', ...
+    'String', 't', ...
+    'Position', [l b Ewidth h],...
+    'Tag', 'Custom_Fcn', ...
+    'Tooltip', 'A valid MATLAB function of the variable ''t''');
+
+  % nsecs
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Length [s]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'Custom_Length',...
+    'Tooltip', 'Length of signal in seconds');
+  
+  
+end
+
+%--------------------------------------------------------------------------
+% Draw controls for a noise generation
+% 
+function draw_NoiseGenerator(pan,mainfig,commHeight,hmarg,vmarg)
+  
+  Lwidth = 0.25;
+  Ewidth  = 0.65;
+  h = commHeight;
+  
+  %--- Gains
+
+  l = hmarg;
+  b = 1-2*vmarg-h;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Gain',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  clsh = uicontrol(pan, ...
+    'Style', 'edit', ...
+    'Units', 'normalized',...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'BackgroundColor', 'w', ...
+    'String', '1', ...
+    'Position', [l b Ewidth h],...
+    'Tag', 'NoiseGen_Gain', ...
+    'Tooltip', 'Overall Gain');
+
+  
+  % Poles
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Poles',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '{1,1}',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'NoiseGen_Poles',...
+    'Tooltip', 'Pole Frequencies (and Q''s). (help pzmodel)');
+    
+  % Poles
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Zeros',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '10',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'NoiseGen_Zeros',...
+    'Tooltip', 'Zero Frequencies (and Q''s). (help pzmodel)');
+
+  % nsecs
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Length [s]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'NoiseGen_Length',...
+    'Tooltip', 'Length of signal in seconds');
+  
+  
+end
+
+%--------------------------------------------------------------------------
+% Draw controls for a sawtooth
+% 
+function draw_Sawtooth(pan,mainfig,commHeight,hmarg,vmarg)
+  
+  Lwidth = 0.25;
+  Ewidth  = 0.65;
+  h = commHeight;
+  
+  %--- F
+
+  l = hmarg;
+  b = 1-2*vmarg-h;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Frequency [Hz]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  clsh = uicontrol(pan, ...
+    'Style', 'edit', ...
+    'Units', 'normalized',...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'BackgroundColor', 'w', ...
+    'String', '0', ...
+    'Position', [l b Ewidth h],...
+    'Tag', 'Sawtooth_F', ...
+    'Tooltip', 'Frequency [Hz] (help sawtooth)');
+
+  
+  % Width
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Width [0-1]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'Sawtooth_Width',...
+    'Tooltip', 'Width [0-1] (help sawtooth)');
+    
+  % nsecs
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Length [s]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'Sawtooth_Length',...
+    'Tooltip', 'Length of signal in seconds');
+  
+  
+end
+
+%--------------------------------------------------------------------------
+% Draw controls for a square wave
+% 
+function draw_SquareWave(pan,mainfig,commHeight,hmarg,vmarg)
+  
+  Lwidth = 0.25;
+  Ewidth  = 0.65;
+  h = commHeight;
+  
+  %--- F
+
+  l = hmarg;
+  b = 1-2*vmarg-h;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Frequency [Hz]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  clsh = uicontrol(pan, ...
+    'Style', 'edit', ...
+    'Units', 'normalized',...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'BackgroundColor', 'w', ...
+    'String', '0', ...
+    'Position', [l b Ewidth h],...
+    'Tag', 'SquareWave_F', ...
+    'Tooltip', 'Frequency [Hz]');
+
+  
+  % Duty
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Duty Cycle [%]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'SquareWave_Duty',...
+    'Tooltip', 'Duty Cycle  [%]');
+    
+  % nsecs
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Length [s]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'SquareWave_Length',...
+    'Tooltip', 'Length of signal in seconds');
+  
+  
+end
+
+%--------------------------------------------------------------------------
+% Draw controls for a gaussian pulse
+% 
+function draw_GaussPulse(pan,mainfig,commHeight,hmarg,vmarg)
+  
+  Lwidth = 0.25;
+  Ewidth  = 0.65;
+  h = commHeight;
+  
+  %--- F0
+
+  l = hmarg;
+  b = 1-2*vmarg-h;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'F0 [Hz]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  clsh = uicontrol(pan, ...
+    'Style', 'edit', ...
+    'Units', 'normalized',...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'BackgroundColor', 'w', ...
+    'String', '0', ...
+    'Position', [l b Ewidth h],...
+    'Tag', 'GPulse_F0', ...
+    'Tooltip', 'Center Frequency [Hz]');
+
+  
+  % BW
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'BW',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'GPulse_BW',...
+    'Tooltip', 'Fractional Bandwidth [Hz]');
+    
+  % nsecs
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Length [s]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'GPulse_Length',...
+    'Tooltip', 'Length of signal in seconds');
+  
+  
+end
+
+%--------------------------------------------------------------------------
+% Draw controls for a chirp signal
+% 
+function draw_Chirp(pan,mainfig,commHeight,hmarg,vmarg)
+  
+  Lwidth = 0.25;
+  Ewidth  = 0.65;
+  h = commHeight;
+  
+  %--- F0
+
+  l = hmarg;
+  b = 1-2*vmarg-h;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'F0',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  clsh = uicontrol(pan, ...
+    'Style', 'edit', ...
+    'Units', 'normalized',...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'BackgroundColor', 'w', ...
+    'String', '0', ...
+    'Position', [l b Ewidth h],...
+    'Tag', 'Chirp_F0', ...
+    'Tooltip', 'Instantaneous frequency at t=0');
+
+  
+  % F1
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'F1',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'Chirp_F1', ...
+    'Tooltip', 'Instantaneous freuqency at t=T1');
+  
+  % T1
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'T1',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'Chirp_T1', ...
+    'Tooltip', 'Time at which F1 is reached');
+  
+  % nsecs
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Length [s]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'Chirp_Length',...
+    'Tooltip', 'Length of the signal in seconds');
+  
+  
+end
+
+%--------------------------------------------------------------------------
+% Draw controls for a white noise signal
+% 
+function draw_WhiteNoise(pan,mainfig,commHeight,hmarg,vmarg)
+  
+  Lwidth = 0.25;
+  Ewidth  = 0.65;
+  h = commHeight;
+  %--- Type
+
+  l = hmarg;
+  b = 1-2*vmarg-h;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Noise Type',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  clsh = uicontrol(pan, ...
+    'Style', 'popupmenu', ...
+    'Units', 'normalized',...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'BackgroundColor', 'w', ...
+    'String', {'Normal', 'Uniform'}, ...
+    'Position', [l b Ewidth h],...
+    'Tag', 'WhiteNoise_Type');
+
+  
+  % sigma
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Sigma',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'WhiteNoise_Sigma');
+  
+  % nsecs
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Length [s]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'WhiteNoise_Length');
+  
+  
+end
+  
+%--------------------------------------------------------------------------
+% Draw controls for a sine wave signal
+% 
+function draw_Sine_Wave(pan,mainfig,commHeight,hmarg,vmarg)
+  
+  Lwidth = 0.25;
+  Ewidth  = 0.65;
+  h = commHeight;
+  %--- Amplitudes
+  % label
+  l = hmarg;
+  b = 1-2*vmarg-h;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Amplitudes',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'SineWave_Amplitudes');
+  
+  %--- Frequencies
+  % label
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Frequencies [Hz]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'SineWave_Frequencies');
+  
+  %--- Phases
+  % label
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Phases [deg]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '0',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'SineWave_Phases');
+  
+  %--- Nsecs
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Lengths [s]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '1',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'SineWave_Lengths');
+  
+  %--- Toffs
+  l = hmarg;
+  b = b - h - 2*vmarg;
+  sth = uicontrol(pan, 'Style','text',...
+    'String', 'Starts [s]',...
+    'Units', 'normalized', ...
+    'HorizontalAlignment', 'right',...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Lwidth h]);
+  
+  % edit box
+  l = l + Lwidth + hmarg;
+  sth = uicontrol(pan, 'Style','edit',...
+    'String', '0',...
+    'Units', 'normalized', ...
+    'BackgroundColor', 'w', ...
+    'Fontsize', mainfig.Gproperties.fontsize, ...
+    'Position',[l b Ewidth h], ...
+    'Tag', 'SineWave_Starts');
+end