mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-25 21:58:38 -05:00
First cut at setting up Fast/Normal/Deep parameters.
This commit is contained in:
parent
a2c3907b75
commit
8f7221825f
@ -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.
|
! A log-domain belief propagation decoder for the (174,91) code.
|
||||||
!
|
!
|
||||||
@ -76,6 +76,7 @@ do iter=0,maxiterations
|
|||||||
! write(*,*) iter,ncheck,nd,ncnt
|
! write(*,*) iter,ncheck,nd,ncnt
|
||||||
if( ncnt .ge. 5 .and. iter .ge. 10 .and. ncheck .gt. 15) then
|
if( ncnt .ge. 5 .and. iter .ge. 10 .and. ncheck .gt. 15) then
|
||||||
nharderror=-1
|
nharderror=-1
|
||||||
|
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
@ -261,7 +261,7 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,nzhsym,lapon, &
|
|||||||
else
|
else
|
||||||
npasses=4
|
npasses=4
|
||||||
endif
|
endif
|
||||||
if(nzhsym.lt.50) npasses=3
|
if(nzhsym.lt.50) npasses=4
|
||||||
|
|
||||||
do ipass=1,npasses
|
do ipass=1,npasses
|
||||||
llrz=llra
|
llrz=llra
|
||||||
@ -402,11 +402,11 @@ subroutine ft8b(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,nzhsym,lapon, &
|
|||||||
cw=0
|
cw=0
|
||||||
call timer('bpd174_91 ',0)
|
call timer('bpd174_91 ',0)
|
||||||
call bpdecode174_91(llrz,apmask,max_iterations,message77,cw,nharderrors, &
|
call bpdecode174_91(llrz,apmask,max_iterations,message77,cw,nharderrors, &
|
||||||
niterations)
|
niterations,ncheck)
|
||||||
call timer('bpd174_91 ',1)
|
call timer('bpd174_91 ',1)
|
||||||
dmin=0.0
|
dmin=0.0
|
||||||
if(ndepth.ge.2 .and. nharderrors.lt.0) then
|
if(nharderrors.lt.0 .and. ncheck.le.30 .and. ndepth.ge.2) then
|
||||||
ndeep=3
|
ndeep=ndepth
|
||||||
if(abs(nfqso-f1).le.napwid .or. abs(nftx-f1).le.napwid .or. ncontest.eq.7) then
|
if(abs(nfqso-f1).le.napwid .or. abs(nftx-f1).le.napwid .or. ncontest.eq.7) then
|
||||||
ndeep=4
|
ndeep=4
|
||||||
endif
|
endif
|
||||||
|
@ -124,24 +124,26 @@ contains
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
! For now:
|
! 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=2: subtraction, 3 passes, bp+osd (no subtract refinement)
|
||||||
! ndepth=3: subtraction, 3 passes, bp+osd
|
! ndepth=3: subtraction, 3 passes, bp+osd
|
||||||
if(ndepth.eq.1) npass=1
|
npass=3
|
||||||
if(ndepth.ge.2) npass=3
|
|
||||||
do ipass=1,npass
|
do ipass=1,npass
|
||||||
newdat=.true.
|
newdat=.true.
|
||||||
syncmin=1.3
|
syncmin=1.3
|
||||||
if(ipass.eq.1) then
|
if(ipass.eq.1) then
|
||||||
lsubtract=.true.
|
lsubtract=.true.
|
||||||
if(ndepth.eq.1) lsubtract=.false.
|
ndeep=ndepth
|
||||||
|
if(ndepth.eq.3) ndeep=2
|
||||||
elseif(ipass.eq.2) then
|
elseif(ipass.eq.2) then
|
||||||
n2=ndecodes
|
n2=ndecodes
|
||||||
if(ndecodes.eq.0) cycle
|
if(ndecodes.eq.0) cycle
|
||||||
lsubtract=.true.
|
lsubtract=.true.
|
||||||
|
ndeep=ndepth
|
||||||
elseif(ipass.eq.3) then
|
elseif(ipass.eq.3) then
|
||||||
if((ndecodes-n2).eq.0) cycle
|
if((ndecodes-n2).eq.0) cycle
|
||||||
lsubtract=.true.
|
lsubtract=.true.
|
||||||
|
ndeep=3
|
||||||
endif
|
endif
|
||||||
call timer('sync8 ',0)
|
call timer('sync8 ',0)
|
||||||
maxc=MAXCAND
|
maxc=MAXCAND
|
||||||
@ -154,7 +156,7 @@ contains
|
|||||||
xdt=candidate(2,icand)
|
xdt=candidate(2,icand)
|
||||||
xbase=10.0**(0.1*(sbase(nint(f1/3.125))-40.0))
|
xbase=10.0**(0.1*(sbase(nint(f1/3.125))-40.0))
|
||||||
call timer('ft8b ',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, &
|
lapcqonly,napwid,lsubtract,nagain,ncontest,iaptype,mycall12, &
|
||||||
hiscall12,sync,f1,xdt,xbase,apsym2,aph10,nharderrors,dmin, &
|
hiscall12,sync,f1,xdt,xbase,apsym2,aph10,nharderrors,dmin, &
|
||||||
nbadcrc,iappass,iera,msg37,xsnr,itone)
|
nbadcrc,iappass,iera,msg37,xsnr,itone)
|
||||||
@ -165,7 +167,6 @@ contains
|
|||||||
if(nbadcrc.eq.0) then
|
if(nbadcrc.eq.0) then
|
||||||
ldupe=.false.
|
ldupe=.false.
|
||||||
do id=1,ndecodes
|
do id=1,ndecodes
|
||||||
! if(msg37.eq.allmessages(id).and.nsnr.le.allsnrs(id)) ldupe=.true.
|
|
||||||
if(msg37.eq.allmessages(id)) ldupe=.true.
|
if(msg37.eq.allmessages(id)) ldupe=.true.
|
||||||
enddo
|
enddo
|
||||||
if(.not.ldupe) then
|
if(.not.ldupe) then
|
||||||
|
Loading…
Reference in New Issue
Block a user