function [simulationszeit,eingangssignal,ausgangssignalGefiltert] = berechneGefiltertesSignal(frequency,Anfangswertvektor,Eingangsamplitude)

f = frequency;
x = Anfangswertvektor;
A = Eingangsamplitude;

% Testwerte
w0   = x(1,1);        % K
zeta = x(1,2);        % zeta
Lv   = x(1,3);        % w0
La   = x(1,4);

for i = 1:length(f)
    if f(i) <= 4
        fs = 2^9;
    elseif f(i) >= 5 && f(i)<= 10
        fs = 2^10;
    elseif f(i) >= 20 && f(i)<= 40
        fs = 2^12;
    elseif f(i) >= 50 && f(i)<= 80
        fs = 2^13;
    elseif f(i) >= 90 && f(i)<= 160
        fs = 2^14;
    else
        fs = 2^15;
    end
end

omega = 2*pi*f;     % Kreisfrequenz berechnen
ts = 1/fs;          % Samplingschrittweite
messpunkte = 2^15;  % Anz. der Messpunkte
tSim= (messpunkte*ts)-ts;   % Gesamtsimulationszeit
options = simset('SrcWorkspace','current');
sim('simNichtlinear',[],options)
abtastwerte = tout';    % Abtastwerte
signal = yout(:,2)';    % Ungefiltertes Ausgangssignal

anzAbtastwerte  = length(signal);                   %length of time domain signal
anzAbtastNext2  = 2^nextpow2(anzAbtastwerte);       %length of signal in power of 2
spektrum        = fft(signal,anzAbtastNext2);       % FFT berechnen
spektrumHalb    = spektrum(1:anzAbtastNext2/2);     % halbes Spektrum plotten bis zur Nyquist Frequenz
spektrumHalb    = spektrumHalb/max(spektrumHalb);   % Normieren des halben Spektrums auf den maximalen abtastwert
abtastwerteHalb = fs*(0:anzAbtastNext2/2-1)/anzAbtastNext2;

realteil = abs(spektrum);               % realteil des Spektrums
realteilNor = realteil/max(realteil);   % normierter Realteil
schritte = length(realteil);            % 

b_fir = fir1(5000,  [(2*f/fs)-0.0015 (2*f/fs)+0.0015],'bandpass');
a_fir = 1;
H     = freqz(b_fir,a_fir,floor(schritte/2));
signal_fir = filter(b_fir,a_fir, signal);

% Ausgabewerte
ausgangssignalGefiltert = signal_fir;
simulationszeit = abtastwerte;
eingangssignal   = yout(:,1)';