function generator(frequenz, amplitude, laenge, fs,  ziel)
%
%
%   Signale ausgeben
%
%   Hochschule München
%   Labor für Maschinendynmik
%   Dipl.-Ing. Armin Rohnen LbA
%
%   München, 3. Januar 2017
%
%   -----------------------------------------------------------------------
%   Übergabeparameter:
%   ==================
%
%   frequenz                Sollfrequenz in Hz
%   amplitude               auf das Ausgabegerät normierte Sollamplitude
%   laenge                  angetsrebte Länge des Signals in Sekunden
%                           wird auf die nächstliegende vielfache der
%                           Periodendauer gekürzt
%   fs                      Abtastrate
%   ziel                    daq-Objekt mit dem Ausgabegerät
%
%
%%

anzahl_perioden = ceil(laenge*frequenz)-1;  % Anzahl der möglichen Perioden innerhalb der 
                                            % Ziellänge des generierten Signals
n=anzahl_perioden/frequenz*fs;              % Anzahl der Signalwerte
t=(0:n)/fs;                                 % Zeitvektor
signal=amplitude*sin(2*pi*frequenz*t);      % generiertes Signal
signal = signal';                           % Spaltenorientierung

queueOutputData(ziel, signal);              % Signal in die Outputqueue (Puffer) schreiben

%%
%{
plot(t,signal, 'LineWidth', 2);
set(gca, 'FontSize', 20, 'XGrid', 'on', 'YGrid', 'on');
title('generiertes Signal (Beginn)');
ylabel('Amplitude');
xlabel('Zeit [s]');
axis([0 0.1 -1 1]);

title('generiertes Signal (Ende)');
axis([0.9 1 -1 1]);
%}

