Revert "Revert "Very basic code (including some diagnostics) for "try all NB settings". Will remove it again.""

This reverts commit 033cc65d08.
This commit is contained in:
Joe Taylor 2020-09-18 09:01:51 -04:00
parent 033cc65d08
commit 375a869a51
2 changed files with 26 additions and 11 deletions

View File

@ -199,8 +199,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
call timer('dec240 ',0) call timer('dec240 ',0)
call my_fst4%decode(fst4_decoded,id2,params%nutc, & call my_fst4%decode(fst4_decoded,id2,params%nutc, &
params%nQSOProgress,params%nfa,params%nfb, & params%nQSOProgress,params%nfa,params%nfb, &
params%nfqso,ndepth,params%ntr, & params%nfqso,ndepth,params%ntr,params%nexp_decode, &
params%nexp_decode,params%ntol,params%emedelay, & params%ntol,params%emedelay,logical(params%nagain), &
logical(params%lapcqonly),mycall,hiscall,iwspr) logical(params%lapcqonly),mycall,hiscall,iwspr)
call timer('dec240 ',1) call timer('dec240 ',1)
go to 800 go to 800
@ -213,8 +213,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
call timer('dec240 ',0) call timer('dec240 ',0)
call my_fst4%decode(fst4_decoded,id2,params%nutc, & call my_fst4%decode(fst4_decoded,id2,params%nutc, &
params%nQSOProgress,params%nfa,params%nfb, & params%nQSOProgress,params%nfa,params%nfb, &
params%nfqso,ndepth,params%ntr, & params%nfqso,ndepth,params%ntr,params%nexp_decode, &
params%nexp_decode,params%ntol,params%emedelay, & params%ntol,params%emedelay,logical(params%nagain), &
logical(params%lapcqonly),mycall,hiscall,iwspr) logical(params%lapcqonly),mycall,hiscall,iwspr)
call timer('dec240 ',1) call timer('dec240 ',1)
go to 800 go to 800

View File

@ -30,7 +30,7 @@ module fst4_decode
contains contains
subroutine decode(this,callback,iwave,nutc,nQSOProgress,nfa,nfb,nfqso, & subroutine decode(this,callback,iwave,nutc,nQSOProgress,nfa,nfb,nfqso, &
ndepth,ntrperiod,nexp_decode,ntol,emedelay,lapcqonly,mycall, & ndepth,ntrperiod,nexp_decode,ntol,emedelay,lagain,lapcqonly,mycall, &
hiscall,iwspr) hiscall,iwspr)
use timer_module, only: timer use timer_module, only: timer
@ -53,9 +53,10 @@ contains
real bitmetrics(320,4) real bitmetrics(320,4)
real s4(0:3,NN) real s4(0:3,NN)
real minsync real minsync
logical lapcqonly logical lagain,lapcqonly
integer itone(NN) integer itone(NN)
integer hmod integer hmod
integer ipct(0:7)
integer*1 apmask(240),cw(240) integer*1 apmask(240),cw(240)
integer*1 message101(101),message74(74),message77(77) integer*1 message101(101),message74(74),message77(77)
integer*1 rvec(77) integer*1 rvec(77)
@ -69,6 +70,7 @@ contains
integer*2 iwave(30*60*12000) integer*2 iwave(30*60*12000)
data ipct/0,8,14,4,12,2,10,6/
data mcq/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0/ data mcq/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0/
data mrrr/0,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,1/ data mrrr/0,1,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,1/
data m73/0,1,1,1,1,1,1,0,1,0,0,1,0,1,0,0,0,0,1/ data m73/0,1,1,1,1,1,1,0,1,0,0,1,0,1,0,0,0,0,1/
@ -223,7 +225,23 @@ contains
endif endif
ndropmax=1 ndropmax=1
npct=nexp_decode/256 single_decode=iand(nexp_decode,32).ne.0
inb0=0
inb1=0
if((single_decode .or. lagain) .and. (ntol.le.20 .or. iwspr.ne.0)) then
inb1=20
else
ipct(0)=nexp_decode/256
endif
ndecodes=0
decodes=' '
do inb=inb0,inb1,2
! npct=ipct(inb)
npct=inb
write(*,3001) inb,inb1,lagain,single_decode,npct,ntol
3001 format(2i4,2L3,2i5)
call blanker(iwave,nfft1,ndropmax,npct,c_bigfft) call blanker(iwave,nfft1,ndropmax,npct,c_bigfft)
! The big fft is done once and is used for calculating the smoothed spectrum ! The big fft is done once and is used for calculating the smoothed spectrum
@ -232,7 +250,6 @@ contains
nhicoh=1 nhicoh=1
nsyncoh=8 nsyncoh=8
single_decode=iand(nexp_decode,32).ne.0
if(iwspr.eq.1) then !FST4W if(iwspr.eq.1) then !FST4W
nfa=max(100,nint(nfqso+1.5*baud-150)) ! 300 Hz wide noise-fit window nfa=max(100,nint(nfqso+1.5*baud-150)) ! 300 Hz wide noise-fit window
nfb=min(4800,nint(nfqso+1.5*baud+150)) nfb=min(4800,nint(nfqso+1.5*baud+150))
@ -256,9 +273,6 @@ contains
call get_candidates_fst4(c_bigfft,nfft1,nsps,hmod,fs,fa,fb,nfa,nfb, & call get_candidates_fst4(c_bigfft,nfft1,nsps,hmod,fs,fa,fb,nfa,nfb, &
minsync,ncand,candidates0) minsync,ncand,candidates0)
ndecodes=0
decodes=' '
isbest=0 isbest=0
fc2=0. fc2=0.
do icand=1,ncand do icand=1,ncand
@ -510,6 +524,7 @@ contains
enddo ! metrics enddo ! metrics
enddo ! istart jitter enddo ! istart jitter
2002 enddo !candidate list 2002 enddo !candidate list
enddo
return return
end subroutine decode end subroutine decode