Однопотоковая обработка временных рядов на Python в реальном времени

Есть код на Python, который выводит в консоль в реальном времени фильтрованные данные временного ряда, и есть класс Filter, созданный для обработки временного ряда и возврата скалярного значения внутри массива, вызываемого объектом класса Multimeter.

class Filter:
    def __init__(self):
        self.b = signal.firwin(55, 0.02, fs=1.0)
        self.a = 1
        z = signal.lfilter_zi(self.b, self.a)
        self.z = z

    def realin(self, smpl):
        out, self.z = signal.lfilter(self.b, self.a, [smpl], zi=self.z)
        return out[0]

Интересует вопрос, какой класс и как можно модернизировать для того, чтобы создать временное окно за некоторый промежуток сэмплирования по типу скользящей средней, если каждый результирующий сэмпл объекта класса Multimeter есть значение вывода на экран "без памяти", иначе говоря, как создать метод-накопитель исторических данных как массив из скалярных значений result объекта класса Multimeter.

class Multimeter:
    def __init__(self):
        self.xFilter = Filter()

    def realin(self, time, x):
        filtered = self.xFilter.realin(x)
        ...
        return result

Ответы (0 шт):