def sp_filter_butterworth_bandpass(input_data, passband, stopband, max_passband_loss, min_stopband_attenuation):
# The SciPy signal processing module uses normalised frequencies, so we need to normalise the input values
norm_passband = input_data.timebase.normalise_freq(passband)
norm_stopband = input_data.timebase.normalise_freq(stopband)
ord,wn = sp_signal.filter_design.buttord(norm_passband, norm_stopband, max_passband_loss, min_stopband_attenuation)
b, a = sp_signal.filter_design.butter(ord, wn, btype = 'bandpass')
output_data = input_data
for i,s in enumerate(output_data.signal):
output_data.signal[i] = sp_signal.lfilter(b,a,s)
return output_data
#########################################
## wrappers to numpy signal processing ##
#########################################
评论列表
文章目录