====== ds.crtFilt(type, size) ====== **type** - тип алгоритма фильтрации значений;\\ **size** - размер фильтра;\\ **Возвращает** - объект с набором методов для работы с фильтром.\\ Данная функция создает объект фильтра, который в дальнейшем позволяет обрабатывать входные данные и выдавать значения, отфильтрованные по выбранному алгоритму. На данный момент поддерживаются следующие типы алгоритмов:\\ **sraf** - среднеарифметический;\\ **median** - медианный;\\ **min** - огибающий по минимальному значению;\\ **max** - огибающий по максимальному значению. Созданный объект фильтра содержит следующие методы:\\ **add(val)** - добавление очередного значения к фильтруемым данным, при этом метод возвращает отфильтрованное значение;\\ **reset()** - сброс буфера фильтра в исходное состояние. Пример использования: // создаем среднеарифметический фильтр с буфером на три значения let filt = ds.crtFilt('sraf', 3); // создаем данные, которые пропускаем через фильтр for (let i = 0; i < 18; i += 3) { let res = filt.add(i); log('Исходное значение:', i, ', отфильтрованное:', res); } В результате будет выведено в системный журнал следующее: {{ :ds_crtfilt.png?nolink |}} где видно, что каждое следующее значение является суммой трех предыдущих, деленых на три, тк используется среднеарифметический фильтр с размером буфера на три значения. Более подробные примеры предоставлены в статье **[[filt|Работа с фильтрами]]**.