code: def filter_signal(self, data_frame, ts='mag_sum_acc'):
          
          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
docs: 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