У нас есть два фильтра нижних частот с различным значением отсечки:
b, a = signal.butter(2, 0.125)
b2, a2 = signal.butter(2, 0.140)
При применении первого фильтра к x[0:10000]
и второго к x[10000:20000]
с lfilter
, мы должны использовать начальные условиядля вывода, чтобы быть "непрерывным", как видно из ответа на вопрос Непрерывность при применении фильтра БИХ на последовательных таймфреймах :
zi = lfilter_zi(b, a)
x[0:10000], zi = lfilter(b, a, x[0:10000], zi=zi)
x[10000:20000], zi = lfilter(b2, a2, x[10000:20000], zi=zi)
Вопрос: каксделать то же самое при применении filtfilt
(прямая и обратная фильтрация), чтобы обеспечить непрерывность при использовании фильтров на последовательных блоках, поскольку zi
параметр начальных условий отсутствует?