SNR estimation from single vector
11 views (last 30 days)
Show older comments
Jeffrey Adolf
on 26 Jan 2016
Commented: Jeffrey Adolf
on 26 Jan 2016
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
Walter Roberson
on 26 Jan 2016
The data file did not get attached.
Sounds to me as if you want a low-pass filter.
Accepted Answer
Image Analyst
on 26 Jan 2016
Maybe try a Savitzky-Golay filter. Experiment around with different orders and window widths until you achieve the "look" you want. I attach a demo.
0 Comments
More Answers (0)
See Also
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!