logo
Лекции по ЦО АВС

Нерекурсивные фильтры

При нулевых значениях коэффициентов am уравнение (4.2) переходит в уравнение линейной дискретной свертки функции x(k) с оператором bn:

y(k) = bn x(k-n). (5.1)

Значения выходных отсчетов свертки (5.1) для любого аргумента k определяются текущим и "прошлыми" значениями входных отсчетов. Такой фильтр называется нерекурсивным цифровым фильтром (НЦФ). Интервал суммирования по n получил название "окна" фильтра. Окно фильтра составляет N+1 отсчет, фильтр является односторонним каузальным, т.е. причинно обусловленным текущими и "прошлыми" значениями входного сигнала, и выходной сигнал не опережает входного. Каузальный фильтр может быть реализован физически в реальном масштабе времени. При k<n, а также при k<m для фильтра (4.2), проведение фильтрации возможно только при задании начальных условий для точек x(-k), k = 1,2,..,N, и y(-k), k = 1,2,..,M. Как правило, в качестве начальных условий принимаются нулевые значения или значения отсчета х(0), т.е. продление отсчета x(0) назад по аргументу.

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

y(k) = bn x(k-n). (5.2)

При N' = N фильтр называется двусторонним симметричным. Симметричные фильтры, в отличие от односторонних фильтров, не изменяют фазы обрабатываемого сигнала.

Техника выполнения фильтрации не отличается от техники выполнения обычной дискретной свертки двух массивов данных.

Рис. 5.1. Нерекурсивный ЦФ.

Представим, что на одной полоске бумаги выписаны по порядку сверху вниз значения данных x(k) ≡ sk (см. рис. 5.1). На второй полоске бумаги находятся записанные в обратном порядке значения коэффициентов фильтра bn ≡ hn (обоз- начение h для коэффициентов операторов НЦФ является общепринятым). Для вычисления yk ≡ y(k) располагаем вторую полоску против первой таким образом, чтобы значение h0 совпало со значением sk, перемножаем все значения hn с расположенными против них значениями sk-n, и суммируем все результаты перемножения. Результат суммирования является выходным значением сигнала yk. Сдвигаем окно фильтра - полоску коэффициентов hk, на один отсчет последовательности sk вниз (или массив sk сдвигаем на отсчет вверх) и вычисляем аналогично следующее значение выходного сигнала, и т.д.

Описанный процесс является основной операцией цифровой фильтрации, и называется сверткой в вещественной области массива данных x(k) с функцией (оператором) фильтра bn (массивом коэффициентов фильтра). Для математического описания наряду с формулами (5.1-5.2) применяется также символическая запись фильтрации:

y(k) = b(n) * x(k-n).

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

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

yk = 0.2(xk-2+xk-1+xk+xk+1+xk+2).

С позиций цифровой фильтрации это не что иное, как двусторонний симметричный нерекурсивный цифровой фильтр:

yk = bn xk-n, bn = 0,2. (5.3)

Аналогично, при сглаживании данных методом наименьших квадратов (МНК) на основе кубического уравнения:

yk = (-3xk-2+12xk-1+17xk+12xk+1-3xk+2)/35. (5.4)

Это также НЦФ с коэффициентами: b0 = 17/35, b1 = b-1 = 12/35,

b2 = b-2 = -3/35.

Пример. Уравнение НЦФ: yk = bn xk-n, bn = 0,2. Начальные условия - нулевые.

Входной сигнал – скачок функции (ступень): xk = {0,0,0,0,0,0,10,10,10,10,…}.

Выходной сигнал: yk = {0,0,0,0,2,4, 6, 8,10,10,10,10,…}.

Результат фильтрации приведен на рис. 5.2(А). Проверьте результат (выполните фильтрацию, как это показано на рис. 5.1, с учетом четности фильтра).

Заметим: сумма коэффициентов сглаживающих НЦФ всегда должна быть равна 1, при этом сумма значений массива выходного сигнала равна сумме значений массива входного сигнала. Координатная детальность выходного сигнала ниже входного, резкие изменения входных сигналов "размазываются" по аргументу.

Повторите фильтрацию фильтром МНК на основе кубического уравнения. Сравните результаты фильтрации с результатами первого НЦФ (приведены на рис. 5.2(В)).

Рис. 5.2. Сглаживание МНК в скользящем окне по пяти точкам

Для операции фильтрации характерны следующие основные свойства:

1. Дистрибутивность: h(t) * [a(t)+b(t)] = h(t) * a(t)+h(t) * b(t).

2. Коммутативность: h(t) * a(t) * b(t) = a(t) * b(t) * h(t).

3. Ассоциативность: [a(t) * b(t)] * h(t) = h(t) * a(t) * b(t).

Фильтрация однозначно определяет выходной сигнал y(t) для установленного значения входного сигнала s(t) при известном значении импульсного отклика фильтра h(t).

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4