Фильтрация Фильтром Баттерворта

Назначение

Процедура позволяет разделять двумерное поле на компоненты с разными пространственными частотами на основе фильтра Баттерворта, обеспечивающего максимально гладкую амплитудно-частотную характеристику.

Алгоритм

Обработка выполняется в частотной области с использованием быстрого преобразования Фурье (БПФ). Алгоритм работает с 2D гридом (скалярное поле, заданное на регулярной 2D сети).

Математическая основа

Алгоритм использует классическую передаточную функцию фильтра Баттерворта, которая в нашей реализации напрямую оперирует длиной волны в единицах сети и степенью фильтра n, задаваемыми пользователем.

Базовая формула (фильтр низких частот)

АЧХ Фильтра низких частот (ФНЧ) Баттерворта имеет следующий вид:

HФНЧ(k)=11+(λck)2n.

Эта формула используется как базовая для других фильтров.

Переменные в формуле:

  • λcдлина волны среза, заданная в единицах сети (метрах или градусах). Она определяет границу между низко- и высокочастотными компонентами, таким образом задавая минимальный размер объектов, сохраняемых на сетке: объекты мельче этой границы будут отфильтрованы.
  • nстепень фильтра, целое число от 1 до 16, заданное в интерфейсе. Определяет крутизну спада характеристики.
  • k=u2+v2радиальная пространственная частота.
  • u, vпространственные частоты по осям X и Y.

Другие типы фильтров

Формулы для других типов фильтров выводятся из базовой:

  • Фильтр высоких частот вычисляется как Остаточное поле - разница между исходным полем и полем, профильтрованным ФНЧ, и имеет следующую АЧХ: HФВЧ(k)=1HФНЧ(k).
  • Полосовой фильтр (ПФ) между двумя длинами волн среза λн (нижняя граница, короткая волна) и λв (верхняя граница, длинная волна), λв<λн, оставляет только определённую полосу частот определён как произведение ФВЧ и ФНЧ:

HПФ(k)=HФНЧ,λн(k)HФВЧ,λв(k).

  • Режекторный фильтр (РФ) подавляет определённую полосу частот и определён как остаточное поле к полосовому фильтру.

Этапы алгоритма

Алгоритм включает следующие этапы:

  1. Подготовка поля к БПФ.
    1. Если включена опция Корректировать краевые эффекты ,
      1. Выполняется вычитание тренда.
      2. Сеть (грид) расширяется с заполнением расширенной части пропусками.
      3. Все пропуски внутри исходной области и в расширенной части заполняются методом минимальной кривизны.
    2. Если опция коррекции выключена:
      1. Проверяется наличие пропусков в исходном поле.
      2. Если пропуски обнаружены, они заполняются методом конечных разностей для уравнения Лапласа - только для обеспечения отсутствия пропусков для БПФ.
  2. Частотная фильтрация:
    1. Исходное поле преобразуется в комплексный формат
    2. Выполняется прямое двумерное дискретное преобразование Фурье (переход из пространственной области в частотную)
    3. Применение фильтра:
      1. Комплексный спектр поля умножается на передаточную функцию (выполняется поэлементное умножение в частотной области)
    4. Выполняется обратное преобразование Фурье
    5. Извлекается вещественная часть результата
  3. Результат преобразуется к исходным параметрам двумерной сетки:
    1. Если были пропуски они восстанавливаются.
    2. Если была включена опция Корректировать краевые эффекты , расширенная часть грида удаляется.

Параметры

Для определения обрабатываемого поля необходимо выбрать нужное свойство из числа существующих в текущей ТОС (см. Рис. 1), параметр Свойство на панели Исходное поле.

Тип фильтра Определяет характер разделения частот:

  1. Частотный — разделяет поле на две компоненты.
  2. Полосовой — выделяет заданный диапазон пространственных периодов.

Для типа Частотный: Длина волны — задаёт границу между низко- и высокочастотной компонентами. Для типа Полосовой: Длина волны (нижняя граница) — минимальный период (коротковолновая граница). Длина волны (верхняя граница) — максимальный период (длинноволновая граница). Примечание: Для полосового фильтра в результат попадают структуры с периодами между заданными границами.

Параметр Степень фильтра — определяет крутизну спада АЧХ на границе полос (Непосредственно используется в передаточной функции, указанной выше). Чем выше степень, тем резче разделяются частотные компоненты. Рекомендуемые значения: 4–8. Степени выше 8 могут приводить к усилению краевых эффектов без существенного улучшения фильтрации. Тем не менее интерфейс позволяет выбирать степень фильтра от 1 до 16.

Галочка Корректировать краевые эффекты по умолчанию включена.


Параметры фильтра Баттерворта

Рис. 1. Выбор параметров фильтра Баттерворта   

Для определения Профильтрованного поля необходимо определить Имя файла ТОС и Свойство на панели Результат фильтрации фильтром Баттерворта. По умолчанию используется имя файла текущей ТОС.

Остаточное поле определяется аналогично профильтрованному.

В зависимости от особенностей решаемой задачи, пользователь может отказаться от расчета одного из выходных полей: профильтрованного или остаточного - для этого достаточно снять отметку (флажок) о расчете соответствующей компоненты, которая находится слева от ее названия.

В результате выполнения процедуры в зависимости от заданных пользователем имен выходных ТОС создаются новые ТОС, либо дописываются новые свойства к уже существующим ТОС, в которых размещаются профильтрованное и остаточное поля. Создаваемые ТОС наследуют размеры и параметры сети исходной (текущей) ТОС.

При включённом режиме Корректировать краевые эффекты компоненты тренда вычисленные при выполнении алгоритма корректировки записываются в ту ТОС, в которую записывается результат фильтрации, или в ту ТОС куда записывается результат Остаточное поле, если пользователь отказался от сохранения профильтрованного поля.