3.2. Рекурсивный алгоритм наименьших квадратов
Мы начнем с рассмотрения следующей исходной задачи, которая служит основой для многих методов адаптивной фильтрации. Пусть
- вход фильтра КИХ – типа
-го порядка (см. рис. 3.1). Обозначим выход фильтра
, причем
(3.1)
Вектор коэффициентов фильтра обозначим
:
(3.2)
Выходной сигнал фильтра, разумеется, зависит от коэффициентов фильтра (т. е.
). Как правило, индекс, характеризующий зависимость от
, для удобства обозначений мы будем опускать. Далее рассмотрим алгоритм, разработанный для минимизации суммы квадратов выходных выборок:
(3.3)
Вектор коэффициентов фильтра, для которого эта сумма минимизирована, обозначим
. Этот тип фильтра можно интерпретировать как прогнозирующее устройство (предиктор)* по критерию наименьших квадратов для входной последовательности
. А выход
- как ошибку предсказания. Такой тип задач часто возникает при анализе временных рядов и обработке сигналов. Отметим, что мы не сделали никаких допущений о статистических свойствах последовательности
. Проведем рассмотрение для момента с чисто детерминированной задачей минимизации. Чтобы лучше уяснить эту проблему, перепишем (3.1) в матричной форме:
(3.4)
При составлении уравнения (3.4) мы полагали, что
для
. Другими словами, данные являются «пропущенными через окно», т. е. умноженными на ступенчатую функцию
, где
для
, и
для
. Можно выбрать другие ступенчатые функции, что приведет к различным адаптивным алгоритмам.
Например, когда данные не умножаются на ступенчатую функцию, мы получаем «не пропущенную через окно», или «ковариантную», форму этих уравнений:
(3.5)
Сначала рассмотрим случай, когда данные пропущены через окно; это приведет к наиболее простой структуре уравнения.
Отметим, что минимизация функции стоимости
эквивалентна минимизации квадрата нормы левой части уравнения (3.4), так как:
(3.6)
Вектор, минимизирующий эту норму, определяется уравнением:
(3.7)
Это уравнение следует из стандартного положения линейной алгебры, рассматривающей решение переопределенных систем линейных уравнений. В принципе, уравнение (3.7) дает решение для задачи адаптивной фильтрации. На каждом отрезке времени можно рассчитать значение (3.7) и определить величину коэффициентов фильтра. Однако это приводит к значительному объему вычислений, поскольку коэффициенты каждый раз пересчитываются с самого начала. Более приемлемая форма алгоритма получается в результате разработки рекурсивного метода вычисления
. Описанный, далее, рекурсивный алгоритм наименьших квадратов (РНК) может корректировать коэффициенты фильтра путем полного использования информации, содержащейся в текущем наборе коэффициентов. На каждом отрезке времени требуется лишь увеличение объема вычислений. Это по существу выполняется с помощью использования процессов оценивания калмановского типа, описанных в разд. 2.3.