Fft example – Campbell Scientific CR9000X Measurement and Control System User Manual
Page 200

Section 6. Data Table Declarations and Output Processing Instructions
FFT Example
Const Size_FFT 16
Const PI 3.141592
Const CycleperT 2
Const Amplitude 3
Const DC 7
Const Opt_FFT 0
Dim i
Public x(SIZE_FFT),y(SIZE_FFT)
DataTable(Amp,1,1)
'Amplitude Spectrum
FFT
(x,fp2,SIZE_FFT,10 msec,1)
EndTable
DataTable(AmpPhase,1,1)
'Amplitude & Phase Spectrum
FFT
(x,fp2,SIZE_FFT,10 msec,2)
EndTable
DataTable(power,1,1)
'Power Spectrum
FFT
(x,fp2,SIZE_FFT,10 msec,3)
EndTable
DataTable(PSD,1,1)
'Power Spectral Density
FFT
(x,fp2,SIZE_FFT,10 msec,4)
EndTable
DataTable(FFT,1,1)
'Real & Imaginary
FFT
(x,IEEE4,SIZE_FFT,10 msec,0)
EndTable
DataTable(IFFT,1,1)
'inverse FFT
FFT
(y,IEEE4,SIZE_FFT,10 msec,5)
EndTable
BeginProg
Scan(10, msec,0,SIZE_FFT)
i=i+1
X(i) = DC + Sin(PI/8+2*PI*CYCLESperT*i/SIZE_FFT) *
AMPLITUDE + Sin(PI/2+PI*i)
Next Scan
CallTable(Amp)
CallTable(AmpPhase)
CallTable(Power)
CallTable(PSD)
CallTable(FFT)
for i = 1 to SIZE_FFT
' get result back into y()
y(i) = FFT.x_fft(i,1)
next
CallTable(IFFT) ' i
nverse, result is the same as x()
EndProg
6-16