Моделирование фильтров allpole
Реализация фильтрации/фильтрации
dsparch4
Блок Allpole Filter независимо фильтрует каждый канал входного сигнала указанным allpole фильтром. Блок может реализовывать статические фильтры с фиксированными коэффициентами, а также изменяющиеся во времени фильтры с коэффициентами, изменяющимися во времени. Во время моделирования можно настроить коэффициенты статического фильтра.
Этот блок фильтрует каждый канал входного сигнала независимо во времени. Параметр Input processing позволяет указать, обрабатывает ли блок каждый элемент ввода как независимый канал (обработка на основе выборки), или каждый столбец ввода как независимый канал (обработка на основе кадра).
Этот блок поддерживает функцию регистрации состояния Simulink ®. Дополнительные сведения см. в разделе Состояние (Simulink) в руководстве пользователя Simulink.
Можно изменить структуру фильтра, реализованную с помощью блока Allpole Filter, выбрав одно из следующих значений в параметре Filter structure:
Direct form
Direct form transposed
Lattice AR
По умолчанию блок фильтра Allpole инициализирует состояния внутреннего фильтра как нулевые, что имеет тот же эффект, что и при предположении, что прошлые входы и выходы равны нулю. Можно дополнительно использовать параметр Начальные состояния (Initial states), чтобы задать ненулевые начальные условия для задержек фильтра.
Чтобы определить необходимое количество начальных состояний и способ их определения, см. таблицу допустимых начальных состояний. Параметр Initial states может принимать одну из форм, описанных в следующей таблице.
Действительные начальные состояния
| Исходное условие | Описание |
|---|---|
Скаляр | Блок инициализирует все элементы задержки в фильтре до скалярного значения. |
Вектор или матрица | Каждый вектор или элемент матрицы определяет уникальное начальное условие для соответствующего элемента задержки в соответствующем канале:
|
Блок фильтра Allpole принимает и выводит реальные и сложные сигналы любого числового типа данных, поддерживаемого Simulink. Блок поддерживает те же типы коэффициентов.
На следующих диаграммах показана структура фильтра и типы данных, используемые в блоке фильтра Allpole для сигналов с фиксированной точкой.
Невозможно указать тип данных состояния в маске блока для этой структуры, поскольку выходные состояния имеют те же типы данных, что и выходные.


Состояния сложны, когда входы или коэффициенты сложны.




Основная панель диалогового окна «Блок фильтра Allpole» отображается следующим образом.

Укажите, следует ли указывать коэффициенты фильтра на маске блока или через входной порт.
Выберите структуру фильтра, которую должен реализовать блок. Можно выбрать Direct form, Direct form transposed, или Lattice AR.
Укажите вектор строки коэффициентов передаточной функции фильтра.
Этот параметр отображается только в том случае, если для источника коэффициента задано значение Dialog parameters.
Укажите, выполняет ли блок обработку на основе выборки или кадра. Можно выбрать один из следующих вариантов:
Elements as channels (sample based) - Рассматривать каждый элемент ввода как независимый канал (обработка на основе выборки).
Columns as channels (frame based) - Рассматривать каждый столбец входного сигнала как независимый канал (обработка на основе кадров).
Укажите начальные условия состояний фильтра. Сведения о задании начальных состояний см. в разделе Указание начальных состояний.
Панель Типы данных (Data Types) диалогового окна Блок фильтра Allpole (Allpole Filter) отображается следующим образом.

