First cut at setting up Fast/Normal/Deep parameters.

This commit is contained in:
Steven Franke 2020-03-17 08:51:37 -05:00
parent a2c3907b75
commit 8f7221825f
3 changed files with 13 additions and 11 deletions

View File

@ -1,4 +1,4 @@
subroutine bpdecode174_91(llr,apmask,maxiterations,message77,cw,nharderror,iter)
subroutine bpdecode174_91(llr,apmask,maxiterations,message77,cw,nharderror,iter,ncheck)
!
! A log-domain belief propagation decoder for the (174,91) code.
!
@ -76,6 +76,7 @@ do iter=0,maxiterations
! write(*,*) iter,ncheck,nd,ncnt
if( ncnt .ge. 5 .and. iter .ge. 10 .and. ncheck .gt. 15) then
nharderror=-1
return
endif
endif

View File

@ -261,7 +261,7 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,nzhsym,lapon, &
else
npasses=4
endif
if(nzhsym.lt.50) npasses=3
if(nzhsym.lt.50) npasses=4
do ipass=1,npasses
llrz=llra
@ -402,11 +402,11 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,nzhsym,lapon, &
cw=0
call timer('bpd174_91 ',0)
call bpdecode174_91(llrz,apmask,max_iterations,message77,cw,nharderrors, &
niterations)
niterations,ncheck)
call timer('bpd174_91 ',1)
dmin=0.0
if(ndepth.ge.2 .and. nharderrors.lt.0) then
ndeep=3
if(nharderrors.lt.0 .and. ncheck.le.30 .and. ndepth.ge.2) then
ndeep=ndepth
if(abs(nfqso-f1).le.napwid .or. abs(nftx-f1).le.napwid .or. ncontest.eq.7) then
ndeep=4
endif

View File

@ -124,24 +124,26 @@ contains
endif
! For now:
! ndepth=1: no subtraction, 1 pass, belief propagation only
! ndepth=1: subtraction, 3 passes, bp (no subtract refinement)
! ndepth=2: subtraction, 3 passes, bp+osd (no subtract refinement)
! ndepth=3: subtraction, 3 passes, bp+osd
if(ndepth.eq.1) npass=1
if(ndepth.ge.2) npass=3
npass=3
do ipass=1,npass
newdat=.true.
syncmin=1.3
if(ipass.eq.1) then
lsubtract=.true.
if(ndepth.eq.1) lsubtract=.false.
ndeep=ndepth
if(ndepth.eq.3) ndeep=2
elseif(ipass.eq.2) then
n2=ndecodes
if(ndecodes.eq.0) cycle
lsubtract=.true.
ndeep=ndepth
elseif(ipass.eq.3) then
if((ndecodes-n2).eq.0) cycle
lsubtract=.true.
ndeep=3
endif
call timer('sync8 ',0)
maxc=MAXCAND
@ -154,7 +156,7 @@ contains
xdt=candidate(2,icand)
xbase=10.0**(0.1*(sbase(nint(f1/3.125))-40.0))
call timer('ft8b ',0)
call ft8b(dd,newdat,nQSOProgress,nfqso,nftx,ndepth,nzhsym,lft8apon, &
call ft8b(dd,newdat,nQSOProgress,nfqso,nftx,ndeep,nzhsym,lft8apon, &
lapcqonly,napwid,lsubtract,nagain,ncontest,iaptype,mycall12, &
hiscall12,sync,f1,xdt,xbase,apsym2,aph10,nharderrors,dmin, &
nbadcrc,iappass,iera,msg37,xsnr,itone)
@ -165,7 +167,6 @@ contains
if(nbadcrc.eq.0) then
ldupe=.false.
do id=1,ndecodes
! if(msg37.eq.allmessages(id).and.nsnr.le.allsnrs(id)) ldupe=.true.
if(msg37.eq.allmessages(id)) ldupe=.true.
enddo
if(.not.ldupe) then