mirror of https://github.com/pavel-demin/ft8d.git
add maxcand argument to sync8
This commit is contained in:
parent
7e0d334ca4
commit
6486644b81
2
ft8d.f90
2
ft8d.f90
|
@ -43,7 +43,7 @@ program ft8d
|
||||||
newdat=.true.
|
newdat=.true.
|
||||||
syncmin=1.5
|
syncmin=1.5
|
||||||
call sync8(dd(1:NMAX,ipart),nfa+2000,nfb+2000,syncmin, &
|
call sync8(dd(1:NMAX,ipart),nfa+2000,nfb+2000,syncmin, &
|
||||||
nfqso+2000,s,candidate,ncand,sbase)
|
nfqso+2000,200,s,candidate,ncand,sbase)
|
||||||
do icand=1,ncand
|
do icand=1,ncand
|
||||||
sync=candidate(3,icand)
|
sync=candidate(3,icand)
|
||||||
f1=candidate(1,icand)
|
f1=candidate(1,icand)
|
||||||
|
|
14
sync8.f90
14
sync8.f90
|
@ -1,4 +1,4 @@
|
||||||
subroutine sync8(dd,nfa,nfb,syncmin,nfqso,s,candidate,ncand,sbase)
|
subroutine sync8(dd,nfa,nfb,syncmin,nfqso,maxcand,s,candidate,ncand,sbase)
|
||||||
|
|
||||||
include 'ft8_params.f90'
|
include 'ft8_params.f90'
|
||||||
! Search over +/- 2.5s relative to 0.5s TX start time.
|
! Search over +/- 2.5s relative to 0.5s TX start time.
|
||||||
|
@ -10,8 +10,8 @@ subroutine sync8(dd,nfa,nfb,syncmin,nfqso,s,candidate,ncand,sbase)
|
||||||
complex x(NFFT1)
|
complex x(NFFT1)
|
||||||
real sync2d(NFFT1,-JZ:JZ)
|
real sync2d(NFFT1,-JZ:JZ)
|
||||||
real red(NFFT1)
|
real red(NFFT1)
|
||||||
real candidate0(3,200)
|
real candidate0(3,maxcand)
|
||||||
real candidate(3,200)
|
real candidate(3,maxcand)
|
||||||
complex dd(NMAX)
|
complex dd(NMAX)
|
||||||
integer jpeak(NFFT1)
|
integer jpeak(NFFT1)
|
||||||
integer indx(NFFT1)
|
integer indx(NFFT1)
|
||||||
|
@ -96,15 +96,17 @@ subroutine sync8(dd,nfa,nfb,syncmin,nfqso,s,candidate,ncand,sbase)
|
||||||
iz=ib-ia+1
|
iz=ib-ia+1
|
||||||
call indexx(red(ia:ib),iz,indx)
|
call indexx(red(ia:ib),iz,indx)
|
||||||
ibase=indx(nint(0.40*iz)) - 1 + ia
|
ibase=indx(nint(0.40*iz)) - 1 + ia
|
||||||
|
if(ibase.lt.1) ibase=1
|
||||||
|
if(ibase.gt.NFFT1) ibase=NFFT1
|
||||||
base=red(ibase)
|
base=red(ibase)
|
||||||
red=red/base
|
red=red/base
|
||||||
|
|
||||||
candidate0=0.
|
candidate0=0.
|
||||||
k=0
|
k=0
|
||||||
do i=1,200
|
do i=1,maxcand
|
||||||
n=ia + indx(iz+1-i) - 1
|
n=ia + indx(iz+1-i) - 1
|
||||||
if(red(n).lt.syncmin) exit
|
if(red(n).lt.syncmin.or.isnan(red(n)).or.k.eq.maxcand) exit
|
||||||
if(k.lt.200) k=k+1
|
k=k+1
|
||||||
candidate0(1,k)=n*df
|
candidate0(1,k)=n*df
|
||||||
candidate0(2,k)=(jpeak(n)-1)*tstep
|
candidate0(2,k)=(jpeak(n)-1)*tstep
|
||||||
candidate0(3,k)=red(n)
|
candidate0(3,k)=red(n)
|
||||||
|
|
Loading…
Reference in New Issue