www.gusucode.com > 声音的处理有:LPC,FFT,共振峰,频谱源码程序 > siganlandsystemusingMatlab/SSUM/filters/iir/iirexpogui.m
function varargout = iirexpogui(varargin) % IIREXPOGUI M-file for iirexpogui.fig % IIREXPOGUI, by itself, creates a new IIREXPOGUI or raises the existing % singleton*. % % H = IIREXPOGUI returns the handle to a new IIREXPOGUI or the handle to % the existing singleton*. % % IIREXPOGUI('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in IIREXPOGUI.M with the given input arguments. % % IIREXPOGUI('Property','Value',...) creates a new IIREXPOGUI or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before iirexpogui_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to iirexpogui_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help iirexpogui % Last Modified by GUIDE v2.5 03-May-2004 19:38:57 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @iirexpogui_OpeningFcn, ... 'gui_OutputFcn', @iirexpogui_OutputFcn, ... 'gui_LayoutFcn', @iirexpogui_LayoutFcn, ... 'gui_Callback', []); if nargin & isstr(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before iirexpogui is made visible. function iirexpogui_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to iirexpogui (see VARARGIN) % Choose default command line output for iirexpogui handles.output = hObject; guidata(hObject, handles); set(gcf,'UserData',handles); iirexpofn; if (nargin > 3) datastruct = varargin{1}; iirexpofn('readinput',datastruct); end % --- Outputs from this function are returned to the command line. function varargout = iirexpogui_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; % -------------------------------------------------------------------- function FileMenu_Callback(hObject, eventdata, handles) % -------------------------------------------------------------------- function OpenMenuItem_Callback(hObject, eventdata, handles) iirexpofn 'loadsound'; % -------------------------------------------------------------------- function PrintMenuItem_Callback(hObject, eventdata, handles) iirexpofn 'print'; % -------------------------------------------------------------------- function CloseMenuItem_Callback(hObject, eventdata, handles) iirexpofn 'close'; % --- Executes on button press in zoomin. function zoomin_Callback(hObject, eventdata, handles) iirexpofn 'zoomin'; % --- Executes on button press in zoomout. function zoomout_Callback(hObject, eventdata, handles) iirexpofn 'zoomout'; % --- Executes on button press in play. function play_Callback(hObject, eventdata, handles) iirexpofn 'playsound'; % --- Executes on button press in dBcheckbox. function dBcheckbox_Callback(hObject, eventdata, handles) iirexpofn 'db'; % --- Executes during object creation, after setting all properties. function fftsize_CreateFcn(hObject, eventdata, handles) if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on selection change in fftsize. function fftsize_Callback(hObject, eventdata, handles) iirexpofn 'fftsize'; % --- Executes during object creation, after setting all properties. function Window_CreateFcn(hObject, eventdata, handles) if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on selection change in Window. function Window_Callback(hObject, eventdata, handles) iirexpofn 'window'; % --- Executes during object creation, after setting all properties. function colormap_CreateFcn(hObject, eventdata, handles) if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on selection change in colormap. function colormap_Callback(hObject, eventdata, handles) iirexpofn 'colormap'; % --- Executes on button press in inverse. function inverse_Callback(hObject, eventdata, handles) iirexpofn 'inverse'; % --- Executes on button press in interpolate. function interpolate_Callback(hObject, eventdata, handles) iirexpofn 'interpolate'; % --- Executes on button press in playoriginal. function playoriginal_Callback(hObject, eventdata, handles) iirexpofn 'playoriginal'; % --- Executes on button press in print. function print_Callback(hObject, eventdata, handles) iirexpofn 'print'; % --- Executes during object creation, after setting all properties. function filtermenu_CreateFcn(hObject, eventdata, handles) % hObject handle to filtermenu (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on selection change in filtermenu. function filtermenu_Callback(hObject, eventdata, handles) contents = get(hObject,'String'); switch lower(contents{get(hObject,'Value')}) case {'bandpass','notch'} set(handles.cut2,'Visible','on'); otherwise set(handles.cut2,'Visible','off'); end % --- Executes during object creation, after setting all properties. function filtorder_CreateFcn(hObject, eventdata, handles) if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function filtorder_Callback(hObject, eventdata, handles) % --- Executes on button press in plotfreqz. function plotfreqz_Callback(hObject, eventdata, handles) iirexpofn 'plotfreqz'; % --- Executes during object creation, after setting all properties. function fftdisplay_CreateFcn(hObject, eventdata, handles) if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on selection change in fftdisplay. function fftdisplay_Callback(hObject, eventdata, handles) iirexpofn 'fftdisplay'; % --- Executes during object creation, after setting all properties. function cut1_CreateFcn(hObject, eventdata, handles) if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function cut1_Callback(hObject, eventdata, handles) % --- Executes during object creation, after setting all properties. function cut2_CreateFcn(hObject, eventdata, handles) if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function cut2_Callback(hObject, eventdata, handles) % --- Executes on button press in doFilter. function doFilter_Callback(hObject, eventdata, handles) iirexpofn 'apply_filter'; % --- Executes on button press in undo. function undo_Callback(hObject, eventdata, handles) iirexpofn 'undo'; % -------------------------------------------------------------------- function save_Callback(hObject, eventdata, handles) % hObject handle to save (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) iirexpofn 'save'; % -------------------------------------------------------------------- function help_Callback(hObject, eventdata, handles) % hObject handle to help (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) iirexpofn 'help'; % --- Executes during object creation, after setting all properties. function freqzoom_CreateFcn(hObject, eventdata, handles) % hObject handle to freqzoom (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: slider controls usually have a light gray background, change % 'usewhitebg' to 0 to use default. See ISPC and COMPUTER. usewhitebg = 1; if usewhitebg set(hObject,'BackgroundColor',[.9 .9 .9]); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on slider movement. function freqzoom_Callback(hObject, eventdata, handles) % hObject handle to freqzoom (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'Value') returns position of slider % get(hObject,'Min') and get(hObject,'Max') to determine range of slider iirexpofn 'freqzoom'; % --- Executes on button press in zoomreset. function zoomreset_Callback(hObject, eventdata, handles) % hObject handle to zoomreset (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) iirexpofn 'zoomreset'; % -------------------------------------------------------------------- function Untitled_1_Callback(hObject, eventdata, handles) % hObject handle to Untitled_1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function pzexpo_Callback(hObject, eventdata, handles) % hObject handle to pzexpo (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) iirexpofn 'pzexpo'; % -------------------------------------------------------------------- function pzfilterexpo_Callback(hObject, eventdata, handles) % hObject handle to pzfilterexpo (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) iirexpofn 'pzfilterexpo'; % --- Executes on button press in pushbutton12. function pushbutton12_Callback(hObject, eventdata, handles) % hObject handle to pushbutton12 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in pushbutton13. function pushbutton13_Callback(hObject, eventdata, handles) % hObject handle to pushbutton13 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in pushbutton14. function pushbutton14_Callback(hObject, eventdata, handles) % hObject handle to pushbutton14 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in pushbutton15. function pushbutton15_Callback(hObject, eventdata, handles) % hObject handle to pushbutton15 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes on button press in normalize. function normalize_Callback(hObject, eventdata, handles) % hObject handle to normalize (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) iirexpofn 'normalize'; % -------------------------------------------------------------------- function Untitled_2_Callback(hObject, eventdata, handles) % hObject handle to Untitled_2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function fourier_Callback(hObject, eventdata, handles) % hObject handle to fourier (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) iirexpofn 'fourier'; % --- Executes during object creation, after setting all properties. function type_CreateFcn(hObject, eventdata, handles) % hObject handle to type (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on selection change in type. function type_Callback(hObject, eventdata, handles) % hObject handle to type (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns type contents as cell array % contents{get(hObject,'Value')} returns selected item from type contents = get(hObject,'String'); switch lower(contents{get(hObject,'Value')}) case 'elliptical' set(handles.rp,'Visible','on'); set(handles.rs,'Visible','on'); case 'chebyshev' set(handles.rp,'Visible','on'); set(handles.rs,'Visible','off'); otherwise set(handles.rp,'Visible','off'); set(handles.rs,'Visible','off'); end % --- Executes during object creation, after setting all properties. function rp_CreateFcn(hObject, eventdata, handles) % hObject handle to rp (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function rp_Callback(hObject, eventdata, handles) % hObject handle to rp (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of rp as text % str2double(get(hObject,'String')) returns contents of rp as a double % --- Executes during object creation, after setting all properties. function rs_CreateFcn(hObject, eventdata, handles) % hObject handle to rs (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function rs_Callback(hObject, eventdata, handles) % hObject handle to rs (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of rs as text % str2double(get(hObject,'String')) returns contents of rs as a double % -------------------------------------------------------------------- function convexpo_Callback(hObject, eventdata, handles) % hObject handle to convexpo (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) iirexpofn 'convexpo'; % --- Creates and returns a handle to the GUI figure. function h1 = iirexpogui_LayoutFcn(policy) % policy - create a new figure or use a singleton. 'new' or 'reuse'. persistent hsingleton; if strcmpi(policy, 'reuse') & ishandle(hsingleton) h1 = hsingleton; return; end h1 = figure(... 'Units','characters',... 'Color',[0.925490196078431 0.913725490196078 0.847058823529412],... 'Colormap',[0 0 0.5625;0 0 0.625;0 0 0.6875;0 0 0.75;0 0 0.8125;0 0 0.875;0 0 0.9375;0 0 1;0 0.0625 1;0 0.125 1;0 0.1875 1;0 0.25 1;0 0.3125 1;0 0.375 1;0 0.4375 1;0 0.5 1;0 0.5625 1;0 0.625 1;0 0.6875 1;0 0.75 1;0 0.8125 1;0 0.875 1;0 0.9375 1;0 1 1;0.0625 1 1;0.125 1 0.9375;0.1875 1 0.875;0.25 1 0.8125;0.3125 1 0.75;0.375 1 0.6875;0.4375 1 0.625;0.5 1 0.5625;0.5625 1 0.5;0.625 1 0.4375;0.6875 1 0.375;0.75 1 0.3125;0.8125 1 0.25;0.875 1 0.1875;0.9375 1 0.125;1 1 0.0625;1 1 0;1 0.9375 0;1 0.875 0;1 0.8125 0;1 0.75 0;1 0.6875 0;1 0.625 0;1 0.5625 0;1 0.5 0;1 0.4375 0;1 0.375 0;1 0.3125 0;1 0.25 0;1 0.1875 0;1 0.125 0;1 0.0625 0;1 0 0;0.9375 0 0;0.875 0 0;0.8125 0 0;0.75 0 0;0.6875 0 0;0.625 0 0;0.5625 0 0],... 'IntegerHandle','off',... 'InvertHardcopy',get(0,'defaultfigureInvertHardcopy'),... 'MenuBar','none',... 'Name','iirexpo',... 'NumberTitle','off',... 'PaperOrientation','landscape',... 'PaperPosition',get(0,'defaultfigurePaperPosition'),... 'PaperSize',[11 8.5],... 'Pointer','crosshair',... 'Position',[83 4.69230769230769 184.2 50],... 'Renderer',get(0,'defaultfigureRenderer'),... 'RendererMode','manual',... 'HandleVisibility','callback',... 'Tag','iirexpo_fig',... 'UserData',zeros(1,0)); setappdata(h1, 'GUIDEOptions', struct(... 'active_h', [], ... 'taginfo', struct(... 'figure', 2, ... 'axes', 6, ... 'pushbutton', 17, ... 'popupmenu', 9, ... 'listbox', 2, ... 'text', 18, ... 'slider', 3, ... 'checkbox', 4, ... 'radiobutton', 5, ... 'frame', 2, ... 'edit', 6), ... 'override', 1, ... 'release', 13, ... 'resize', 'simple', ... 'accessibility', 'callback', ... 'mfile', 1, ... 'callbacks', 1, ... 'singleton', 1, ... 'syscolorfig', 1, ... 'lastSavedFile', 'C:\Documents and Settings\All Users\Documents\SSUM\filters\iir\iirexpo.m', ... 'blocking', 0)); h2 = uimenu(... 'Parent',h1,... 'Callback','iirexpogui(''FileMenu_Callback'',gcbo,[],guidata(gcbo))',... 'Label','File',... 'Tag','FileMenu'); h3 = uimenu(... 'Parent',h2,... 'Callback','iirexpogui(''OpenMenuItem_Callback'',gcbo,[],guidata(gcbo))',... 'Label','Open ...',... 'Tag','OpenMenuItem'); h4 = uimenu(... 'Parent',h2,... 'Callback','iirexpogui(''save_Callback'',gcbo,[],guidata(gcbo))',... 'Label','Save',... 'Tag','save'); h5 = uimenu(... 'Parent',h2,... 'Callback','iirexpogui(''print_Callback'',gcbo,[],guidata(gcbo))',... 'Label','Print ...',... 'Tag','print'); h6 = uimenu(... 'Parent',h2,... 'Callback','iirexpogui(''CloseMenuItem_Callback'',gcbo,[],guidata(gcbo))',... 'Label','Close',... 'Separator','on',... 'Tag','CloseMenuItem'); h7 = axes(... 'Parent',h1,... 'Units','characters',... 'ALim',get(0,'defaultaxesALim'),... 'ALimMode','manual',... 'CameraPosition',[0.5 0.5 9.16025403784439],... 'CameraPositionMode','manual',... 'CameraTarget',[0.5 0.5 0.5],... 'CameraTargetMode','manual',... 'CameraUpVector',[0 1 0],... 'CameraUpVectorMode','manual',... 'CameraViewAngle',6.60861036031192,... 'CameraViewAngleMode','manual',... 'CLim',get(0,'defaultaxesCLim'),... 'CLimMode','manual',... 'Color',get(0,'defaultaxesColor'),... 'ColorOrder',get(0,'defaultaxesColorOrder'),... 'DataAspectRatio',get(0,'defaultaxesDataAspectRatio'),... 'DataAspectRatioMode','manual',... 'DrawMode','fast',... 'PlotBoxAspectRatio',get(0,'defaultaxesPlotBoxAspectRatio'),... 'PlotBoxAspectRatioMode','manual',... 'Position',[9.4 2.84615384615385 110 14.8461538461538],... 'TickDir',get(0,'defaultaxesTickDir'),... 'TickDirMode','manual',... 'XColor',get(0,'defaultaxesXColor'),... 'XLim',get(0,'defaultaxesXLim'),... 'XLimMode','manual',... 'XTick',[0 0.2 0.4 0.6 0.8 1],... 'XTickLabel',{ '0 ' '0.2' '0.4' '0.6' '0.8' '1 ' },... 'XTickLabelMode','manual',... 'XTickMode','manual',... 'YColor',get(0,'defaultaxesYColor'),... 'YLim',get(0,'defaultaxesYLim'),... 'YLimMode','manual',... 'YTick',[0 0.2 0.4 0.6 0.8 1],... 'YTickLabel',{ '0 ' '0.2' '0.4' '0.6' '0.8' '1 ' },... 'YTickLabelMode','manual',... 'YTickMode','manual',... 'ZColor',get(0,'defaultaxesZColor'),... 'ZLim',get(0,'defaultaxesZLim'),... 'ZLimMode','manual',... 'ZTick',[0 0.5 1],... 'ZTickLabel','',... 'ZTickLabelMode','manual',... 'ZTickMode','manual',... 'Tag','timeplot',... 'UserData',zeros(1,0)); h8 = get(h7,'title'); set(h8,... 'Parent',h7,... 'Color',[0 0 0],... 'HorizontalAlignment','center',... 'Position',[0.496575342465753 1.04452054794521 1.00005459937205],... 'VerticalAlignment','bottom',... 'HandleVisibility','off'); h9 = get(h7,'xlabel'); set(h9,... 'Parent',h7,... 'Color',[0 0 0],... 'HorizontalAlignment','center',... 'Position',[0.496575342465753 -0.160958904109589 1.00005459937205],... 'VerticalAlignment','cap',... 'HandleVisibility','off'); h10 = get(h7,'ylabel'); set(h10,... 'Parent',h7,... 'Color',[0 0 0],... 'HorizontalAlignment','center',... 'Position',[-0.195205479452055 0.48972602739726 1.00005459937205],... 'Rotation',90,... 'VerticalAlignment','bottom',... 'HandleVisibility','off'); h11 = get(h7,'zlabel'); set(h11,... 'Parent',h7,... 'Color',[0 0 0],... 'HorizontalAlignment','right',... 'Position',[-0.565068493150685 1.45547945205479 1.00005459937205],... 'HandleVisibility','off',... 'Visible','off'); h12 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'Callback','iirexpogui(''dBcheckbox_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[137 11.5 7 1.5],... 'String','dB',... 'Style','checkbox',... 'Value',1,... 'Tag','dBcheckbox'); h13 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'Callback','iirexpogui(''play_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[123.166666666667 5.16666666666667 9 1.5],... 'String','Play',... 'Tag','play'); h14 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'BackgroundColor',[1 1 1],... 'Callback','iirexpogui(''fftsize_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[162.166666666667 14.3333333333333 17.5 1.5],... 'String',{ '64' '128' '256' '512' '1024' '2048' '4096' '8192' '16384' '32768' },... 'Style','popupmenu',... 'Value',4,... 'CreateFcn','iirexpogui(''fftsize_CreateFcn'',gcbo,[],guidata(gcbo))',... 'Tag','fftsize'); h15 = axes(... 'Parent',h1,... 'Units','characters',... 'ALim',get(0,'defaultaxesALim'),... 'ALimMode','manual',... 'CameraPosition',[0.5 0.5 9.16025403784439],... 'CameraPositionMode','manual',... 'CameraTarget',[0.5 0.5 0.5],... 'CameraTargetMode','manual',... 'CameraUpVector',[0 1 0],... 'CameraUpVectorMode','manual',... 'CameraViewAngle',6.60861036031192,... 'CameraViewAngleMode','manual',... 'CLim',get(0,'defaultaxesCLim'),... 'CLimMode','manual',... 'Color',get(0,'defaultaxesColor'),... 'ColorOrder',get(0,'defaultaxesColorOrder'),... 'DataAspectRatio',get(0,'defaultaxesDataAspectRatio'),... 'DataAspectRatioMode','manual',... 'PlotBoxAspectRatio',get(0,'defaultaxesPlotBoxAspectRatio'),... 'PlotBoxAspectRatioMode','manual',... 'Position',[9.5 18.6666666666667 110 30.0833333333333],... 'TickDir',get(0,'defaultaxesTickDir'),... 'TickDirMode','manual',... 'XColor',get(0,'defaultaxesXColor'),... 'XLim',get(0,'defaultaxesXLim'),... 'XLimMode','manual',... 'XTick',[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1],... 'XTickLabel',{ '0 ' '0.1' '0.2' '0.3' '0.4' '0.5' '0.6' '0.7' '0.8' '0.9' '1 ' },... 'XTickLabelMode','manual',... 'XTickMode','manual',... 'YColor',get(0,'defaultaxesYColor'),... 'YLim',get(0,'defaultaxesYLim'),... 'YLimMode','manual',... 'YTick',[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1],... 'YTickLabel',{ '0 ' '0.1' '0.2' '0.3' '0.4' '0.5' '0.6' '0.7' '0.8' '0.9' '1 ' },... 'YTickLabelMode','manual',... 'YTickMode','manual',... 'ZColor',get(0,'defaultaxesZColor'),... 'ZLim',get(0,'defaultaxesZLim'),... 'ZLimMode','manual',... 'ZTick',[0 0.5 1],... 'ZTickLabel','',... 'ZTickLabelMode','manual',... 'ZTickMode','manual',... 'Tag','specplot',... 'UserData',zeros(1,0)); h16 = get(h15,'title'); set(h16,... 'Parent',h15,... 'Color',[0 0 0],... 'HorizontalAlignment','center',... 'Position',[0.497237569060773 1.0207182320442 1.00005459937205],... 'VerticalAlignment','bottom',... 'HandleVisibility','off'); h17 = get(h15,'xlabel'); set(h17,... 'Parent',h15,... 'Color',[0 0 0],... 'HorizontalAlignment','center',... 'Position',[0.497237569060773 -0.0621546961325967 1.00005459937205],... 'VerticalAlignment','cap',... 'HandleVisibility','off'); h18 = get(h15,'ylabel'); set(h18,... 'Parent',h15,... 'Color',[0 0 0],... 'HorizontalAlignment','center',... 'Position',[-0.0662983425414364 0.498618784530387 1.00005459937205],... 'Rotation',90,... 'VerticalAlignment','bottom',... 'HandleVisibility','off'); h19 = get(h15,'zlabel'); set(h19,... 'Parent',h15,... 'Color',[0 0 0],... 'HorizontalAlignment','right',... 'Position',[-0.397790055248619 1.03729281767956 1.00005459937205],... 'HandleVisibility','off',... 'Visible','off'); h20 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'BackgroundColor',[1 1 1],... 'Callback','iirexpogui(''Window_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[142.666666666667 14.3333333333333 17.5 1.5],... 'String',{ 'Hann' 'Rectangle' 'Triangle' 'Hamming' 'Kaiser' 'Bartlett' 'Blackman-Harris' 'Gaussian' },... 'Style','popupmenu',... 'Value',1,... 'CreateFcn','iirexpogui(''Window_CreateFcn'',gcbo,[],guidata(gcbo))',... 'Tag','Window'); h21 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'FontSize',18,... 'FontWeight','bold',... 'HorizontalAlignment','right',... 'ListboxTop',0,... 'Position',[130.5 0.5 51.6666666666667 2.66666666666667],... 'String','IIR Filter Explorer',... 'Style','text',... 'Tag','text3'); h22 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'BackgroundColor',[1 1 1],... 'Callback','iirexpogui(''colormap_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[123.166666666667 14.3333333333333 17.5 1.5],... 'String',{ 'Jet' 'Bone' 'HSV' 'Gray' 'Hot' 'Cool' },... 'Style','popupmenu',... 'Value',1,... 'CreateFcn','iirexpogui(''colormap_CreateFcn'',gcbo,[],guidata(gcbo))',... 'Tag','colormap'); h23 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'Callback','iirexpogui(''inverse_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[123.166666666667 11.5 12.1666666666667 1.5],... 'String','Inverse',... 'Style','checkbox',... 'Tag','inverse'); h24 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'FontSize',12,... 'HorizontalAlignment','left',... 'ListboxTop',0,... 'Position',[143 15.9166666666667 14.5 1.75],... 'String','Window',... 'Style','text',... 'Tag','text4'); h25 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'FontSize',12,... 'HorizontalAlignment','left',... 'ListboxTop',0,... 'Position',[162.5 15.9166666666667 16.5 1.75],... 'String','FFT Size',... 'Style','text',... 'Tag','text5'); h26 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'FontSize',12,... 'HorizontalAlignment','left',... 'ListboxTop',0,... 'Position',[123.166666666667 15.9166666666667 17.5 1.75],... 'String','Colormap',... 'Style','text',... 'Tag','text6'); h27 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'Callback','iirexpogui(''interpolate_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[123.166666666667 9.08333333333333 14.5 1.5],... 'String','Interpolate',... 'Style','checkbox',... 'Tag','interpolate'); h28 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'Callback','iirexpogui(''playoriginal_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[136.666666666667 5.16666666666667 9 1.5],... 'String','Play',... 'Tag','playoriginal'); h29 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'FontAngle','italic',... 'HorizontalAlignment','left',... 'ListboxTop',0,... 'Position',[141.5 9.16666666666667 39.1666666666667 1.08333333333333],... 'String','WARNING: This could take a while.',... 'Style','text',... 'Tag','text9'); h30 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'ListboxTop',0,... 'Position',[137 20.6923076923077 46 16],... 'String',{ '' },... 'Style','frame',... 'Tag','frame1'); h31 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'BackgroundColor',[1 1 1],... 'Callback','iirexpogui(''filtermenu_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[138.5 32.0833333333333 16 1.5],... 'String',{ 'Lowpass' 'Highpass' 'Bandpass' 'Notch' },... 'Style','popupmenu',... 'Value',1,... 'CreateFcn','iirexpogui(''filtermenu_CreateFcn'',gcbo,[],guidata(gcbo))',... 'Tag','filtermenu'); h32 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'FontSize',12,... 'HorizontalAlignment','left',... 'ListboxTop',0,... 'Position',[138.5 33.5833333333333 17 2],... 'String','IIR Filter',... 'Style','text',... 'Tag','text10'); h33 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'BackgroundColor',[1 1 1],... 'Callback','iirexpogui(''filtorder_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[175.833333333333 32 6 1.5],... 'String','5',... 'Style','edit',... 'CreateFcn','iirexpogui(''filtorder_CreateFcn'',gcbo,[],guidata(gcbo))',... 'Tag','filtorder'); h34 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'FontSize',12,... 'HorizontalAlignment','right',... 'ListboxTop',0,... 'Position',[171.666666666667 33.75 10.1666666666667 1.75],... 'String','Order',... 'Style','text',... 'Tag','text11'); h35 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'Callback','iirexpogui(''plotfreqz_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[165.8 21.6923076923077 11.8 1.5],... 'String','Plot',... 'Tag','plotfreqz'); h36 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'BackgroundColor',[1 1 1],... 'Callback','iirexpogui(''fftdisplay_Callback'',gcbo,[],guidata(gcbo))',... 'Enable','inactive',... 'ListboxTop',0,... 'Position',[146.166666666667 11.5 17.5 1.5],... 'String',{ 'Sonogram' 'Waterfall' },... 'Style','popupmenu',... 'Value',1,... 'CreateFcn','iirexpogui(''fftdisplay_CreateFcn'',gcbo,[],guidata(gcbo))',... 'Tag','fftdisplay',... 'Visible','off'); h37 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'BackgroundColor',[1 1 1],... 'Callback','iirexpogui(''cut1_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[138.5 28.3333333333333 15 1.5],... 'String','1000',... 'Style','edit',... 'CreateFcn','iirexpogui(''cut1_CreateFcn'',gcbo,[],guidata(gcbo))',... 'Tag','cut1'); h38 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'BackgroundColor',[1 1 1],... 'Callback','iirexpogui(''cut2_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[157.166666666667 28.3333333333333 15 1.5],... 'String','5000',... 'Style','edit',... 'CreateFcn','iirexpogui(''cut2_CreateFcn'',gcbo,[],guidata(gcbo))',... 'Tag','cut2',... 'Visible','off'); h39 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'FontSize',10,... 'HorizontalAlignment','left',... 'ListboxTop',0,... 'Position',[138.5 30 36.5 1.66666666666667],... 'String','Cutoff Frequencies (Hz)',... 'Style','text',... 'Tag','cutofftext'); h40 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'Callback','iirexpogui(''doFilter_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[139.8 21.6923076923077 11.8 1.5],... 'String','Apply',... 'Tag','doFilter'); h41 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'Callback','iirexpogui(''undo_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[153 21.6923076923077 11.8 1.5],... 'String','Undo',... 'Tag','undo'); h42 = uimenu(... 'Parent',h1,... 'Callback','iirexpogui(''Untitled_1_Callback'',gcbo,[],guidata(gcbo))',... 'Label','Send Filter to...',... 'Tag','Untitled_1'); h43 = uimenu(... 'Parent',h42,... 'Callback','iirexpogui(''pzexpo_Callback'',gcbo,[],guidata(gcbo))',... 'Label','Pole-Zero Explorer',... 'Tag','pzexpo'); h44 = uimenu(... 'Parent',h42,... 'Callback','iirexpogui(''pzfilterexpo_Callback'',gcbo,[],guidata(gcbo))',... 'Label','Pole-Zero Filter Explorer',... 'Tag','pzfilterexpo'); h45 = uimenu(... 'Parent',h42,... 'Callback','iirexpogui(''convexpo_Callback'',gcbo,[],guidata(gcbo))',... 'Label','Convolution Explorer',... 'Tag','convexpo'); h46 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'HorizontalAlignment','left',... 'ListboxTop',0,... 'Position',[123.166666666667 6.66666666666667 9.66666666666667 1.25],... 'String','Filtered',... 'Style','text',... 'Tag','text13'); h47 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'HorizontalAlignment','left',... 'ListboxTop',0,... 'Position',[136.666666666667 6.66666666666667 9.66666666666667 1.25],... 'String','Original',... 'Style','text',... 'Tag','text14'); h48 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'BackgroundColor',[0.9 0.9 0.9],... 'Callback','iirexpogui(''freqzoom_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[0.333333333333333 18.6666666666667 2.16666666666667 30.0833333333333],... 'String',{ '' },... 'Style','slider',... 'Value',1,... 'CreateFcn','iirexpogui(''freqzoom_CreateFcn'',gcbo,[],guidata(gcbo))',... 'Tag','freqzoom'); h49 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'Callback','iirexpogui(''zoomreset_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[148.6 5.15384615384615 13 1.5],... 'String','Zoom Reset',... 'Tag','zoomreset'); h50 = uimenu(... 'Parent',h1,... 'Callback','iirexpogui(''Untitled_2_Callback'',gcbo,[],guidata(gcbo))',... 'Label','Send Data to...',... 'Tag','Untitled_2'); h51 = uimenu(... 'Parent',h50,... 'Callback','iirexpogui(''fourier_Callback'',gcbo,[],guidata(gcbo))',... 'Label','Fourier Explorer',... 'Tag','fourier'); h52 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'Callback','iirexpogui(''normalize_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[123.166666666667 3 13 1.5],... 'String','Normalize',... 'Tag','normalize'); h53 = uimenu(... 'Parent',h1,... 'Callback','iirexpogui(''help_Callback'',gcbo,[],guidata(gcbo))',... 'Label','Help',... 'Tag','help'); h54 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'BackgroundColor',[1 1 1],... 'Callback','iirexpogui(''type_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[157.166666666667 32.0833333333333 16 1.5],... 'String',{ 'Butterworth' 'Elliptical' 'Chebyshev' },... 'Style','popupmenu',... 'Value',1,... 'CreateFcn','iirexpogui(''type_CreateFcn'',gcbo,[],guidata(gcbo))',... 'Tag','type'); h55 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'FontSize',12,... 'HorizontalAlignment','left',... 'ListboxTop',0,... 'Position',[157.166666666667 33.5833333333333 17 2],... 'String','Type',... 'Style','text',... 'Tag','text15'); h56 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'FontSize',10,... 'HorizontalAlignment','left',... 'ListboxTop',0,... 'Position',[138.5 25.9166666666667 22.8333333333333 1.58333333333333],... 'String','Peak-Peak Ripple (dB)',... 'Style','text',... 'Tag','text16'); h57 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'FontSize',10,... 'HorizontalAlignment','left',... 'ListboxTop',0,... 'Position',[161.333333333333 25.5833333333333 21.3333333333333 1.91666666666667],... 'String','Stop Attenuation (dB)',... 'Style','text',... 'Tag','text17'); h58 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'BackgroundColor',[1 1 1],... 'Callback','iirexpogui(''rp_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[138.5 24.4166666666667 15 1.5],... 'String','0.5',... 'Style','edit',... 'CreateFcn','iirexpogui(''rp_CreateFcn'',gcbo,[],guidata(gcbo))',... 'Tag','rp'); h59 = uicontrol(... 'Parent',h1,... 'Units','characters',... 'BackgroundColor',[1 1 1],... 'Callback','iirexpogui(''rs_Callback'',gcbo,[],guidata(gcbo))',... 'ListboxTop',0,... 'Position',[161.5 24.4166666666667 15 1.5],... 'String','20',... 'Style','edit',... 'CreateFcn','iirexpogui(''rs_CreateFcn'',gcbo,[],guidata(gcbo))',... 'Tag','rs',... 'Visible','off'); hsingleton = h1; % --- Handles default GUIDE GUI creation and callback dispatch function varargout = gui_mainfcn(gui_State, varargin) % GUI_MAINFCN provides these command line APIs for dealing with GUIs % % IIREXPOGUI, by itself, creates a new IIREXPOGUI or raises the existing % singleton*. % % H = IIREXPOGUI returns the handle to a new IIREXPOGUI or the handle to % the existing singleton*. % % IIREXPOGUI('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in IIREXPOGUI.M with the given input arguments. % % IIREXPOGUI('Property','Value',...) creates a new IIREXPOGUI or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before untitled_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to untitled_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % Copyright 1984-2002 The MathWorks, Inc. % $Revision: 1.4 $ $Date: 2002/05/31 21:44:31 $ gui_StateFields = {'gui_Name' 'gui_Singleton' 'gui_OpeningFcn' 'gui_OutputFcn' 'gui_LayoutFcn' 'gui_Callback'}; gui_Mfile = ''; for i=1:length(gui_StateFields) if ~isfield(gui_State, gui_StateFields{i}) error('Could not find field %s in the gui_State struct in GUI M-file %s', gui_StateFields{i}, gui_Mfile); elseif isequal(gui_StateFields{i}, 'gui_Name') gui_Mfile = [getfield(gui_State, gui_StateFields{i}), '.m']; end end numargin = length(varargin); if numargin == 0 % IIREXPOGUI % create the GUI gui_Create = 1; elseif numargin > 3 & ischar(varargin{1}) & ishandle(varargin{2}) % IIREXPOGUI('CALLBACK',hObject,eventData,handles,...) gui_Create = 0; else % IIREXPOGUI(...) % create the GUI and hand varargin to the openingfcn gui_Create = 1; end if gui_Create == 0 varargin{1} = gui_State.gui_Callback; if nargout [varargout{1:nargout}] = feval(varargin{:}); else feval(varargin{:}); end else if gui_State.gui_Singleton gui_SingletonOpt = 'reuse'; else gui_SingletonOpt = 'new'; end % Open fig file with stored settings. Note: This executes all component % specific CreateFunctions with an empty HANDLES structure. % Do feval on layout code in m-file if it exists if ~isempty(gui_State.gui_LayoutFcn) gui_hFigure = feval(gui_State.gui_LayoutFcn, gui_SingletonOpt); else gui_hFigure = local_openfig(gui_State.gui_Name, gui_SingletonOpt); % If the figure has InGUIInitialization it was not completely created % on the last pass. Delete this handle and try again. if isappdata(gui_hFigure, 'InGUIInitialization') delete(gui_hFigure); gui_hFigure = local_openfig(gui_State.gui_Name, gui_SingletonOpt); end end % Set flag to indicate starting GUI initialization setappdata(gui_hFigure,'InGUIInitialization',1); % Fetch GUIDE Application options gui_Options = getappdata(gui_hFigure,'GUIDEOptions'); if ~isappdata(gui_hFigure,'GUIOnScreen') % Adjust background color if gui_Options.syscolorfig set(gui_hFigure,'Color', get(0,'DefaultUicontrolBackgroundColor')); end % Generate HANDLES structure and store with GUIDATA guidata(gui_hFigure, guihandles(gui_hFigure)); end % If user specified 'Visible','off' in p/v pairs, don't make the figure % visible. gui_MakeVisible = 1; for ind=1:2:length(varargin) if length(varargin) == ind break; end len1 = min(length('visible'),length(varargin{ind})); len2 = min(length('off'),length(varargin{ind+1})); if ischar(varargin{ind}) & ischar(varargin{ind+1}) & ... strncmpi(varargin{ind},'visible',len1) & len2 > 1 if strncmpi(varargin{ind+1},'off',len2) gui_MakeVisible = 0; elseif strncmpi(varargin{ind+1},'on',len2) gui_MakeVisible = 1; end end end % Check for figure param value pairs for index=1:2:length(varargin) if length(varargin) == index break; end try, set(gui_hFigure, varargin{index}, varargin{index+1}), catch, break, end end % If handle visibility is set to 'callback', turn it on until finished % with OpeningFcn gui_HandleVisibility = get(gui_hFigure,'HandleVisibility'); if strcmp(gui_HandleVisibility, 'callback') set(gui_hFigure,'HandleVisibility', 'on'); end feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure), varargin{:}); if ishandle(gui_hFigure) % Update handle visibility set(gui_hFigure,'HandleVisibility', gui_HandleVisibility); % Make figure visible if gui_MakeVisible set(gui_hFigure, 'Visible', 'on') if gui_Options.singleton setappdata(gui_hFigure,'GUIOnScreen', 1); end end % Done with GUI initialization rmappdata(gui_hFigure,'InGUIInitialization'); end % If handle visibility is set to 'callback', turn it on until finished with % OutputFcn if ishandle(gui_hFigure) gui_HandleVisibility = get(gui_hFigure,'HandleVisibility'); if strcmp(gui_HandleVisibility, 'callback') set(gui_hFigure,'HandleVisibility', 'on'); end gui_Handles = guidata(gui_hFigure); else gui_Handles = []; end if nargout [varargout{1:nargout}] = feval(gui_State.gui_OutputFcn, gui_hFigure, [], gui_Handles); else feval(gui_State.gui_OutputFcn, gui_hFigure, [], gui_Handles); end if ishandle(gui_hFigure) set(gui_hFigure,'HandleVisibility', gui_HandleVisibility); end end function gui_hFigure = local_openfig(name, singleton) if nargin('openfig') == 3 gui_hFigure = openfig(name, singleton, 'auto'); else % OPENFIG did not accept 3rd input argument until R13, % toggle default figure visible to prevent the figure % from showing up too soon. gui_OldDefaultVisible = get(0,'defaultFigureVisible'); set(0,'defaultFigureVisible','off'); gui_hFigure = openfig(name, singleton); set(0,'defaultFigureVisible',gui_OldDefaultVisible); end