clc;
clear all;

% Načtení dat ze souboru

fstrrep('170bar 152otvstup-0bar-bod01.txt', ',', '.');

data = load('170bar 152otvstup-0bar-bod01.txt'); % Nahraďte 'nazev_souboru.txt' skutečným názvem souboru

% Rozdělení sloupců na jednotlivé proměnné
cas = data(:, 1);
tlak_vstupni = data(:, 2);
tlak_vystupni = data(:, 3);
prutok = data(:, 4);
zdvih = data(:, 5);

% Výpočet délky dat a vzorkovací frekvence
N = length(cas); % Délka dat
Fs = 1 / (cas(2) - cas(1)); % Vzorkovací frekvence (předpokládá se konstantní vzorkovací interval)
zdvih=zdvih-54;

% Aplikace rychlé Fourierovy transformace (FFT)
%tlak_vstupni_fft = abs(fft(abs(tlak_vstupni)));
tlak_vystupni_fft = abs(fft(abs(tlak_vystupni)));
prutok_fft = abs(fft(prutok));
zdvih_fft = abs(fft(abs(zdvih)));

%
zdvih2=zdvih_fft(2:N,1);

%,
tlak_vstupni_fft = fft(abs(tlak_vstupni));
tlak123=tlak_vstupni_fft(2:N,1);

% Výpočet frekvenční osy
f = (0:N-1) * Fs / N;

% Výpočet frekvenční osy2
ff = (0:N-2) * Fs / N;

% Výpočet koherence
coherence = tlak_vystupni_fft ./ tlak_vstupni_fft;

% Vykreslení výsledků
figure;
subplot(4, 1, 1);
plot(cas, tlak_vstupni);
xlabel('Čas');
ylabel('Tlak vstupní');
title('Vstupní tlak v časové doméně');

subplot(4, 1, 2);
plot(ff, tlak123);
xlabel('Frekvence');
ylabel('Amplituda');
title('Vstupní tlak v frekvenční doméně');

subplot(4, 1, 3);
plot(f, coherence);
xlabel('Frekvence');
ylabel('Koherence');
title('Koherence mezi vstupním a výstupním tlakem');

figure;
subplot(4, 1, 1);
plot(cas, tlak_vystupni);
xlabel('Čas');
ylabel('Tlak výstupní');
title('Výstupní tlak v časové doméně');

subplot(4, 1, 2);
plot(f, tlak_vystupni_fft);
xlabel('Frekvence');
ylabel('Amplituda');
title('Výstupní tlak v frekvenční doméně');

subplot(4, 1, 3);
plot(ff, zdvih2);
xlabel('Frekvence');
ylabel('Amplituda');
title('Velikost zdvihu v frekvenční doméně');

subplot(4, 1, 4);
plot(f, zdvih);
xlabel('Frekvence');
ylabel('Amplituda');
title('Velikost zdvihu ');

plot(ff, zdvih2);
xlabel('Frekvence');
ylabel('Amplituda');
title('Velikost zdvihu v frekvenční doméně');