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:
parent
bf242d03e5
commit
6a154b4e6f
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user