3.2.3. Вычислительная сложность
Вышеописанный адаптивный алгоритм хорошо реализуется во многих случаях. Главной причиной, ограничивающей пригодность данного метода для ряда применений, является его вычислительная сложность. Подсчет количества операций, необходимых для выполнения одного шага алгоритма, описанного в табл. 3.1, служит мерой его вычислительной сложности. Используя тот факт, что - симметричная матрица, можно реализовать алгоритм, который потребует умножений и сложений на каждом временном шаге (- порядок фильтра). Для фильтров высшего порядка часто оказывается неприемлемой вычислительная сложность, которая возрастает пропорционально квадрату порядка фильтра. Отметим, что для корректировки вектора усиления требуется наибольшее количество операций. При заданном векторе усиления на остальную часть алгоритма приходится лишь умножений и сложений. Следовательно, для уменьшения вычислительной сложности алгоритма, необходимо упростить корректировку усиления. Используя специальную структуру матрицы , можно вывести формулу для корректировки усиления со сложностью, пропорциональной операциям, а не . Этот, так называемый, «быстрый» (калмановский) алгоритм подробно описан в работе [194]. Еще более простую формулу для корректировки можно вывести, аппроксимируя алгоритм метода наименьших квадратов с помощью градиентных методов, как показано в разд. 3.3. В этом алгоритме вектор усиления пропорционален вектору данных и, следовательно, не требуются дополнительные вычисления.