2021-02-01 13:28:59 -05:00
|
|
|
subroutine ana64(iwave,npts,c0)
|
2016-12-15 13:42:33 -05:00
|
|
|
|
|
|
|
use timer_module, only: timer
|
|
|
|
|
2021-02-01 13:28:59 -05:00
|
|
|
integer*2 iwave(npts) !Raw data at 12000 Hz
|
2020-10-22 15:56:20 -04:00
|
|
|
complex c0(0:npts-1) !Complex data at 6000 Hz
|
2016-12-15 13:42:33 -05:00
|
|
|
save
|
|
|
|
|
2020-10-22 15:56:20 -04:00
|
|
|
nfft1=npts
|
2016-12-15 13:42:33 -05:00
|
|
|
nfft2=nfft1/2
|
|
|
|
df1=12000.0/nfft1
|
2021-02-01 13:28:59 -05:00
|
|
|
fac=2.0/(32767.0*nfft1)
|
|
|
|
c0(0:npts-1)=fac*iwave(1:npts)
|
2016-12-15 13:42:33 -05:00
|
|
|
call four2a(c0,nfft1,1,-1,1) !Forward c2c FFT
|
2020-10-22 15:56:20 -04:00
|
|
|
c0(nfft2/2+1:nfft2-1)=0.
|
2016-12-15 13:42:33 -05:00
|
|
|
c0(0)=0.5*c0(0)
|
|
|
|
call four2a(c0,nfft2,1,1,1) !Inverse c2c FFT; c0 is analytic sig
|
|
|
|
|
|
|
|
return
|
|
|
|
end subroutine ana64
|