signal to noise ratio (SNR)

183 views (last 30 days)
How does matlab measure snr of an audio signal?
Why i got negative value of SNR in matlab, Because if i measure using sound level meter in real life the snr of an audio should be high?

Accepted Answer

Daniel Pollard
Daniel Pollard on 15 Jan 2021
According to the documentation,
"r = snr(x,y) returns the signal-to-noise ratio (SNR) in decibels of a signal, x, by computing the ratio of its summed squared magnitude to that of the noise, y. y must have the same dimensions as x. Use this form when the input signal is not necessarily sinusoidal and you have an estimate of the noise."
In other words,
r can be negative because it's measured in dB, so if the sum of the squares of the noise y exceeds the sum of the squares of the signal x, the argument of the logarithm is between 0 and 1, so the logarithm is negative.
  2 Comments
muhammad nur adri nawi
muhammad nur adri nawi on 15 Jan 2021
Thank you for answering my question, i have one more question sir.
If i got negative value of SNR does it mean the signal quality is low ? And how to measure noise level of a noise audio signal ? Did using fvtool function will help ?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!