2016-12-15 18:42:33 +00:00
|
|
|
subroutine ana64(dd,npts,c0)
|
|
|
|
|
|
|
|
use timer_module, only: timer
|
|
|
|
|
|
|
|
parameter (NMAX=60*12000) !Max size of raw data at 12000 Hz
|
|
|
|
real dd(NMAX) !Raw data
|
|
|
|
complex c0(0:720000) !Complex spectrum of dd()
|
|
|
|
save
|
|
|
|
|
2020-10-08 16:48:11 -04:00
|
|
|
! nfft1=672000
|
|
|
|
nfft1=720000
|
2016-12-15 18:42:33 +00:00
|
|
|
nfft2=nfft1/2
|
|
|
|
df1=12000.0/nfft1
|
|
|
|
fac=2.0/nfft1
|
|
|
|
c0(0:npts-1)=fac*dd(1:npts)
|
|
|
|
c0(npts:nfft1)=0.
|
|
|
|
call four2a(c0,nfft1,1,-1,1) !Forward c2c FFT
|
|
|
|
c0(nfft2/2+1:nfft2)=0.
|
|
|
|
c0(0)=0.5*c0(0)
|
|
|
|
call four2a(c0,nfft2,1,1,1) !Inverse c2c FFT; c0 is analytic sig
|
|
|
|
|
|
|
|
return
|
|
|
|
end subroutine ana64
|