Home > m > gui > specwin_viewer > ltpda_specwin_viewer_build_window.m

ltpda_specwin_viewer_build_window

PURPOSE ^

Function to build the window and display it.

SYNOPSIS ^

function ltpda_specwin_viewer_build_window(varargin)

DESCRIPTION ^

 Function to build the window and display it.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function ltpda_specwin_viewer_build_window(varargin)
0002 % Function to build the window and display it.
0003 
0004 plotType = varargin{end};
0005 
0006 mainfig = findobj('Tag', 'LTPDAspecwin_viewer');
0007 ax      = getappdata(mainfig, 'axes');
0008 info    = findobj('Tag', 'LTPDA_specwin_viewer_wininfo');
0009 
0010 % get window type
0011 winTxt = findobj('Tag', 'LTPDA_specwin_viewer_WinType');
0012 wins   = get(winTxt, 'String');
0013 win    = wins{get(winTxt, 'Value')};
0014 
0015 % Get window size
0016 sizeTxt = findobj('Tag', 'LTPDA_specwin_viewer_WinSize');
0017 winlen  = str2num(get(sizeTxt, 'String'));
0018 
0019 if strcmpi(win, 'Kaiser')
0020   % get psll
0021   psllTxt = findobj('Tag', 'LTPDA_specwin_viewer_PSLL');
0022   psll    = str2num(get(psllTxt, 'String'));  
0023   w = specwin(win, winlen, psll);  
0024   cstr = sprintf('specwin(''%s'', %d, %f)', win, winlen, psll);
0025 else  
0026   w = specwin(win, winlen);
0027   cstr = sprintf('specwin(''%s'', %d)', win, winlen);
0028 end
0029 
0030 consTxt = findobj(mainfig, 'Tag', 'LTPDA_specwin_viewer_cstr');
0031 set(consTxt, 'String', cstr);
0032 
0033 
0034 titleStr  = '';
0035 legendStr = '';
0036 
0037 switch plotType
0038   case 'Time-domain'
0039     hl = plot(ax, 1:length(w.win), w.win);
0040     xlabel('sample');
0041     ylabel('amplitude');
0042   case 'Freq-domain'
0043     % Freq response
0044     f = linspace(-30,30,1000);
0045     r = zeros(size(f));
0046     N = length(w.win);
0047 
0048     % do dft
0049     for j=1:length(f)
0050       k = [0:N-1].';
0051       r(j) = (w.win * exp(-2*pi*1i*f(j)*k/N) )./w.ws;
0052     end
0053 
0054     % convert to dB
0055     dbr = 20*log10(abs(r));    hl = plot(ax, f, dbr);
0056     xlabel('bin');
0057     ylabel('amplitude [dB]');
0058 end
0059 
0060 col = [0.8 0.1 0.1];
0061 set(hl, 'Color', col);
0062 titleStr = [titleStr, utils.plottools.label(w.type), ', '];
0063 titleStr = titleStr(1:end-2);
0064 title(sprintf('Window: %s', titleStr));
0065 axis tight
0066 grid on
0067 
0068 
0069 % Info string
0070 lstr = [sprintf('alpha = %g\n', w.alpha)...
0071   sprintf('psll = %g\n', w.psll)...
0072   sprintf('rov = %g\n', w.rov)...
0073   sprintf('nenbw = %g\n', w.nenbw)...
0074   sprintf('w3db = %g\n', w.w3db)...
0075   sprintf('flatness = %g\n', w.flatness)];
0076 legendStr = [legendStr cellstr(lstr)];
0077 set(info, 'String', legendStr);
0078 
0079 % Constructor
0080 
0081 
0082 
0083 
0084

Generated on Mon 08-Sep-2008 13:18:47 by m2html © 2003