Адаптивный фильтр

редактировать

Адаптивный фильтр - это система с линейным фильтром , имеющим передаточная функция, управляемая переменными параметрами, и средство для регулировки этих параметров в соответствии с алгоритмом оптимизации. Из-за сложности алгоритмов оптимизации почти все адаптивные фильтры являются цифровыми фильтрами. Адаптивные фильтры требуются для некоторых приложений, потому что некоторые параметры желаемой операции обработки (например, положения отражающих поверхностей в реверберирующем пространстве) заранее неизвестны или изменяются. Адаптивный фильтр с обратной связью использует обратную связь в виде сигнала ошибки для уточнения своей передаточной функции.

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

По мере увеличения мощности цифровых сигнальных процессоров адаптивные фильтры стали гораздо более распространенными и теперь обычно используются в таких устройствах, как мобильные телефоны и другие устройства связи, видеокамеры и цифровые камеры, и оборудование для медицинского наблюдения.

Содержание

  • 1 Пример применения
  • 2 Блок-схема
    • 2.1 Выявляемый линия задержки КИХ-фильтра
    • 2.2 Идеальный случай
    • 2,3 компоненты сигнала в опорном входе
    • 2.4 Адаптивный линейный сумматор
    • 2.5 Алгоритм LMS
      • 2.5.1 Сходимость
    • 2.6 Нелинейные адаптивные фильтры
  • 3 Применение адаптивных фильтров
  • 4 Реализации фильтров
  • 5 См. Также
  • 6 Ссылки
    • 6.1 Источники

Пример приложения

Запись сердечного ритма (ЭКГ ) может быть искажена шумом от сети переменного тока. Точная частота мощности и ее гармоник может время от времени изменяться.

Одним из способов устранения шума является фильтрация сигнала с помощью режекторного фильтра на частоте сети и в непосредственной близости от нее, но это может значительно ухудшить качество ЭКГ, поскольку сердцебиение будет также, вероятно, имеют частотные составляющие в отклоненном диапазоне.

Чтобы избежать этой потенциальной потери информации, можно использовать адаптивный фильтр. Адаптивный фильтр будет принимать входные данные как от пациента, так и от сети и, таким образом, сможет отслеживать фактическую частоту шума при ее колебаниях и вычитать шум из записи. Такой адаптивный метод обычно позволяет использовать фильтр с меньшим диапазоном отклонения, что в данном случае означает, что качество выходного сигнала более точное для медицинских целей.

Блок-схема

Идея адаптивного фильтра с обратной связью заключается в том, что переменный фильтр регулируется до минимума ошибки (разницы между выходным сигналом фильтра и желаемым сигналом). Фильтр наименьших средних квадратов (LMS) и фильтр рекурсивных наименьших квадратов (RLS) являются типами адаптивного фильтра.

Блок-схема адаптивного фильтра с отдельным блоком для процесс адаптации. Адаптивный фильтр. k = номер выборки, x = эталонный ввод, X = набор последних значений x, d = желаемый ввод, W = набор коэффициентов фильтра, ε = вывод ошибок, f = импульсная характеристика фильтра, * = свертка, Σ = суммирование, верхнее поле = линейный фильтр, нижнее поле = алгоритм адаптации
Компактная блок-схема адаптивного фильтра без отдельного блока для процесса адаптации. Адаптивный фильтр, компактное представление. k = номер выборки, x = эталонный вход, d = желаемый вход, ε = выход ошибки, f = импульсная характеристика фильтра, Σ = суммирование, прямоугольник = линейный фильтр и алгоритм адаптации.

Есть два входных сигнала для адаптивного фильтра : dk {\ displaystyle d_ {k}}d_ {k} и xk {\ displaystyle x_ {k}}x_ {k} , которые иногда называют первичным вводом и контрольным вводом соответственно. Алгоритм адаптации пытается отфильтровать эталонный вход в реплику желаемого входа путем минимизации остаточного сигнала, ϵ k {\ displaystyle \ epsilon _ {k}}\ epsilon _ {k} . Когда адаптация прошла успешно, выходной сигнал фильтра y k {\ displaystyle y_ {k}}y_ {k} фактически является оценкой желаемого сигнала.

dk {\ displaystyle d_ {k}}d_ {k} , который включает полезный сигнал плюс нежелательные помехи, и
xk {\ displaystyle x_ {k}}x_ {k} , который включает сигналы, которые коррелированы с некоторыми нежелательными помехами в dk {\ displaystyle d_ {k}}d_ {k} .
k представляет номер дискретной выборки.

