SNR estimation from single vector

3 次查看(过去 30 天)
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 个评论
Walter Roberson
Walter Roberson 2016-1-26
The data file did not get attached.
Sounds to me as if you want a low-pass filter.
Jeffrey Adolf
Jeffrey Adolf 2016-1-26
Not sure why it didn't... I'll try again. You're suggesting an LPF to regain just my signal, then calculating based on that?

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2016-1-26
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 个)

Community Treasure Hunt

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

Start Hunting!

Translated by