Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0

This commit is contained in:
Bill Somerville 2021-06-25 12:34:28 +01:00
commit a646379e12
No known key found for this signature in database
GPG Key ID: D864B06D1E81618F
3 changed files with 18 additions and 16 deletions

View File

@ -149,10 +149,12 @@ contains
iavg=0 iavg=0
call timer('q65_dec0',0) call timer('q65_dec0',0)
! Call top-level routine in q65 module: establish sync and try for a ! Call top-level routine in q65 module: establish sync and try for a
! q3 of q0 decode. ! q3 or q0 decode.
call q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, & call q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
emedelay,xdt,f0,snr1,width,dat4,snr2,idec) emedelay,xdt,f0,snr1,width,dat4,snr2,idec)
call timer('q65_dec0',1) call timer('q65_dec0',1)
! write(*,3001) '=a',sum(abs(float(iwave))),nfqso,ntol,ndepth,xdt,f0,idec
!3001 format(a2,f15.0,3i5,f7.2,f7.1,i5)
if(idec.ge.0) then if(idec.ge.0) then
dtdec=xdt !We have a q3 or q0 decode at nfqso dtdec=xdt !We have a q3 or q0 decode at nfqso

View File

@ -124,7 +124,7 @@ subroutine q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
dtstep=nsps/(NSTEP*12000.0) !Step size in seconds dtstep=nsps/(NSTEP*12000.0) !Step size in seconds
lag1=-1.0/dtstep lag1=-1.0/dtstep
lag2=1.0/dtstep + 0.9999 lag2=1.0/dtstep + 0.9999
if(nsps.ge.3600 .and. emedelay.gt.0) lag2=5.0/dtstep + 0.9999 !Include EME if(nsps.ge.3600 .and. emedelay.gt.0) lag2=5.5/dtstep + 0.9999 !Include EME
j0=0.5/dtstep j0=0.5/dtstep
if(nsps.ge.7200) j0=1.0/dtstep !Nominal start-signal index if(nsps.ge.7200) j0=1.0/dtstep !Nominal start-signal index
@ -439,8 +439,8 @@ subroutine q65_ccf_22(s1,iz,jz,nfqso,ntol,ndepth,ntrperiod,iavg,ipk,jpk, &
ib=min(nfb,4900)/df ib=min(nfb,4900)/df
if(nqd.ne.1 .or. iavg.ne.0) max_drift=0 if(nqd.ne.1 .or. iavg.ne.0) max_drift=0
if(max_drift.ne.0) then if(max_drift.ne.0) then
ia=max(100,nint((nfqso-ntol)/df)) ia=max(nint(100/df),nint((nfqso-ntol)/df))
ib=min(4900,nint((nfqso+ntol)/df)) ib=min(nint(4900/df),nint((nfqso+ntol)/df))
endif endif
do i=ia,ib do i=ia,ib

View File

@ -59,7 +59,6 @@ call wb_sync(ss,savg,xpol,jz,nfa,nfb)
n=indx(iz+1-i) + ia - 1 n=indx(iz+1-i) + ia - 1
f0=0.001*(n-1)*df3 f0=0.001*(n-1)*df3
snr1=sync(n)%ccfmax snr1=sync(n)%ccfmax
! print*,'=A',f0,snr1
if(snr1.lt.SNR1_THRESHOLD) exit if(snr1.lt.SNR1_THRESHOLD) exit
flip=sync(n)%iflip flip=sync(n)%iflip
if(flip.ne.0.0 .and. nts_jt65.eq.0) cycle if(flip.ne.0.0 .and. nts_jt65.eq.0) cycle
@ -177,9 +176,10 @@ subroutine wb_sync(ss,savg,xpol,jz,nfa,nfb)
ccf4=0. ccf4=0.
do j=1,22 !Test for Q65 sync do j=1,22 !Test for Q65 sync
k=isync(j) + lag k=isync(j) + lag
ccf4=ccf4 + ss(1:npol,k,i+1) + ss(1:npol,k+1,i+1) + ss(1:npol,k+2,i+1) ccf4(1:npol)=ccf4(1:npol) + ss(1:npol,k,i+1) + &
ss(1:npol,k+1,i+1) + ss(1:npol,k+2,i+1)
enddo enddo
ccf4=ccf4 - savg(1:npol,i+1)*3*22/float(jz) ccf4(1:npol)=ccf4(1:npol) - savg(1:npol,i+1)*3*22/float(jz)
ccf=maxval(ccf4) ccf=maxval(ccf4)
ip=maxloc(ccf4) ip=maxloc(ccf4)
ipol=ip(1) ipol=ip(1)
@ -195,9 +195,9 @@ subroutine wb_sync(ss,savg,xpol,jz,nfa,nfb)
ccf4=0. ccf4=0.
do j=1,63 !Test for JT65 sync, std msg do j=1,63 !Test for JT65 sync, std msg
k=jsync0(j) + lag k=jsync0(j) + lag
ccf4=ccf4 + ss(1:npol,k,i+1) + ss(1:npol,k+1,i+1) ccf4(1:npol)=ccf4(1:npol) + ss(1:npol,k,i+1) + ss(1:npol,k+1,i+1)
enddo enddo
ccf4=ccf4 - savg(1:npol,i+1)*2*63/float(jz) ccf4(1:npol)=ccf4(1:npol) - savg(1:npol,i+1)*2*63/float(jz)
ccf=maxval(ccf4) ccf=maxval(ccf4)
ip=maxloc(ccf4) ip=maxloc(ccf4)
ipol=ip(1) ipol=ip(1)
@ -213,9 +213,9 @@ subroutine wb_sync(ss,savg,xpol,jz,nfa,nfb)
ccf4=0. ccf4=0.
do j=1,63 !Test for JT65 sync, OOO msg do j=1,63 !Test for JT65 sync, OOO msg
k=jsync1(j) + lag k=jsync1(j) + lag
ccf4=ccf4 + ss(1:npol,k,i+1) + ss(1:npol,k+1,i+1) ccf4(1:npol)=ccf4(1:npol) + ss(1:npol,k,i+1) + ss(1:npol,k+1,i+1)
enddo enddo
ccf4=ccf4 - savg(1:npol,i+1)*2*63/float(jz) ccf4(1:npol)=ccf4(1:npol) - savg(1:npol,i+1)*2*63/float(jz)
ccf=maxval(ccf4) ccf=maxval(ccf4)
ip=maxloc(ccf4) ip=maxloc(ccf4)
ipol=ip(1) ipol=ip(1)
@ -241,11 +241,11 @@ subroutine wb_sync(ss,savg,xpol,jz,nfa,nfb)
sync(i)%iflip=flip sync(i)%iflip=flip
sync(i)%birdie=.false. sync(i)%birdie=.false.
if(ccfmax/(savg(ipolbest,i)/savg_med(ipolbest)).lt.3.0) sync(i)%birdie=.true. if(ccfmax/(savg(ipolbest,i)/savg_med(ipolbest)).lt.3.0) sync(i)%birdie=.true.
if(sync(i)%iflip.eq.0 .and. sync(i)%ccfmax .gt. 20.0) then ! if(sync(i)%iflip.eq.0 .and. sync(i)%ccfmax .gt. 20.0) then
write(50,3050) i,lagbest,sync(i)%ccfmax,sync(i)%xdt,sync(i)%ipol, & ! write(50,3050) i,lagbest,sync(i)%ccfmax,sync(i)%xdt,sync(i)%ipol, &
sync(i)%birdie,ccf4best ! sync(i)%birdie,ccf4best
3050 format(2i5,f10.3,f8.2,i5,1x,L3,4f7.1) !3050 format(2i5,f10.3,f8.2,i5,1x,L3,4f7.1)
endif ! endif
enddo ! i (frequency bin) enddo ! i (frequency bin)