Add some timer calls.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6925 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Steven Franke 2016-07-17 20:05:27 +00:00
parent dfffa7ada3
commit df8d0ab665
4 changed files with 19 additions and 10 deletions

View File

@ -1,7 +1,7 @@
subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc,ntol,t00)
use timer_module, only: timer
parameter (NSPM=864, NPTS=3*NSPM, MAXSTEPS=1700, NFFT=NSPM, MAXCAND=12)
parameter (NSPM=864, NPTS=3*NSPM, MAXSTEPS=1700, NFFT=NSPM, MAXCAND=16)
character*22 msgreceived,allmessages(20)
character*80 lines(100)
character*512 pchk_file,gen_file
@ -149,14 +149,14 @@ subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc,ntol,t00)
do ip=1,MAXCAND ! Find candidates
iloc=maxloc(detmet(1:nstep))
il=iloc(1)
if( (detmet(il) .lt. 3.5) ) exit
if( (detmet(il) .lt. 4.0) ) exit
if( abs(detfer(il)) .le. ntol ) then
ndet=ndet+1
times(ndet)=((il-1)*216+NSPM/2)*dt
ferrs(ndet)=detfer(il)
snrs(ndet)=12.0*log10(detmet(il))/2-9.0
endif
! detmet(max(1,il-2):min(nstep,il+2))=0.0
! detmet(max(1,il-1):min(nstep,il+1))=0.0
detmet(il)=0.0
enddo
@ -261,7 +261,7 @@ subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc,ntol,t00)
! Final estimate of the carrier frequency - returned to the calling program
fest=1500+ferr+ferr2
do idf=0,6 ! frequency jitter
do idf=0,4 ! frequency jitter
if( idf .eq. 0 ) then
deltaf=0.0
elseif( mod(idf,2) .eq. 0 ) then
@ -355,8 +355,10 @@ subroutine detectmsk144(cbig,n,pchk_file,lines,nmessages,nutc,ntol,t00)
max_iterations=10
max_dither=1
call timer('ldpcdecod',0)
call ldpc_decode(lratio, decoded, &
max_iterations, niterations, max_dither, ndither)
call timer('ldpcdecod',1)
if( niterations .ge. 0.0 ) then
call extractmessage144(decoded,msgreceived,nhashflag)

View File

@ -4,7 +4,7 @@ subroutine detectmsk32(cbig,n,mycall,partnercall,lines,nmessages,nutc,ntol,t00)
parameter (NSPM=192, NPTS=3*NSPM, MAXSTEPS=7500, NFFT=3*NSPM, MAXCAND=40)
character*4 rpt(0:31)
character*6 mycall,partnercall
character*22 msg,hashmsg,msgreceived,allmessages(20)
character*22 hashmsg,msgreceived,allmessages(20)
character*80 lines(100)
complex cbig(n)
complex cdat(NPTS) !Analytic signal
@ -349,7 +349,7 @@ subroutine detectmsk32(cbig,n,mycall,partnercall,lines,nmessages,nutc,ntol,t00)
s2av=sum(softbits*softbits)/32
ssig=sqrt(s2av-sav*sav)
softbits=softbits/ssig
call timer('search32',0)
if( qsocontext ) then ! search only 32 likely messages.
cd=1e6
ihammd=99
@ -383,6 +383,7 @@ subroutine detectmsk32(cbig,n,mycall,partnercall,lines,nmessages,nutc,ntol,t00)
enddo
enddo
endif
call timer('search32',1)
cdm=minval(cd)
iloc=minloc(cd)
imsg=iloc(1)-1

View File

@ -2,7 +2,7 @@ subroutine msk144_decode(id2,npts,nutc,nprint,pchk_file,mycall,hiscall, &
bShMsgs,ntol,t0,line)
! Calls the experimental decoder for MSK 72ms/16ms messages
use timer_module, only: timer
parameter (NMAX=30*12000)
parameter (NFFTMAX=512*1024)
integer*2 id2(0:NMAX) !Raw i*2 data, up to T/R = 30 s
@ -31,8 +31,12 @@ subroutine msk144_decode(id2,npts,nutc,nprint,pchk_file,mycall,hiscall, &
n=log(float(npts))/log(2.0) + 1.0
nfft=min(2**n,1024*1024)
call timer('analytic',0)
call analytic(d,npts,nfft,c) !Convert to analytic signal and filter
call timer('analytic',1)
call timer('detec144',0)
call detectmsk144(c,npts,pchk_file,line,nline,nutc,ntol,t0)
call timer('detec144',1)
if( nprint .ne. 0 ) then
do i=1,nline
write(*,'(a80)') line(i)
@ -41,7 +45,9 @@ subroutine msk144_decode(id2,npts,nutc,nprint,pchk_file,mycall,hiscall, &
if(nline.eq.0 .and. bShMsgs) then
call timer('detect32',0)
call detectmsk32(c,npts,mycall,hiscall,line,nline,nutc,ntol,t0)
call timer('detect32',1)
if( nprint .ne. 0 ) then
do i=1,nline
write(*,'(a80)') line(i)

View File

@ -64,7 +64,7 @@ program msk144d
endif
call init_timer ('timer.out')
call timer('jt65 ',0)
call timer('msk144 ',0)
bShMsgs=.true.
pchk_file='./peg-128-80-reg3.pchk'
ndecoded=0
@ -84,8 +84,8 @@ program msk144d
call msk144_decode(id2,npts,nutc,1,pchk_file,mycall,hiscall,bShMsgs,ntol,t0,line)
enddo
call timer('msk144 ',1)
call timer('msk144 ',101)
call timer('msk144 ',1)
call timer('msk144 ',101)
go to 999
998 print*,'Cannot read from file:'