mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-03-22 12:08:43 -04:00
Fix a bug in AP decoding when iaptype=2. Decrease time-sync search range to +/- 1.5s. Fix a big with erasure decoding.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7926 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
parent
4594aaa589
commit
46e1cd5a30
@ -35,7 +35,7 @@ subroutine ft8b(dd0,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync0,f1,xdt,
|
||||
call ft8_downsample(dd0,newdat,f1,cd0) !Mix f1 to baseband and downsample
|
||||
call timer('ft8_down',1)
|
||||
|
||||
i0=nint(xdt*fs2) !Initial guess for start of signal
|
||||
i0=nint((xdt+0.5)*fs2) !Initial guess for start of signal
|
||||
smax=0.0
|
||||
do idt=i0-8,i0+8 !Search over +/- one quarter symbol
|
||||
call sync8d(cd0,idt,ctwk,0,sync)
|
||||
@ -154,7 +154,7 @@ subroutine ft8b(dd0,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync0,f1,xdt,
|
||||
llra=2.0*rxdatap/(ss*ss) ! llr's for use with ap
|
||||
apmag=4.0
|
||||
nap=0
|
||||
! if(ndepth.eq.3) nap=2
|
||||
if(ndepth.eq.3) nap=2
|
||||
|
||||
do iap=0,nap !### Temporary ###
|
||||
nera=1
|
||||
@ -162,9 +162,9 @@ subroutine ft8b(dd0,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync0,f1,xdt,
|
||||
do iera=1,nera
|
||||
llr=llr0
|
||||
nblank=0
|
||||
if(nera.eq.3 .and. iera.eq.1) nblank=48
|
||||
if(nera.eq.3 .and. iera.eq.1) nblank=0
|
||||
if(nera.eq.3 .and. iera.eq.2) nblank=24
|
||||
if(nera.eq.3 .and. iera.eq.3) nblank=0
|
||||
if(nera.eq.3 .and. iera.eq.3) nblank=48
|
||||
if(nblank.gt.0) llr(1:nblank)=0.
|
||||
if(iap.eq.0) then
|
||||
apmask=0
|
||||
@ -208,7 +208,7 @@ subroutine ft8b(dd0,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync0,f1,xdt,
|
||||
llrap=llr
|
||||
! llrap(88:143)=apmag*apsym(1:56)/ss
|
||||
llrap(115)=llra(115)
|
||||
llrap(116:143)=apmag*apsym(1:28)/ss
|
||||
llrap(116:143)=apmag*apsym(29:56)/ss
|
||||
llrap(144)=-apmag/ss
|
||||
! llrap(160:162)=apmag*apsym(73:75)/ss
|
||||
endif
|
||||
|
@ -1,8 +1,8 @@
|
||||
subroutine sync8(dd,nfa,nfb,syncmin,nfqso,s,candidate,ncand)
|
||||
|
||||
include 'ft8_params.f90'
|
||||
! Search over +/- 2.5s relative to start of interval.
|
||||
parameter (JZ=62)
|
||||
! Search over +/- 1.5s relative to 0.5s TX start time.
|
||||
parameter (JZ=38)
|
||||
complex cx(0:NH1)
|
||||
real s(NH1,NHSYM)
|
||||
real savg(NH1)
|
||||
@ -45,8 +45,10 @@ subroutine sync8(dd,nfa,nfb,syncmin,nfqso,s,candidate,ncand)
|
||||
ib=nint(nfb/df)
|
||||
nssy=NSPS/NSTEP ! # steps per symbol
|
||||
nfos=NFFT1/NSPS ! # frequency bin oversampling factor
|
||||
jstrt=0.5/tstep
|
||||
|
||||
do i=ia,ib
|
||||
do j=-JZ,JZ
|
||||
do j=-JZ,+JZ
|
||||
ta=0.
|
||||
tb=0.
|
||||
tc=0.
|
||||
@ -54,7 +56,7 @@ subroutine sync8(dd,nfa,nfb,syncmin,nfqso,s,candidate,ncand)
|
||||
t0b=0.
|
||||
t0c=0.
|
||||
do n=0,6
|
||||
k=j+nssy*n
|
||||
k=j+jstrt+nssy*n
|
||||
if(k.ge.1.and.k.le.NHSYM) then
|
||||
ta=ta + s(i+nfos*icos7(n),k)
|
||||
t0a=t0a + sum(s(i:i+nfos*6:nfos,k))
|
||||
|
@ -80,7 +80,7 @@ contains
|
||||
call ft8b(dd,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync,f1, &
|
||||
xdt,apsym,nharderrors,dmin,nbadcrc,iap,ipass,iera,message,xsnr)
|
||||
nsnr=nint(xsnr)
|
||||
xdt=xdt-0.6
|
||||
xdt=xdt-0.5
|
||||
call timer('ft8b ',1)
|
||||
if(nbadcrc.eq.0 .and. associated(this%callback)) then
|
||||
call this%callback(sync,nsnr,xdt,f1,iap,iera,message)
|
||||
|
Loading…
Reference in New Issue
Block a user