Strong preamble detection even with --aggressive.
To try to decode messages with a fundamentally flawed preamble is mostly a useless waste of CPU time. The new aggressive mode still detects a sensible percentage of additional messages because of the error tolerance and two-bits fixes but does not waste your CPU time.
This commit is contained in:
parent
184953ff92
commit
977493cf63
|
@ -195,7 +195,6 @@ sending DF17 packets), but can detect a few more messages.
|
||||||
|
|
||||||
The algorithm in aggressive mode is modified in the following ways:
|
The algorithm in aggressive mode is modified in the following ways:
|
||||||
|
|
||||||
* Preamble detection is weakened to be more liberal in what is consdered valid.
|
|
||||||
* Up to two demodulation errors are tolerated (adjacent entires in the magnitude
|
* Up to two demodulation errors are tolerated (adjacent entires in the magnitude
|
||||||
vector with the same eight). Normally only messages without errors are
|
vector with the same eight). Normally only messages without errors are
|
||||||
checked.
|
checked.
|
||||||
|
|
|
@ -1361,7 +1361,6 @@ void detectModeS(uint16_t *m, uint32_t mlen) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Modes.aggressive) {
|
|
||||||
/* The samples between the two spikes must be < than the average
|
/* The samples between the two spikes must be < than the average
|
||||||
* of the high spikes level. We don't test bits too near to
|
* of the high spikes level. We don't test bits too near to
|
||||||
* the high levels as signals can be out of phase so part of the
|
* the high levels as signals can be out of phase so part of the
|
||||||
|
@ -1393,7 +1392,6 @@ void detectModeS(uint16_t *m, uint32_t mlen) {
|
||||||
msg, m, j);
|
msg, m, j);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
Modes.stat_valid_preamble++;
|
Modes.stat_valid_preamble++;
|
||||||
|
|
||||||
good_preamble:
|
good_preamble:
|
||||||
|
|
Loading…
Reference in a new issue