[REQUEST] Radio Signal strength as a dB value - Nexus One Q&A, Help & Troubleshooting

Is it possible to mod the radio signal strength to be represented as a numerical value (in dB say) as opposed to the graphical option that seems to be common in ROMs?
I was reading an article on AnandTech about the iPhone signal issues and the author of said article uses numbers in his 3GS to represent signal strength.
I just thought it might be pretty cool and a little different to what's been done so far.

im sure this would be possible in a mod similar to the battery notification as the network strength in dB is located in the about phone > status menu

My take on this topic:
I think it would suck the battery too much having to query the status each time. If it didn't update on a dime it would defeat the purpose of the mod.

evilkorn said:
My take on this topic:
I think it would suck the battery too much having to query the status each time. If it didn't update on a dime it would defeat the purpose of the mod.
Click to expand...
Click to collapse
I'm not sure how the system currently handles the signal strength notifications but I was led to believe it takes some samples and does a bit of average so the there is a delay in displayed signal status versus actual signal status anyway.
Maybe we wouldn't need to query that often? I assume the battery status works by flagging a change in the status rather than constantly querying?

Bump —=>)

This is available in CM7 under Cyanogenmod Settings>Interface>Status bar tweaks>Alternate signal display. If you wanted, I'm sure you could pull the relevant code from source.

Related

Replace signal bars with dbm level?

Is there a way to replace the signal bars in the notification bar with a text based signal level showing the received level in dbm like it is in the status screen? Would be a lot more informative for me.
Thanks!
This sounds like a great idea, it doesnt seem like it would be too hard but I am really not sure.
Yes unfortunatly I couldn't find anything about it and do not know how.
I'd love to have the same thing for WiFi as well.
I agree, this would be far more meaningful than "bars."

Benchmarking GPS Performance - Brainstorming

