Фильтрация входного сигнала в частотной области
Системная панель инструментов DSP/фильтрация/реализация фильтров
Блок FIR-фильтра частотной области реализует фильтрацию на основе частотной области с быстрым преобразованием Фурье (FFT) для фильтрации потокового входного сигнала. Во временной области операция фильтрации включает свертку между входным сигналом и импульсной характеристикой фильтра с конечной импульсной характеристикой (КИХ). В частотной области операция фильтрации включает в себя умножение преобразования Фурье входного сигнала и преобразования Фурье импульсной характеристики. Фильтрация в частотной области становится более эффективной, чем фильтрация во временной области, по мере увеличения импульсной характеристики. Можно задать коэффициенты фильтра непосредственно в частотной области, установив для области числителя значение Frequency.
Этот блок использует методы overlap-save и overlap-add для выполнения фильтрации в частотной области. Для фильтров с большой длиной импульсной характеристики задержка, присущая этим двум методам, может быть значительной. Чтобы уменьшить эту задержку, блок фильтра КИХ частотной области разбивает импульсную характеристику на более короткие блоки и реализует методы наложения-сохранения и наложения на эти более короткие блоки. Чтобы разделить импульсную характеристику, установите флажок Числитель разделов для уменьшения задержки. Для получения более подробной информации об этих двух методах и о сокращении задержек за счет секционирования импульсной характеристики см. раздел Алгоритмы.
x - Ввод данныхВвод данных, заданный как вектор или матрица. Этот блок поддерживает входные сигналы переменного размера. То есть изменить размер входного кадра (количество строк) можно даже после вызова алгоритма. Однако количество каналов (количество столбцов) должно оставаться постоянным.
Этот порт не называется до тех пор, пока не будет выбран параметр Specify coefficients from input port.
Типы данных: single | double
Поддержка комплексного номера: Да
NUM - Коэффициенты фильтра FIR временной областиКоэффициенты фильтра FIR временной области, заданные как вектор строки.
Этот порт появляется при установке для домена Numerator значения Time и выберите параметр Specify coefficients from input port.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
Поддержка комплексного номера: Да
NUMFFT - Коэффициенты фильтра КИХ частотной областиКоэффициенты фильтра КИХ частотной области, заданные как вектор строки или матрица. При сбросе параметра 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
Поддержка комплексного номера: Да
y - Отфильтрованные выходные данныеОтфильтрованные выходные данные, возвращаемые в виде вектора или матрицы. Размер, тип данных и сложность выходных данных совпадают с размерами входных данных.
Этот порт не называется, пока не будет выбран параметр Задержка выходного фильтра и не нажата кнопка Применить.
Типы данных: single | double
Поддержка комплексного номера: Да
latency - Задержка фильтраЗадержка фильтра, возвращаемая как скаляр. Эта задержка присуща методам наложения-сложения и наложения-сохранения и не включает групповую задержку фильтра. Этот порт появляется только при установке флажка Задержка выходного фильтра.
Этот порт не называется, пока вы не установите флажок Задержка выходного фильтра (Output filter latency) и не нажмете кнопку Применить (Apply).
Типы данных: uint32
Frequency-domain filter method - Метод фильтрации в частотной областиOverlap-save (по умолчанию) | Overlap-addМетод фильтрации в частотной области, указанный как Overlap-save или Overlap-add. Дополнительные сведения об этих двух методах см. в разделе Алгоритмы
Numerator domain - Область числителяTime (по умолчанию) | FrequencyОбласть коэффициентов фильтра, заданная как один из следующих:
Time -- Укажите коэффициенты фильтра временной области в параметре Filter cofficients или через входной порт NUM.
Frequency -- Укажите частотную характеристику фильтра в параметре Frequency response или через входной порт NUMFFT.
Specify coefficients from input port - Флаг для указания коэффициентов фильтра нижних частотЕсли этот флажок установлен, коэффициенты фильтра FIR вводятся через порт NUM. Если этот флажок снят, коэффициенты задаются в диалоговом окне блока с помощью параметра «Коэффициенты фильтра».
Для просмотра ответа фильтра снимите этот флажок, укажите коэффициенты в диалоговом окне блока и нажмите кнопку «Просмотр ответа фильтра».
Чтобы включить этот параметр, установите домен числителя в значение Time.
Filter coefficients - коэффициенты фильтраfir1(100,0.3) (по умолчанию) | вектор строкиКоэффициенты КИХ-фильтра, заданные как вектор строки.
Чтобы включить этот параметр, установите домен числителя в значение Time и сбросьте параметр Specify cofficients from input port.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Поддержка комплексного номера: Да
Specify frequency response from input port - Флаг для указания коэффициентов фильтра частотной областиЕсли этот флажок установлен, коэффициенты фильтра FIR в частотной области вводятся через порт NUMFFT. При снятии этого флажка коэффициенты задаются в диалоговом окне блока с помощью параметра частотной характеристики.
Чтобы просмотреть отклик фильтра, снимите этот флажок, укажите частотный отклик в диалоговом окне блока и нажмите кнопку «Просмотреть отклик фильтра».
Чтобы включить этот параметр, установите домен числителя в значение Frequency.
Frequency response - Коэффициенты фильтраfft(fir1(100,0.3),202) (по умолчанию) | вектор строки | матрицаЧастотная характеристика фильтра, заданная как вектор строки или матрица. При сбросе числителя разбиения для уменьшения параметра задержки отклик частоты должен быть вектором строки. Длина БПФ равна длине вектора частотной характеристики. При выборе параметра Partition numerator для уменьшения задержки частотный отклик должен быть матрицей 2P-by-N, где P - размер секции, а N - количество секций.
Чтобы включить этот параметр, установите домен числителя в значение Frequency и сбросьте параметр Specify frequency response from input port.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
Поддержка комплексного номера: Да
Partition numerator to reduce latency - Флаг для разделения числителя для уменьшения задержкиФлаг для разбиения числителя для уменьшения задержки, указанный как одно из следующих значений:
off - фильтр использует традиционный метод наложения-сохранения или наложения-добавления. Задержка в этом случае составляет FFT length - NumLen + 1. NumLen - длина числительного вектора, заданного в параметре Коэффициенты фильтра.
- В этом режиме блок разбивает числитель на сегменты длиной, заданной параметром Numerator partition length. Фильтр выполняет наложение-сохранение или наложение-добавление для каждой секции и объединяет частичные результаты для формирования общего результата. Теперь задержка уменьшается до длины раздела.
Numerator partition length - Длина секции числителя32 (по умолчанию) | положительное целое числоДлина секции числителя, заданная как положительное целое число, меньшее или равное длине числителя.
Этот параметр применяется только в том случае, если для области числителя задано значение Time и выберите параметр Partition numerator для уменьшения задержки.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Time-domain numerator length - Длина числителя временной области101 (по умолчанию) | положительный скаляр с целочисленным значениемДлина числителя временной области, заданная как скаляр с положительным целым числом.
Этот параметр применяется только в том случае, если для области числителя задано значение Frequency и снимите флажок Нумератор разделов для уменьшения задержки.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32
Inherit FFT length from numerator length - Флаг для наследования длины БПФ от длины числителяЕсли этот флажок установлен, длина БПФ в два раза больше длины числителя. Если этот флажок снят, длина БПФ задается с помощью параметра длины БПФ.
Этот параметр применяется только в том случае, если для области числителя задано значение Time и снимите параметр Partition numerator для уменьшения задержки.
FFT length - длина БПФ1024 (по умолчанию) | положительное целое числоЗаданная длина БПФ должна быть больше или равна длине числительного вектора, указанного в параметре Коэффициенты фильтра.
Этот параметр применяется при установке домена числителя в значение Timeочистите числитель разделов, чтобы уменьшить время задержки, и параметр Inherit FFT length от параметров длины числителя.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
Filter is real - Флаг для указания, является ли фильтр реальнымtrue (по умолчанию) | falseФлаг, указывающий, является ли фильтр реальным, указанный как true или false.
Этот параметр применяется, когда домен числителя имеет значение Frequency.
Output filter latency - Флаг задержки выходного фильтра'off' (по умолчанию) | 'on'При установке этого флажка и нажатии кнопки «Применить» блок выводит задержку фильтра через порт задержки.
View Filter Response - Визуализация частотной характеристики КИХ-фильтраbuttonОткрывает инструмент визуализации фильтра (FVTool) и отображает отклик величины/фазы фильтра FIR. Ответ основан на параметрах диалогового окна блока. Изменения, внесенные в эти параметры, обновляют FVTool.

