Fine tuned sync-search and iifac. No more quickmode on second pass.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5668 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Steven Franke 2015-07-03 02:39:38 +00:00
parent d7d8dd7e24
commit 13953fea98

View File

@ -616,7 +616,7 @@ int main(int argc, char *argv[])
maxcycles=10000; //Fano timeout limit maxcycles=10000; //Fano timeout limit
double minsync1=0.10; //First sync limit double minsync1=0.10; //First sync limit
double minsync2=0.12; //Second 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 symfac=50; //Soft-symbol normalizing factor
int maxdrift=4; //Maximum (+/-) drift int maxdrift=4; //Maximum (+/-) drift
double minrms=52.0 * (symfac/64.0); //Final test for plausible decoding 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; ipass<npasses; ipass++) { for (ipass=0; ipass<npasses; ipass++) {
if( ipass == 1 && uniques == 0 ) break; if( ipass == 1 && uniques == 0 ) break;
// if( ipass == 1 ) { //otherwise we bog down on the second pass
// quickmode = 1;
// }
memset(ps,0.0, sizeof(float)*512*nffts); memset(ps,0.0, sizeof(float)*512*nffts);
for (i=0; i<nffts; i++) { for (i=0; i<nffts; i++) {
@ -995,8 +992,7 @@ int main(int argc, char *argv[])
sync1=sync0[j]; sync1=sync0[j];
// do coarse searches over lag and freq, then check sync to see // coarse-grid lag and freq search, then if sync>minsync1 continue
// if we should continue.
fstep=0.0; ifmin=0; ifmax=0; fstep=0.0; ifmin=0; ifmax=0;
lagmin=shift1-128; lagmin=shift1-128;
lagmax=shift1+128; lagmax=shift1+128;
@ -1012,16 +1008,17 @@ int main(int argc, char *argv[])
lagmin, lagmax, lagstep, &drift1, symfac, &sync1, 1); lagmin, lagmax, lagstep, &drift1, symfac, &sync1, 1);
tsync1 += (double)(clock()-t0)/CLOCKS_PER_SEC; tsync1 += (double)(clock()-t0)/CLOCKS_PER_SEC;
// fine-grid lag and freq search
if( sync1 > minsync1 ) { 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(); t0 = clock();
sync_and_demodulate(idat, qdat, npoints, symbols, &f1, ifmin, ifmax, fstep, &shift1, sync_and_demodulate(idat, qdat, npoints, symbols, &f1, ifmin, ifmax, fstep, &shift1,
lagmin, lagmax, lagstep, &drift1, symfac, &sync1, 0); lagmin, lagmax, lagstep, &drift1, symfac, &sync1, 0);
tsync0 += (double)(clock()-t0)/CLOCKS_PER_SEC; tsync0 += (double)(clock()-t0)/CLOCKS_PER_SEC;
// fine search over frequency // fine search over frequency
fstep=0.05; ifmin=-3; ifmax=3; fstep=0.05; ifmin=-2; ifmax=2;
t0 = clock(); t0 = clock();
sync_and_demodulate(idat, qdat, npoints, symbols, &f1, ifmin, ifmax, fstep, &shift1, sync_and_demodulate(idat, qdat, npoints, symbols, &f1, ifmin, ifmax, fstep, &shift1,
lagmin, lagmax, lagstep, &drift1, symfac, &sync1, 1); lagmin, lagmax, lagstep, &drift1, symfac, &sync1, 1);