signalLength = 512; signal = zeros(1, signalLength); % for(int octave = 2; octave<=5; octave++) for plotNr = 1:10 for octave = 2:plotNr+1 sz = 2^octave; smallSignal = zeros(1, sz); for ix = 1:sz smallSignal(ix) = rand; end for xL = 1:size(smallSignal, 2)-1 interval = floor(signalLength / ((size(smallSignal, 2))-2) ); for i = 1:interval d = (i-1) / interval; %% this was the error interp = (1 - d) * smallSignal(xL) + d * smallSignal(xL+1); newIx = floor((xL-1) * (interval) + i); try signal(newIx) = signal(newIx) + (interp / octave^3); catch end end end end subplot(10, 1, plotNr) plot(signal, 'r'); end