From df8d0ab6650994e4c0e685ba5f71713150e1381e Mon Sep 17 00:00:00 2001 From: Steven Franke Date: Sun, 17 Jul 2016 20:05:27 +0000 Subject: [PATCH] Add some timer calls. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6925 ab8295b8-cf94-4d9e-aec4-7959e3be5d79 --- lib/detectmsk144.f90 | 10 ++++++---- lib/detectmsk32.f90 | 5 +++-- lib/msk144_decode.f90 | 8 +++++++- lib/msk144d.f90 | 6 +++--- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/lib/detectmsk144.f90 b/lib/detectmsk144.f90 index 8263cbb9b..5c004d41d 100644 --- a/lib/detectmsk144.f90 +++ b/lib/detectmsk144.f90 @@ -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) diff --git a/lib/detectmsk32.f90 b/lib/detectmsk32.f90 index 42516c5ca..434fc6e7c 100644 --- a/lib/detectmsk32.f90 +++ b/lib/detectmsk32.f90 @@ -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 diff --git a/lib/msk144_decode.f90 b/lib/msk144_decode.f90 index a9f17577c..fdb328338 100644 --- a/lib/msk144_decode.f90 +++ b/lib/msk144_decode.f90 @@ -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) diff --git a/lib/msk144d.f90 b/lib/msk144d.f90 index d378f3a21..9a886ae2c 100644 --- a/lib/msk144d.f90 +++ b/lib/msk144d.f90 @@ -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:'