diff --git a/lib/decode65a.f90 b/lib/decode65a.f90 index faa733a69..974efc584 100644 --- a/lib/decode65a.f90 +++ b/lib/decode65a.f90 @@ -19,7 +19,6 @@ subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,ntrials, & character decoded*22,decoded_best*22 character mycall*12,hiscall*12,hisgrid*6 data first/.true./,jjjmin/1000/,jjjmax/-1000/ - data nhz0/-9999999/ save ! Mix sync tone to baseband, low-pass filter, downsample to 1378.125 Hz diff --git a/lib/decoder.f90 b/lib/decoder.f90 index 2a3145595..8f1d4e4ef 100644 --- a/lib/decoder.f90 +++ b/lib/decoder.f90 @@ -232,11 +232,11 @@ contains !$omp critical(decode_results) decoded=decoded0 + cflags=' ' + is_deep=ft.eq.2 if(ft.eq.0 .and. minsync.ge.0 .and. int(sync).lt.minsync) then write(*,1010) params%nutc,snr,dt,freq else - cflags=' ' - is_deep=ft.eq.2 is_average=nsum.ge.2 if(params%naggressive.gt.0 .and. ft.gt.0) then cflags='f ' diff --git a/lib/jt4_decode.f90 b/lib/jt4_decode.f90 index 1bf8edf94..57292d63c 100644 --- a/lib/jt4_decode.f90 +++ b/lib/jt4_decode.f90 @@ -309,7 +309,7 @@ contains endif do i=1,64 - if(nutc.eq.iutc(i) .and. abs(nhz-nfsave(i)).le.ntol) go to 10 + if(nutc.eq.iutc(i) .and. abs(nfreq-nfsave(i)).le.ntol) go to 10 enddo ! Save data for message averaging diff --git a/lib/jt65_decode.f90 b/lib/jt65_decode.f90 index 9d413dc98..2d70df99f 100644 --- a/lib/jt65_decode.f90 +++ b/lib/jt65_decode.f90 @@ -188,6 +188,7 @@ contains if(ipass.eq.1) ntry65a=ntry65a + 1 if(ipass.eq.2) ntry65b=ntry65b + 1 call timer('decod65a',0) + nft=0 call decode65a(dd,npts,first_time,nqd,freq,nflip,mode65,nvec, & naggressive,ndepth,ntol,mycall,hiscall,hisgrid, & nexp_decode,single_decode,sync2,a,dtx,nft,nspecial,qual, & @@ -226,8 +227,8 @@ contains nfreq0=nfreq nsave=nsave+1 nsave=mod(nsave-1,64)+1 - call avg65(nutc,nsave,sync1,dtx,nflip,nfreq,mode65,ntol, & - ndepth,ntrials,naggressive,clearave,neme,mycall, & + call avg65(nutc,nsave,sync1,dtx,nflip,nfreq,mode65,ntol, & + ndepth,nagain,ntrials,naggressive,clearave,neme,mycall, & hiscall,hisgrid,nftt,avemsg,qave,deepave,nsum,ndeepave) nsmo=param(9) nqave=qave @@ -298,8 +299,8 @@ contains return end subroutine decode - subroutine avg65(nutc,nsave,snrsync,dtxx,nflip,nfreq,mode65,ntol,ndepth, & - ntrials,naggressive,clearave,neme,mycall,hiscall,hisgrid,nftt, & + subroutine avg65(nutc,nsave,snrsync,dtxx,nflip,nfreq,mode65,ntol,ndepth, & + nagain, ntrials,naggressive,clearave,neme,mycall,hiscall,hisgrid,nftt, & avemsg,qave,deepave,nsum,ndeepave) ! Decodes averaged JT65 data @@ -309,6 +310,7 @@ contains character*22 avemsg,deepave,deepbest character mycall*12,hiscall*12,hisgrid*6 character*1 csync,cused(64) + logical nagain integer iused(64) ! Accumulated data for message averaging integer iutc(MAXAVE) @@ -337,7 +339,8 @@ contains endif do i=1,64 - if(nutc.eq.iutc(i) .and. abs(nhz-nfsave(i)).le.ntol) go to 10 + if(iutc(i).lt.0) exit + if(nutc.eq.iutc(i) .and. abs(nfreq-nfsave(i)).le.ntol) go to 10 enddo ! Save data for message averaging