diff --git a/lib/jt65_decode.f90 b/lib/jt65_decode.f90 index bc464db0b..6509de67e 100644 --- a/lib/jt65_decode.f90 +++ b/lib/jt65_decode.f90 @@ -194,6 +194,14 @@ contains nsave=0 endif + if(single_decode) then +! Be sure to search for shorthand message at nfqso +/- ntol + ncand=2 + ca(2)%sync=5.0 + ca(2)%dt=2.5 + ca(2)%freq=nfqso + endif + do icand=1,ncand sync1=ca(icand)%sync dtx=ca(icand)%dt @@ -267,7 +275,7 @@ contains endif n=naggressive rtt=0.001*nrtt1000 - if(nft.lt.2 .and. minsync.ge.0) then + if(nft.lt.2 .and. minsync.ge.0 .and. nspecial.eq.0) then if(nhard_min.gt.50) cycle if(nhard_min.gt.h0(n)) cycle if(ntotal_min.gt.d0(n)) cycle diff --git a/lib/sh65.f90 b/lib/sh65.f90 index bf4e0c8c0..8f13fdc3a 100644 --- a/lib/sh65.f90 +++ b/lib/sh65.f90 @@ -33,12 +33,6 @@ subroutine sh65(cx,n5,mode65,ntol,xdf,nspecial,snrdb) s=1.e-6*s ss=1.e-6*ss df=1378.1285/NFFT - do i=-NH+1,NH - f=i*df - write(13,1010) f,s(i),ss(i,1:8) -1010 format(10f10.3) - enddo - nfac=40*mode65 dtstep=0.25/df @@ -47,7 +41,7 @@ subroutine sh65(cx,n5,mode65,ntol,xdf,nspecial,snrdb) fb=ntol ia2=max(-NH+1,nint(fa/df)) ! Upper tone is above sync tone by 4*nfac*df Hz - ib2=min(NH,nint(fb/df + 4.1*nfac)) + ib2=min(NH,nint(fb/df + 4.1*nfac)) ! Find strongest line in each of the 4 phases, repeating for each drift rate. sbest=0. @@ -78,7 +72,8 @@ subroutine sh65(cx,n5,mode65,ntol,xdf,nspecial,snrdb) xk=float(idiff)/nfac k=nint(xk) iderr=nint((xk-k)*nfac) - maxerr=nint(0.008*abs(idiff) + 0.51) +! maxerr=nint(0.008*abs(idiff) + 0.51) + maxerr=nint(0.02*abs(idiff) + 0.51) !### Better test ??? ### if(abs(iderr).le.maxerr .and. k.ge.2 .and. k.le.4) nspecial=k snrdb=-30.0 if(nspecial.gt.0) then