mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-24 18:32:27 -04:00
Look for weaker Sync indications when naggressive > 0 and ntol < 1000.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6296 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
61395e9481
commit
2072f6f7c6
@ -53,22 +53,25 @@ subroutine jt65a(dd0,npts,newdat,nutc,nf1,nf2,nfqso,ntol,nsubmode, &
|
|||||||
! endif
|
! endif
|
||||||
nfa=nf1
|
nfa=nf1
|
||||||
nfb=nf2
|
nfb=nf2
|
||||||
! nfa=max(200,nfqso-ntol)
|
if(naggressive.gt.0 .and. ntol.lt.1000) then
|
||||||
! nfb=min(4000,nfqso+ntol)
|
nfa=max(200,nfqso-ntol)
|
||||||
|
nfb=min(4000,nfqso+ntol)
|
||||||
|
thresh0=1.0
|
||||||
|
endif
|
||||||
|
|
||||||
! nrobust = 0: use float ccf. Only if ncand>50 fall back to robust (1-bit) ccf
|
! nrobust = 0: use float ccf. Only if ncand>50 fall back to robust (1-bit) ccf
|
||||||
! nrobust = 1: use only robust (1-bit) ccf
|
! nrobust = 1: use only robust (1-bit) ccf
|
||||||
ncand=0
|
ncand=0
|
||||||
if(nrobust.eq.0) then
|
if(nrobust.eq.0) then
|
||||||
call timer('sync65 ',0)
|
call timer('sync65 ',0)
|
||||||
call sync65(ss,nfa,nfb,nhsym,ca,ncand,0)
|
call sync65(ss,nfa,nfb,naggressive,ntol,nhsym,ca,ncand,0)
|
||||||
call timer('sync65 ',1)
|
call timer('sync65 ',1)
|
||||||
endif
|
endif
|
||||||
if(ncand.gt.50) nrobust=1
|
if(ncand.gt.50) nrobust=1
|
||||||
if(nrobust.eq.1) then
|
if(nrobust.eq.1) then
|
||||||
ncand=0
|
ncand=0
|
||||||
call timer('sync65 ',0)
|
call timer('sync65 ',0)
|
||||||
call sync65(ss,nfa,nfb,nhsym,ca,ncand,1)
|
call sync65(ss,nfa,nfb,naggressive,ntol,nhsym,ca,ncand,1)
|
||||||
call timer('sync65 ',1)
|
call timer('sync65 ',1)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -147,10 +150,11 @@ subroutine jt65a(dd0,npts,newdat,nutc,nf1,nf2,nfqso,ntol,nsubmode, &
|
|||||||
1012 format(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22,' JT65',i4)
|
1012 format(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22,' JT65',i4)
|
||||||
call flush(6)
|
call flush(6)
|
||||||
call flush(13)
|
call flush(13)
|
||||||
write(79,3001) nutc,nint(sync1),nsnr,dtx-1.0,nfreq,ncandidates, &
|
!! write(79,3001) nutc,nint(sync1),nsnr,dtx-1.0,nfreq,ncandidates, &
|
||||||
nhard_min,ntotal_min,ntry,naggressive,nft,nqual,decoded
|
! write(79,3001) nutc,sync1,nsnr,dtx-1.0,nfreq,ncandidates, &
|
||||||
3001 format(i4.4,i3,i4,f6.2,i5,i7,i3,i4,i8,i3,i2,i5,1x,a22)
|
! nhard_min,ntotal_min,ntry,naggressive,nft,nqual,decoded
|
||||||
flush(79)
|
!3001 format(i4.4,f6.2,i4,f6.2,i5,i7,i3,i4,i8,i3,i2,i5,1x,a22)
|
||||||
|
! flush(79)
|
||||||
endif
|
endif
|
||||||
decoded0=decoded
|
decoded0=decoded
|
||||||
freq0=freq
|
freq0=freq
|
||||||
|
@ -38,6 +38,7 @@ program jt65sim
|
|||||||
0,1,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1, &
|
0,1,0,1,0,0,1,1,0,0,1,0,0,1,0,0,0,0,1,1, &
|
||||||
1,1,1,1,1,1/
|
1,1,1,1,1,1/
|
||||||
|
|
||||||
|
! Default parameters:
|
||||||
csubmode='A'
|
csubmode='A'
|
||||||
mode65=1
|
mode65=1
|
||||||
nsigs=10
|
nsigs=10
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
subroutine symspec(shared_data,k,ntrperiod,nsps,ingain,nminw,pxdb,s,df3,ihsym,npts8)
|
subroutine symspec(shared_data,k,ntrperiod,nsps,ingain,nminw,pxdb,s, &
|
||||||
|
df3,ihsym,npts8)
|
||||||
|
|
||||||
! Input:
|
! Input:
|
||||||
! k pointer to the most recent new data
|
! k pointer to the most recent new data
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine sync65(ss,nfa,nfb,nhsym,ca,ncand,nrobust)
|
subroutine sync65(ss,nfa,nfb,naggressive,ntol,nhsym,ca,ncand,nrobust)
|
||||||
|
|
||||||
parameter (NSZ=3413,NFFT=8192,MAXCAND=300)
|
parameter (NSZ=3413,NFFT=8192,MAXCAND=300)
|
||||||
real ss(322,NSZ)
|
real ss(322,NSZ)
|
||||||
@ -15,23 +15,28 @@ subroutine sync65(ss,nfa,nfb,nhsym,ca,ncand,nrobust)
|
|||||||
common/steve/thresh0
|
common/steve/thresh0
|
||||||
|
|
||||||
call setup65
|
call setup65
|
||||||
df=12000.0/NFFT !df = 12000.0/16384 = 0.732 Hz
|
df=12000.0/NFFT !df = 12000.0/8192 = 1.465 Hz
|
||||||
ia=max(2,nint(nfa/df))
|
ia=max(2,nint(nfa/df))
|
||||||
ib=min(NSZ-1,nint(nfb/df))
|
ib=min(NSZ-1,nint(nfb/df))
|
||||||
lag1=-11
|
lag1=-11
|
||||||
lag2=59
|
lag2=59
|
||||||
nsym=126
|
nsym=126
|
||||||
!! thresh0=5.5
|
|
||||||
ncand=0
|
ncand=0
|
||||||
fdot=0.
|
fdot=0.
|
||||||
ccfred=0.
|
ccfred=0.
|
||||||
ccfblue=0.
|
ccfblue=0.
|
||||||
|
ccfmax=0.
|
||||||
|
ipk=0
|
||||||
|
|
||||||
do i=ia,ib
|
do i=ia,ib
|
||||||
call xcor(ss,i,nhsym,nsym,lag1,lag2,ccfblue,ccf0,lagpk0,flip,fdot,nrobust)
|
call xcor(ss,i,nhsym,nsym,lag1,lag2,ccfblue,ccf0,lagpk0,flip,fdot,nrobust)
|
||||||
! Remove best-fit slope from ccfblue and normalize so baseline rms=1.0
|
! Remove best-fit slope from ccfblue and normalize so baseline rms=1.0
|
||||||
call slope(ccfblue(lag1),lag2-lag1+1,lagpk0-lag1+1.0)
|
call slope(ccfblue(lag1),lag2-lag1+1,lagpk0-lag1+1.0)
|
||||||
ccfred(i)=ccfblue(lagpk0)
|
ccfred(i)=ccfblue(lagpk0)
|
||||||
|
if(ccfred(i).gt.ccfmax) then
|
||||||
|
ccfmax=ccfred(i)
|
||||||
|
ipk=i
|
||||||
|
endif
|
||||||
enddo
|
enddo
|
||||||
call pctile(ccfred(ia:ib),ib-ia+1,35,xmed)
|
call pctile(ccfred(ia:ib),ib-ia+1,35,xmed)
|
||||||
ccfred(ia:ib)=ccfred(ia:ib)-xmed
|
ccfred(ia:ib)=ccfred(ia:ib)-xmed
|
||||||
@ -41,10 +46,16 @@ subroutine sync65(ss,nfa,nfb,nhsym,ca,ncand,nrobust)
|
|||||||
do i=ia,ib
|
do i=ia,ib
|
||||||
freq=i*df
|
freq=i*df
|
||||||
itry=0
|
itry=0
|
||||||
if(ccfred(i).gt.thresh0 .and. ccfred(i).gt.ccfred(i-1) .and. &
|
if(naggressive.gt.0 .and. ntol.lt.1000 .and. ccfmax.ge.thresh0) then
|
||||||
ccfred(i).gt.ccfred(i+1)) then
|
if(i.ne.ipk) cycle
|
||||||
itry=1
|
itry=1
|
||||||
ncand=ncand+1
|
ncand=ncand+1
|
||||||
|
else
|
||||||
|
if(ccfred(i).ge.thresh0 .and. ccfred(i).gt.ccfred(i-1) .and. &
|
||||||
|
ccfred(i).gt.ccfred(i+1)) then
|
||||||
|
itry=1
|
||||||
|
ncand=ncand+1
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
! write(76,1010) i,freq,ccfred(i),itry,ncand
|
! write(76,1010) i,freq,ccfred(i),itry,ncand
|
||||||
!1010 format(i6,2f10.2,i5,i6)
|
!1010 format(i6,2f10.2,i5,i6)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user