title: Python High Pass Filter
body: <p>I implemented an high pass filter in python using this code:</p>
  
  <pre><code>from scipy.signal import butter, filtfilt
  import numpy as np
  
  def butter_highpass(cutoff, fs, order=5):
      nyq = 0.5 * fs
      normal_cutoff = cutoff / nyq
      b, a = butter(order, normal_cutoff, btype='high', analog=False)
      return b, a
  
  def butter_highpass_filter(data, cutoff, fs, order=5):
      b, a = butter_highpass(cutoff, fs, order=order)
      y = filtfilt(b, a, data)
      return y
  
  rawdata = np.loadtxt('sampleSignal.txt', skiprows=0)
  signal = rawdata
  fs = 100000.0
  
  cutoff = 100
  order = 6
  conditioned_signal = butter_highpass_filter(signal, cutoff, fs, order)
  </code></pre>
  
  <p>I am applying this filter on a 100 kHz voltage signal and it works fine for cutoff frequencies >= 60 Hz. But it doesn't work below. I would like to cut off all the frequencies below 10 Hz. Any hints where my mistake is? What I observed is the lower the order of the filter the lower the cutoff frequency could be. </p>
  
  <p><a href="https://www.dropbox.com/home/Turbulence%20Spectrum" rel="noreferrer">The sample Signal can be found here.</a></p>