www.gusucode.com > 声音的处理有:LPC,FFT,共振峰,频谱源码程序 > siganlandsystemusingMatlab/SSUM/sample/samplexpo.m

    function varargout = samplexpo(varargin)
% SAMPLEXPO.m-file for samplexpo.fig
%      SAMPLEXPO, by itself, creates a new SAMPLEXPO or raises the existing
%      singleton*.
%
%      H = SAMPLEXPO returns the handle to a new SAMPLEXPO or the handle to
%      the existing singleton*.
%
%      SAMPLEXPO('CALLBACK',hObject,eventData,handles,...) calls the local
%      function named CALLBACK in SAMPLEXPO.M with the given input arguments.
%
%      SAMPLEXPO('Property','Value',...) creates a new SAMPLEXPO or raises the
%      existing singleton*.  Starting from the left, property value pairs are
%      applied to the GUI before samplexpo_OpeningFunction gets called.  An
%      unrecognized property name or invalid value makes property application
%      stop.  All inputs are passed to samplexpo_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
% Last Modified by GUIDE v2.5 16-Mar-2004 14:33:04

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @samplexpo_OpeningFcn, ...
                   'gui_OutputFcn',  @samplexpo_OutputFcn, ...
                   'gui_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 sinesumgui2 is made visible.
function samplexpo_OpeningFcn(hObject, eventdata, handles, varargin)
	handles.output = hObject;
	guidata(hObject, handles);
	set(gcf,'UserData',handles);
	samplexpofn;

% --- Outputs from this function are returned to the command line.
function varargout = samplexpo_OutputFcn(hObject, eventdata, handles)
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


function freq1_CreateFcn(hObject, eventdata, handles)
	if ispc
   	 set(hObject,'BackgroundColor','white');
	else
  	  set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
	end

function amp1_CreateFcn(hObject, eventdata, handles)
	if ispc
		set(hObject,'BackgroundColor','white');
	else
	  set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
	end

function phase1_CreateFcn(hObject, eventdata, handles)
if ispc
    set(hObject,'BackgroundColor','white');
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end

% Executes on textbox entry
function freq1_Callback(hObject, eventdata, handles)
	freq1 = str2num(get(hObject,'String'));
	if freq1 < 20
		freq1 = 20;
	elseif freq1 > 1000
		freq1 = 1000;
	end
	set(handles.freq1,'String',num2str(freq1));
	set(handles.freq1slider,'Value',freq1);
	samplexpofn 'update';

function amp1_Callback(hObject, eventdata, handles)
	amp1 = str2num(get(hObject,'String'));
	if amp1 < 0
		amp1 = 0;
	elseif amp1 > 1
		amp1 = 1;
	end
	set(handles.amp1,'String',num2str(amp1));
	set(handles.amp1slider,'Value',amp1);
	samplexpofn 'update';

function phase1_Callback(hObject, eventdata, handles)
	phase1 = str2num(get(hObject,'String'));
	if phase1 < -180
		while phase1 < -180
			phase1 = phase1 + 360;
		end
	elseif phase1 > 180
		while phase1 > 180
			phase1 = phase1 - 360;
		end
	end
	set(handles.phase1,'String',num2str(phase1));
	set(handles.phase1slider,'Value',phase1);
	samplexpofn 'update';


% --- Executes during object creation, after setting all properties.
function freq1slider_CreateFcn(hObject, eventdata, handles)
usewhitebg = 1;
if usewhitebg
    set(hObject,'BackgroundColor',[.9 .9 .9]);
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end


% --- Executes on slider movement.
function freq1slider_Callback(hObject, eventdata, handles)
	freq1 = num2str(get(hObject,'Value'));
	set(handles.freq1,'String',freq1);
	samplexpofn 'update';


% --- Executes during object creation, after setting all properties.
function amp1slider_CreateFcn(hObject, eventdata, handles)
usewhitebg = 1;
if usewhitebg
    set(hObject,'BackgroundColor',[.9 .9 .9]);
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end


% --- Executes on slider movement.
function amp1slider_Callback(hObject, eventdata, handles)
	amp1 = num2str(get(hObject,'Value'));
	set(handles.amp1,'String',amp1);
	samplexpofn 'update';


% --- Executes during object creation, after setting all properties.
function phase1slider_CreateFcn(hObject, eventdata, handles)
usewhitebg = 1;
if usewhitebg
    set(hObject,'BackgroundColor',[.9 .9 .9]);
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end


% --- Executes on slider movement.
function phase1slider_Callback(hObject, eventdata, handles)
	phase1 = num2str(get(hObject,'Value'));
	set(handles.phase1,'String',phase1);
	samplexpofn 'update';


% --- Executes during object creation, after setting all properties.
function offset_CreateFcn(hObject, eventdata, handles)
if ispc
    set(hObject,'BackgroundColor','white');
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end


