mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-25 05:38:46 -05:00
Merge branch 'release-2.5.0' of bitbucket.org:k1jt/wsjtx into release-2.5.0
This commit is contained in:
commit
a646379e12
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user