mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-02-03 09:44:24 -05:00
Enable q3 decodes, but only at the QSO freq.
This commit is contained in:
parent
ebfe352834
commit
8034a006d7
@ -205,7 +205,8 @@ subroutine multimode_decoder(ss,id2,params,nfsample)
|
||||
open(17,file=trim(temp_dir)//'/red.dat',status='unknown')
|
||||
open(14,file=trim(temp_dir)//'/avemsg.txt',status='unknown')
|
||||
call timer('dec_q65 ',0)
|
||||
call my_q65%decode(q65_decoded,id2,params%nutc,params%ntr, &
|
||||
nqd=1
|
||||
call my_q65%decode(q65_decoded,id2,nqd,params%nutc,params%ntr, &
|
||||
params%nsubmode,params%nfqso,params%ntol,params%ndepth, &
|
||||
params%nfa,params%nfb,logical(params%nclearave), &
|
||||
single_decode,logical(params%nagain), &
|
||||
|
@ -1,5 +1,5 @@
|
||||
subroutine map65_mmdec(nutc,id2,nsubmode,nfa,nfb,nfqso,ntol,newdat,nagain, &
|
||||
mycall,hiscall,hisgrid)
|
||||
subroutine map65_mmdec(nutc,id2,nqd,nsubmode,nfa,nfb,nfqso,ntol,newdat, &
|
||||
nagain,mycall,hiscall,hisgrid)
|
||||
|
||||
use prog_args
|
||||
use timer_module, only: timer
|
||||
@ -47,7 +47,7 @@ subroutine map65_mmdec(nutc,id2,nsubmode,nfa,nfb,nfqso,ntol,newdat,nagain, &
|
||||
open(14,file=trim(temp_dir)//'/avemsg.txt',status='unknown')
|
||||
|
||||
call timer('dec_q65 ',0)
|
||||
call my_q65%decode(q65_decoded,id2,nutc,ntrperiod,nsubmode,nfqso, &
|
||||
call my_q65%decode(q65_decoded,id2,nqd,nutc,ntrperiod,nsubmode,nfqso, &
|
||||
ntol,ndepth,nfa,nfb,lclearave,single_decode,lagain,lnewdat, &
|
||||
emedelay,mycall,hiscall,hisgrid,nQSOProgress,ncontest,lapcqonly,navg0)
|
||||
call timer('dec_q65 ',1)
|
||||
|
@ -30,8 +30,8 @@ module q65_decode
|
||||
|
||||
contains
|
||||
|
||||
subroutine decode(this,callback,iwave,nutc,ntrperiod,nsubmode,nfqso, &
|
||||
ntol,ndepth,nfa0,nfb0,lclearave,single_decode,lagain,lnewdat0, &
|
||||
subroutine decode(this,callback,iwave,nqd,nutc,ntrperiod,nsubmode,nfqso, &
|
||||
ntol,ndepth,nfa0,nfb0,lclearave,single_decode,lagain,lnewdat0, &
|
||||
emedelay,mycall,hiscall,hisgrid,nQSOprogress,ncontest,lapcqonly,navg0)
|
||||
|
||||
! Top-level routine that organizes the decoding of Q65 signals
|
||||
@ -135,10 +135,12 @@ contains
|
||||
! Generate codewords for full-AP list decoding
|
||||
if(ichar(hiscall(1:1)).eq.0) hiscall=' '
|
||||
if(ichar(hisgrid(1:1)).eq.0) hisgrid=' '
|
||||
call q65_set_list(mycall,hiscall,hisgrid,codewords,ncw)
|
||||
ncw=0
|
||||
if(nqd.eq.1 .or. lagain) then
|
||||
call q65_set_list(mycall,hiscall,hisgrid,codewords,ncw)
|
||||
endif
|
||||
dgen=0
|
||||
call q65_enc(dgen,codewords) !Initialize the Q65 codec
|
||||
|
||||
nused=1
|
||||
iavg=0
|
||||
call timer('q65_dec0',0)
|
||||
|
@ -41,7 +41,6 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
||||
mfb=nfb-nkhz_center+48
|
||||
nts_jt65=2
|
||||
nts_q65=1
|
||||
ncand=0
|
||||
if(nagain.eq.0) then
|
||||
call timer('get_cand',0)
|
||||
call get_candidates(ss,savg,mfa,mfb,nts_jt65,nts_q65,cand,ncand)
|
||||
@ -126,7 +125,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
||||
else
|
||||
write(13,*) 'Error in iii:',iii,ia,ib,fa,fb
|
||||
flush(13)
|
||||
go to 999
|
||||
go to 900
|
||||
endif
|
||||
enddo
|
||||
call pctile(tavg,101,50,base(jp))
|
||||
@ -236,12 +235,12 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
||||
write(*,*) '! Signal too strong, or suspect data? Decoding aborted.'
|
||||
write(13,*) 'Signal too strong, or suspect data? Decoding aborted.'
|
||||
call flush(13)
|
||||
go to 999
|
||||
go to 900
|
||||
endif
|
||||
|
||||
call timer('decode1a',0)
|
||||
ifreq=i
|
||||
ikHz=nint(freq+0.5*(nfa+nfb)-foffset)-nfshift
|
||||
ikhz=nint(freq+0.5*(nfa+nfb)-foffset)-nfshift
|
||||
idf=nint(1000.0*(freq+0.5*(nfa+nfb)-foffset-(ikHz+nfshift)))
|
||||
call decode1a(dd,newdat,f00,nflip,mode65,nfsample, &
|
||||
xpol,mycall,hiscall,hisgrid,neme,ndepth,nqd,dphi, &
|
||||
@ -359,10 +358,10 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
||||
do n=1,ncand
|
||||
if(cand(n)%iflip.ne.0) cycle
|
||||
freq=cand(n)%f+77.0-1.27046
|
||||
if(nqd.eq.1 .and. abs(freq-mousefqso).gt.float(ntol)) cycle
|
||||
if(nqd.eq.1 .and. abs(freq-mousefqso).gt.0.001*ntol) cycle
|
||||
ikhz=nint(freq)
|
||||
! write(*,3201) nqd,freq,mousefqso,mousedf,ntol
|
||||
!3201 format('=A',i3,f10.3,3i5)
|
||||
! write(*,3201) nqd,freq,mousefqso,mousedf,ntol,mycall,hiscall,hisgrid
|
||||
!3201 format('=A',i3,f10.3,3i5,2a12,a6)
|
||||
call timer('q65b ',0)
|
||||
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz, &
|
||||
mousedf,ntol,xpol,mycall,hiscall,hisgrid,mode_q65)
|
||||
@ -386,13 +385,13 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
||||
1013 format('<QuickDecodeDone>',2i4)
|
||||
flush(6)
|
||||
endif
|
||||
if(nqd.eq.1 .and. nagain.eq.1) go to 999
|
||||
if(nqd.eq.1 .and. nagain.eq.1) go to 900
|
||||
|
||||
if(nqd.eq.0) then
|
||||
do n=1,ncand
|
||||
if(cand(n)%iflip.ne.0) cycle
|
||||
freq=cand(n)%f+77.0-1.27046
|
||||
if(nqd.eq.1 .and. abs(freq-mousefqso).gt.float(ntol)) cycle
|
||||
if(nqd.eq.1 .and. abs(freq-mousefqso).gt.0.001*ntol) cycle
|
||||
ikhz=nint(freq)
|
||||
! write(*,3202) nqd,freq,mousefqso,mousedf,ntol
|
||||
!3202 format('=B',i3,f10.3,3i5)
|
||||
@ -520,7 +519,7 @@ subroutine map65a(dd,ss,savg,newdat,nutc,fcenter,ntol,idphi,nfa,nfb, &
|
||||
call display(nkeep,ftol)
|
||||
ndecdone=2
|
||||
|
||||
999 close(23)
|
||||
900 close(23)
|
||||
ndphi=0
|
||||
nagain=0
|
||||
mcall3b=mcall3a
|
||||
|
@ -53,7 +53,7 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
|
||||
snr1=sync(ipk)%ccfmax
|
||||
ipol=1
|
||||
if(xpol) ipol=sync(ipk)%ipol
|
||||
! print*,'BBB',ipk00,ipk,snr1,ipol
|
||||
! print*,'=A',nqd,ikhz,ff,ifreq,0.001*ia*df3+77,0.001*ib*df3+77
|
||||
!###
|
||||
|
||||
nfft1=MAXFFT1
|
||||
@ -129,7 +129,7 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol,xpol, &
|
||||
nsnr0=-99 !Default snr for no decode
|
||||
|
||||
! NB: Frequency of ipk is now shifted to 1000 Hz.
|
||||
call map65_mmdec(nutc,iwave,nsubmode,nfa,nfb,1000,ntol, &
|
||||
call map65_mmdec(nutc,iwave,nqd,nsubmode,nfa,nfb,1000,ntol, &
|
||||
newdat,nagain,mycall,hiscall,hisgrid)
|
||||
|
||||
nfreq=nfreq0 + nhz + mousedf - 1000
|
||||
|
Loading…
Reference in New Issue
Block a user