mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-08-03 14:42:25 -04:00
Working to improve Q65 decode performnce.
This commit is contained in:
parent
d6dd701601
commit
a83649a768
@ -228,10 +228,10 @@ contains
|
|||||||
read(c78,1060) apsymbols
|
read(c78,1060) apsymbols
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call timer('q65loops',0)
|
call timer('q65loop1',0)
|
||||||
call q65_loops(c00,npts/2,nsps/2,nsubmode,ndepth,jpk0, &
|
call q65_loops(c00,npts/2,nsps/2,nsubmode,ndepth,jpk0, &
|
||||||
xdt,f0,iaptype,xdt1,f1,snr2,dat4,idec)
|
xdt,f0,iaptype,xdt1,f1,snr2,dat4,idec)
|
||||||
call timer('q65loops',1)
|
call timer('q65loop1',1)
|
||||||
! write(*,3001) '=b',nfqso,ntol,ndepth,xdt,f0,idec
|
! write(*,3001) '=b',nfqso,ntol,ndepth,xdt,f0,idec
|
||||||
if(idec.ge.0) then
|
if(idec.ge.0) then
|
||||||
dtdec=xdt1
|
dtdec=xdt1
|
||||||
@ -366,6 +366,8 @@ contains
|
|||||||
if(lapcqonly) npasses=1
|
if(lapcqonly) npasses=1
|
||||||
iaptype=0
|
iaptype=0
|
||||||
do ipass=0,npasses !Loop over AP passes
|
do ipass=0,npasses !Loop over AP passes
|
||||||
|
! write(*,3001) nutc,icand,ipass,f0,xdt,snr1
|
||||||
|
!3001 format('a',i5.4,2i3,3f7.1)
|
||||||
apmask=0 !Try first with no AP information
|
apmask=0 !Try first with no AP information
|
||||||
apsymbols=0
|
apsymbols=0
|
||||||
if(ipass.ge.1) then
|
if(ipass.ge.1) then
|
||||||
@ -378,10 +380,10 @@ contains
|
|||||||
read(c78,1060) apsymbols
|
read(c78,1060) apsymbols
|
||||||
endif
|
endif
|
||||||
|
|
||||||
call timer('q65loops',0)
|
call timer('q65loop2',0)
|
||||||
call q65_loops(c00,npts/2,nsps/2,nsubmode,ndepth,jpk0, &
|
call q65_loops(c00,npts/2,nsps/2,nsubmode,ndepth,jpk0, &
|
||||||
xdt,f0,iaptype,xdt1,f1,snr2,dat4,idec)
|
xdt,f0,iaptype,xdt1,f1,snr2,dat4,idec)
|
||||||
call timer('q65loops',1)
|
call timer('q65loop2',1)
|
||||||
! write(*,3001) '=e',nfqso,ntol,ndepth,xdt,f0,idec
|
! write(*,3001) '=e',nfqso,ntol,ndepth,xdt,f0,idec
|
||||||
if(idec.ge.0) then
|
if(idec.ge.0) then
|
||||||
dtdec=xdt1
|
dtdec=xdt1
|
||||||
|
@ -567,6 +567,10 @@ subroutine q65_ccf_22(s1,iz,jz,nfqso,ntol,iavg,ipk,jpk, &
|
|||||||
! Save parameters for best candidates
|
! Save parameters for best candidates
|
||||||
jzz=ib-ia+1
|
jzz=ib-ia+1
|
||||||
call indexx(ccf2(ia:ib),jzz,indx)
|
call indexx(ccf2(ia:ib),jzz,indx)
|
||||||
|
|
||||||
|
call pctile(ccf2(ia:ib),jzz,50,ave)
|
||||||
|
call pctile(ccf2(ia:ib),jzz,84,base)
|
||||||
|
rms=base-ave
|
||||||
ncand=0
|
ncand=0
|
||||||
maxcand=20
|
maxcand=20
|
||||||
do j=1,20
|
do j=1,20
|
||||||
@ -578,8 +582,10 @@ subroutine q65_ccf_22(s1,iz,jz,nfqso,ntol,iavg,ipk,jpk, &
|
|||||||
i4=min(iz,i+mode_q65)
|
i4=min(iz,i+mode_q65)
|
||||||
biggest=maxval(ccf2(i3:i4))
|
biggest=maxval(ccf2(i3:i4))
|
||||||
if(ccf2(i).ne.biggest) cycle
|
if(ccf2(i).ne.biggest) cycle
|
||||||
|
snr=(ccf2(i)-ave)/rms
|
||||||
|
if(snr.lt.6.0) exit
|
||||||
ncand=ncand+1
|
ncand=ncand+1
|
||||||
candidates(ncand,1)=ccf2(i)
|
candidates(ncand,1)=snr
|
||||||
candidates(ncand,2)=xdt2(i)
|
candidates(ncand,2)=xdt2(i)
|
||||||
candidates(ncand,3)=f
|
candidates(ncand,3)=f
|
||||||
if(ncand.ge.maxcand) exit
|
if(ncand.ge.maxcand) exit
|
||||||
|
Loading…
x
Reference in New Issue
Block a user