Фильтр управляется набором L + 1 коэффициентов или весов.

W k = [w 0 k, w 1 k,... вес L К] T {\ Displaystyle \ mathbf {W} _ {k} = \ left [w_ {0k}, \, w_ {1k}, \,..., \, w_ {Lk} \ right] ^ {T}}{\ mathbf {W}} _ {{k}} = \ left [w _ {{0k}}, \, w _ {{1k}}, \,..., \, w_ {{Lk}} \ right] ^ {{T}} представляет набор или вектор весов, которые управляют фильтром во время выборки k.
где wlk {\ displaystyle w_ {lk}}w _ {{lk}} относится к l {\ displaystyle l}l -й вес при k-м
Δ W k {\ displaystyle \ mathbf {\ Delta W} _ {k}}{\ mathbf {\ Delta W }} _ {{k}} представляет изменение весов, которое происходит в результате корректировок, вычисленных во время выборки k.
Эти изменения будут применены после времени выборки k и до того, как они будут использованы во время выборки k + 1.

Обычно вывод ϵ k {\ displaystyle \ epsilon _ {k}}\ epsilon _ {k} , но это может быть yk {\ displaystyle y_ {k}}y_ {k} или даже коэффициенты фильтра. (Widrow)

Входные сигналы определены следующим образом:

