
%   
%   Messen mit der OnBoard-Soundkarte
% 
%   Dipl.-Ing. Armin Rohnen LbA
%   Labor für Maschinendynamik
%   Hochschule für angewandte Wissenschaften München
%   University of applied sciences Munich
%
%   November 2016
%
%%

%
%   Messung mit interaktiven Start / Stop sowie Display der Messignale
%
%%
clear;

global fs messgeraet diag1 diag2 kalibrierwert lastSample;

%
%   1. Messung vorbereiten
%

fs = 48000;             % Abtastrate in Messwerte/Sekunde
nBits = 24;             % Auflösung des Messwerts = 24 Bit
nChannels = 2;          % Stereo
ID = 1;                 % ID der Soundkarte
kalibrierwert = 25.4;
                        % der Kalibrierwert des Mikrofons muss aus dem 
                        % Datenblatt des übertragen werden
                        % Die Angabe erfolgt in mV/Pa
                        
messgeraet = audiorecorder(fs,nBits,nChannels,ID);
                        % legt das Messgerät an

messgeraet.TimerFcn = 'AudioTimerAction';
                        % Als Call-Funktion wird 'AudioTimerAction'
                        % ausgeführt
messgeraet.TimerPeriod = 1;
                        % Setzt für die Zeit ('TimerPeriod') für den Aufruf des 
                        % Funktions-Calls 'TimerFcn' auf 1 Sekunde
                        
lastSample = 0;         % Index des letzten Messwertes, wird in AudioTimerAction benötigt                        
%
%   2. Plots vorbereiten
%

diag1 = subplot(2,1,1);
diag2 = subplot(2,1,2);

% stellt den Zugriff auf zwei Diagramme zur Verfügung

%
%   3. Messung steuern
%

% record(messgeraet);   % Startet die Aufzeichnung
% pause(messgeraet);    % Pausiert die Aufzeichnung
% resume(messgeraet);   % führt die Aufzeichnung weiter
% stop(messgeraet);     % Beendet die Aufzeichnung
%
% messdaten = getaudiodata(messgeraet);
                        % sichert die Messwerte