Ok..this is going to be a little long-winded so bear with me.
So there seems to be a new fix posted for gps every other day, some are just snake-oil while others might actually be doing something. The problem is how to tell what is working and what is not...and to what degree. Trusting the word of some guy on a forum with 200 posts is NOT the answer. What we need are some objective tests that produce quantitative data. It would also be nice to objectively compare our device's performance to the performance of other android devices out there too...to get an idea of what a realistic gps performance expectation would be.
So far MyTracks seems to have been the best approach but it's still a very poor method for several reasons:
The software acts as an abstraction layer - it's unknown what kind of filtering may be occurring here.
The data is only meaningful to the originator; we don't know which street(s) you were really on.
At best only 1 dimension of the error is preserved; we might be able to assume you were driving down street X, but how do we know how far down the street you actually were when the sample was captured?
Bottom line, there is no way to programmatically extract quantitative results.
I've got half of the solution: Collect a series of samples from a stationary position and collect lat/lon/alt/time, reported gps accuracy, number of satellites used, time to lock, device make/mode, device uptime (to weed out the "I rebooted and it works!" phenomenon) etc.
With this data we can calculate things like jitter, deviation, acquisition latency and all kinds of other interesting things.
I know that sounds like lots of work, but I've already done all of the above (scroll down to the bottom to read more about that) and for the most part the data collection and result presentation components work. The problems I am running into are related to the details of how the above data maps to real world performance.
So let's talk about some potential algorithms:
1. Deviation
This was my first hope as a solution; grab bunch of gps coordinates and use the lat/lon positions along with reported accuracy to get a centroid location. Then using the centroid, calculate the distances between each point and the centroid to measure accuracy. In theory, if the distribution was random, this would work. In practice however, I found that:
A - You get A LOT of duplicate points that throw off the statistics.
B - Even if you throw out duplicates, the coordinates you get are usually very close to one another, in spite of being far from the true location. In hindsight, I think that should have been obvious. Oh well.
In any case, let me illustrate:
I took 30 samples sitting in front of my office. The distribution looks like this:
http://maps.google.com/maps/api/staticmap?size=512x512&maptype=hybrid&markers=color:blue|label:1|37.280015489448,-121.943445407709&markers=color:blue|label:2|37.280015489448,-121.943445407709&markers=color:blue|label:3|37.2799150689755,-121.943469689324&markers=color:blue|label:4|37.2798287737251,-121.943507481842&markers=color:blue|label:5|37.2797409130025,-121.943532462122&markers=color:blue|label:6|37.2796490544446,-121.94354159922&markers=color:blue|label:7|37.2796117648545,-121.943468886907&markers=color:blue|label:8|37.2796034813727,-121.943455640717&markers=color:blue|label:9|37.2795946561935,-121.94344227994&markers=color:blue|label:10|37.2795861462627,-121.943431154687&markers=color:blue|label:11|37.2795786087998,-121.94342342341&markers=color:blue|label:12|37.2795720667083,-121.943418240036&sensor=false&sensor=false
And the centroid I calculated from these looks like this:
http://maps.google.com/maps/api/sta...7,-121.943465819874&sensor=false&sensor=false
Looks pretty good so far right? Not even close. You can almost predict where the gps will say I am going to be next just by looking at those points. Unfortunately, there's no data there about where I actually am. I was actually standing outside of the building, smack in the middle, which is about 30 meters south of the closest sample I got.
Which brought me to idea #2:
Measure reported accuracy, sampling frequency/jitter, time it took to acquire the initial lock and call it a day.
Which brings me here - I'd like to do this right and so I'd love to get anybody's feedback on what kind of algorithm to use to characterize gps performance.
Also, if anybody wants to take a peek at whats been done so far, here's a link to a page with the latest version of the android client. Just install it and start it up. It will pop up and error if it can't connect to the server and the server does go down from time to time, so if you get a connection error, try again a little later. The other thing to be aware of is that I enforce the "stationary collection" rule by monitoring the accelerometer. When you hit start you will have 3 seconds to put your phone on a table or the sidewalk or somewhere else that isn't moving. Once the collection starts, it will monitor GPS until it gets 30 samples. You can cancel at any time by moving the phone. If any samples were collected, they will be uploaded and you will get an option to view the results. The results aren't too terribly meaningful for now, but there are a couple interesting statistics there and you will be helping me out by stress testing the server. Feedback appreciated!
Thx
The only problem is I believe there may be some hardware variation. I've read some posts where they took two completely identical stock phones and got completely different results.
I don't see a problem with stationary data. It will always jump around. That's hardware. The hardware cannot accurately track anything less than 10 meters.
I'm more worried about why it's jumping around and losing accuracy when it's in motion.
I would make a data collection for TTTF , satellites in view, satellites with fixed, signal strength (SNR), bearing, hasAlmanac(), hasEphemeris() and accuracy.
I was thinking of writing an app but I really don't have the time for it. I have a bunch of projects lined up and really won't see any real free time until a month or two. I program for a living and currently have a private android application that uses GPS that I wrote for my clients. It's a shame the GPS is borked with the Galaxy S because I was going to use it to market my application. I have to resort to the Xperia X10. My interest in fixing the GPS is both personal and business related.
Regardless, if you need any help, let me know.
PS: I believe we need a program to really compare our "fixes" and narrow down what changes makes things better and worse. I would like to get to the point where we can calculate: X # of satellites with an average of Y dbHZ of signal strength gives you Z% accuracy
ThisWasATriumph said:
The only problem is I believe there may be some hardware variation. I've read some posts where they took two completely identical stock phones and got completely different results.
Click to expand...
Click to collapse
I dont really think that the variations are hardware related, at least I've not seen any solid data to support that assertion. Different results, even wildly different between two identical phones is expected to some degree...theres too many variables involved to directly compare two phones and expect to get identical results, even side by side. For instance, reboot one of the phones and try again. The rebooted phone will have much better performance. If we get some averages based on device and software version / configuration with a large number of samples behind it, actual differences should emerge from the noise. In any case, if there truely is a hardware problem, that will probably also be discoverable as an abnormally high standard deviation compared to other devices.
CLShortFuse said:
I don't see a problem with stationary data. It will always jump around. That's hardware. The hardware cannot accurately track anything less than 10 meters.
I'm more worried about why it's jumping around and losing accuracy when it's in motion.
Click to expand...
Click to collapse
In theory, there shouldnt be any functional difference between a moving receiver and a stationary one. At least over relatively short distances. Yes one will be cross cutting various geometric relationships with the satellites, but they are so minute that its a moot point.
On top of that, benchmarking while moving introduces two problems:
1 - Telephone poles, buildings etc. Will periodically obstruct the signal introducing an error that cannot be subtracted out.
2 - As mentioned above, there is no known point of origin. One of the consequences of that is that the conditions surrounding the data collection of user A can vary wildly from those of user B. In essence you stop measuring performance alone and start measuring performance plus the dynamics of the neighborhood. With a stationary position at least you know that your gps shouldnt be showing you moving.
From my own testing, I can say that the Captivate typically does not even calculate stationary locations correctly, as seen in the links posted above. Sadly the error signal bears no obvious relation to the true origin. And although there is a definite pattern I don't know how to analyze that pattern. I'm humble enough to admit that I'm not smart enough to figure it out. Hopefully somebody else here is though At the very least, I think that the error patterns generated from a stationary position are a solid basis for a standard test.
You should try cognition 2.2 with CLShortfuse's jupiter tweaks. For the first time I was driving 55mph with 9-11/11 sats locked on the whole time, kept an accuracy of 5-10 meters and it accurately reported my speed dead on with my speedometer. I'm pretty satisfied with the performance right now.
Have you done any tests at a benchmark site to see how accurate it is? I have been at a benchmark site one day and gotten really accurate results, only to return on another day and have trouble getting within 300 ft. accuracy. And this was done with a "real" GPS.... I think that it is going to be difficult to get good results with a smart phone acting as a handheld GPS device. Maybe I am wrong ..... I'm no engineer or programmer...
Sent from my custom EVO PC36100 Using XDA app
halfhp said:
From my own testing, I can say that the Captivate typically does not even calculate stationary locations correctly, as seen in the links posted above. Sadly the error signal bears no obvious relation to the true origin. And although there is a definite pattern I don't know how to analyze that pattern. I'm humble enough to admit that I'm not smart enough to figure it out. Hopefully somebody else here is though At the very least, I think that the error patterns generated from a stationary position are a solid basis for a standard test.
Click to expand...
Click to collapse
I haven't taken a look at your program but collecting mass amounts of information is a start. We can draw a correlation between signal strength, # of antenna and accuracy.
There is another option, that I believe would be best to identify the underlying issue. Have different Android GPS units side by side both running the same application, and have them report data for each satellite (based on PRN). They SHOULD be identical (azimuth, elevation and if possible, the reported time). Also, we would check the system times and see if they are synchronized.
According to Garmin:
Sources of GPS signal errors
Factors that can degrade the GPS signal and thus affect accuracy include the following:
Ionosphere and troposphere delays - The satellite signal slows as it passes through the atmosphere. The GPS system uses a built-in model that calculates an average amount of delay to partially correct for this type of error.
Signal multipath - This occurs when the GPS signal is reflected off objects such as tall buildings or large rock surfaces before it reaches the receiver. This increases the travel time of the signal, thereby causing errors.
Receiver clock errors - A receiver's built-in clock is not as accurate as the atomic clocks onboard the GPS satellites. Therefore, it may have very slight timing errors.
Orbital errors - Also known as ephemeris errors, these are inaccuracies of the satellite's reported location.
Number of satellites visible - The more satellites a GPS receiver can "see," the better the accuracy. Buildings, terrain, electronic interference, or sometimes even dense foliage can block signal reception, causing position errors or possibly no position reading at all. GPS units typically will not work indoors, underwater or underground.
Satellite geometry/shading - This refers to the relative position of the satellites at any given time. Ideal satellite geometry exists when the satellites are located at wide angles relative to each other. Poor geometry results when the satellites are located in a line or in a tight grouping.
Intentional degradation of the satellite signal - Selective Availability (SA) is an intentional degradation of the signal once imposed by the U.S. Department of Defense. SA was intended to prevent military adversaries from using the highly accurate GPS signals. The government turned off SA in May 2000, which significantly improved the accuracy of civilian GPS receivers.
Click to expand...
Click to collapse
rtdrumz said:
Have you done any tests at a benchmark site to see how accurate it is? I have been at a benchmark site one day and gotten really accurate results, only to return on another day and have trouble getting within 300 ft. accuracy. And this was done with a "real" GPS.... I think that it is going to be difficult to get good results with a smart phone acting as a handheld GPS device. Maybe I am wrong ..... I'm no engineer or programmer...
Sent from my custom EVO PC36100 Using XDA app
Click to expand...
Click to collapse
I have neither used nor heard of gps benchmark sites - do you have any that you've used that you recommend?
I'm fully expecting the variance you are talking about, but I also believe that the variance is there because of measurable variables...it's just a matter of identifying enough of those variables to make the results understandable. For example, we know a reboot can temporarily fix gps issues so we wouldnt want to compare the gps results of a device that was just rebooted with the results of one that has been running for days.
CLShortFuse said:
There is another option, that I believe would be best to identify the underlying issue. Have different Android GPS units side by side both running the same application, and have them report data for each satellite (based on PRN). They SHOULD be identical (azimuth, elevation and if possible, the reported time). Also, we would check the system times and see if they are synchronized.
According to Garmin:
Click to expand...
Click to collapse
I briefly started down that road by grabbing the raw NMEA sentences but quickly abandoned that path due to the volume of data being pumped. Maybe I should take a second look.
Regarding the dual phone test, thats an interesting idea. I wouldnt have expected the clock times to vary at all. I'll check into it!
Also, for whoever is interested, here is a link to some results generated by the app in progress:
http://www.halfhp.com:8080/ggs/results/show/1?mode=mobile
It only shows a small subset of the data collected, but you get the general idea of what I'm going for.
I disabled the automatic time sync. I'm going to look for an app to synchronize my clock. I'm going to disable AGPS and take a test run. It could be wrong timing that makes it unable to grab a fix
WOW, talk about a difference. I disabled time sync and I used an application called "Micro Second".
Clock difference: 5.41638 seconds
That GPS trailing/sliding issue seems about 5 seconds as well......
CLShortFuse said:
I disabled the automatic time sync. I'm going to look for an app to synchronize my clock. I'm going to disable AGPS and take a test run. It could be wrong timing that makes it unable to grab a fix
Click to expand...
Click to collapse
Shouldnt the chip be keeping track of it's own time? One common use of gps is to provide a time signal accurate to the microsecond. As far as I know, all gps devices are capable of that kind of accuracy - they have to be in order to work at all, they just dont advertise it because many dont provide a physical interface to the PPS necessary for external devices to utilize it.
halfhp said:
Shouldnt the chip be keeping track of it's own time? One common use of gps is to provide a time signal accurate to the microsecond. As far as I know, all gps devices are capable of that kind of accuracy - they have to be in order to work at all, they just dont advertise it because many dont provide a physical interface to the PPS necessary for external devices to utilize it.
Click to expand...
Click to collapse
"Should" and "does" aren't the same thing. That's under the assumption that the NMEA data is provided by gps device itself. I don't believe it is. I think the GPS device gives raw satellite data and the driver wrapper calculates NMEA data back to Android.
Also, factoring the clock desync from the correct atomic-based time should be in the data.
CLShortFuse said:
"Should" and "does" aren't the same thing. That's under the assumption that the NMEA data is provided by gps device itself. I don't believe it is. I think the GPS device gives raw satellite data and the driver wrapper calculates NMEA data back to Android.
Also, factoring the clock desync from the correct atomic-based time should be in the data.
Click to expand...
Click to collapse
I think you might be at least partially right as far as the NMEA sentences being generated outside the chip. I did a little bit of digging on the BCM4751 chip and it appears that the protocol used is MEIF, which according to the internet is a proprietary nokia protocol. I havn't found a description of the protocol yet, but I would think that it offers at least the same amount of data that NMEA offers, meaning time is kept on-chip as expected. I just cant imagine the system clock being anywhere close to useable for such a time sensitive calculation as gps triangulation. I'm gonna keep looking though.
Something else to consider guys...
I've seen lots of people referencing GPS accuracy when in motion versus standing still. I'm not so sure that all of them are complaining about what they think they're complaining about.
My primary vehicle is a motorcycle. For crappy weather, I've got a Jeep Wrangler with a fiberglass hardtop. In both cases, the phone has no sheet metal between it and the sky. And in both cases, the GPS appears to track just fine. It may not show me in the proper lane of a multilane highway, but it at least always shows me on the right side of the road, and it never lags behind my actual position. Nor does it suffer from any 'inertia' problems. When I turn, so does it. When I stop, it does too.
Now... I'm out of town at the moment on a business trip and am driving a rental car - one with a fixed sheet metal roof (no sunroof either). Since my GPS had been working at home, I was expecting it to work over here as well. Wrong! It takes forever to get a lock, and when it finally does, it drifts in and out of lock. And as I'm driving along, it's sometimes as much as 5 seconds behind me. Or sometimes along side me on a side street. Or when I stop it keeps going. You know, all the crap that everybody's been complaining about.
So. Is it a setting issue, a driver issue, or is it a problem with the hardware? I can't tell you. But what I can say is that when there's any significant metal obstruction between the phone and the sky, the GPS is hit and miss... mostly miss.

