Дискретный фильтр
Модель фильтра с бесконечной импульсной характеристикой (БИХ).
Тип: DiscreteFilter
Путь в библиотеке:
|
Описание
Блок Дискретный фильтр независимо фильтрует каждый канал входного сигнала с заданным цифровым БИХ-фильтром.
Вы можете указать структуру фильтра как Прямая форма I
, Прямая форма I, транспонированная
, Прямая форма II
или Прямая форма II, транспонированная
.
Блок реализует статический фильтр с фиксированными коэффициентами. Каждый канал входного сигнала фильтруется независимо во времени.
Параметр Обработка входных данных позволяет указать, как блок обрабатывает каждый элемент ввода. Вы можете указать, обрабатывать входные элементы как независимый канал (Элементы в виде каналов (на основе отсчётов)
) или обрабатывать каждый столбец ввода как независимый канал (Столбцы в виде каналов (на основе кадров)
).
В режиме frame-based выходные размерности равны входным размерностям, за исключением случаев, когда вы задаете матрицу в качестве параметра Коэффициенты числителя. В режиме sample-based применяется механизм core-modeling/vectorization-broadcast-modeling.adoc#broadcast.
Параметр Коэффициенты числителя задает коэффициенты полинома числителя фильтра. Параметр Коэффициенты знаменателя задает коэффициенты полинома знаменателя функции.
Коэффициенты полиномов числителя и знаменателя задаются в порядке возрастания степеней . Блок Дискретный фильтр позволяет использовать полиномы в (оператор задержки), чтобы представить дискретную систему. Такой подход, как правило, используется в цифровой обработке сигналов (ЦОС). Напротив, блок Дискретная передаточная функция позволяет использовать полиномы от для представления дискретной системы. Такой подход чаще встречается в системах управления. Когда полиномы числителя и знаменателя имеют одинаковую длину, оба эти подхода эквивалентны.
Начальные состояния
-
Если начальное значение — скаляр, то для каждого канала для каждой задержки используется это начальное значение.
-
Если начальное значение — массив, то используется расширение размерности.
Рассмотрим пример. Пусть начальное значение это
[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 являются . |
Каждый элемент вектора или матрицы задает уникальное начальное условие для соответствующего элемента задержки в соответствующем канале:
|
Количество элементов задержки (состояний фильтра) на входной канал зависит от структуры фильтра, как показано в следующей таблице.
Структура фильтра | Количество элементов задержки на канал |
---|---|
|
|
|
|
В следующих таблицах описываются допустимые начальные состояния для различных размеров входных данных и различного количества каналов в зависимости от значения параметра Обработка входных данных — обработка на основе кадра Столбцы в виде каналов (на основе кадров)
или обработка на основе отсчетов Элементы в виде каналов (на основе отсчётов)
.
Вход | Количество каналов | Допустимые начальные состояния (диалоговое окно) | Допустимые начальные состояния (входной порт) |
---|---|---|---|
Вектор-столбец ( на 1) Неориентированный вектор ( ) |
1 |
Скаляр Вектор-столбец ( на 1) Вектор-строка (1 на ) |
Скаляр Вектор-столбец ( на 1) |
Вектор-строка (1 на ) Матрица ( на ) |
N |
Скаляр Вектор-столбец ( на 1) Вектор-строка (1 на ) Матрица ( на ) |
Скаляр Матрица ( на ) |
Вход | Количество каналов | Допустимые начальные состояния (диалоговое окно) | Допустимые начальные состояния (входной порт) |
---|---|---|---|
Скаляр |
1 |
Скаляр Вектор-столбец ( на 1) Вектор-строка (1 на ) |
Скаляр Вектор-столбец ( на 1) Вектор-строка (1 на ) |
Вектор-строка (1 на ) Вектор-столбец ( на 1) Неориентированный вектор ( ) |
N |
Скаляр Вектор-столбец ( на 1) Вектор-строка (1 на ) Матрица ( на ) |
Скаляр |
Матрица ( на ) |
|
Скаляр Вектор-столбец ( на 1) Вектор-строка (1 на ) Матрица ( на ) |
Скаляр |
Порты
Выход
#
OUT_1
—
отфильтрованный сигнал
скаляр
| вектор
| матрица
| многомерный массив
Details
Отфильтрованный выходной сигнал.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Вход
#
u
—
входной сигнал
скаляр
| вектор
| матрица
| многомерный массив
Details
Входной сигнал, заданный в виде скаляра, вектора, матрицы или массива с любым числом размерностей.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
reset
—
описание отсутствует
Details
Описание отсутствует
Типы данных |
Описание отсутствует |
Поддержка комплексных чисел |
Описание отсутствует |
#
Den
—
коэффициенты знаменателя
скаляр
| вектор
| матрица
Details
Коэффициенты знаменателя дискретного фильтра как убывающие степени . Используйте вектор-столбец, чтобы задать коэффициенты для полинома с одним знаменателем.
Зависимости
Чтобы использовать этот порт, установите для параметра Источник коэффициентов знаменателя значение Входной порт
.
Если вы указываете коэффициенты знаменателя из входного порта Den, то необходимо установить флажок Оптимизировать, пропустив деление на ведущий коэффициент знаменателя (a0). При установке этого флажка блок игнорирует ведущий коэффициент знаменателя и заменяет его на 1
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
Num
—
коэффициенты числителя
скаляр
| вектор
| матрица
Details
Коэффициенты числителя дискретного фильтра как убывающие степени . Используйте вектор-столбец, чтобы задать коэффициенты для одного полинома числителя.
Зависимости
Чтобы использовать этот порт, установите для параметра Источник коэффициентов числителя значение Входной порт
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
#
x0
—
начальные состояния фильтра
скаляр
| вектор
| матрица
Details
Начальные состояния фильтра в виде скаляра, вектора или матрицы.
Зависимости
Чтобы использовать этот порт, установите для параметра Структура фильтра значение Прямая форма II
или Прямая форма II, транспонированная
, а для параметра Источник начальных состояний значение Входной порт
.
Типы данных |
|
Поддержка комплексных чисел |
Нет |
Параметры
Основные
#
Структура фильтра —
структура фильтра
Прямая форма I
| Прямая форма I, транспонированная
| Прямая форма II
| Прямая форма II, транспонированная
Details
Задает дискретную структуру IIR-фильтра.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Источник коэффициентов числителя —
источник коэффициентов числителя
Поле ввода
| Входной порт
Details
Укажите источник коэффициентов числителя:
-
Поле ввода
— коэффициенты числителя задаются в параметре Коэффициенты числителя; -
Входной порт
— коэффициенты числителя поступают на порт Num.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Коэффициенты числителя —
коэффициенты числителя
Скаляр / массив вещественных чисел
Details
Коэффициенты числителя дискретного фильтра как убывающие степени . Используйте вектор-столбец, чтобы задать коэффициенты для одного полинома числителя.
Зависимости
Чтобы использовать этот параметр, установите для параметра Источник коэффициентов числителя значение Поле ввода
.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Да |
Вычисляемый |
Да |
#
Источник коэффициентов знаменателя —
источник коэффициентов знаменателя
Поле ввода
| Входной порт
Details
Укажите источник коэффициентов знаменателя:
-
Поле ввода
— коэффициенты знаменателя задаются в параметре Коэффициенты знаменателя; -
Входной порт
— коэффициенты знаменателя поступают на порт Den.
Если вы указываете коэффициенты знаменателя из входного порта Den, то необходимо установить флажок Оптимизировать, пропустив деление на ведущий коэффициент знаменателя (a0).
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Коэффициенты знаменателя —
коэффициенты знаменателя
Скаляр / массив вещественных чисел
Details
Коэффициенты знаменателя дискретного фильтра как убывающие степени . Используйте вектор-столбец, чтобы задать коэффициенты для полинома с одним знаменателем.
Если установлен флажок Оптимизировать, пропустив деление на ведущий коэффициент знаменателя (a0), то возникает ошибка, если в параметре Коэффициенты знаменателя указаны коэффициенты знаменателя, а .
Зависимости
Чтобы использовать этот параметр, установите для параметра Источник коэффициентов знаменателя значение Поле ввода
.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Да |
Вычисляемый |
Да |
#
Источник начальных состояний —
источник начальных состояний
Поле ввода
| Входной порт
Details
Укажите источник начальных состояний:
-
Поле ввода
— начальные состояния задаются в параметре Начальные состояния; -
Входной порт
— начальные состояния поступают на порт x0.
Зависимости
Чтобы использовать этот параметр, установите для параметра Структура фильтра значение Прямая форма II
или Прямая форма II, транспонированная
.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Начальные состояния —
начальные состояния фильтра
Скаляр / массив вещественных чисел
Details
Начальные состояния фильтра в виде скаляра, вектора или матрицы.
Зависимости
Чтобы использовать этот параметр, установите для параметра Структура фильтра значение Прямая форма II
или Прямая форма II, транспонированная
, а для параметра Источник начальных состояний значение Поле ввода
.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Да |
Вычисляемый |
Да |
#
Начальные состояния в числителе —
начальные состояния числителя
Скаляр / массив вещественных чисел
Details
Укажите начальные состояния числителя фильтра в виде скаляра, вектора или матрицы.
Зависимости
Чтобы использовать этот параметр, установите для параметра Структура фильтра значение Прямая форма I
или Прямая форма I, транспонированная
.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Да |
Вычисляемый |
Да |
#
Начальные состояния в знаменателе —
начальные состояния знаменателя
Скаляр / массив вещественных чисел
Details
Начальные состояния знаменателя фильтра в виде скаляра, вектора или матрицы.
Зависимости
Чтобы использовать этот параметр, установите для параметра Структура фильтра значение Прямая форма I
или Прямая форма I, транспонированная
.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Да |
Вычисляемый |
Да |
#
External reset —
описание отсутствует
None
| Rising
| Falling
| Either
| Level
| Level hold
Details
описание отсутствует
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Обработка входных данных —
обработка на основе отсчетов или кадра
Столбцы в виде каналов (на основе кадров)
| Элементы в виде каналов (на основе отсчётов)
Details
Укажите, выполняет ли блок обработку на основе отсчетов или кадра:
-
Элементы в виде каналов (на основе отсчётов)
— обработка каждого элемента входного сигнала как независимого канала. -
Столбцы в виде каналов (на основе кадров)
— обработка каждого столбца входного сигнала как независимого канала.
Значения |
|
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Оптимизировать, пропустив деление на ведущий коэффициент знаменателя (a0) —
пропустить деление на a0
Логический тип
Details
Если установить этот флажок, то блок не будет делить на в симуляции. Этот параметр оптимизирует код. Если в параметрах блока указать коэффициенты знаменателя, а значение , то возникнет ошибка.
Если вы указываете коэффициенты знаменателя из входного порта Den, то необходимо установить флажок Оптимизировать, пропустив деление на ведущий коэффициент знаменателя (a0). При установке этого флажка блок игнорирует ведущий коэффициент знаменателя и заменяет его на 1
.
Если снять этот флажок, то блок будет полностью настраиваться во время моделирования. Он будет делить на при симуляции.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Нет |
#
Период дискретизации —
интервал между шагами расчета
SampleTime (вещественное число / вектор из двух вещественных чисел)
Details
Укажите интервал между шагами расчета как неотрицательное число. Чтобы наследовать шаг расчета, установите для этого параметра значение -1
.
Значение по умолчанию |
|
Имя для программного использования |
|
Настраиваемый |
Нет |
Вычисляемый |
Да |