| Эта статья слишком полагается на Рекомендации к основные источники. Пожалуйста, улучшите это, добавив вторичные или третичные источники. (Май 2008 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
В Фильтр наименьших средних квадратов решение сходится к Винеровский фильтр решение, предполагая, что неизвестная система LTI и шум стационарный. Оба фильтра можно использовать для идентификации импульсной характеристики неизвестной системы, зная только исходный входной сигнал и выходной сигнал неизвестной системы. Посредством ослабления критерия ошибки для уменьшения текущей ошибки выборки вместо минимизации общей ошибки по всем n алгоритм LMS может быть получен из фильтра Винера.
Вывод фильтра Винера для идентификации системы
Учитывая известный входной сигнал
, вывод неизвестной системы LTI
можно выразить как:
![x [n] = сумма _ {{k = 0}} ^ {{N-1}} h_ {k} s [n-k] + w [n]](https://wikimedia.org/api/rest_v1/media/math/render/svg/29d41ffb9167c860cce2987a1c1d7cff8030c784)
куда
- неизвестные коэффициенты отвода фильтра и
это шум.
Модельная система
, используя решение фильтра Винера с порядком N, можно выразить как:
![{шляпа {x}} [n] = сумма _ {{k = 0}} ^ {{N-1}} {шляпа {h}} _ {k} s [n-k]](https://wikimedia.org/api/rest_v1/media/math/render/svg/9e99c12580f9be872405e0fe1e438d2ea3bd4a49)
куда
- коэффициенты отвода фильтра, которые необходимо определить.
Ошибка между моделью и неизвестной системой может быть выражена как:
![e [n] = x [n] - {шляпа {x}} [n]](https://wikimedia.org/api/rest_v1/media/math/render/svg/ce6a7691f1713e4f03cf5267dc298e154f673615)
Общая квадратичная ошибка
можно выразить как:
![E = сумма _ {{n = -infty}} ^ {{infty}} e [n] ^ {2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/74020f9287004f13d8a581ff697af14465459553)
![E = сумма _ {{n = -infty}} ^ {{infty}} (x [n] - {шляпа {x}} [n]) ^ {2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/30a2b943f4c0ef0ed1d6a62e443c1a4e0aeedf34)
![E = sum _ {{n = -infty}} ^ {{infty}} (x [n] ^ {2} -2x [n] {hat {x}} [n] + {hat {x}} [n ] ^ {2})](https://wikimedia.org/api/rest_v1/media/math/render/svg/0f04965570d5a3527c08f828e41ae89e62ff1e5f)
Использовать Минимальная среднеквадратичная ошибка критерий по всем
установив его градиент к нулю:
который
для всех 
![{frac {partial E} {partial {hat {h}} _ {i}}} = {frac {partial} {partial {hat {h}} _ {i}}} sum _ {{n = -infty}} ^ {{infty}} [x [n] ^ {2} -2x [n] {шляпа {x}} [n] + {шляпа {x}} [n] ^ {2}]](https://wikimedia.org/api/rest_v1/media/math/render/svg/f74b4f305ccf81c69472c6baed33d36eff495f57)
Подставьте определение
:
![{frac {partial E} {partial {hat {h}} _ {i}}} = {frac {partial} {partial {hat {h}} _ {i}}} sum _ {{n = -infty}} ^ {{infty}} [x [n] ^ {2} -2x [n] sum _ {{k = 0}} ^ {{N-1}} {hat {h}} _ {k} s [nk ] + (сумма _ {{k = 0}} ^ {{N-1}} {шляпа {h}} _ {k} s [nk]) ^ {2}]](https://wikimedia.org/api/rest_v1/media/math/render/svg/494c25e285acf543f55c3378d49e7c6ae51b50b4)
Распределите частную производную:
![{frac {partial E} {partial {hat {h}} _ {i}}} = sum _ {{n = -infty}} ^ {{infty}} [- 2x [n] s [ni] +2 ( сумма _ {{k = 0}} ^ {{N-1}} {hat {h}} _ {k} s [nk]) s [ni]]](https://wikimedia.org/api/rest_v1/media/math/render/svg/23993057b95398bea838c81467dca8ac5f7ea806)
Используя определение дискретного взаимная корреляция:
![R _ {{xy}} (i) = сумма _ {{n = -infty}} ^ {{infty}} x [n] y [n-i]](https://wikimedia.org/api/rest_v1/media/math/render/svg/6dd0be6cdff7c6826db2c50ef465cc70c6a6c560)
![{frac {partial E} {partial {hat {h}} _ {i}}} = - 2R _ {{xs}} [i] + 2sum _ {{k = 0}} ^ {{N-1}} { шляпа {h}} _ {k} R _ {{ss}} [ik] = 0](https://wikimedia.org/api/rest_v1/media/math/render/svg/a3725ae5e10c4be1368fc3815e6e8c110ba0cce4)
Переставьте термины:
для всех 
Эту систему N уравнений с N неизвестными можно определить.
Результирующие коэффициенты фильтра Винера могут быть определены как:
, куда
вектор взаимной корреляции между
и
.
Вывод алгоритма LMS
Ослабляя бесконечную сумму фильтра Винера до ошибки во времени
, алгоритм LMS может быть получен.
Квадрат ошибки может быть выражен как:
![E = (d [n] -y [n]) ^ {2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/992c761863a1024e1abe940e681b112c2f19f420)
Используя критерий минимальной среднеквадратичной ошибки, возьмите градиент:
![{frac {partial E} {partial w}} = {frac {partial} {partial w}} (d [n] -y [n]) ^ {2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8e782154b068787c1b580dae3f0890d434e65024)
Применить правило цепочки и заменить определение y [n]
![{frac {partial E} {partial w}} = 2 (d [n] -y [n]) {frac {partial} {partial w}} (d [n] -sum _ {{k = 0}}} ^ {{N-1}} {шляпа {w}} _ {k} x [nk])](https://wikimedia.org/api/rest_v1/media/math/render/svg/19888f66d939baf75866c50d012a65a7f826e176)
![{displaystyle {frac {partial E} {partial w_ {i}}} = - 2 (e [n]) (x [n-i])}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5d03c1011cfacbdd64160c7e09337bdeb1fe7599)
Использование градиентного спуска и размера шага
:
![w [n + 1] = w [n] -mu {frac {частичный E} {частичный w}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f68ce4b36bdb6c59f24ea7dd309ff9fa00dc0fba)
который становится для i = 0, 1, ..., N-1,
![{displaystyle w_ {i} [n + 1] = w_ {i} [n] + 2mu (e [n]) (x [n-i])}](https://wikimedia.org/api/rest_v1/media/math/render/svg/12a8a0b31c71c2f62a444aba32ac66e4efd2cd6d)
Это уравнение обновления LMS.
Смотрите также
Рекомендации
- J.G. Проакис и Д. Манолакис, Цифровая обработка сигналов: принципы, алгоритмы и приложения, Прентис-Холл, 4-е изд., 2007.