Нерекурсивные фильтры
При нулевых значениях коэффициентов am уравнение (4.2) переходит в уравнение линейной дискретной свертки функции x(k) с оператором bn: y(k) = bn x(k-n). (1.7) Значения выходных отсчетов свертки (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). (1.8) При N' = N фильтр называется двусторонним симметричным. Симметричные фильтры, в отличие от односторонних фильтров, не изменяют фазы обрабатываемого сигнала. Техника выполнения фильтрации не отличается от техники выполнения обычной дискретной свертки двух массивов данных.
Представим, что на одной полоске бумаги выписаны по порядку сверху вниз значения данных x(k) ≡ sk (см. рис 1.3). На второй полоске бумаги находятся записанные в обратном порядке значения коэффициентов фильтра bn ≡ hn (обоз- начение h для коэффициентов операторов НЦФ является общепринятым). Для вычисления yk ≡ y(k) располагаем вторую полоску против первой таким образом, чтобы значение h0 совпало со значением sk, перемножаем все значения hn с расположенными против них значениями sk-n, и суммируем все результаты перемножения. Результат суммирования является выходным значением сигнала yk. Сдвигаем окно фильтра - полоску коэффициентов hk, на один отсчет последовательности sk вниз (или массив sk сдвигаем на отсчет вверх) и вычисляем аналогично следующее значение выходного сигнала, и т.д. Описанный процесс является основной операцией цифровой фильтрации, и называется сверткой в вещественной области массива данных x(k) с функцией (оператором) фильтра bn (массивом коэффициентов фильтра). Для математического описания наряду с формулами (1.7-1.8) применяется также символическая запись фильтрации: y(k) = b(n) * x(k-n). Сумма коэффициентов фильтра определяет коэффициент передачи (усиления) средних значений сигнала в окне фильтра и постоянной составляющей в целом по массиву данных (с учетом начальных и конечных условий). Как правило, сумма коэффициентов фильтра нормируется к 1. Для операции фильтрации характерны следующие основные свойства: 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).
|