# How is signal strength calculated?

How is the signal strength calculated in case of cell phones ?

How will the signal strength be calculated in case of WiFi networks ?

I am not certain if the question I am asking is the same as QoS calculation.

I wanted to calculate signal strength for proprietary RF radio couple. Is it advisable to calculate this based on application layer, by calculating ratio of good / bad packet count based on packet checksum ?

• You've made the question pretty broad by mentioning three technologies. If you had a particular RF mofule in mind it might be better to mention it and ask how to get something similar to WiFi / cell phones and how to work out the QoS (assuming that's what you want). – PeterJ Feb 4 '14 at 7:13
• @PeterJ I would eventually do it for WIT2410 but would also likely learn about the mentioned technologies. – Bleamer Feb 4 '14 at 7:20
• When it comes to radio transmission, signal strength usually means the power of the modulated carrier transmitted (at some distance from the transmitter antenna). – Andy aka Feb 4 '14 at 10:02

There isn't a specific answer to your question, because even among cell phones and Wi-Fi devices, there are different notions of "signal strength". However, I'll describe two methods that are broadly used:

The first is to measure the power of the signal received by the antenna. These numbers are usually reported in dBm. Since this is coming from a controlled impedance antenna and transmission line, it's sufficient to know just the RMS voltage or current. For example, let's say we measure the RMS voltage to be 2mV, and we have a 50 ohm antenna system. Then:

\begin{align} P &= E_\mathrm{RMS}^2/R \\ &= (0.002\mathrm V)^2 / 50 \Omega \\ &= 8 \cdot 10^{-8} \mathrm W \end{align}

Typically this is converted to decibels relative to 1mW, dBm:

\begin{align} L_\mathrm{dBm} &= 10 \log_{10} \bigg(\frac{P}{0.001\mathrm{W}}\bigg) \\ &= 10 \log_{10} \bigg(\frac{8 \cdot 10^{-8} \mathrm W}{0.001\mathrm{W}}\bigg) \\ &= 10 \log_{10} (8 \cdot 10^{-5}) \\ &= -40.97 \end{align}

Therefore, our signal strength is about -41dBm.

The trouble with this method is that it's actually not measuring the signal, but all electromagnetic energy received by the antenna. That is, it also includes noise. The signal might be "strong", but the noise might also be strong, so the signal quality is poor.

Another way to calculate "signal strength" works only for digital modes is called bit error rate or BER. It is the percentage of bits that were incorrectly received.

It can be calculated a few ways. One is to have the transmitter send a test pattern of bits that the receiver already knows. The receiver then compares what it received against the test pattern and counts the bits that were incorrect. This number, divided by the total number of bits in the test pattern yields the fraction of bit errors. Multiply by 100 to make a percentage, if desired.

It's also possible to calculate BER if the protocol uses forward error correction. The exact algorithm will of course depend on the FEC being used, but usually it's possible to know how many bits are being corrected by the FEC, and thus calculate the BER.

The advantage of BER is that it gives an indication of how well the communication is working, taking into account noise, synchronization errors, etc. It is usually the case that increasing transmit power will increase the signal-to-noise ration, and reduce the BER.

• Nice answer, when I first saw the question I thought it might have been a bit broad but this sums it well. – PeterJ Feb 4 '14 at 12:46
• @Phil-Frost : Thank you for the detailed response. I would be more interested in the digital mode solution and to rephrase your response, we should be doing something like (Good Packet Count / Total Packet Count) * 100 where a packet would be a higher level entity. The solution you suggested for the digital mode assumes bits arrive periodically, how should we take care of aperiodic bursts of signal / data ? – Bleamer Feb 4 '14 at 13:58
• @Bleamer If you count packets and not bits, then what you have is packet error rate, not bit error rate. You can do that, but now you have to define what a "packet" is, and what an "error" is, and now you are getting into a depth that your question does not cover. You can handle aperiodic bursts of data any way you want: the BER is specified over some period, like "BER in the past 10 seconds" or "BER for the last 2000 bytes". Pick whatever period suits your needs. – Phil Frost Feb 4 '14 at 17:08