1. Allow waterfall window to have smaller height.

2. Speed improvement in JT9 decoder.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3488 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2013-07-16 18:17:20 +00:00
parent b0fb8bc839
commit e26c53e253
6 changed files with 42 additions and 36 deletions

Binary file not shown.

View File

@ -85,7 +85,8 @@ subroutine decoder(ss,id2)
nfb1=nfqso+ntol nfb1=nfqso+ntol
ia=max(1,nint((nfa1-nf0)/df3)) ia=max(1,nint((nfa1-nf0)/df3))
ib=min(NSMAX,nint((nfb1-nf0)/df3)) ib=min(NSMAX,nint((nfb1-nf0)/df3))
ccfok(ia:ib)=.true. ccfok(ia:ib)=(ccfred(ia:ib).gt.(ccflim-2.0)) .and. &
(red2(ia:ib).gt.(red2lim-1.0))
ia1=ia ia1=ia
ib1=ib ib1=ib
else else
@ -101,9 +102,8 @@ subroutine decoder(ss,id2)
fgood=0. fgood=0.
do i=ia,ib do i=ia,ib
if(done(i) .or. (.not.ccfok(i))) cycle
f=(i-1)*df3 f=(i-1)*df3
if(done(i) .or. (.not.ccfok(i)) .or. &
(nqd.eq.0 .and. (ccfred(i).lt.ccflim-1.0))) cycle
if(nqd.eq.1 .or. & if(nqd.eq.1 .or. &
(ccfred(i).ge.ccflim .and. abs(f-fgood).gt.10.0*df8)) then (ccfred(i).ge.ccflim .and. abs(f-fgood).gt.10.0*df8)) then
@ -112,41 +112,45 @@ subroutine decoder(ss,id2)
call timer('softsym ',0) call timer('softsym ',0)
fpk=nf0 + df3*(i-1) fpk=nf0 + df3*(i-1)
call softsym(id2,npts8,nsps8,newdat,fpk,syncpk,snrdb,xdt, & call softsym(id2,npts8,nsps8,newdat,fpk,syncpk,snrdb,xdt, &
freq,drift,schk,i1SoftSymbols) freq,drift,schk,i1SoftSymbols)
call timer('softsym ',1) call timer('softsym ',1)
if(schk.ge.schklim) then ! write(71,3001) nqd,i,f,fpk,ccfred(i),red2(i),schk
!3001 format(2i6,2f8.1,3f6.1)
! call flush(71)
call timer('decode9 ',0) if(schk.lt.schklim) cycle
call decode9(i1SoftSymbols,limit,nlim,msg)
call timer('decode9 ',1)
sync=(syncpk+1)/4.0 call timer('decode9 ',0)
if(sync.lt.0.0 .or. snrdb.lt.dblim-2.0) sync=0.0 call decode9(i1SoftSymbols,limit,nlim,msg)
nsync=sync call timer('decode9 ',1)
if(nsync.gt.10) nsync=10
nsnr=nint(snrdb)
ndrift=nint(drift/df3)
if(msg.ne.' ') then sync=(syncpk+1)/4.0
if(nqd.eq.0) ndecodes0=ndecodes0+1 if(sync.lt.0.0 .or. snrdb.lt.dblim-2.0) sync=0.0
if(nqd.eq.1) ndecodes1=ndecodes1+1 nsync=sync
if(nsync.gt.10) nsync=10
nsnr=nint(snrdb)
ndrift=nint(drift/df3)
write(*,1000) nutc,nsnr,xdt,nint(freq),msg if(msg.ne.' ') then
1000 format(i4.4,i4,f5.1,i5,1x,'@',1x,a22) if(nqd.eq.0) ndecodes0=ndecodes0+1
write(13,1002) nutc,nsync,nsnr,xdt,freq,ndrift,msg if(nqd.eq.1) ndecodes1=ndecodes1+1
1002 format(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22,' JT9')
iaa=max(1,i-1) write(*,1000) nutc,nsnr,xdt,nint(freq),msg
ibb=min(NSMAX,i+22) 1000 format(i4.4,i4,f5.1,i5,1x,'@',1x,a22)
fgood=f write(13,1002) nutc,nsync,nsnr,xdt,freq,ndrift,msg
nsynced=1 1002 format(i4.4,i4,i5,f6.1,f8.0,i4,3x,a22,' JT9')
ndecoded=1
ccfok(iaa:ibb)=.false. iaa=max(1,i-1)
done(iaa:ibb)=.true. ibb=min(NSMAX,i+22)
call flush(6) fgood=f
endif nsynced=1
ndecoded=1
ccfok(iaa:ibb)=.false.
done(iaa:ibb)=.true.
call flush(6)
endif endif
endif endif
enddo enddo

View File

@ -1,4 +1,4 @@
subroutine fillcom(nutc0,ndepth0) subroutine fillcom(nutc0,ndepth0,nrxfreq)
character*20 datetime character*20 datetime
common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfb,ntol, & common/npar/nutc,ndiskdat,ntrperiod,nfqso,newdat,npts8,nfa,nfb,ntol, &
kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,datetime kin,nzhsym,nsave,nagain,ndepth,ntxmode,nmode,datetime
@ -7,7 +7,7 @@ subroutine fillcom(nutc0,ndepth0)
nutc=nutc0 nutc=nutc0
ndiskdat=1 ndiskdat=1
ntrperiod=60 ntrperiod=60
nfqso=1197 nfqso=nrxfreq
newdat=1 newdat=1
npts8=74736 npts8=74736
nfa=2700 nfa=2700

View File

@ -14,7 +14,7 @@ program jt9
nargs=iargc() nargs=iargc()
if(nargs.lt.1) then if(nargs.lt.1) then
print*,'Usage: jt9 TRperiod ndepth file1 [file2 ...]' print*,'Usage: jt9 TRperiod ndepth rxfreq file1 [file2 ...]'
print*,' Reads data from *.wav files.' print*,' Reads data from *.wav files.'
print*,'' print*,''
print*,' jt9 -s' print*,' jt9 -s'
@ -29,7 +29,9 @@ program jt9
read(arg,*) ntrperiod read(arg,*) ntrperiod
call getarg(2,arg) call getarg(2,arg)
read(arg,*) ndepth read(arg,*) ndepth
ifile1=3 call getarg(3,arg)
read(arg,*) nrxfreq
ifile1=4
limtrace=0 limtrace=0
lu=12 lu=12
@ -92,7 +94,7 @@ program jt9
enddo enddo
10 close(10) 10 close(10)
call fillcom(nutc0,ndepth) call fillcom(nutc0,ndepth,nrxfreq)
call decoder(ss,id2) call decoder(ss,id2)
enddo enddo

View File

@ -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"

View File

@ -36,7 +36,7 @@
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>400</width> <width>400</width>
<height>200</height> <height>100</height>
</size> </size>
</property> </property>
<property name="frameShape"> <property name="frameShape">