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

EngeeDSP.AdaptiveLatticeFilter

Адаптивный решетчатый фильтр.

Библиотека

EngeeDSP

Описание

Системный объект EngeeDSP.AdaptiveLatticeFilter вычисляет выходные данные, ошибку и коэффициенты, используя адаптивный КИХ-фильтр на основе решетки.

Чтобы реализовать системный объект адаптивного КИХ-фильтра, выполните следующие действия:

  1. Создайте объект EngeeDSP.AdaptiveLatticeFilter и установите его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Чтобы узнать подробнее о том, как работать с системными объектами, см. Системные объекты Engee.

Синтаксис

Создание

  • alf = EngeeDSP.AdaptiveLatticeFilter() — возвращает системный объект alf адаптивного КИХ-фильтра на основе решетки. Этот системный объект вычисляет отфильтрованный выходной сигнал и ошибку фильтра для заданного входного сигнала и желаемого сигнала.

  • alf = EngeeDSP.AdaptiveLatticeFilter(len) — возвращает системный объект alf, у которого для свойства Length установлено значение len.

  • alf = EngeeDSP.AdaptiveLatticeFilter(Name=Value) — возвращает объект адаптивного КИХ-фильтра alf с заданными свойствами в виде пары Name=Value, где Name — имя свойства, а Value — соответствующее значение. Можно указать несколько пар «имя-значение», порядок пар не имеет значения. Неуказанные свойства сохраняют свои значения по умолчанию.

    Пример:

    # создание системного объекта адаптивного КИХ-фильтра c длиной 16
    alf = EngeeDSP.AdaptiveLatticeFilter(Length = 16)

Использование

  • у,err = alf(x,d) — фильтрует входной сигнал x, используя d в качестве желаемого сигнала, и возвращает отфильтрованный выходной сигнал в y и ошибку фильтра в err. Системный объект оценивает весовые коэффициенты фильтра, необходимые для минимизации ошибки между выходным сигналом и желаемым сигналом. Доступ к этим коэффициентам можно получить, обратившись к свойству Coefficients объекта. Это можно сделать только после вызова объекта. Например, чтобы получить доступ к оптимизированным коэффициентам фильтра alf, вызовите alf.Coefficients после передачи входного и желаемого сигналов объекту.

Аргументы

Входные аргументы

# x — входные данные
скаляр | вектор-столбец

Details

Сигнал, который необходимо отфильтровать с помощью адаптивного решетчатого фильтра. Входной сигнал x и желаемый сигнал d должны иметь одинаковый размер и тип данных.

Входной сигнал может быть переменного размера. Вы можете изменять количество элементов в векторе-столбце даже при блокировке объекта. Системный объект блокируется при вызове объекта.

Типы данных

Float32, Float64

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

Да

# d — желаемый сигнал
скаляр | вектор-столбец

Details

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

Входной сигнал x и желаемый сигнал d должны иметь одинаковый размер и тип данных.

Желаемый сигнал может быть переменного размера. Вы можете изменять количество элементов в векторе-столбце даже при блокировке объекта. Системный объект блокируется при вызове объекта.

Типы данных

Float32, Float64

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

Да

Выходные аргументы

# y — отфильтрованный выходной сигнал
скаляр | вектор-столбец

Details

Отфильтрованный выходной сигнал, возвращаемый в виде скаляра или вектора-столбца. Объект адаптирует коэффициенты фильтра для сходимости входного сигнала x к желаемому сигналу d. Фильтр выдает на выходе сходящийся сигнал.

Типы данных

Float32, Float64

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

Да

# err — разница между выходным и желаемым сигналом
скаляр | вектор-столбец

Details

Разница между выходным сигналом y и желаемым сигналом d, возвращаемая в виде скаляра или вектора-столбца. Цель адаптивного решетчатого фильтра — минимизировать эту ошибку. Объект адаптирует свои коэффициенты для сходимости к оптимальным коэффициентам фильтра, которые обеспечивают выходной сигнал, максимально приближенный к желаемому сигналу. Для доступа к коэффициентам адаптивного решетчатого фильтра вызовите alf.Coefficients после передачи входного и желаемого сигналов в алгоритм объекта.