GPS remarkable observation

Guys,
I spent 2 weeks of holidays (my wife almost left me for that) mostly trying to find out why GPS performance on my P970 is so poor, losing satellites fixes every so often and sometimes no fix at all although 'seeing' satellites. I did not find a 'real' solution, even after tests on both mostly Huexxx 7 and lately boype's 0909, too.
Best results now on boype's 0909 CM7 but with adapted gps.conf and gps_brcm_conf.xml. Nevertheless, the result is still disappointing, far away from satisfying.
However, during all these checks, I found that satellite's receiption is depending on the way I hold the device in my hands, at least on MY device. Whenever I hold a finger on the top left of the chassis (just above the location where the GPS chip is located, see pictures), then receiption improves by 0 up to 14 db (!!!).
Also the number of 'seen' and 'used' birds increases from 6 to 10 easily!!! However, the fix did not become more stable through that.
Pls check on your devices if you can verify the same behaviour.
If so, what could be the reason (i do not put any pressure on the device)? And is there anything that we can do to make this improvement permanent, i.e. put a piece of 'aluminium foil' between the back lid and the device or something similiar?
Let me know your remarks, guys.
No problem at all. Riding on the tram right now. Fix on 12 in few seconds. Sure it's not because of your position? And 6 is enough to fix the position.
@eighty-four
I appreciate your info, and you are surely right it is depending on my position. My question was a different one though: Do you observe the same reaction as soon as you put the finger on top of the device; i.e. increase of signal strength?
BTW You attached an impressive picture, would like to aks you are you still on AOKP beta 1.1 ICS 4.0.4 and how do your files gps.conf and gps_brcm_conf.xml look like? Can you share them?
AOKP 1.1, no any GPS fixes
Hard to say about reaction while on move. But didn't noticed any noticeable changes.
Can't check now - I'm in home.
I've been using Marvel v9 since released, with the GPS "Tweaks" installed too.
I'm getting GPS signal, sometimes really fast, some others i need to wait for a couple of minutes (maximum 3 minutes).
There are certain times though, that it doesnt lock no matter what, just like in your situation. It manages to find many sattelites (7+) with an average decent signal strength but it refuses to get a gps fix location.
I believe it has to do with the temperature of the chip (i couldnt get easy GPS fix at winter) because now that summer passed by and used my GPS a lot, i had no issues... might be the clouds, might be the stars alignment and zodiacs ... i really dont know.
It's not that accurate and fast though for city driving. Some turns are being announced way too late (Sygic Aura) and the error treshold is about 10meters mostly, rarely goes down at 5meters.
I guess it's a chip manufacturing bull**** rather than a "case construction" or antenna problem.
@morx
I just wanted to check if others can verify better receiption when holding finger on top.
I agree it seems a hw or engineering defect, nevertheless I am trying to optimize the settings in order to compaensate at least partially.
Interesting you mention the temperature: In my research I came across a relationship between temperature and gps accuracy. Our (and any other gps chip) uses a oscillator hw module for precision timing. These oscillators' accuracies depend on the temperature and are measuered in PPM. There is also a setting in the gps_brcm_conf.xml that refers to this, it is "FrqPlan". The usual value in CM7 is "FRQ_PLAN_26MHZ_2PPM_26MHZ_300PPB". However, other values do also work, like "FRQ_PLAN_26MHZ_2PPM_26MHZ_100PPB".
You can check details in THIS post.
Would be interesting to determine if different values lead to better results.
I had no clue that chip temperature had a side effect on GPS fix !!
When i was writing my concern about that, i was feeling stupid until i saw your redirection to that post...
hmmm there are many factors which can be put on the table about optimization and troubleshooting.
Later on, i'll give a try keeping the cellphone with both hands, different angles, one handed on top/bottom etc...
Interesting thoughts.
I'm on CM10 nightly and always had blazing fast fixes until yesterday. I activated GPS in my car and after 3 minutes it fixed (in Osmand), after some more minutes the fix got currently lost.
Due to my big custom 3500 mAh battery I couldn't place my phone in the cradle therefore I simply laid it onto my dashboard. Maybe because of this the signals were harder to receive.
I will switch back to the normal battery today and try to test your variant.
Sent from my LG-P970 using xda app-developers app

