python
import numpy as np
from scipy import signal
t = np.linspace(0, 1, 1000, endpoint=False)
x = np.sin(2 * np.pi * 5 * t)
noise = np.random.normal(0, 1, 1000)
x += noise
b, a = signal.butter(4, 0.1, 'low')
filtered_signal = signal.lfilter(b, a, x)
import matplotlib.pyplot as plt
plt.figure()
plt.subplot(2, 1, 1)
plt.plot(t, x)
plt.title('Original Signal')
plt.subplot(2, 1, 2)
plt.plot(t, filtered_signal)
plt.title('Filtered Signal')
plt.tight_layout()
plt.show()
pip install scipy
python
from scipy import module_name