Disable AP passes for type 2 frames, for now. Write some diagnostics to lun 81.

This commit is contained in:
Steve Franke 2018-06-07 11:40:25 -05:00
parent b84602d059
commit a0db6a8a08
4 changed files with 17 additions and 18 deletions

Binary file not shown.

View File

@ -42,6 +42,9 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
data first/.true./ data first/.true./
save nappasses,naptypes 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 if(first) then
mcq=2*mcq-1 mcq=2*mcq-1
mde=2*mde-1 mde=2*mde-1
@ -278,8 +281,8 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
npasses=4 npasses=4
endif endif
do ipass=1,npasses ! do ipass=1,npasses
do ipass=1,2
llr=llr0 llr=llr0
if(ipass.eq.2) llr=llr1 if(ipass.eq.2) llr=llr1
if(ipass.eq.3) llr(1:24)=0. 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 nharderrors=-1
cycle cycle
endif 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) iFreeText=decoded(57)
if(nbadcrc.eq.0) then if(nbadcrc.eq.0) then
decoded0=decoded decoded0=decoded
if(i3bit.eq.1) decoded(57:)=0 if(i5bit.eq.1) decoded(57:)=0
call extractmessage174_91(decoded,message,ncrcflag) call extractmessage174_91(decoded,message,ncrcflag)
decoded=decoded0 decoded=decoded0
! This needs fixing for messages with i3bit=1: ! This needs fixing for messages with i5bit=1:
call genft8(message,mygrid6,bcontest,i3bit,msgsent,msgbits,itone) call genft8_174_91(message,mygrid6,bcontest,i5bit,msgsent,msgbits,itone)
if(lsubtract) call subtractft8(dd0,itone,f1,xdt2) if(lsubtract) call subtractft8(dd0,itone,f1,xdt2)
xsig=0.0 xsig=0.0
xnoi=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(.not.nagain) xsnr=xsnr2
if(xsnr .lt. -24.0) xsnr=-24.0 if(xsnr .lt. -24.0) xsnr=-24.0
if(i3bit.eq.1) then if(i5bit.eq.1) then
do i=1,12 do i=1,12
i1hiscall(i)=ichar(hiscall12(i:i)) i1hiscall(i)=ichar(hiscall12(i:i))
enddo enddo
@ -431,11 +434,9 @@ subroutine ft8b_2(dd0,newdat,nQSOProgress,nfqso,nftx,ndepth,lapon,lapcqonly, &
else else
msg37=message//' ' msg37=message//' '
endif endif
return return
endif endif
enddo enddo
return return
end subroutine ft8b_2 end subroutine ft8b_2

View File

@ -99,6 +99,8 @@ program ft8sim
write(*,1034) itone write(*,1034) itone
1034 format(/'Channel symbols:'/79i1/) 1034 format(/'Channel symbols:'/79i1/)
call sgran()
msg0=msg msg0=msg
do ifile=1,nfiles do ifile=1,nfiles
c=0. c=0.
@ -165,9 +167,6 @@ program ft8sim
if(snrdb.lt.90) then if(snrdb.lt.90) then
do i=1,NMAX !Add gaussian noise at specified SNR do i=1,NMAX !Add gaussian noise at specified SNR
xnoise=gran() 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 wave(i)=wave(i) + xnoise
enddo enddo
endif endif

View File

@ -95,7 +95,6 @@ contains
if((ndecodes-n2).eq.0) cycle if((ndecodes-n2).eq.0) cycle
lsubtract=.false. lsubtract=.false.
endif endif
call timer('sync8 ',0) call timer('sync8 ',0)
call sync8(dd,ifa,ifb,syncmin,nfqso,s,candidate,ncand,sbase) call sync8(dd,ifa,ifb,syncmin,nfqso,s,candidate,ncand,sbase)
call timer('sync8 ',1) call timer('sync8 ',1)
@ -139,11 +138,11 @@ contains
allmessages(ndecodes)=message allmessages(ndecodes)=message
allsnrs(ndecodes)=nsnr allsnrs(ndecodes)=nsnr
endif endif
! write(81,1004) nutc,ncand,icand,ipass,iaptype,iappass, & write(81,1004) nutc,ncand,icand,ipass,iaptype,iappass, &
! nharderrors,dmin,hd,min(sync,999.0),nint(xsnr), & nharderrors,dmin,hd,min(sync,999.0),nint(xsnr), &
! xdt,nint(f1),message xdt,nint(f1),message,iftype,nbadcrc
!1004 format(i6.6,2i4,3i2,i3,3f6.1,i4,f6.2,i5,2x,a22) 1004 format(i6.6,2i4,3i2,i3,3f6.1,i4,f6.2,i5,2x,a22,i4,i4)
! flush(81) flush(81)
if(.not.ldupe .and. associated(this%callback)) then if(.not.ldupe .and. associated(this%callback)) then
qual=1.0-(nharderrors+dmin)/60.0 ! scale qual to [0.0,1.0] qual=1.0-(nharderrors+dmin)/60.0 ! scale qual to [0.0,1.0]
call this%callback(sync,nsnr,xdt,f1,msg37,iaptype,qual) call this%callback(sync,nsnr,xdt,f1,msg37,iaptype,qual)