This repository has been archived by the owner on Aug 1, 2020. It is now read-only.
Position decoding bugfixes + improvements to position filtering and relative decoding #22
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
First 2 patches: Bugfixes
Other patches: Improving filtering and relative CPR
After having tested these changes for a couple of days against a reference version getting the same beast input, all seems solid.
I turned on the speed filter debugging for both versions, and the old version definitely produced some false positives especially for landing aircraft as the new ground speed is used as reference while the majority of the landing run was at higher speed.
I haven't seen any instances of the new filter permitting actual bogus positions where the old version filter didn't.
The pos_reliable change works very well as it allows getting some positions further away as the aircraft is leaving the coverage of the receiver. If a stray position message then reaches the receiver, local CPR decoding can be done where it couldn't be before giving you a position.
It's not a huge number of position decodes but they are in areas where you get few position reports, so it matters in my opinion.
In the last patch i've added a console option in regards to pos_reliable, so you can revert to the old behaviour. But it should be an all around improvement using at least 2 as a value for filterPersistence.
I'm not sure which value you would prefer in regards to stale aircraft in the JSON file.
90 seconds seems plenty, but that's up to you
As aircraft are now retained twice as long, to keep the current behaviour 300 seconds instead of 90 would be the way to go.