mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-02-03 09:44:24 -05:00
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:
parent
8f1d712304
commit
8a8bb89e44
@ -194,6 +194,14 @@ contains
|
|||||||
nsave=0
|
nsave=0
|
||||||
endif
|
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
|
do icand=1,ncand
|
||||||
sync1=ca(icand)%sync
|
sync1=ca(icand)%sync
|
||||||
dtx=ca(icand)%dt
|
dtx=ca(icand)%dt
|
||||||
@ -267,7 +275,7 @@ contains
|
|||||||
endif
|
endif
|
||||||
n=naggressive
|
n=naggressive
|
||||||
rtt=0.001*nrtt1000
|
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.50) cycle
|
||||||
if(nhard_min.gt.h0(n)) cycle
|
if(nhard_min.gt.h0(n)) cycle
|
||||||
if(ntotal_min.gt.d0(n)) cycle
|
if(ntotal_min.gt.d0(n)) cycle
|
||||||
|
11
lib/sh65.f90
11
lib/sh65.f90
@ -33,12 +33,6 @@ subroutine sh65(cx,n5,mode65,ntol,xdf,nspecial,snrdb)
|
|||||||
s=1.e-6*s
|
s=1.e-6*s
|
||||||
ss=1.e-6*ss
|
ss=1.e-6*ss
|
||||||
df=1378.1285/NFFT
|
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
|
nfac=40*mode65
|
||||||
dtstep=0.25/df
|
dtstep=0.25/df
|
||||||
|
|
||||||
@ -47,7 +41,7 @@ subroutine sh65(cx,n5,mode65,ntol,xdf,nspecial,snrdb)
|
|||||||
fb=ntol
|
fb=ntol
|
||||||
ia2=max(-NH+1,nint(fa/df))
|
ia2=max(-NH+1,nint(fa/df))
|
||||||
! Upper tone is above sync tone by 4*nfac*df Hz
|
! 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.
|
! Find strongest line in each of the 4 phases, repeating for each drift rate.
|
||||||
sbest=0.
|
sbest=0.
|
||||||
@ -78,7 +72,8 @@ subroutine sh65(cx,n5,mode65,ntol,xdf,nspecial,snrdb)
|
|||||||
xk=float(idiff)/nfac
|
xk=float(idiff)/nfac
|
||||||
k=nint(xk)
|
k=nint(xk)
|
||||||
iderr=nint((xk-k)*nfac)
|
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
|
if(abs(iderr).le.maxerr .and. k.ge.2 .and. k.le.4) nspecial=k
|
||||||
snrdb=-30.0
|
snrdb=-30.0
|
||||||
if(nspecial.gt.0) then
|
if(nspecial.gt.0) then
|
||||||
|
Loading…
Reference in New Issue
Block a user