So, einmal der Code bzw. der "spannende" Teil.
Den eigentlich wichtigen teil hab ich aber oben schon raus gesucht.
iNum = get(handles.popupmenu1,'Value');
switch iNum
case 1
iSamplFreq = 4000;
case 2
iSamplFreq = 8000;
case 3
iSamplFreq = 11025;
case 4
iSamplFreq = 22050;
case 5
iSamplFreq = 44100;
end
iNoSampl = str2num( get(handles.edit1,'String') );
iSourceInput = get(handles.popupmenu2,'Value');
switch iSourceInput
case 1
oRecAudio = audiorecorder(iSamplFreq,16,1);
record(oRecAudio,iNoSampl/iSamplFreq);
pause(iNoSampl/iSamplFreq*1.1+0.5);
vRecSignal = getaudiodata(oRecAudio);
sInput = 'Micro';
case 2
fFreq = str2num(get(handles.edit4,'String'));
vRecSignal = 0.2*sin(2*pi*fFreq*[0:iNoSampl-1]/iSamplFreq);
sInput = 'Sin';
case 3
fFreq = str2num(get(handles.edit4,'String'));
vRecSignal = 0.2*square(2*pi*fFreq*[0:iNoSampl-1]/iSamplFreq);
sInput = 'Square';
case 4
fFreq = str2num(get(handles.edit4,'String'));
vRecSignal =
0.2*sawtooth(2*pi*fFreq*[0:iNoSampl-1]/iSamplFreq,0.5);
sInput = 'Triangle';
case 5
fFreq = str2num(get(handles.edit4,'String'));
vRecSignal =
0.2*chirp([0:iNoSampl-1]/iSamplFreq,200,(iNoSampl-1)/iSamplFreq,fFreq);
sInput = 'Chirp';
case 6
vRecSignal = 0.2*randn(1,iNoSampl);
sInput = 'AWGN';
case 8
fFreq = str2num(get(handles.edit4,'String'));
sInput = 'Modulated pulse';
vRecSignal =
0.2*(square(2*pi/10e-3*[0:iNoSampl-1]/iSamplFreq)>0).*...
cos(2*pi*fFreq*[0:iNoSampl-1]/iSamplFreq);
end
save Data vRecSignal iNoSampl iSamplFreq sInput;
plot_time_signal(hObject, eventdata, handles);
function pushbutton2_Callback(hObject, eventdata, handles)
load Data;
axes(handles.axes2);
iNfft = str2num(get(handles.edit2,'String'));
Y = fftshift(abs(fft(vRecSignal,iNfft)));
f = [-iSamplFreq/2:iSamplFreq/iNfft:iSamplFreq/2-iSamplFreq/iNfft];
axis([min(f),max(f),min(Y(:)),max(Y(:))]);
plot(f,Y);
xlabel('Frequency [Hz]');
ylabel('Amplitude');
grid on;
zoom on;
[dummy,iInd] = max(Y(end/2+1+1:end));
set(handles.edit3,'String',int2str(iInd*iSamplFreq/iNfft));