diff --git a/lib/fsk4hf/wspr5d.f90 b/lib/fsk4hf/wspr5d.f90 index 6597af58d..7eb776487 100644 --- a/lib/fsk4hf/wspr5d.f90 +++ b/lib/fsk4hf/wspr5d.f90 @@ -110,6 +110,7 @@ program wspr5d if(j1.gt.0) then read(10,end=999) fname,ntrmin,fMHz,c read(fname(8:11),*) nutc + write(datetime,'(i11)') nutc else if(j2.gt.0) then read(10,end=999) ihdr,iwave read(infile(j2-4:j2-1),*) nutc diff --git a/lib/fsk4hf/wspr5d_exp.f90 b/lib/fsk4hf/wspr5d_exp.f90 index 80b093b7f..b92ae8a57 100644 --- a/lib/fsk4hf/wspr5d_exp.f90 +++ b/lib/fsk4hf/wspr5d_exp.f90 @@ -99,6 +99,7 @@ program wspr5d if(j1.gt.0) then read(10,end=999) fname,ntrmin,fMHz,c read(fname(8:11),*) nutc + write(datetime,'(i11)') nutc else if(j2.gt.0) then read(10,end=999) ihdr,iwave read(infile(j2-4:j2-1),*) nutc @@ -118,7 +119,7 @@ program wspr5d !write(*,*) fc1+fc2 call downsample(c,fc1+fc2,cd) - do ncoh=0,1 + do ncoh=1,0,-1 do is=0,9 idt=is/2 if( mod(is,2).eq. 1 ) idt=-is/2 @@ -140,9 +141,6 @@ program wspr5d sbits(i+3)=r1 enddo -! ebits=hbits(1:411) -! isum=sum(id(1:205)*(2*ebits(1:409:2)-1))/2 -!write(*,*) is,isum j=1 do i=1,205 if( abs(id(i)) .ne. 2 ) then @@ -248,7 +246,6 @@ do idf=0,idfmax cmbest=cm endif enddo -!write(*,'(f10.3)') fbest end subroutine mskseqdet subroutine downsample(ci,f0,co) diff --git a/lib/fsk4hf/wspr5sim.f90 b/lib/fsk4hf/wspr5sim.f90 index ea84540ff..8741eb322 100644 --- a/lib/fsk4hf/wspr5sim.f90 +++ b/lib/fsk4hf/wspr5sim.f90 @@ -17,9 +17,9 @@ program wspr5sim ! Get command-line argument(s) nargs=iargc() - if(nargs.ne.6) then - print*,'Usage: wspr5sim "message" f0 DT nwav nfiles snr' - print*,'Example: wspr5sim "K1ABC FN42 30" 50 0.0 0 10 -33' + if(nargs.ne.8) then + print*,'Usage: wspr5sim "message" f0 DT fsp del nwav nfiles snr' + print*,'Example: wspr5sim "K1ABC FN42 30" 50 0.0 0.1 1.0 1 10 -33' go to 999 endif call getarg(1,msg) !Message to be transmitted @@ -28,10 +28,14 @@ program wspr5sim call getarg(3,arg) read(arg,*) xdt !Time offset from nominal (s) call getarg(4,arg) - read(arg,*) nwav !1 for *.wav file, 0 for *.c5 file + read(arg,*) fspread !Watterson frequency spread (Hz) call getarg(5,arg) - read(arg,*) nfiles !Number of files + read(arg,*) delay !Watterson delay (ms) call getarg(6,arg) + read(arg,*) nwav !1 for *.wav file, 0 for *.c5 file + call getarg(7,arg) + read(arg,*) nfiles !Number of files + call getarg(8,arg) read(arg,*) snrdb !SNR_2500 twopi=8.0*atan(1.0) @@ -68,6 +72,11 @@ program wspr5sim if(k.ge.0 .and. k.lt.NZ) c0(k)=cmplx(cos(xphi),sin(xphi)) enddo enddo + + if( fspread .ne. 0.0 .or. delay .ne. 0.0 ) then + call watterson(c0,NZ,fs,delay,fspread) + endif + c0=sig*c0 !Scale to requested sig level do ifile=1,nfiles