SNR estimation from single vector
Show older comments
I'm interested in estimating the SNR of a signal with a wandering mean and no defined "signal" and "noise" vector. I have the following data, call it x:

My initial thought was to run it through a high-pass filter with a really low cutoff to get a steady, zero-mean signal. Then I would take the amplitude of the signal over the variance of the entire signal:
SNR = min(x)^2/var(x)
However, I have a feeling this is overly complicated and not a very good estimation. Thoughts?
4 Comments
Image Analyst
on 26 Jan 2016
Edited: Image Analyst
on 26 Jan 2016
Are the giant oscillations part of the noise - all noise - or do they have signal in them? If you had to draw the true signal, what would it look like? If we know what you want it to look like, we can perhaps design a filter to produce that, then you can call that your true signal and then subtract it from the original signal to get only the noise.
Also, can you attach the data file so we can play with it ourselves?
Jeffrey Adolf
on 26 Jan 2016
Walter Roberson
on 26 Jan 2016
The data file did not get attached.
Sounds to me as if you want a low-pass filter.
Jeffrey Adolf
on 26 Jan 2016
Accepted Answer
More Answers (0)
Categories
Find more on Multirate Signal Processing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!