diff --git a/tupak/core/utils.py b/tupak/core/utils.py
index 3dd360485f2779995f7634036f76992fb18d55e0..a9e22085540391929ffe26fd0117dc2a85462ce5 100644
--- a/tupak/core/utils.py
+++ b/tupak/core/utils.py
@@ -33,6 +33,31 @@ def get_sampling_frequency(time_series):
         return 1. / (time_series[1] - time_series[0])
 
 
+def get_sampling_frequency_and_duration_from_frequency_array(frequency_array):
+    """
+    Calculate sampling frequency and duration from a frequency array
+
+    Returns
+    -------
+    sampling_frequency, duration:
+
+    Raises
+    -------
+    ValueError: If the frequency_array is not evenly sampled.
+
+    """
+
+    tol = 1e-10
+    if np.ptp(np.diff(frequency_array)) > tol:
+        raise ValueError("Your frequency series was not evenly sampled")
+
+    number_of_frequencies = len(frequency_array)
+    delta_freq = frequency_array[1] - frequency_array[0]
+    duration = 1 / delta_freq
+    sampling_frequency = 2 * number_of_frequencies / duration
+    return sampling_frequency, duration
+
+
 def create_time_series(sampling_frequency, duration, starting_time=0.):
     """