diff --git a/lib/ft8/.sync8.f90.swp b/lib/ft8/.sync8.f90.swp deleted file mode 100644 index 97d11ad15..000000000 Binary files a/lib/ft8/.sync8.f90.swp and /dev/null differ diff --git a/lib/ft8/ft8b_2.f90 b/lib/ft8/ft8b_2.f90 index 991e141bc..241cd7c51 100644 --- a/lib/ft8/ft8b_2.f90 +++ b/lib/ft8/ft8b_2.f90 @@ -42,6 +42,9 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & data first/.true./ save nappasses,naptypes +! All of the AP-related code in this routine needs to be re-written! AP decoding +! passes are disabled for now. +! if(first) then mcq=2*mcq-1 mde=2*mde-1 @@ -278,8 +281,8 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & npasses=4 endif - do ipass=1,npasses - +! do ipass=1,npasses + do ipass=1,2 llr=llr0 if(ipass.eq.2) llr=llr1 if(ipass.eq.3) llr(1:24)=0. @@ -373,15 +376,15 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & nharderrors=-1 cycle endif - i3bit=4*decoded(73) + 2*decoded(74) + decoded(75) + i5bit=16*decoded(73) + 8*decoded(74) + 4*decoded(75) + 2*decoded(76) + decoded(77) iFreeText=decoded(57) if(nbadcrc.eq.0) then decoded0=decoded - if(i3bit.eq.1) decoded(57:)=0 + if(i5bit.eq.1) decoded(57:)=0 call extractmessage174_91(decoded,message,ncrcflag) decoded=decoded0 -! This needs fixing for messages with i3bit=1: - call genft8(message,mygrid6,bcontest,i3bit,msgsent,msgbits,itone) +! This needs fixing for messages with i5bit=1: + call genft8_174_91(message,mygrid6,bcontest,i5bit,msgsent,msgbits,itone) if(lsubtract) call subtractft8(dd0,itone,f1,xdt2) xsig=0.0 xnoi=0.0 @@ -397,7 +400,7 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & if(.not.nagain) xsnr=xsnr2 if(xsnr .lt. -24.0) xsnr=-24.0 - if(i3bit.eq.1) then + if(i5bit.eq.1) then do i=1,12 i1hiscall(i)=ichar(hiscall12(i:i)) enddo @@ -431,11 +434,9 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, & else msg37=message//' ' endif - return endif enddo - return end subroutine ft8b_2 diff --git a/lib/ft8/ft8sim.f90 b/lib/ft8/ft8sim.f90 index d6b62d7af..8fdacf734 100644 --- a/lib/ft8/ft8sim.f90 +++ b/lib/ft8/ft8sim.f90 @@ -99,6 +99,8 @@ program ft8sim write(*,1034) itone 1034 format(/'Channel symbols:'/79i1/) + call sgran() + msg0=msg do ifile=1,nfiles c=0. @@ -165,9 +167,6 @@ program ft8sim if(snrdb.lt.90) then do i=1,NMAX !Add gaussian noise at specified SNR xnoise=gran() -! wave(i)=wave(i) + xnoise -! if(i.ge.ia .and. i.le.ib) write(30,3001) i,wave(i)/peak -!3001 format(i8,f12.6) wave(i)=wave(i) + xnoise enddo endif diff --git a/lib/ft8_decode.f90 b/lib/ft8_decode.f90 index ddef3fd88..9b951640b 100644 --- a/lib/ft8_decode.f90 +++ b/lib/ft8_decode.f90 @@ -95,7 +95,6 @@ contains if((ndecodes-n2).eq.0) cycle lsubtract=.false. endif - call timer('sync8 ',0) call sync8(dd,ifa,ifb,syncmin,nfqso,s,candidate,ncand,sbase) call timer('sync8 ',1) @@ -139,11 +138,11 @@ contains allmessages(ndecodes)=message allsnrs(ndecodes)=nsnr endif -! write(81,1004) nutc,ncand,icand,ipass,iaptype,iappass, & -! nharderrors,dmin,hd,min(sync,999.0),nint(xsnr), & -! xdt,nint(f1),message -!1004 format(i6.6,2i4,3i2,i3,3f6.1,i4,f6.2,i5,2x,a22) -! flush(81) + write(81,1004) nutc,ncand,icand,ipass,iaptype,iappass, & + nharderrors,dmin,hd,min(sync,999.0),nint(xsnr), & + xdt,nint(f1),message,iftype,nbadcrc +1004 format(i6.6,2i4,3i2,i3,3f6.1,i4,f6.2,i5,2x,a22,i4,i4) + flush(81) if(.not.ldupe .and. associated(this%callback)) then qual=1.0-(nharderrors+dmin)/60.0 ! scale qual to [0.0,1.0] call this%callback(sync,nsnr,xdt,f1,msg37,iaptype,qual)