MathEngine®

Unlock the Power of Your Data

MathEngine gives you the tools to get the information you need from your data. With many ways to process, analyze, and monitor your data, as well as a team that will work with you and your needs, MathEngine will take you beyond data collection to an intelligent data solution.

$50 /month

for your entire SensorCloud account

Easily filter out selected frequencies.

MathEngine provides multiple ways for you to analyze your data. The first is a set of tools that is accessed from the FastGraph interface. This allows you to easily process your data on the fly as you are viewing it. You can generate FFT plots, filter out frequencies, and smooth out noisy data, among other things, to get a better understanding of what your data means. When appropriate, these tools will automatically create a new output channel in the FastGraph viewer. This greatly improves iterative analysis by allowing you to immediately compare the input and output channels.


This tool set also allows you to generate plots from your data. These plots allow you to visualize and understand your data outside of the time series graph. Fast Fourier Transform and Power Spectral Density plots allow you to isolate key frequencies and harmonics picked up by your sensors. A waterfall FFT plot allows you to view frequency changes over time as elements of your system change. Histograms generate a simple visualization of your data set, making it simple to see where the average values and peaks of your data lie.


Notebooks


MathEngine also integrates IPython Notebooks into its cloud service. These Notebooks allow you to write custom Python scripts to process your data, all on the Cloud.


You can utilize the powerful Scipy and Numpy libraries to perform complex mathematics, process digital signals, and generate statistical data.


With Matplotlib you can create a wide range of 2d and 3d plots to visualize your data in a meaningful way. By adding titles and text between code blocks, you can create a full report that can be downloaded and shared.


Example Notebook

Pull your data down from the Cloud

In [1]:
import MathEngine
from matplotlib.pyplot import plot

deviceSerial = 'YourDeviceSerial'
inSensor     = 'sensor1'
inChannel    = 'channel1'

repo = TimeSeriesRepo(deviceSerial)

inSeries = repo.getAllTimeSeries( inSensor, inChannel, startTime = 1378334486189250000 )[0]
data = inSeries.getData()
print len(data), 'Points'

# Slice out the points you want to look at
data = data[:60000]
96082 Points

Generate an FFT plot

Find the value at specific frequencies

In [2]:
fft, freq = MathEngine.FFT(data, inSeries.getSampleRate(), xMin=6, xMax=12)
plot(freq, fft)

Generate a Waterfall FFT plot

Watch frequency values change over time

In [4]:
fig = plt.figure()

MathEngine.waterfallFFT(fig, data[:60000], inSeries.getSampleRate(), segments=10, xMax=12)