Чтобы обновить отклик величины во время выполнения команды FVTool, измените параметры диалогового окна блока и нажмите кнопку «Применить».
Просмотр ответа фильтра, если для области числителя установлено значение Time, снимите флажок Указать коэффициенты из входного порта. Просмотр ответа фильтра, если для области числителя установлено значение Frequency, снимите флажок Specify frequency response from input port (Задать частотную характеристику
Simulate using - Тип выполняемого моделированияCode generation (по умолчанию) | Interpreted executionCode generation - Моделирование модели с использованием сгенерированного кода C. При первом запуске моделирования Simulink ® генерирует код C для блока. Код C используется повторно для последующего моделирования, если модель не изменяется. Этот параметр требует дополнительного времени запуска, но обеспечивает более высокую скорость моделирования, чемInterpreted execution.
Interpreted execution - Моделирование модели с помощью интерпретатора MATLAB ®. Эта опция сокращает время запуска, но имеет более низкую скорость моделирования, чем Code generation.
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|
Наложение - сохранение и наложение - это два метода фильтрации на основе FFT частотной области, используемые этим алгоритмом.
Метод наложения-сохранения реализуется с использованием следующего подхода:

Входной поток разделяется на перекрывающиеся блоки размера FFTLen с коэффициентом перекрытия NumLen - 1 выборок. FFTLen - длина FFT, а NumLen - длина числителя фильтра FIR. FFT каждого блока входных выборок вычисляется и умножается на FFTLen FFT числителя FIR. Выполняется обратное быстрое преобразование Фурье (IFFT) результата, и сохраняются последние выборки FFTLen - NumLen + 1. Остальные образцы сбрасывают.
Задержка сохранения перекрытия - FFTLen - NumLen + 1. Первые образцы FFTLen - NumLen + 1 равны нулю. Отфильтрованное значение первой входной выборки отображается как выходная выборка FFTLen - NumLen + 2.
Следует отметить, что длина БПФ должна быть больше длины числителя и обычно устанавливается на значение, намного большее, чем NumLen.
Метод наложения-сложения реализуется с использованием следующего подхода:

Входной поток разделяется на блоки длиной FFLen - NumLen + 1 без перекрытия между последовательными блоками. Как и при сохранении с перекрытием, БПФ блока вычисляется и умножается на БПФ числителя ПИХ. Затем вычисляется IFFT результата. Первые выборки NumLen + 1 модифицируются путем добавления значений последних выборок NumLen + 1 из предыдущего вычисленного IFFT.
Задержка добавления наложения - FFTLen - NumLen + 1. Первые образцы FFTLen - NumLen + 1 равны нулю. Отфильтрованное значение первой входной выборки отображается как выходная выборка FFTLen - NumLen + 2.
При длине БПФ, в два раза превышающей длину КИХ-числителя, задержка приблизительно равна длине КИХ-числителя. Если импульсная характеристика очень велика, задержка становится значительно большой. Однако фильтрация КИХ в частотной области все еще быстрее, чем фильтрация во временной области. Чтобы уменьшить задержку и сделать фильтрацию в частотной области еще более эффективной, алгоритм разбивает импульсную характеристику на множество коротких блоков и выполняет наложение-сохранение или наложение на каждый блок. Результаты различных блоков затем объединяются для получения конечного результата. Задержка этого подхода имеет порядок длины блока, а не всю длину импульсной характеристики. Это уменьшение задержки происходит за счет дополнительных вычислений. Для получения дополнительной информации см. [1].
[1] Штокам, Т. Г., младший «Высокоскоростное свертывание и корреляция». Материалы Весенней совместной компьютерной конференции 1966 года, AFIPS, 28 (1966): 229-233.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
