MATLAB: What kind of noise it is

coloreddatafftMATLABnoisewhite

Hello everyone. I tried to get to know what type of noise I have in my data: if it's a white noise or clored. I used fft in orded to get a graph, but still I can't see clearly the type. I know the difference between the white and colored noises, but in the other examples the graphs seems to be beter. I use this code:
load data1.csv;
Fs=1000;
data1=data1-mean(data1);
Y = fft(data1);
L=numel(data1);
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)
And I get a graph:
Is it possible to say that it's colored noise or am I missing something?

Best Answer

It appears to be relatively low-amplitude broadband noise. However since your signal appears to have most of its energy below about 50 Hz, you could likely get rid of some of the noise with a lowpass filter. Since your signal also appears to have a d-c offset (or you would not needed to subtract the mean), this bandpass filter might do what you want:
Fs = 1000; % Sampling Frequency (Hz)
Fn = Fs/2; % Nyquist Frequency (Hz)
Wp = [2 50]/Fn; % Passband Frequency (Normalised)
Ws = [1 52]/Fn; % Stopband Frequency (Normalised)
Rp = 1; % Passband Ripple (dB)
Rs = 150; % Stopband Ripple (dB)
[n,Ws] = cheb2ord(Wp,Ws,Rp,Rs); % Filter Order
[z,p,k] = cheby2(n,Rs,Ws); % Filter Design
[sosbp,gbp] = zp2sos(z,p,k); % Convert To Second-Order-Section For Stability
figure(3)
freqz(sosbp, 2^16, Fs) % Filter Bode Plot
filtered_signal = filtfilt(sosbp, gbp, original_signal); % Filter Signal
I assume your sampling frequency is 1 KHz, since your Fourier transform ends at 500 Hz.