Allpole Filter

Моделируйте фильтры 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 Filter инициализирует внутренний фильтр состояний нулю по умолчанию, что имеет тот же эффект, что и предположение, что прошедшие входы и выходы равны нулю. Можно опционально использовать параметр Initial states, чтобы задать ненулевые начальные условия для задержек фильтра.

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

Допустимые начальные состояния

Начальное условиеОписание

Скаляр

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

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

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

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

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

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

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

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

Прямая форма

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

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

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

Решетка AR

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

Панель Main диалогового окна блока Allpole Filter появляется следующим образом.

Coefficient source

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

Filter structure

Выберите структуру фильтра, которую требуется реализовать блоку. Можно выбрать Direct form, Direct form transposed, или Lattice AR.

Coefficients

Задайте вектор-строку коэффициентов передаточной функции фильтра.

Этот параметр видим только, когда вы устанавливаете Coefficient source на Dialog parameters.

Input processing

Укажите, выполняет ли блок обработку на основе выборок или фреймов. Можно выбрать один из следующих опций:

  • Elements as channels (sample based) - Обрабатывайте каждый элемент входа как независимый канал (основанная на выборке обработка).

  • Columns as channels (frame based) - Обрабатывайте каждый столбец входа как отдельный канал (обработка на основе фрейма).

Initial states

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

Панель Data Types диалогового окна блока Allpole Filter появляется следующим образом.

Coefficients

Задайте тип данных коэффициента. Вы можете установить его на:

  • Правило, которое наследует тип данных, например Inherit: Same word length as input

  • Встроенное целое число, например int8

  • Объект типа данных, например, Simulink.NumericType объект

  • Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Coefficient.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Coefficients minimum

Задайте минимальное значение, которое должен иметь коэффициент фильтра. Значение по умолчанию [] (не определено). Программное обеспечение Simulink использует это значение для выполнения:

Coefficients maximum

Задайте максимальное значение, которое должен иметь коэффициент фильтра. Значение по умолчанию [] (не определено). Программное обеспечение Simulink использует это значение для выполнения:

Product output

Укажите тип выходных данных продукта. Вы можете установить его на:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.

  • Встроенный тип данных, например int8

  • Объект типа данных, например, Simulink.NumericType объект

  • Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Product output.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Accumulator

Задайте тип данных аккумулятора. Вы можете установить его на:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule. Дополнительные сведения об этом правиле см. в разделе Наследование через внутреннее правило.

  • Встроенный тип данных, например int8

  • Объект типа данных, например, Simulink.NumericType объект

  • Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Accumulator.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

State

Укажите тип данных о состоянии. Вы можете установить его на:

  • Правило, которое наследует тип данных, например Inherit: Same as accumulator

  • Встроенное целое число, например int8

  • Объект типа данных, например, Simulink.NumericType объект

  • Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)

Этот параметр видим только, когда выбранная структура фильтра Lattice MA.

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр State.

Дополнительные сведения см. в разделе «Установка типов данных с использованием помощника по типам данных» (Simulink).

Output

Задайте тип выходных данных. Вы можете установить его на:

  • Правило, которое наследует тип данных, например Inherit: Same as accumulator

  • Встроенный тип данных, например int8

  • Объект типа данных, например, Simulink.NumericType объект

  • Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать параметр Output.

Смотрите Типы Данных Управляющего Сигнала (Simulink) для получения дополнительной информации.

Output minimum

Задайте минимальное значение, которое должен выдать блок. Значение по умолчанию [] (не определено). Программное обеспечение Simulink использует это значение для выполнения:

  • Проверка области значений симуляции (см. «Задание диапазонов сигнала» (Simulink))

  • Автоматическое масштабирование типов данных с фиксированной точкой

Output maximum

Задайте максимальное значение, которое должен выдать блок. Значение по умолчанию [] (не определено). Программное обеспечение Simulink использует это значение для выполнения:

  • Проверка области значений симуляции (см. «Задание диапазонов сигнала» (Simulink))

  • Автоматическое масштабирование типов данных с фиксированной точкой

Lock data type settings against changes by the fixed-point tools

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

Integer rounding mode

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

Saturate on integer overflow

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

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

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

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

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

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

Вы хотите оптимизировать эффективность вашего сгенерированного кода.

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

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

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

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

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

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

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

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

  • 8-, 16- и 32-битные целые числа со знаком

См. также

Discrete FIR Filter (Simulink)DSP System Toolbox
Filter Realization WizardDSP System Toolbox
filterDesignerDSP System Toolbox
fvtoolSignal Processing Toolbox

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.
Введенный в R2011b