Ich habe den Code in Jupyter Notebook geschrieben:
Code: Alles auswählen
import numpy as np
from scipy.signal import butter, lfilter, freqz
import matplotlib.pyplot as plt
def butter_lowpass(cutoff, fs, order=5):
nyq = fs/2
normal_cutoff = cutoff / nyq
b, a = butter(order, normal_cutoff, btype='low', analog=False)
return b, a
def butter_lowpass_filter(data, cutoff, fs, order=5):
b, a = butter_lowpass(cutoff, fs, order=order)
y = lfilter(b, a, data)
return y
data=pd.read_csv('samplesdata.csv',sep=";", decimal=",",encoding='latin-1')
sensor_data=data[['Euclidian Norm']]
sensor_data=np.array(sensor_data)
# Filter requirements.
order = 10
fs = 100 # sample rate, Hz
cutoff = 30
y = butter_lowpass_filter(sensor_data, cutoff, fs, order)
b, a = butter_lowpass(cutoff, fs, order)
plt.figure()
plt.subplot(211)
plt.plot(sensor_data, color='green')
plt.grid(color='green', linestyle='--', linewidth=0.5)
plt.title('original signal')
plt.subplot(212)
plt.plot(y, color='red')
plt.title('Filtered')
plt.grid(color='green', linestyle='--', linewidth=0.5)
plt.show(block=True)
https://ibb.co/PCNsrs1
Ich habe die Parameter verändert, ob es was an den Daten ändert, jedoch ändert sich nichts und es zeigt mir immer dasselbe an.
Ich habe gedacht es liegt vielleicht die Code-Konventionen, also vielleicht muss ich an irgendeiner Stelle im Code ein Tab machen, weil Jupyter Notebook da sehr empfindlich ist.
Hat jemand vielleicht eine Idee woran es liegt, das meine Daten nicht gefiltert werden bzw. die gefilterteren Daten nicht angezeigt werden?