mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-10-31 23:57:10 -04:00
Resolve more issues for display of JT4 decodes; improve JT4 sync at low spread.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6679 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
2afd43e110
commit
f5c15f60bf
@ -159,27 +159,30 @@ contains
|
||||
|
||||
character*2 :: cqual
|
||||
|
||||
write(*,3101) 'A',is_deep,is_average,qual,decoded
|
||||
3101 format(a1,2L3,f6.1,1x,a22)
|
||||
|
||||
if (have_sync) then
|
||||
if (int(qual).gt.0) then
|
||||
write(cqual, '(i2)') int(qual)
|
||||
if (ave.gt.0) then
|
||||
write(*,1000) params%nutc,snr,dt,freq,sync,decoded,cqual, &
|
||||
char(ichar('A')+ich-1), ave
|
||||
char(ichar('A')+ich-1),ave
|
||||
else
|
||||
write(*,1000) params%nutc,snr,dt,freq,sync,decoded,cqual, &
|
||||
char(ichar('A')+ich-1)
|
||||
end if
|
||||
else
|
||||
write(*,1000) params%nutc,snr,dt,freq,sync,decoded,' *', &
|
||||
char(ichar('A')+ich-1)
|
||||
if (ave.gt.0) then
|
||||
write(*,1000) params%nutc,snr,dt,freq,sync,decoded,'*', &
|
||||
char(ichar('A')+ich-1),ave
|
||||
else
|
||||
write(*,1000) params%nutc,snr,dt,freq,sync,decoded,' *', &
|
||||
char(ichar('A')+ich-1)
|
||||
endif
|
||||
end if
|
||||
else
|
||||
write(*,1000) params%nutc,snr,dt,freq
|
||||
end if
|
||||
1000 format(i4.4,i4,f5.2,i5,1x,'$',a1,1x,a22,a2,1x,a1,i3)
|
||||
1000 format(i4.4,i4,f5.1,i5,1x,'$',a1,1x,a22,a2,1x,a1,i3)
|
||||
|
||||
select type(this)
|
||||
type is (counting_jt4_decoder)
|
||||
this%decoded = this%decoded + 1
|
||||
|
@ -7,9 +7,7 @@ module jt4_decode
|
||||
procedure, private :: wsjt4, avg4
|
||||
end type jt4_decoder
|
||||
|
||||
!
|
||||
! Callback function to be called with each decode
|
||||
!
|
||||
! Callback function to be called with each decode
|
||||
abstract interface
|
||||
subroutine jt4_decode_callback (this, snr, dt, freq, have_sync, &
|
||||
sync, is_deep, decoded, qual, ich, is_average, ave)
|
||||
@ -30,9 +28,7 @@ module jt4_decode
|
||||
end subroutine jt4_decode_callback
|
||||
end interface
|
||||
|
||||
!
|
||||
! Callback function to be called with each average result
|
||||
!
|
||||
! Callback function to be called with each average result
|
||||
abstract interface
|
||||
subroutine jt4_average_callback (this, used, utc, sync, dt, freq, flip)
|
||||
import jt4_decoder
|
||||
@ -86,13 +82,6 @@ contains
|
||||
call lpf1(dd,jz,dat,jz2)
|
||||
call timer('lpf1 ',1)
|
||||
|
||||
!i=index(MyCall,char(0))
|
||||
!if(i.le.0) i=index(MyCall,' ')
|
||||
!mycall=MyCall(1:i-1)//' '
|
||||
!i=index(HisCall,char(0))
|
||||
!if(i.le.0) i=index(HisCall,' ')
|
||||
!hiscall=HisCall(1:i-1)//' '
|
||||
|
||||
write(cfile6(1:4),1000) nutc
|
||||
1000 format(i4.4)
|
||||
cfile6(5:6)=' '
|
||||
@ -137,7 +126,6 @@ contains
|
||||
blank=' '
|
||||
ccfblue=0.
|
||||
ccfred=0.
|
||||
!nagain=.false.
|
||||
endif
|
||||
|
||||
zz=0.
|
||||
@ -166,7 +154,7 @@ contains
|
||||
call timer('sync4 ',1)
|
||||
|
||||
call timer('zplt ',0)
|
||||
do ich=4,7
|
||||
do ich=1,7
|
||||
z(1:458,1:65)=zz(274:731,1:65,ich)
|
||||
call zplt(z,ich-4,syncz,dtxz,nfreqz,flipz,sync2z,0,emedelay,dttol, &
|
||||
nfqso,ntol)
|
||||
@ -178,7 +166,7 @@ contains
|
||||
call timer('zplt ',1)
|
||||
|
||||
! Use results from zplt
|
||||
!### NB: JT4 is severely "sync limited" at present...
|
||||
!### NB: JT4 is severely "sync limited" at present... (Maybe not still true???)
|
||||
|
||||
flip=flipz
|
||||
sync=syncz
|
||||
@ -208,7 +196,6 @@ contains
|
||||
dtx=dtxz + 0.03*idt
|
||||
nfreq=nfreqz + 2*idf
|
||||
|
||||
|
||||
! Attempt a single-sequence decode, including deep4 if Fano fails.
|
||||
call timer('decode4 ',0)
|
||||
call decode4(dat,npts,dtx,nfreq,flip,mode4,ndepth,neme,minw, &
|
||||
@ -253,7 +240,7 @@ contains
|
||||
endif
|
||||
|
||||
if(nfanoave.gt.0) then
|
||||
! Fano succeeded: report the message AVG FANO OK
|
||||
! Fano succeeded: report the message AVG FANO OK
|
||||
if (associated (this%decode_callback)) then
|
||||
call this%decode_callback(nsnr,dtx,nfreq,.true.,csync, &
|
||||
.false.,avemsg,0.,ich,.true.,nfanoave)
|
||||
@ -277,6 +264,7 @@ contains
|
||||
deepmsg=deepmsg0
|
||||
ich=ich0
|
||||
qual=qbest
|
||||
|
||||
if (associated (this%decode_callback)) then
|
||||
if(int(qual).ge.nq1) then
|
||||
call this%decode_callback(nsnr,dtx,nfreqz,.true.,csync,.true., &
|
||||
@ -292,7 +280,8 @@ contains
|
||||
deepave=deepave1
|
||||
ich=ich1
|
||||
qave=qabest
|
||||
if (associated (this%decode_callback)) then
|
||||
|
||||
if (associated (this%decode_callback) .and. ndeepave.ge.2) then
|
||||
if(int(qave).ge.nq1) then
|
||||
call this%decode_callback(nsnr,dtx,nfreq,.true.,csync,.true., &
|
||||
deepave,qave,ich,.true.,ndeepave)
|
||||
@ -347,7 +336,7 @@ contains
|
||||
do i=1,64
|
||||
cused(i)='.'
|
||||
if(iutc(i).lt.0) cycle
|
||||
if(mod(iutc(i),2).ne.mod(nutc,2)) cycle !Use only same (odd/even) sequence
|
||||
if(mod(iutc(i),2).ne.mod(nutc,2)) cycle !Use only same sequence
|
||||
if(abs(dtxx-dtsave(i)).gt.dtdiff) cycle !DT must match
|
||||
if(abs(nfreq-nfsave(i)).gt.ntol) cycle !Freq must match
|
||||
if(flip.ne.flipsave(i)) cycle !Sync (*/#) must match
|
||||
@ -412,7 +401,6 @@ contains
|
||||
qave=0.
|
||||
|
||||
! Possibly should pass nadd=nused, also ?
|
||||
! if(ndepth.ge.3) then
|
||||
if(iand(ndepth,32).eq.32) then
|
||||
flipx=1.0 !Normal flip not relevant for ave msg
|
||||
qbest=0.
|
||||
|
Loading…
Reference in New Issue
Block a user