Моделируйте фильтры с бесконечной импульсной характеристикой (БИХ)
Simulink/Дискретный
Блок Discrete Filter независимо фильтрует каждый канал входного сигнала с помощью заданного цифрового БИХ. Можно задать структуру фильтра следующим Direct form I
, Direct form I transposed
, Direct form II
, или Direct form II transposed
. Блок реализует статические фильтры с фиксированными коэффициентами. Можно настроить коэффициенты этих статических фильтров.
Этот блок фильтрует каждый канал входного сигнала независимо с течением времени. Параметр Input processing позволяет вам задать, как блок обрабатывает каждый элемент входа. Можно задать обработку входных элементов как независимого канала (обработка на основе выборки) или обработку каждого столбца входа как независимого канала (обработка на основе кадра). Для выполнения обработки на основе фрейма необходимо иметь лицензию DSP System Toolbox™.
Размерности выхода равны входу размерам, кроме тех случаев, когда вы задаете матрицу отводов фильтра для параметра Numerator coefficients. Когда вы делаете это, выходные размерности зависят от количества различных наборов ответвлений фильтра, которые вы задаете.
Используйте параметр Numerator coefficients, чтобы задать коэффициенты дискретного полинома числителя фильтра. Используйте параметр Denominator coefficients, чтобы задать коэффициенты полинома знаменателя функции. Параметр Denominator coefficients должен быть вектором коэффициентов.
Задайте коэффициенты полиномов числителя и знаменателя в возрастающих степенях z-1. Блок Discrete Filter позволяет вам использовать полиномы в z-1 (оператор задержки), чтобы представлять дискретную систему. Инженеры по обработке сигналов обычно используют этот метод. И наоборот, блок Discrete Transfer Fcn позволяет использовать полиномы в z для представления дискретной системы. Инженеры по системам управления обычно используют этот метод. Когда числитель и полиномы знаменателя имеют одинаковую длину, два метода идентичны.
В Dialog parameters и Input port(s) режимах блок инициализирует состояния внутреннего фильтра до нуля по умолчанию, что эквивалентно принятию прошлых входов и выходов равными нулю. Можно опционально использовать параметр Initial states, чтобы задать ненулевые начальные состояния для задержек фильтра.
Чтобы определить количество начальных значений состояния, которые вы должны задать, и как их задать, смотрите следующую таблицу о допустимых начальных состояниях и количестве элементов задержки (состояния фильтра). Параметр Initial states может принимать одну из четырех форм, как описано в следующей таблице.
Допустимые начальные состояния
Начальное состояние | Примеры | Описание |
---|---|---|
Скаляр |
Каждый элемент задержки для каждого канала установлен в |
Блок инициализирует все элементы задержки в фильтре до скалярного значения. |
Вектор |
Для фильтра с двумя элементами задержки: [d1 d2 ] Элементами задержки для всех каналов являются d1 и d2. |
Каждый векторный элемент задает уникальное начальное условие для соответствующего элемента задержки. Блок применяет один и тот же вектор начальных условий к каждому каналу входного сигнала. Длина вектора должна равняться количеству элементов задержки в фильтре (заданное в таблице Number of Delay Elements (Filter States)). |
Вектор или матрица | Для трехканального входного сигнала и фильтра с двумя элементами задержки: [<reservedrangesplaceholder5>1<reservedrangesplaceholder4><reservedrangesplaceholder3><reservedrangesplaceholder2><reservedrangesplaceholder1><reservedrangesplaceholder0>] или
|
Каждый вектор или элемент матрицы задает уникальное начальное условие для соответствующего элемента задержки в соответствующем канале:
|
Пустая матрица |
|
Пустая матрица, |
Количество элементов задержки (состояний фильтра) на входной канал зависит от структуры фильтра, как показано в следующей таблице.
Количество элементов задержки (состояния фильтра)
Структура фильтра | Количество элементов задержки на канал |
---|---|
|
|
|
|
В следующих таблицах описываются допустимые начальные состояния для различных размеров входа и различного количества каналов в зависимости от того, задаете ли вы параметр Input processing на основе кадра или на основе выборки.
Обработка на основе фрейма
Вход | Количество каналов | Допустимые начальные состояния (диалоговое окно) | Допустимые начальные состояния (Input port) |
---|---|---|---|
| 1 |
|
|
| N |
|
|
Выборка на основе обработки
Вход | Количество каналов | Допустимые начальные состояния (диалоговое окно) | Допустимые начальные состояния (Input port) |
---|---|---|---|
| 1 |
|
|
| N |
|
|
| <reservedrangesplaceholder1> × <reservedrangesplaceholder0> |
|
|
Когда Initial states является скаляром, блок инициализирует все состояния фильтра до того же скалярного значения. Введите 0
чтобы инициализировать все состояния в нуле. Когда Initial states является вектором или матрицей, каждый вектор или элемент матрицы задает уникальное начальное состояние. Это уникальное состояние соответствует элементу задержки в соответствующем канале:
Длина вектора должна равняться количеству элементов задержки в фильтре, M = max(number of zeros, number of poles)
.
Матрица должна иметь одинаковое число строк как количество элементов задержки в фильтре, M = max(number of zeros, number of poles)
. Матрица должна также иметь по одному столбцу для каждого канала входного сигнала.
Пример «Задайте вектор начальных условий для блока дискретного фильтра» показывает отношение между исходным выходом фильтра и начальным входом и состоянием. Учитывая начальное входное u1, первый выходной y1 связан с начальным состоянием [x1, x2] и начальным входом путем:
Discrete FIR Filter | Allpole Filter (DSP System Toolbox) | Digital Filter Design (DSP System Toolbox) | dsp.AllpoleFilter
(DSP System Toolbox) | dsp.IIRFilter
(DSP System Toolbox) | Filter Realization Wizard (DSP System Toolbox) | filterDesigner
(DSP System Toolbox) | fvtool
(Набор Signal Processing Toolbox)