Streamline the sequence detector code.

This commit is contained in:
Steve Franke 2018-06-27 15:11:39 -05:00
parent 229ee09b99
commit 83d81bdcd2

View File

@ -79,7 +79,7 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
one=.false. one=.false.
do i=0,511 do i=0,511
do j=0,8 do j=0,8
if(iand(i,2**(8-j)).ne.0) one(i,j)=.true. if(iand(i,2**j).ne.0) one(i,j)=.true.
enddo enddo
enddo enddo
first=.false. first=.false.
@ -159,7 +159,6 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
nsync=is1+is2+is3 nsync=is1+is2+is3
if(nsync .le. 6) then ! bail out if(nsync .le. 6) then ! bail out
nbadcrc=1 nbadcrc=1
!write(*,*) 'failed sync sanity test'
return return
endif endif
@ -184,36 +183,28 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
print*,"Error - nsym must be 1, 2, or 3." print*,"Error - nsym must be 1, 2, or 3."
endif endif
enddo enddo
s2l(0:nt-1)=log(s2(0:nt-1)+1e-32)
i32=1+(k-1)*3+(ihalf-1)*87 i32=1+(k-1)*3+(ihalf-1)*87
if(nsym.eq.1) then if(nsym.eq.1) ibmax=2
do ib=0,2 if(nsym.eq.2) ibmax=5
bmeta(i32+ib)=maxval(s2(0:nt-1),one(0:nt-1,6+ib)) - & if(nsym.eq.3) ibmax=8
maxval(s2(0:nt-1),.not.one(0:nt-1,6+ib)) do ib=0,ibmax
s2l(0:nt-1)=log(s2(0:nt-1)+1e-32) bm=maxval(s2(0:nt-1),one(0:nt-1,ibmax-ib)) - &
bmetal(i32+ib)=maxval(s2l(0:nt-1),one(0:nt-1,6+ib)) - & maxval(s2(0:nt-1),.not.one(0:nt-1,ibmax-ib))
maxval(s2l(0:nt-1),.not.one(0:nt-1,6+ib)) bml=maxval(s2l(0:nt-1),one(0:nt-1,ibmax-ib)) - &
enddo maxval(s2l(0:nt-1),.not.one(0:nt-1,ibmax-ib))
elseif(nsym.eq.2) then if(i32+ib .gt.174) cycle
ibmax=5 if(nsym.eq.1) then
if(k.eq.29) ibmax=2 bmeta(i32+ib)=bm
do ib=0,ibmax bmetal(i32+ib)=bml
bmetb(i32+ib)=maxval(s2(0:nt-1),one(0:nt-1,3+ib)) - & elseif(nsym.eq.2) then
maxval(s2(0:nt-1),.not.one(0:nt-1,3+ib)) bmetb(i32+ib)=bm
s2l(0:nt-1)=log(s2(0:nt-1)+1e-32) bmetbl(i32+ib)=bml
bmetbl(i32+ib)=maxval(s2l(0:nt-1),one(0:nt-1,3+ib)) - & elseif(nsym.eq.3) then
maxval(s2l(0:nt-1),.not.one(0:nt-1,3+ib)) bmetc(i32+ib)=bm
enddo bmetcl(i32+ib)=bml
elseif(nsym.eq.3) then endif
ibmax=8 enddo
if(k.eq.28) ibmax=5
do ib=0,ibmax
bmetc(i32+ib)=maxval(s2(0:nt-1),one(0:nt-1,ib)) - &
maxval(s2(0:nt-1),.not.one(0:nt-1,ib))
s2l(0:nt-1)=log(s2(0:nt-1)+1e-32)
bmetcl(i32+ib)=maxval(s2l(0:nt-1),one(0:nt-1,ib)) - &
maxval(s2l(0:nt-1),.not.one(0:nt-1,ib))
enddo
endif
enddo enddo
enddo enddo
enddo enddo
@ -225,10 +216,6 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
call normalizebmet(bmetcl,3*ND) call normalizebmet(bmetcl,3*ND)
bmetap=bmeta bmetap=bmeta
!do i=1,174
!write(*,*) i,bmeta(i),bmetc(i)
!enddo
scalefac=2.83 scalefac=2.83
llra=scalefac*bmeta llra=scalefac*bmeta
llral=scalefac*bmetal llral=scalefac*bmetal