mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-10-01 01:26:39 -04:00
Fix the oddball values of DT and f0 sometimes being displayed.
This commit is contained in:
parent
d815eb7592
commit
39024253d2
@ -211,6 +211,7 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
|||||||
params%emedelay,mycall,hiscall,hisgrid,params%nQSOProgress, &
|
params%emedelay,mycall,hiscall,hisgrid,params%nQSOProgress, &
|
||||||
ncontest,logical(params%lapcqonly),navg0)
|
ncontest,logical(params%lapcqonly),navg0)
|
||||||
call timer('dec_q65 ',1)
|
call timer('dec_q65 ',1)
|
||||||
|
close(17)
|
||||||
go to 800
|
go to 800
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -118,14 +118,14 @@ contains
|
|||||||
call timer('q65_dec0',1)
|
call timer('q65_dec0',1)
|
||||||
|
|
||||||
if(idec.ge.0) then
|
if(idec.ge.0) then
|
||||||
xdt1=xdt !We have a list-decode result
|
dtdec=xdt !We have a list-decode result
|
||||||
f1=f0
|
f0dec=f0
|
||||||
go to 100
|
go to 100
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if(snr1.lt.2.8) then
|
if(snr1.lt.2.8) then
|
||||||
xdt1=0. !No reliable sync, abandon decoding attempt
|
dtdec=0. !No reliable sync, abandon decoding attempt
|
||||||
f1=0.
|
f0dec=0.
|
||||||
go to 100
|
go to 100
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -163,7 +163,11 @@ contains
|
|||||||
xdt,f0,iaptype,xdt1,f1,snr2,dat4,idec)
|
xdt,f0,iaptype,xdt1,f1,snr2,dat4,idec)
|
||||||
! idec=-1 !### TEMPORARY ###
|
! idec=-1 !### TEMPORARY ###
|
||||||
call timer('q65loops',1)
|
call timer('q65loops',1)
|
||||||
if(idec.ge.0) go to 100 !Successful decode, we're done
|
if(idec.ge.0) then
|
||||||
|
dtdec=xdt1
|
||||||
|
f0dec=f1
|
||||||
|
go to 100 !Successful decode, we're done
|
||||||
|
endif
|
||||||
enddo ! ipass
|
enddo ! ipass
|
||||||
|
|
||||||
if(iand(ndepth,16).eq.0 .or. navg.lt.2) go to 100
|
if(iand(ndepth,16).eq.0 .or. navg.lt.2) go to 100
|
||||||
@ -176,6 +180,8 @@ contains
|
|||||||
emedelay,xdt,f0,snr1,width,dat4,snr2,idec)
|
emedelay,xdt,f0,snr1,width,dat4,snr2,idec)
|
||||||
call timer('list_avg',1)
|
call timer('list_avg',1)
|
||||||
if(idec.ge.0) then
|
if(idec.ge.0) then
|
||||||
|
dtdec=xdt !We have a list-decode result from averaged data
|
||||||
|
f0dec=f0
|
||||||
nused=navg
|
nused=navg
|
||||||
go to 100
|
go to 100
|
||||||
endif
|
endif
|
||||||
@ -189,7 +195,11 @@ contains
|
|||||||
call q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
|
call q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
|
||||||
emedelay,xdt,f0,snr1,width,dat4,snr2,idec)
|
emedelay,xdt,f0,snr1,width,dat4,snr2,idec)
|
||||||
call timer('q65_avg ',1)
|
call timer('q65_avg ',1)
|
||||||
if(idec.ge.0) nused=navg
|
if(idec.ge.0) then
|
||||||
|
dtdec=xdt !We have a q[012]n result
|
||||||
|
f0dec=f0
|
||||||
|
nused=navg
|
||||||
|
endif
|
||||||
|
|
||||||
100 decoded=' '
|
100 decoded=' '
|
||||||
if(idec.ge.0) then
|
if(idec.ge.0) then
|
||||||
@ -206,14 +216,14 @@ contains
|
|||||||
1000 format(12b6.6,b5.5)
|
1000 format(12b6.6,b5.5)
|
||||||
call unpack77(c77,0,decoded,unpk77_success) !Unpack to get msgsent
|
call unpack77(c77,0,decoded,unpk77_success) !Unpack to get msgsent
|
||||||
nsnr=nint(snr2)
|
nsnr=nint(snr2)
|
||||||
call this%callback(nutc,snr1,nsnr,xdt1,f1,decoded,idec,nused,ntrperiod)
|
call this%callback(nutc,snr1,nsnr,dtdec,f0dec,decoded,idec,nused,ntrperiod)
|
||||||
if(iand(ndepth,128).ne.0) call q65_clravg !AutoClrAvg after decode
|
if(iand(ndepth,128).ne.0) call q65_clravg !AutoClrAvg after decode
|
||||||
else
|
else
|
||||||
! Report snr1, even if no decode.
|
! Report snr1, even if no decode.
|
||||||
nsnr=db(snr1) - 35.0
|
nsnr=db(snr1) - 35.0
|
||||||
if(nsnr.lt.-35) nsnr=-35
|
if(nsnr.lt.-35) nsnr=-35
|
||||||
idec=-1
|
idec=-1
|
||||||
call this%callback(nutc,snr1,nsnr,xdt1,f1,decoded, &
|
call this%callback(nutc,snr1,nsnr,xdt,f0,decoded, &
|
||||||
idec,0,ntrperiod)
|
idec,0,ntrperiod)
|
||||||
endif
|
endif
|
||||||
navg0=navg
|
navg0=navg
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
module q65
|
module q65
|
||||||
|
|
||||||
parameter (NSTEP=8) !Time bins per symbol, in s1() and s1a()
|
parameter (NSTEP=8) !Time bins per symbol, in s1() and s1a()
|
||||||
parameter (PLOG_MIN=-240.0) !List decoding threshold
|
parameter (PLOG_MIN=-242.0) !List decoding threshold
|
||||||
integer nsave,nlist,LL0,iz0,jz0
|
integer nsave,nlist,LL0,iz0,jz0
|
||||||
integer listutc(10)
|
integer listutc(10)
|
||||||
integer apsym0(58),aph10(10)
|
integer apsym0(58),aph10(10)
|
||||||
@ -15,7 +15,7 @@ module q65
|
|||||||
integer i0,j0
|
integer i0,j0
|
||||||
real,allocatable,save :: s1a(:,:) !Cumulative symbol spectra
|
real,allocatable,save :: s1a(:,:) !Cumulative symbol spectra
|
||||||
real sync(85) !sync vector
|
real sync(85) !sync vector
|
||||||
real df,dtstep
|
real df,dtstep,dtdec,f0dec
|
||||||
|
|
||||||
contains
|
contains
|
||||||
|
|
||||||
@ -208,7 +208,8 @@ subroutine q65_dec0(iavg,nutc,iwave,ntrperiod,nfqso,ntol,ndepth,lclearave, &
|
|||||||
1100 format(4f10.3)
|
1100 format(4f10.3)
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
close(17)
|
rewind 17
|
||||||
|
|
||||||
|
|
||||||
if(iavg.eq.2) then
|
if(iavg.eq.2) then
|
||||||
call q65_dec_q012(s3,LL,snr2,dat4,idec,decoded)
|
call q65_dec_q012(s3,LL,snr2,dat4,idec,decoded)
|
||||||
|
Loading…
Reference in New Issue
Block a user