function offset_Callback(hObject, eventdata, handles)
	offset = str2num(get(hObject,'String'));
	if offset < 0
		offset = 0;
	elseif offset > 1
		offset = 1;
	end
	set(handles.offset,'String',num2str(offset));
	set(handles.offsetslider,'Value',offset);
	samplexpofn 'update';


% --- Executes during object creation, after setting all properties.
function offsetslider_CreateFcn(hObject, eventdata, handles)
usewhitebg = 1;
if usewhitebg
    set(hObject,'BackgroundColor',[.9 .9 .9]);
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end


% --- Executes on slider movement.
function offsetslider_Callback(hObject, eventdata, handles)
	offset = num2str(get(hObject,'Value'));
	set(handles.offset,'String',offset);
	samplexpofn 'update';


% --- Executes during object creation, after setting all properties.
function Fs_CreateFcn(hObject, eventdata, handles)
if ispc
    set(hObject,'BackgroundColor','white');
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end

function Fs_Callback(hObject, eventdata, handles)
	Fs = str2num(get(hObject,'String'));
	if (Fs > 1000)
		Fs = 1000;
	end
	if (Fs < 0)
		Fs = 0;
	end
	set(handles.Fsslider,'Value',log2(Fs));
	samplexpofn 'update';


% --- Executes during object creation, after setting all properties.
function Fsslider_CreateFcn(hObject, eventdata, handles)
usewhitebg = 1;
if usewhitebg
    set(hObject,'BackgroundColor',[.9 .9 .9]);
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end


% --- Executes on slider movement.
function Fsslider_Callback(hObject, eventdata, handles)
	Fs = num2str(floor(2^get(hObject,'Value')));
	if (Fs > 1000)
		Fs = 1000;
	end
	if (Fs < 0)
		Fs = 0;
	end
	set(handles.Fs,'String',Fs);
	samplexpofn 'update';


% --- Executes during object creation, after setting all properties.
function periods_CreateFcn(hObject, eventdata, handles)
if ispc
    set(hObject,'BackgroundColor','white');
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end

function periods_Callback(hObject, eventdata, handles)
	periods = str2num(get(hObject,'String'));
	if periods < 1
		periods = 1;
	elseif periods > 10
		periods = 10;
	end
	set(handles.periods,'String',num2str(periods));
	set(handles.periodslider,'Value',periods);
	samplexpofn 'update';

% --- Executes during object creation, after setting all properties.
function periodslider_CreateFcn(hObject, eventdata, handles)
usewhitebg = 1;
if usewhitebg
    set(hObject,'BackgroundColor',[.9 .9 .9]);
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end

% --- Executes on slider movement.
function periodslider_Callback(hObject, eventdata, handles)
	periods = num2str(get(hObject,'Value'));
	set(handles.periods,'String',periods);
	samplexpofn 'update';

% --- Executes on button press in gridbox.
function gridbox_Callback(hObject, eventdata, handles)
	samplexpofn 'update';

% --- Executes on button press in interpbox.
function interpbox_Callback(hObject, eventdata, handles)
	samplexpofn 'update';

% --- Executes on button press in samplebox.
function samplebox_Callback(hObject, eventdata, handles)
	samplexpofn 'update';


% --- Executes when user attempts to close samplexpo_fig.
function samplexpo_fig_CloseRequestFcn(hObject, eventdata, handles)
delete(hObject);


% --- Executes during object creation, after setting all properties.
function nbits_CreateFcn(hObject, eventdata, handles)
if ispc
    set(hObject,'BackgroundColor','white');
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end



function nbits_Callback(hObject, eventdata, handles)
	nbits = floor(str2num(get(hObject,'String')));
	if nbits < 1
		nbits = 1;
	elseif nbits > 16
		nbits = 16;
	end
	set(handles.nbits,'String',num2str(nbits));
	set(handles.nbitsslider,'Value',nbits);
	samplexpofn 'update';


% --- Executes during object creation, after setting all properties.
function nbitsslider_CreateFcn(hObject, eventdata, handles)
usewhitebg = 1;
if usewhitebg
    set(hObject,'BackgroundColor',[.9 .9 .9]);
else
    set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
end


% --- Executes on slider movement.
function nbitsslider_Callback(hObject, eventdata, handles)
	nbits = num2str(floor(get(hObject,'Value')));
	set(handles.nbits,'String',nbits);
	samplexpofn 'update';


% --- Executes during object creation, after setting all properties.
function wave_CreateFcn(hObject, eventdata, handles)
% hObject    handle to wave (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 wave.
function wave_Callback(hObject, eventdata, handles)
	samplexpofn 'update';


% --------------------------------------------------------------------
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)
	samplexpofn 'help';