Garmins 25LP OEM Receiver Tested

Recently, Garmin loaned me two of their 25LP OEM receivers for evaluation. These receivers form the heart of many popular Garmin GPS receivers, e.g. the 12XL and the III.
In this page the results of some tests are reported:

  1. In a so-called zero baseline setup the multipath- and noise of the raw C/A code and carrier were determined (see my multipath and noise pages for an explanation of the method).

  2. Two short baseline tests, one in a multipath benign environment and one in a multipath heavy environment,  allowed me to gain more insight into the receiver behaviour under favourable conditions and under realistic conditions.

  3. Finally, the receiver tracking performance results in the urban canyon and in the woods are reported.


Experiment 1.

In the first experiment, I used Tri-M's Mighty Mouse antenna on a small groundplane (25 cm dia) on top of my roof, with an unobstructed view over the horizon. The antenna was connected to a tri-way splitter with a DC coupling to my reference receiver, and the the antenna inputs of the two 25LP's AC coupled via a 100pF capacitor. (the three receivers in a 'zero-baseline' setup). The 25LP's were set-up to generate raw measurement data in Garmin's binary format. The data was downloaded to the serial ports of my PC. About two hours of data were recorded and processed.

I repeated the experiment, but replaced the Mighty Mouse by a high quality geodetic antenna with a choke ring ground plane. The contribution of the antenna to the C/A code multipath is significant - see the results below.


1.1. C/A Code Multipath

The graph above shows the C/A code multipath magnitude of both receivers connected to the Mighty Mouse.
The relation between the multipath (1 sigma value) and the elevation is clear, but not very strong. Receiver 1 seems to have a slightly better multipath behaviour compared to receiver 2. The maximum value is 6 m, the average value for elevations between 30 and 90 deg about 2.3 m, going up to about 4 m at low elevations.

This graph shows the C/A code multipath with the receivers connected to the geodetic antenna.
The value at high elevation is only 0.8 m, and around 3 m at the lowest elevations. In other words, more than a factor of two improvement over the experiment with the Mighty Mouse antenna (btw, the price of the geodetic antenna is at least a factor of ten higher than the Mighty Mouse !).


1.2. C/A Code Noise

The graph above gives the C/A code noise with the Mighty Mouse antenna. Obviously, the noise is independent of elevation, and has an average value of about 0.8 m (1 sigma). The C/A code noise with the receivers hooked to the geodetic antenna is slightly lower with an average of about 0.6 m, the graph is quite similar and not presented here.
Most probably the receiver noise is the larger contribution, and the antenna (plus pre-amp) noise the smaller contribution.

To see how noise (and residual multipath) affects the calculated position, I processed the data sets with the Mighty Mouse in the single difference mode, using one receiver as the reference and the other as the moving receiver. Since both receivers share the same antenna, the position difference should be zero, deviations are the result of the receiver (and antenna) noise. The two figures below give a plot of latitude versus longitude, and height versus time.

The 1 sigma values are:
Latitude Longitude Height
1.0 m 0.7 m 1.5 m

Smoothing the raw data improves the results, see the two figures below.

In this case the 1 sigma values reduce to:
Latitude Longitude Height
0.8 m 0.4 m 1.0 m


1.3. C/A Carrier Noise

The C/A carrier noise is essentially the same for the receivers with the Mighty Mouse and the geodetic antenna. The results of the first experiment are presented above, and be warned: the legend at the vertical axis should read : noise [cycles], not [m]
The noise is clearly related to the satellites elevation: 0.02 cycles or 4 mm average (1 sigma) at elevations above 30 deg, increasing to about 0.04 cycles (8 mm) at low elevations.

In principle, this low amount of carrier phase noise allows application of techniques to compute position difference between receivers at the cm accuracy level (carrier phase double difference techniques). Forming double differences of the carrier phase observations (see the theory page) in a zero baseline test should result in integer values with (twice) the carrier noise contribution above. When the noise level is in the order of  0.1 cycle or 2 cm, it is possible to estimate the integer value (the double difference cycle ambiguity value). Once the cycle ambiguities of at least three satellite pairs are known, the position difference between the receivers can be calculated to the above mentioned accuracy.

Unfortunately, the 25LP suffers from an effect called 'half-cycle-ambiguity', which means that the ambiguities can average equally well to integers or values exactly halfway in between. This 'feature' restricts application of the above technique heavily. I hope, that Garmin fixes this behaviour in a next firmware update of the 25LP.


Experiment 2a

The first part of the second experiment was aimed at establishing the receiver performance in the single difference mode, and in a multipath-beneign environment.

I used my reference receiver with the geodetic antenna (with the choke ring ground plane) on top of my housse as a high quality reference station, logging raw data once per second. 

I placed the Mighty Mouse on top of my car and connected three receivers to it via the three-way splitter described above: one 25LP, one Rockwell Jupiter OEM receiver, and a geodetic quality receiver. I parked my car close to Amsterdam Schiphol Airport in an area with an unobstructed view, about 3.7 km away from 'home'.

I logged raw data from all three receivers for one hour at a rate of once per second. The reference receivers allowed me to establish the 'true' baseline between 'home' and 'car' with an accuracy of 1 to 2 cm (double difference carrier phase solution).

I processed the raw 25LP data in the single difference pseudorange mode, unsmoothed and smoothed. Next, I determined the average and standard deviation of the position components and compared them to the double difference carrier phase solution.

The table below gives the statistics for 3041 observations. The bias is the difference between the averaged position and the true position, the standard deviation is a measure of the scatter around the average position. The 95 % error equals bias + 2 times the standard deviation and gives the maximum error for 95 % of all observations.

Processing mode error Latitude
[m]
Longitude
[m]
Height
[m]
Non-smoothed bias -0.74 0.80 -0.61
  st.dev 0.88 1.02 1.75
  95% 2.50 2.84 4.10
Smoothed bias -0.76 0.82 -0.73
  st.dev 0.59 0.55 1.09
  95% 1.94 1.92 2.91

A number of conclusions can be drawn from this table:

The horizontal scatter plot below give an indication of the receiver performance in a multipath benign environment.


Experiment 2b

The second part of the second experiment was a repetition of the first part, but in a not-so-friendly multipath environment.

The setup was identical to experiment 2, with the only difference that I parked my car 15 m in front of a metal warehouse with a height of about 15 m. The warehouse acted as a nearly perfect 'mirror' for the satellite signals, maximizing the detrimental effects of multipath reflections.

Again I logged raw data from all three receivers for one hour at a rate of once per second. The reference receivers allowed me to establish the 'true' baseline (about 3 km) between 'home' and 'car' with an accuracy of 1 to 2 cm (double difference carrier phase solution).
Multipath turned out to be moderate during the first 37 minutes, turning into heavy during the last 20 minutes. Therefore I'll split the results into two parts.
First the moderate multipath case. The table below gives the statistics for the non-smoothed processing mode and for 2237 observations .
Processing mode error Latitude
[m]
Longitude
[m]
Height
[m]
Non-smoothed bias -1.4 0.2 1.6
  st.dev 2.8 1.9 6.2
  95% 7.0 4.0 6.2
Smoothed bias -0.9 0.2 1.0
  st.dev 1.3 0.9 2.5
  95% 3.5 2.0 6.0

Obviously the error, even in a moderate multipath environment is significantly larger than the error in a multipath benign environment. The height error increased nearly by a factor of 5 from 3 m to 14 m ! The figure below shows the horizontal scatter plot for the non-smoothed case, horizontal excursions up to 17 m are present.

The heavy multipath case is a dramatic increase in error as shown by the table below for 1173 observations.
Processing mode error Latitude
[m]
Longitude
[m]
Height
[m]
Non-smoothed bias -3 3 14
  st.dev 10 7 17
  95% 23 17 48
Smoothed bias -3 4 11
  8 5 14
  95% 19 14 39

The non-smoothed horizontal scatterplot below looks more like a stand-alone position solution than a differential solution !

A more in-depth analysis of the data showed, that the error is mainly caused by satellite prn 10 as is clearly shown by its multipath plot below. This classical multipath case also shows the non-linear behaviour of the multipath error, which results not only in a large position scatter, but also an increased bias component (see the table above). It is the bias component which unfortunately reduces the effectiveness of smoothing.


Experiment 3

The last experiment was aimed at learning more about the tracking performance of the 25LP in the urban canyon and under foliage. The setup was identical to experiment 2, and I drove my car through some narrow roads with appartment buildings, and through the Hoofddorp Woods closeby. The latitude/longitude plots below shows the path that I followed. The upper plot gives the foliage track, the lower plot the track through the urban canyon.

Some observations can be made:

I looked at a number of different statistics in order to describe the tracking performance of the 25LP.
First, I looked at the number of observations with less than 4 satellites (which do not give a position solution, at least 4 satellites are required to give a 3D position solution). The track in the urban canyon and in the woods took 856 seconds to complete, hence under favourable conditions the same number of calculated positions should be available. In reality however, 8 observations had 3 or less satellites, resulting in 848 positions.
Next, I looked at the PDOP of the remaining position solutions. The PDOP or Position Dilution Of  Precision is a number which indicates the geometric strength of the available satellite constellation. Usually one considers a PDOP of less than 6 to be acceptable. With this criterion, 19 out of 848 observations were discarded. This resulted finally in 818 observations, or slightly over 3 % 'lost'. Of these 818 observations, only 707 had more than 4 satellites and an average pseudorange error of less than 5 m, or in other words: in 82.6% of the time it has been possible to calculate a 'good' position.


Compare the Garmin 25LP results with the Rockwell Jupiter results


LE FastCounter

Back to index.