# How detect and filter noise from signal

This is the spectrum of the signal:

And this is the signal:

On the FFT spectrum you can notice the high amplitude peaks and I think these frequencies are the main ones in the signal:

I think that the "low" harmonic must be clean, but I have the problem that low amplitude components are placed in every frequency interval. The main problem is that I haven't got any model of the signal for a hypothesis about noise, and as result, I must detect noise components. After this step, I must design a filter or use another method of filtering for denoising the signal. Which methods can I apply for (1) detecting noise and (2) filtering?

• What kind of signal is this? And what is the noise? Depending on a number of factors you either filter it out in the frequency domain or the time domain, but I would need to know more. – james3849 Dec 10 '13 at 22:56
• james3849 is right. It is just impossible to tell what is the signal and what is the noise in this plot. It all depends on the phenomena you are observing and the scale at which they occur. It can very well be that all this data is garbage, or on the opposite that every sinuosity conveys significant information. What features are you looking for ? – Yves Daoust Sep 9 '14 at 10:20
• cool edit pro had the best noise reducer, you could select window with sample noise of the recording, it would make analysis of the noise, it would delete that noise from the entire recording. probably just deleted those frequencies. – com.prehensible Jul 12 '15 at 8:27

Just "eyeballing" your signal, it looks like the interesting things are all down below 1Hz. The peaks in your signal browser diagramm seem to be spaced at every 5 to 10 Seconds, which would be 0.1 to 0.2 Hz. Your spectrum plot goes from zero to 25 Hz, and doesn't show anything really interesting.

Try zooming in on the spectrum and see what lies below 1 Hz. Yo may well find that the signal itself lives down in the very low frequencies, and that separating the noise from the signal is as simple as using a low pass filter.

First is your signal stationary or non stationary?. If the FFT is applied to a non stationary signal then its resulting spectrum is not valid.

The FFT has the implicit assumption that your signal is periodic and your signal does not look periodic.

I would try to have weak sense stationarity to the series and then apply multitaper spectrum and run an F test for white noise as to pint point where your signal truly resides and use a band pass filter as to filter the noise out from the frequencies of interest where your signal resides.

The signal does not look very noisy in the common sense (not so many "hairs" on the peaks). Meanwhile, I seem to see an oscillating trend, and peaks of different widths. Sounds like the stationarity of the signal is not evident at first look.

So you might find useful to first look at a time-frequency representation. For instance, perform a FFT on small windows, and slide them for each new sample in time. Cutting such windows stationarizes your signal, and help you spot other properties. With for instance specgramin Matlab, or the Time-Frequency toolbox.

You might try to window the FFT so that you do not introduce harmonics. Then filtering in the FD might be easier.