# SNR calculation when noiseless signal is not known

I have a noisy signal. Then using filtering techniques I got the estimated noiseless signal. I dont have the original noiseless signal. I have calculated SNR the following way: $$\textrm{SNR}=10\log\left(\frac {\textrm{Estimated Noiseless Signal}^2} {\left(\textrm{Estimated Noiseless Signal-Noisy Signal}\right)^2}\right)$$

Is this method right?

Assuming you're calculating the $\textrm{SNR}$ in decibels, it is defined by the following equation:

$$\textrm{SNR}_{db} = 10\log_{10}\left(\frac{P_{signal}}{P_{noise}}\right)^2$$

You currently have (with squares consolidated), where $P$ is the noisy signal:

$$\textrm{SNR}_{db} = 10\log_{10}\left(\frac{P_{signal}}{P_{signal}-P}\right)^2$$

This doesn't look right because you will end up with a negative denominator since $P>P_{signal}$, where in essence $P=P_{signal}+P_{noise}$. Although it ends up being the same thing because the squaring forces it to be positive, it seems a bit of a fudge.

I think what you meant to do was to subtract the estimated signal from the noisy signal to estimate the noise power:

$$\textrm{SNR}_{db} = 10\log_{10}\left(\frac{P_{signal}}{P-P_{signal}}\right)^2$$

One way of obtaining your $P_{signal}$ is to understand what your transmitter is capable of putting into the medium. It would then follow that the further away your receiver was to your transmitter, the lower the $\textrm{SNR}$. Remember, a low SNR can mean two things, either your transmitter isn't loud enough, or the background noise is too great.