From e3d3d7c7f6dab40c37da401fa29d39bf17a78dd1 Mon Sep 17 00:00:00 2001 From: Zilog80 Date: Fri, 29 May 2020 20:16:34 +0200 Subject: [PATCH] lms6-403: lower detection threshold due to good performance --- demod/mod/lms6Xmod.c | 4 ++-- demod/mod/lms6Xmod_soft.c | 8 ++++++-- demod/multi/lms6Xbase.c | 4 ++-- scan/dft_detect.c | 2 +- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/demod/mod/lms6Xmod.c b/demod/mod/lms6Xmod.c index 290db02..050d288 100644 --- a/demod/mod/lms6Xmod.c +++ b/demod/mod/lms6Xmod.c @@ -948,7 +948,7 @@ int main(int argc, char **argv) { int header_found = 0; - float thres = 0.76; + float thres = 0.68; float _mv = 0.0; int symlen = 1; @@ -1195,7 +1195,7 @@ int main(int argc, char **argv) { while ( 1 ) { // FM-audio: - header_found = find_header(&dsp, thres, 3, bitofs, dsp.opt_dc); // optional 2nd pass: dc=0 + header_found = find_header(&dsp, thres, 4, bitofs, dsp.opt_dc); // optional 2nd pass: dc=0 _mv = dsp.mv; if (header_found == EOF) break; diff --git a/demod/mod/lms6Xmod_soft.c b/demod/mod/lms6Xmod_soft.c index 0472f68..53b4174 100644 --- a/demod/mod/lms6Xmod_soft.c +++ b/demod/mod/lms6Xmod_soft.c @@ -967,7 +967,7 @@ int main(int argc, char **argv) { int header_found = 0; - float thres = 0.76; + float thres = 0.65; float _mv = 0.0; int symlen = 1; @@ -1135,6 +1135,10 @@ int main(int argc, char **argv) { fprintf(stderr, "error: raw data not IQ\n"); return -1; } + if (option_iq == 0 && gpx->option.vit == 2) { // FM-demodulated data not recommended + gpx->option.vit = 1; // for soft-decoding + fprintf(stderr, "info: soft decoding only for IQ\n"); + } if (option_iq) sel_wavch = 0; pcm.sel_ch = sel_wavch; @@ -1220,7 +1224,7 @@ int main(int argc, char **argv) { while ( 1 ) { // FM-audio: - header_found = find_header(&dsp, thres, 3, bitofs, dsp.opt_dc); // optional 2nd pass: dc=0 + header_found = find_header(&dsp, thres, 5, bitofs, dsp.opt_dc); // optional 2nd pass: dc=0 _mv = dsp.mv; if (header_found == EOF) break; diff --git a/demod/multi/lms6Xbase.c b/demod/multi/lms6Xbase.c index 1648026..8fee583 100644 --- a/demod/multi/lms6Xbase.c +++ b/demod/multi/lms6Xbase.c @@ -951,7 +951,7 @@ void *thd_lms6X(void *targs) { // pcm_t *pcm, double xlt_fq int header_found = 0; - float thres = 0.76; + float thres = 0.68; float _mv = 0.0; int symlen = 1; @@ -1084,7 +1084,7 @@ void *thd_lms6X(void *targs) { // pcm_t *pcm, double xlt_fq bitQ = 0; while ( 1 && bitQ != EOF ) { - header_found = find_header(&dsp, thres, 3, bitofs, dsp.opt_dc); + header_found = find_header(&dsp, thres, 4, bitofs, dsp.opt_dc); _mv = dsp.mv; if (header_found == EOF) break; diff --git a/scan/dft_detect.c b/scan/dft_detect.c index 2acaabc..e11e260 100644 --- a/scan/dft_detect.c +++ b/scan/dft_detect.c @@ -135,7 +135,7 @@ static rsheader_t rs_hdr[Nrs] = { { 2500, 0, 0, dfm_header, 1.0, 0.0, 0.65, 2, NULL, "DFM9", tn_DFM, 0, 0, 0.0}, // DFM6: -2 ? { 4800, 0, 0, rs41_header, 0.5, 0.0, 0.70, 2, NULL, "RS41", tn_RS41, 0, 0, 0.0}, { 4800, 0, 0, rs92_header, 0.5, 0.0, 0.70, 3, NULL, "RS92", tn_RS92, 0, 0, 0.0}, // RS92NGP: 1680/400=4.2 - { 4800, 0, 0, lms6_header, 1.0, 0.0, 0.70, 2, NULL, "LMS6", tn_LMS6, 0, 0, 0.0}, // lmsX: 7? + { 4800, 0, 0, lms6_header, 1.0, 0.0, 0.60, 5, NULL, "LMS6", tn_LMS6, 0, 0, 0.0}, // lmsX: 7? { 9616, 0, 0, mk2a_header, 1.0, 0.0, 0.70, 2, NULL, "MK2LMS", tn_MK2LMS, 1, 2, 0.0}, // Mk2a/LMS6-1680 , --IQ: decimate > 170kHz ... { 9616, 0, 0, m10_header, 1.0, 0.0, 0.76, 2, NULL, "M10", tn_M10, 1, 1, 0.0}, // M10.tn=5 (baud=9616) , M20.tn=6 (baud=9600) { 2400, 0, 0, meisei_header, 1.0, 0.0, 0.70, 2, NULL, "MEISEI", tn_MEISEI, 0, 1, 0.0},