mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2025-05-24 02:12:37 -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 ft8_downsample(dd0,newdat,f1,cd0) !Mix f1 to baseband and downsample
|
||||||
call timer('ft8_down',1)
|
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
|
smax=0.0
|
||||||
do idt=i0-8,i0+8 !Search over +/- one quarter symbol
|
do idt=i0-8,i0+8 !Search over +/- one quarter symbol
|
||||||
call sync8d(cd0,idt,ctwk,0,sync)
|
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
|
llra=2.0*rxdatap/(ss*ss) ! llr's for use with ap
|
||||||
apmag=4.0
|
apmag=4.0
|
||||||
nap=0
|
nap=0
|
||||||
! if(ndepth.eq.3) nap=2
|
if(ndepth.eq.3) nap=2
|
||||||
|
|
||||||
do iap=0,nap !### Temporary ###
|
do iap=0,nap !### Temporary ###
|
||||||
nera=1
|
nera=1
|
||||||
@ -162,9 +162,9 @@ subroutine ft8b(dd0,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync0,f1,xdt,
|
|||||||
do iera=1,nera
|
do iera=1,nera
|
||||||
llr=llr0
|
llr=llr0
|
||||||
nblank=0
|
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.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(nblank.gt.0) llr(1:nblank)=0.
|
||||||
if(iap.eq.0) then
|
if(iap.eq.0) then
|
||||||
apmask=0
|
apmask=0
|
||||||
@ -208,7 +208,7 @@ subroutine ft8b(dd0,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync0,f1,xdt,
|
|||||||
llrap=llr
|
llrap=llr
|
||||||
! llrap(88:143)=apmag*apsym(1:56)/ss
|
! llrap(88:143)=apmag*apsym(1:56)/ss
|
||||||
llrap(115)=llra(115)
|
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(144)=-apmag/ss
|
||||||
! llrap(160:162)=apmag*apsym(73:75)/ss
|
! llrap(160:162)=apmag*apsym(73:75)/ss
|
||||||
endif
|
endif
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
subroutine sync8(dd,nfa,nfb,syncmin,nfqso,s,candidate,ncand)
|
subroutine sync8(dd,nfa,nfb,syncmin,nfqso,s,candidate,ncand)
|
||||||
|
|
||||||
include 'ft8_params.f90'
|
include 'ft8_params.f90'
|
||||||
! Search over +/- 2.5s relative to start of interval.
|
! Search over +/- 1.5s relative to 0.5s TX start time.
|
||||||
parameter (JZ=62)
|
parameter (JZ=38)
|
||||||
complex cx(0:NH1)
|
complex cx(0:NH1)
|
||||||
real s(NH1,NHSYM)
|
real s(NH1,NHSYM)
|
||||||
real savg(NH1)
|
real savg(NH1)
|
||||||
@ -45,8 +45,10 @@ subroutine sync8(dd,nfa,nfb,syncmin,nfqso,s,candidate,ncand)
|
|||||||
ib=nint(nfb/df)
|
ib=nint(nfb/df)
|
||||||
nssy=NSPS/NSTEP ! # steps per symbol
|
nssy=NSPS/NSTEP ! # steps per symbol
|
||||||
nfos=NFFT1/NSPS ! # frequency bin oversampling factor
|
nfos=NFFT1/NSPS ! # frequency bin oversampling factor
|
||||||
|
jstrt=0.5/tstep
|
||||||
|
|
||||||
do i=ia,ib
|
do i=ia,ib
|
||||||
do j=-JZ,JZ
|
do j=-JZ,+JZ
|
||||||
ta=0.
|
ta=0.
|
||||||
tb=0.
|
tb=0.
|
||||||
tc=0.
|
tc=0.
|
||||||
@ -54,7 +56,7 @@ subroutine sync8(dd,nfa,nfb,syncmin,nfqso,s,candidate,ncand)
|
|||||||
t0b=0.
|
t0b=0.
|
||||||
t0c=0.
|
t0c=0.
|
||||||
do n=0,6
|
do n=0,6
|
||||||
k=j+nssy*n
|
k=j+jstrt+nssy*n
|
||||||
if(k.ge.1.and.k.le.NHSYM) then
|
if(k.ge.1.and.k.le.NHSYM) then
|
||||||
ta=ta + s(i+nfos*icos7(n),k)
|
ta=ta + s(i+nfos*icos7(n),k)
|
||||||
t0a=t0a + sum(s(i:i+nfos*6:nfos,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, &
|
call ft8b(dd,newdat,nfqso,ndepth,lsubtract,iaptype,icand,sync,f1, &
|
||||||
xdt,apsym,nharderrors,dmin,nbadcrc,iap,ipass,iera,message,xsnr)
|
xdt,apsym,nharderrors,dmin,nbadcrc,iap,ipass,iera,message,xsnr)
|
||||||
nsnr=nint(xsnr)
|
nsnr=nint(xsnr)
|
||||||
xdt=xdt-0.6
|
xdt=xdt-0.5
|
||||||
call timer('ft8b ',1)
|
call timer('ft8b ',1)
|
||||||
if(nbadcrc.eq.0 .and. associated(this%callback)) then
|
if(nbadcrc.eq.0 .and. associated(this%callback)) then
|
||||||
call this%callback(sync,nsnr,xdt,f1,iap,iera,message)
|
call this%callback(sync,nsnr,xdt,f1,iap,iera,message)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user