Add --freq-tolerance (-F) jt9 option

This commit is contained in:
Bill Somerville 2020-10-23 03:24:19 +01:00
parent 99def213d2
commit 308d815fb5
No known key found for this signature in database
GPG Key ID: D864B06D1E81618F

View File

@ -26,7 +26,7 @@ program jt9
fhigh=4000,nrxfreq=1500,ndepth=1,nexp_decode=0,nQSOProg=0
logical :: read_files = .true., tx9 = .false., display_help = .false., &
bLowSidelobes = .false.
type (option) :: long_options(29) = [ &
type (option) :: long_options(30) = [ &
option ('help', .false., 'h', 'Display this help message', ''), &
option ('shmem',.true.,'s','Use shared memory for sample data','KEY'), &
option ('tr-period', .true., 'p', 'Tx/Rx period, default SECONDS=60', &
@ -46,6 +46,8 @@ program jt9
'Lowest JT9 frequency decoded, default HERTZ=2700', 'HERTZ'), &
option ('rx-frequency', .true., 'f', &
'Receive frequency offset, default HERTZ=1500', 'HERTZ'), &
option ('freq-tolerance', .true., 'F', &
'Receive frequency tolerance, default HERTZ=20', 'HERTZ'), &
option ('patience', .true., 'w', &
'FFTW3 planing patience (0-4), default PATIENCE=1', 'PATIENCE'), &
option ('fft-threads', .true., 'm', &
@ -83,10 +85,11 @@ program jt9
iwspr=0
nsubmode = 0
ntol = 20
TRperiod=60.d0
do
call getopt('hs:e:a:b:r:m:p:d:f:w:t:987654WqTL:S:H:c:G:x:g:X:Q:', &
call getopt('hs:e:a:b:r:m:p:d:f:F:w:t:987654WqTL:S:H:c:G:x:g:X:Q:', &
long_options,c,optarg,arglen,stat,offset,remain,.true.)
if (stat .ne. 0) then
exit
@ -113,6 +116,8 @@ program jt9
read (optarg(:arglen), *) ndepth
case ('f')
read (optarg(:arglen), *) nrxfreq
case ('F')
read (optarg(:arglen), *) ntol
case ('L')
read (optarg(:arglen), *) flow
case ('S')
@ -195,6 +200,13 @@ program jt9
go to 999
endif
if (mode .eq. 241) then
ntol = min (ntol, 100)
else if (mode .eq. 74) then
ntol = 20
else
ntol = min (ntol, 1000)
end if
allocate(shared_data)
nflatten=0
do iarg = offset + 1, offset + remain
@ -258,7 +270,7 @@ program jt9
shared_data%params%nfa=flow
shared_data%params%nfsplit=fsplit
shared_data%params%nfb=fhigh
shared_data%params%ntol=20
shared_data%params%ntol=ntol
shared_data%params%kin=64800
if(mode.eq.240) shared_data%params%kin=720000 !### 60 s periods ###
shared_data%params%nzhsym=nhsym