
function [zasumenec, dlzka, SNR, cykly, QRSwave, noise] = generator_sumu(SNR, cykly)
%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é


%funkcia generatorEKG vygeneruje signál EKG o požadovanej dĺžke
[QRSwave, dlzka] = generatorEKG(sum(cykly));
N = length(QRSwave);
t=1;
noise = zeros(1,N);

%vytvorenie šumu
for i = 1:length(cykly)
    noiseBlock = EMG_maker(250,cykly(i)*dlzka);
    blok = QRSwave(t:(cykly(i)*dlzka)+t-1);
    powerN = sum(noiseBlock.^2);   
    
    
    NoisePowerSum = (sum(((blok-mean(blok)).^2)))/(10^(SNR(i)/10));
    konst = sqrt(NoisePowerSum/powerN);
    noiseBlock = noiseBlock.*konst;
    noise(t:t+(cykly(i)*dlzka)-1) = noiseBlock;
    t = cykly(i)*dlzka+t;
end
    
zasumenec = QRSwave + noise;