exponenta event banner

Фильтр FIR частотной области

Фильтрация входного сигнала в частотной области

  • Библиотека:
  • Системная панель инструментов DSP/фильтрация/реализация фильтров

  • Frequency-Domain FIR Filter block

Описание

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

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

Порты

Вход

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

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

Этот порт не называется до тех пор, пока не будет выбран параметр Specify coefficients from input port.

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

Коэффициенты фильтра FIR временной области, заданные как вектор строки.

Зависимости

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

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

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

Зависимости

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

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

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

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

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

Этот порт не называется, пока не будет выбран параметр Задержка выходного фильтра и не нажата кнопка Применить.

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

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

Этот порт не называется, пока вы не установите флажок Задержка выходного фильтра (Output filter latency) и не нажмете кнопку Применить (Apply).

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

Параметры

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

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

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

  • Time -- Укажите коэффициенты фильтра временной области в параметре Filter cofficients или через входной порт NUM.

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

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

Для просмотра ответа фильтра снимите этот флажок, укажите коэффициенты в диалоговом окне блока и нажмите кнопку «Просмотр ответа фильтра».

Зависимости

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

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

Зависимости

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

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

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

Чтобы просмотреть отклик фильтра, снимите этот флажок, укажите частотный отклик в диалоговом окне блока и нажмите кнопку «Просмотреть отклик фильтра».

Зависимости

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

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

Зависимости

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

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

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

  • off - фильтр использует традиционный метод наложения-сохранения или наложения-добавления. Задержка в этом случае составляет FFT length - NumLen + 1. NumLen - длина числительного вектора, заданного в параметре Коэффициенты фильтра.

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

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

Зависимости

Этот параметр применяется только в том случае, если для области числителя задано значение Time и выберите параметр Partition numerator для уменьшения задержки.

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

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

Зависимости

Этот параметр применяется только в том случае, если для области числителя задано значение Frequency и снимите флажок Нумератор разделов для уменьшения задержки.

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

Если этот флажок установлен, длина БПФ в два раза больше длины числителя. Если этот флажок снят, длина БПФ задается с помощью параметра длины БПФ.

Зависимости

Этот параметр применяется только в том случае, если для области числителя задано значение Time и снимите параметр Partition numerator для уменьшения задержки.

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

Зависимости

Этот параметр применяется при установке домена числителя в значение Timeочистите числитель разделов, чтобы уменьшить время задержки, и параметр Inherit FFT length от параметров длины числителя.

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

Флаг, указывающий, является ли фильтр реальным, указанный как true или false.

Зависимости

Этот параметр применяется, когда домен числителя имеет значение Frequency.

При установке этого флажка и нажатии кнопки «Применить» блок выводит задержку фильтра через порт задержки.

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

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

Просмотр ответа фильтра, если для области числителя установлено значение Time, снимите флажок Указать коэффициенты из входного порта. Просмотр ответа фильтра, если для области числителя установлено значение Frequency, снимите флажок Specify frequency response from input port (Задать частотную характеристику

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

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

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

Типы данных

double | single

Прямой проход

no

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

no

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

yes

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

no

Алгоритмы

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

Наложение - сохранение и наложение - это два метода фильтрации на основе FFT частотной области, используемые этим алгоритмом.

Ссылки

[1] Штокам, Т. Г., младший «Высокоскоростное свертывание и корреляция». Материалы Весенней совместной компьютерной конференции 1966 года, AFIPS, 28 (1966): 229-233.

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2017b