mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-30 21:32:29 -04:00
Send parameters for experience-based decoding to jt9[.exe].
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6181 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
155118076c
commit
b557035d0c
@ -37,7 +37,8 @@ extern struct FortranCommon {
|
|||||||
int nranera;
|
int nranera;
|
||||||
int naggressive;
|
int naggressive;
|
||||||
int nrobust;
|
int nrobust;
|
||||||
int nspare[10];
|
int nexp_decode;
|
||||||
|
int nspare[9];
|
||||||
char datetime[20];
|
char datetime[20];
|
||||||
char mycall[12];
|
char mycall[12];
|
||||||
char mygrid[6];
|
char mygrid[6];
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,ntrials, &
|
subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,ntrials, &
|
||||||
naggressive,ndepth,sync2,a,dt,nsf,nhist,decoded)
|
naggressive,ndepth,nexp_decode,sync2,a,dt,nsf,nhist,decoded)
|
||||||
|
|
||||||
! Apply AFC corrections to a candidate JT65 signal, then decode it.
|
! Apply AFC corrections to a candidate JT65 signal, then decode it.
|
||||||
|
|
||||||
@ -73,8 +73,8 @@ subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,ntrials, &
|
|||||||
call timer('sh_ffts ',1)
|
call timer('sh_ffts ',1)
|
||||||
|
|
||||||
call timer('dec65b ',0)
|
call timer('dec65b ',0)
|
||||||
call decode65b(s2,nflip,mode65,ntrials,naggressive,ndepth,nqd,nsf, &
|
call decode65b(s2,nflip,mode65,ntrials,naggressive,ndepth,nexp_decode, &
|
||||||
nhist,decoded)
|
nqd,nsf,nhist,decoded)
|
||||||
dt=dtbest !return new, improved estimate of dt
|
dt=dtbest !return new, improved estimate of dt
|
||||||
call timer('dec65b ',1)
|
call timer('dec65b ',1)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
subroutine decode65b(s2,nflip,mode65,ntrials,naggressive,ndepth,nqd, &
|
subroutine decode65b(s2,nflip,mode65,ntrials,naggressive,ndepth,nexp_decode, &
|
||||||
nsf,nhist,decoded)
|
nqd,nsf,nhist,decoded)
|
||||||
|
|
||||||
real s2(66,126)
|
real s2(66,126)
|
||||||
real s3(64,63)
|
real s3(64,63)
|
||||||
@ -23,8 +23,8 @@ subroutine decode65b(s2,nflip,mode65,ntrials,naggressive,ndepth,nqd, &
|
|||||||
enddo
|
enddo
|
||||||
|
|
||||||
nadd=mode65
|
nadd=mode65
|
||||||
call extract(s3,nadd,nqd,ntrials,naggressive,ndepth,ncount,nhist, &
|
call extract(s3,nadd,nqd,ntrials,naggressive,ndepth,nexp_decode, &
|
||||||
decoded,ltext,nsf) !Extract the message
|
ncount,nhist,decoded,ltext,nsf) !Extract the message
|
||||||
|
|
||||||
! Suppress "birdie messages" and other garbage decodes:
|
! Suppress "birdie messages" and other garbage decodes:
|
||||||
if(decoded(1:7).eq.'000AAA ') ncount=-1
|
if(decoded(1:7).eq.'000AAA ') ncount=-1
|
||||||
|
@ -12,7 +12,7 @@ subroutine decoder(ss,id2,nfsample)
|
|||||||
common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfsplit,nfb, &
|
common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfsplit,nfb, &
|
||||||
ntol,kin,nzhsym,nsubmode,nagain,ndepth,ntxmode,nmode,minw,nclearave, &
|
ntol,kin,nzhsym,nsubmode,nagain,ndepth,ntxmode,nmode,minw,nclearave, &
|
||||||
minsync,emedelay,dttol,nlist,listutc(10),n2pass,nranera,naggressive, &
|
minsync,emedelay,dttol,nlist,listutc(10),n2pass,nranera,naggressive, &
|
||||||
nrobust,nspare(10),datetime,mycall,mygrid,hiscall,hisgrid
|
nrobust,nexp_decode,nspare(9),datetime,mycall,mygrid,hiscall,hisgrid
|
||||||
common/tracer/limtrace,lu
|
common/tracer/limtrace,lu
|
||||||
integer onlevel(0:10)
|
integer onlevel(0:10)
|
||||||
common/tracer_priv/level,onlevel
|
common/tracer_priv/level,onlevel
|
||||||
@ -70,7 +70,8 @@ subroutine decoder(ss,id2,nfsample)
|
|||||||
nf2=nfb
|
nf2=nfb
|
||||||
call timer('jt65a ',0)
|
call timer('jt65a ',0)
|
||||||
call jt65a(dd,npts65,newdat65,nutc,nf1,nf2,nfqso,ntol65,nsubmode, &
|
call jt65a(dd,npts65,newdat65,nutc,nf1,nf2,nfqso,ntol65,nsubmode, &
|
||||||
minsync,nagain,n2pass,nrobust,ntrials,naggressive,ndepth,ndecoded)
|
minsync,nagain,n2pass,nrobust,ntrials,naggressive,ndepth, &
|
||||||
|
nexp_decode,ndecoded)
|
||||||
call timer('jt65a ',1)
|
call timer('jt65a ',1)
|
||||||
|
|
||||||
else if(nmode.eq.9 .or. (nmode.eq.(65+9) .and. ntxmode.eq.9)) then
|
else if(nmode.eq.9 .or. (nmode.eq.(65+9) .and. ntxmode.eq.9)) then
|
||||||
@ -89,7 +90,8 @@ subroutine decoder(ss,id2,nfsample)
|
|||||||
nf2=nfb
|
nf2=nfb
|
||||||
call timer('jt65a ',0)
|
call timer('jt65a ',0)
|
||||||
call jt65a(dd,npts65,newdat65,nutc,nf1,nf2,nfqso,ntol65,nsubmode, &
|
call jt65a(dd,npts65,newdat65,nutc,nf1,nf2,nfqso,ntol65,nsubmode, &
|
||||||
minsync,nagain,n2pass,nrobust,ntrials,naggressive,ndepth,ndecoded)
|
minsync,nagain,n2pass,nrobust,ntrials,naggressive,ndepth, &
|
||||||
|
nexp_decode,ndecoded)
|
||||||
call timer('jt65a ',1)
|
call timer('jt65a ',1)
|
||||||
else
|
else
|
||||||
call timer('decjt9 ',0)
|
call timer('decjt9 ',0)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
subroutine exp_decode65(mrsym,mrprob,mr2sym,nhard,nsoft,nbest,correct)
|
subroutine exp_decode65(mrsym,mrprob,mr2sym,nexp_decode,nhard,nsoft,nbest, &
|
||||||
|
correct)
|
||||||
|
|
||||||
use packjt
|
use packjt
|
||||||
use prog_args
|
use prog_args
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
subroutine extract(s3,nadd,nqd,ntrials,naggressive,ndepth,ncount,nhist, &
|
subroutine extract(s3,nadd,nqd,ntrials,naggressive,ndepth,nexp_decode, &
|
||||||
decoded,ltext,nsf)
|
ncount,nhist,decoded,ltext,nsf)
|
||||||
|
|
||||||
! Input:
|
! Input:
|
||||||
! s3 64-point spectra for each of 63 data symbols
|
! s3 64-point spectra for each of 63 data symbols
|
||||||
@ -74,7 +74,8 @@ subroutine extract(s3,nadd,nqd,ntrials,naggressive,ndepth,ncount,nhist, &
|
|||||||
|
|
||||||
if(nhard.lt.0 .and. ndepth.ge.5) then
|
if(nhard.lt.0 .and. ndepth.ge.5) then
|
||||||
call timer('exp_deco',0)
|
call timer('exp_deco',0)
|
||||||
call exp_decode65(mrsym,mrprob,mr2sym,nhard,nsoft,nbest,correct)
|
call exp_decode65(mrsym,mrprob,mr2sym,nexp_decode,nhard,nsoft,nbest, &
|
||||||
|
correct)
|
||||||
if(nbest.gt.72+2*naggressive) then
|
if(nbest.gt.72+2*naggressive) then
|
||||||
nhard=-1
|
nhard=-1
|
||||||
endif
|
endif
|
||||||
|
@ -6,7 +6,7 @@ subroutine fillcom(nutc0,ndepth0,nrxfreq,mode,tx9,flow,fsplit,fhigh)
|
|||||||
common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfsplit,nfb, &
|
common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfsplit,nfb, &
|
||||||
ntol,kin,nzhsym,nsubmode,nagain,ndepth,ntxmode,nmode,minw,nclearave, &
|
ntol,kin,nzhsym,nsubmode,nagain,ndepth,ntxmode,nmode,minw,nclearave, &
|
||||||
minsync,emedelay,dttol,nlist,listutc(10),n2pass,nranera,naggressive, &
|
minsync,emedelay,dttol,nlist,listutc(10),n2pass,nranera,naggressive, &
|
||||||
nrobust,nspare(10),datetime,mycall,mygrid,hiscall,hisgrid
|
nrobust,nexp_decode,nspare(9),datetime,mycall,mygrid,hiscall,hisgrid
|
||||||
save
|
save
|
||||||
|
|
||||||
nutc=nutc0
|
nutc=nutc0
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
subroutine jt65a(dd0,npts,newdat,nutc,nf1,nf2,nfqso,ntol,nsubmode, &
|
subroutine jt65a(dd0,npts,newdat,nutc,nf1,nf2,nfqso,ntol,nsubmode, &
|
||||||
minsync,nagain,n2pass,nrobust,ntrials,naggressive,ndepth,ndecoded)
|
minsync,nagain,n2pass,nrobust,ntrials,naggressive,ndepth, &
|
||||||
|
nexp_decode,ndecoded)
|
||||||
|
|
||||||
! Process dd0() data to find and decode JT65 signals.
|
! Process dd0() data to find and decode JT65 signals.
|
||||||
|
|
||||||
@ -91,7 +92,7 @@ subroutine jt65a(dd0,npts,newdat,nutc,nf1,nf2,nfqso,ntol,nsubmode, &
|
|||||||
if(ipass.eq.2) ntry65b=ntry65b + 1
|
if(ipass.eq.2) ntry65b=ntry65b + 1
|
||||||
call timer('decod65a',0)
|
call timer('decod65a',0)
|
||||||
call decode65a(dd,npts,newdat,nqd,freq,nflip,mode65,nvec, &
|
call decode65a(dd,npts,newdat,nqd,freq,nflip,mode65,nvec, &
|
||||||
naggressive,ndepth,sync2,a,dtx,nsf,nhist,decoded)
|
naggressive,ndepth,nexp_decode,sync2,a,dtx,nsf,nhist,decoded)
|
||||||
call timer('decod65a',1)
|
call timer('decod65a',1)
|
||||||
!write(*,*) icand,freq+a(1),dtx,sync1,sync2
|
!write(*,*) icand,freq+a(1),dtx,sync1,sync2
|
||||||
if(decoded.eq.decoded0) cycle !Don't display dupes
|
if(decoded.eq.decoded0) cycle !Don't display dupes
|
||||||
|
@ -54,7 +54,7 @@ program jt9
|
|||||||
ntr,mousefqso,newdat,npts8a,nfa,nfsplit,nfb,ntol,kin,nzhsym, &
|
ntr,mousefqso,newdat,npts8a,nfa,nfsplit,nfb,ntol,kin,nzhsym, &
|
||||||
nsubmode,nagain,ndepth,ntxmode,nmode,minw,nclearave,minsync, &
|
nsubmode,nagain,ndepth,ntxmode,nmode,minw,nclearave,minsync, &
|
||||||
emedelay,dttol,nlist,listutc(10),n2pass,nranera,naggressive, &
|
emedelay,dttol,nlist,listutc(10),n2pass,nranera,naggressive, &
|
||||||
nrobust,nspare(10),datetime,mycall,mygrid,hiscall,hisgrid
|
nrobust,nexp_decode,nspare(9),datetime,mycall,mygrid,hiscall,hisgrid
|
||||||
|
|
||||||
common/tracer/limtrace,lu
|
common/tracer/limtrace,lu
|
||||||
common/patience/npatience,nthreads
|
common/patience/npatience,nthreads
|
||||||
|
@ -9,7 +9,8 @@ subroutine jt9c(ss,savg,id2,nparams0)
|
|||||||
common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfsplit,nfb, &
|
common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfsplit,nfb, &
|
||||||
ntol,kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,minw,nclearave, &
|
ntol,kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,minw,nclearave, &
|
||||||
minsync,emedelay,dttol,nlist,listutc(10),n2pass,nranera, &
|
minsync,emedelay,dttol,nlist,listutc(10),n2pass,nranera, &
|
||||||
naggressive,nrobust,nspare(10),datetime,mycall,mygrid,hiscall,hisgrid
|
naggressive,nrobust,nexp_decode,nspare(9),datetime,mycall,mygrid, &
|
||||||
|
hiscall,hisgrid
|
||||||
|
|
||||||
common/patience/npatience,nthreads
|
common/patience/npatience,nthreads
|
||||||
equivalence (nparams,nutc)
|
equivalence (nparams,nutc)
|
||||||
|
@ -1697,6 +1697,12 @@ void MainWindow::decode() //decode()
|
|||||||
jt9com_.emedelay=0.0;
|
jt9com_.emedelay=0.0;
|
||||||
if(m_bEME) jt9com_.emedelay=2.5;
|
if(m_bEME) jt9com_.emedelay=2.5;
|
||||||
jt9com_.minSync=m_minSync;
|
jt9com_.minSync=m_minSync;
|
||||||
|
jt9com_.nexp_decode=0;
|
||||||
|
if(m_config.MyDx()) jt9com_.nexp_decode += 1;
|
||||||
|
if(m_config.CQMyN()) jt9com_.nexp_decode += 2;
|
||||||
|
if(m_config.NDxG()) jt9com_.nexp_decode += 4;
|
||||||
|
if(m_config.NN()) jt9com_.nexp_decode += 8;
|
||||||
|
if(m_config.EMEonly()) jt9com_.nexp_decode += 16;
|
||||||
|
|
||||||
strncpy(jt9com_.datetime, m_dateTime.toLatin1(), 20);
|
strncpy(jt9com_.datetime, m_dateTime.toLatin1(), 20);
|
||||||
strncpy(jt9com_.mycall, (m_config.my_callsign()+" ").toLatin1(),12);
|
strncpy(jt9com_.mycall, (m_config.my_callsign()+" ").toLatin1(),12);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user