Interesting observation, Andyman10. I just turned on airplane mode, went outside and ran GPS Test. Within 30 seconds I had 8 in view, 5 sats in use. at 2:02 I had 11 in view, 7 in use. My SNR on the used sats was very steady at 33 up to an observed high (on this phone) of 41. I went back and turned off airplane mode and reaccessed GPS Test and it relocated all the sats within seconds but the SNR was back down in the 24-33 range on all in use sats. Might bear further testing.
Oh, and sitting at my desk which is right next to a window, about a 14" below the sill, I normally can't lock any sats though it will usually see about 2. With the airline mode turned off I saw and locked 8/5 almost immediately. Once airline mode was turned back on the phone still sees/uses 7/3 up to 8/6. Perhaps the answer is to go airline mode, lock your sats, then turn your Captivate into a phone again?
GPS Test seems to lose the sats and has to reaquire whenever you switch away from the app to something else, like the home screen, not just when the screen times out.
Interesting about GPS Test, thanks for that.
That's pretty much what I'm seeing now..certainly the SNR values being much better and more stable when the phone is off and it's acquiring locks..and that noticebale increase in performance continues when you turn the wireless back on. It does give me some possible ideas as to what the issue might be.
I can't seem to find the exact chip they are using in this phone to look at a datasheet or programmers guide.. seems it might be one of three..but they're all a similar architecture. One common thing you have to do with the host processor assisted type designs that are being widely used now is control, via a Java or direct API, the tracking of the satellite signal being received and the initiation of the AGC or Auto Gain Control circuits. Basically a teeny weeny signal from the satellite comes in to the GPS device at say 50 millivolts, and to bring it in optimum peak range of the decoding circuits, let's say 0 to 1.8V you apply gain or amplification to the signal until it nicely fits in this range, so you get a good look at it. If you start this gain adjustment process in the presence of noise spikes greater than the signal you want to receive then the gain is set incorrectly for the intermittent noise rather than the required signal and there isn't enough amplification to reliably digitise and quantitise the required signal.
Conversley if you set the AGC tracking whilst the noise is completely absent then it ramps up the gain and when the noise does appear intermittently at a higher level and is amplified it hits the limits (the 1.8V say) and gets clipped, causing all sorts of nasty harmonics and distortion.. and a sudden whacking change in SNR.
It's all actually a bit more complicated than that but that's the basic principle. These AGC circuits are, as the name implies, automatic and they try and track changes in signal level to dynamically adjust the gain. So they don't do this at the slightest tiny pulse they have a programmable hysteresis or delay so it keeps a decent average value. Problem is they need something generally representative in the first place to get a coarse lock before they can get a fine one and a dirty great spike while it's setting up, say from a mobile phone transmitter, could mess that up.
All mobile phone modules, even if they aren't being used for voice or data at the time, perform periodic 'local area updates' where they send a short burst of information to the cell so that the network knows whether it's still attached and still on the same cell. This sudden transmit burst also suddenly ramps up the power consumption. In a good design a high capacity capacitor (or super cap) is used to provide this short-term peak power demand and the effect on the rest of the power rail is minimal..in a bad one it causes a sudden huge increase in load across the whole power rail and often noise on the rest of the system.
So..do other users see significant average SNR changes and better locks after first tracking with wireless off (i.e. in flight mode) ? Would be very interesting if that's a common observation and would indeed point to intermittent locally generated noise and something like incorrect AGC tracking as a root cause. Might even be fixable in the driver if they change the start point/duration/sampling interval on the AGC ..or even make sure the phone isn't transmitting noise at the time it performs the initial AGC lock. Might also explain why some users get good GPS performance and some don't..they're just lucky when it sets up the AGC.
Can we get a straw poll of the efect from oyther users with GPS problems?
Cheers