ПЗ (1230770), страница 3
Текст из файла (страница 3)
Для реализации цифровых фильтров достаточно использовать всего несколько компонентов: сложение, умножение, вычитание и элемент задержки. Задержка является элементом памяти, она позволяет запоминать предыдущие значения сигнала и учитывать их для получения выходной характеристики. На слабых процессорах может отсутствовать возможность умножение, тогда она заменяется сложением, что приводит к замедлению работы фильтра. Считается, что фильтр работает в режиме реального времени, если он успевает рассчитать и выдать выходное значение до того, как на него поступит следующее входное воздействие.
Среди фильтров различают два основных типа: нерекурсивный и рекурсивный. Нерекурсивный фильтр имеет конечную импульсную характеристику, он не имеет обратной связи. Сигнал на выходе yi такого фильтра в момент времени ti зависит только от входного сигнала xi и предыдущих значений входного сигнала, алгоритм работы которого представлен формулой
где yi – значение выходного сигнала в момент времени ti;
ai – весовые коэффициенты;
m – порядок фильтра (максимальное число запоминаемых элементов).
Схема работы фильтра представлена на рисунке 2.1.
Рисунок 2.1 – Схема работы нерекурсивного режекторного фильтра
Как видно из схемы, фильтр не имеет обратной связи и искомое значение на выходе yi находится из суммы выходного значения xi умноженного на коэффициент а0 и предыдущих значений, умноженных на весовые коэффициенты an. Элемент Т является элементом задержки, время задержки устанавливается равное периоду дискретизации. Если подать на такой фильтр единичный импульс x0 = 1, то получим последовательность чисел, называемую импульсной характеристикой фильтра, в данном случае выходные значение совпадут с коэффициентами an. Импульсную характеристику можно использовать для расчета выходных характеристик фильтра. Импульсная характеристика представлена на рисунке 2.2.
Рисунок 2.2 – Импульсная характеристика нерекурисвного фильтра
Как видно из рисунка 2.2 у нерекурсивного фильтра при воздействии на него единичного импульса выходная характеристика не бесконечная и кончается на каком-то числе an, поэтому данный фильтр еще носит название КИХ – фильтр.
Применив z-преобразование к выражению (2.1), получим
Разделив обе части выражения на X(z) получим следующую передаточную функцию нерекурсивного фильтра
Как видно из выражения (2.3), передаточная функция является полиномом z-1 и имеет конечное число элементов.
В отличии от нерекурсивного фильтра, рекурсивный фильтр имеет бесконечную импульсную характеристику, поэтому этот фильтр имеет еще одно название БИХ – фильтр. В рекурсивном фильтре применяется обратная связь, в следствии этого, выходное значение yi зависит не только от входных значений, но и от предыдущих выходных значений. Алгоритм расчета выходной характеристики для такого фильтра описывается формулой
где bk – взвешенные коэффициенты для выходных значений.
Получим передаточную характеристику данного фильтра
Как видно из формулы (2.5) передаточная функция данного фильтра представляет собой отношение двух полиномов.
Фильтр имеет большую чувствительность к коэффициентам ak, bk его передаточной функции, а так как данные коэффициенты неизбежно приходится округлять, то появляется погрешность вычисления, а при больших порядках фильтра это может вызвать его неустойчивую работу, при этом не стоит забывать про суммирования накопленных ошибок в следствии наличия обратной связи [4].
Алгоритм работы рекурсивного фильтра, с помощью которого можно проследить путь прохождения сигнала, представлен на рисунке 2.3.
Рисунок 2.3 – Схема работы рекурсивного фильтра
На рисунке 2.3 видно, что величина выходного сигнала yi получается за счет суммирование входных значений xi, полученных в разные моменты времени, и предыдущих выходных значений yi.
В рекурсивных фильтрах требуется более высокая точность вычислений по сравнению с нерекурсивными, из-за наличия обратной связи, так как в текущие расчетах суммируются также ошибки предыдущих данных. Увеличение точности ведет к необходимости использовать более мощные вычислительные процессоры, а также увеличивает продолжительность времени вычислений.
3 РАСЧЕТ ЦИФРОВОГО РЕЖЕКТОРНОГО ФИЛЬТРА
Для моделирования цифрового рекурсивного режекторного фильтра, можно использовать z плоскость. В данном разделе рассчитаем параметры фильтра данным методом и проверим в программе Matlab его работоспособность.
3.1 Расчет рекурсивного фильтра нулевой частоты
Простой режекторный цифровой имеет передаточную характеристику вида
где Vn1(z) – длина вектора из нуля функции до точки с определенной частотой на комплексной z плоскости;
Vp1(z) – длина вектора из полюса функции до точки с определенной частотой на комплексной z плоскости;
G – масштабный коэффициент.
Нуль функции – это такое значение z, при котором передаточная характеристика стремится к нулю, а полюс функции – это значение z, при котором передаточная характеристика стремится к бесконечности.
Комплексная z плоскость представлена на рисунке 3.1.
Рисунок 3.1 – Комплексная z плоскость при подавлении нулевой составляющей
На рисунке 3.1 нуль функции принял значение n1 = 1, полюс функции p1 = 1,01. При таком расположении нулей и полюсов длины векторов Vn1 и Vp1 будут примерны равны и их отношение будет равным 1 на всех частотах, кроме частоты равной нулю. Поэтому, коэффициент передачи данного фильтра будет равным нулю только при нулевой частоте, а, следовательно, будет гаситься постоянная нулевая составляющая сигнала.
Данный фильтр будет стабильно работать от нуля до частоты Найквиста (wN). Частота Найквиста равна
где
– период дискретизации, с.
Частоты Найквиста – это частота, которая соответствует половине частоты дискретизации, сигналы с более высокой частотой, будут накладываться в зону низких частот и искажать результат [4].
3.2 Расчет рекурсивного фильтра частоты 50 Гц
Для подавления произвольной частоты wv нули и полюса располагают на определенном радиусе на z плоскости и на соответствующем радиальном угле. Расчет радиального угла производится по формуле
В выражении (3.3) используется два знака, это означает, что для получения вещественной характеристики полюса и нулю должны быть комплексно-сопряженными парами, то есть можно записать это как
Нули фильтра находятся на радиусе единичной окружности
Полюса фильтра находятся на полярном радиусе R
Подставляя (3.5) и (3.6) в формулу (3.4) получим
Выразим масштабный коэффициент из формулы (3.7) с учетом того, что передаточная характеристика на частоте Найквиста
, а z = -1, и получим
В типовой форме выражение (3.7) будет иметь вид
Далее необходимо найти формулы для расчета коэффициентов фильтра, при расчете данных коэффициентов полученный результат необходимо получить с высокой степенью точности, округление в данном случае должно быть минимальным. При сравнении формул (3.7) и (3.9) можно выделить
следующие расчетные формулы для коэффициентов
Алгоритм для вычисления выходной величины
Спроектируем режекторный фильтр с частотой подавления fv = 50 Гц. Шаг дискретизации
принимаем равным 0,002 с.
Преобразуем формулу (3.2) с учетом того, что w = 2πf, и найдем частоту Найквиста
Подставим в формулу (3.12) численные значения и получим:
Для нахождения полюсов и нулей на комплексной z плоскости, которые соответствуют подавляемой частоте 50 Гц, найдем радиальный угол, подставив численные значения в формулу (3.3):
Нанесем пары полюсов и нулей фильтра на комплексную z плоскость учитывая найденное значение радиального угла. Комплексная z плоскость для рекурсивного фильтра представлена на рисунке 3.2.
Рисунок 3.2 – Комплексная z плоскость при подавлении частоты 50 Гц
Принимаем полярный радиус R равным 1,01. Чем сильнее радиус R стремиться к 1, тем будет более узкая полоса подавления, но также будет удлиняться импульсная реакция, а это приведет к увеличению времени установления фильтра.
Найдем численное значения нулей фильтра в комплексной форме используя формулу (3.5):
Найдем численное значения полюсов фильтра в комплексной форме используя формулу (3.6):
По формуле (3.8) вычислим масштабный коэффициент:
По формуле (3.10) рассчитаем коэффициенты фильтра, при этом учитываем как можно больше знаков для повышения качества работы фильтра:
Согласно формуле (3.9) передаточная функция фильтра будет иметь вид














