mirror of https://github.com/saitohirga/WSJT-X.git
Further optimizations of the decoders, and some code cleanup.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3492 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
9f760483d3
commit
926395561e
|
@ -73,14 +73,13 @@ subroutine decoder(ss,id2)
|
||||||
limit=10000
|
limit=10000
|
||||||
ccflim=3.5
|
ccflim=3.5
|
||||||
endif
|
endif
|
||||||
if(ndepth.ge.3) then
|
if(ndepth.ge.3 .or. nqd.eq.1) then
|
||||||
limit=100000
|
limit=100000
|
||||||
ccflim=2.5
|
ccflim=2.5
|
||||||
endif
|
endif
|
||||||
ccfok=.false.
|
ccfok=.false.
|
||||||
|
|
||||||
if(nqd.eq.1) then
|
if(nqd.eq.1) then
|
||||||
limit=100000
|
|
||||||
nfa1=nfqso-ntol
|
nfa1=nfqso-ntol
|
||||||
nfb1=nfqso+ntol
|
nfb1=nfqso+ntol
|
||||||
ia=max(1,nint((nfa1-nf0)/df3))
|
ia=max(1,nint((nfa1-nf0)/df3))
|
||||||
|
|
|
@ -64,7 +64,8 @@ subroutine extract(s3,nadd,ncount,nhist,decoded,ltext,nbmkv)
|
||||||
if(nokv) go to 900
|
if(nokv) go to 900
|
||||||
|
|
||||||
maxe=8 !Max KV errors in 12 most reliable symbols
|
maxe=8 !Max KV errors in 12 most reliable symbols
|
||||||
xlambda=10.0
|
! xlambda=12.0
|
||||||
|
xlambda=7.99
|
||||||
call graycode65(mr2sym,63,-1)
|
call graycode65(mr2sym,63,-1)
|
||||||
call interleave63(mr2sym,-1)
|
call interleave63(mr2sym,-1)
|
||||||
call interleave63(mr2prob,-1)
|
call interleave63(mr2prob,-1)
|
||||||
|
|
|
@ -39,26 +39,17 @@ subroutine jt65a(dd,npts,newdat,nutc,nfa,nfqso,ntol,nagain,ndecoded)
|
||||||
thresh0=1.5
|
thresh0=1.5
|
||||||
|
|
||||||
do i=ia,ib !Search over freq range
|
do i=ia,ib !Search over freq range
|
||||||
if(savg(i).lt.thresh0 .or. done(i)) cycle
|
|
||||||
freq=i*df
|
freq=i*df
|
||||||
|
if(savg(i).lt.thresh0 .or. done(i)) cycle
|
||||||
|
|
||||||
call timer('ccf65 ',0)
|
call timer('ccf65 ',0)
|
||||||
call ccf65(ss(1,i),nhsym,savg(i),sync1,dt,flipk,syncshort,snr2,dt2)
|
call ccf65(ss(1,i),nhsym,savg(i),sync1,dt,flipk,syncshort,snr2,dt2)
|
||||||
call timer('ccf65 ',1)
|
call timer('ccf65 ',1)
|
||||||
|
|
||||||
! ########################### Search for Shorthand Messages #################
|
ftest=abs(freq-freq0)
|
||||||
! include 'shorthand1.f90'
|
|
||||||
|
|
||||||
! ########################### Search for Normal Messages ###########
|
|
||||||
thresh1=1.0
|
thresh1=1.0
|
||||||
! Use lower thresh1 at fQSO
|
|
||||||
if(nqd.eq.1 .and. ntol.le.100) thresh1=0.
|
if(nqd.eq.1 .and. ntol.le.100) thresh1=0.
|
||||||
|
if(sync1.lt.thresh1 .or. ftest.lt.ftol) cycle
|
||||||
! Is sync1 above threshold?
|
|
||||||
if(sync1.lt.thresh1) cycle
|
|
||||||
|
|
||||||
! Keep only the best candidate within ftol.
|
|
||||||
if(freq-freq0.lt.ftol) cycle
|
|
||||||
|
|
||||||
nflip=nint(flipk)
|
nflip=nint(flipk)
|
||||||
call timer('decod65a',0)
|
call timer('decod65a',0)
|
||||||
|
@ -66,11 +57,8 @@ subroutine jt65a(dd,npts,newdat,nutc,nfa,nfqso,ntol,nagain,ndecoded)
|
||||||
nbmkv,nhist,decoded)
|
nbmkv,nhist,decoded)
|
||||||
call timer('decod65a',1)
|
call timer('decod65a',1)
|
||||||
|
|
||||||
! write(71,3001) ia,ib,i,nfqso,freq0,freq,freq+a(1),decoded
|
ftest=abs(freq+a(1)-freq0)
|
||||||
!3001 format(4i6,3f10.3,2x,a22)
|
if(ftest.lt.ftol) cycle
|
||||||
! call flush(71)
|
|
||||||
|
|
||||||
if(freq+a(1)-freq0.lt.ftol) cycle
|
|
||||||
|
|
||||||
if(decoded.ne.' ') then
|
if(decoded.ne.' ') then
|
||||||
ndecoded=1
|
ndecoded=1
|
||||||
|
|
|
@ -10,6 +10,7 @@ subroutine symspec2(c5,nz3,nsps8,nspsd,fsample,freq,drift,snrdb,schk, &
|
||||||
real ss2(0:8,85)
|
real ss2(0:8,85)
|
||||||
real ss3(0:7,69)
|
real ss3(0:7,69)
|
||||||
include 'jt9sync.f90'
|
include 'jt9sync.f90'
|
||||||
|
data scale/10.0/
|
||||||
|
|
||||||
aa(1)=-1500.0/nsps8
|
aa(1)=-1500.0/nsps8
|
||||||
aa(2)=0.
|
aa(2)=0.
|
||||||
|
@ -32,12 +33,9 @@ subroutine symspec2(c5,nz3,nsps8,nspsd,fsample,freq,drift,snrdb,schk, &
|
||||||
enddo
|
enddo
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
!###
|
|
||||||
! write(30) freq,drift,ss2
|
|
||||||
! call flush(30)
|
|
||||||
call chkss2(ss2,freq,drift,schk)
|
call chkss2(ss2,freq,drift,schk)
|
||||||
if(schk.lt.2.0) go to 900
|
if(schk.lt.2.0) go to 900
|
||||||
!###
|
|
||||||
ss=0.
|
ss=0.
|
||||||
sig=0.
|
sig=0.
|
||||||
do j=1,69
|
do j=1,69
|
||||||
|
@ -77,7 +75,7 @@ subroutine symspec2(c5,nz3,nsps8,nspsd,fsample,freq,drift,snrdb,schk, &
|
||||||
endif
|
endif
|
||||||
|
|
||||||
k=k+1
|
k=k+1
|
||||||
i4=nint(10.0*(r1-r0))
|
i4=nint(scale*(r1-r0))
|
||||||
if(i4.lt.-127) i4=-127
|
if(i4.lt.-127) i4=-127
|
||||||
if(i4.gt.127) i4=127
|
if(i4.gt.127) i4=127
|
||||||
i4=i4+128
|
i4=i4+128
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
//--------------------------------------------------------------- MainWindow
|
//-------------------------------------------------------------- MainWindow
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
#include "devsetup.h"
|
#include "devsetup.h"
|
||||||
|
|
Loading…
Reference in New Issue