code: def tdev(data, rate=1.0, data_type="phase", taus=None):
      
      phase = input_to_phase(data, rate, data_type)
      (taus, md, mde, ns) = mdev(phase, rate=rate, taus=taus)
      td = taus * md / np.sqrt(3.0)
      tde = td / np.sqrt(ns)
      return taus, td, tde, ns
docs: Time deviation.
          Based on modified Allan variance.
  
      .. math::
  
          \\sigma^2_{TDEV}( \\tau ) = { \\tau^2 \\over 3 }
          \\sigma^2_{MDEV}( \\tau )
  
      Note that TDEV has a unit of seconds.
  
      Parameters
      ----------
      data: np.array
          Input data. Provide either phase or frequency (fractional,
          adimensional).
      rate: float
          The sampling rate for data, in Hz. Defaults to 1.0
      data_type: {'phase', 'freq'}
          Data type, i.e. phase or frequency. Defaults to "phase".
      taus: np.array
          Array of tau values, in seconds, for which to compute statistic.
          Optionally set taus=["all"|"octave"|"decade"] for automatic
          tau-list generation.
  
      Returns
      -------
      (taus, tdev, tdev_error, ns): tuple
            Tuple of values
      taus: np.array
          Tau values for which td computed
      tdev: np.array
          Computed time deviations (in seconds) for each tau value
      tdev_errors: np.array
          Time deviation errors
      ns: np.array
          Values of N used in mdev_phase()
  
      Notes
      -----
      http://en.wikipedia.org/wiki/Time_deviation