Weird Logo next to signal strength on notification bar

I recently received my Nexus 6 from Sprint, and I love it in case you're curious.
But I see a No Smoking style sign up near my LTE signal strength in notifications. I definitely have fast internet speeds and clear call quality, so I don't think there is a connectivity issue. But this logo just isn't going away.
I'm coming back to Android from iOS so I have no idea what that icon means. Any help is appreciated.
Press the volume rocker and change the notification setting from None to All. You're in Do Not Distrub mode.
Thanks. Of course it is that simple.
Pl2lNCE said:
Thanks. Of course it is that simple.
Click to expand...
Click to collapse
Haha yea, I felt the same way about the star icon. When I found out it was the Priority Notifications mode I felt so dumb.

That's it. Couldn't take it any more. Its going back.

Why does Samsung have to change something thats beautiful from pure Android
Status bar: Whats with the stupid up/down arrows under the WiFi icon and the broadcast lines on the data icon. Does anyone care? It makes the icons look smaller and the status bar look really weird. Are the UI folks all blind? Why does the font on the status bar huge? If I enable battery percentage, thats half the width of the bar. On second thought, maybe they are blind. My N5 status bar looks absolutely beautiful.
Tweaks are nice...but: Its nice they provide some tweaks. I like the fact the phone call notification has mute ,vol, and end buttons. Nice touch but can't Samsung keep the material design in tact and add these features?
And for ****s sake, its Back, Home, and Task Viewer. Not the other way around. Sheesh.
Occasional heating of the phone (almost never happens with Nexus 5).
Horrendous battery. I think the battery life is same as my 1.5 year-old Nexus 5.
Great screen and awesome camera.
I wish they offer this phone in two flavors. Pure Android and Samsung Crap.
Sorry, had to vent.
I like the way the wifi icon is set up. And since I'm a right, the back on left is nice for me. Heating is much of a problem i noticed and battery lasts well for me. Have you cleared the cache partition?
schhy said:
I like the way the wifi icon is set up. And since I'm a right, the back on left is nice for me. Heating is much of a problem i noticed and battery lasts well for me. Have you cleared the cache partition?
Click to expand...
Click to collapse
Yes, that was one of the first things I did. Also, brightness is usually set between and 5 and 10%. The screen is very bright. So you actually find the up/down data arrows under the WiFi icon useful? How? All I always ever cared was whether I had a WiFi connection or how strong the signal was. Both were well represented in the Lollipop/Marshmallow implementations (filled in white with no discreet bars).
thanirs said:
Yes, that was one of the first things I did. Also, brightness is usually set between and 5 and 10%. The screen is very bright. So you actually find the up/down data arrows under the WiFi icon useful? How? All I always ever cared was whether I had a WiFi connection or how strong the signal was. Both were well represented in the Lollipop/Marshmallow implementations (filled in white with no discreet bars).
Click to expand...
Click to collapse
Yeah I've found it useful sometimes. When apps or webpages get stuck or slow, the indicater is useful to me in telling my phone's network usage.
I use the data symbols as well. Especially when uploading files to Google drive etc... Sometimes the uploads stop and the indicators help determine if it's the case. Hope they leave them there.
I love the arrows, as well. When I don't see them, I know it's time to kick my kids' tablets of the network...
I am very concerned with the heating issue. Something is drawing on my battery hardcore, which obviously increases heat. I have to power off, then back on to stop it. A standard reboot doesn't solve it.
Then get a nexus

Categories

Resources