ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
26 апреля
1583816 Топик полностью
framer (Сегодня, 20:47, просмотров: 62) ответил mse homjak на Норот, каг-то не парился, а тут, вдруг, заметил, что BPF IIR странно реагирует на постоянку на входе. Он её не давит. Остаётся какой-то постоянный уровень, пропорциональный постоянке, хотя обещается, что "давим фпыль". И дажэ плывучка не помогает, т.е. не ошибка от ограниченной разрядности при фикспойнте. Шозах?
Должен работать и давить постоянку в 0. 
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt

fs = 8000
t = np.linspace(0, 1, fs, endpoint=False)

#x = np.sin(2*np.pi*50*t) + np.sin(2*np.pi*200*t)
x = np.sin(2*np.pi*200*t) + 0.5

lowcut = 40
highcut = 100
order = 4

# IIR Butterworth band-pass
b, a = signal.butter(
    N=order,
    Wn=[lowcut, highcut],
    btype='bandpass',
    fs=fs
)
y = signal.filtfilt(b, a, x)
idx = slice(0, 1000)
plt.plot(t[idx], x[idx], label="original")
plt.plot(t[idx], y[idx], label="after filter", linewidth=2)
plt.legend()
plt.show()

0.5


2.5