Source code for tftb.processing.time_domain

import numpy as np


[docs]def loctime(sig): """ Compute the time localization characteristics. :param sig: input signal :type sig: numpy.ndarray :return: Average time center and time spreading :rtype: tuple :Example: >>> from tftb.generators import amgauss >>> x = amgauss(160, 80.0, 50.0) >>> tm, T = loctime(x) >>> print("%.2f" % tm) 79.00 >>> print("%.2f" % T) 50.00 """ if sig.ndim > 2: if 1 not in sig.shape: raise TypeError else: sig = sig.ravel() sig2 = np.abs(sig**2) sig2 = sig2 / sig2.mean() t = np.arange(len(sig)) tm = np.mean(t * sig2) T = 2 * np.sqrt(np.pi * np.mean(((t - tm)**2) * sig2)) return tm, T