Алгоритм адаптации с помощью метода наименьших квадратов (МНК)

Предположим, имеется адаптивный КИХ-фильтр L-го порядка, выход которого вычисляется как

где y[k] – выход фильтра, W[k] – вектор весовых коэффициентов фильтра, X[k] – вектор входного сигнала фильтра.

Во многих используемых на практике алгоритмах адаптации модификация коэффициентов фильтра производится по следующему выражению:

где – шаг сходимости, – градиент функции среднеквадратической ошибки (СКО) (или оценка градиента) в момент k

Вычисление градиента функции СКО является затратным по времени. Вместо этого в качестве оценки можно взять значение . Тогда, взяв производную от по W (вектору весовых коэффициентов), получим значение оценки градиента:

где - ошибка, - вектор входного сигнала.

Имея такую простую оценку градиента, можно определить выражение для модификации вектора весовых коэффициентов:

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

Параметр называется шагом сходимости. Выбор его величины – компромисс между скоростью сходимости и величиной ошибки в устоявшемся режиме. Чем больше параметр , тем быстрее процесс сходимости и тем больше ошибка в устоявшемся режиме. Кроме того, большой шаг сходимости может сделать процесс адаптации расходящимся, поэтому на налагается следующее ограничение:

где - средняя мощность входного сигнала адаптивного фильтра, L – порядок фильтра.

Соответственно, чем больше порядок фильтра и мощность входного сигнала, тем меньше должен быть шаг сходимости.

Порядок МНК-фильтра подбирается экспериментально и зависит от конкретной практической задачи. Чаще всего, существует какой-либо оптимальный порядок фильтра, при котором наблюдается оптимальная скорость сходимости и ошибка в устоявшемся режиме.

Вычислительная сложность МНК-алгоритма 2L+1 умножений и 2L сложений на одну итерацию (L – порядок фильтра)