Examples

These examples demonstrate how to use the ReSample operator.

In this example, an input audio sample is upsampled from its current sampling rate of eight samples per second to 16 samples per second:


use com.teracloud.streams.timeseries.preprocessing::ReSample;
composite Main
{
graph
stream <float64 audioSample, timestamp timestamp> 
ReadTimeSeries = FileSource(){       
	param
		file: "tsList.dat";         
		format: csv;     
	}      

stream <list<float64> outputAudioSample, 
list<timestamp> outputTimestamp>
CalculateReSample = ReSample(ReadTimeSeries){       
	window
		ReadTimeSeries: tumbling, time(50);
	param  
		inputTimeSeries: audioSample;
		samplingRate: 8u;
		newSamplingRate: 16u;
		inputTimestamp: timeStamp;
	output
		CalculateReSample:
		outputAudioSample = reSampledTimeSeries();
		outputTimestamp = reSampledTimestamps();
	}

() as writer = FileSink(CalculateReSample) {
	param
		file: "reSampleResults.dat";
		format: csv;
	}
}

The following chart illustrates an input 8-Hz time series and the output 16-Hz time series:



The following table shows the input time series and the output resampled time series data that is used for plotting the graph.