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

Дискретный фильтр

Модель фильтра с бесконечной импульсной характеристикой (БИХ).

discrete filter

Описание

Блок Дискретный фильтр независимо фильтрует каждый канал входного сигнала с заданным цифровым БИХ-фильтром. Вы можете указать структуру фильтра как Прямая форма I, Прямая форма I, транспонированная, Прямая форма II или Прямая форма II, транспонированная.

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

Параметр Коэффициенты числителя задает коэффициенты полинома числителя фильтра. Параметр Коэффициенты знаменателя задает коэффициенты полинома знаменателя функции.

Коэффициенты полиномов числителя и знаменателя задаются в порядке возрастания степеней . Блок Дискретный фильтр позволяет использовать полиномы в (оператор задержки), чтобы представить дискретную систему. Такой подход, как правило, используется в цифровой обработке сигналов (ЦОС). Напротив, блок Дискретная передаточная функция позволяет использовать полиномы от для представления дискретной системы. Такой подход чаще встречается в системах управления. Когда полиномы числителя и знаменателя имеют одинаковую длину, оба эти подхода эквивалентны.

Начальные состояния

  • Если начальное значение — скаляр, то для каждого канала для каждой задержки используется это начальное значение.

  • Если начальное значение — массив, то используется расширение размерности.

    Рассмотрим пример. Пусть начальное значение это [s1, s2, s3]. В таком случае это вектор-столбец, так что его для наглядности можно записать так:

    [
    s1,
    s2,
    s3,
    ]

    Допустим, канал у нас один. Тогда s1 — это начальное условие для первой задержки, s2 — для второй и т.д. Если каналов несколько, то все это верно для каждого отдельно взятого канала.

    Второй пример — [s1 s2 s3]. Это матрица-строка. Если у фильтра три задержки, то после расширения размерности начальные условия имеют вид:

    [
    s1 s2 s3;
    s1 s2 s3;
    s1 s2 s3;
    ]

    В данном случае начальные условия для задержек первого канала — это [s1, s1, s1], для второго — [s2, s2, s2] и т.д.

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

Число задержек определяется так, как написано выше. Для Прямая форма I и Прямая форма I, транспонированная число задержек для числителя равняется длине числителя минус 1, для знаменателя — длине знаменателя минус 1. Для Прямая форма II и Прямая форма II, транспонированная максимуму из длин знаменателя и числителя минус 1.

Параметр Начальные состояния задает начальные состояния для задержек фильтра.

Как определить количество значений начального состояния, которые должны быть заданы, и как именно их задать, описано в таблице ниже. В ней даны допустимые начальные состояния и количества элементов задержки (состояний фильтра). Параметр Начальные состояния может принимать одну из четырех форм, как описано в таблице.

Начальное состояние Примеры Описание

Скаляр

5

Каждый элемент задержки для каждого канала установлен на 5.

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

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

Для трехканального входного сигнала и фильтра с двумя элементами задержки:

] или

Элементами задержки для канала 1 являются и .

Элементами задержки для канала 2 являются и .

Элементами задержки для канала 3 являются и .

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

  • Длина вектора должна быть равна произведению количества входных каналов и количества элементов задержки в фильтре.

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

Порты

Выход

# OUT_1 — отфильтрованный сигнал
скаляр | вектор | матрица | многомерный массив

Details

Отфильтрованный выходной сигнал.

Типы данных

Float64

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

Нет

Вход

# u — входной сигнал
скаляр | вектор | матрица | многомерный массив

Details

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

Типы данных

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

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

Нет

Параметры

Основные

# Структура фильтра — структура фильтра
Прямая форма I | Прямая форма I, транспонированная | Прямая форма II | Прямая форма II, транспонированная

Details

Задает дискретную структуру IIR-фильтра.

Значения

Direct form I | Direct form I transposed | Direct form II | Direct form II transposed

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

Direct form II

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

FilterStructure

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

Нет

Вычисляемый

Нет

# Коэффициенты числителя — коэффициенты числителя
Скаляр / массив вещественных чисел

Details

Коэффициенты числителя дискретного фильтра как убывающие степени z. Используйте вектор-столбец, чтобы задать коэффициенты для одного полинома числителя.

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

[1.0]

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

Numerator

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

Да

Вычисляемый

Да

# Коэффициенты знаменателя — коэффициенты знаменателя
Скаляр / массив вещественных чисел

Details

Коэффициенты знаменателя дискретного фильтра как убывающие степени z. Используйте вектор-столбец, чтобы задать коэффициенты для полинома с одним знаменателем.

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

[1.0, 0.5]

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

Denominator

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

Да

Вычисляемый

Да

# Начальные состояния — начальные состояния фильтра
Скаляр / массив вещественных чисел

Details

Начальные состояния фильтра в виде скаляра, вектора или матрицы.

Зависимости

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

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

0.0

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

InitialStates

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

Да

Вычисляемый

Да

# Начальные состояния в числителе — начальные состояния числителя
Скаляр / массив вещественных чисел

Details

Укажите начальные состояния числителя фильтра в виде скаляра, вектора или матрицы.

Зависимости

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

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

0.0

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

InitialStatesNumSide

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

Да

Вычисляемый

Да

# Начальные состояния в знаменателе — начальные состояния знаменателя
Скаляр / массив вещественных чисел

Details

Начальные состояния знаменателя фильтра в виде скаляра, вектора или матрицы.

Зависимости

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

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

0.0

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

InitialDenominatorStates

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

Да

Вычисляемый

Да

# Шаг расчета — интервал между шагами расчета
SampleTime (вещественное число / вектор из двух вещественных чисел)

Details

Укажите интервал между шагами расчета как неотрицательное число. Чтобы наследовать шаг расчета, установите для этого параметра значение -1.

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

-1

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

SampleTime

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

Нет

Вычисляемый

Да