minimodem: fsk confidence thresholds: thresh=1.5, limit=2.3

Note: fsk_confidence_thresh can now be reduced to 1.5 due to track_amplitude.
This commit is contained in:
Kamal Mostafa 2012-08-26 15:16:49 -07:00
parent 3447a994b7
commit becf16761e
2 changed files with 18 additions and 13 deletions

View File

@ -48,19 +48,23 @@ receive mode: decode audio tones
.B \-a, \-\-auto-carrier .B \-a, \-\-auto-carrier
automatically detect mark and space frequences from carrier automatically detect mark and space frequences from carrier
.TP .TP
.B \-c, \-\-confidence min-snr-threshold .B \-c, \-\-confidence min-confidence-threshold
Set receive confidence minimum SNR threshold (default 2.0). Set receive confidence minimum threshold (default 1.5).
The "confidence" value is a metric based primarily on
the SNR (signal-to-noise ratio) of the received signal.
This value acts as an FSK decoder "squelch" control. This value acts as an FSK decoder "squelch" control.
Increase to accept only very clean signals (up to INFINITY, but Increase to accept only very clean signals (up to INFINITY, but
a value around 5.0 is more practical). Decrease to accept partial a value around 5.0 is more practical). Decrease to accept partial
decoding of noisy signals (down to 1.0). decoding of noisy signals (down to a minimum value of 1.0).
.TP (This option applies to \-\-rx mode only).
.B \-l, \-\-limit max-snr-search-limit .B \-l, \-\-limit max-confidence-search-limit
Set receive confidence maximum SNR search limit (default 2.3). Set receive confidence maximum search limit (default 2.3).
The "confidence" value is as described above.
This value acts as a performance vs. analysis quality control. This value acts as a performance vs. analysis quality control.
Increase (up to INFINITY) for a more pedantic analysis Increase (up to INFINITY) for a more pedantic analysis
and higher CPU usage. Decrease (down to the min-snr-threshold) and higher CPU usage. Decrease (down to the min-confidence-threshold)
for a sloppier analysis, with lower CPU usage. for a sloppier analysis, with lower CPU usage.
(This option applies to \-\-rx mode only).
.TP .TP
.B \-8, \-\-ascii .B \-8, \-\-ascii
ASCII 8\-N\-1 ASCII 8\-N\-1

View File

@ -325,8 +325,8 @@ usage()
" -r, --rx, --receive, --read (default)\n" " -r, --rx, --receive, --read (default)\n"
" [options]\n" " [options]\n"
" -a, --auto-carrier\n" " -a, --auto-carrier\n"
" -c, --confidence {min-snr-threshold}\n" " -c, --confidence {min-confidence-threshold}\n"
" -l, --limit {max-snr-search-limit}\n" " -l, --limit {max-confidence-search-limit}\n"
" -8, --ascii ASCII 8-N-1\n" " -8, --ascii ASCII 8-N-1\n"
" -5, --baudot Baudot 5-N-1\n" " -5, --baudot Baudot 5-N-1\n"
" -f, --file {filename.flac}\n" " -f, --file {filename.flac}\n"
@ -370,15 +370,16 @@ main( int argc, char*argv[] )
// fsk_confidence_threshold : signal-to-noise squelch control // fsk_confidence_threshold : signal-to-noise squelch control
// //
// The minimum SNR confidence level seen as "a signal". // The minimum SNR-ish confidence level seen as "a signal".
float fsk_confidence_threshold = 2.0; float fsk_confidence_threshold = 1.5;
// fsk_confidence_search_limit : performance vs. quality // fsk_confidence_search_limit : performance vs. quality
// //
// If we find a frame with SNR confidence > confidence_search_limit, // If we find a frame with confidence > confidence_search_limit,
// quit searching for a better frame. confidence_search_limit has a // quit searching for a better frame. confidence_search_limit has a
// dramatic effect on peformance (high value yields low performance, but // dramatic effect on peformance (high value yields low performance, but
// higher decode quality, for noisy or hard-to-discern signals (Bell 103). // higher decode quality, for noisy or hard-to-discern signals (Bell 103,
// or skewed rates).
float fsk_confidence_search_limit = 2.3f; float fsk_confidence_search_limit = 2.3f;
// float fsk_confidence_search_limit = INFINITY; /* for test */ // float fsk_confidence_search_limit = INFINITY; /* for test */