1
0
mirror of https://github.com/saitohirga/WSJT-X.git synced 2025-03-23 20:48:33 -04:00

Reconfigure sfrx to call sfrx_sub.

This commit is contained in:
Steven Franke 2024-09-22 09:57:36 -05:00
parent bf242d03e5
commit 6a154b4e6f
2 changed files with 13 additions and 90 deletions

View File

@ -1260,8 +1260,8 @@ target_link_libraries (ft8sim wsjt_fort wsjt_cxx)
add_executable (sfoxsim lib/superfox/sfoxsim.f90)
target_link_libraries (sfoxsim wsjt_fort wsjt_cxx)
#add_executable (sfrx lib/superfox/sfrx.f90)
#target_link_libraries (sfrx wsjt_fort wsjt_cxx)
add_executable (sfrx lib/superfox/sfrx.f90)
target_link_libraries (sfrx wsjt_fort wsjt_cxx)
#add_executable (sftx lib/superfox/sftx.f90)
#target_link_libraries (sftx wsjt_fort wsjt_cxx)

View File

@ -2,61 +2,38 @@ program sfrx
use sfox_mod
use julian
use popen_module, only: get_command_as_string
! use popen_module, only: get_command_as_string
integer*2 iwave(NMAX)
integer ihdr(11)
integer*8 secday,ntime8,ntime8_chk
integer*1 xdec(0:49)
character*120 fname,cmnd,cresult
character*13 foxcall,foxcall_chk
character*256 ppath
complex c0(NMAX) !Complex form of signal as received
real dd(NMAX)
logical crc_ok
logical use_otp
data secday/86400/
character*120 fname
include 'gtag.f90'
use_otp = .FALSE.
fsync=750.0
ftol=100.0
narg=iargc()
if(narg.lt.1) then
! print*,'Usage: sfrx [fsync [ftol]] infile [...]'
! print*,'Examples: sfrx 230305_011230.wav'
! print*,' sfrx 775 10 240811_102400.wav'
! print*,'Reads one or more .wav files and calls SuperFox decoder on each.'
! print*,'Defaults: fsync=750, ftol=100'
print*,'Usage: sfrx fsync ftol infile [...]'
print*,' sfrx 775 10 240811_102400.wav'
print*,'Reads one or more .wav files and calls SuperFox decoder on each.'
print '(" Git tag: ",z9)',ntag
go to 999
endif
ifile1=1
call getarg(1,fname)
read(fname,*,err=1) fsync
ifile1=2
call getarg(2,fname)
read(fname,*,err=1) ftol
ifile1=3
nfqso=nint(fsync)
ntol=nint(ftol)
1 nf=0
nd=0
nv=0
fsample=12000.0
call sfox_init(7,127,50,'no',fspread,delay,fsample,24)
npts=15*12000
do ifile=ifile1,narg
do ifile=3,narg
call getarg(ifile,fname)
write(72,*) ifile,narg,fname
if(fname.eq.'OTP') then
use_otp = .TRUE.
cycle
endif
open(10,file=trim(fname),status='old',access='stream',err=4)
go to 5
@ -72,66 +49,12 @@ program sfrx
read(fname(nz-16:nz-11),*) nyymmdd
read(fname(nz-9:nz-4),*) nutc
endif
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 sfrx_sub(nyymmdd,nutc,nfqso,ntol,iwave)
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)
if (use_otp) then
nsignature = 1
else
nsignature = 0
endif
call sfox_unpack(nutc,xdec,nsnr,fbest-750.0,tbest,foxcall,nsignature)
! Execute 'foxchk <foxcall> <ntime8>' to get the correct signature value.
write(cmnd,1102) trim(foxcall),ntime8
1102 format('foxchk ',a,i12)
call getarg(0,ppath)
lindex=index(ppath,'sfrx')-1
if (.not.use_otp) then
cmnd=ppath(1:lindex)//cmnd
cresult=get_command_as_string(trim(cmnd))
read(cresult,1104) foxcall_chk,ntime8_chk,nsignature_chk
1104 format(a11,i13,i10.7)
if(nsignature.eq.nsignature_chk) write(*,1110) trim(foxcall)
1110 format(a,' verified')
if(nsignature.eq.nsignature_chk) nv=nv+1
endif
nd=nd+1
! else
! i0=index(fname,'.wav')
! write(60,3060) trim(fname)
!3060 format('cp ',a,' nodecode')
endif
nf=nf+1
enddo
ncarg=narg
if (use_otp) then
ncarg=ncarg-1
endif
if(ncarg.gt.ifile1) write(*,1999) nf,nd,nv
1999 format('nfiles:',i5,' ndecodes:',i5,' nverified:',i5)