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

Levinson-Durbin

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

Тип: LevinsonDurbin

Путь в библиотеке:

/Signal Operations/Math Functions/Matrices and Linear Algebra/Linear System Solvers/Levinson-Durbin

Описание

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

где

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

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

    .

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

Применение

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

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

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

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

б

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

Алгоритм

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

Порты

Вход

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

Details

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

Типы данных

Float32, Float64, Int8, Int16, Int32

Поддержка комплексных чисел

Нет

Выход

# K — коэффициенты отражения
вектор | матрица

Details

Коэффициенты отражения , возвращаемые в виде вектора или матрицы. Выход K имеет ту же размерность, что и вход IN_1, за вычетом одного элемента.

Для каждого канала порт K выводит , который содержит коэффициентов отражения.

Скалярный входной сигнал вызывает ошибку при использовании порта K. Коэффициенты отражения можно использовать для реализации решетчатого представления АР-процесса. Подробнее см. в разделе Применение.

Зависимости

Чтобы использовать этот порт, установите для параметра Output(s) значение K или A and K.

Типы данных

Float32, Float64, Int8, Int16, Int32

Поддержка комплексных чисел

Нет

# A — модель коэффициентов
вектор | матрица

Details

Модель коэффициентов , возвращаемая в виде вектора или матрицы. Выход A имеет ту же размерность, что и вход IN_1

Для каждого канала порт A выводит — решение уравнения Левинсона — Дурбина. Элементы каждого выходного сигнала можно также рассматривать как коэффициенты АР-процесса -го порядка.

Зависимости

Чтобы использовать этот порт, установите для параметра Output(s) значение A или A and K.

Типы данных

Float32, Float64, Int8, Int16, Int32

Поддержка комплексных чисел

Нет

# P — мощность ошибки предсказания
вектор

Details

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

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

Зависимости

Чтобы использовать этот порт, установите флажок Output prediction error power (P).

Типы данных

Float32, Float64, Int8, Int16, Int32

Поддержка комплексных чисел

Нет

Параметры

Основные

# Output(s) — вид данных на выходе
A and K | A | K

Details

Укажите, какое представление решения следует выводить:

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

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

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

Если на вход подается скаляр или вектор-строка, необходимо установить для этого параметра значение A.

Значения

A and K | A | K

Значение по умолчанию

K

Имя для программного использования

Outputs

Настраиваемый

Нет

Вычисляемый

Нет

# Output prediction error power (P) — выводить мощность ошибки предсказания
Логический тип

Details

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

Значение по умолчанию

false (выключено)

Имя для программного использования

OutputPredictionErrorPower

Настраиваемый

Нет

Вычисляемый

Нет

# If the value of lag 0 is zero, A=[1 zeros], K=[zeros],P=0 — поведение блока при нулевом первом элементе входа
Логический тип

Details

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

  • ;

  • ;

  • .

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

Значение по умолчанию

true (включено)

Имя для программного использования

IfValueOfLag

Настраиваемый

Нет

Вычисляемый

Нет

Литература

  1. Golub, G. H. and C. F. Van Loan. Sect. 4.7 in Matrix Computations. 3rd ed. Baltimore, MD: Johns Hopkins University Press, 1996.

  2. Ljung, L. System Identification: Theory for the User. Englewood Cliffs, NJ: Prentice Hall, 1987. Pgs. 278–280.

  3. Kay, Steven M. Modern Spectral Estimation: Theory and Application. Englewood Cliffs, NJ: Prentice Hall, 1988.