Choosing the right constellations, satellite limits, and logging rates is a complex, but crucial decision.
It would be good to identify a shortlist of optimal configurations, based on M10 and ESP32 clock speeds.
Static testing provides a controlled environment to test devices systematically, and is very easy to perform.
Be aware that the +/- values in the software may mislead you… see earlier test comparing 5 Hz and 10 Hz.
This battery of tests has been inspired by the plan for fundamentals testing, but is specific to the ESP-GPS.
There are several phases planned, which can each be split up over a number of days:
The final outcome should be an optimal configuration for the existing ESP-GPS devices.
Note: 16 Hz is not a divisor of 1000, but it is closely related to 4 Hz and 8 Hz.
Compare both of the 2 constellation configurations:
| Test | ESP-GPS #1 | ESP-GPS #2 | Rate |
|---|---|---|---|
| 1.1 | GPS + GLONASS | GPS + Galileo | 10 Hz |
| 1.2 | GPS + GLONASS | GPS + Galileo | 16 Hz |
| 1.3 | GPS + GLONASS | GPS + Galileo | 20 Hz |
Total duration = 6 hours, excluding analysis
Notes:
I suspect that GLONASS will have the least favourable results, but it needs some actual proof.
The 20 Hz tests might result in some dropped frames, demonstrating that the CPU bandwidth has been exceeded.
Dropped frames can potential be avoided by reducing the maximum number of satellites from the default of 32.
Test whether GPS + GLONASS + Galileo improves accuracy:
| Test | ESP-GPS #1 | ESP-GPS #2 | Rate |
|---|---|---|---|
| 2.1 | GPS + GLONASS + Galileo | GPS + GLONASS | 10 Hz |
| 2.2 | GPS + GLONASS + Galileo | GPS + GLONASS | 16 Hz |
| 2.3 | GPS + GLONASS + Galileo @ 16 Hz | GPS + GLONASS @ 20 Hz | - |
Total duration = 6 hours, excluding analysis
Notes:
The addition of Galileo should improve the accuracy of the results.
The 16 Hz and 20 Hz tests might result in some dropped frames, demonstrating that the CPU bandwidth has been exceeded.
Dropped frames can potential be avoided by reducing the maximum number of satellites from the default of 32.
Test whether GPS + Galileo + BeiDou B1C improves accuracy:
| Test | ESP-GPS #1 | ESP-GPS #2 | Rate |
|---|---|---|---|
| 3.1 | GPS + Galileo + BeiDou B1C | GPS + Galileo | 10 Hz |
| 3.2 | GPS + Galileo + BeiDou B1C | GPS + Galileo | 16 Hz |
| 3.3 | GPS + Galileo + BeiDou B1C @ 16 Hz | GPS + Galileo @ 20 Hz | - |
Total duration = 6 hours, excluding analysis
Notes:
The addition of BeiDou B1C should improve the accuracy of the results.
The 16 Hz and 20 Hz tests might result in some dropped frames, demonstrating that the CPU bandwidth has been exceeded.
Dropped frames can potential be avoided by reducing the maximum number of satellites from the default of 32.
Compare both of the 3 constellation configurations:
| Test | ESP-GPS #1 | ESP-GPS #2 | Rate |
|---|---|---|---|
| 4.1 | GPS + Galileo + GLONASS | GPS + Galileo + BeiDou B1C | 8 Hz |
| 4.2 | GPS + Galileo + GLONASS | GPS + Galileo + BeiDou B1C | 10 Hz |
| 4.3 | GPS + Galileo + GLONASS | GPS + Galileo + BeiDou B1C | 16 Hz |
Total duration = 6 hours, excluding analysis
Notes:
I suspect that GLONASS will have the least favourable results, but it needs some actual proof.
The 16 Hz tests might result in some dropped frames, demonstrating that the CPU bandwidth has been exceeded.
Dropped frames can potential be avoided by reducing the maximum number of satellites from the default of 32.
Compare 4 constellations against the best 3 constellations, assumed to be GPS + Galileo + BeiDou B1C :
| Test | ESP-GPS #1 | ESP-GPS #2 | Rate |
|---|---|---|---|
| 5.1 | GPS + Galileo + BeiDou B1C + GLONASS | GPS + Galileo + BeiDou B1C | 8 Hz |
| 5.2 | GPS + Galileo + BeiDou B1C + GLONASS | GPS + Galileo + BeiDou B1C | 10 Hz |
| 5.3 | GPS + Galileo + BeiDou B1C + GLONASS @ 10 Hz | GPS + Galileo + BeiDou B1C @ 16 Hz | - |
Notes:
Total duration = 6 hours, excluding analysis
I suspect that 4 systems will show negligible benefit, because the maximum number of satellites is limited to 32.
The 10 Hz and 16 Hz tests might result in some dropped frames, demonstrating that the CPU bandwidth has been exceeded.
Dropped frames can potential be avoided by reducing the maximum number of satellites from the default of 32.
The intended outcome of this investigation will be the optimal configurations, based on M10 and ESP32 clock speeds.
For example:
| M10 @ 128 MHz | M10 @ 192 MHz | |
|---|---|---|
| ESP32 @ 80 MHz | GPS + Galileo + BeiDou B1C @ 8 Hz | - |
| ESP32 @ 160 MHz | - | GPS + Galileo + BeiDou B1C @ 16 Hz |
In order to prevent dropped frames, maximum numbers of satellites will almost certainly need to be restricted.
Different logging rates can be offered to anyone who wants smaller files, e.g. GPS + Galileo + BeiDou B1C @ 4 Hz.
Future refinements to the ESP-GPS configuration may also benefit from the findings of fundamentals testing.
Use GNSS View with mask angle of 5 degrees to ascertain the expected number of satellites for each constellation.
Ignore the square satellites (geo-stationary) and focus only on the round ones (MEO).