Fix up ft8sim so that it prints a warning when SNR is set too high so that data will be clipped.

This commit is contained in:
Steve Franke 2018-12-07 11:10:25 -06:00
parent e3daedef92
commit dfceef3662
1 changed files with 10 additions and 5 deletions

View File

@ -108,7 +108,6 @@ program ft8sim
ib=k ib=k
wave=real(c) wave=real(c)
peak=maxval(abs(wave(ia:ib))) peak=maxval(abs(wave(ia:ib)))
rms=sqrt(dot_product(wave(ia:ib),wave(ia:ib))/NWAVE)
nslots=1 nslots=1
if(width.gt.0.0) call filt8(f0,nslots,width,wave) if(width.gt.0.0) call filt8(f0,nslots,width,wave)
@ -119,10 +118,16 @@ program ft8sim
enddo enddo
endif endif
fac=32767.0 gain=100.0
rms=100.0 if(snrdb.lt.90.0) then
if(snrdb.ge.90.0) iwave(1:NMAX)=nint(fac*wave) wave=gain*wave
if(snrdb.lt.90.0) iwave(1:NMAX)=nint(rms*wave) else
datpk=maxval(abs(wave))
fac=32766.9/datpk
wave=fac*wave
endif
if(any(abs(wave).gt.32767.0)) print*,"Warning - data will be clipped."
iwave=nint(wave)
h=default_header(12000,NMAX) h=default_header(12000,NMAX)
write(fname,1102) ifile write(fname,1102) ifile