# Operations on Signals#

This section describes the operations that can be performed on signals.

See also

Processing Signals for more information on signal processing features, or Analysis features on Signals for information on analysis features on signals.

When the āSignal Panelā is selected, the menus and toolbars are updated to provide signal-related actions.

The āOperationsā menu allows you to perform various operations on the selected signals, such as arithmetic operations, peak detection, or convolution.

## Basic arithmetic operations#

Operation |
Description |
---|---|

Sum |
\(y_{M} = \sum_{k=0}^{M-1}{y_{k}}\) |

Average |
\(y_{M} = \dfrac{1}{M}\sum_{k=0}^{M-1}{y_{k}}\) |

Difference |
\(y_{2} = y_{1} - y_{0}\) |

Product |
\(y_{M} = \prod_{k=0}^{M-1}{y_{k}}\) |

Division |
\(y_{2} = \dfrac{y_{1}}{y_{0}}\) |

## Operations with a constant#

Create a new signal which is the result of a constant operation on each selected signal:

Operation |
Description |
---|---|

Addition |
\(y_{k} = y_{k-1} + c\) |

Subtraction |
\(y_{k} = y_{k-1} - c\) |

Multiplication |
\(y_{k} = y_{k-1} \times c\) |

Division |
\(y_{k} = \dfrac{y_{k-1}}{c}\) |

## Real and imaginary parts#

Operation |
Description |
---|---|

Absolute value |
\(y_{k} = |y_{k-1}|\) |

Real part |
\(y_{k} = \Re(y_{k-1})\) |

Imaginary part |
\(y_{k} = \Im(y_{k-1})\) |

## Data type conversion#

The āConvert data typeā action allows you to convert the data type of the selected signals.

Note

Data type conversion relies on `numpy.ndarray.astype()`

function with
the default parameters (casting=āunsafeā).

## Basic mathematical functions#

Function |
Description |
---|---|

Exponential |
\(y_{k} = \exp(y_{k-1})\) |

Logarithm (base 10) |
\(y_{k} = \log_{10}(y_{k-1})\) |

Power |
\(y_{k} = y_{k-1}^{n}\) |

Square root |
\(y_{k} = \sqrt{y_{k-1}}\) |

## Other mathematical operations#

Operation |
Implementation |
---|---|

Derivative |
Based on numpy.gradient |

Integral |
Based on scipy.integrate.cumulative_trapezoid |

Convolution |
Based on scipy.signal.convolve |