Алгоритм адаптации с помощью метода наименьших квадратов (МНК)
Предположим, имеется адаптивный КИХ-фильтр L-го порядка, выход которого вычисляется как
где y[k] – выход фильтра, W[k] – вектор весовых коэффициентов фильтра, X[k] – вектор входного сигнала фильтра.
Во многих используемых на практике алгоритмах адаптации модификация коэффициентов фильтра производится по следующему выражению:
где – шаг сходимости, – градиент функции среднеквадратической ошибки (СКО) (или оценка градиента) в момент k
Вычисление градиента функции СКО является затратным по времени. Вместо этого в качестве оценки можно взять значение . Тогда, взяв производную от по W (вектору весовых коэффициентов), получим значение оценки градиента:
где - ошибка, - вектор входного сигнала.
Имея такую простую оценку градиента, можно определить выражение для модификации вектора весовых коэффициентов:
Такой алгоритм модификации коэффициентов называется методом наименьших квадратов (МНК). Для удобства можно внести константу 2 в как . Тогда получается следующее выражение:
Параметр называется шагом сходимости. Выбор его величины – компромисс между скоростью сходимости и величиной ошибки в устоявшемся режиме. Чем больше параметр , тем быстрее процесс сходимости и тем больше ошибка в устоявшемся режиме. Кроме того, большой шаг сходимости может сделать процесс адаптации расходящимся, поэтому на налагается следующее ограничение:
где - средняя мощность входного сигнала адаптивного фильтра, L – порядок фильтра.
Соответственно, чем больше порядок фильтра и мощность входного сигнала, тем меньше должен быть шаг сходимости.
Порядок МНК-фильтра подбирается экспериментально и зависит от конкретной практической задачи. Чаще всего, существует какой-либо оптимальный порядок фильтра, при котором наблюдается оптимальная скорость сходимости и ошибка в устоявшемся режиме.
Вычислительная сложность МНК-алгоритма 2L+1 умножений и 2L сложений на одну итерацию (L – порядок фильтра)