Could an app be developed to use the gsensor and measure distances. I was thinking you could press a button to start a measurement move your phone press another button and we could see the distance in feet meters etc. is this feasable
commodore65 said:
is this feasable
Click to expand...
Click to collapse
no.
go and get a tape measure and selotape it to the side of ur phone
It would get pretty complicated. Your phone would have to keep track of each and every different acceleration and the duration of that acceleration to then calculate out the distance traveled during each acceleration. Since we are human I highly doubt we can keep a constant enough acceleration to measure anything short. It does seem to me that the longer the distance being measured (maybe in a moving car as foot steps may throw the measurment off) the better chance there could be for accuracy as the small accelerations that would normally throw off the measurement would be less of a problem. (then again I am a physicist and not a phone programmer so I don't know how accurate the accelerometers in these phones are).
I bet something could be written to tell you how far the phone has been dropped... if you could keep the phone from rotating during the fall. The acceleration of gravity is constant and that would be an easy calculation that could just cut off as soon as the acceleration changes drastically (when it stops falling suddenly). Then again I am physicist not a programmer.
If someone wants to try feel free to ask me for a set of fairly simple equations or help with the math. I doubt most people that program will need that help though.
i think the G sensor in the phone is a bit too "hit-and-miss" for this application, it would require a very fine tuned, high contrast sensor (most likely costing more than the phone!)
it you want to do a large distance, then u could use the GPS positioning, but yet again, wont be very accurate.
+ 1
i subscribe to this program but I don't believe is posible. I'm an architect so I'd strongly need it. you can youse GPS for outside mesurements and you can use SuperRuler for smole mesurements or distance mesurements.
http://www.pocketdevelop.com/index.aspx
I dont think its that much of a stretch. Using tweeter i find the sensor is extremely accurate and sensitive. While i dont need the app, basically as he said press start and then start moving the phone left or right up or down and press stop.
However since the sensor is not made to do that, i could be totally wrong it it is not possible at all. Basically because the sensor is made to track tilt movements and not distances. Lol im basically debating with myself
xboxhaxorz said:
I dont think its that much of a stretch. Using tweeter i find the sensor is extremely accurate and sensitive. While i dont need the app, basically as he said press start and then start moving the phone left or right up or down and press stop.
However since the sensor is not made to do that, i could be totally wrong it it is not possible at all. Basically because the sensor is made to track tilt movements and not distances. Lol im basically debating with myself
Click to expand...
Click to collapse
it might work
It's all relative, I can play teeter on a train!
uniqueboy said:
It's all relative, I can play teeter on a train!
Click to expand...
Click to collapse
If you're playing tweeter on a train traveling near the speed of light and I am at the train station watching you play teeter as you pass by, is the ball falling in the whole or the whole falling around the ball? Where was I going with this? Oh yeah would this tape measure have to account for time dilation? I mean the Lorentz equations are the most accurate set of linear coordinate transformations we have, right? As you move the phone time will dilate, lengths will contract and let's not even mention the rotation of objects from the phone's perspective... wait did I just mention it by stating that I wasn't going to mention it?
Like I stated before... it is completly possible to measure distance using nothing but acceleration information... beyond that the accuracy in your measurement will depend on the accuracy of the device measuring the acceleration(s). Of course you may have to get into the rate of change of you acceleration (the rate of change of the rate of change of the rate of change of your position) which is called jerk.
Beherrschen said:
it is completly possible to measure distance using nothing but acceleration information...
Click to expand...
Click to collapse
Erm guys, this is only a lil bit right ;D You can't measure a distance with an accelerometer... very well. As the word says, it measures accelerations... so if you walk 10 Meters to check the distance, your Device only accelerates the first meter when you start walking... when you walk with the same speed the accelerometer shows:
0
(at this moment it has to know how fast your speed has to be when you accelerated in the first x seconds with x G's to calculate how many meters you walked within the x seconds till the -G starts when you stop ... almost impossible ;D )
Absolutely 100% not possible, for any kind of practical purpose.
If the device could be held exactly flat, it would be just about possible to use acceleration data to make a guess at speed and therefore at distance... but it would be such a wild guess it would not be useful.
A visual estimate will always be better!
Phexi said:
Erm guys, this is only a lil bit right ;D You can't measure a distance with an accelerometer... very well. As the word says, it measures accelerations... so if you walk 10 Meters to check the distance, your Device only accelerates the first meter when you start walking... when you walk with the same speed the accelerometer shows:
0
(at this moment it has to know how fast your speed has to be when you accelerated in the first x seconds with x G's to calculate how many meters you walked within the x seconds till the -G starts when you stop ... almost impossible ;D )
Click to expand...
Click to collapse
Seems like you told me I was only partially correct but then the second part of what you wrote seemed to agree that it possible (maybe not practical) to calculate distance traveled from nothing but acceleration information. It is possible to calculate distance traveled from nothing but acceleration (and the duration of each acceleration but that goes without saying since you must always know the duration of a motion to determine distance) information.
For example: If you have a situation where there is an initial acceleration A1 for t1 seconds, followed by a contstant speed S for t2 seconds, and finished off with another negative acceleration A2 for t3, then you have all the information needed to determine the overall distance traveled. During the first section of our travel the acceleration, A1, and the duration of that acceleration, t1 are can be used to calculate your total distance during that acceleration. A1 and t1 can also be used to calculate the speed you are traveling at the end of the initial acceleration, S. Use S and t2 to calculate the distance traveled during the constant speed portion. Then use S, A2 and t3 to calculate the distance traveled during the final accleration (even if your final speed isn't zero). Equations below:
Set 1: acceleration = A, velocity (speed) = V, distance = X, time = T, initial = i and final = f
starting with the assumption of constant acceleration then each successive equation can be derived by integrating the previous equation with respect to time.
A = A
Vf = At + Vi
Xf = (1/2) A (T^2) + Vi T + Xi
Set 2: also at constant acceleration with the same key as above.
A = (Vf - Vi)/T
V(average) = (Vf + Vi)/2 = (Xf - Xi)/T
Either set of equations can be used. They are basically the same set of equations. One derived using calculus (Set 1) and the other using conceptual ideas of motion (Set 2). With a little algebra both sets can be derived from eachother. If you add in an inconstant acceleration (jerk) then the equations become more complicated and I am not gonna derive them out here.
I am sticking to my is it possible but most likely not practical. Unless you came up with a way to maybe statistically ignore any little outlyer type accelerations... anyway, I am rambling. Feel free to let me know if you can't solve a problem like the one I stated above using those equations and I wll be glad to help.
Beherrschen said:
Seems like you told me I was only partially correct but then the second part of what you wrote seemed to agree that it possible (maybe not practical) to calculate distance traveled from nothing but acceleration information. It is possible to calculate distance traveled from nothing but acceleration (and the duration of each acceleration but that goes without saying since you must always know the duration of a motion to determine distance) information.
For example: If you have a situation where there is an initial acceleration A1 for t1 seconds, followed by a contstant speed S for t2 seconds, and finished off with another negative acceleration A2 for t3, then you have all the information needed to determine the overall distance traveled. During the first section of our travel the acceleration, A1, and the duration of that acceleration, t1 are can be used to calculate your total distance during that acceleration. A1 and t1 can also be used to calculate the speed you are traveling at the end of the initial acceleration, S. Use S and t2 to calculate the distance traveled during the constant speed portion. Then use S, A2 and t3 to calculate the distance traveled during the final accleration (even if your final speed isn't zero). Equations below:
Set 1: acceleration = A, velocity (speed) = V, distance = X, time = T, initial = i and final = f
starting with the assumption of constant acceleration then each successive equation can be derived by integrating the previous equation with respect to time.
A = A
Vf = At + Vi
Xf = (1/2) A (T^2) + Vi T + Xi
Set 2: also at constant acceleration with the same key as above.
A = (Vf - Vi)/T
V(average) = (Vf + Vi)/2 = (Xf - Xi)/T
Either set of equations can be used. They are basically the same set of equations. One derived using calculus (Set 1) and the other using conceptual ideas of motion (Set 2). With a little algebra both sets can be derived from eachother. If you add in an inconstant acceleration (jerk) then the equations become more complicated and I am not gonna derive them out here.
I am sticking to my is it possible but most likely not practical. Unless you came up with a way to maybe statistically ignore any little outlyer type accelerations... anyway, I am rambling. Feel free to let me know if you can't solve a problem like the one I stated above using those equations and I wll be glad to help.
Click to expand...
Click to collapse
For this to work we would have to stop the rotation of the Earth, but then there is not a stationary point anywhere in the universe, so I will never be able to measure the train I was on playing teeter. I always loved Newtons equations of motion especially the one A=A
uniqueboy said:
For this to work we would have to stop the rotation of the Earth, but then there is not a stationary point anywhere in the universe, so I will never be able to measure the train I was on playing teeter. I always loved Newtons equations of motion especially the one A=A
Click to expand...
Click to collapse
Actually if we are going special relativity on this problem then we also need to eliminate any form of gravity since special relativity only applies to inertial frames of reference. And since I am not about to break out the tensor mathematics of general relativity, then it would seem we are SOL in finding out what really did happen with your teeter game. :-(
Just remember: Things are the way they are because if things weren't they way they are we wouldn't be here asking why are things the way they are.
Anyone else having as much fun as I am with this thread?
IDEA:
I have thought of a way to at least get a close approximation to this. I am not a programmer but it seems to me this should be possible. The area under the graph of acceleration vs time is velocity. Make a program that would plot the information acceleration vs time information on a graph in excel. Then, after the recording is finished, the program could go in at fixed intervals, turn the smoth graph into a point to point graph with straight lines from point to point (using the line of best fit feature in excel... assuming it is also in excel mobile...) and calculate out areas under the curve. Then you would have all the information needed, velocity and duration of each velocity, to easily calculate out distance. Now this would be an approximation and never be exact. But even calculators only give you Tailor Series approximations. The smaller the interval taken on the graph the more accurate the final distance would be. You could even make it work with an adjustable interval so the sensitivity could be adjusted.
To better explain my idea for manipulating the graph then picture a sine graph. On it's own it is a nice smooth wave looking graph that repeats every 2pi (don't want to look up the symbol for pi to type. just take 3.14159 = pi). Now imagine you marked a point every 0.5pi on that curve and then connected the points together with a straight line. You would end up with a saw tooth graph. Now what if you did that at every 0.2pi, or .1pi, or... you get my drift. The smaller the interval that you make a point and connect it the closer and closer you get to a good approximation of the original sine graph (much the way Archamedes used ever increasing numbers of triangles inside a circle to approximate its circumference and calculate pi). The advantage of doing this is to eliminate calculus and use nothing but algebra.
This could all be done without graphing and just having the program do the math tiself but why not let excel do the work? I could be way off and using excel this way may suck from a programming point of view, but this is how I would handle a lot of data if I were given a bunch of acceleration and time information. Making the sensitivity and accuracy changable by allowing the user to define how far apart to set the points could allow for some decent measurements. I think if done right even outlying movements (slight tilting of the phone or taking a step or two) could be negated by the approximation.
Let me know what people think. Even if this doesn't work maybe it will inspire a better idea!!
Well here I am near the river Thames near where it becomes tidal - ergo, pretty close to sea level (actually about 30ft above). My new all dancing DHD' GPS system tells me I am 230ft in the air. I honestly do not think I am that high!
It seems to me the DHD contains a blast form HTC's past, the Touch Cruise also added 200ft to the GPS heights. Why have they implemented a GPS hardware issue they have known about for years...is the GPS system hardwired into the snapdragon chip? Is it the kind of thing a software update will eventually correct?
I use OS maps a lot for hiking and tracking, and while I know the height issue is not a big thing as I know the problem, my tracks will always be out by 200 ft vertically.
However, the compass works, unlike on my old HD2...but I really hate little faults like this, they gnaw on me...I really hope none of the GPS system implanted in the noses of bombs and missiles don't have this fault!!!
This may be the app you are using.
I use Compass from Catch.com and find it pretty good.
Also make sure you are receiving signal from at least four satellites to get accurate reading.
my bad
thanks for the advice - MM Tracker is clearly out buy 150-200 feet in altitude...I have the compass as well, it has accuracy +/- but I can't see where it has altitude.
Open Compass app.
Tap 'Menu' button, then Compass Type then GPS
On large Green Bar it reads Speed, Altitude and Accuracy.
Bottom green display shows how many satellites are in use.
thanks, I had not seen that feature, very nifty - when it has stopped raining I will go outside and full complement of satellites and check. Certainly held up against the window, the 200ft discrepancy does still seem to be there using the compass...I will check later – thanks for your thoughts on this.
nope there is a problem
according to the compass I am 316 foot in the air. I beleive where I am is about 25 foot above sealevel - looks to me that HTC has reimplented the same fault they has on the Touch Cruise. No biggy, but it is annoying, a little
If you look through this forum, a few other people seem to have a faulty gps .
My suggestion would be, get in touch with who supplied the phone for an replacement, as a wrong reading on GPS will affect footprints, locations, sat nav etc.
Maybe you do not use these programs much, but with the cost of the phone, everything on it should work, especially the hardware.
We all know that the GPS unit on our beloved SGS sucks badly. Firstly it takes ages and ages to find a good signal, and secondly it chews up bucketloads of battery to get there.
The other day I was talking to someone about GPS units within some handheld devices at work, and he told me something that completely blew me away - how GPS units ACTUALLY work as opposed to how most people think they work.
Firstly let me preface this by saying that he used (and I will use) the "Lies to Children" method of technical communication. If you are not a Terry Pratchett fan, it basically means that instead of explaining a subject to the Nth degree and getting the full detail across, you sum it up with what is essentially and technically a lie - but one that's a half-truth that will pave the way for future understanding.
Example? "The sun rises in the east and sets in the west". Comparatively speaking against the Earth, the Sun does NOT move. The actual truth is the sun moves within the galaxy and within the galaxy cluster and within the universe. The earth also moves in a similar manner and also rotates on its axis with a slight wobble that technically provide seasons. How does that relate to a 5 year old? "Yeah, uh, kid. The sun, you see, it rises in the east". A "lie" but one that works for everyone, and when their brain absorbs enough other information you can explain it properly (with another "lie", but one that's more truthful than the previous one)
Back to the topic:
I thought, like most of you probably think, that a phone's GPS works by having some kind of 2-way method of communication. When you enable the GPS unit and go into maps, the device starts broadcasting to the satellites to say "I'm here, now where is 'here'?" That's not the case.
It works a bit like this (and pardon the analogies)
Let's say there are 3 satellites are in geosynchronous orbit at fixed locations. For the sake of the description we'll call them FRED, GEORGE, and BILL. A lot of time and money was spent to make sure that they don't vary that location by a factor of a few cm before they re-correct their location. A bunch more time and money went into their internal time-keeping mechanisms so that they are also VERY accurate.
From their location they broadcast a signal outward. Fred says "HI I'M FRED LOCATED AT POSITION X AND THE TIME IS SUNDAY 18TH MARCH 2012 7:15PM AND 38.123456789 SECONDS"..."HI I'M FRED LOCATED AT POSITION X AND THE TIME IS SUNDAY 18TH MARCH 2012 7:15PM AND 38.123456790 SECONDS" and so on.
George says "HI I'M GEORGE LOCATED AT POSITION Y AND THE TIME IS SUNDAY 18TH MARCH 2012 7:15PM AND 38.123456789 SECONDS"..."HI I'M GEORGE LOCATED AT POSITION Y AND THE TIME IS SUNDAY 18TH MARCH 2012 7:15PM AND 38.123456790 SECONDS" and so on.
And Bill...I can't be stuffed writing it, let's just say Bill screams out his location and the current time, multiple times a second.
Now, while some satellites broadcast in higher or lower timings, the basics are the same: Current position, plus the current (accurate) time. (Some also send information regarding the other satellites it "knows" around it. Eg, "HI I'M BILL AT POSITION Z AND THE TIME IS BLAH AND I CAN SEE GEORGE AND FRED. THEY DON'T SAY MUCH, SO IT SURE IS LONELY UP HERE").
My point here is that the satellite neither knows nor cares who you are or where you are, it just pumps out that racket like a noisy teenager with a new stereo and what they THINK is the coolest music ever.
When the 3 signals are received on the ground by the GPS unit, it works out: "Bill thinks it's THIS TIME....George thinks it's THAT TIME...and Fred thinks it's this OTHER TIME....that means my distance from each one is actually THIS FAR and the real time is NOW". From that you can bang your location in LATITUDE and LONGITUDE on a map.
Sure, there are complications due to altitude and speed and direction, and you really need more than 3 satellites to work out where you are. But the reality is that, based on the lag in the signal from transmission to receiving (able to be calculated due to the speed of light), we can work out how long each signal took to get to the unit and therefore how far from the satellites we are. If you know where the satellite is supposed to be, you can work out where you are on the globe.
It really is that simple.
So when I found all of that out, I asked the question: If the satellite is really all that counts in this case, why does our GPS blow? In fact, why does any GPS work better than others?
Well, there are multiple factors:
Firstly, just like a good barman or psychologist, some "listen" better than others. The PASSIVE radio signal needs to be received by a unit that has a decent antenna and doesn't have other electrical crap affecting it. Anyone look inside their phone and see the antenna (and it's location)? Yup, it's in a pretty bad position and it's a pretty bad antenna.
Even if we were somehow to isolate the GPS unit and bring it out away from the interference, it's a pretty bad receiver. If you've ever listened to a transistor radio and compared it to a $4000 stereo unit, you know what I mean. Noise = bad data = bad location finding.
Secondly, the signal needs to be interpreted. When each broadcast hits the phone, the receiver accepts it and shunts it to the processor to work out. Slower phones can process less signals, especially when the OS may put a limit on how much processor time should be dedicated into working out the signals (there's no point using 100% of your processor when that means you can't display it properly on the map or let the user actually interact with the maps app)
Thirdly, we don't know all the positions of the satellites. When the signals first start getting processed, your phone communicates with the NTP servers it has located in your GPS.CONF. It asks which satellites are where and where that actually may be on the globe. Remember how I said each satellite tells you it's position? That was a "lie to children" moment. The damned thing is in the SKY after all. So, while we technically know where it is, the information means jack and sh*t to the GPS unit unless it has more information available.
What I mean here is: What part of the world can that satellite see/broadcast to? The satellite doesn't know or care, and it's not broadcasting that information at any case. There's more than a couple of satellites up there, so the phone needs to check back the NTP.ORG to work out some basics. As your phone uses the GPS function more and more, it stores up the addresses of the satellites that you know and love in your neck of the woods (including ones that are not geostationary) and will need to rely less on a data connection.
That's why when you use GPS the first time after a fresh flash it is just plain crap, but after a few more tries it works better. And that's why it's important to use FasterFix or a like app to nominate the closest/best NTP server for you - the closer servers respond quicker over the 'net and also have the list of "closest" stationary satellites stored at the front of the file. If you're in Australia you don't care about the 'merican or European sats, but they come afterward "in case you're overseas"
Lastly, when you take it all into account, if you have bad weather or tall buildings around you, then the signals blasted down from on high either get muted, muddled, or bounced around. The error correction in our phones is non-existent - it doesn't actually need to be due to the fact it's a PHONE and not a GPS unit, but some devices can and do filter out the known "dodgy" signals before processing. I'm pretty sure that when the techies run out of toys to add to or fix in our phones, they'll add altimeters and thermometers and they'll fix the GPS post-processing to get the signal down pat.
In case you're wondering, the whiz-bang GPS units that can get extra awesome resolution (down to beyond cm) have the list of every single satellite location up there stored internally, the on-board processor is dedicated to working out what the signals mean, and the GPS chip itself normally has a great big honking antenna on it and is extra receptive. Ours is a 2 dollar job from some bulk offload sale.
There you have it. Thanks for letting me brain dump. Hope this helps some people's understanding!
Interesting. I had always thought it was a simple two-way communication between the phone and a geostationary satellite. But in retrospect, that would be extremely inaccurate seeing as how the attenuation over such a long distance, as well as the interference with other phones (which might be using the same frequency because GPS is not network controlled, unlike calls) would make it difficult for the satellite to tell where the signal came from. This explanation makes much more sense. Thanks!
So, its still better to use an app like GPS Aids so the GPS would be "up" faster... Thanks for explanation, you sir, get a thanks.
Wow! Nice post, well written and very informative!
But I don't understand, how the help is GPS free when all this technology is so expensive!?
Sent from my GT-I9000 using XDA
Yes. Good post. Except the GPS satellites aren't geostationary. They orbit the earth twice a day at an altitude of approximately 20.000km. There are 6 different orbit planes and 4 satellites per orbit.
A geostationary satellite sits directly above the equator at an altitude of about 36.000km. One orbit lasts excactly one day and thus the satellite appears as if it's standing still in the sky.
You can google all that if you like.
GPS would be simple if all the satellites were geostationary, but that would make triangulation very difficult. Especially around the polar areas. Therefore they must be orbiting crisscross all over the globe. But that also makes geostationary orbits impossible (it is only possible directly above the equator).
Thanks given simply for the Terry Pratchett reference (I'm addicted to Discworld novels)
Here are my 2 cents about this whole "closer NTP server = better results"
1) NTP server is just a time server. It doesn't store any info regarding any satellite in your neighborhood. That's the role of A-GPS server - in our case it's supl.google.com that you see in every gps.conf.
2) We all get our current time from our mobile provider or manually setting it in settings. So we don't sync our clock to NTP server time. Our phone will just use NTP to figure out the offset - i.e. how accurate our clock really is. It can also take into account the delay factor caused by network latency since it's something relatively easy to measure. So in the end of the day it won't really matter what NTP server you use as long as it works and you don't have any network issues with it.
From my experience all these NTP games are one big placebo effect.
The only tips I got for better GPS are:
A) Clear GPS cache after not using it for a long period of time (or let android do that for you eventually).
B) Use mobile network data for faster fix (A-GPS).
C) Keep the antena free from any obstacles - In car place the phone directly under the front glass, don't expect it to work under the roof.
While running if you use armband, place the phone with its screen toward your arm since if placed otherwise your arm will blocks the gps signal completely.
Any one know why mine is fine and grabs lock within 10 seconds indoor with iGO and GPS test?
I didn't f*)Kin camp outside a electronic store JUST to get one on release date I got one from later batch which fixes hardware GPS reception issue
All GPS use one-way communication.. it would become too expensive n complicated to have two-way communication
1) The GPS receivers here on earth would require complicated and high power circuitry to send signals to satellites miles above the earth. It would suck a battery dry in minutes
2) The GPS satellites would require to handle communication with an exponentially increasing number of GPS units on the ground. That would require huge processing power, multiple channel support and communication management to avoid clashes between communicating units. Satellites are situated so high up that signals to and from satellites accrue a lot of noise n distortion.. For proper signals, satellites can only transmit data at very low data rates and have low bandwidth..
GPS requires exact timing, and I mean atomic clock exact. Its impossible to have atomic clocks in today's small devices. So satellites have a very accurate atomic clock on board.. Heck, some satellites have 3 on board to correct clock drift and error!! Even then, GPS devices were very expensive.
Then, some scientist found a way to find the exact location and time by using the really small timing variations in satellite signals. Coz of that, we can now afford GPS chips at $50..
Our phones don't have space for large ceramic antennas (one GPS unit I have has a 25x25x4 mm antenna on top!!) And the timing variation trick helps even low power units pick up satellite signals, but they are slightly less sensitive.. They won't be able to pick up weak signals, which your car nav unit will..
Also, processing GPS data doesn't take that much processing.. Almost all GPS units output their data in a standard format called NMEA format and the location data looks something like:
$GPGGA,<time>,<latitude>,<longitude>,<fix quality>,<no. of satellites>,<altitude>......
All the processor has to do is use this data.. A processor doesn't have to calculate anything at all with regards to actually locating the device. The GPS chip does it all..
Sorry for the really long post.. I hope it makes sense.. I'm doing a project which uses a GPS unit, so I've been studying on it..
First let me start by saying that I have a habit of drunk posting. So I logged into XDA today at work and went "huh? An extra bunch of 'Thanks'? What the hell have I done now?"
Which means that while the information in the OP does a decent job of summing up what I was told, some was a little off. Cheers for pointing out where I got things wrong.
Remember, last week "my mind = blown" by the fact that GPS isn't 2-way...which makes sense but is one of those things that I never considered...
Don MC said:
Yes. Good post. Except the GPS satellites aren't geostationary. They orbit the earth twice a day at an altitude of approximately 20.000km. There are 6 different orbit planes and 4 satellites per orbit.
Click to expand...
Click to collapse
You are quite right, there are a whole bunch of sats whizzing around up there in set orbits. Some of them "talk" to ground stations to get updates about the world in general, but a bunch just go screaming past blaring out their message.
I asked my mate at work who told me about how GPS works....his response? "Yeah, Lies to Children works like that." Apparently a combination of his half-explanation and my beer meant I got something wrong there. Sorry.
To give the full information about the different sats flying about, and how they get send the information....well, apparently it was easier to say "geostationary" !!
mike.sw said:
Here are my 2 cents about this whole "closer NTP server = better results"
1) NTP server is just a time server. It doesn't store any info regarding any satellite in your neighborhood. That's the role of A-GPS server - in our case it's supl.google.com that you see in every gps.conf.
2) We all get our current time from our mobile provider or manually setting it in settings. So we don't sync our clock to NTP server time. Our phone will just use NTP to figure out the offset - i.e. how accurate our clock really is. It can also take into account the delay factor caused by network latency since it's something relatively easy to measure. So in the end of the day it won't really matter what NTP server you use as long as it works and you don't have any network issues with it.
From my experience all these NTP games are one big placebo effect.
Click to expand...
Click to collapse
Again, you're right. But in the GPS.conf file there are both NTP and A-GPS servers. I was of the understanding the NTP address information also gave ...wait, disregard - just Googled that.
NTP only gives you time. And it won't matter which NTP server you get unless you have networking issues. I suppose the answer there lies in the fact that a "closer" NTP server will get you a quicker response to begin with, so your phone can start the process of working out the offset quicker....
Good tips, though I'm too much of a beer drinker to go running. Screen in or out.
ilabs said:
All GPS use one-way communication.. it would become too expensive n complicated to have two-way communication
1) The GPS receivers here on earth would require complicated and high power circuitry to send signals to satellites miles above the earth. It would suck a battery dry in minutes
2) The GPS satellites would require to handle communication with an exponentially increasing number of GPS units on the ground. That would require huge processing power, multiple channel support and communication management to avoid clashes between communicating units. Satellites are situated so high up that signals to and from satellites accrue a lot of noise n distortion.. For proper signals, satellites can only transmit data at very low data rates and have low bandwidth..
Click to expand...
Click to collapse
Correct...but kids these days also assume that steak literally grows on trees. Assumptions are the mother of all....
ilabs said:
Our phones don't have space for large ceramic antennas (one GPS unit I have has a 25x25x4 mm antenna on top!!) And the timing variation trick helps even low power units pick up satellite signals, but they are slightly less sensitive.. They won't be able to pick up weak signals, which your car nav unit will..
Click to expand...
Click to collapse
Correct, that was my point about the crappy GPS chip being like a crappy transistor radio. The combination of the quality of the chip plus the really really bad antenna (and it's position) means that people will not get car-gps like quality from their phone....and they shouldn't !!!
ilabs said:
Also, processing GPS data doesn't take that much processing.. Almost all GPS units output their data in a standard format called NMEA format and the location data looks something like:
$GPGGA,<time>,<latitude>,<longitude>,<fix quality>,<no. of satellites>,<altitude>......
All the processor has to do is use this data.. A processor doesn't have to calculate anything at all with regards to actually locating the device. The GPS chip does it all..
Click to expand...
Click to collapse
You're talking about the "final" output, but when I mentioned processing I meant the processing of the signal received.
I asked again about this. It was explained thusly: If you have interference in the form of tall buildings (for example) then the signal will actually bounce around a bit before being picked up. That "echo" can sometimes give a false reading if you took that one bit of information as a whole, as it's not a true representation of the time it took for the signal to get down from the sat.
So the device collects constantly and shunts that information to the processor to determine the length of time between when the sat spat it out and when the unit received it.
Now say every 10th "message" is a bounced/echo one. If the device is only able to process every 5th message, then it's potentially going to have up to half the messages be a dodgy echo job = bad location. It will catch up, eventually, but will take longer to know something weird is going on.
If, on the other hand, the more powerful processor was able to work out every 3rd message or more, then a more accurate fix comes quicker.
ilabs said:
Sorry for the really long post.. I hope it makes sense.. I'm doing a project which uses a GPS unit, so I've been studying on it..
Click to expand...
Click to collapse
Dude, the more people who post (sober) the better the information we have!!! Post away and make it long! Mine was!!
MrAndroid12 said:
Any one know why mine is fine and grabs lock within 10 seconds indoor with iGO and GPS test?
I didn't f*)Kin camp outside a electronic store JUST to get one on release date I got one from later batch which fixes hardware GPS reception issue
Click to expand...
Click to collapse
Luck....pure kiwi luck? lol.
I know my hardware blows. Takes anything from 30 seconds to 1 minute to get a dodgy half-lock.
I was thinking about packing it in for a new phone but a) still got a plan to pay off and b) ICS made the device more than useable in every other aspect.
wogfella said:
You're talking about the "final" output, but when I mentioned processing I meant the processing of the signal received.
I asked again about this. It was explained thusly: If you have interference in the form of tall buildings (for example) then the signal will actually bounce around a bit before being picked up. That "echo" can sometimes give a false reading if you took that one bit of information as a whole, as it's not a true representation of the time it took for the signal to get down from the sat.
So the device collects constantly and shunts that information to the processor to determine the length of time between when the sat spat it out and when the unit received it.
Now say every 10th "message" is a bounced/echo one. If the device is only able to process every 5th message, then it's potentially going to have up to half the messages be a dodgy echo job = bad location. It will catch up, eventually, but will take longer to know something weird is going on.
If, on the other hand, the more powerful processor was able to work out every 3rd message or more, then a more accurate fix comes quicker.
Dude, the more people who post (sober) the better the information we have!!! Post away and make it long! Mine was!!
Click to expand...
Click to collapse
Haha.. Yeah, the assumptions that you hear from time to time!! Makes even standard fiction seem possible!!
When I was talking about the processing, yeah, it was the final processing. But the processing of the GPS signal is only done by the GPS chip, not the processor to which the data is output. Generally GPS satellite signal frequencies are such that they die out very quickly when reflected off or passing through objects and buildings. That's why you get the best signal out under the open sky. The processing of the final received signals is done completely by the GPS chip. A standard GPS chip has only TX/RX serial pins apart from power pins. As soon as you power it up, it starts spitting out GPS data. Externally interfaced processors don't have to calculate anything at all.
Apart from this, everything is spot on!!
---------- Post added at 04:34 PM ---------- Previous post was at 04:27 PM ----------
MrAndroid12 said:
Any one know why mine is fine and grabs lock within 10 seconds indoor with iGO and GPS test?
I didn't f*)Kin camp outside a electronic store JUST to get one on release date I got one from later batch which fixes hardware GPS reception issue
Click to expand...
Click to collapse
Generally, when you first start up a GPS unit, its called a cold start coz it takes time. It will take time to scan for satellites and make a database of satellites around. Once it has at least 3 satellites in view, it has enough data to perform a proper triangulation to give your location. As the antennas on a phone are weaker, there's a certain error in a signal, which is why Google maps first shows your estimated location in a blue circle. As you begin to move, more data like heading and stuff is known and your position becomes accurate.
Sometimes even I get a lock in 10 seconds, sometimes not even in half an hour. That happens when there are no strong satellites above. If you always get a lock, I guess you're lucky to have a good number of satellites hovering over your phone like guiding angels..
wogfella said:
NTP only gives you time. And it won't matter which NTP server you get unless you have networking issues. I suppose the answer there lies in the fact that a "closer" NTP server will get you a quicker response to begin with, so your phone can start the process of working out the offset quicker....
Click to expand...
Click to collapse
The "quicker" result may be important if you query ntp servers every second (the default rate for GPS sample I think), however ntp is being queried once in a while - not sure the exact interval maybe one of the developers here can help with that.
If everyone of us would query the ntp servers every second they would be hammered to horrible death.
In "normal" NTP setups, client systems, like your desktop, query a small number (perhaps between 1--10) NTP servers every so often, e.g. once per minute (or 64 seconds in a common UNIX implementation). This can vary depending on response.
NTP is designed to get microsecond wall-clock time accuracy despite round-trips to NTP servers often taking tens, or even hundreds of milliseconds.
I believe most Android phone GPS chips update position once per second. There are apps that will confirm this.
I don't believe there's any need to repeatedly query NTP servers every second.
However, the hardware clocks in phones are terrible. Mine drifts up to one second per day, until the clocksync app uses an NTP query to drag it back to reality. Note this is different to how it's normally done on a PC: there, the OS clock is sped up or slowed, so that the time can gradually skew towards reality. For a large difference, the time has to be stepped, all in one go, which isn't ideal from an OS perspective (e.g. timed callbacks, etc).
So I can see that more frequent NTP checks might help a little, for GPS, but not a lot.
Note that consumer GPS units (e.g. automotive, handheld) do not use NTP at all, nor do they have expensive hardware clocks. So I'm not at all convinced why NTP is "required" on Android GPS, unless it's because most phones default to getting the time from the mobile network, which can be *minutes* off.
Finally, sadly, none of the above even remotely explains why our SGS phones have a reputation for (or in fact "are") worse at GPS than other similar phones...
Edit: meant to add: the latter is perhaps mostly likely explained by a combination of poor antenna design, and sub-optimal GPS implementation in the Broadcom chip (which I believe is the one involved).
I wanna kno why the x10 has such a bad camera
OMG. Counter Strike On Android! http://cs-portable.net/
I wanna kno why the sgs has such a bad camera
Very interesting
ilabs said:
Haha.. Yeah, the assumptions that you hear from time to time!! Makes even standard fiction seem possible!!
When I was talking about the processing, yeah, it was the final processing. But the processing of the GPS signal is only done by the GPS chip, not the processor to which the data is output. Generally GPS satellite signal frequencies are such that they die out very quickly when reflected off or passing through objects and buildings. That's why you get the best signal out under the open sky. The processing of the final received signals is done completely by the GPS chip. A standard GPS chip has only TX/RX serial pins apart from power pins. As soon as you power it up, it starts spitting out GPS data. Externally interfaced processors don't have to calculate anything at all.
Apart from this, everything is spot on!!
---------- Post added at 04:34 PM ---------- Previous post was at 04:27 PM ----------
Generally, when you first start up a GPS unit, its called a cold start coz it takes time. It will take time to scan for satellites and make a database of satellites around. Once it has at least 3 satellites in view, it has enough data to perform a proper triangulation to give your location. As the antennas on a phone are weaker, there's a certain error in a signal, which is why Google maps first shows your estimated location in a blue circle. As you begin to move, more data like heading and stuff is known and your position becomes accurate.
Sometimes even I get a lock in 10 seconds, sometimes not even in half an hour. That happens when there are no strong satellites above. If you always get a lock, I guess you're lucky to have a good number of satellites hovering over your phone like guiding angels..
Click to expand...
Click to collapse
My cold starts take no longer than 10 seconds for a 50-30 meter lock. After it is warmed up, GPS takes a matter of 2 seconds to grab lock @ 10 meters and 5 shortly after.
---------- Post added at 07:41 PM ---------- Previous post was at 07:40 PM ----------
MattyOnXperiaX10 said:
I wanna kno why the sgs has such a bad camera
Click to expand...
Click to collapse
It's not that bad, is it?
I wanted to shoot a video for my YouTube channel using my mums phone. Galaxy s and it wasn't focusing on the camera, video quality was bad (sorry for of topic)
Ask us any Android Related Question @FeraLabsDevs on Twitter or @HowToMen
MrAndroid12 said:
My cold starts take no longer than 10 seconds for a 50-30 meter lock. After it is warmed up, GPS takes a matter of 2 seconds to grab lock @ 10 meters and 5 shortly after.
---------- Post added at 07:41 PM ---------- Previous post was at 07:40 PM ----------
It's not that bad, is it?
Click to expand...
Click to collapse
I get the same start timings, provided there are satellites to lock onto.. Sometimes my cold start time is a little over a minute!! But with no satellite cover, I could be better guided by a rock than my phone..
Sent from my GT-I9000 using XDA
Hello,
I have a question about GPS inaccuracy with Strava on my Moto G4 Play.
I got a new Moto G4 Play and was testing out the GPS with the Strava run tracker app.
The problem is that I get about 10% more distance traveled on my runs. And, I'd like to know if this is par for the course with smartphone GPS or whether I should expect better.
For example, in this Strava image (ht tp://ibb.co/d6sLvQ), I'm running a loop of ~800m (half mile, calculated using wikimapia) and I expect a total distance of 7.3k but I get 8.1k in my Strava app. In my other test, I got 5.6k when I expected 5.1k. Its probably because of all the wiggly lines due to GPS error.
My question is whether this much error is to be expected (in which case I wonder how people are using Strava!). And, whether I can do something to improve. I currently keep the phone in the pocket of my shorts. And there are no trees or tall buildings (all nearby buildings are 1-2 floors) in the top two segments and a few trees in the bottom two. I use Touch Protector to keep the screen always on and the touch disabled to prevent app closure or any app interference while it is in my pocket.
Also, I don't see any Beidou sats in the GPS Test display. Only GPS and Glonass satelites show up and are being used. I can't find specs and don't know whether I should have access to other sats like Beidou (and Galileo, etc) or not on my Moto G4 Play.
shaviv said:
Hello,
I have a question about GPS inaccuracy with Strava on my Moto G4 Play.
I got a new Moto G4 Play and was testing out the GPS with the Strava run tracker app.
The problem is that I get about 10% more distance traveled on my runs. And, I'd like to know if this is par for the course with smartphone GPS or whether I should expect better.
For example, in this Strava image (ht tp://ibb.co/d6sLvQ), I'm running a loop of ~800m (half mile, calculated using wikimapia) and I expect a total distance of 7.3k but I get 8.1k in my Strava app. In my other test, I got 5.6k when I expected 5.1k. Its probably because of all the wiggly lines due to GPS error.
My question is whether this much error is to be expected (in which case I wonder how people are using Strava!). And, whether I can do something to improve. I currently keep the phone in the pocket of my shorts. And there are no trees or tall buildings (all nearby buildings are 1-2 floors) in the top two segments and a few trees in the bottom two. I use Touch Protector to keep the screen always on and the touch disabled to prevent app closure or any app interference while it is in my pocket.
Also, I don't see any Beidou sats in the GPS Test display. Only GPS and Glonass satelites show up and are being used. I can't find specs and don't know whether I should have access to other sats like Beidou (and Galileo, etc) or not on my Moto G4 Play.
Click to expand...
Click to collapse
- there are known issues with the hardware GPS in this device (all G4P varients); if device is new consider an in-warranty exchange
- possible fixes are documented here
- in general you should be able to obtain accurate/identical lateral results from most GPS enabled devices assuming a good line of sight to satellites; G4P is NOT representative of most phones in terms of hardware GPS performance in this regard
- note most consumer GPS devices introduce considerable error when change in elevation is involved; Google for more details and ways to compensate
Davey126 said:
- there are known issues with the hardware GPS in this device (all G4P varients); if device is new consider an in-warranty exchange
- possible fixes are documented here
- in general you should be able to obtain accurate/identical lateral results from most GPS enabled devices assuming a good line of sight to satellites; G4P is NOT representative of most phones in terms of hardware GPS performance in this regard
- note most consumer GPS devices introduce considerable error when change in elevation is involved; Google for more details and ways to compensate
Click to expand...
Click to collapse
Thanks. I was aware of the issues with G4P and the other thread. I might yet encounter those issues (as folks in the other thread indicated that the problem gets worse quickly after a few weeks), but I wasn't having major issues as were pointed out there (as yet, fingers crossed).
I tested today with another app in parallel with Strava and I got half the error as compared with Strava (4% vs 8%). The other app filters the satelites to include only those with SNR>50. Maybe there are other differences as well between the two apps, but I just wanted to point this out, so people running into this problem can try alternative apps and be aware of SNR filtering. A snapshot of my result is here:
ht tps://www.reddit.com/r/Strava/comments/6ozcav/inaccuracy_in_distance/
It would've been nice if Android allowed filtering based on SNR and turning on/off satelite groups (like Glonass vs no Glonass), maybe even allowing mucking around with polling frequency... don't know how much these configs matter.