mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-02-21 13:08:39 -05:00
1. Clean up the behavior of Avg and DS decoding.
2. Specify Navg (max # of transmissions to average) for fer65. 3. Specify DS (0 = no deep search, 1 = deep search) for fer65. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6549 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
7f23f5f12e
commit
23ef7478df
@ -24,8 +24,8 @@ program fer65
|
||||
|
||||
nargs=iargc()
|
||||
if(nargs.ne.7) then
|
||||
print*,'Usage: fer65 submode fspread snr1 snr2 depth Navg iters'
|
||||
print*,'Example: fer65 C 3.0 -28 -12 19 1 1000'
|
||||
print*,'Usage: fer65 submode fspread snr1 snr2 Navg DS iters'
|
||||
print*,'Example: fer65 C 3.0 -28 -12 8 1 1000'
|
||||
go to 999
|
||||
endif
|
||||
|
||||
@ -37,12 +37,16 @@ program fer65
|
||||
call getarg(4,arg)
|
||||
read(arg,*) snr2
|
||||
call getarg(5,arg)
|
||||
read(arg,*) ndepth
|
||||
call getarg(6,arg)
|
||||
read(arg,*) navg
|
||||
call getarg(6,arg)
|
||||
read(arg,*) nds
|
||||
call getarg(7,arg)
|
||||
read(arg,*) iters
|
||||
|
||||
ndepth=3
|
||||
if(navg.gt.1) ndepth=ndepth+16
|
||||
if(nds.ne.0) ndepth=ndepth+32
|
||||
|
||||
dfmax=min(d,0.5*2.69)
|
||||
if(submode.eq.'b' .or. submode.eq.'B') dfmax=min(d,2.69)
|
||||
if(submode.eq.'c' .or. submode.eq.'C') dfmax=min(d,2.0*2.69)
|
||||
@ -54,9 +58,9 @@ program fer65
|
||||
open(20,file='fer65.20',status='unknown')
|
||||
open(21,file='fer65.21',status='unknown')
|
||||
|
||||
write(20,1000) submode,iters,ntrials,naggressive,d,ndepth,navg
|
||||
1000 format(/'JT65',a1,' Iters:',i5,' T:',i6,' Aggressive:',i3, &
|
||||
' Doppler:',f5.1,' Depth:',i2,' Navg:',i3)
|
||||
write(20,1000) submode,iters,ntrials,naggressive,d,iand(ndepth,3),navg,nds
|
||||
1000 format(/'JT65',a1,' Iters:',i5,' T:',i6,' Aggr:',i3, &
|
||||
' Dop:',f5.1,' Depth:',i2,' Navg:',i3,' DS:',i2)
|
||||
write(20,1002)
|
||||
1002 format(/' dB nsync ngood nbad sync dsnr ', &
|
||||
'DT Freq Nsum Width'/85('-'))
|
||||
@ -92,7 +96,7 @@ program fer65
|
||||
nfreq=0
|
||||
ndrift=0
|
||||
nwidth=0
|
||||
cmnd='./jt65 -m A -a 10 -c K1ABC -f 1500 -n 1000 -d 5 -s -X 32 000000_????.wav > decoded.txt'
|
||||
cmnd='./jt65 -m A -a 10 -c K1ABC -f 1500 -n 1000 -d 5 -s 000000_????.wav > decoded.txt'
|
||||
cmnd(11:11)=submode
|
||||
write(cmnd(47:48),'(i2)') ndepth
|
||||
call system(cmnd)
|
||||
@ -132,7 +136,7 @@ program fer65
|
||||
sq(7)=sq(7) + nsum*nsum
|
||||
else if(decoded.ne.' ') then
|
||||
nbad=nbad+1
|
||||
print*,nbad,decoded
|
||||
print*,'Nbad:',nbad,decoded
|
||||
endif
|
||||
endif
|
||||
20 continue
|
||||
|
10
lib/jt65.f90
10
lib/jt65.f90
@ -9,7 +9,7 @@ program jt65
|
||||
use readwav
|
||||
|
||||
character c,mode
|
||||
logical :: display_help=.false.,nrobust=.false.
|
||||
logical :: display_help=.false.,nrobust=.false.,single_decode=.false.
|
||||
type(wav_header) :: wav
|
||||
integer*2 id2(NZMAX)
|
||||
real*4 dd(NZMAX)
|
||||
@ -36,7 +36,7 @@ program jt65
|
||||
naggressive=0
|
||||
nfqso=1500
|
||||
ntrials=10000
|
||||
nexp_decoded=0
|
||||
nexp_decode=0
|
||||
ntol=1000
|
||||
nsubmode=0
|
||||
nlow=200
|
||||
@ -77,8 +77,9 @@ program jt65
|
||||
case ('g')
|
||||
read (optarg(:narglen), *) hisgrid
|
||||
case ('X')
|
||||
read (optarg(:narglen), *) nexp_decoded
|
||||
read (optarg(:narglen), *) nexp_decode
|
||||
case ('s')
|
||||
single_decode=.true.
|
||||
ntol=100
|
||||
nlow=nfqso-ntol
|
||||
nhigh=nfqso+ntol
|
||||
@ -86,6 +87,7 @@ program jt65
|
||||
end select
|
||||
end do
|
||||
|
||||
if(single_decode) nexp_decode=ior(nexp_decode,32)
|
||||
if(display_help .or. nstat.lt.0 .or. nremain.lt.1) then
|
||||
print *, ''
|
||||
print *, 'Usage: jt65 [OPTIONS] file1 [file2 ...]'
|
||||
@ -123,7 +125,7 @@ program jt65
|
||||
dd(npts+1:)=0.
|
||||
call test(dd,nutc,nfa,nfb,nfqso,ntol,nsubmode, &
|
||||
n2pass,nrobust,ntrials,naggressive,ndepth, &
|
||||
mycall,hiscall,hisgrid,nexp_decoded)
|
||||
mycall,hiscall,hisgrid,nexp_decode)
|
||||
if(nft.gt.0) exit
|
||||
enddo
|
||||
|
||||
|
@ -225,10 +225,11 @@ contains
|
||||
ndepth,ntrials,naggressive,nclearave,neme,mycall, &
|
||||
hiscall,hisgrid,nftt,avemsg,qave,deepave,nsum,ndeepave)
|
||||
nsmo=param(9)
|
||||
nqave=qave
|
||||
|
||||
if (associated(this%callback) .and. nsum.ge.2) then
|
||||
call this%callback(nutc,sync1,nsnr,dtx-1.0,nfreq,ndrift, &
|
||||
width,avemsg,nftt,nqual,nsmo,nsum,minsync,nsubmode, &
|
||||
width,avemsg,nftt,nqave,nsmo,nsum,minsync,nsubmode, &
|
||||
naggressive)
|
||||
prtavg=.true.
|
||||
cycle
|
||||
@ -461,26 +462,28 @@ contains
|
||||
|
||||
call extract(s3c,nadd,mode65,ntrials,naggressive,ndepth,mycall, &
|
||||
hiscall,hisgrid,nexp_decode,ncount,nhist,avemsg,ltext,nftt,qual)
|
||||
|
||||
if(nftt.eq.1) then
|
||||
nsmo=ismo
|
||||
param(9)=nsmo
|
||||
exit
|
||||
go to 900
|
||||
else if(nftt.eq.2) then
|
||||
if(qual.gt.qualbest) then
|
||||
decoded_best=decoded
|
||||
deepbest=avemsg
|
||||
qualbest=qual
|
||||
nnbest=nn
|
||||
nsmobest=ismo
|
||||
nfttbest=nftt
|
||||
endif
|
||||
endif
|
||||
enddo
|
||||
|
||||
if(nftt.eq.2) then
|
||||
decoded=decoded_best
|
||||
qual=qualbest
|
||||
if(nfttbest.eq.2) then
|
||||
avemsg=deepbest !### ???
|
||||
deepave=deepbest
|
||||
qave=qualbest
|
||||
nsmo=nsmobest
|
||||
param(9)=nsmo
|
||||
nftt=nfttbest
|
||||
endif
|
||||
900 continue
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user