docs: def butterworth_filter(Signal, SampleFreq, lowerFreq, upperFreq):
      """
      Filters data using by constructing a 5th order butterworth
      IIR filter and using scipy.signal.filtfilt, which does
      phase correction after implementing the filter (as IIR 
      filter apply a phase change)
  
      Parameters
      ----------
      Signal : ndarray
          Signal to be filtered
      SampleFreq : float
          Sample frequency of signal
      lowerFreq : float
          Lower frequency of bandpass to allow through filter
      upperFreq : float
         Upper frequency of bandpass to allow through filter
  
      Returns
      -------
      FilteredData : ndarray
          Array containing the filtered data
      """
      b, a = make_butterworth_b_a(lowerFreq, upperFreq, SampleFreq)
      FilteredSignal = scipy.signal.filtfilt(b, a, Signal)
      return _np.real(FilteredSignal)