From fb19d27602b5e05d9d8d4552f6bbf0dc2c8c32f9 Mon Sep 17 00:00:00 2001 From: Joe Taylor <joe@princeton.edu> Date: Mon, 19 Feb 2024 13:23:42 -0500 Subject: [PATCH] Compute signal power, noise power, and SNR_2500 explicitly in ft8sim.f90. --- lib/ft8/ft8sim.f90 | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/ft8/ft8sim.f90 b/lib/ft8/ft8sim.f90 index fd18dff4f..5943bd082 100644 --- a/lib/ft8/ft8sim.f90 +++ b/lib/ft8/ft8sim.f90 @@ -101,14 +101,24 @@ program ft8sim_gfsk wave=imag(c) peak=maxval(abs(wave)) nslots=1 - + + psig=0. + pnoise=0. if(snrdb.lt.90) then do i=1,NMAX !Add gaussian noise at specified SNR xnoise=gran() + if(i.ge.6001 .and. i.le.157692) then + psig=psig + wave(i)*wave(i) !Signal power + pnoise=pnoise + xnoise*xnoise !Noise power in signal interval + endif wave(i)=wave(i) + xnoise enddo endif +! Noise power in signal interval and 2500 Hz bandwidth: + pnoise=bandwidth_ratio*pnoise + snr_2500=db(psig/pnoise) !SNR in 2500 Hz bandwidth + gain=100.0 if(snrdb.lt.90.0) then wave=gain*wave @@ -125,7 +135,7 @@ program ft8sim_gfsk open(10,file=fname,status='unknown',access='stream') write(10) h,iwave !Save to *.wav file close(10) - write(*,1110) ifile,xdt,f0,snrdb,fname -1110 format(i4,f7.2,f8.2,f7.1,2x,a17) + write(*,1110) ifile,xdt,f0,snrdb,fname,snr_2500 +1110 format(i4,f7.2,f8.2,f7.1,2x,a17,f8.2) enddo 999 end program ft8sim_gfsk