diff --git a/lib/wsprd/wsprd_exp.c b/lib/wsprd/wsprd_exp.c index 11c14feac..7fe4cde69 100644 --- a/lib/wsprd/wsprd_exp.c +++ b/lib/wsprd/wsprd_exp.c @@ -616,7 +616,7 @@ int main(int argc, char *argv[]) maxcycles=10000; //Fano timeout limit double minsync1=0.10; //First sync limit double minsync2=0.12; //Second sync limit - int iifac=13; //Step size in final DT peakup + int iifac=8; //Step size in final DT peakup int symfac=50; //Soft-symbol normalizing factor int maxdrift=4; //Maximum (+/-) drift double minrms=52.0 * (symfac/64.0); //Final test for plausible decoding @@ -784,9 +784,6 @@ int main(int argc, char *argv[]) for (ipass=0; ipassminsync1 continue fstep=0.0; ifmin=0; ifmax=0; lagmin=shift1-128; lagmax=shift1+128; @@ -1012,16 +1008,17 @@ int main(int argc, char *argv[]) lagmin, lagmax, lagstep, &drift1, symfac, &sync1, 1); tsync1 += (double)(clock()-t0)/CLOCKS_PER_SEC; + // fine-grid lag and freq search if( sync1 > minsync1 ) { - // fine search over lag - lagmin=shift1-32; lagmax=shift1+32; lagstep=8; + + lagmin=shift1-32; lagmax=shift1+32; lagstep=16; t0 = clock(); sync_and_demodulate(idat, qdat, npoints, symbols, &f1, ifmin, ifmax, fstep, &shift1, lagmin, lagmax, lagstep, &drift1, symfac, &sync1, 0); tsync0 += (double)(clock()-t0)/CLOCKS_PER_SEC; // fine search over frequency - fstep=0.05; ifmin=-3; ifmax=3; + fstep=0.05; ifmin=-2; ifmax=2; t0 = clock(); sync_and_demodulate(idat, qdat, npoints, symbols, &f1, ifmin, ifmax, fstep, &shift1, lagmin, lagmax, lagstep, &drift1, symfac, &sync1, 1);