Frequency-Domain Adaptive Filter

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

  • Библиотека:
  • DSP System Toolbox / Фильтрующий / Адаптивные Фильтры

  • Frequency-Domain Adaptive Filter block

Описание

Реализации блока Frequency-Domain Adaptive Filter адаптивная конечная импульсная характеристика (FIR) просачиваются частотный диапазон с помощью быстрого алгоритма наименьшее количество средних квадратичных (LMS) блока. Filter length и параметры Block length задают длину фильтра, и длина блока оценивает использование алгоритма. Когда вы устанавливаете флажок Output filter FFT coefficients, блок выводит дискретное преобразование Фурье текущих коэффициентов фильтра. Блок предлагает ограниченные и неограниченные версии алгоритма с разделенными и неразделенными режимами. Для получения дополнительной информации см. Алгоритмы.

Порты

Входной параметр

развернуть все

Сигнал, который будет отфильтрован КИХ частотного диапазона адаптивный фильтр. Ввод данных и желаемый вход сигнала должны иметь тот же размер и тип данных. Длина входного вектора должна быть делимой значением параметров Block length.

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

Типы данных: single | double
Поддержка комплексного числа: Да

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

Ввод данных и желаемый сигнал должны иметь тот же размер и тип данных. Длина желаемого сигнального вектора должна быть делимой значением параметров Block length.

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

Типы данных: single | double
Поддержка комплексного числа: Да

Фактор размера шага адаптации в виде действительного скаляра в области значений (0,1]. Используя небольшой шаг размер гарантирует небольшую установившуюся ошибку. Однако размер небольшого шага уменьшает получившуюся быстроту сходимости адаптивного фильтра. Увеличение размера шага улучшает быстроту сходимости, за счет увеличенной установившейся среднеквадратической ошибки. Когда значением размера шага является 1, алгоритм обеспечивает оптимальный компромисс между быстротой сходимости и установившейся среднеквадратической ошибкой.

Зависимости

Этот порт появляется, когда вы выбираете параметр Specify step size from port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Фактор утечки, используемый в текучем адаптивном фильтре в виде действительного скаляра в области значений (0,1]. Когда значение меньше 1, блок реализует текучий адаптивный алгоритм. Когда значением является 1, блок не обеспечивает утечки в методе адаптации.

Зависимости

Этот порт появляется, когда вы устанавливаете флажок Specify leakage factor from port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Усреднение фактора использовалось для расчета экспоненциально оконных степеней входного сигнала быстрого преобразования Фурье (FFT) в содействующих обновлениях в виде действительного скаляра в области значений (0,1].

Зависимости

Этот порт появляется, когда вы устанавливаете флажок Specify averaging factor from port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

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

Зависимости

Этот порт появляется, когда вы устанавливаете флажок Specify offset from port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

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

Зависимости

Этот порт появляется, когда вы устанавливаете флажок Enable adapt port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Если вы вводите ненулевое скалярное значение через этот порт, блок сбрасывает все внутренние состояния. Если вы вводите нуль через этот порт, внутренние состояния не сбрасываются.

Зависимости

Этот порт появляется, когда вы устанавливаете флажок Enable reset port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Вывод

развернуть все

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

Типы данных: single | double
Поддержка комплексного числа: Да

Различие между выходным сигналом и желаемым сигналом, возвращенным как вектор-столбец. Цель адаптивного фильтра состоит в том, чтобы минимизировать эту ошибку. Блок адаптирует свои веса, чтобы сходиться к оптимальным весам фильтра, которые производят выходной сигнал, который совпадает с желаемым сигналом максимально тесно. Для получения дополнительной информации о том, как вычисляется Error, смотрите Ссылки.

Типы данных: single | double
Поддержка комплексного числа: Да

Текущее дискретное преобразование Фурье коэффициентов фильтра, возвращенных как вектор-строка. Для Constrained FDAF и Unconstrained FDAF алгоритмы, длина этого вектора равна сумме значения Filter length и значения Block length. Этот порт первоначально выводит значения БПФ параметра Initial time-domain coefficients. Во время симуляции модели, это выходы порта значения БПФ текущих коэффициентов фильтра.

Зависимости

Этот порт появляется, когда вы устанавливаете флажок Output filter FFT coefficients.

Типы данных: single | double
Поддержка комплексного числа: Да

Параметры

развернуть все

