That's not how it works. That wouldn't even work as the satellites move all the time too.
Why it usually requires you to be stationary when getting the first fix is because you need the ephemeride for each satellite which takes up to 30 s of continous signal per satellite after your receiver has found the satellite. In addition - when you move - the frequencies of the satellites change all the time (due to the doppler effect) and your receiver has harder time to find them because they can be in "slots" which your receiver already consider checked and empty. The actualy position estimation is done by pseudo-ranging. The solution has four unknowns (x, y, z, and clock bias b). Receivers usually start by assuming something reasonable, such as [x,y,z,b] = [0,0,0,70ms] and the internal clock is set to time get from satellites. Then the bias is the travel time of the signal from satellites. It is notable that it's more convenient to represent bias as meters so you'll get b = 70 ms * c. Then you'll calculate the distances from your assumed position (now [0,0,0] in ECEF) to the satellites which you're listening (the position of the satellites is known from ephemeride) and add the bias to it. Then you just apply some magic (linear algebra, usually LMS) and you'll get a correction vector for your position and bias which you simply add to your original values to get a new estimate. Then you repeat this ad infinitum to get updated position estimate. I've been told by a guy who works in gps r&d that cosumer grade gps units usually do this iteration every 50 ms. If somebody got interested, please do email me, and I'll post you the precise formulae for the calculation. 2008/7/26 Christopher Woods <[EMAIL PROTECTED]>: > >> On Jul 26, 2008, at 13:37 , Franc Carter wrote: >> >> > >> > My entirely annecdotal experience has been that my TomTom 910 takes >> > longer to get a fix when I am moving than stationary. I have an >> > external aerial, so the movement should be the main determinent >> >> >> The same for me with my Hamlet GPS receiver. I've seen that >> if I'm moving it could be unable to get a fix indefinitely >> (tested up to 30 minutes), while stopping and turning it off >> and then on usually works less than a couple of minutes. > > Is that not how GPS works? Give it a nice stable basis to get its initial > fix on, so it can accurately detect and compare the positions of all the > sats it can see - and then it bases any readings from movement using > differential comparison with the baseline from the initial reading... At > least, that's how I've always considered my GPS receivers to operate (using > less power and processor cycles to boot). Maybe there's an occasional > re-poll for an absolute lock and reference, but surely if the receiver was > recalculating its exact position every second, it'd be out of juice within a > few minutes? > > I've always noticed my bluetooth GPS receivers (SiRF chipsets, formerly a > Qstarz BT-Q880 and currently a Navman B10) take much longer to establish a > lock when I'm already driving in the car. But then, I suppose it's obvious > that it'd take longer while a vehicle or person is in motion (and not in a > linear direction either). Or am I barking up the wrong tree? > > > _______________________________________________ > talk mailing list > talk@openstreetmap.org > http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk > -- Lauri Hahne _______________________________________________ talk mailing list talk@openstreetmap.org http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk