# Why use both a high pass and a low pass filter in a Butterworth implementation for noise reduction?

I am a new to audio processing . I want to develop an application that reduces audio noise using a Butterworth filter. I found some existing code doing this, but I still do not understand the use of 2 filters (low and high pass filter) in a reversed order. What I know from my experience, the high pass filter will eliminates the low frequency samples, so there is no need to apply the low pass filter.

The code begins with :

b,a = scipy.signal.butter(5, 1100/(Frequency/2), btype='highpass') # ButterWorth filter highpass
filteredSignal = scipy.signal.lfilter(b,a,NewSound) # Applying the filter to the signal


and ends with:

c,d = scipy.signal.butter(5, 100/(Frequency/2), btype='lowpass') # ButterWorth low-filter
newFilteredSignal = scipy.signal.lfilter(c,d,filteredSignal) # Applying the filter to the signal