beautypg.com

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

Page 200

background image

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