mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	Allow optional frequency drift of simulated Q65 signals.
This commit is contained in:
		
							parent
							
								
									e5a8e80c49
								
							
						
					
					
						commit
						bc58604d42
					
				| @ -15,13 +15,14 @@ program q65sim | |||||||
|   complex cspread(0:NMAX-1)              !Complex amplitude for Rayleigh fading |   complex cspread(0:NMAX-1)              !Complex amplitude for Rayleigh fading | ||||||
|   complex z |   complex z | ||||||
|   real*8 f0,dt,twopi,phi,dphi,baud,fsample,freq |   real*8 f0,dt,twopi,phi,dphi,baud,fsample,freq | ||||||
|   character msg*37,fname*17,csubmode*1,arg*12,cd*1 |   character msg*37,fname*17,csubmode*1,arg*12 | ||||||
|   character msgsent*37 |   character msgsent*37 | ||||||
|    |    | ||||||
|   nargs=iargc() |   nargs=iargc() | ||||||
|   if(nargs.ne.8) then |   if(nargs.ne.9) then | ||||||
|      print *, 'Usage:   q65sim         "msg"     A-E freq fDop DT TRp Nfiles SNR' |      print*,'Usage:   q65sim         "msg"     A-E freq fDop DT  f1 TRp Nfile SNR' | ||||||
|      print *, 'Example: q65sim "K1ABC W9XYZ EN37" A  1500 0.0 0.0  60   1    -26' |      print*,'Example: q65sim "K1ABC W9XYZ EN37" A  1500 0.0 0.0 0.0  60   1   -26' | ||||||
|  |      print*,'         fDop is Doppler spread; f1 is drift rate (Hz/min)' | ||||||
|      go to 999 |      go to 999 | ||||||
|   endif |   endif | ||||||
|   call getarg(1,msg) |   call getarg(1,msg) | ||||||
| @ -34,10 +35,12 @@ program q65sim | |||||||
|   call getarg(5,arg) |   call getarg(5,arg) | ||||||
|   read(arg,*) xdt |   read(arg,*) xdt | ||||||
|   call getarg(6,arg) |   call getarg(6,arg) | ||||||
|   read(arg,*) ntrperiod |   read(arg,*) f1 | ||||||
|   call getarg(7,arg) |   call getarg(7,arg) | ||||||
|   read(arg,*) nfiles |   read(arg,*) ntrperiod | ||||||
|   call getarg(8,arg) |   call getarg(8,arg) | ||||||
|  |   read(arg,*) nfiles | ||||||
|  |   call getarg(9,arg) | ||||||
|   read(arg,*) snrdb |   read(arg,*) snrdb | ||||||
| 
 | 
 | ||||||
|   if(ntrperiod.eq.15) then |   if(ntrperiod.eq.15) then | ||||||
| @ -86,7 +89,7 @@ program q65sim | |||||||
|   h=default_header(12000,npts) |   h=default_header(12000,npts) | ||||||
| 
 | 
 | ||||||
|   write(*,1004)  |   write(*,1004)  | ||||||
| 1004 format('File    TR   Freq Mode  S/N   DT    Dop  Message'/60('-')) | 1004 format('File    TR   Freq Mode  S/N   Dop    DT   f1   Message'/66('-')) | ||||||
| 
 | 
 | ||||||
|   do ifile=1,nfiles                  !Loop over requested number of files |   do ifile=1,nfiles                  !Loop over requested number of files | ||||||
|      if(ntrperiod.lt.60) then |      if(ntrperiod.lt.60) then | ||||||
| @ -109,8 +112,8 @@ program q65sim | |||||||
|      bandwidth_ratio=2500.0/6000.0 |      bandwidth_ratio=2500.0/6000.0 | ||||||
|      sig=sqrt(2*bandwidth_ratio)*10.0**(0.05*snrdb) |      sig=sqrt(2*bandwidth_ratio)*10.0**(0.05*snrdb) | ||||||
|      if(snrdb.gt.90.0) sig=1.0 |      if(snrdb.gt.90.0) sig=1.0 | ||||||
|      write(*,1020) ifile,ntrperiod,f0,csubmode,snrdb,xdt,fspread,trim(msgsent) |      write(*,1020) ifile,ntrperiod,f0,csubmode,snrdb,fspread,xdt,f1,trim(msgsent) | ||||||
| 1020    format(i4,i6,f7.1,2x,a1,2x,f5.1,f6.2,f6.1,2x,a) | 1020    format(i4,i6,f7.1,2x,a1,2x,f5.1,f6.2,2f6.1,2x,a) | ||||||
|      phi=0.d0 |      phi=0.d0 | ||||||
|      dphi=0.d0 |      dphi=0.d0 | ||||||
|      k=(xdt+0.5)*12000                   !Start audio at t=xdt+0.5 s (TR=15 and 30 s) |      k=(xdt+0.5)*12000                   !Start audio at t=xdt+0.5 s (TR=15 and 30 s) | ||||||
| @ -120,7 +123,8 @@ program q65sim | |||||||
|         isym=i/nsps + 1 |         isym=i/nsps + 1 | ||||||
|         if(isym.gt.nsym) exit |         if(isym.gt.nsym) exit | ||||||
|         if(isym.ne.isym0) then |         if(isym.ne.isym0) then | ||||||
|            freq=f0 + itone(isym)*baud*mode65 | !                                                Drift term | ||||||
|  |            freq = f0 + itone(isym)*baud*mode65 + f1*i*dt/60.0 | ||||||
|            dphi=twopi*freq*dt |            dphi=twopi*freq*dt | ||||||
|            isym0=isym |            isym0=isym | ||||||
|         endif |         endif | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user