Frequency-Domain FIR Filter

Пропустите входной сигнал в частотный диапазон

  • Библиотека:
  • DSP System Toolbox/Фильтрация/Реализация фильтра

  • Frequency-Domain FIR Filter block

Описание

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

Этот блок использует overlap-save и методы перекрытия-суммы, чтобы выполнить фильтрацию частотного диапазона. Для фильтров с длинной длиной импульсной характеристики задержка, присущая этим двум методам, может быть значительной. Чтобы уменьшить эту задержку, 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 должны быть матрицей 2 P -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 должны быть матрицей 2 P -by- N, где P - размер раздела, а N - количество разделов.

Зависимости

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

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

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

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

  • on -- В этом режиме блок разбивает числитель на сегменты длины, заданные параметром 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 порт.

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

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

Чтобы просмотреть реакцию фильтра, когда для 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

Алгоритмы

расширить все

Overlap-save и overlap-add являются двумя методами фильтрации на основе FFT частотного диапазона, которые использует этот алгоритм.

Ссылки

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

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

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

.
Введенный в R2017b