mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-23 12:38:53 -04:00
Work in progress on QMAP, for Q65-30x decoding.
This commit is contained in:
parent
7348bc323e
commit
93dba5e623
@ -1,5 +1,5 @@
|
||||
subroutine map65_mmdec(nutc,id2,nqd,nsubmode,nfa,nfb,nfqso,ntol,newdat, &
|
||||
nagain,max_drift,ndepth,mycall,hiscall,hisgrid)
|
||||
subroutine map65_mmdec(nutc,id2,nqd,ntrperiod, nsubmode,nfa,nfb,nfqso, &
|
||||
ntol,newdat,nagain,max_drift,ndepth,mycall,hiscall,hisgrid)
|
||||
|
||||
use prog_args
|
||||
use timer_module, only: timer
|
||||
@ -39,7 +39,7 @@ subroutine map65_mmdec(nutc,id2,nqd,nsubmode,nfa,nfb,nfqso,ntol,newdat, &
|
||||
lagain=(nagain.ne.0)
|
||||
bVHF=.true.
|
||||
emedelay=2.5
|
||||
ntrperiod=60
|
||||
! ntrperiod=60
|
||||
|
||||
call timer('dec_q65 ',0)
|
||||
call my_q65%decode(q65_decoded,id2,nqd,nutc,ntrperiod,nsubmode,nfqso, &
|
||||
|
@ -63,12 +63,12 @@ subroutine getcand2(ss,savg0,nts_q65,nagain,ntol,f0_selected,cand,ncand)
|
||||
ib=min(i0+nbw+nguard,32768)
|
||||
savg(ia:ib)=0.
|
||||
! write(*,3301) j,fpk+80-48,xdt,snr_sync,ntrperiod,iseq
|
||||
3301 format(i3,f8.1,f8.2,f8.1,2i5)
|
||||
3301 format(i3,f10.3,f8.2,f8.1,2i5)
|
||||
if(j.ge.MAX_CANDIDATES) exit
|
||||
endif
|
||||
|
||||
ntrperiod=30
|
||||
! if(ntrperiod.eq.30) cycle
|
||||
if(ntrperiod.eq.30) cycle
|
||||
|
||||
call q65_sync(ss,i0,nts_q65,ntrperiod,iseq,sync_ok,snr_sync,xdt)
|
||||
if(sync_ok) then
|
||||
|
@ -56,8 +56,8 @@ subroutine q65_sync(ss,i0,nts_q65,ntrperiod,iseq,sync_ok,snr,xdt)
|
||||
sq=sq+ccf(i)**2
|
||||
nsum=nsum+1
|
||||
endif
|
||||
write(40,3040) i,i*tstep-1.0,ccf(i),fpk
|
||||
3040 format(i5,3f8.2)
|
||||
! write(40,3040) i,i*tstep-1.0,ccf(i),fpk
|
||||
!3040 format(i5,3f8.2)
|
||||
enddo
|
||||
ave=xsum/nsum
|
||||
rms=sqrt(sq/nsum - ave*ave)
|
||||
|
@ -1,4 +1,5 @@
|
||||
subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
|
||||
ntrperiod,iseq, &
|
||||
mycall0,hiscall0,hisgrid,mode_q65,f0,fqso,nkhz_center, newdat,nagain, &
|
||||
max_drift,offset,ndepth,datetime,ndop00,idec)
|
||||
|
||||
@ -90,8 +91,16 @@ subroutine q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
|
||||
endif
|
||||
nsnr0=-99 !Default snr for no decode
|
||||
|
||||
!###
|
||||
nfa=800
|
||||
nfb=1200
|
||||
write(*,4001) f0,f0+31.847,nfa,nfb,ntol,ntrperiod,iseq,mode_q65
|
||||
4001 format('b',2f10.3,6i6)
|
||||
if(iseq.eq.1) iwave(1:360000)=iwave(360001:720000)
|
||||
!###
|
||||
|
||||
! NB: Frequency of ipk is now shifted to 1000 Hz.
|
||||
call map65_mmdec(nutc,iwave,nqd,nsubmode,nfa,nfb,1000,ntol, &
|
||||
call map65_mmdec(nutc,iwave,nqd,ntrperiod,nsubmode,nfa,nfb,1000,ntol, &
|
||||
newdat,nagain,max_drift,ndepth,mycall,hiscall,hisgrid)
|
||||
MHz=fcenter
|
||||
freq0=MHz + 0.001d0*ikhz
|
||||
|
@ -56,13 +56,26 @@ subroutine qmapa(dd,ss,savg,newdat,nutc,fcenter,ntol,nfa,nfb, &
|
||||
call filbig(dd,NSMAX,f0,newdat,nfsample,cx,n5) !Do the full-length FFT
|
||||
call timer('filbig ',1)
|
||||
|
||||
|
||||
do icand=1,ncand !Attempt to decode each candidate
|
||||
f0=cand(icand)%f
|
||||
freq=cand(icand)%f+nkhz_center-48.0-1.27046
|
||||
ntrperiod=cand(icand)%ntrperiod
|
||||
!###
|
||||
if(icand.gt.1) exit
|
||||
f0=-31.847 + 117.602
|
||||
ntrperiod=30
|
||||
iseq=1
|
||||
mode_q65=2
|
||||
!###
|
||||
freq=f0+nkhz_center-48.0-1.27046
|
||||
write(*,5001) icand,ntrperiod,iseq,f0,f0+nkhz_center-48.0, &
|
||||
cand(icand)%xdt,cand(icand)%snr
|
||||
5001 format('a',3i5,2f10.3,2f8.1)
|
||||
ikhz=nint(freq)
|
||||
idec=-1
|
||||
call timer('q65b ',0)
|
||||
call q65b(nutc,nqd,fcenter,nfcal,nfsample,ikhz,mousedf,ntol, &
|
||||
ntrperiod,iseq, &
|
||||
mycall,hiscall,hisgrid,mode_q65,f0,fqso,nkhz_center,newdat, &
|
||||
nagain2,max_drift,offset,ndepth,datetime,ndop00,idec)
|
||||
call timer('q65b ',1)
|
||||
|
Loading…
Reference in New Issue
Block a user