diff --git a/lib/qra/q65/q65sim.f90 b/lib/qra/q65/q65sim.f90 index b2b119e56..61b36b0d8 100644 --- a/lib/qra/q65/q65sim.f90 +++ b/lib/qra/q65/q65sim.f90 @@ -9,11 +9,13 @@ program q65sim integer*2 iwave(NMAX) !Generated waveform integer itone(85) !Channel symbols (values 0-65) integer y(63) !Codeword - integer ifilenum(1) !new period lenth adjusted filenumber to work with averaging + integer istart !averaging compatible start seconds + integer imins !minutes for 15s period timestamp + integer isecs !seconds for 15s period timestamp real*4 xnoise(NMAX) !Generated random noise real*4 dat(NMAX) !Generated real data complex cdat(NMAX) !Generated complex waveform - complex cspread(0:NMAX-1) !Complex amplitude for Rayleigh fading + complex cspread(0:NMAX-1) !Complex amplitude for Rayleigh fading complex z real*8 f0,dt,twopi,phi,dphi,baud,fsample,freq character msg*37,fname*17,csubmode*1,arg*12 @@ -27,7 +29,7 @@ program q65sim print*,' f1 = Drift or Doppler rate (Hz/min)' print*,' Stp = Step size (Hz)' print*,' Stp = 0 implies no Doppler tracking' - print*,' Modified version for timestamp incrementing for 30-300s periods' + print*,' Creates filenames which increment to permit averaging in first period' go to 999 endif call getarg(1,msg) @@ -96,15 +98,17 @@ program q65sim h=default_header(12000,npts) write(*,1004) -1004 format('File TR Freq Mode S/N Dop DT f1 Stp Message'/70('-')) +1004 format('File TR Freq Mode S/N Dop DT f1 Stp Message'/70('-')) do ifile=1,nfiles !Loop over requested number of files - ifilenum = (ifile*ntrperiod/30) - (ntrperiod/30) - if(ntrperiod.lt.30) then !wdg was 60 - write(fname,1005) ifile !Output filename -1005 format('000000_',i6.6,'.wav') + istart = (ifile*ntrperiod*2) - (ntrperiod*2) + if(ntrperiod.lt.30) then !wdg was 60 + imins=istart/60 + isecs=istart-(60*imins) + write(fname,1005) imins,isecs !Construction of output filename for 15s periods with averaging +1005 format('000000_',i4.4, i2.2,'.wav') else - write(fname,1106) ifilenum !Output filename to be compatible with averaging + write(fname,1106) istart/60 !Output filename to be compatible with averaging 30-300s periods 1106 format('000000_',i4.4,'.wav') endif @@ -121,7 +125,7 @@ program q65sim sig=sqrt(2*bandwidth_ratio)*10.0**(0.05*snrdb) if(snrdb.gt.90.0) sig=1.0 write(*,1020) ifile,ntrperiod,f0,csubmode,snrdb,fspread,xdt,f1,nstp,trim(msgsent) -1020 format(i4,i6,f7.1,2x,a1,2x,f5.1,f6.2,2f6.1,i4,2x,a) +1020 format(i4,i6,f7.1,2x,a1,2x,f5.1,1x,f6.2,2f6.1,i4,2x,a) phi=0.d0 dphi=0.d0 k=(xdt+0.5)*12000 !Start audio at t=xdt+0.5 s (TR=15 and 30 s)