Add sfrx_sub.f90.

This commit is contained in:
Joe Taylor 2024-09-17 09:15:23 -04:00
parent eb500cbe87
commit 1621ec61e5

55
lib/superfox/sfrx_sub.f90 Normal file
View File

@ -0,0 +1,55 @@
subroutine sfrx_sub(nyymmdd,nutc,nfqso,ntol,iwave)
use sfox_mod
use julian
integer*2 iwave(NMAX)
integer*8 secday,ntime8
integer*1 xdec(0:49)
character*13 foxcall
complex c0(NMAX) !Complex form of signal as received
real dd(NMAX)
logical crc_ok
data secday/86400/
fsync=nfqso
ftol=ntol
nf=0
nd=0
nv=0
fsample=12000.0
call sfox_init(7,127,50,'no',fspread,delay,fsample,24)
npts=15*12000
if(nyymmdd.eq.-1) then
ntime8=itime8()/30
ntime8=30*ntime8
else
iyr=2000+nyymmdd/10000
imo=mod(nyymmdd/100,100)
iday=mod(nyymmdd,100)
ih=nutc/10000
im=mod(nutc/100,100)
is=mod(nutc,100)
ntime8=secday*(JD(iyr,imo,iday)-2440588) + 3600*ih + 60*im + is
endif
dd=iwave
call sfox_remove_ft8(dd,npts)
call sfox_ana(dd,npts,c0,npts)
ndepth=3
dth=0.5
damp=1.0
call qpc_decode2(c0,fsync,ftol, xdec,ndepth,dth,damp,crc_ok, &
snrsync,fbest,tbest,snr)
if(crc_ok) then
nsnr=nint(snr)
nsignature = 1
call sfox_unpack(nutc,xdec,nsnr,fbest-750.0,tbest,foxcall,nsignature)
endif
return
end subroutine sfrx_sub