I get the wrong signal to noise ratio using snr() from the Signal Processing toolbox.
4 views (last 30 days)
Show older comments
Hi!
I need some help using snr().
When I use snr() on the column vector I want to calculate the SNR of, it returns -10.5526.
I plotted this column vector below, with the peak visible on the right. Clearly the SNR should be around 2-5.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/894420/image.png)
Anyone knows what I am doing wrong?
Thanks in advance!
2 Comments
AndresVar
on 14 Feb 2022
Edited: AndresVar
on 14 Feb 2022
edit: clarifcation of snr(x) vs snr(x,y)
is that the full signal and are you saying the peak at index ~460 is the actual signal?
If you use snr(x) then the signal is assumed sinusoidal but your's is not.
So you must use snr(x,y) where y is the assumed noise.
To get noise estimate you can look at the spectrum in the window without signal, or you use the rssq as shown in the example: Signal-to-noise ratio - MATLAB snr (mathworks.com)
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!