Examples
These examples demonstrate how to use the FFT operator.
The following example computes the spectrogram of a time series by using the FFT operator:
use com.teracloud.streams.timeseries.analysis::FFT;
composite Main {
graph
//Compute the spectogram spectrum
stream<list<float64> magnitude> spectogramStream=FFT(sineStream)
{
window
sineStream: sliding, count(128), count(10);
param
inputTimeSeries: sine;
useHamming: true;
resolution: 128u;
algorithm: complextFFT;
output
spectogramStream:
magnitude=magnitude();
}
}
The following example returns FFT values as list of complex64 data types.
composite Main
{
type
ecgRawInput = tuple<float64 patientId, float64 ecgValue>;
fftResult = tuple<list<complex64> fft, list<float64> magnitude, list<float64> pow-er>;
graph
stream <float64 id, list<float64> ecgValue> EcgRawInputRecord = FileSource()
{
param
file : "ts.csv";
format : csv;
}
stream<fftResult> FftResultRecord = FFT(EcgRawInputRecord)
{
param
inputTimeSeries : ecgValue;
useHamming : false;
algorithm : complexFFT;
output FftResultRecord :
fft = FFTAsComplex(), magnitude = magnitude(), power = power();
}
() as PowerSink = FileSink(FftResultRecord)
{
param
file: "FFT-power.csv";
format: csv;
}
}