Частотный диапазон адаптивный фильтр

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

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

Описание

Реализации блока 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