clc; clear all, close all

%% 
%funkcia generator_sumu generuje zašumený signál. Jej vstupmi sú 
        %SNR = vektor hodnôt SNR a cykly = vektor dĺžok požadovaných SNR
        %vektory SNR a cykly musia byť rovnako dlhé. 
SNRr = [-10 20 -5 10 25 -10];
cyklyr = [5 3 5 4 8 7];
[zasumenec, dlzka, SNRp, cykly, QRSwave, noise] = generator_sumu(SNRr, cyklyr);

%%
%v premennej data si vyberáme či chceme umelé dáta = 1 alebo reálne = 0
data = 0;

switch data
    case 1

        Fvz = 250;
    case 0
        load('A01161.mat')
        zasumenec = val;
        zasumenec = zasumenec./1000;
        Fvz = 300;

    otherwise
        warning('Premenná data musí mať hodnotu 0 alebo 1. 1 pre použitie umelého signálu s umelým rušením, 0 pre reálne dáta.')
        return
end

%%
t = 1:length(zasumenec);

%Adaptívny vlnkový wienerovský filter
[SNR, y, sumik, praveSNR1] = WWF(zasumenec, dlzka, SNRp, cykly, t, Fvz, data, 1);

figure
subplot(4,1,1)
plot(t/Fvz,zasumenec)
title('Vstupný zašumený signál')
xlabel('t [s]')
ylabel('U [mV]')
subplot(4,1,2)
plot(t/Fvz,y)
title('Vyfiltrovaný signál')
xlabel('t [s]')
ylabel('U [mV]')
subplot(4,1,3)
plot(t/Fvz,sumik)
title('Vyfiltrovaný šum')
xlabel('t [s]')
ylabel('U [mV]')
subplot(4,1,4)
plot(t/(Fvz*0.1),SNR)
title('Priebeh SNR')
xlabel('t [s]')
ylabel('SNR [dB]')

%%
%zyvolanie funkcie Kvalita
Kvalita(SNR, Fvz, zasumenec);





