function [fres1, fres2] = TF_KH2_GUI(m_K, m_A, c1, c2, d1, d2, tmax, fs, f1, f2)

% Berechnung Übertragungsfunktion und Schwingungsverhalten (2-Massenschwinger)


assignin('base','fs',fs);

%%
wst = f1*2*pi; % Startkreisfrequenz
wmax = f2*2*pi; % Stopkreisfrequenz

dt = 1/fs; 
t = 0:dt:tmax; % Zeitvektor
N = length(t); % Länge Zeitvektor

% Frequenz-Sweep linear
A = 1; % Amplitude
wfs = wst + (wmax-wst)*t/tmax;  % Vektor wfs
alfa = zeros(N,1);
alfa(1) = 0;
 for n = 2:N
     alfa(n) = alfa(n-1)+wfs(n-1) * dt;
 end
sweep = A*sin(alfa); % Kraft auf m_K


if 0
% Darstellung Frequenzsweep wenn gewünscht
win = 256;
noverlap = 250; 
nfft = 256;
%figure, plot(sweep)
figure, spectrogram(sweep,win,noverlap,nfft,fs,'yaxis') 
end

%%
% Übertragungsfunktion:
% DGL

% % x1/F
% num = [-m_A, -d2, -c2];
% den = [m_K*m_A, m_K*d2+m_A*d1+m_K*d1, m_K*c2+m_A*c1+m_K*c1+d1*d2, c1*d2+c2*d1, c1*c2];

% x2/F
num = [-d1, -c1]*A;
den = [m_K*m_A, m_K*d2+m_A*d1+m_K*d1, m_K*c2+m_A*c1+m_K*c1+d1*d2, c1*d2+c2*d1, c1*c2];

% komplexer Frequenzgang (mit s*j*w)
h = freqs(num,den,wfs);

% Systemsimulation Zeitbereich
[y, x] = lsim(num,den,sweep,t); % mit Sweep Anregung
 
%%
% Ausgabe der Resonanzfrequenzen
% Zur Berechnung der Resonanzfrequenzen keine Dämpfung berücksichtigt
% d1 = d2 = 0
num_oD = -c1*A;
den_oD = [m_K*m_A, 0, m_K*c2+m_A*c1+m_K*c1, 0, c1*c2];
h_oD = freqs(num_oD,den_oD,wfs);

% Anzeige der Resonanzfrequenzen
disp('Resonanzfrequenzen in Hz:')
[peak_mag peak_loc] = findpeaks(abs(h_oD));
fres1 = round(wfs(peak_loc(1))/(2*pi));  % 1. Resonanzfrequenz in Hz
fres2 = round(wfs(peak_loc(2))/(2*pi));  % 2. Resonanzfrequenz in Hz
disp(fres1)
disp(fres2)

%%
% Plot Frequenzgang
tf = findobj(KH2_GUI,'Type','axes','Tag','tf');
axes(tf)
zoom on
loglog(wfs/(2*pi),abs(h));
xlim([f1 f2]);
xlabel('Frequenz [Hz]');
ylabel('Magnitude');
grid on;


%%
% ---------- Zeitbereich ----------------------------------
% Plot Übertragungsfunktionen (lin) und Systemantwort
sv = findobj(KH2_GUI,'Type','axes','Tag','sv');
axes(sv)
zoom on
plot(t,abs(h),'r','LineWidth',2); 
hold on;
plot(t,y,'--','LineWidth',0.5)
hold off;
xlabel('t/sec'); 
grid on;
legend('Frequenzgang','Systemantwort nach Frequenz-Sweep Anregung');

end
