# Data processing

The Multi Channel oscilloscope software has a modular structure, with Sources, I/Os and Sinks.

## Sources

Sources are modules that only generate data. The channels of instruments that are connected to the computer can be used as source, they generate the data that is measured by the hardware. The other source that is available is the software generator, which can create various signals from software that can be used in combination with measured signals.

## Sinks

Sinks are modules that only accept data. Typical sinks are e.g. graphs and meters, they accept data and display it. Other sinks are the disk writer, to store data to disk and the sound sink, to make data audible through the sound system of the computer.

## I/Os

I/Os are modules that accept data (Input), process this data in a specific way and then generate the processed data (Output). Data that is generated by an I/O can be used as input for a Sink or for another I/O. Multiple different I/Os can be chained to each other to perform a complex operation on the data. The Multi Channel oscilloscope software has many different I/Os to process data in a specific way. There are I/Os in several categories:

### Basic math

These I/Os perform a basic mathematical operation on one or more signals:

I/O function
Multiply/Divide Multiply or divide up to 32 signals
SQRT Calculate the square root of a signal
ABS Determine the absolute value of a signal
Differentiate Differentiate a signal
Integrate Integrate a signal
Log Calculate the logarithm of a signal

### More complex math

These I/Os perform a more complex mathematical operation on a signal or consecutive signals:

I/O function
Gain/Offset Apply gain and/or offset to a signal
Average Outputs the average of n measurements
Low-pass filter First order low-pass filter
Min/Max detector Peak detection with optional fall-off
Limiter Clip the input signal between a minimum and maximum limit
Resampler Changes record length and sampling frequency of an input
Data collector Appends small chunks of data to one big record

### Analyzing I/Os

These I/Os analyze the input data and extract specific information from it.

I/O function
FFT Perform a Fast Fourier Transform (Spectrum analyzer)
Duty cycle Determines duty cycle percentage
RPM Converts a crankshaft sensor signal into Revolutions Per Minute
Pulse decoder Decodes the A and B signal from a quadrature encoder to position
CAN analyzer Decodes data on a CAN bus

## Using sources, sinks and I/Os

All measurement setups in the Multi Channel oscilloscope software are built from one or more sources, I/Os and sinks. These are simply connected to each other by dragging and dropping. Multiple I/Os can be used to form complex mathematical operations.

In the image above, three I/Os are used to determine the area that is enclosed by two signals in XY mode.

Continue reading: 5. Spectrum analyzer Content