dk = gk + uk + vk {\ displaystyle d_ {k} = g_ {k} + u_ {k} + v_ {k}}d_ {k} = g_ {k} + u_ {k} + v_ {k}
xk = gk ′ + uk ′ + vk ′ { \ displaystyle x_ {k} = g_ {k} ^ {'} + u_ {k} ^ {'} + v_ {k} ^ {'}}x_{k}=g_{{k}}^{'}+u_{{k}}^{'}+v_{{k}}^{'}
где:
g = желаемый сигнал,
g '= сигнал, который коррелирует с полезным сигналом g,
u = нежелательный сигнал, который добавляется к g, но не коррелируется с g или g'
u '= сигнал, который коррелирован с нежелательным сигналом u, но не коррелирован с g или g',
v = нежелательный сигнал (обычно случайный шум), не коррелированный с g, g ', u, u 'или v',
v '= нежелательный сигнал (обычно случайный шум), не коррелированный с g, g', u, u 'или v.

Выходные сигналы определяются следующим образом:

yk = g ^ k + u ^ k + v ^ k {\ displaystyle y_ {k} = {\ hat {g}} _ {k} + {\ hat {u}} _ {k} + {\ hat {v}} _ {k}}y_ {k} = {\ hat {g}} _ {k} + {\ hat {u}} _ {k} + {\ hat {v}} _ {k}
ϵ k = dk - yk {\ displaystyle \ epsilon _ {k} = d_ {k} -y_ {k}}\ epsilon _ {k} = d_ {k} -y_ {k} .
где :
g ^ {\ displaystyle {\ hat {g}}}{\ hat {g}} = выход фильтра, если вход был только g ',
u ^ {\ displaystyle {\ hat {u }}}{\ hat {u}} = вывод фильтра, если на входе было только u ',
v ^ {\ displaystyle {\ hat {v}}}{\ hat {v}} = вывод фильтр, если вход был только v '.

КИХ-фильтр с ответвленной линией задержки

Если переменный фильтр имеет структуру с отводной линией задержки Конечная импульсная характеристика (КИХ), то импульсная характеристика равно коэффициентам фильтра. Выходной сигнал фильтра определяется выражением

yk = ∑ l = 0 L wlkx (k - l) = g ^ k + u ^ k + v ^ k {\ displaystyle y_ {k} = \ sum _ {l = 0} ^ {L} w_ {lk} \ x _ {(kl)} = {\ hat {g}} _ {k} + {\ hat {u}} _ {k} + {\ hat {v}} _ {k}}y_ { k} = \ sum _ {{l = 0}} ^ {L} w _ {{lk}} \ x _ {{(kl)}} = {\ hat {g}} _ {k} + {\ hat {u }} _ {k} + {\ hat {v}} _ {k}
где wlk {\ displaystyle w_ {lk}}w _ {{lk}} относится к l {\ displaystyle l}l '-й вес в точке k' ый раз.

Идеальный случай

В идеальном случае v ≡ 0, v ′ ≡ 0, g ′ ≡ 0 {\ displaystyle v \ Equiv 0, v '\ Equiv 0, g' \ Equiv 0}{\displaystyle v\equiv 0,v'\equiv 0,g'\equiv 0}. Все нежелательные сигналы в dk {\ displaystyle d_ {k}}d_ {k} представлены как uk {\ displaystyle u_ {k}}u_ {k} . xk {\ displaystyle \ x_ {k} }\ x_ {k} полностью состоит из сигнала, коррелированного с нежелательным сигналом в uk {\ displaystyle u_ {k}}u_ {k} .

Выход переменного фильтра в идеальном случае равен

yk = u ^ k {\ displaystyle y_ {k} = {\ hat {u}} _ {k}}y_ {k} = {\ hat {u}} _ {k} .

Сигнал ошибки или функция стоимости - это разница между dk {\ displaystyle d_ { k}}d_ {k} и yk {\ displaystyle y_ {k}}y_ {k}

ϵ k = dk - yk = gk + uk - u ^ k {\ displaystyle \ epsilon _ {k} = d_ {k} -y_ {k} = g_ {k} + u_ {k} - {\ hat {u}} _ {k}}\ epsilon _ {k} = d_ {k} -y_ {k} = g_ {k} + u_ {k} - {\ hat {u}} _ {k} . Полезный сигнал g k проходит без изменения.

Сигнал ошибки ϵ k {\ displaystyle \ epsilon _ {k}}\ epsilon _ {k} минимизируется в среднем квадрате смысл, когда [uk - u ^ k] {\ displaystyle [u_ {k} - {\ hat {u}} _ {k}]}[u_ {k} - {\ hat {u}} _ {k}] минимизирован. Другими словами, u ^ k {\ displaystyle {\ hat {u}} _ {k}}{\ hat {u}} _ { k} - это наилучшая среднеквадратичная оценка uk {\ displaystyle u_ {k}}u_ {k} . В идеальном случае uk = u ^ k {\ displaystyle u_ {k} = {\ hat {u}} _ {k}}u_ {k} = {\ hat {u}} _ {k} и ϵ k = gk {\ displaystyle \ epsilon _ {k} = g_ {k}}\ ep silon _ {k} = g_ {k} , и все, что остается после вычитания, это g {\ displaystyle g}g , который является неизменным желаемым сигналом с все нежелательные сигналы удалены.

компоненты сигнала в опорном входе

В некоторых ситуациях опорный вход х к {\ displaystyle X_ {к}}x_ {k} включает в себя компоненты полезного сигнала. Это означает, что g '0.

Полное подавление нежелательных помех в данном случае невозможно, но возможно улучшение отношения сигнал / помеха. Результатом будет

ϵ k = dk - yk = gk - g ^ k + uk - u ^ k {\ displaystyle \ epsilon _ {k} = d_ {k} -y_ {k} = g_ {k} - {\ hat {g}} _ {k} + u_ {k} - {\ hat {u}} _ {k}}\ epsilon _ {k} = d_ {k} -y_ {k} = g_ {k} - {\ hat {g}} _ {k} + u_ {k} - {\ hat {u}} _ {k} . Полезный сигнал будет изменен (обычно уменьшен).

Отношение выходного сигнала к помехе имеет простую формулу, называемую инверсией мощности.

ρ out (z) = 1 ρ ref (z) {\ displaystyle \ rho _ {\ mathsf {out}} (z) = {\ frac {1} {\ rho _ {\ mathsf {ref}} ( z)}}}\ rho _ {{{\ mathsf {out}}}} ( z) = {\ frac {1} {\ rho _ {{{\ mathsf {ref}}}} (z)}} .
где
ρ out (z) {\ displaystyle \ rho _ {\ mathsf {out}} (z) \}\ rho _ {{{\ mathsf {out}}}} (z) \ = отношение выходного сигнала к помехе.
ρ исх (г) {\ displaystyle \ Rho _ {\ mathsf {исх}} (г) \}\ rho _ {{{\ mathsf {ref}}}} (z) \ = опорный сигнал к помехе.
г {\ displaystyle г \}z \ = частота в Z-домена

Эта формула означает, что выходной сигнал к помехе на определенной частоте является обратной величиной опорного сигнала к помехе

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

Адаптивный линейный комбайнер

Блок-схема адаптивного линейного сумматора с отдельным блоком для процесса адаптации. Адаптивный линейный комбайнер, показывающий комбайнер и процесс адаптации. k = номер выборки, n = индекс входной переменной, x = эталонные входы, d = желаемый вход, W = набор коэффициентов фильтра, ε = вывод ошибок, Σ = суммирование, верхний прямоугольник = линейный сумматор, нижний прямоугольник = алгоритм адаптации. Компактная блок-схема адаптивного линейного сумматора без отдельного блока для процесса адаптации. Адаптивный линейный сумматор, компактное представление. k = номер выборки, n = индекс входной переменной, x = эталонные входы, d = желаемый вход, ε = выходной сигнал ошибки, Σ = суммирование.

Адаптивный линейный сумматор (ALC) похож на FIR-фильтр с адаптивной ответвленной линией задержки, за исключением того, что нет никакой предполагаемой связи между значениями X. Если бы значения X были на выходах линии задержки с ответвлениями, тогда комбинация линии задержки с ответвлениями и ALC составляла бы адаптивный фильтр. Однако значения X могут быть значениями массива пикселей. Или они могут быть выходами нескольких линий задержки с ответвлениями. ALC находит применение в качестве адаптивного формирователя луча для решеток гидрофонов или антенн.

yk = ∑ l = 0 L wlkxlk = W К T xk {\ displaystyle y_ {k} = \ sum _ {l = 0} ^ {L} w_ {lk} \ x_ {lk} = \ mathbf {W } _ {k} ^ {T} \ mathbf {x} _ {k}}{\ displaystyle y_ {k} = \ sum _ {l = 0} ^ {L} w_ {lk} \ x_ {lk} = \ mathbf {W} _ {k} ^ {T} \ mathbf {x} _ {k}}
где wlk {\ displaystyle w_ {lk}}w _ {{lk}} относится к l {\ displaystyle l}l - й вес в k - й момент времени.

Алгоритм LMS

Если переменный фильтр имеет структуру FIR с отводной линией задержки, то алгоритм обновления LMS особенно прост. Обычно после каждой выборки коэффициенты КИХ-фильтра регулируются следующим образом: (Уидроу)

для l = 0… L {\ displaystyle l = 0 \ dots L}l = 0 \ dots L
wl, k + 1 = wlk + 2 μ ϵ kxk - l {\ displaystyle w_ {l, k + 1} = w_ {lk} +2 \ mu \ \ epsilon _ {k} \ x_ {kl}}w _ {{l, k + 1}} = w _ {{lk}} + 2 \ mu \ \ epsilon _ {k} \ x _ {{kl}}
μ называется сходимостью коэффициент.

Алгоритм LMS не требует, чтобы значения X имели какое-либо конкретное отношение; поэтому его можно использовать для адаптации линейного сумматора, а также КИХ-фильтра. В этом случае формула обновления записывается как:

wl, k + 1 = wlk + 2 μ ϵ kxlk {\ displaystyle w_ {l, k + 1} = w_ {lk} +2 \ mu \ \ epsilon _ { k} \ x_ {lk}}w _ {{l, k + 1}} = w _ {{lk }} + 2 \ mu \ \ epsilon _ {k} \ x _ {{lk}}

Эффект алгоритма LMS состоит в том, чтобы каждый раз, k, вносить небольшое изменение в каждый вес. Направление изменения таково, что оно уменьшило бы ошибку, если бы оно было применено в момент времени k. Величина изменения каждого веса зависит от μ, соответствующего значения X и ошибки в момент времени k. Веса, вносящие наибольший вклад в результат, y k {\ displaystyle y_ {k}}y_ {k} , изменяются больше всего. Если ошибка равна нулю, значит, веса не должны изменяться. Если связанное значение X равно нулю, то изменение веса не имеет значения, поэтому оно не изменяется.

Сходимость

μ контролирует, насколько быстро и насколько хорошо алгоритм сходится к оптимальным коэффициентам фильтра. Если μ слишком велико, алгоритм не сойдется. Если μ слишком мало, алгоритм сходится медленно и может быть не в состоянии отслеживать изменяющиеся условия. Если μ велико, но не слишком велико для предотвращения сходимости, алгоритм быстро достигает установившегося состояния, но постоянно выходит за пределы оптимального вектора веса. Иногда μ сначала делают большим для быстрой сходимости, а затем уменьшают, чтобы минимизировать перерегулирование.

В 1985 году Уидроу и Стернс заявили, что им неизвестно доказательство того, что алгоритм LMS будет сходиться во всех случаях.

Однако при определенных предположениях о стационарности и независимости можно показать, что алгоритм сходится, если

0 < μ < 1 σ 2 {\displaystyle 0<\mu <{\frac {1}{\sigma ^{2}}}}0 <\ mu <{\ frac {1} {\ sigma ^ {2}}}
где
σ 2 = ∑ l = 0 L σ l 2 {\ displaystyle \ sigma ^ {2} = \ sum _ {l = 0} ^ {L} \ sigma _ {l} ^ {2}}\ sigma ^ {2} = \ sum _ { {l = 0}} ^ {L} \ sigma _ {l} ^ {2} = сумма всей входной мощности
σ l {\ displaystyle \ sigma _ {l}}\ sigma _ {l} - RMS значение l {\ displaystyle l}l '-й вход

В случае фильтра линии задержки с отводом каждый вход имеет одно и то же среднеквадратичное значение, потому что это просто одни и те же задержанные значения. В этом случае общая мощность составляет

σ 2 = (L + 1) σ 0 2 {\ displaystyle \ sigma ^ {2} = (L + 1) \ sigma _ {0} ^ {2}}\ sigma ^ {2} = (L + 1) \ sigma _ {0} ^ {2}
где
σ 0 {\ displaystyle \ sigma _ {0}}\ sigma _ {0} - это среднеквадратичное значение входящего потока xk {\ displaystyle x_ {k}}x_ {k} .

Это приводит к нормализованному алгоритму LMS:

wl, k + 1 = wlk + (2 μ σ σ 2) ϵ kxk - l {\ displaystyle w_ {l, k + 1} = w_ {lk} + \ left ({\ frac {2 \ mu _ {\ sigma}} {\ sigma ^ {2}}} \ right) \ epsilon _ {k} \ x_ {kl}}w _ {{l, k + 1}} = w _ {{lk}} + \ left ({\ frac {2 \ mu _ { {\ sigma}}} {\ sigma ^ {2}}} \ right) \ epsilon _ {k} \ x _ {{kl}} в этом случае Критериями сходимости становятся: 0 < μ σ < 1 {\displaystyle 0<\mu _{\sigma }<1}0 <\ mu _ {{\ sigma}} <1 .

Нелинейные адаптивные фильтры

Целью нелинейных фильтров является преодоление ограничений линейных моделей. Существует несколько часто используемых подходов: Volterra LMS, Адаптивный фильтр ядра, Адаптивный фильтр Spline и Адаптивный фильтр Урысона. Многие авторы включают в этот список и нейронные сети. Общая идея Volterra LMS и Kernel LMS заключается в замене выборок данных различными нелинейными алгебраическими выражениями. Для Volterra LMS это выражение: Серия Volterra. В Spline Adaptive Filter модель представляет собой каскад линейного динамического блока и статической нелинейности, который аппроксимируется сплайнами. В адаптивном фильтре Урысона линейные члены в модели

yi = ∑ j = 0 mwjxij {\ displaystyle y_ {i} = \ sum _ {j = 0} ^ {m} w_ {j} \ x_ {ij}}{\ displaystyle y_ {i} = \ sum _ {j = 0} ^ {m} w_ {j} \ x_ {ij}}

заменяются кусочно-линейными функциями

yi = ∑ j = 0 mfj (xij) {\ displaystyle y_ {i} = \ sum _ {j = 0} ^ {m} f_ {j} (x_ {ij })}{\ displaystyle y_ {i} = \ sum _ {j = 0} ^ {m} f_ {j} (x_ {ij})}

, которые определены из выборок данных.

Применение адаптивных фильтров

Реализации фильтров

См. Также

Ссылки

Источники

  • Hayes, Monson H. (1996). Статистическая обработка цифровых сигналов и моделирование. Вайли. ISBN 978-0-471-59431-4.
  • Хайкин, Саймон (2002). Теория адаптивного фильтра. Прентис Холл. ISBN 978-0-13-048434-5.
  • Уидроу, Бернард; Стернс, Сэмюэл Д. (1985). Адаптивная обработка сигналов. Энглвуд Клиффс, Нью-Джерси: Prentice Hall. ISBN 978-0-13-004029-9.
Последняя правка сделана 2021-06-10 00:07:24
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте