Demasiados valores para desempaquetar sobre signal.butter
def bandPassFilter(data, samplerate):
wn1 = 2 * 0.9 / samplerate # original 0.667
wn2 = 2 * 2.5 / samplerate
b, a = signal.butter(N=8, Wn=[wn1, wn2], btype=’bandpass’) # Demasiados valores para desempaquetar
data = signal.filtfilt(b, a, data)
return data
davy.ai
¿Qué hace el código anterior?
El código define una función llamada
bandPassFilter
que toma dos argumentos,data
ysamplerate
. Dentro de la función, el código calcula las frecuencias de corte (wn1
ywn2
) utilizando una tasa de muestreo y aplica un filtro pasa banda a la señal de entrada (dada pordata
) usando la funciónsignal.butter
de la bibliotecascipy
. La señal filtrada resultante es devuelta por la función.Específicamente, la función
signal.butter
se utiliza para diseñar un filtro de Butterworth de 8º orden (especificado por el argumentoN = 8
) con una respuesta de frecuencia de paso de banda (especificada por el argumentobtype = 'bandpass'
) entre las frecuencias definidas porwn1
ywn2
. Los coeficientes del filtro resultantes (b
ya
) se utilizan luego para aplicar el filtro a los datos de entrada utilizando la funciónsignal.filtfilt
descipy
.En general, el código define una función de utilidad útil para filtrar señales ruidosas para aislar una banda de frecuencia específica de interés.