Minor cleanups and corrections to the JT4 and JT65 decoders when

using deep search and/or averaging.


git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6696 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2016-05-24 16:00:00 +00:00
parent 1f6e882800
commit 27fb2d8126
4 changed files with 11 additions and 9 deletions

View File

@ -19,7 +19,6 @@ subroutine decode65a(dd,npts,newdat,nqd,f0,nflip,mode65,ntrials, &
character decoded*22,decoded_best*22 character decoded*22,decoded_best*22
character mycall*12,hiscall*12,hisgrid*6 character mycall*12,hiscall*12,hisgrid*6
data first/.true./,jjjmin/1000/,jjjmax/-1000/ data first/.true./,jjjmin/1000/,jjjmax/-1000/
data nhz0/-9999999/
save save
! Mix sync tone to baseband, low-pass filter, downsample to 1378.125 Hz ! Mix sync tone to baseband, low-pass filter, downsample to 1378.125 Hz

View File

@ -232,11 +232,11 @@ contains
!$omp critical(decode_results) !$omp critical(decode_results)
decoded=decoded0 decoded=decoded0
cflags=' '
is_deep=ft.eq.2
if(ft.eq.0 .and. minsync.ge.0 .and. int(sync).lt.minsync) then if(ft.eq.0 .and. minsync.ge.0 .and. int(sync).lt.minsync) then
write(*,1010) params%nutc,snr,dt,freq write(*,1010) params%nutc,snr,dt,freq
else else
cflags=' '
is_deep=ft.eq.2
is_average=nsum.ge.2 is_average=nsum.ge.2
if(params%naggressive.gt.0 .and. ft.gt.0) then if(params%naggressive.gt.0 .and. ft.gt.0) then
cflags='f ' cflags='f '

View File

@ -309,7 +309,7 @@ contains
endif endif
do i=1,64 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 enddo
! Save data for message averaging ! Save data for message averaging

View File

@ -188,6 +188,7 @@ contains
if(ipass.eq.1) ntry65a=ntry65a + 1 if(ipass.eq.1) ntry65a=ntry65a + 1
if(ipass.eq.2) ntry65b=ntry65b + 1 if(ipass.eq.2) ntry65b=ntry65b + 1
call timer('decod65a',0) call timer('decod65a',0)
nft=0
call decode65a(dd,npts,first_time,nqd,freq,nflip,mode65,nvec, & call decode65a(dd,npts,first_time,nqd,freq,nflip,mode65,nvec, &
naggressive,ndepth,ntol,mycall,hiscall,hisgrid, & naggressive,ndepth,ntol,mycall,hiscall,hisgrid, &
nexp_decode,single_decode,sync2,a,dtx,nft,nspecial,qual, & nexp_decode,single_decode,sync2,a,dtx,nft,nspecial,qual, &
@ -227,7 +228,7 @@ contains
nsave=nsave+1 nsave=nsave+1
nsave=mod(nsave-1,64)+1 nsave=mod(nsave-1,64)+1
call avg65(nutc,nsave,sync1,dtx,nflip,nfreq,mode65,ntol, & call avg65(nutc,nsave,sync1,dtx,nflip,nfreq,mode65,ntol, &
ndepth,ntrials,naggressive,clearave,neme,mycall, & ndepth,nagain,ntrials,naggressive,clearave,neme,mycall, &
hiscall,hisgrid,nftt,avemsg,qave,deepave,nsum,ndeepave) hiscall,hisgrid,nftt,avemsg,qave,deepave,nsum,ndeepave)
nsmo=param(9) nsmo=param(9)
nqave=qave nqave=qave
@ -299,7 +300,7 @@ contains
end subroutine decode end subroutine decode
subroutine avg65(nutc,nsave,snrsync,dtxx,nflip,nfreq,mode65,ntol,ndepth, & subroutine avg65(nutc,nsave,snrsync,dtxx,nflip,nfreq,mode65,ntol,ndepth, &
ntrials,naggressive,clearave,neme,mycall,hiscall,hisgrid,nftt, & nagain, ntrials,naggressive,clearave,neme,mycall,hiscall,hisgrid,nftt, &
avemsg,qave,deepave,nsum,ndeepave) avemsg,qave,deepave,nsum,ndeepave)
! Decodes averaged JT65 data ! Decodes averaged JT65 data
@ -309,6 +310,7 @@ contains
character*22 avemsg,deepave,deepbest character*22 avemsg,deepave,deepbest
character mycall*12,hiscall*12,hisgrid*6 character mycall*12,hiscall*12,hisgrid*6
character*1 csync,cused(64) character*1 csync,cused(64)
logical nagain
integer iused(64) integer iused(64)
! Accumulated data for message averaging ! Accumulated data for message averaging
integer iutc(MAXAVE) integer iutc(MAXAVE)
@ -337,7 +339,8 @@ contains
endif endif
do i=1,64 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 enddo
! Save data for message averaging ! Save data for message averaging