Retreive standard deviation from noise

12 views (last 30 days)
VMIGRENN on 16 Aug 2022
Edited: John D'Errico on 16 Aug 2022
How can one extract the noise characteristics (std) from a temporal white noise signal (stored in a 1D array) ?

Answers (2)

John D'Errico
John D'Errico on 16 Aug 2022
Edited: John D'Errico on 16 Aug 2022
If it is purely white noise stored in the vector, then just use std. Even if the noise is not gaussian, std will still apply.
So why would you even ask the question when the answer is obvious? My guess is you will then tell me that your vector is actually not just white noise as you said, but is some signal with white noise on top of it. But how can I know that when you said the vector is just white noise?
So IF your problem really is one where the noise lies on top of some signal, then you could use the estimatenoise code I have posted on the file exchange. Find it here:

Star Strider
Star Strider on 16 Aug 2022
If you have some idea of the characteristics of the underlying signal (assuming that there is a signal with white noise added to it), filter it (for broadband noise the sgolayfilt function is best) to recover the approximate original siignal, then subtract the filtered signal from the original signal and estimate the requisite statistics. Recovering the original signal will likely require some experimentation.


Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by