Enable FST280 decoding with jt9[.exe]. So far, with 60 s periods only.

This commit is contained in:
Joe Taylor 2020-06-17 15:07:15 -04:00
parent 5aeaf5dc78
commit b0a979e3f2

View File

@ -25,7 +25,7 @@ program jt9
fhigh=4000,nrxfreq=1500,ntrperiod=1,ndepth=1,nexp_decode=0
logical :: read_files = .true., tx9 = .false., display_help = .false., &
bLowSidelobes = .false.
type (option) :: long_options(26) = [ &
type (option) :: long_options(27) = [ &
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 MINUTES=1', &
@ -52,7 +52,8 @@ program jt9
'THREADS'), &
option ('jt4', .false., '4', 'JT4 mode', ''), &
option ('ft4', .false., '5', 'FT4 mode', ''), &
option ('jt65', .false.,'6', 'JT65 mode', ''), &
option ('jt65', .false.,'6', 'JT65 mode', ''), &
option ('fst280', .false., '7', 'FT8 mode', ''), &
option ('ft8', .false., '8', 'FT8 mode', ''), &
option ('jt9', .false., '9', 'JT9 mode', ''), &
option ('qra64', .false., 'q', 'QRA64 mode', ''), &
@ -79,7 +80,7 @@ program jt9
nsubmode = 0
do
call getopt('hs:e:a:b:r:m:p:d:f:w:t:98654qTL:S:H:c:G:x:g:X:', &
call getopt('hs:e:a:b:r:m:p:d:f:w:t:987654qTL:S:H:c:G:x:g:X:', &
long_options,c,optarg,arglen,stat,offset,remain,.true.)
if (stat .ne. 0) then
exit
@ -120,10 +121,12 @@ program jt9
mode = 5
case ('6')
if (mode.lt.65) mode = mode + 65
case ('9')
if (mode.lt.9.or.mode.eq.65) mode = mode + 9
case ('7')
mode = 280
case ('8')
mode = 8
case ('9')
if (mode.lt.9.or.mode.eq.65) mode = mode + 9
case ('T')
tx9 = .true.
case ('w')
@ -182,7 +185,6 @@ program jt9
allocate(shared_data)
nflatten=0
do iarg = offset + 1, offset + remain
call get_command_argument (iarg, optarg, arglen)
infile = optarg(:arglen)
@ -220,11 +222,11 @@ program jt9
k=0
nhsym0=-999
npts=(60*ntrperiod-6)*12000
if(mode.eq.280) npts=60*ntrperiod*12000
if(iarg .eq. offset + 1) then
call init_timer (trim(data_dir)//'/timer.out')
call timer('jt9 ',0)
endif
shared_data%id2=0 !??? Why is this necessary ???
if(mode.eq.5) npts=21*3456
do iblk=1,npts/kstep
@ -249,7 +251,7 @@ program jt9
call timer('symspec ',1)
endif
nhsym0=nhsym
if(nhsym.ge.181) exit
if(nhsym.ge.181 .and. mode.ne.280) exit
endif
enddo
close(unit=wav%lun)
@ -264,20 +266,14 @@ program jt9
shared_data%params%nfb=fhigh
shared_data%params%ntol=20
shared_data%params%kin=64800
if(mode.eq.280) shared_data%params%kin=720000 !### 60 s periods ###
shared_data%params%nzhsym=181
shared_data%params%ndepth=ndepth
shared_data%params%lft8apon=.true.
shared_data%params%ljt65apon=.true.
shared_data%params%napwid=75
shared_data%params%dttol=3.
! shared_data%params%minsync=0 !### TEST ONLY
! shared_data%params%nfqso=1500 !### TEST ONLY
! mycall="G3WDG " !### TEST ONLY
! hiscall="VK7MO " !### TEST ONLY
! hisgrid="QE37 " !### TEST ONLY
if(mode.eq.164 .and. nsubmode.lt.100) nsubmode=nsubmode+100
shared_data%params%naggressive=0
shared_data%params%n2pass=2
! shared_data%params%nranera=8 !### ntrials=10000