Инструменты пользователя

Инструменты сайта


filt

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
filt [2026/02/27 13:31]
root [Медианный фильтр]
filt [2026/02/27 13:46] (текущий)
root [Огибающие фильтры]
Строка 248: Строка 248:
 </code> </code>
  
 +{{ :filt7.png?nolink |}}
 +
 +<wrap ks>
 +Здесь хорошо видно, что помеха лишь незначительно исказила график (связано это с тем, что пришлось пропустить "бракованную" точку).
 +</wrap>
 +
 +====== Огибающие фильтры ======
 +
 +<wrap ks>
 +Не редко так же бывает ситуация, когда помеха улетает только в одну сторону относительно исходного графика. Такое часто бывает, к примеру, при периодическом пропадании связи с датчиком, и вместо показаний, получаем нулевое значение. В таких случаях хорошо отрабатывают огибающие фильтры. Их алгоритм работы похож на среднемедианный, но в отличие от него берется не среднее значение, а минимальное или максимальное на диапазоне значений (в зависимости от типа огибающего фильтра).
 +</wrap>
 +
 +
 +<code javascript>
 +// создаем огибающий фильтр по максимальному значению
 +let filt = ds.crtFilt('max', 10);
 +
 +let pointList = [];
 +for (let i = 0; i < 300; i++) {
 +    let val = Math.sin(i / 30) * 40 + 50;
 +    
 +    // эмулируем потерю сигнала
 +    if (i % 33 == 0) val = 0;
 +    
 +    let filtVal = filt.add(val);
 +    pointList.push([ i, val, filtVal ]);
 +}
 +
 +await ds.objCall('График данных 1', 'addPointList', pointList);
 +</code>
 +
 +{{ :filt8.png?nolink |}}
 +
 +<wrap ks>
 +Так же плюс данного фильтра, в отличие от рассмотренных ранее, в том, что на участке роста значений, он не имеет отставания, и четко повторяет исходный сигнал. Такой фильтр удобно использовать с данными, которые изменяются в одном направлении (растут или падают, в случае с огибающим по минимальному значению). Так же продолжительность возмущения от помехи на данном типе фильтра длится не всю продолжительность работы фильтра, а лишь на единственной точке.
 +</wrap>
  
filt.1772188273.txt.gz · Последнее изменение: 2026/02/27 13:31 — root