Работа № 6
Фильтр скользящего среднего.
Фильтры действующего и средневыпрямленного значений

Цель работы

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

Программа работы в лаборатории

  1. Решить задачи, способствующие достижению целей лабораторной работы.
  2. Написать выводы по решённым задачам.
  3. Подготовить вопросы преподавателю в контексте изучаемого материала.

Методические указания

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

Название фильтра скользящего среднего четко отражает его назначение и принцип действия. При функционировании фильтр вычисляет среднее значение сигнала на заданном промежутке времени. С этой целью в структуре фильтра имеются элементы памяти, в которых происходит запоминание выборок сигнала. Количество элементов памяти ограничено; они организованы в виде буфера, при заполнении которого каждая новая выборка вытесняет наиболее старую. Окном фильтра называется время заполнения буфера. Оно соответствует времени нахождения какой-либо выборки сигнала в буфере. На рисунке 1, в абстрактном графическом представлении, показано скольжение временного окна фильтра по входному сигналу. Можно видеть, что буфер фильтра построен на восьми регистрах задержки. Для демонстрируемого случая период колебаний помехи на фоне постоянной составляющей совпадает с длиной окна фильтра. В результате, можно догадаться, что при скольжении окна среднее значение выборок в буфере фильтра меняться не будет. Т.е. влияние помехи на результат измерения постоянной составляющей будет сведено к нулю.

Движение окна фильтра скользящего среднего
Рис. 1. Динамика содержимого регистров
фильтра скользящего среднего

Задача 1

Чертеж 1 представляет собой заготовку блок-схемы фильтра скользящего среднего и генератора постоянного сигнала, на который воздействуют две помехи синусоидальной формы. Соберите блок-схему. Установите для одного синусоидального генератора частоту равную №×1000 Гц. Для другого – в два раза больше (в первых экспериментах не подключайте этот генератор). Поскольку фильтр имеет 8 регистров задержки, выберите шаг симуляции так, чтобы на период помехи приходилось восемь шагов симуляции. Время симуляции нужно выбрать таким, чтобы было видно четыре периода помехи. Убедитесь, что фильтр скользящего среднего правильно выделяет постоянную составляющую и подавляет любые помехи, чей период меньше окна фильтра в целое число раз. Задумайтесь над тем, какой должна быть АЧХ фильтра скользящего среднего и как её вид связан с длинной окна фильтра. Продемонстрируйте результат решения задачи преподавателю.

Чертёж 1

Задача 2

Действующее значение физической величины определяется в соответствии с формулой:


(1)

Формула действующего значения

Чертеж 2 представляет собой заготовку блок-схемы фильтра-вычислителя действующего значения. Соберите блок-схему, руководствуясь формулой 2. Убедитесь, что выходное значение фильтра для входного сигнала синусоидальной формы равно 0.707 Im. Продемонстрируйте результат решения задачи преподавателю.


(2)

Формула действующего значения

Чертёж 2

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

Отмеченные недостатки преодолеваются фильтром построенным в соответствии с формулой 3. Здесь вместо одного интеграла квадрата входного сигнала вычисляются два. Один из вычислителей обрабатывает сигнал задержанный на период. И в этом суть. Уточним. Разница интегральных значений равна интегралу квадрата входного сигнала за период для любого момента времени, а не только в моменты кратные периоду. Кроме того, вычитание истории из результата обработки входного сигнала лишает фильтр эффекта памяти на промежутке времени большем периода (большем окна фильтра). В результате любые переходные процессы в фильтре будут конечными, а не асимптотическими.


(3)

Модификация формулы действующего значения для построения цифровых фильтров со скользящим окном

На чертеже 3 представлена улучшенная модель фильтра действующего значения построенная в соответствии с формулой 3. Она не оптимальна по количеству используемых блоков. Ей так же присущь ещё один наследуемый недостаток. Если фильтр будет использоваться продолжительно (например, в режиме непрерывного авторестарта математического ядра с сохранением начальных условий), то возможна перегрузка АЛУ процессора, по той причине, что выходные координаты интеграторов только увеличиваются. И этот процесс бесконечный. Он так же может стать причиной увеличения погрешности модели, так как разница двух очень больших чисел может стать сравнимой с весом дискреты мантиссы этих чисел.

Задача 3

Оптимизируйте блок-схему фильтра действующего значения представленную на чертеже 3 (примечание: возможно сократить два блока). Проконтролируйте, совпадение осциллограмм, характеризующих работу фильтра, до и после модификации. Удостоверьтесь в том, что выходная координата интегратора теперь не нарастает. Заместите оставшийся интегратор его дискретным квазианалогом построенным на: сумматоре, регистре задержки, перемножителе и порте считывания переменной timeStep, – инкапсулированными внутри составного блока Compound. Проконтролируйте работоспособность фильтра. Вновь перестройте блок-схему с целью сокращения одного из сумматоров (примечание: квазианалог интегратора придется деинкапсулировать). Если все сделано правильно вы построили лучшую модель вычислителя действующего значения. Перечертите блок-схему на бумагу. Продемонстрируйте результат решения задачи преподавателю.

Чертёж 3

Примечание 1. Исполняемый код интеграторов в 20..30 раз превосходит исполняемый код любого другого математического блока внутри математических ядер.

Примечание 2. Математические программы имеют особый режим симуляции, который предполагает замену каждого интегратора датчиками итерационного решателя (блоками constraint и unknown) на первом шаге. В результате процесс симуляции под воздействием вынуждающих сил начинается не от нулевых начальных условий, а от установившихся значений. Этот режим накладывает ограничение на построение моделей. Недопустимо использовать неохваченные ООС интеграторы, т.к. при невозможности свести собственный входной сигнал к нулю, через прямую или косвенную зависимость, интегратор может стать причиной перегрузки АЛУ процессора.

Задача 4

Посмотрите на чертёж модели, выполненный вами на бумаге в ходе выполнения задачи 3. За исключением блоков pow и sqrt, перед вами альтернативная модель фильтра скользящего среднего. Проверьте этот факт. Вернитесь к чертежу 1. Удалите пять из восьми входов сумматора. Добавьте еще один регистр задержки для построения дискретного квазианалога интегратора и составьте модель эквивалентную вашему чертежу за исключением того, что блок чистого запаздывания 1/e будет представлен цепочкой регистров задержки 1/z. Проконтролируйте осциллограммы. Продемонстрируйте результат решения задачи преподавателю.

Задача 5

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

Задача 6

На чертеже 4 представлены две библиотечные модели фильтра скользящего среднего. Ознакомьтесь с ними. Сравните их частотные характеристики. Выявите взаимосвязь между длиной окна фильтра и первой частотой подавления в спектре. Продемонстрируйте результат решения задачи преподавателю.

Чертёж 4

Задача 7

Частота тока промышленной сети электроснабжения в России 50 Гц. В США – 60 Гц. Хороший мультиметр, измеряющий постоянное напряжение должен подавлять помехи от любой из названных систем электроснабжения. Настройте фильтры скользящего среднего, представленные на чертеже 4, для подавления помех частотой 50 и 60 Гц. Для контроля подключите второй синусоидальный генератор к сумматору. Продемонстрируйте результат решения задачи преподавателю.

18.09.2007