Укажите тип данных коэффициента. Можно установить для него значение:
Правило, наследующее тип данных, например: Inherit: Same word length as input
Встроенное целое число, например, int8
Объект типа данных, например, Simulink.NumericType объект
Выражение, которое вычисляет тип данных, например: fixdt(1,16,0)
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
) для отображения помощника по типам данных, который поможет задать параметр Coefficient (Коэффициент).
Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).
Укажите минимальное значение, которое должен иметь коэффициент фильтра. Значение по умолчанию: [] (не указано). Программное обеспечение Simulink использует это значение для выполнения следующих действий:
Проверка диапазона параметров (см. раздел Указание минимального и максимального значений для параметров блока (Simulink))
Автоматическое масштабирование типов данных с фиксированной точкой
Укажите максимальное значение, которое должен иметь коэффициент фильтра. Значение по умолчанию: [] (не указано). Программное обеспечение Simulink использует это значение для выполнения следующих действий:
Проверка диапазона параметров (см. раздел Указание минимального и максимального значений для параметров блока (Simulink))
Автоматическое масштабирование типов данных с фиксированной точкой
Укажите тип выходных данных продукта. Можно установить для него значение:
Правило, наследующее тип данных, например: Inherit: Inherit via internal rule. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.
Встроенный тип данных, например: int8
Объект типа данных, например, Simulink.NumericType объект
Выражение, которое вычисляет тип данных, например: fixdt(1,16,0)
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
), чтобы отобразить помощник по типам данных, который помогает задать параметр вывода продукта.
Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).
Укажите тип данных накопителя. Можно установить для него значение:
Правило, наследующее тип данных, например: Inherit: Inherit via internal rule. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.
Встроенный тип данных, например: int8
Объект типа данных, например, Simulink.NumericType объект
Выражение, которое вычисляет тип данных, например: fixdt(1,16,0)
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
) для отображения помощника по типам данных, который поможет установить параметр Accumulator.
Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).
Укажите тип данных состояния. Можно установить для него значение:
Правило, наследующее тип данных, например: Inherit: Same as accumulator
Встроенное целое число, например, int8
Объект типа данных, например, Simulink.NumericType объект
Выражение, которое вычисляет тип данных, например: fixdt(1,16,0)
Этот параметр отображается только в том случае, если выбрана структура фильтра Lattice MA.
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
) для отображения помощника по типам данных, который поможет задать параметр State (Состояние).
Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).
Укажите тип выходных данных. Можно установить для него значение:
Правило, наследующее тип данных, например: Inherit: Same as accumulator
Встроенный тип данных, например: int8
Объект типа данных, например, Simulink.NumericType объект
Выражение, которое вычисляет тип данных, например: fixdt(1,16,0)
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
) для отображения помощника по типам данных, который поможет задать параметр Output (Вывод).
Для получения дополнительной информации см. раздел Типы данных управляющих сигналов (Simulink).
Укажите минимальное значение, которое должен выводить блок. Значение по умолчанию: [] (не указано). Программное обеспечение Simulink использует это значение для выполнения следующих действий:
Проверка диапазона моделирования (см. раздел Определение диапазонов сигналов (Simulink))
Автоматическое масштабирование типов данных с фиксированной точкой
Укажите максимальное значение, которое должен выводить блок. Значение по умолчанию: [] (не указано). Программное обеспечение Simulink использует это значение для выполнения следующих действий:
Проверка диапазона моделирования (см. раздел Определение диапазонов сигналов (Simulink))
Автоматическое масштабирование типов данных с фиксированной точкой
Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока.
Укажите режим округления для операций с фиксированной точкой.
| Действие | Причины принятия этого решения | Что происходит при переполнении | Пример |
|---|---|---|---|
Установите этот флажок. | Модель может переполняться, и в создаваемом коде требуется явная защита от насыщения. | Переполнения насыщаются минимальным или максимальным значением, которое может представлять тип данных. | Переполнение, связанное со значащим 8-битным целым числом, может насытиться до -128 или 127. |
Не устанавливайте этот флажок. | Требуется оптимизировать эффективность созданного кода. Необходимо избегать чрезмерного указания того, как блок обрабатывает сигналы вне диапазона. Дополнительные сведения см. в разделе Устранение ошибок диапазона сигналов (Simulink). | Переполнение до соответствующего значения, представляемого типом данных. | Число 130 не помещается в знаковое 8-битовое целое число и переносится в -126. |
Если этот флажок установлен, насыщение применяется ко всем внутренним операциям блока, а не только к выводу или результату. В общем, процесс генерации кода может обнаруживать, когда переполнение невозможно. В этом случае генератор кода не создает код насыщения.
Плавающая точка с двойной точностью
Плавающая точка с одинарной точностью
Подписанная фиксированная точка
8-, 16- и 32-разрядные целые числа со знаком
| Дискретный фильтр FIR (Simulink) | Инструментарий системы DSP |
| Мастер реализации фильтра | Инструментарий системы DSP |
filterDesigner | Инструментарий системы DSP |
fvtool | Панель инструментов обработки сигналов |