def filter_signal(self, data_frame, ts='mag_sum_acc'):
        """
            This method filters a data frame signal as suggested in :cite:`Kassavetis2015`. First step is to high \
            pass filter the data frame using a \
            `Butterworth <https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.signal.butter.html>`_ \
            digital and analog filter. Then this method
            filters the data frame along one-dimension using a \
            `digital filter <https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.lfilter.html>`_.

            :param data_frame: the input data frame
            :type data_frame: pandas.DataFrame
            :param ts: time series name of data frame to filter
            :type ts: str
            :return data_frame: adds a column named 'filtered_signal' to the data frame
            :rtype data_frame: pandas.DataFrame
        """
        b, a = signal.butter(self.filter_order, 2*self.cutoff_frequency/self.sampling_frequency,'high', analog=False)
        filtered_signal = signal.lfilter(b, a, data_frame[ts].values)
        data_frame['filtered_signal'] = filtered_signal

        logging.debug("filter signal")
        return data_frame