Hi! We see you’re using an ad-blocker. We’re fine with that and won’t stop you visiting the site.
But as we’re losing ad-revenue from this then why not make a donation towards website running costs?. Or you could disable your ad-blocker for this site. We think you’ll find our adverts are not overbearing!
Joined: 06/06/2003 10:17:21 Posts: 57 Location: United Kingdom
Posted: Thu Mar 23, 2006 2:56 am Post subject:
As I`m suffering from a bit of insomnia tonight, then I`ve done a bit of Googling on this - and there seems to be a substantial body of evidence to support Skippy`s viewpoint. It would seem many sources support the claim that GPS receivers do use Doppler measurements to give fast and - more importantly - accurate velocity measurements (within the device itself). I can`t find any articles debunking Doppler as being an inadequate means to measure speed (where supported). Here`s but a small and typical selection of the commentary I found on this - for those still interested ( !)
From the NAVSTAR GPS User Equipment Introduction document Section 3.7:
GPS receivers typically calculate velocity by measuring the frequency shift (Doppler shift) of the GPS D-band carrier(s). Velocity accuracy can be scenario dependent, (multipath, obstructed sky view from the dash of a car, mountains, city canyons, bad DOP) but 0.2 m/sec per axis (95%) is achievable for PPS and SPS velocity accuracy is the same as PPS when SA is off.
Velocity measured by a GPS is inherently 3 dimension, but consumer GPS receivers only report 2D (horizontal) speed on their readout. Garmin's specifications quote 0.1mph accuracy but due to signal degredation problems noted above, perhaps 0.5mph accuracy in typical automobile applications would be what you can count on.
Doppler-aiding
A signal processing strategy that uses a measured doppler shift to help the receiver smoothly track the GPS signal. This allows more precise velocity and position measurement.
Joined: Mar 02, 2006 Posts: 384 Location: Bedford, England
Posted: Thu Mar 23, 2006 10:21 am Post subject:
It is probably true that with sufficient processing power (and cost), you could determine location from doppler shift. The early "Transit" system did so. However, to achieve that you had to measure independently of the satellite, your precise course and speed. However, errors in direction and speed made for large errors in location.
There are 2 camps in this argument.
One says that the satnav determines multiple positions and has a very accurate clock. It divides distance by time to determine velocity.
The second says that the satnav has the ability to measure, highly accurately, the frequencies being received from multiple satellites. Based on those measurements, it then eliminates that doppler shift caused by the individual satellites moving at around 2000mph in different directions, and determines any remaining frequency shifts as being caused by the vehicle motion. It then calculates the speed of the vehicle from these frequency shifts. It can do so while the vehicle changes direction and speed, and automatically compensate for such changes. It also compensates for multipath reflections, where the direction of the signal changes.
If you were building a cheap satnav, with a retail price of £370, 32MB of ram, a 200Mhz clock and a size limit to allow you to fit it into your pocket, (Go 300)how would you proceed?
In this article it says " GPS devices apply this phenomenon to satellite. Since each satellite emmits a steady frequency from a steady place, the different frequency "heard" by the gps are due to the motion of this latter"
But surely, each satellite doesn't occupy a geostationary "steady place". The satellites all move so would display a continually varying doppler shift to a stationary receiver as they pass from horizon to horizon. The receiver would have to know the satellite induced shift that would apply at any instant in order to filter it out . (And this shift would be different for every receiver location) Only then could what was left be ascribed to the receiver velocity.
The general concensus of all your quotes seems to me that the use of doppler is only feasible for high end applications, where supreme accuracy takes priority over cost and processor limitation.
It is probably true that with sufficient processing power (and cost), you could determine location from doppler shift. The early "Transit" system did so. However, to achieve that you had to measure independently of the satellite, your precise course and speed. However, errors in direction and speed made for large errors in location.
There are 2 camps in this argument.
One says that the satnav determines multiple positions and has a very accurate clock. It divides distance by time to determine velocity.
The second says that the satnav has the ability to measure, highly accurately, the frequencies being received from multiple satellites. Based on those measurements, it then eliminates that doppler shift caused by the individual satellites moving at around 2000mph in different directions, and determines any remaining frequency shifts as being caused by the vehicle motion. It then calculates the speed of the vehicle from these frequency shifts. It can do so while the vehicle changes direction and speed, and automatically compensate for such changes. It also compensates for multipath reflections, where the direction of the signal changes.
If you were building a cheap satnav, with a retail price of £370, 32MB of ram, a 200Mhz clock and a size limit to allow you to fit it into your pocket, (Go 300)how would you proceed?
My Tomtom doesnt have a very accurate clock, its usually off by a few minutes, but that doesnt seem to affect its accuracy.
I think the flaw in your supposition is that you have to build all this complexity, whereas in fact its pretty much all contained within a chip or at most a few chips, so in fact the cost comes from things such as size and type of screen, maps, build quality, mapping algorithms, etc. But not the basic cost of the satnav fundamentals.
Joined: Mar 02, 2006 Posts: 384 Location: Bedford, England
Posted: Thu Mar 23, 2006 5:37 pm Post subject:
Tumbleweed wrote:
My Tomtom doesnt have a very accurate clock, its usually off by a few minutes, but that doesnt seem to affect its accuracy.
I think the flaw in your supposition is that you have to build all this complexity, whereas in fact its pretty much all contained within a chip or at most a few chips, so in fact the cost comes from things such as size and type of screen, maps, build quality, mapping algorithms, etc. But not the basic cost of the satnav fundamentals.
tw
I understand that the internal clock which determines position can operate to atomic clock levels of accuracy. By using 4 or more satellites, any error in the internal clock timing can be taken out, and the time corrected to that of the satellites. However, the displayed clock can be several seconds out. If you synchronise it to the satellite time it is very accurate. It appears however that the synchronisation is only done when you manually select it, and the displayed time is then allowed to drift until the next synch.
Joined: 06/06/2003 10:17:21 Posts: 57 Location: United Kingdom
Posted: Thu Mar 23, 2006 7:00 pm Post subject:
I think TW has a good point there, and to expand upon it:
Well is a Doppler measurement so tricky in a low-end GPS receiver ? If a spec-driven manufacturer (and most of them are very spec driven) wanted to produce a high-accuracy figure for speed measurement in a low-end receiver then how might they achieve that (in overview !) ?
Frequency measurement
You have a 12 channel GPS receiver. So long as you’re locked to at least four sats then you’ll have a very good clock (referenced from the atomic clocks in the sats). You measure amplitude of the signal against time to determine the frequency in each channel. Because of the good clock, you’ll have a very accurate frequency measurement in each channel of reception – without every having to know your location or speed. To determine frequency, the receiver need only measure the varying signal against time – not locate itself.
Speed determination
The position and trajectory of the satellites you are locked onto is very well defined. After all, the sats transmit this exact data directly to the receiver. So we know exactly where the sats are in the sky (that you’re locked onto). In each channel, you compare your reception frequency (measured above) to what it should be (based upon the info that particular sat gives out regards position and trajectory). You can then reference the Doppler shift, in each channel, for the satellites compared to their know positions and trajectories. This will give you your speed and bearing without the receiver ever having to know its location.
I would imagine that this is all well within the means of a cheap GPS receiver, and this is why there are so many references to it on the net. And it would also explain why many cheap GPS receivers are able to quote such accurate figures for speed (all in ideal reception conditions of course). With an uncertainty of 10m from each 1 sec sample, I don’t possibly see how a GPS receiver could be so accurate on speed if it used a distance vs time calculation. Sure there are inaccuracies in the Doppler method, but nothing like as significant as a GPS trying to work it out using a 1 sec distance vs time measurement.
Whether TomTom takes this info as read from my Fortuna Clip-On I have no idea. TomTom might use its own algorithm to calculate speed based upon other info supplied by GPS receiver. But a cheap GPS receiver should easily be able to measure very accurately (with a four sat lock) the incoming frequency in each channel, and use the position/trajectory info transmitted in channel to get its speed and bearings.
All in theory of course. I haven’t got a clue how it actually works ! But hey, I’m just using my engineering experience, outside of GPS, to extrapolate how it might all work also…
Joined: 24/06/2003 00:22:12 Posts: 2946 Location: Escaped to the Antipodies! 36.83°S 174.75°E
Posted: Thu Mar 23, 2006 11:25 pm Post subject:
Lost Cause wrote:
With an uncertainty of 10m from each 1 sec sample, I don’t possibly see how a GPS receiver could be so accurate on speed if it used a distance vs time calculation.
That's what I think too.
The GPS receiver accuracy is quoted as .1 meters/second for (My Garmin GPS unit). If it calculated this by comparing the current position to the last known position then you would get large errors at slow speeds where the positioning error was relatively large compared to the distance traveled.
Lost Cause wrote:
TomTom might use its own algorithm to calculate speed based upon other info supplied by GPS receiver.
No, I don't think this is the case because the speed, heading, lat and long are presented as part of the NMEA data. There is no need for the application to calculate it.
This is what the NMEA Recommended Minimum Code output from a GPS looks like.
Where:
RMC Recommended Minimum sentence C
123519 Fix taken at 12:35:19 UTC
A Status A=active or V=Void.
4807.038,N Latitude 48 deg 07.038' N
01131.000,E Longitude 11 deg 31.000' E
022.4 Speed over the ground in knots
084.4 Track angle in degrees True
230394 Date - 23rd of March 1994
003.1,W Magnetic Variation
*6A The checksum data, always begins with *
The only thing the Sat Nav program has to do is draw the map, and lock the vehicle to the nearest road if applicable. _________________ Gone fishing!
Joined: 24/06/2003 00:22:12 Posts: 2946 Location: Escaped to the Antipodies! 36.83°S 174.75°E
Posted: Thu Mar 23, 2006 11:45 pm Post subject:
TomDavison wrote:
If you were building a cheap satnav, with a retail price of £370, 32MB of ram, a 200Mhz clock and a size limit to allow you to fit it into your pocket, (Go 300)how would you proceed?
Probably in much the same way as TomTom!
Don't forget that TomTom don't make GPS receivers, they only make the mapping part of the unit. The receiver itself is made by a company called SiRF who also OEM the chipsets for a large percentage of the bluetooth GPS receivers on the market.
As for the CPU being quite limited, it's not so much what you have it's how you use it. You will find that GPS units are based on highly specialised and custom designed signal processors which are specifically suited to the number crunching needed for decoding the GPS signals.
But hey, I remember when we had fully functional PCs with 200 Mhz CPUs surely I'm not that old. _________________ Gone fishing!
Joined: Mar 02, 2006 Posts: 384 Location: Bedford, England
Posted: Fri Mar 24, 2006 10:52 am Post subject:
Lost Cause wrote:
Frequency measurement
You have a 12 channel GPS receiver. So long as you’re locked to at least four sats then you’ll have a very good clock (referenced from the atomic clocks in the sats). You measure amplitude of the signal against time to determine the frequency in each channel. Because of the good clock, you’ll have a very accurate frequency measurement in each channel of reception – without every having to know your location or speed. To determine frequency, the receiver need only measure the varying signal against time – not locate itself.
Speed determination
The position and trajectory of the satellites you are locked onto is very well defined. After all, the sats transmit this exact data directly to the receiver. So we know exactly where the sats are in the sky (that you’re locked onto). In each channel, you compare your reception frequency (measured above) to what it should be (based upon the info that particular sat gives out regards position and trajectory). You can then reference the Doppler shift, in each channel, for the satellites compared to their know positions and trajectories. This will give you your speed and bearing without the receiver ever having to know its location.
…
Problem with this is that there is a doppler shift induced by the movement of the satellite, and this will vary for every different location over the face of the earth. At any moment in time, the satellite will be approaching one location on the horizon directly in front, receding from one location on the horizon directly behind, and be passing over a line drawn at right angles to it's path directly below it. The doppler shift will vary uniformly from a maximum increase in frequency as the satellite comes into view, to zero as it passes overhead, to a maximum decrease as is passes out of view. This will also vary with the distance off-track the receiver is. Without knowing location, how do you determine what shift is attributable to the satellite motion, and by elimination, what is attributable to receiver motion. I don't know myself, but it seems awfully complicated to have to know this for every satellite in view.
You are correct in thinking that it is a simple distance x time calculation. The Doppler shift idea is really not usable in a GPS application as far as I can tell.
Joined: 06/06/2003 10:17:21 Posts: 57 Location: United Kingdom
Posted: Fri Mar 24, 2006 2:28 pm Post subject:
Hmmm… well again that is a customer service centre response (whose job it is to answer as many enquiries as quickly as possible – and is not manned by engineers). The answer not only contradicts a large body of information on the internet, but also fails to explain how my Fortuna Clip-On can produce position information only accurate to 10m, yet can quote a speed accuracy figure of a most impressive 0.1m/sec ?? As indeed do most of the cheap Sirf based receivers.
When I was posting my guess on how a cheap GPS might use Doppler shift to measure speed and direction, it was in the back of my mind that some reference to position would be required – but I didn’t know how best to express it. As you say, the position would be required, but only in an approximate sense to gauge whether the sats were approaching or receeding, to aid in the Doppler calculation.
So I’ve done a bit of further research. What was the result of this reading ? Well, to return to a GPS receiver locating itself to begin with. In trying to locate itself more accurately, the GPS receiver needs to account for Doppler shift anyway. Furthermore, the effects of the atmosphere also skew readings leading to inaccuracy – these effects are at their greatest as the satellite approaches or rises from the horizon. Therefore, the manufactures have modelled all this, and it is a development of modern GPS receivers (cheap ones included) that they have algorithms embedded that take account of the Doppler shift of the sats approaching/receeding, and slurring effects of the atmosphere – with the end goal of greater accuracy in position. Which, ironically, is of greatest benefit in the cheap receivers. Once the receiver has located itself, and with the knowledge of the position and orbital characteristics of the locked then the embedded algorithms get to work. Again, transmission frequencies of the satellites can be very accurately measured; we know where they are and where they are going; so it’s quite straight forward to embed algorithms to compensate for Doppler and atmospheric effects (height above horizon etc) - once you've modelled it. The end result is cheap GPS receivers that are quite accurate, and certainly more accurate than they were a few years ago.
Soooo… knowing all of that now, I would predict that as the cheap receivers have these models built in already, then in calculating speed the following amendment to my earlier post would be required. To calculate the speed, then the approximate position of the GPS receiver would be required. The embedded algorithm already knows what the Doppler shift would therefore be at that receiver position for that particular satellite in that particular orbital location. At this point the actual measured reception frequency (in each channel) can then be referenced against the value the model predicts for that receiver location to provide a velocity readout. All of which would be much more accurate than a straight time vs distance calculation.
This is all how it seems to go on – from my reading – inside the GPS receiver itself. How TomTom, or any other navigation software, reports speed might be different. Since reception conditions can vary due to foliage, etc, then so (many sources report) that the speed readout of the GPS can become inaccurate based on the Doppler/phase carrier principle. Therefore, the routing software *might* (with the emphasis on might) instead decide to apply a smoothing process over time to the speed readout of the GPS receiver. I doubt the company producing the routing software would want the speed reading jumping all over the place, in the same way they don’t want your position jumping all over the place on the map. Or it might decide to sample the position information of the GPS receiver over time and do a distance vs time calculation instead, to smooth it all out!!
Anyhow, coming back to the GPS receiver itself and how it calculates speed, then the net seems pretty unanimous in technical discussion that a combination of two strategies is used. Firstly, the Doppler effect – which is very much integrated into cheaper GPS receivers; and secondly a tracking of phase on the carrier.
Now, if one were to refute all this, I still don’t yet see a convincing argument on how one could attain accurate speed measurements of 0.1m/s from cheap GPS receivers – such as the Fortuna Clip-on – using the Sirf chipsets, which similarly can only quote 10m position accuracy between successive samples ?
I’ve been having a search through Sirf’s website to see if they have any technical info on this, but their technical library section of the website is under construction alas. As Sirf are the dominant chipset manufacturer for cheap GPS receivers, then I think any such questions are best fired at them (I have to say), rather than at companies compiling the routing software.
Joined: Mar 02, 2006 Posts: 384 Location: Bedford, England
Posted: Fri Mar 24, 2006 2:37 pm Post subject:
Lost Cause wrote:
I’ve been having a search through Sirf’s website to see if they have any technical info on this, but their technical library section of the website is under construction alas. As Sirf are the dominant chipset manufacturer for cheap GPS receivers, then I think any such questions are best fired at them (I have to say), rather than at companies compiling the routing software.
Which is why I e-mailed them earlier. Let you know the result.
Thanks for not calling me an engineer! The short answer was because I was busy, but I rise to the challenge -
Although the location is quoted as 10m, and he says it’s strange that the speed is 0.1mph – this is because that subsequent locations are normally taken from the same satellites. This means that subsequent locations are very accurate in relation to each other (similar to differentially corrected), and although both locations may be out by 10m, in relation to each other they will be quite accurate.
This means that the speed which is a function of the difference of the two locations is fairly accurate.
Also think of headings, which only are relevant once the GPS receiver is moving, this is derived from subsequent locations.
If you are moving around a town where your receiver jumps to different satellites, it will also get variations in speed and jumps. Many receivers mask this data in their output through a software filter, but if you have one where you can turn this off, you will see this jumping about – you probably have the filters turned off if you continue to get a speed reading (albeit small) while static, which is perfectly normal behaviour of a GPS receiver as tropospheric errors etc. are changing all the time.
I’ve been working with GPS since 1991, through many different receivers from Rockwell, Conexant, SiRF etc.
Posted: Today Post subject: Pocket GPS Advertising
We see you’re using an ad-blocker. We’re fine with that and won’t stop you visiting the site.
Have you considered making a donation towards website running costs?. Or you could disable your ad-blocker for this site. We think you’ll find our adverts are not overbearing!
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
Or you could disable your ad-blocker for this site. We think you’ll find our adverts are not overbearing!
Hi! We see you’re using an ad-blocker. We’re fine with that and won’t stop you visiting the site.
But as we’re losing ad-revenue from this then why not make a donation towards website running costs?. Or you could disable your ad-blocker for this site. We think you’ll find our adverts are not overbearing!