Метод раньше вычислял коэффициенты фильтра в виде::

  • Constrained FDAF – Налагает ограничение градиента на веса касания фильтра.

  • Partitioned constrained FDAF – Делит импульсную характеристику фильтра, чтобы уменьшать задержку.

  • Unconstrained FDAF – Никакое ограничение градиента не наложено на веса касания фильтра.

  • Partitioned unconstrained FDAF – Делит импульсную характеристику фильтра, чтобы уменьшать задержку. Никакое ограничение градиента не наложено на веса касания фильтра.

Для получения дополнительной информации см. Алгоритмы.

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

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

Когда вы устанавливаете этот флажок, размер шага адаптации вводится через порт Mu. Когда вы снимаете этот флажок, размер шага задан на диалоговом окне блока через параметр Step size.

Фактор размера шага адаптации в виде действительного скаляра в области значений (0,1]. Установка параметра Step size на 1 обеспечивает самую быструю сходимость во время адаптации.

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

Зависимости

Этот параметр появляется, когда вы снимаете флажок Specify step size from port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Когда вы устанавливаете этот флажок, фактор утечки вводится через порт Leak. Когда вы снимаете этот флажок, фактор утечки задан на диалоговом окне блока через параметр Leakage factor.

Фактор утечки, используемый в текучем адаптивном фильтре в виде действительного скаляра в области значений (0,1]. Когда значение меньше 1, блок реализует текучий адаптивный алгоритм. Когда значением является 1, блок не обеспечивает утечки в методе адаптации.

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

Зависимости

Этот параметр появляется, когда вы снимаете флажок Specify leakage factor from port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Когда вы устанавливаете этот флажок, фактор усреднения для степени сигнала вводится через порт Avrg. Когда вы снимаете этот флажок, фактор усреднения задан на диалоговом окне блока через параметр Averaging factor.

Усреднение фактора использовалось для расчета экспоненциально оконных степеней входного сигнала БПФ в содействующих обновлениях в виде действительного скаляра в области значений (0,1].

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

Зависимости

Этот параметр появляется, когда вы снимаете флажок Specify averaging factor from port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

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

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

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

Зависимости

Этот параметр появляется, когда вы снимаете флажок Specify offset from port.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Начальное общее значение всех степеней входного сигнала БПФ в виде положительного значения числового скаляра.

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

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

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

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

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

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

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

Когда вы устанавливаете этот флажок, входной порт Reset включен. Если вы вводите ненулевое скалярное значение через этот порт, блок сбрасывает все внутренние состояния. Если вы вводите нуль через этот порт, внутренние состояния не сбрасываются.

Когда вы устанавливаете этот флажок, выходной порт FFTCoeffs включен. Через этот порт блок выводит дискретное преобразование Фурье текущих коэффициентов фильтра.

  • Code generation

    Симулируйте модель с помощью сгенерированного кода C. В первый раз вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска, но обеспечивает более быструю скорость симуляции, чем Interpreted execution.

  • Interpreted execution

    Симулируйте модель с помощью MATLAB®  интерпретатор. Эта опция сокращает время запуска, но имеет более медленную скорость симуляции, чем Code generation.

Характеристики блока

Типы данных

double | single

Прямое сквозное соединение

no

Многомерные сигналы

no

Сигналы переменного размера

yes

Обнаружение пересечения нулем

no

Алгоритмы

развернуть все

Частотный диапазон адаптивная фильтрация состоит из трех шагов - фильтрация, оценка погрешности и адаптация веса касания. Этот алгоритм реализует КИХ, просачивающегося частотный диапазон с помощью сохранения перекрытие или метода перекрытия-суммы. Для получения дополнительной информации реализации этих двух методов смотрите раздел Algorithms в dsp.FrequencyDomainFIRFilter объектная страница. Оценка погрешности и адаптация веса касания реализованы с помощью быстрого LMS-алгоритма блока (FBLMS).

Ссылки

[1] Shynk, J.J. "Частотный диапазон и Многоскоростная Адаптивная Фильтрация". Журнал Обработки сигналов IEEE, Издание 9, № 1, стр 14–37, январь 1992.

[2] Farhang-Boroujeny, B., адаптивные фильтры: теория и приложения, Чичестер, Англия, Вайли, 1998.

[3] Stockham, T. G. "Скоростная Свертка младшая и Корреляция". Продолжения 1 966 Компьютерных Конференций по Соединению Spring, AFIPS, Vol 28, 1966, стр 229–233.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2018a