Frequency-Domain FIR Filter

Отфильтруйте входной сигнал в частотном диапазоне

  • Библиотека:
  • DSP System Toolbox / Фильтрующий / Реализации Фильтра

  • Frequency-Domain FIR Filter block

Описание

Блок Frequency-Domain FIR Filter реализует частотный диапазон, быстрое преобразование Фурье (FFT) - базирующаяся фильтрация, чтобы отфильтровать входной сигнал потоковой передачи. Во временном интервале операция фильтрации включает свертку между входом и импульсной характеристикой фильтра конечной импульсной характеристики (FIR). В частотном диапазоне операция фильтрации включает умножение преобразования Фурье входа и преобразования Фурье импульсной характеристики. Фильтрация частотного диапазона становится более эффективной, чем временной интервал, фильтрующий, когда импульсная характеристика становится более длинной. Можно задать коэффициенты фильтра непосредственно в частотном диапазоне установкой Numerator domain к Frequency.

Этот блок использует сохранение перекрытие и методы перекрытия-суммы, чтобы выполнить фильтрацию частотного диапазона. Для фильтров с долгой длиной импульсной характеристики задержка, свойственная к этим двум методам, может быть значительной. Чтобы смягчить эту задержку, блок Frequency-Domain FIR Filter делит импульсную характеристику в более короткие блоки и реализует сохранение перекрытие и методы перекрытия-суммы на этих более коротких блоках. Чтобы разделить импульсную характеристику, установите флажок Partition numerator to reduce latency. Для получения дополнительной информации об этих двух методах и при сокращении задержки посредством разделения импульсной характеристики, см. Алгоритмы.

Порты

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

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

Ввод данных в виде вектора или матрицы. Этот блок поддерживает входные сигналы переменного размера. Таким образом, можно изменить размер входного кадра (количество строк) даже после вызова алгоритма. Однако количество каналов (количество столбцов) должно остаться постоянным.

Этот порт без имени, пока вы не выбираете параметр Specify coefficients from input port.

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

КИХ области времени фильтрует коэффициенты в виде вектора-строки.

Зависимости

Этот порт появляется, когда вы устанавливаете Numerator domain на Time и выберите параметр Specify coefficients from input port.

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

КИХ частотного диапазона фильтрует коэффициенты в виде вектора-строки или матрицы. Когда вы очищаете параметр Partition numerator to reduce latency, содействующий вход через этот порт должен быть вектором-строкой. Длина БПФ равна длине векторного входа. Когда вы выбираете параметр Partition numerator to reduce latency, Frequency response должен быть матрицей 2P-by-N, где P является размером раздела, и N является количеством разделов.

Зависимости

Этот порт появляется, когда вы устанавливаете Numerator domain на Frequency и выберите параметр Specify frequency response from input port.

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

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

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

Фильтрованный выходной параметр, возвращенный как вектор или матрица. Размер, тип данных и сложность выхода совпадают с теми из входа.

Этот порт без имени, пока вы не выбираете параметр Output filter latency и нажимаете Apply.

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

Отфильтруйте задержку, возвращенную как скаляр. Эта задержка свойственна, чтобы перекрыться - добавляют и сохраняют перекрытие методы, и не включает групповую задержку фильтра. Этот порт появляется только, когда вы устанавливаете флажок Output filter latency.

Этот порт без имени, пока вы не устанавливаете флажок Output filter latency и нажимаете Apply.

Типы данных: uint32

Параметры

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

Фильтрация метода в частотном диапазоне в виде любого Overlap-save или Overlap-add. Для получения дополнительной информации об этих двух методах см. Алгоритмы

Область коэффициентов фильтра в виде одного из следующего:

  • Time – Задайте коэффициенты фильтра временного интервала в параметре Filter coefficients или через входной порт NUM.

  • Frequency – Задайте частотную характеристику фильтра в параметре Frequency response или через входной порт NUMFFT.

Когда вы устанавливаете этот флажок, КИХ-коэффициенты фильтра вводятся через порт, NUM. Когда вы снимаете этот флажок, коэффициенты заданы на диалоговом окне блока через параметр Filter coefficients.

Чтобы просмотреть ответ фильтра, снимите этот флажок, задайте коэффициенты на диалоговом окне блока и нажмите на кнопку View Filter Response.

