Hi, I would like to know how to "normalize" the power spectrum of FFT so that the length of the colored noise doesn't affect the amount of power ploted.
Example below: When I change the value of 'duration', the final plot will show a different amount of energy. I understand that this is a cumulative sum, but I would like to get a normalized version of the plot for all signals.
How can I do that?
Fs = 48000;
duration = 10;
L = Fs * duration;
generator = dsp.ColoredNoise(0, L);
white_noise = generator();
white_noise = white_noise/max(abs(white_noise));
Y = fft(white_noise);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
plot(f,P1)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')