SNR calculation when noiseless signal is not known
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&gt;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.