I was called to estimate the signal-to-noise ratio in a collection of recordings that were manually annotated, meaning that the speech and noise segments are known.
The noise is uncorrelated with the signal and is additive noise: $x(i)=d(i)+n(i)$ ('d' stands for desired). I have no information regarding the sound intensity (no sound meter was employed) neither the voltage-sound-intensity relationship in devices.
I found a formula here that seems to be a possible solution (authors explain the annotated way before diving into the no boundaries problem):
$$\text{SNR}=10 \log_{10}{\left(\frac{P(x)-P(n)}{P(n)}\right)}$$
Where $P(x)$ and $P(n)$ are the power of the contamined signal 'x' and the noise signal 'n' ('n' is basically a copy of 'x' but with zero energy in the speech segments). The mean was subtracted from both signals as requested in the paper.
When I apply the formula in two separate recordings (one clean and the other containing much noise, different signals and different noise) I am getting negative measurements: -6.250953 vs. -7.793706, and a difference of just 1.5 dB between them (I was expecting to see a 20dB diference).
Does it make sense to have negative numbers? How can I interpret the 1.5 dB difference in a meaningful way? Thanks in advance for any light on this!
Below are two copies of the same magnitude spectrum of the example of the clean recording I mentioned earlier (I did not include the noisy one). The formula estimated a SNR of -6.250953 dB. I did not include the oscillogram but it oscillates in the [-1, 1] range:
This is what I am taking as the $x(i)=d(i)+n(i)$ signal:
And this is what I am taking as the noise $n(i)$ signal (all energy except the black regions which represent the desired signal):
Therefore the formula can be applied very straightforward