From 096a459ae8bcc4a9e050b8901382437bcce0c355 Mon Sep 17 00:00:00 2001 From: Steve Franke Date: Sat, 20 Oct 2018 13:55:02 -0500 Subject: [PATCH] Make sure that msksignalquality is not called on Sh decodes to avoid contamination of recent_calls array and resulting poor SWL performance in MSK144 mode. --- lib/msk144signalquality.f90 | 2 -- lib/mskrtd.f90 | 21 ++------------------- 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/lib/msk144signalquality.f90 b/lib/msk144signalquality.f90 index 417328a35..3caaa349f 100644 --- a/lib/msk144signalquality.f90 +++ b/lib/msk144signalquality.f90 @@ -22,7 +22,6 @@ subroutine msk144signalquality(cframe,snr,freq,t0,softbits,msg,dxcall, & integer msgbits(144) integer values(8) - logical*1 bcontest logical*1 btrain logical*1 first logical*1 currently_training @@ -91,7 +90,6 @@ subroutine msk144signalquality(cframe,snr,freq,t0,softbits,msg,dxcall, & ! generate tones from decoded message ichk=0 - bcontest=.false. call genmsk_128_90(msg,ichk,msgsent,i4tone,itype) ! reconstruct message bits from tones diff --git a/lib/mskrtd.f90 b/lib/mskrtd.f90 index 025cfda21..622c05f38 100644 --- a/lib/mskrtd.f90 +++ b/lib/mskrtd.f90 @@ -123,9 +123,11 @@ subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,ndepth,mycall,mygrid,hiscall, & np=8*NSPM call msk144spd(cdat,np,ntol,ndecodesuccess,msgreceived,fc,fest,tdec,navg,ct, & softbits) + bshdecode=.false. if(ndecodesuccess.eq.0 .and. (bshmsg.or.bswl)) then call msk40spd(cdat,np,ntol,mycall,hiscall,bswl,nhasharray, & ndecodesuccess,msgreceived,fc,fest,tdec,navg) + if(ndecodesuccess .ge.1) bshdecode=.true. endif if( ndecodesuccess .ge. 1 ) then tdec=tsec+tdec @@ -187,14 +189,6 @@ subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,ndepth,mycall,mygrid,hiscall, & endif nsnr=nint(snr0) - bshdecode=.false. - if( msgreceived(1:1) .eq. '<' ) then - i2=index(msgreceived,'>') - i1=0 - if(i2.gt.0) i1=index(msgreceived(1:i2),' ') - if(i1.gt.0) bshdecode=.true. - endif - if(.not. bshdecode) then call msk144signalquality(ct,snr0,fest,tdec,softbits,msgreceived,hiscall, & btrain,datadir,ncorrected,eyeopening,pcoeffs) @@ -221,15 +215,6 @@ subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,ndepth,mycall,mygrid,hiscall, & endif write(line,1021) nutc0,nsnr,tdec,nint(fest),decsym,msgreceived,char(0) 1021 format(i6.6,i4,f5.1,i5,a4,a37,a1) -! if( .not.bshdecode ) then -! write(line,1020) nutc0,nsnr,tdec,nint(fest),decsym,msgreceived(1:22), & -! navg,ncorrected,eyeopening,char(0) -!1020 format(i6.6,i4,f5.1,i5,a4,a22,i2,i3,f5.1,a1) -! else -! write(line,1022) nutc0,nsnr,tdec,nint(fest),decsym,msgreceived(1:22), & -! navg,char(0) -!1022 format(i6.6,i4,f5.1,i5,a4,a22,i2,a1) -! endif elseif(bswl .and. ndecodesuccess.ge.2) then seenb4=.false. do i=1,nshmem @@ -245,8 +230,6 @@ subroutine mskrtd(id2,nutc0,tsec,ntol,nrxfreq,ndepth,mycall,mygrid,hiscall, & msglastswl=msgreceived nsnrlastswl=nsnr write(line,1021) nutc0,nsnr,tdec,nint(fest),decsym,msgreceived,char(0) -! write(line,1022) nutc0,nsnr,tdec,nint(fest),decsym,msgreceived, & -! navg,char(0) endif endif 999 tsec0=tsec