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

Biquad Filter

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

biquad filter

Описание

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

Порты

Вход

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

Details

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

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

Да

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

Details

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

Зависимости

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

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

Нет

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

Details

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

Зависимости

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

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

Нет

Выход

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

Details

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

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

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

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

Да

Параметры

Основные

# Coefficient source — источник коэффициентов фильтра
Input port(s) | Dialog parameters

Details

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

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

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

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

  • Dialog parameters — коэффициенты фильтра задаются через параметры блока.

Значения

Input port(s) | Dialog parameters

Значение по умолчанию

Input port(s)

Имя для программного использования

CoefficientSource

Настраиваемый

Нет

Вычисляемый

Нет

# Filter structure — структура фильтра
Direct form I | Direct form II

Details

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

Значения

Direct form I | Direct form II

Значение по умолчанию

Direct form I

Имя для программного использования

FilterStructure

Настраиваемый

Нет

Вычисляемый

Нет

# SOS Matrix (Mx6) — матрица секции второго порядка
Массив вещественных чисел

Details

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

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

Зависимости

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

Значение по умолчанию

[1 0.3 0.4 1 0.1 0.2]

Имя для программного использования

SOSMatrix

Настраиваемый

Нет

Вычисляемый

Да

# Scale values — значения масштабных коэффициентов

Details

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

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

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

Зависимости

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

Значение по умолчанию

1

Имя для программного использования

ScaleValues

Настраиваемый

Нет

Вычисляемый

Да

# Initial conditions on zeros side — начальные состояния на стороне нулей
Вещественное число

Details

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

biquad filter 2

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

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

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

cкаляр

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

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

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

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

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

Зависимости

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

Значение по умолчанию

0

Имя для программного использования

ZeroStates

Настраиваемый

Нет

Вычисляемый

Да

# Initial conditions on poles side — начальные состояния на стороне полюсов
Вещественное число

Details

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

biquad filter 3

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

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

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

cкаляр

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

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

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

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

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

Зависимости

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

Значение по умолчанию

0

Имя для программного использования

PoleStates

Настраиваемый

Нет

Вычисляемый

Да

# Initial conditions — начальные состояния
Вещественное число

Details

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

biquad filter 1

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

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

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

cкаляр

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

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

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

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

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

Зависимости

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

Значение по умолчанию

0

Имя для программного использования

InitialConditions

Настраиваемый

Нет

Вычисляемый

Да

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

Details

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

Зависимости

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

Значения

Assume all are unity and optimize

Значение по умолчанию

Assume all are unity and optimize

Имя для программного использования

ScaleValuesMode

Настраиваемый

Нет

Вычисляемый

Нет

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

Details

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

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

Зависимости

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

Значения

None | Warning | Error

Значение по умолчанию

Warning

Имя для программного использования

ActionWhenTheA0Values

Настраиваемый

Нет

Вычисляемый

Нет

# Optimize unity scale values — оптимизация масштабных коэффициентов равных единице
Логический тип

Details

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

Зависимости

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

Значение по умолчанию

true (включено)

Имя для программного использования

OptimizeUnityScaleValues

Настраиваемый

Нет

Вычисляемый

Нет

# Input processing — обработка входных данных
Columns as channels (frame based) | Elements as channels (sample based)

Details

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

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

Значения

Columns as channels (frame based) | Elements as channels (sample based)

Значение по умолчанию

Columns as channels (frame based)

Имя для программного использования

InputProcessing

Настраиваемый

Нет

Вычисляемый

Нет