mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-25 21:58:38 -05:00
More tweaks to minimize false JT65 decodes when strong signals are present.
This commit is contained in:
parent
d5d8b1c38d
commit
b0a7cef3bd
@ -460,7 +460,6 @@ set (wsjt_FSRCS
|
|||||||
lib/ft8/foxfilt.f90
|
lib/ft8/foxfilt.f90
|
||||||
lib/ft8/foxgen.f90
|
lib/ft8/foxgen.f90
|
||||||
lib/ft8/foxgen_wrap.f90
|
lib/ft8/foxgen_wrap.f90
|
||||||
lib/fqso_first.f90
|
|
||||||
lib/freqcal.f90
|
lib/freqcal.f90
|
||||||
lib/ft8/ft8apset.f90
|
lib/ft8/ft8apset.f90
|
||||||
lib/ft8/ft8b.f90
|
lib/ft8/ft8b.f90
|
||||||
|
@ -98,6 +98,7 @@ contains
|
|||||||
first_time=newdat
|
first_time=newdat
|
||||||
dd=dd0
|
dd=dd0
|
||||||
ndecoded=0
|
ndecoded=0
|
||||||
|
ndecoded0=0
|
||||||
|
|
||||||
if(nsubmode.ge.100) then
|
if(nsubmode.ge.100) then
|
||||||
! This is QRA64 mode
|
! This is QRA64 mode
|
||||||
@ -119,7 +120,7 @@ contains
|
|||||||
single_decode=iand(nexp_decode,32).ne.0 .or. nagain
|
single_decode=iand(nexp_decode,32).ne.0 .or. nagain
|
||||||
bVHF=iand(nexp_decode,64).ne.0
|
bVHF=iand(nexp_decode,64).ne.0
|
||||||
|
|
||||||
if( bVHF ) then
|
if(bVHF) then
|
||||||
nvec=ntrials
|
nvec=ntrials
|
||||||
npass=1
|
npass=1
|
||||||
if(n2pass.gt.1) npass=2
|
if(n2pass.gt.1) npass=2
|
||||||
@ -188,15 +189,9 @@ contains
|
|||||||
ncand=0
|
ncand=0
|
||||||
call timer('sync65 ',0)
|
call timer('sync65 ',0)
|
||||||
call sync65(nfa,nfb,ntol,nqsym,ca,ncand,nrob,bVHF)
|
call sync65(nfa,nfb,ntol,nqsym,ca,ncand,nrob,bVHF)
|
||||||
|
ncand=min(ncand,50/ipass)
|
||||||
call timer('sync65 ',1)
|
call timer('sync65 ',1)
|
||||||
|
|
||||||
! If a candidate was found within +/- ntol of nfqso, move it into ca(1).
|
|
||||||
call fqso_first(nfqso,ntol,ca,ncand)
|
|
||||||
if(single_decode) then
|
|
||||||
if(ncand.eq.0) ncand=1
|
|
||||||
if(abs(ca(1)%freq - f0).gt.width) width=2*df !### ??? ###
|
|
||||||
endif
|
|
||||||
|
|
||||||
mode65=2**nsubmode
|
mode65=2**nsubmode
|
||||||
nflip=1
|
nflip=1
|
||||||
nqd=0
|
nqd=0
|
||||||
@ -238,6 +233,16 @@ contains
|
|||||||
ljt65apon,bVHF,sync2,a,dtx,nft,nspecial,qual, &
|
ljt65apon,bVHF,sync2,a,dtx,nft,nspecial,qual, &
|
||||||
nhist,nsmo,decoded)
|
nhist,nsmo,decoded)
|
||||||
call timer('decod65a',1)
|
call timer('decod65a',1)
|
||||||
|
|
||||||
|
if(.not.bVHF) then
|
||||||
|
if(abs(a(1)).gt.10.0/ipass) cycle
|
||||||
|
ibad=0
|
||||||
|
if(abs(a(1)).gt.5.0) ibad=1
|
||||||
|
if(abs(a(2)).gt.2.0) ibad=ibad+1
|
||||||
|
if(abs(dtx-1.0).gt.2.5) ibad=ibad+1
|
||||||
|
if(ibad.ge.2) cycle
|
||||||
|
endif
|
||||||
|
|
||||||
if(nspecial.eq.0 .and. sync1.eq.5.0 .and. dtx.eq.2.5) cycle
|
if(nspecial.eq.0 .and. sync1.eq.5.0 .and. dtx.eq.2.5) cycle
|
||||||
if(nspecial.eq.2) decoded='RO'
|
if(nspecial.eq.2) decoded='RO'
|
||||||
if(nspecial.eq.3) decoded='RRR'
|
if(nspecial.eq.3) decoded='RRR'
|
||||||
@ -343,10 +348,12 @@ contains
|
|||||||
decoded0=decoded
|
decoded0=decoded
|
||||||
freq0=freq
|
freq0=freq
|
||||||
if(decoded0.eq.' ') decoded0='*'
|
if(decoded0.eq.' ') decoded0='*'
|
||||||
|
if(single_decode .and. ndecoded.gt.0) go to 900
|
||||||
endif
|
endif
|
||||||
enddo !Candidate loop
|
enddo ! icand
|
||||||
if(ipass.eq.2 .and. ndecoded.lt.1) exit
|
if(ipass.gt.1 .and. ndecoded.eq.ndecoded0) exit
|
||||||
enddo !Multiple-pass loop
|
ndecoded0=ndecoded
|
||||||
|
enddo ! ipass
|
||||||
900 return
|
900 return
|
||||||
end subroutine decode
|
end subroutine decode
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user