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
							 |