exponenta event banner

Фильтр Allpole

Моделирование фильтров allpole

Библиотека

Реализация фильтрации/фильтрации

dsparch4

  • Allpole Filter block

Описание

Блок Allpole Filter независимо фильтрует каждый канал входного сигнала указанным allpole фильтром. Блок может реализовывать статические фильтры с фиксированными коэффициентами, а также изменяющиеся во времени фильтры с коэффициентами, изменяющимися во времени. Во время моделирования можно настроить коэффициенты статического фильтра.

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

Этот блок поддерживает функцию регистрации состояния Simulink ®. Дополнительные сведения см. в разделе Состояние (Simulink) в руководстве пользователя Simulink.

Поддержка структуры фильтра

Можно изменить структуру фильтра, реализованную с помощью блока Allpole Filter, выбрав одно из следующих значений в параметре Filter structure:

  • Direct form

  • Direct form transposed

  • Lattice AR

Указание начальных состояний

По умолчанию блок фильтра Allpole инициализирует состояния внутреннего фильтра как нулевые, что имеет тот же эффект, что и при предположении, что прошлые входы и выходы равны нулю. Можно дополнительно использовать параметр Начальные состояния (Initial states), чтобы задать ненулевые начальные условия для задержек фильтра.

Чтобы определить необходимое количество начальных состояний и способ их определения, см. таблицу допустимых начальных состояний. Параметр Initial states может принимать одну из форм, описанных в следующей таблице.

Действительные начальные состояния

Исходное условиеОписание

Скаляр

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

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

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

  • Длина вектора равна произведению числа входных каналов и числа элементов задержки в фильтре, #_of_filter_coeffs-1 (или #_of_reflection_coeffs для Lattice AR).

  • Матрица должна иметь то же количество строк, что и количество элементов задержки в фильтре, #_of_filter_coeffs-1 (#_of_reflection_coeffs для Lattice AR) и должен иметь по одному столбцу для каждого канала входного сигнала.

Поддержка типов данных

Блок фильтра Allpole принимает и выводит реальные и сложные сигналы любого числового типа данных, поддерживаемого Simulink. Блок поддерживает те же типы коэффициентов.

На следующих диаграммах показана структура фильтра и типы данных, используемые в блоке фильтра Allpole для сигналов с фиксированной точкой.

Прямая форма

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

Прямая транспонированная форма

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

Решетка AR

Диалоговое окно

Основная панель диалогового окна «Блок фильтра 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 использует это значение для выполнения следующих действий:

Выход продукта

Укажите тип выходных данных продукта. Можно установить для него значение:

  • Правило, наследующее тип данных, например: 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 использует это значение для выполнения следующих действий:

Блокировка параметров типа данных от изменений с помощью инструментов с фиксированной точкой

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

Режим округления целых чисел

Укажите режим округления для операций с фиксированной точкой.

Насыщение при целочисленном переполнении

ДействиеПричины принятия этого решенияЧто происходит при переполненииПример

Установите этот флажок.

Модель может переполняться, и в создаваемом коде требуется явная защита от насыщения.

Переполнения насыщаются минимальным или максимальным значением, которое может представлять тип данных.

Переполнение, связанное со значащим 8-битным целым числом, может насытиться до -128 или 127.

Не устанавливайте этот флажок.

Требуется оптимизировать эффективность созданного кода.

Необходимо избегать чрезмерного указания того, как блок обрабатывает сигналы вне диапазона. Дополнительные сведения см. в разделе Устранение ошибок диапазона сигналов (Simulink).

Переполнение до соответствующего значения, представляемого типом данных.

Число 130 не помещается в знаковое 8-битовое целое число и переносится в -126.

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

Поддерживаемые типы данных

  • Плавающая точка с двойной точностью

  • Плавающая точка с одинарной точностью

  • Подписанная фиксированная точка

  • 8-, 16- и 32-разрядные целые числа со знаком

См. также

Дискретный фильтр FIR (Simulink)Инструментарий системы DSP
Мастер реализации фильтраИнструментарий системы DSP
filterDesignerИнструментарий системы DSP
fvtoolПанель инструментов обработки сигналов

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2011b