From c0c7e5d563a5418b6b304d613c569920ea49076f Mon Sep 17 00:00:00 2001 From: Joe Taylor Date: Wed, 16 Dec 2015 17:53:19 +0000 Subject: [PATCH] Suppress false decodes seen with new JT65 decoder running in crowded HF band. Note to testers: see lines 100-105 in jt65a.f90. If you want to experiment with some of these parameters, one way is to uncomment lines 148-151 and look at output in "fort.79" after a decoding run. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6282 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- lib/fillcom.f90 | 2 +- lib/jt65a.f90 | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/lib/fillcom.f90 b/lib/fillcom.f90 index 0bab86887..d197a862d 100644 --- a/lib/fillcom.f90 +++ b/lib/fillcom.f90 @@ -23,7 +23,7 @@ subroutine fillcom(nutc0,ndepth0,nrxfreq,mode,tx9,flow,fsplit,fhigh) nzhsym=181 ndepth=ndepth0 dttol=3.0 - minsync=-1 !### TEST ONLY +! minsync=-1 !### TEST ONLY n2pass=1 nranera=8 !ntrials=10000 diff --git a/lib/jt65a.f90 b/lib/jt65a.f90 index ded11f495..561b5734f 100644 --- a/lib/jt65a.f90 +++ b/lib/jt65a.f90 @@ -24,7 +24,7 @@ subroutine jt65a(dd0,npts,newdat,nutc,nf1,nf2,nfqso,ntol,nsubmode, & real sync character*22 decoded end type decode - type(decode) dec(30) + type(decode) dec(50) common/decstats/ntry65a,ntry65b,n65a,n65b,num9,numfano common/steve/thresh0 common/test000/ncandidates,nhard_min,nsoft_min,nera_best,nsofter_min, & @@ -96,8 +96,16 @@ subroutine jt65a(dd0,npts,newdat,nutc,nf1,nf2,nfqso,ntol,nsubmode, & call decode65a(dd,npts,newdat,nqd,freq,nflip,mode65,nvec, & naggressive,ndepth,nexp_decode,sync2,a,dtx,nft,qual,nhist,decoded) call timer('decod65a',1) + +!### Suppress false decodes in crowded HF bands ### + if(naggressive.eq.0 .and. ntrials.le.10000) then + if(ntry.eq.ntrials .or. ncandidates.eq.100) then + if(nhard_min.ge.42 .or. ntotal_min.ge.71) cycle + endif + endif + if(decoded.eq.decoded0 .and. abs(freq-freq0).lt. 3.0 .and. & - minsync.ge.0) cycle !Don't display dupes + minsync.ge.0) cycle !Don't display dupes if(decoded.ne.' ' .or. minsync.lt.0) then if( nsubtract .eq. 1 ) then call timer('subtr65 ',0) @@ -138,9 +146,8 @@ subroutine jt65a(dd0,npts,newdat,nutc,nf1,nf2,nfqso,ntol,nsubmode, & call flush(6) call flush(13) ! write(79,3001) nutc,nint(sync1),nsnr,dtx-1.0,nfreq,ncandidates, & -! nhard_min,ntotal_min,ntry,naggressive,nft,nqual,ntry0, & -! ntot,decoded(1:16) -!3001 format(i4.4,i3,i4,f6.2,i5,i7,i3,i4,i8,i3,i2,i5,i5,i4,1x,a16) +! nhard_min,ntotal_min,ntry,naggressive,nft,nqual,decoded +!3001 format(i4.4,i3,i4,f6.2,i5,i7,i3,i4,i8,i3,i2,i5,1x,a22) ! flush(79) endif decoded0=decoded