Вычислительный фильтр, оценивающий вводимую информацию, с использованием алгоритма адаптивной фильтрации.
Библиотека:
Фильтрация / адаптивная фильтрация
Описание:
Адаптивный фильтр LMS образует инструмент - фильтр с конечной импульсной характеристикой и использует стохастический (случайный, вероятностный) градиентный алгоритм (плавно меняющийся алгоритм), известный как нормированный алгоритм наименьших квадратов (LMS).
Переменные описаны ниже:
Переменная
|
Описание
|
n
|
Текущая итерация алгоритма
|
u(n)
|
Буферизированный ввод образцовых сигналов (примеров) на n-м шаге (входное воздействие)
|
|
Вектор коэффициентов фильтра – служит для оценки на n-м шаге (вектор оценки)
|
y(n)
|
Выход фильтра на n-м шаге
|
e(n)
|
Оценка ошибки на n-м шаге
|
d(n)
|
Желаемый отклик (результат, реакция) на n-м шаге
|
|
Адаптивный (приспосабливающийся) размер шага
|
Преодолеть и усовершенствовать потенциальную цифровую (числовую) неустойчивость в весах (tap-weight), небольшая положительная константа (а=1е-10) должна прибавляться к знаменателю.
Выключить упорядочивание (нормализацию), очищать и использовать кнопку нормализации в диалоговом окне параметров. Во время компиляции блока оценка коэффициентов фильтра вычисляется следующим образом:
Иконка блока имеет каналы ярлыка, которым соответствуют соответствующие входы и выходы. Примечание: сигналы на входах портов In и Err должны быть скалярами. Сигнал на выходе порта Out – скаляр, в то время как сигнал на выходе порта Taps – вектор.
Порты блока
|
Соответствующие переменные
|
In
|
u, скалярный вход, который будет внутри буферизованный в вектор u(n)
|
Err
|
y(n), фильтрованный скалярный выход
|
Out
|
e(n), оценка ошибки - скаляр
|
Taps
|
, вектор оценки коэффициентов
|
Необязательный входной порт Adapt добавляется, когда адаптивный вход отмечен флажком (выбран) в диалоговом окне. Когда задействован этот порт, происходит непрерывная адаптация коэффициентов фильтра, пока на входе Adapt ненулевое значение. Когда на входе порта Adapt появляется нуль, адаптивный алгоритм прекращает свою работу, а полученные коэффициенты фильтра сохраняются и не изменяются до тех пор (применяются для оценки), пока на входе порта Adapt снова появится не нулевое значение.
Параметр (длина КИХ фильтра) устанавливает длину фильтра, который применяется для оценки в алгоритме LMS. Параметр Step size (размер шага), соответствующий
в уравнении. Обычно, для сходимости в методе средних квадратов
Параметр Initial value of filter taps (начальные значения коэффициентов фильтра) устанавливает начальные значения переменных
- задаётся в виде вектора, или же задаётся в виде скалярной величины, которая применяется ко всем элементам вектора. Параметр Leakage factor (коэффициент утечки) устанавливает значение коэффициента утечки (
), отвечающий за спуск вниз в алгоритме LMS (регулирует скорость спуска по градиентной поверхности).
Этот параметр может принимать значения от 0 до 1.
Пример: lmsdemo - демонстрация шумоподавляющей системы, построение которой основано на использовании блока LMS.
Диалоговое окно:
Текст в диалоговом окне:
Алгоритм LMS (наименьших средних квадратов) для адаптивной фильтрации сигнала с использованием КИХ-фильтра. Необязательно нужно использовать активную (обычную) нормализацию – Use normalization. Если установлен флаг Adapt input и значение на входе порта Adapt равно нулю, то происходит остановка алгоритма адаптации коэффициентов фильтра.
FIR filter length – длина КИХ-фильтра;
Step size – размер шага, обычно принимается равным от 0 до 2;
Initial value of filter taps – начальная инициализация коэффициентов КИХ-фильтра;
Leakage factor – коэффициент утечки, выбирается в приделах от 0 до 1;
Use normalization – флаг, выбор обычной (чистой) нормализации;
Adapt input – флаг, использование адаптивного алгоритма.
|