Source code for dispel.signal.vectorial

"""signal.vectorial module.

A module containing common vector operations
"""
import numpy as np
import pandas as pd


[docs] def resultant_norm_planar(comp1: pd.Series, comp2: pd.Series) -> pd.Series: """Compute the norm of the resultant of a 2-dimensional vector on a plane. The norm of the resultant of 2-components represents the magnitude of a 2-dimensional vector. Parameters ---------- comp1 The first component of the signal comp2 The second component of the signal Returns ------- pd.Series A series comprising the norm values of the resultant of 2-dimensional vectorial timeseries """ return np.sqrt(comp1**2 + comp2**2)
[docs] def mean_norm_planar(comp1: pd.Series, comp2: pd.Series) -> float: """Compute the mean norm of a 2-dimensional timeseries. The mean norm of a 2-dimensional timeseries is referred to as the Average Acceleration Amplitude eq. A2 of Martinez(2012) https://doi.org/10.1080/10255842.2011.565753 Parameters ---------- comp1 The first component of the signal comp2 The second component of the signal Returns ------- float The average value of the norm of a 2 dimensional timeseries """ return resultant_norm_planar(comp1, comp2).mean()
[docs] def rms_planar(comp1: pd.Series, comp2: pd.Series) -> float: """Compute the RMS of a 2-dimensional timeseries. The Root-Mean-Square of a 2-dimensional timeseries as presented in eq. A4 of Martinez(2012) https://doi.org/10.1080/10255842.2011.565753 Parameters ---------- comp1 The first component of the signal comp2 The second component of the signal Returns ------- float The RMS value of a 2-dimensional timeseries """ return np.sqrt(np.mean(comp1**2 + comp2**2))