Mapping cellular signal strength to 5 bars

By now you may have heard about the reception problems with iPhone 4. Apple has mentioned that the real problem has been with the way they mapped signal strength to the famous AT&T 5 bars icon (where 5 bars denotes excellent reception and no bars means very poor reception). Recently I had tried to solve the same problem so here is the mapping that I used. I wonder what Apple is now using.

But first a few words on signal strength and its unit. The cellular signal strength is represented in -dBm: the power ratio in decibels of the measured power referenced to one milliwatt. The useful range is somewhere between -50dBm to -110dBm. The smaller the number the worse the signal. So -50dBm is much better than -110dBm. A 3 dB increase represents doubling the power. I’ve not researched if it is possible to get the the actual signal strength using the iPhone SDK. But I’ve been using the Tetlit cellular modems and there are a couple of AT commands that provide this information: MONI and CQS. The AT command MONI returns the received signal strength in dBM. Based on testing, I’ve seen MONI returning signal strength anywhere from -55dbM to -110dBm depending on location. At lower dbms, e.g., -109 or above, you can definitely still send SMS but the quality of reception is lower (more bit rate errors) and I’m not sure if you can hold a conversation at these dBm levels.

The AT command +CQS maps the signal strength into a signal quality number between 0 to 99 as shown in the table below:

Signal Quality dbM Power (milliwatt)
0 -113 or less 0.0000000000050119 or less
2 to 30 -109 to -53 0.0000000000125893 to 0.0000050118723363 (2 dBm per step)
31 -51 or greater 0.0000079432823472 or greater
99 not known or not detectable

AT&T converts the reception signal strength to a number between 0 to 5. The famous bars icons are used to denote this: 5 bars means excellent reception and 0 bars means almost no reception.

According to the CSQ command mapping -113 dBm maps to 0 and -51 is the best you can get. The difference between these two is about 62 dBm and if you divide 62 dBm range by 6 you get 10.3 dBm per step which must be more or less the dbM interval that AT&T uses to map the signal strength to bars. Based on this approach here is the rounded dBm table mapped to a number between 0 to 5.

dbM Signal Quality
-60 or greater 5
-61 to -73 4
-74 to -85 3
-86 to -98 2
-99 to -110 1
-111 or less 0

But if you use this it is very rare to get 5 bars, so it is possible that most cell phones will reduce the dBm interval mapping to bars and increase the lower range so that -75dBm or greater maps to 5 bars and end up with something like this:

dbM Signal Quality
-75 or greater 5
-83 to -74 4
-95 to -82 3
-105 to -94 2
-110 -104 1
-111 or less 0

6 Responses to “Mapping cellular signal strength to 5 bars”

  1. Paco Says:


    I have a question about this. With the AT+CQS or MONI commands, you get the “Received signal strength”, this is: how much power from the base station reaches you. But, is there any way of knowing how much power from your antenna reaches the station? Because maybe you can have a good reception signal, but you can’t reach the antenna of the base station, and therefore you can’t stablish a call.

  2. Dave Says:

    Hi … Thanks for the explanation, but I presume that everywhere you’ve said CQS in the above doc, you actually meant to say CSQ? Am I correct?

  3. alex Says:

    Is there any way to get that signal strength read-only from code to display it similarly how the FieldTest works (*3001#12345#) –

  4. filmexxx Says:


    […]Mapping cellular signal strength to 5 bars « n o t e 1 9 . c o m[…]…

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: