Клиначёв Николай Васильевич

Нелинейная фильтрация БИХ-фильтром с релейной предустановкой состояния КИХ-фильтром

Стандартные требования к программам для динамического моделирования систем требуют наличия в их комплектации мастеров генерации коэффициентов для линейных фильтров с конечной и бесконечной импульсными характеристиками (БИХ и КИХ-фильтры). Большинство программ их имеют. Однако в комплектации даже ведущих пакетов отсутствуют мастера синтеза нелинейных фильтров. Нелинейные фильтры изучены недостаточно в основном по причине их многообразия и отсутствия до недавнего времени средств для их реализации - мощных цифровых сигнальных процессоров. Сегодня положение изменилось.

Структурная схема для нелинейной цифровой фильтрации линейным БИХ-фильтром

Рис. 1

На рис. 1 показана структурная схема для нелинейной цифровой фильтрации обычным линейным БИХ-фильтром. Особенность его функционирования заключена в периодической релейной предустановке его внутреннего состояния в положение, более близкое входному сигналу при нелинейном изменении последнего. Таким образом исключается продолжительный переходный процесс БИХ-фильтра при разрывах во входном сигнале (сравните синюю и малиновую осциллограммы). Предустановка выполняется согласно релейному закону, когда текущее изменение входного сигнала вызывает ошибку фильтра (разницу между входным и выходным сигналами), превышающую заданную допустимую величину Xm. Предустанавливаемое значение рассчитывается быстродействующим фильтром скользящего среднего (вид КИХ-фильтра). Его структурная схема приведена на рис. 2.

Фильтр скользящего среднего

Фильтр скользящего среднего
Рис. 2

Структурная схема БИХ-фильтра с возможностью предустановки состояния, показанная на рис. 3, от классической она отличается лишь построением элементов задержки 1/Z, один из которых показан на рис. 4. Фактически каждый элемент задержки имеет на входе управляемый сигналом "set" ("LOAD") ключ. При активном уровне сигнала "set" выполняется параллельная предустановка всех элементов задержки сигналом, который распространяется локальной переменной "::data". Этот сигнал получается масштабированием выходного сигнала фильтра скользящего среднего.

Линейный БИХ-фильтр с возможностью предустановки состояния

Линейный БИХ-фильтр с возможностью предустановки состояния
Рис. 3

Регистр задержки БИХ-фильтра, обеспечивающий предустановку состояния

Регистр задержки БИХ-фильтра, обеспечивающий предустановку состояния
Рис. 4

Проектирование представленного нелинейного фильтра не сложно и выполняется в три этапа:

  1. Проектируется быстродействующий КИХ-фильтр. Обычно усложнение его структуры не оправдывается. Показанная структура рассчитывает среднее арифметическое по трем текущим выборкам и в дополнительных комментариях не нуждается.
  2. Проектируется основной БИХ-фильтр. Точнее с помощью мастера осуществляется генерация его коэффициентов, которые переносятся в структурную схему изображенную на рис. 3. Тип фильтра (Бесселя, Баттерворта, Чебышева, Инверсный Чебышева, или Элептический) особой роли не играет.
  3. Вычисляется коэффициент, масштабирующий выходной сигнал КИХ-фильтра (на рис. 3 соответствующий блок раскрашен желтым цветом). Для выполнения этой операции следует на вход БИХ-фильтра подать единичный ступенчатый сигнал и выполнить симуляцию движения модели до установившегося значения. Значение искомого коэффициента будет равно значению сигнала на выходе любого из регистров задержки фильтра.

Важным, при рассмотрении любого нелинейного фильтра, является определение многопараметрической области, которая позволит отвечать на вопрос о целесообразности применения фильтра. Речь о том, что тот же результат можно получить применением линейного БИХ-фильтра или КИХ-фильтра, но большего порядка. К сожалению, влияющих факторов очень много и для решения подобных задач требуются гораздо более гибкие и совершенные моделирующие программы. Однако даже грубая оценка говорит в пользу данного нелинейного фильтра:

4.05.2002