Improvements to test_qra64.# Please enter the commit message for your changes. Lines starting

This commit is contained in:
Joe Taylor 2020-10-04 12:29:18 -04:00
parent 359b97f1ad
commit 95ec019da3
1 changed files with 22 additions and 24 deletions

View File

@ -33,7 +33,7 @@ program test_qra64
nsps=7680
i50=-28
ia=-24
ia=-20
ib=-33
if(nsnr.ne.0) then
ia=nsnr
@ -63,19 +63,17 @@ program test_qra64
write(*,1000) (j,j=0,11)
write(12,1000) (j,j=0,11)
1000 format(/'SNR d Dop Sync Dec1 DecN Bad',i6,11i4,' tdec dtavg dtrms'/97('-'))
1000 format(/'SNR d Dop Sync Dec Bad',i6,11i4,' tdec'/80('-'))
dterr=tsym/4.0
nferr=max(1,nint(0.5*baud))
nferr=max(1,nint(0.5*baud),nint(fdop/3.0))
ndecodes0=nfiles
do nsnr=ia,ib,-1
nsync=0
ndecodes=0
nfalse=0
nretcode=0
navg=0
sumxdt=0.
sqxdt=0.
write(cmd1(55:57),'(i3)') nsnr
call system(cmd1)
call sec0(0,tdec)
@ -89,17 +87,15 @@ program test_qra64
read(line(11:20),*) xdt,nf
irc=-1
if(line(23:23).ne.' ') read(line(45:46),*) irc
! write(71,3071) dt,xdt,abs(xdt-dt),dterr,nf0,nf,abs(nf-nf0),nferr,irc
!3071 format(4f6.2,4i5,i8)
if(abs(xdt-dt).le.dterr .and. abs(nf-nf0).le.nferr) nsync=nsync+1
if(irc.lt.0) cycle
decok=index(line,'W9XYZ').gt.0
if((abs(xdt-dt).le.dterr .and. abs(nf-nf0).le.nferr) .or. decok) then
nsync=nsync+1
endif
if(irc.lt.0) cycle
if(decok) then
i=irc
if(i.le.11) then
ndecodes=ndecodes + 1
sumxdt=sumxdt + xdt
sqxdt=sqxdt + xdt*xdt
navg=navg + 1
else
i=mod(i,10)
@ -110,22 +106,24 @@ program test_qra64
nfalse=nfalse + 1
print*,'False: ',line
endif
enddo
enddo ! iline
10 close(10)
xdt_avg=0.
xdt_rms=0.
if(ndecodes.ge.2) then
xdt_avg=sumxdt/ndecodes
xdt_rms=sqxdt/(ndecodes-1) - xdt_avg*xdt_avg
write(*,1100) nsnr,ndepth,fDop,nsync,ndecodes,nfalse,nretcode, &
tdec/nfiles
write(12,1100) nsnr,ndepth,fDop,nsync,ndecodes,nfalse,nretcode, &
tdec/nfiles
1100 format(i3,i2,f5.1,2i5,i4,i6,11i4,f6.2)
if(ndecodes.lt.nfiles/2 .and. ndecodes0.ge.nfiles/2) then
snr_thresh=nsnr + float(nfiles/2 - ndecodes)/(ndecodes0-ndecodes)
write(13,1200) ndepth,fdop,csubmode,snr_thresh
1200 format(i1,f6.1,2x,a1,f7.1)
flush(13)
endif
write(*,1100) nsnr,ndepth,fDop,nsync,ndecodes,navg,nfalse,nretcode, &
tdec/nfiles,xdt_avg,xdt_rms
write(12,1100) nsnr,ndepth,fDop,nsync,ndecodes,navg,nfalse,nretcode, &
tdec/nfiles,xdt_avg,xdt_rms
1100 format(i3,i2,f5.1,3i5,i4,i6,11i4,3f6.2)
flush(6)
flush(12)
enddo
if(ndecodes.eq.0) exit !Bail out if no decodes at this SNR
ndecodes0=ndecodes
enddo ! nsnr
999 end program test_qra64