How could SNR be efficiently estimated generally in analog signals ? Here I'm considering that there is no prior information available from other sources, like the Demodulation in QPSK, APSK. FSK schemes.
The SNR definiton seems to be very a straightfoward way to compute it. However, when considering a non-steady signal, how could the mean value be estimated over a long time ?
You could break up your signal into time chunks where the signal level is relatively steady and compute the SNR using the definition. This, of course, will yield a time changing SNR.
Considering the effort involved in doing what I suggested, it might be easier to use Tarun Agrawal's approach.
Digital communications folks (I'm not one of them) may have a way to compute SNR directly from a digital signal. I'm sorry, but I don't know of one.
When considering a Digital modulation scheme like APSK or QPSK one could directly map the recieved symbols into the I-Q Constelation, and therefore the RMS noise could be computed using the distances between the recieved symbols and the central symbol positions in the constellation.
The lack of a prior information, just like the symbol-mapping available in Digital Modulation schemes is what intrigued me about how SNR could be estimated for a general analog signal.
maybe it could be good usefull return to the very beginning? "Comparison of Shannon's capacity to Hartley's law". https://en.wikipedia.org/wiki/Shannon%E2%80%93Hartley_theorem
For a "general" analog signal, without prior knowledge or prior information, it is by definition impossible to separate the signal from the noise, and therefore impossible to estimate the SNR. In practice, the SNR might be determined by some of the following methods:
- The SNR can be calculated from the properties of the communications link, such as transmitter power, path loss, antenna gains (in case of a wireless system), noise figure of the receiver etc. Actually, a telecom system is designed with a certain SNR in mind, so this is even known in advance. There are some margins of course, so this is not very precise.
- If the signal is band-limited, and the noise is assumed to be white (AWGN, or thermal noise) you may be able to get a noise reference outside of the signal bandwidth and use this to calculate the SNR by dividing the signal energy by the noise energy.
-for e.g. speech signals, the SNR can be determined by listening tests. Obviously this requires some prior knowledge.
Are the signal and noise combined together forming a waveform Say Sc=S(t)+ n(t)?
Then you have to separate them. The separation can be accomplished by measuring Sc and n(t). To measure n(t) you simply make S(t)=0.
Then by assuming S>>n , you can estimate the power Ps of the S by squaring and averaging on the required time window. You can also calculate the noise power Pn. Then you can calculate the ratio and verify the condition.
OTHER wise you can analyse the combined signal using Fourier transform where the signal spectrum and noise can be separated and the power of each can be calculated assuming the noise is white the spectrum will appear as discrete components superimposed on a continuum of noise spectrum.
It i so you have to model your signal and your noise and separate them. Once you did that you can easily calculate the power of each.