Типы данных

Float32, Float64

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

Да

Свойства

# Length — длина вектора коэффициентов фильтра
Real number

Details

Длина вектора коэффициентов КИХ-фильтра, заданная в виде положительного целого числа.

# Method — метод расчета коэффициентов фильтра
String

Details

Метод, используемый для расчета коэффициентов фильтра, заданный как один из следующих вариантов:

  • "Least-squares Lattice" (по умолчанию);

  • "QR-decomposition Least-squares Lattice";

  • "Gradient Adaptive Lattice".

Алгоритмы, используемые для реализации этих трех различных методов, см. в [1] и [2].

# Offset — смещение для знаменателя нормализующего члена StepSize
Real number

Details

Значение смещения для знаменателя нормализующего члена StepSize, заданное в виде неотрицательного скаляра. Ненулевое смещение помогает избежать ситуации деления на почти нуль, когда амплитуда входного сигнала очень мала.

Зависимости

Чтобы использовать это свойство, установите для свойства Method значение "Gradient Adaptive Lattice".

# ReflectionStepSize — размер шага процесса отражения

Details

Размер шага процесса отражения градиентного адаптивного решетчатого фильтра, заданный в виде положительного скаляра от 0 до 1 включительно. Значение по умолчанию — значение свойства StepSize.

Зависимости

Чтобы использовать это свойство, установите для свойства Method значение "Gradient Adaptive Lattice".

# ForgettingFactor — среднеквадратичный коэффициент забывания решетки
Real number

Details

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

Зависимости

Чтобы использовать это свойство, установите для свойства Method значение "Least-squares Lattice" или "QR-decomposition Least-squares Lattice".

# InitialPredictionErrorPower — начальная мощность ошибки прогнозирования
Real number

Details

Начальные значения для векторов ошибки прогнозирования, заданные в виде положительного скаляра.

Если для свойства Method установлено значение "Least-squares Lattice" или "QR-decomposition Least-squares Lattice", то значение по умолчанию равно 1.0. Если для свойства Method установлено значение "Gradient Adaptive Lattice", то значение по умолчанию равно 0.1.

# InitialCoefficients — начальные коэффициенты фильтра

Details

Начальные значения коэффициентов адаптивного КИХ-фильтра, заданные в виде скаляра или вектора длиной, равной значению свойства Length.

# StepSize — размер шага совместного процесса градиентного адаптивного фильтра
Real number

Details

Размер шага совместного процесса градиентного адаптивного решетчатого фильтра, заданный в виде положительного скаляра, меньшего или равного 1.

Зависимости

Чтобы использовать это свойство, установите для свойства Method значение "Gradient Adaptive Lattice".

# AveragingFactor — коэффициент усреднения оценки энергии
Real number

Details

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

Зависимости

Чтобы использовать это свойство, установите для свойства Method значение "Gradient Adaptive Lattice".

# LockCoefficients — статус блокировки обновлений коэффициентов

Details

Укажите, следует ли блокировать значения коэффициентов фильтра. По умолчанию значение этого свойства равно false, и объект постоянно обновляет коэффициенты фильтра. Если для этого свойства установлено значение true, коэффициенты фильтра не обновляются, и их значения остаются неизменными.

Зависимости

Чтобы использовать это свойство, установите для свойства Method значение "Gradient Adaptive Lattice".

Методы

Общие для всех системных объектов

step!

Запустить алгоритм работы системного объекта

release!

Разрешить изменение значения свойства системного объекта

reset!

Сброс внутренних состояний системного объекта

Литература

  1. Griffiths, Lloyd J. «A Continuously Adaptive Filter Implemented as a Lattice Structure». Proceedings of IEEE Int. Conf. on Acoustics, Speech, and Signal Processing, Hartford, CT, pp. 683–686, 1977.

  2. Haykin, S. Adaptive Filter Theory, 4th Ed. Upper Saddle River, NJ: Prentice Hall, 1996.