minimodem: restrict try_max_nsamples to 75% of a bit-width
... actually 125% of a bit width before acquiring carrier.
This commit is contained in:
parent
7b0e47ac4e
commit
fd45b5571c
|
@ -771,6 +771,9 @@ main( int argc, char*argv[] )
|
||||||
// for optimal analysis:
|
// for optimal analysis:
|
||||||
// should be >= 0.5 (half a bit width) or we may not find the optimal bit
|
// should be >= 0.5 (half a bit width) or we may not find the optimal bit
|
||||||
// should be < 1.0 (a full bit width) or we may skip over whole bits
|
// should be < 1.0 (a full bit width) or we may skip over whole bits
|
||||||
|
// for encodings without start/stop bits:
|
||||||
|
// MUST be <= 0.5 or we may accidentally skip a bit
|
||||||
|
//
|
||||||
assert( fsk_frame_overscan >= 0.0 && fsk_frame_overscan < 1.0 );
|
assert( fsk_frame_overscan >= 0.0 && fsk_frame_overscan < 1.0 );
|
||||||
|
|
||||||
// ensure that we overscan at least a single sample
|
// ensure that we overscan at least a single sample
|
||||||
|
@ -914,11 +917,16 @@ main( int argc, char*argv[] )
|
||||||
if ( samples_nvalid < expect_nsamples )
|
if ( samples_nvalid < expect_nsamples )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// try_max_nsamples = nsamples_per_bit + nsamples_overscan;
|
// try_max_nsamples
|
||||||
// serves two purposes
|
// serves two purposes
|
||||||
// 1. avoids finding a non-optimal first frame
|
// 1. avoids finding a non-optimal first frame
|
||||||
// 2. allows us to track slightly slow signals
|
// 2. allows us to track slightly slow signals
|
||||||
unsigned int try_max_nsamples = nsamples_per_bit + nsamples_overscan;
|
unsigned int try_max_nsamples;
|
||||||
|
if ( carrier )
|
||||||
|
try_max_nsamples = nsamples_per_bit * 0.75 + 0.5;
|
||||||
|
else
|
||||||
|
try_max_nsamples = nsamples_per_bit;
|
||||||
|
try_max_nsamples += nsamples_overscan;
|
||||||
|
|
||||||
#define FSK_ANALYZE_NSTEPS 10 /* accuracy vs. performance */
|
#define FSK_ANALYZE_NSTEPS 10 /* accuracy vs. performance */
|
||||||
// Note: FSK_ANALYZE_NSTEPS has subtle effects on the
|
// Note: FSK_ANALYZE_NSTEPS has subtle effects on the
|
||||||
|
|
Loading…
Reference in New Issue