Allow input of fractional SNR to test_q65.

This commit is contained in:
Joe Taylor 2020-11-19 13:45:16 -05:00
parent d26acd048c
commit 44343d87f6

View File

@ -1,6 +1,6 @@
program test_q65
character*73 cmd1,cmd2,line
character*75 cmd1,cmd2,line
character*22 msg
character*8 arg
character*1 csubmode
@ -34,7 +34,7 @@ program test_q65
call getarg(9,arg)
read(arg,*) nfiles
call getarg(10,arg)
read(arg,*) nsnr
read(arg,*) snr
if(ntrperiod.eq.15) then
nsps=1800
@ -56,17 +56,17 @@ program test_q65
endif
ia=i50 + 8
ib=i50 - 5
if(nsnr.ne.0) then
ia=nsnr
ib=nsnr
if(snr.ne.0.0) then
ia=99
ib=99
endif
baud=12000.0/nsps
tsym=1.0/baud
! 1 2 3 4 5 6 7
! 1234567890123456789012345678901234567890123456789012345678901234567890123'
cmd1='q65sim "K1ABC W9XYZ EN37 " A 1500 5.0 0.0 60 100 F -10 > junk0'
! 123456789012345678901234567890123456789012345678901234567890123456789012345'
cmd1='q65sim "K1ABC W9XYZ EN37 " A 1500 5.0 0.0 60 100 F -10.0 > junk0'
cmd2='jt9 -3 -p 15 -L 300 -H 3000 -d 3 -b A -Q 3 *.wav > junk'
write(cmd1(10:33),'(a)') '"'//msg//'"'
@ -91,19 +91,21 @@ program test_q65
write(*,1010) (j,j=0,6)
write(12,1010) (j,j=0,6)
1010 format('SNR d Dop Sync DecN Dec1 Bad',i6,6i4,' tdec'/66('-'))
1010 format(' SNR d Dop Sync DecN Dec1 Bad',i6,6i4,' tdec'/68('-'))
dterr=tsym/4.0
nferr=max(1,nint(0.5*baud),nint(fdop/3.0))
ndec10=nfiles
do nsnr=ia,ib,-1
snr1=nsnr
if(ia.eq.99) snr1=snr
nsync=0
ndec1=0
nfalse=0
naptype=0
ndecn=0
write(cmd1(63:65),'(i3)') nsnr
write(cmd1(63:67),'(f5.1)') snr1
call system(cmd1)
call sec0(0,tdec)
call system(cmd2)
@ -136,13 +138,13 @@ program test_q65
10 close(10)
xdt_avg=0.
xdt_rms=0.
write(*,1100) nsnr,ndepth,fDop,nsync,ndecn,ndec1,nfalse,naptype, &
write(*,1100) snr1,ndepth,fDop,nsync,ndecn,ndec1,nfalse,naptype, &
tdec/nfiles
write(12,1100) nsnr,ndepth,fDop,nsync,ndecn,ndec1,nfalse,naptype, &
write(12,1100) snr1,ndepth,fDop,nsync,ndecn,ndec1,nfalse,naptype, &
tdec/nfiles
1100 format(i3,i3,f5.1,3i5,i4,i6,6i4,f6.2)
1100 format(f5.1,i3,f5.1,3i5,i4,i6,6i4,f6.2)
if(ndec1.lt.nfiles/2 .and. ndec10.ge.nfiles/2) then
snr_thresh=nsnr + float(nfiles/2 - ndec1)/(ndec10-ndec1)
snr_thresh=snr1 + float(nfiles/2 - ndec1)/(ndec10-ndec1)
write(13,1200) ndepth,fdop,csubmode,snr_thresh
1200 format(i3,f6.1,2x,a1,f7.1)
flush(13)