ymax=handles.y(i);
end
ifymin>handles。
y(i)
ymin=handles.y(i);
end
end
end
n=n-1;
fori=1:
n—1
T(i)=ti(i+1)-ti(i);
end
freq=Fs/mean(T);
set(handles。
outt,’String',1/freq);
set(handles。
outfreq,'String’,num2str(freq));
set(handles。
outamp,’String’,num2str(mean(amp(2:
n—1))));
phase=2*pi*(1—(ti(1:
n-1)—1)。
/T+floor((ti(1:
n-1)-1)。
/T));
set(handles.outphase,'String',num2str(mean(phase)));
set(handles。
outpeak,'String’,(max(handles。
y(from:
to))—min(handles.y(from:
to)))/2);
set(handles。
outmean,'String’,mean(handles。
y(from:
to)));
set(handles。
outmeansquare,’String’,mean(handles.y(from:
to)。
^2));
set(handles。
outs,'String’,std(handles.y(from:
to))^2);
functionWAVfile_Callback(hObject,eventdata,handles)
h=findobj('Tag’,'filename');
set(h,'enable',’on');
h=findobj('Tag','freq’);
set(h,’enable’,’off’);
h=findobj('Tag','amp');
set(h,'enable',’off');
h=findobj('Tag’,'phase’);
set(h,’enable','off’);
set(findobj('Tag’,’recordtime'),'enable’,'off');
set(handles。
channel,’enable’,'on’);
set(handles。
fileopen,’enable','on’);
set(handles.gensig,'enable’,'off’);
set(handles。
wavetype,’enable','off');
set(handles.add,'enable','off’);
set(handles。
startrecord,'enable’,’off');
functionsoundcard_Callback(hObject,eventdata,handles)
set(findobj(’Tag’,’recordtime’),’enable','on');
h=findobj(’Tag’,'filename’);
set(h,’enable’,'off’);
h=findobj(’Tag’,’freq’);
set(h,’enable’,'off');
h=findobj('Tag’,'amp’);
set(h,'enable',’off');
h=findobj('Tag',’phase’);
set(h,’enable',’off');
set(handles。
channel,’enable’,'off');
set(handles。
fileopen,'enable’,’off’);
set(handles。
gensig,'enable','off');
set(handles。
wavetype,'enable',’off');
set(handles.add,’enable’,’off’);
set(handles。
startrecord,’enable',’on');
functiongenerator_Callback(hObject,eventdata,handles)
h=findobj('Tag','filename’);
set(h,'enable’,'off');
h=findobj(’Tag’,’freq’);
set(h,'enable’,'on’);
h=findobj(’Tag',’amp');
set(h,’enable','on’);
h=findobj('Tag’,'phase’);
set(h,'enable’,'on');
set(findobj('Tag’,'recordtime’),’enable’,'off');
set(handles.channel,’enable',’off');
set(handles.fileopen,’enable’,’off’);
set(handles.gensig,’enable',’on');
set(handles.wavetype,'enable’,'on');
set(handles。
add,'enable','on’);
set(handles。
startrecord,’enable’,’off');
functionfilename_Callback(hObject,eventdata,handles)
functionfilename_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,’BackgroundColor’,'white');
else
set(hObject,'BackgroundColor’,get(0,'defaultUicontrolBackgroundColor’));
end
functionfreq_Callback(hObject,eventdata,handles)
functionfreq_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,'BackgroundColor’,'white’);
else
set(hObject,'BackgroundColor',get(0,’defaultUicontrolBackgroundColor'));
end
functionamp_Callback(hObject,eventdata,handles)
functionamp_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,’BackgroundColor','white’);
else
set(hObject,’BackgroundColor',get(0,’defaultUicontrolBackgroundColor'));
end
functionphase_Callback(hObject,eventdata,handles)
functionphase_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,’BackgroundColor',’white’);
else
set(hObject,'BackgroundColor’,get(0,'defaultUicontrolBackgroundColor’));
end
functionsamplerate_Callback(hObject,eventdata,handles)
functionsamplerate_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,'BackgroundColor’,'white’);
else
set(hObject,'BackgroundColor’,get(0,'defaultUicontrolBackgroundColor'));
end
functionsamplenum_Callback(hObject,eventdata,handles)
functionsamplenum_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,’BackgroundColor',’white’);
else
set(hObject,’BackgroundColor’,get(0,'defaultUicontrolBackgroundColor'));
end
functionampfreq_CreateFcn(hObject,eventdata,handles)
functionrecordtime_Callback(hObject,eventdata,handles)
functionrecordtime_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,'BackgroundColor’,'white’);
else
set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor’));
end
functionstartrecord_Callback(hObject,eventdata,handles)
Fs=str2double(get(findobj('Tag','samplerate'),’String'));
handles。
y=wavrecord(str2double(get(findobj(’Tag’,’recordtime'),’String'))*Fs,Fs,’int16');
handles.inputtype=1;
guidata(hObject,handles);
plot(handles。
time,handles.y);
title(’WAVE');
ysize=size(handles.y)
set(handles。
samplenum,’String',num2str(ysize
(1)));
functionfileopen_Callback(hObject,eventdata,handles)
temp=wavread(get(findobj(’Tag’,’filename'),’String'));
channel=str2double(get(handles.channel,’String’));
handles。
y=temp(:
,channel);
handles。
inputtype=2;
guidata(hObject,handles);
plot(handles。
time,handles.y);
title(’WAVE');
ysize=size(handles。
y)
set(handles。
samplenum,’String',num2str(ysize
(1)));
functiongensig_Callback(hObject,eventdata,handles)
Fs=str2double(get(findobj('Tag','samplerate’),'String'));
N=str2double(get(findobj('Tag',’samplenum'),'String'));
x=linspace(0,N/Fs,N);
soundtype=get(handles.wavetype,'Value');
frequency=str2double(get(handles.freq,’String’));
amp=str2double(get(handles.amp,'String'));
phase=str2double(get(handles。
phase,'String’));
switchsoundtype
case1
y=amp*sin(2*pi*x*frequency+phase);
case2
y=amp*sign(sin(2*pi*x*frequency+phase));
case3
y=amp*sawtooth(2*pi*x*frequency+phase,0.5);
case4
y=amp*sawtooth(2*pi*x*frequency+phase);
case5
y=amp*(2*rand(size(x))—1);
otherwise
errordlg('Illegalwavetype','Chooseerrer');
end
ifget(handles。
add,’Value’)==0。
0
handles。
y=y;
else
handles。
y=handles.y+y;
end
handles。
inputtype=3;
guidata(hObject,handles);
plot(handles.time,handles。
y);
title('WAVE');
axis([0N—str2double(get(handles.amp,'String’))str2double(get(handles。
amp,’String'))]);
functionoutfreq_Callback(hObject,eventdata,handles)
functionoutfreq_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,'BackgroundColor','white');
else
set(hObject,’BackgroundColor',get(0,'defaultUicontrolBackgroundColor’));
end
functionoutamp_Callback(hObject,eventdata,handles)
functionoutamp_CreateFcn(hObject,eventdata,handles)
ifispc
set(hObject,'BackgroundColor',’white');
else
set(hObject,'BackgroundColor’,get(0,'defaultUicontrolBackgroundColor'));
end
functionoutphase_Callback(hObject,eventdata,handles)
functionoutphase_CreateFcn(hObject,eventdata,handles)
ifispc