Tweaking SNR readings for QRA64.

git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@7371 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
Joe Taylor 2016-12-08 16:21:04 +00:00
parent 82ecc6afcf
commit f78714707d
2 changed files with 14 additions and 14 deletions

View File

@ -24,10 +24,11 @@ subroutine qra64a(dd,npts,nutc,nf1,nf2,nfqso,ntol,mode64,minsync,ndepth, &
save
call timer('qra64a ',0)
if(nfqso.lt.nf1 .or. nfqso.gt.nf2) go to 900
irc=-1
decoded=' '
nft=99
nsnr=-30
if(nfqso.lt.nf1 .or. nfqso.gt.nf2) go to 900
mycall=mycall_12(1:6) !### May need fixing ###
hiscall=hiscall_12(1:6)
hisgrid=hisgrid_6(1:4)
@ -95,7 +96,7 @@ subroutine qra64a(dd,npts,nutc,nf1,nf2,nfqso,ntol,mode64,minsync,ndepth, &
call qra64_dec(s3,nc1,nc2,ng2,naptype,0,nSubmode,b90, &
nFadingModel,dat4,snr2,irc)
call timer('qra64_de',1)
if(abs(snr2).gt.30.) snr2=-30.0
! if(abs(snr2).gt.30.) snr2=-30.0
if(irc.eq.0) go to 10
if(irc.gt.0) call badmsg(irc,dat4,nc1,nc2,ng2)
iirc=max(0,min(irc,11))
@ -137,17 +138,16 @@ subroutine qra64a(dd,npts,nutc,nf1,nf2,nfqso,ntol,mode64,minsync,ndepth, &
else
snr2=0.
endif
if(irc.lt.0) then
sy=max(1.0,sync-2.5)
if(nSubmode.eq.0) nsnr=nint(10.0*log10(sy)-38.0) !A
if(nSubmode.eq.1) nsnr=nint(10.0*log10(sy)-36.0) !B
if(nSubmode.eq.2) nsnr=nint(10.0*log10(sy)-34.0) !C
900 if(irc.lt.0) then
sy=max(1.0,sync)
if(nSubmode.eq.0) nsnr=nint(10.0*log10(sy)-35.0) !A
if(nSubmode.eq.1) nsnr=nint(10.0*log10(sy)-34.0) !B
if(nSubmode.eq.2) nsnr=nint(10.0*log10(sy)-29.0) !C
if(nSubmode.eq.3) nsnr=nint(10.0*log10(sy)-29.0) !D
if(nSubmode.eq.4) nsnr=nint(10.0*log10(sy)-24.0) !E
endif
900 call timer('qra64a ',1)
call timer('qra64a ',1)
return
end subroutine qra64a

View File

@ -3,7 +3,7 @@ program qratest
parameter (NMAX=60*12000)
real dd(NMAX)
character arg*8,mycall*12,hiscall*12,hisgrid*6,decoded*22
character c*1,label*3
character c*1
nargs=iargc()
if(nargs.lt.1 .or. nargs.gt.4) then
@ -44,8 +44,8 @@ program qratest
if(mode64.eq.4) c='c'
if(mode64.eq.8) c='d'
if(mode64.eq.16) c='e'
write(*,1000) ifile,c,nutc,nsnr,dtx,nfreq,decoded,nft-100
1000 format(i4,1x,a1,1x,i4.4,i4,f6.2,i5,1x,a22,i3)
write(*,1000) ifile,c,nutc,nsnr,dtx,nfreq,decoded,nft-100,sync-3.4
1000 format(i4,1x,a1,1x,i4.4,i4,f6.2,i5,1x,a22,i3,f6.2)
if(ifile.eq.nfile) exit
enddo