Зависимости

Чтобы включить этот параметр, установите Numerator domain на Time.

КИХ-коэффициенты фильтра в виде вектора-строки.

Зависимости

Чтобы включить этот параметр, установите Numerator domain на Time и очистите параметр Specify coefficients from input port.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Поддержка комплексного числа: Да

Когда вы устанавливаете этот флажок, КИХ-коэффициенты фильтра в частотном диапазоне вводятся через порт, NUMFFT. Когда вы снимаете этот флажок, коэффициенты заданы на диалоговом окне блока через параметр Frequency response.

Чтобы просмотреть ответ фильтра, снимите этот флажок, задайте частотную характеристику на диалоговом окне блока и нажмите на кнопку View Filter Response.

Зависимости

Чтобы включить этот параметр, установите Numerator domain на Frequency.

Частотная характеристика фильтра в виде вектора-строки или матрицы. Когда вы очищаете параметр Partition numerator to reduce latency, Frequency response должен быть вектором-строкой. Длина БПФ равна длине вектора Frequency response. Когда вы выбираете параметр Partition numerator to reduce latency, Frequency response должен быть матрицей 2P-by-N, где P является размером раздела, и N является количеством разделов.

Зависимости

Чтобы включить этот параметр, установите Numerator domain на Frequency и очистите параметр Specify frequency response from input port.

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

Отметьте, чтобы разделить числитель, чтобы уменьшать задержку в виде одного из следующего:

  • прочь – фильтр использует традиционное сохранение перекрытие или метод перекрытия-суммы. Задержка в этом случае является длиной БПФ – NumLen + 1. NumLen является длиной вектора числителя, который вы задаете в параметре Filter coefficients.

  • на – В этом режиме, блок делит числитель в сегменты длины, заданной параметром Numerator partition length. Фильтр выполняет, сохраняют перекрытие или перекрываются - прибавляют каждый раздел, и комбинирует частичные результаты сформировать полный выход. Задержка теперь уменьшается до длины раздела.

Длина раздела числителя в виде положительного целого числа, меньше чем или равного длине числителя.

Зависимости

Этот параметр применяется только, когда вы устанавливаете Numerator domain на Time и выберите параметр Partition numerator to reduce latency.

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

Длина числителя временного интервала в виде положительного скаляра с целочисленным знаком.

Зависимости

Этот параметр применяется только, когда вы устанавливаете Numerator domain на Frequency и снимите флажок Partition numerator to reduce latency.

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

Когда вы устанавливаете этот флажок, длина БПФ равняется дважды длине числителя. Когда вы снимаете этот флажок, вы задаете длину БПФ через параметр FFT length.

Зависимости

Этот параметр применяется только, когда вы устанавливаете Numerator domain на Time и очистите параметр Partition numerator to reduce latency.

Длина БПФ, которую вы задаете, должна быть больше или быть равна длине вектора числителя, который вы задаете в параметре Filter coefficients.

Зависимости

Этот параметр применяется, когда вы устанавливаете Numerator domain на Time, очистите Partition numerator to reduce latency и параметры Inherit FFT length from numerator length.

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

Отметьте, чтобы задать, действителен ли фильтр в виде true или false.

Зависимости

Этот параметр применяется когда Numerator domain к Frequency.

Когда вы устанавливаете этот флажок и нажимаете Apply, блок выводит задержку фильтра через порт latency.

Открывает Инструмент Визуализации Фильтра (FVTool) и отображает величину/фазовый отклик КИХ-фильтра. Ответ основан на диалоговых параметрах блока. Изменения, внесенные в эти параметры, обновляют FVTool.

Чтобы обновить ответ величины, в то время как FVTool запускается, измените диалоговые параметры блока и нажмите Apply.

Просмотреть ответ фильтра, когда Numerator domain установлен в Time, снимите флажок Specify coefficients from input port. Просмотреть ответ фильтра, когда Numerator domain установлен в Frequency, снимите флажок Specify frequency response from input port.

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

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

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

Типы данных

double | single

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

no

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

no

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

yes

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

no

Алгоритмы

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

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

Ссылки

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

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

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

Введенный в R2017b