Документация Engee

Biquad Filter

Модель биквадратных БИХ фильтров.

biquad filter

Описание

Блок Biquad Filter независимо фильтрует каждый канал входного сигнала с помощью указанного биквадратного фильтра с бесконечной импульсной характеристикой (БИХ). При указании коэффициентов фильтра в окне настроек параметров блок реализует статические фильтры с фиксированными коэффициентами.

Порты

Вход

In — входные данные
вектор | матрица

Входные данные для блока, заданные в виде вектора или матрицы.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Поддержка комплексных чисел: да

Num — коэффициенты числителя
матрица

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

Зависимости

Чтобы использовать этот порт, установите для параметра Coefficient source значение Input port(s).

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Den — коэффициенты знаменателя
матрица

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

Зависимости

Чтобы использовать этот порт, установите для параметра Coefficient source значение Input port(s).

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Выход

Out — отфильтрованные выходные данные
вектор | матрица

Отфильтрованный выходной сигнал, возвращаемый в виде вектора или матрицы.

Размерность выходного сигнала всегда равна размерности входного сигнала.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Поддержка комплексных чисел: Да

Параметры

Coefficient source — рабочий режим
Input port(s) (по умолчанию) | Dialog parameters

Блок Biquad Filter может работать в двух режимах:

  • Input port(s) (по умолчанию) — введите информацию о структуре фильтра с помощью параметра Filter structure. Коэффициенты фильтра поступают в блок через дополнительные входные порты, которые отображаются на иконке блока:

    • Num — коэффициенты числителя.

    • Den — коэффициенты знаменателя.

  • Dialog parameters — ввод информации о фильтре в окне настроек блока.

Filter structure — структура фильтра
Direct form I (по умолчанию) | Direct form II

Укажите структуру фильтра.

SOS Matrix (Mx6) — матрица секции второго порядка
[1 0.3 0.4 1 0.1 0.2] (по умолчанию) | матрица M на 6

Задайте матрицу на 6, где — количество секций в секционном фильтре второго порядка (second-order section, SOS). Каждая строка матрицы SOS содержит коэффициенты числителя и знаменателя ( и ) соответствующей секции фильтра:

Ведущие коэффициенты знаменателя равны единице независимо от их фактических значений. Масштабирование матрицы SOS не применяется, если не равно единице.

Зависимости

Чтобы использовать этот параметр, установите для параметра Coefficient source значение Dialog parameters.

Scale values — значения масштабных коэффициентов
1 (по умолчанию) | скаляр | вектор

Укажите значения масштабных коэффициентов, которые будут использоваться между секциями SOS. Можно задать скаляр с вещественным значением или вектор длины , где М – вторая размерность SOS матрицы.

  • Если задан скаляр, то его значение задает коэффициент усиления перед первой секцией фильтра второго порядка. Остальные значения коэффициента усиления по умолчанию равны 1.

  • Если задан вектор из значений, то каждое значение определяет отдельную секцию фильтра. Например, первый элемент — это первое значение коэффициента усиления, второй элемент — второе значение коэффициента усиления и так далее.

Зависимости

Чтобы использовать этот параметр, установите для параметра Coefficient source значение Dialog parameters.

Initial conditions — начальные состояния
0 (по умолчанию) | скаляр | вектор

Укажите начальные состояния фильтра, если для параметра Filter structure установлено значение Direct form II.

biquad filter 1

Блок Biquad Filter по умолчанию устанавливает нулевое значение внутренних состояний фильтра. Чтобы задать ненулевые начальные состояния для задержек фильтра, используйте параметр Initial conditions.

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

Начальное условие Описание

cкаляр

Блок устанавливает значение скаляра для всех элементов задержки в фильтре.

вектор или матрица (для применения различных элементов задержки к каждому каналу)

Каждый вектор или элемент матрицы задает уникальное начальное условие для соответствующего элемента задержки в соответствующем канале. — количество секций, — количество входных каналов:

* Длина вектора должна быть равна количеству элементов задержки в фильтре .

* Матрица должна иметь столько же строк, сколько элементов задержки в фильтре . Матрица также должна иметь по одному столбцу для каждого канала входного сигнала.

