Фильтрация отклонений по идентификатору Hampel
Панель системных инструментов DSP/Проекты фильтров/фильтров
Блок Hampel Filter обнаруживает и удаляет отклонения входного сигнала с помощью идентификатора Hampel. Идентификатор Хампеля - это разновидность правила статистики с тремя сигмами, которое устойчиво к отклонениям. Для каждой выборки входного сигнала блок вычисляет медиану окна, составленного из текущей выборки и Len 12 смежных выборок на каждой стороне текущей выборки. Len - длина окна, заданная параметром Длина окна (Window length). Блок также оценивает стандартное отклонение каждого образца относительно его оконной медианы, используя медианное абсолютное отклонение. Если выборка отличается от медианы более чем на пороговое значение, умноженное на стандартное отклонение, фильтр заменяет выборку на медиану. Дополнительные сведения см. в разделе Алгоритмы.
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|

Для данной выборки данных xs алгоритм:
Центрирует окно нечетной длины по текущему образцу.
Вычисляет локальное медианное значение, mi и стандартное отклонение по текущему окну данных.
Сравнивает текущую выборку с n Если nstart× × i, фильтр идентифицирует текущий образец, xs, как выброс и заменяет его медианным значением, mi.
Рассмотрим кадр данных, который передается в фильтр Хампеля.

В этом примере фильтр Хампеля перемещает окно длиной 5 (Len) по данным. Фильтр имеет пороговое значение 2 (nλ). Чтобы иметь полное окно в начале кадра, алгоритм фильтра дополняет кадр нулями Len - 1. Для вычисления первой выборки выходного сигнала окно центрируется на 1] -й выборке в добавленном кадре, третий ноль в данном случае. Фильтр вычисляет медиану, среднее абсолютное отклонение и стандартное отклонение по данным в локальном окне.

Текущая выборка: xs = 0.
Окно данных: win = [0 0 0 0 1].
Локальная медиана: mi = медиана ([0 0 0 0 1]) = 0.
Медианное абсолютное отклонение: , | xi + k − mi |). Для медиана (| 0 − 0 |,..., | 1 − 0 |) = 0.
Среднеквадратическое отклонение: starti = start× madi = 0, где ≈1.4826.
Текущая выборка, xs = 0, не подчиняется отношению для обнаружения отклонений.
n
Поэтому фильтр Хампеля выводит текущую входную выборку, xs = 0.
Повторите эту процедуру для каждого последующего образца, пока алгоритм не центрирует окно на 12] -м образце, помеченном какEnd. Поскольку окно с центром на последних выборках Лен − 12 не может быть заполнено, эти выборки обрабатываются следующим кадром входных данных.
Вот первый выходной кадр, который генерирует фильтр Хампеля:

Седьмая выборка добавленного входного кадра 23 является отклонением. Фильтр Хампеля заменяет этот образец медианой над локальным окном [4 9 23 8 12].
[1] Боденем, Дин. «Адаптивная фильтрация и обнаружение изменений потоковых данных». Доктор философии. Дипломная работа. Имперский колледж, Лондон, 2012 год.
[2] Лю, Ханьчун, Сириш Шах и Вэй Цзян. «Обнаружение и очистка данных в режиме реального времени». Компьютеры и химическая инженерия. т. 28, март 2004, с. 1635-1647.
[3] Суомела, Юкка. Фильтрация медианы эквивалентна сортировке, 2014.