mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 20:40:28 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			666 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			666 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
| subroutine twkfreq(c3,c4,npts,fsample,a)
 | |
| 
 | |
|   ! Adjust frequency of complex data
 | |
|   ! a(1)    Hz
 | |
|   ! a(2)    Hz/(0.5*TxT), where TxT = npts/fsample = file duration
 | |
|   
 | |
|   complex c3(npts)
 | |
|   complex c4(npts)
 | |
|   complex w,wstep
 | |
|   real a(3)
 | |
|   data twopi/6.283185307/
 | |
| 
 | |
| ! Mix the complex signal
 | |
|   w=1.0
 | |
|   wstep=1.0
 | |
|   x0=0.5*(npts+1)
 | |
|   s=2.0/npts
 | |
|   do i=1,npts
 | |
|      x=s*(i-x0)
 | |
|      p2=1.5*x*x - 0.5
 | |
| !          p3=2.5*(x**3) - 1.5*x
 | |
| !          p4=4.375*(x**4) - 3.75*(x**2) + 0.375
 | |
|      dphi=(a(1) + x*a(2) + p2*a(3)) * (twopi/fsample)
 | |
|      wstep=cmplx(cos(dphi),sin(dphi))
 | |
|      w=w*wstep
 | |
|      c4(i)=w*c3(i)
 | |
|   enddo
 | |
| 
 | |
|   return
 | |
| end subroutine twkfreq
 |