27 lines
		
	
	
		
			550 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			27 lines
		
	
	
		
			550 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | subroutine twkfreq1(ca,npts,fsample,a,cb) | ||
|  | 
 | ||
|  |   complex ca(npts) | ||
|  |   complex cb(npts) | ||
|  |   complex w,wstep | ||
|  |   real a(5) | ||
|  |   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) + p3*a(4) + p4*a(5)) * (twopi/fsample) | ||
|  |      wstep=cmplx(cos(dphi),sin(dphi)) | ||
|  |      w=w*wstep | ||
|  |      cb(i)=w*ca(i) | ||
|  |   enddo | ||
|  | 
 | ||
|  |   return | ||
|  | end subroutine twkfreq1 |