Correct some flaws in decoding JT65 shorthand messages. Still needs work!

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7197 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2016-10-18 17:27:06 +00:00
parent 8f1d712304
commit 8a8bb89e44
2 changed files with 12 additions and 9 deletions

View File

@ -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

View File

@ -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