Документация Engee

Levinson-Durbin

Решение линейной системы уравнений с помощью рекурсии Левинсона — Дурбина.

levinson durbin

Описание

Блок Levinson-Durbin решает систему линейных уравнений n-го порядка

в тех случаях, когда:

  • — Эрмитова положительно-определенная матрица Тёплица.

  • — совпадает с первым столбцом R, сдвинутым на один элемент и имеющим противоположный знак:

Вход блока может быть вектором или матрицей. Если на входе матрица, то блок рассматривает каждый столбец как независимый сигнал и решает его отдельно. Каждый сигнал входного сигнала содержит лаги автокорреляционной последовательности от 0 до n, которые фигурируют в матрице R.

Блок может выводить коэффициенты полинома A, коэффициенты отражения K и мощность ошибки предсказания P в различных комбинациях. Параметр Output(s) позволяет включить выходы A и K, выбрав одну из следующих настроек:

  • A — для каждого сигнала порт A выводит — решение уравнения Левинсона — Дурбина. A имеет ту же размерность, что и вход. Элементы каждого выходного сигнала можно также рассматривать как коэффициенты авторегрессионного процесса n-го порядка (AR).

  • K — для каждого сигнала порт K выводит , который содержит n коэффициентов отражения и имеет ту же размерность, что и вход, за вычетом одного элемента. Скалярный входной сигнал вызывает ошибку при выборе K. Коэффициенты отражения можно использовать для реализации решетчатого представления процесса AR, описанного далее на этой странице.

  • A and K — блок выводит оба варианта на соответствующие порты. Скалярный входной сигнал вызывает ошибку при выборе значения A and K.

Установите флажок Output prediction error power (P), чтобы вывести мощность ошибки предсказания для каждого сигнала, P. Для каждого сигнала P представляет собой мощность выхода FIR-фильтра с отводами A и входной автокорреляцией, описываемой r, где A представляет фильтр ошибки предсказания, а r — вход блока. В данном случае A — это разделительный фильтр. P имеет по одному элементу на каждый входной сигнал.

При установке флажка If the value of lag 0 is zero, A=[1 zeros], K=[zeros], P=0 (по умолчанию) входной сигнал, элемент r(1) которого равен нулю, формирует выход с нулевым значением. При снятии этого флажка входной сигнал генерирует на выходе NaN. В общем случае вход является недействительным, так как не строит положительно-определенную матрицу R. Однако часто в начале моделирования блоки получают входы с нулевым значением. Флажок позволяет избежать распространения NaN в этот период.

Применение

Одно из применений формулы Левинсона — Дурбина, реализованной в этом блоке, — это AR-задача Юла — Уокера, которая заключается в моделировании неизвестной системы как авторегрессионного процесса. Такой процесс можно смоделировать как выход всеполюсного IIR-фильтра с белым гауссовским шумом на входе. В задаче Юла — Уокера использование автокорреляционной последовательности сигнала для получения оптимальной оценки приводит к уравнению приведенного выше вида, которое наиболее эффективно решается с помощью рекурсии Левинсона — Дурбина. В этом случае вход блока представляет собой автокорреляционную последовательность, а r(1) — значение нулевого запаздывания. Выходной сигнал на порту A блока содержит коэффициенты авторегрессионного процесса, оптимально моделирующего систему. Коэффициенты упорядочены по убыванию силы z, а сам AR-процесс имеет минимальную фазу. Ошибка предсказания определяет коэффициент усиления для неизвестной системы:

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

Другим распространенным применением алгоритма Левинсона — Дурбина является линейное предсказательное кодирование, целью которого является нахождение коэффициентов процесса скользящего среднего (СС) (или FIR-фильтра), предсказывающего следующее значение сигнала по текущей выборке сигнала и конечному числу прошлых выборок. В этом случае вход блока представляет собой автокорреляционную последовательность сигнала, где r(1) — значение нулевого запаздывания, а выход на порте A блока содержит коэффициенты предсказывающего МА-процесса (в степени убывания z).

Эти коэффициенты решают следующую оптимизационную задачу:

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

Алгоритм

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

Порты

Вход

Port_1 — входной сигнал
скаляр | вектор | матрица

Входной сигнал.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Выход

K — решение линейной системы уравнений
скаляр | вектор | матрица

Выходной сигнал; решение линейной системы уравнений. Выходной сигнал имеет тот же размер, что и входной сигнал.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Параметры

Output(s) — вид данных на выходе
K (по умолчанию) | A | A and K

Укажите, какое представление решения следует выводить: коэффициенты модели (A), коэффициенты отражения (K) или оба (A and K). Если на вход подается скаляр или вектор строк, то для этого параметра необходимо установить значение A.

Output prediction error power (P) — выводить мощность ошибки предсказания (P)
выключено (по умолчанию) | включено

Выберите вывод ошибки предсказания на порт P.

If the value of lag 0 is zero, A=[1 zeros], K=[zeros], P=0 — реакция на нулевой первый элемент входа
выключено (по умолчанию) | включено

Если флажок установлен и первый элемент входа r(1) равен нулю, то блок выводит следующие векторы, соответственно:

  • A = [1 zeros(1,n)]

  • K = [zeros(1,n)]

  • P = 0

Если снять этот флажок, то для каждого сигнала, элемент r(1) которого равен нулю, блок выдает вектор NaN.