20080731

Setup

I have 3 GPS receivers at my disposal (including the FreeRunner) so I thought I would test the FreeRunner using the other two as refrences.

The refrence systems are a Navi GPS BGT-11 and a Rayming TripNav TN200

Opkg tells me I have kernel "2:2.6.24+git25+8533927964761f4e2078ccd8607b90f5acc60b93-r0" installed on the FreeRunner.

Procedure

I placed all 3 GPS units on the roof of my car, spaced about 40-50 cm apart. I plugged all 3 of the into my notebook via USB. I ran two instances of gpsd (version 2.36) on my notebook to controll the BGT-11 and the TN200 and I configure the USB networking with the FreeRunner so I could talk to its gpsd (version 2.34).

Next I ran three instances of xgps so I could monitor the status of the the units. This was when I noticed the first bit of wierdness with the FreeRunner; it was constantly alternating between 2D and 3D fix. Even though it had more than 4 strong satelite signals. It actually detected and tracked more satelites than either of the refrence systems, but the refrence systems held a 3D fix for most of the testing while the FreeRunner bounced back and forth between 2D and 3D.

Then I ran three instances of gpsprof to collect 2,500 fixes and plot them. This is when I noticed the next bit of wierdness with the FreeRunner; while it took just under 2,100 seconds to collect the 2,500 points from the refrence systems, it only took the FreeRunner less then 600 seconds. Maybe that is a difference between gpsd vers 2.34 and 2.36, I really don't know.

I ran this collection 3 times, once with the SD card removed from the FreeRunner, once with it installed but idle and once with it being used heavily. This is when I noticed the third bit of wierdness with the FreeRunner; when the SD card was being used heavily, gpsd kept dying on the FreeRunner. I had to rerun the test a few times before I successfully captured the 2500 fixes.

Results

The results for the BGT-11

SD Card testRun timeCEP(50%)# of FixesPosition# of Altitude FixesAltitude
Idle 2084.95 sec 2.756134 m 2500 51.044194N,114.174713W 2489 1212.023467 m
Removed 2083.26 sec 3.776681 m 2500 51.044216N,114.174736W 2500 1212.928348 m
Busy 2082.88 sec 1.600676 m 2500 51.044210N,114.174748W 2500 1214.673024 m

BGT-11 idle test BGT-11 removed test BGT-11 busy test

The results for the TN200

SD Card testRun timeCEP(50%)# of FixesPosition# of Altitude FixesAltitude
Idle 2082.47 sec 2.096085 m 2500 51.044191N,114.174677W 2500 1213.947100 m
Removed 2083.82 sec 2.467722 m 2500 51.044188N,114.174692W 2500 1214.740792 m
Busy 2083.52 sec 2.267680 m 2500 51.044194N,114.174690W 2500 1214.795966 m

TN200 idle test TN200 removed test TN200 busy test

The results for the FreeRunner

SD Card testRun timeCEP(50%)# of FixesPosition# of Altitude FixesAltitude
Idle 499.98 sec 1.611909 m 2500 51.044235N,114.174706W 2000 1216.774200 m
Removed 500.16 sec 2.561012 m 2500 51.044191N,114.174683W 2000 1217.397600 m
Busy 563.57 sec 7999885 m 2500 ??N,??W 1906 1214.926285 m

FreeRunner idle test FreeRunner removed test FreeRunner busy test

20080802

Procedure

Updated the FreeRunner today and reran the tests.

Also did a bit of digging into the wild values showing up on the FreeRunner when the SDCard is busy. It turns out that gpsd will return a value of 10,000,000,000 as the value of NaN. So if you are averaging a buch of values that should be around 51.0xxxx it doesn't take very many instances of a value of 10 billion to really screw up that average. gpsprof expected to find NaN in the altitude field, but didn't check for it in lat. or long. I modified gpsprof to throw away any sample with lat. or long. out of range.

Results

The results for the BGT-11

SD Card testRun timeCEP(50%)# of FixesPosition# of Altitude FixesAltitude
Idle 2084.82 sec 4.209351 m 2500 51.04440N,114.174483W 2496 1216.4960002 m
Removed 2083.73 sec 2.478665 m 2500 51.044367N,114.174468W 2500 1213.24324 m
Busy 2088.56 sec 5.077799 m 2500 51.044423N,114.174477W 2499 1215.274126 m

BGT-11 idle test BGT-11 removed test BGT-11 busy test

The results for the TN200

SD Card testRun timeCEP(50%)# of FixesPosition# of Altitude FixesAltitude
Idle 2084.63 sec 4.211493 m 2500 51.044385N,114.174471W 2500 1218.340160 m
Removed 2084.30 sec 4.107383 m 2500 51.044372N,114.174498W 2500 1213.524064 m
Busy 2086.53 sec 5.278166 m 2500 51.044395N,114.174482W 2500 1218.394984 m

TN200 idle test TN200 removed test TN200 busy test

The results for the FreeRunner

SD Card testRun timeCEP(50%)# of FixesPosition# of Altitude FixesAltitude
Idle 499.86 sec 1.468396 m 2500 51.044455N,114.17446W 2000 1223.977800 m
Removed 500.00 sec 1.645148 m 2500 51.044393N,114.174437W 2000 1220.398400 m
Busy 590.45 sec 1.288408 m 2498 51.04448N,114.174460W 1847 1224.044884m

FreeRunner idle test FreeRunner removed test FreeRunner busy test