28 lines
		
	
	
		
			629 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			629 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
subroutine wav11(d2,npts,dd)
 | 
						|
 | 
						|
! Convert i*2 data sampled at 12000 Hz to r*4 sampled at 11025 Hz.
 | 
						|
 | 
						|
  parameter (NZ11=60*11025,NZ12=60*12000)
 | 
						|
  parameter (NFFT1=64*12000,NFFT2=64*11025)
 | 
						|
  integer*2 d2(NZ12)
 | 
						|
  real*4 dd(NZ11)
 | 
						|
  real x(NFFT2)
 | 
						|
  complex cx(0:NFFT1/2)
 | 
						|
  equivalence (x,cx)
 | 
						|
  save x,cx
 | 
						|
 | 
						|
  jz=min(NZ12,npts)
 | 
						|
  x(1:jz)=d2(1:jz)
 | 
						|
  x(jz+1:)=0.0
 | 
						|
  call four2a(x,nfft1,1,-1,0)                    !Forward FFT, r2c
 | 
						|
  df=12000.0/NFFT1
 | 
						|
  ia=5000.0/df
 | 
						|
  cx(ia:)=0.0
 | 
						|
  call four2a(cx,nfft2,1,1,-1)                   !Inverse FFT, c2r
 | 
						|
  npts=jz*11025.0/12000.0
 | 
						|
  fac=1.e-6
 | 
						|
  dd(1:npts)=fac*x(1:npts)
 | 
						|
 | 
						|
  return
 | 
						|
end subroutine wav11
 |