Closed jackobian closed 6 years ago
I looked at Andrew's article again quickly and couldn't find where he said position solutions occur at 1 Hz. But I can tell you exactly where in the code to look and see that they are computed every 4 seconds (1/4 Hz) not 1 Hz. Look at the file solve.cpp the routine called SolveTask(). The for(;;) loop has a TimerWait(4000) which is 4000 milliseconds (4 seconds). So only one solution every 4 seconds. This is what you will see with the GPS on the KiwiSDR as well.
I don't know why this delay is 4 seconds or what happens if you try and reduce it. There may be underlying reasons why it makes no sense to attempt to compute a solution more frequently than this given the architecture of the design.
I am not a GPS expert. But I don't think you will be able to get Andrew's code to perform at 10 Hz or more like modern GPS receivers. Those receivers use highly developed and optimized code to get that kind of performance. Andrew's code is extremely well written and an excellent educational tool. But it is a straightforward implementation with no high-performance optimizations for high rate solution computation. But I might be wrong. It would be interesting to check the other open source GPS distributions and see what their updates rates are.
Andrew say in his article that gps update rate is 1Hz(i.e every 1 sec there is position solution appear on lcd), -In yours design (Beagle_SDR_GPS ) Do you have the same update rate?