Зависимости

Чтобы использовать этот параметр, установите для параметра Filter structure значение Direct form II.

Initial conditions on zeros side — начальные состояния на стороне нулей
0 (по умолчанию) | скаляр | вектор

Укажите начальные состояния фильтра на стороне структуры фильтра с нулями ( , , , …​), если для параметра Filter structure установлено значение Direct form I.

biquad filter 2

Блок Biquad Filter по умолчанию устанавливает нулевое значение внутренних состояний фильтра. Чтобы задать ненулевые начальные состояния для задержек фильтра, используйте параметр Initial conditions on zeros side.

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

Начальное условие Описание

cкаляр

Блок устанавливает значение скаляра для всех элементов задержки в фильтре.

вектор или матрица (для применения различных элементов задержки к каждому каналу)

Каждый вектор или элемент матрицы задает уникальное начальное условие для соответствующего элемента задержки в соответствующем канале. — количество секций, — количество входных каналов:

* Длина вектора должна быть равна количеству элементов задержки в фильтре .

* Матрица должна иметь столько же строк, сколько элементов задержки в фильтре . Матрица также должна иметь по одному столбцу для каждого канала входного сигнала.

Зависимости

Чтобы использовать этот параметр, установите для параметра Filter structure значение Direct form I.

Initial conditions on poles side — начальные состояния на стороне полюсов
0 (по умолчанию) | скаляр | вектор

Укажите начальные состояния фильтра на стороне структуры фильтра с полюсами ( , , …​), если для параметра Filter structure установлено значение Direct form I.

biquad filter 3

Блок Biquad Filter по умолчанию устанавливает нулевое значение внутренних состояний фильтра. Чтобы задать ненулевые начальные состояния для задержек фильтра, используйте параметр Initial conditions on poles side.

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

Начальное условие Описание

cкаляр

Блок устанавливает значение скаляра для всех элементов задержки в фильтре.

вектор или матрица (для применения различных элементов задержки к каждому каналу)

Каждый вектор или элемент матрицы задает уникальное начальное условие для соответствующего элемента задержки в соответствующем канале. — количество секций, — количество входных каналов:

* Длина вектора должна быть равна количеству элементов задержки в фильтре .

* Матрица должна иметь столько же строк, сколько элементов задержки в фильтре . Матрица также должна иметь по одному столбцу для каждого канала входного сигнала.

Зависимости

Чтобы использовать этот параметр, установите для параметра Filter structure значение Direct form I.

Scale values mode — режим задания масштабных коэффициентов
Assume all are unity and optimize (по умолчанию)

При выборе опции Assume all are unity and optimize все значения масштабных коэффициентов удаляются.

Зависимости

Чтобы использовать этот параметр, установите для параметра Coefficient source значение Input port(s).

Action when the a0 values of the SOS matrix are not one — действие, если значения a0 матрицы SOS не равны единице
Warning (по умолчанию) | None | Error

Укажите действие, которое должен выполнить блок, когда значения матрицы SOS не равны единице. Значения для выбора: Warning, None, Error.

При выборе None ведущие коэффициенты рассматриваются как единица, независимо от их фактических значений. Масштабирование матрицы SOS не применяется, если не равно единице.

Зависимости

Чтобы использовать этот параметр, установите для параметра Coefficient source значение Dialog parameters.

Optimize unity scale values — оптимизация масштабных коэффициентов равных единице
включено (по умолчанию)

Установите этот флажок, чтобы оптимизировать моделирование, когда одно или несколько значений масштабных коэффициентов равны единице. В этом случае значения единичных масштабных коэффициентов удаляются.

Зависимости

Чтобы использовать этот параметр, установите для параметра Coefficient source значение Dialog parameters.

Input processing — обработка входных данных
Columns as channels (frame based) (по умолчанию)

Укажите способ обработки входных данных. Для входных данных в виде матрицы на значение параметра Columns as channels (frame based) означает, что каждый столбец рассматривается как отдельный канал. В этом режиме блок создает экземпляров одного и того же фильтра, каждый со своим независимым буфером состояния. Каждый из фильтров обрабатывает входных выборок на каждом временном шаге Engee.