diff --git a/lib/decode65a.f90 b/lib/decode65a.f90 index ea61d359f..031c48faf 100644 --- a/lib/decode65a.f90 +++ b/lib/decode65a.f90 @@ -1,4 +1,4 @@ -subroutine decode65a(dd,npts,newdat,f0,nflip,mode65,sync2,a,dt, & +subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,sync2,a,dt, & nbmkv,nhist,decoded) ! Apply AFC corrections to a candidate JT65 signal, then decode it. @@ -87,7 +87,7 @@ subroutine decode65a(dd,npts,newdat,f0,nflip,mode65,sync2,a,dt, & call timer('sh_ffts ',1) call timer('dec65b ',0) - call decode65b(s2,nflip,mode65,nbmkv,nhist,decoded) + call decode65b(s2,nflip,mode65,nqd,nbmkv,nhist,decoded) dt=dt00 + dtbest + 1.7 call timer('dec65b ',1) diff --git a/lib/decode65b.f90 b/lib/decode65b.f90 index 729a218ec..f4040497e 100644 --- a/lib/decode65b.f90 +++ b/lib/decode65b.f90 @@ -1,4 +1,4 @@ -subroutine decode65b(s2,nflip,mode65,nbmkv,nhist,decoded) +subroutine decode65b(s2,nflip,mode65,nqd,nbmkv,nhist,decoded) real s2(66,126) real s3(64,63) @@ -22,7 +22,7 @@ subroutine decode65b(s2,nflip,mode65,nbmkv,nhist,decoded) enddo nadd=mode65 - call extract(s3,nadd,ncount,nhist,decoded,ltext,nbmkv) !Extract the message + call extract(s3,nadd,nqd,ncount,nhist,decoded,ltext,nbmkv) !Extract message ! Suppress "birdie messages" and other garbage decodes: if(decoded(1:7).eq.'000AAA ') ncount=-1 if(decoded(1:7).eq.'0L6MWK ') ncount=-1 diff --git a/lib/extract.F90 b/lib/extract.F90 index cfe640feb..ce6a9582f 100644 --- a/lib/extract.F90 +++ b/lib/extract.F90 @@ -1,11 +1,9 @@ -subroutine extract(s3,nadd,ncount,nhist,decoded,ltext,nbmkv) -!subroutine extract(s3,nadd,nbirdie,afac1,xlambda,ncount,nhist,decoded, & -! ltext,nbmkv,ntest) - +subroutine extract(s3,nadd,nqd,ncount,nhist,decoded,ltext,nbmkv) ! Input: ! s3 64-point spectra for each of 63 data symbols ! nadd number of spectra summed into s3 +! nqd 0/1 to indicate decode attempt at QSO frequency ! Output: ! ncount number of symbols requiring correction @@ -27,7 +25,8 @@ subroutine extract(s3,nadd,ncount,nhist,decoded,ltext,nbmkv) nbirdie=7 npct=40 afac1=10.1 - xlambda=8.0 + xlambda=7.999 + if(nqd.eq.1) xlambda=11.999 !Increase depth at QSO frequency nbmkv=0 nfail=0 decoded=' ' diff --git a/lib/jt65a.f90 b/lib/jt65a.f90 index 2fb4e1fa1..49322add1 100644 --- a/lib/jt65a.f90 +++ b/lib/jt65a.f90 @@ -60,7 +60,7 @@ subroutine jt65a(dd0,npts,newdat,nutc,nf1,nf2,nfqso,ntol,nagain,ndecoded) nflip=nint(flipk) call timer('decod65a',0) - call decode65a(dd,npts,newdat,freq,nflip,mode65,sync2,a,dt, & + call decode65a(dd,npts,newdat,nqd,freq,nflip,mode65,sync2,a,dt, & nbmkv,nhist,decoded) call timer('decod65a',1)