diff --git a/src/minimodem.1.in b/src/minimodem.1.in index 37a34a0..6677c85 100644 --- a/src/minimodem.1.in +++ b/src/minimodem.1.in @@ -48,19 +48,23 @@ receive mode: decode audio tones .B \-a, \-\-auto-carrier automatically detect mark and space frequences from carrier .TP -.B \-c, \-\-confidence min-snr-threshold -Set receive confidence minimum SNR threshold (default 2.0). +.B \-c, \-\-confidence min-confidence-threshold +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. Increase to accept only very clean signals (up to INFINITY, but a value around 5.0 is more practical). Decrease to accept partial -decoding of noisy signals (down to 1.0). -.TP -.B \-l, \-\-limit max-snr-search-limit -Set receive confidence maximum SNR search limit (default 2.3). +decoding of noisy signals (down to a minimum value of 1.0). +(This option applies to \-\-rx mode only). +.B \-l, \-\-limit max-confidence-search-limit +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. 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. +(This option applies to \-\-rx mode only). .TP .B \-8, \-\-ascii ASCII 8\-N\-1 diff --git a/src/minimodem.c b/src/minimodem.c index 05d9c54..eed0746 100644 --- a/src/minimodem.c +++ b/src/minimodem.c @@ -325,8 +325,8 @@ usage() " -r, --rx, --receive, --read (default)\n" " [options]\n" " -a, --auto-carrier\n" - " -c, --confidence {min-snr-threshold}\n" - " -l, --limit {max-snr-search-limit}\n" + " -c, --confidence {min-confidence-threshold}\n" + " -l, --limit {max-confidence-search-limit}\n" " -8, --ascii ASCII 8-N-1\n" " -5, --baudot Baudot 5-N-1\n" " -f, --file {filename.flac}\n" @@ -370,15 +370,16 @@ main( int argc, char*argv[] ) // fsk_confidence_threshold : signal-to-noise squelch control // - // The minimum SNR confidence level seen as "a signal". - float fsk_confidence_threshold = 2.0; + // The minimum SNR-ish confidence level seen as "a signal". + float fsk_confidence_threshold = 1.5; // 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 // 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 = INFINITY; /* for test */