Discrete Filter

Моделируйте фильтры с бесконечной импульсной характеристикой (БИХ)

  • Библиотека:
  • Simulink/Дискретный

  • Discrete Filter block

Описание

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

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

Начальное состояниеПримерыОписание

Скаляр

5

Каждый элемент задержки для каждого канала установлен в 5.

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

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

Для фильтра с двумя элементами задержки: [d1 d2 ]

Элементами задержки для всех каналов являются d1 и d2.

Каждый векторный элемент задает уникальное начальное условие для соответствующего элемента задержки. Блок применяет один и тот же вектор начальных условий к каждому каналу входного сигнала. Длина вектора должна равняться количеству элементов задержки в фильтре (заданное в таблице Number of Delay Elements (Filter States)).

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

Для трехканального входного сигнала и фильтра с двумя элементами задержки:

[<reservedrangesplaceholder5>1<reservedrangesplaceholder4><reservedrangesplaceholder3><reservedrangesplaceholder2><reservedrangesplaceholder1><reservedrangesplaceholder0>] или

[d1D1d1d2D2d2]

  • Элементы задержки для канала 1 являются d1 и d2.

  • Элементы задержки для канала 2 являются D1 и D2.

  • Элементы задержки для канала 3 являются d1 и d2.

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

  • Длина вектора должна быть равна продукту количества каналов входа и количеству элементов задержки в фильтре (заданное в таблице Number of Delay Elements (Filter States)).

  • Матрица должна иметь одинаковое число строк, что и количество элементов задержки в фильтре (заданное в таблице Number of Delay Elements (Filter States)), и должна иметь по одному столбцу для каждого канала входного сигнала.

Пустая матрица

[ ]
Каждый элемент задержки для каждого канала установлен в 0.

Пустая матрица, [], эквивалентно установке параметра Initial conditions на скалярное значение 0.

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

Количество элементов задержки (состояния фильтра)

Структура фильтраКоличество элементов задержки на канал

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

  • number of zeros - 1

  • number of poles - 1

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

max(number of zeros, number of poles)-1

В следующих таблицах описываются допустимые начальные состояния для различных размеров входа и различного количества каналов в зависимости от того, задаете ли вы параметр Input processing на основе кадра или на основе выборки.

Обработка на основе фрейма

Вход Количество каналовДопустимые начальные состояния (диалоговое окно)Допустимые начальные состояния (Input port)
  • Вектор-столбец (K -by-1)

  • Неориентированный вектор (K)

1
  • Скаляр

  • Вектор-столбец (M -by-1)

  • Вектор-строка (1-by- M)

  • Скаляр

  • Вектор-столбец (M -by-1)

  • Вектор-строка (1-by- N)

  • Матрица (K -by- N)

N
  • Скаляр

  • Вектор-столбец (M -by-1)

  • Вектор-строка (1-by- M)

  • Матрица (M -by- N)

  • Скаляр

  • Матрица (M -by- N)

Выборка на основе обработки

ВходКоличество каналовДопустимые начальные состояния (диалоговое окно)Допустимые начальные состояния (Input port)
  • Скаляр

1
  • Скаляр

  • Вектор-столбец (M -by-1)

  • Вектор-строка (1-by- M)

  • Скаляр

  • Вектор-столбец (M -by-1)

  • Вектор-строка (1-by- M)

  • Вектор-строка (1-by- N)

  • Вектор-столбец (N -by-1)

  • Неориентированный вектор (N)

N
  • Скаляр

  • Вектор-столбец (M -by-1)

  • Вектор-строка (1-by- M)

  • Матрица (M -by- N)

  • Скаляр

  • Матрица (K -by- N)

<reservedrangesplaceholder1> × <reservedrangesplaceholder0>
  • Скаляр

  • Вектор-столбец (M -by-1)

  • Вектор-строка (1-by- M)

  • Матрица (M -by- (K × N))

  • Скаляр

Когда 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] и начальным входом путем:

y1=b1[(u1a2x1a3x2)a1]+b2x1+b3x2

Порты

Вход

расширить все

Входной сигнал для фильтрации, заданный как скаляр, вектор или матрица.

Зависимости

Имя этого порта зависит от источника, заданного для коэффициентов числителя, коэффициентов знаменателя и начальных состояний. Когда вы задаете Numerator, Denominator и Initial states Dialog, существует только один входной порт, и порт не маркирован. Когда вы задаете Numerator, Denominator или Initial states Input port, этот порт помечен u.

Типы данных: single | double | int8 | int16 | int32 | fixed point

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

Зависимости

Чтобы включить этот порт, установите Numerator равным Input port.

Типы данных: single | double | int8 | int16 | int32 | fixed point

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

Зависимости

Чтобы включить этот порт, установите Denominator равным Input port.

Типы данных: single | double | int8 | int16 | int32 | fixed point

Начальные состояния, заданные как скаляр, вектор или матрица. Для получения дополнительной информации об указании состояний см. Раздел «Задание начальных состояний».

Зависимости

Чтобы включить этот порт, установите Filter structure равным Direct form II или Direct form II transposed, и установите Initial states равным Input port.

Типы данных: single | double | int8 | int16 | int32 | fixed point

Выход

расширить все

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

Типы данных: single | double | int8 | int16 | int32 | fixed point

Параметры

расширить все

Главный

Задайте дискретную структуру БИХ.

Зависимости

Чтобы использовать любую структуру фильтра кроме Direct form IIнеобходимо иметь доступную лицензию DSP System Toolbox.

Программное использование

Параметры блоков: FilterStructure
Тип: Вектор символов
Значения: 'Direct form II' | 'Direct form I transposed' | 'Direct form I' | 'Direct form II transposed'
По умолчанию: 'Direct form II'

Укажите источник коэффициентов числителя следующим Dialog или Input port.

Программное использование

Параметры блоков: NumeratorSource
Тип: Вектор символов
Значения: 'Dialog' | 'Input port'
По умолчанию: 'Dialog'

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

Зависимости

Чтобы включить этот параметр, установите Numerator Source равным Dialog.

Программное использование

Параметры блоков: Numerator
Тип: Вектор символов
Значения: скаляр | вектор | матрица
По умолчанию: '[1]'

Укажите источник коэффициентов знаменателя следующим Dialog или Input port.

Программное использование

Параметры блоков: DenominatorSource
Тип: Вектор символов
Значения: 'Dialog' | 'Input port'
По умолчанию: 'Dialog'

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

Зависимости

Чтобы включить этот параметр, установите Denominator Source равным Dialog.

Программное использование

Параметры блоков: Denominator
Тип: Вектор символов
Значения: скаляр | вектор
По умолчанию: '[1 0.5]'

Укажите источник начальных состояний следующим Dialog или Input port.

Программное использование

Параметры блоков: InitialStatesSource
Тип: Вектор символов
Значения: 'Dialog' | 'Input port'
По умолчанию: 'Dialog'

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

Зависимости

Чтобы включить этот параметр, установите Filter structure равным Direct form II или Direct form II transposed, и установите Initial states Source равным Dialog.

Программное использование

Параметры блоков: InitialStates
Тип: Вектор символов
Значения: скаляр | вектор | матрица
По умолчанию: '0'

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

Зависимости

Чтобы включить этот порт, установите Filter structure равным Direct form I или Direct form I transposed.

Программное использование

Параметры блоков: InitialStates
Тип: Вектор символов
Значения: скаляр | вектор | матрица
По умолчанию: '0'

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

Зависимости

Чтобы включить этот порт, установите Filter structure равным Direct form I или Direct form I transposed.

Программное использование

Параметры блоков: InitialDenominatorStates
Тип: Вектор символов
Значения: скаляр | вектор | матрица
По умолчанию: '0'

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

Режим сбросаПоведение
NoneНет сброса
RisingСброс на приподнятом ребре
FallingСброс на падающем ребре
EitherСброс на восходящем или падающем ребре
Level

Сброс в любом из следующих случаев:

  • Когда сигнал сброса ненулевой на текущем временном шаге

  • Когда значение сигналов сброса изменяется с ненулевого на предыдущем временном шаге до нуля на текущем временном шаге

Level holdСброс, когда сигнал сброса ненулевой на текущем временном шаге

Программное использование

Параметры блоков: ExternalReset
Тип: Вектор символов
Значения: 'None' | 'Rising' | 'Falling' | 'Either' | 'Level' | 'Level hold'
По умолчанию: 'None'

Укажите, выполняет ли блок обработку на основе выборок или фреймов.

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

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

Зависимости

Для обработки на основе фрейма требуется лицензия DSP System Toolbox.

Для получения дополнительной информации смотрите Концепции на основе выборок и фреймов (DSP System Toolbox).

Программное использование

Параметры блоков: InputProcessing
Тип: Вектор символов
Значения: 'Columns as channels (frame based)' | 'Elements as channels (sample based)'
По умолчанию: 'Elements as channels (sample based)'

Выберите, когда начальный коэффициент знаменателя, a0, равен единице. Этот параметр оптимизирует ваш код.

Когда вы устанавливаете этот флажок, блок не выполняет разделение- a0 ни в симуляции, ни в сгенерированном коде. Ошибка возникает, если a0 не равен единице.

Когда вы снимаете этот флажок, блок полностью настраивается во время симуляции. Он выполняет разделение- a0 как в симуляции, так и в генерации кода.

Программное использование

Параметры блоков: a0EqualsOne
Тип: Вектор символов
Значения: 'off' | 'on'
По умолчанию: 'off'

Задайте временной интервал между выборками. Чтобы наследовать шаг расчета, установите этот параметр равным -1. Для получения дополнительной информации см. Раздел «Задание шага расчета».

Программное использование

Параметры блоков: SampleTime
Тип: Вектор символов
Значения: скаляр | вектор
По умолчанию: '-1'

Типы данных

Укажите тип данных о состоянии. Можно задать этот параметр как:

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

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

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

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

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.

Программное использование

Параметры блоков: StateDataTypeStr
Тип: Вектор символов
Значения: 'Inherit: Same as input' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>'
По умолчанию: 'Inherit: Same as input'

Задайте тип данных коэффициента числителя. Можно задать этот параметр как:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule

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

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

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

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.

Программное использование

Параметры блоков: NumCoeffDataTypeStr
Тип: Вектор символов
Значения: 'Inherit: Inherit via internal rule' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via internal rule'

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

Программное использование

Параметры блоков: NumCoeffMin
Тип: Вектор символов
Значения: скаляр
По умолчанию: '[]'

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

Программное использование

Параметры блоков: NumCoeffMax
Тип: Вектор символов
Значения: скаляр
По умолчанию: '[]'

Задайте тип выходных данных продукта для коэффициентов числителя. Можно задать этот параметр как:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule

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

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

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

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.

Программное использование

Параметры блоков: NumProductDataTypeStr
Тип: Вектор символов
Значения: 'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via interal rule'

Задайте тип данных аккумулятора для коэффициентов числителя. Можно задать этот параметр как:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule

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

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

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

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.

Программное использование

Параметры блоков: NumAccumDataTypeStr
Тип: Вектор символов
Значения: 'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'Inherit: Same as product output' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via interal rule'

Задайте тип данных коэффициента знаменателя. Можно задать этот параметр как:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule

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

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

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

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.

Программное использование

Параметры блоков: DenCoeffDataTypeStr
Тип: Вектор символов
Значения: 'Inherit: Inherit via internal rule' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via internal rule'

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

Программное использование

Параметры блоков: DenCoeffMin
Тип: Вектор символов
Значения: скаляр
По умолчанию: '[]'

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

Программное использование

Параметры блоков: DenCoeffMax
Тип: Вектор символов
Значения: скаляр
По умолчанию: '[]'

Задайте тип выходных данных продукта для коэффициентов знаменателя. Можно задать этот параметр как:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule

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

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

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

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.

Программное использование

Параметры блоков: DenProductDataTypeStr
Тип: Вектор символов
Значения: 'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via internal rule'

Задайте тип данных аккумулятора для коэффициентов знаменателя. Можно задать этот параметр как:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule

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

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

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

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.

Программное использование

Параметры блоков: DenAccumDataTypeStr
Тип: Вектор символов
Значения: 'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'Inherit: Same as product output' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via internal rule'

Задайте тип выходных данных. Можно задать этот параметр как:

  • Правило, которое наследует тип данных, например Inherit: Inherit via internal rule

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

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

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

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.

Программное использование

Параметры блоков: OutDataTypeStr
Тип: Вектор символов
Значения: 'Inherit: Inherit via internal rule' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | '<data type expression>'
По умолчанию: 'Inherit: Inherit via internal rule'

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

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

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

Программное использование

Параметры блоков: OutMin
Тип: Вектор символов
Значения: скаляр
По умолчанию: '[]'

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

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

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

Программное использование

Параметры блоков: OutMax
Тип: Вектор символов
Значения: скаляр
По умолчанию: '[]'

Задайте тип данных multiplicand. Можно задать этот параметр как:

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

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

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

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

Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.

Зависимости

Чтобы включить этот параметр, установите Filter structure равным Direct form I transposed

Программное использование

Параметры блоков: MultiplicandDataTypeStr
Тип: Вектор символов
Значения: 'Inherit: Same as input' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>'
По умолчанию: 'Inherit: Same as input'

Выберите, чтобы заблокировать настройки типа данных этого блока от изменений с помощью Fixed-Point Tool и Fixed-Point Advisor. Для получения дополнительной информации смотрите Блокировка настройки типа выходных данных (Fixed-Point Designer).

Программное использование

Параметры блоков: LockScale
Значения: 'off' | 'on'
По умолчанию: 'off'

Задайте режим округления для операций с фиксированной точкой. Для получения дополнительной информации см. раздел Округление (Fixed-Point Designer).

Программное использование

Параметры блоков: RndMeth
Тип: Вектор символов
Значения: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
По умолчанию: 'Floor'

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

ДействиеОбъяснениеВлияние на переливыПример

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

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

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

Максимальное значение, которое int8 (со знаком, 8-битное целое число) может представлять 127. Любая операция блока, результат которой больше этого максимального значения, вызывает переполнение 8-битного целого числа. При установленном флажке выход блока достигает 127. Точно так же выход блока достигает минимального выходного значения -128.

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

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

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

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

Максимальное значение, которое int8 (со знаком, 8-битное целое число) может представлять 127. Любая операция блока, результат которой больше этого максимального значения, вызывает переполнение 8-битного целого числа. Если флажок снят, программное обеспечение интерпретирует значение, вызывающее переполнение, следующим int8, что может привести к непреднамеренному результату. Для примера блочный результат 130 (двоичный 1000 0010) выражается как int8, есть -126.

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

Программное использование

Параметры блоков: SaturateOnIntegerOverflow
Тип: Вектор символов
Значения: 'off' | 'on'
По умолчанию: 'off'

Атрибуты состояния

Присвойте уникальное имя каждому состоянию. Если это поле пусто (' '), присвоение имен не происходит.

  • Чтобы назначить имя одному состоянию, введите имя между кавычками, например 'position'.

  • Чтобы назначить имена нескольким состояниям, введите список с разделителем запятыми, окруженный скобками, например {'a', 'b', 'c'}. Каждое имя должно быть уникальным.

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

Ограничения

  • Имена состояний применяются только к выбранному блоку.

  • Количество состояний должно разделяться равномерно между количеством имен состояний.

  • Можно задать меньше имен, чем состояний, но нельзя задать больше имен, чем состояний.

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

Зависимости

Чтобы включить этот параметр, установите Filter structure равным Direct form II.

Программное использование

Параметры блоков: StateName
Тип: Вектор символов
Значения: ' ' | пользовательские
По умолчанию: ' '

Установите этот флажок, чтобы потребовать, чтобы имя состояния разрешилось к объекту сигнала Simulink.

Зависимости

Чтобы включить этот параметр, установите Filter structure равным Direct form II и задайте значение для State name. Этот параметр появляется только, если вы задаете значение параметра конфигурации модели Signal resolution отличное от None.

Установка этого флажка отключает Code generation storage class.

Программное использование

Параметры блоков: StateMustResolveToSignalObject
Тип: Вектор символов
Значения: 'off' | 'on'
По умолчанию: 'off'

Задайте класс объекта сигнала.

Зависимости

Чтобы включить этот параметр, установите Filter structure равным Direct form II и задайте значение для State name.

Программное использование

Параметры блоков: StateSignalObject
Тип: Вектор символов
Значения: объект класса, который получают из Simulink.Signal
По умолчанию: 'Simulink.Signal'

Выберите класс памяти состояний для генерации кода.

Используйте Signal object class, чтобы выбрать пользовательские классы памяти из пакета, отличного от Simulink.

Зависимости

Чтобы включить этот параметр, установите Filter structure равным Direct form II, и задайте значение для State name.

Программное использование

Параметры блоков: StateStorageClass
Тип: Вектор символов
Значения: 'Auto' | 'Model default' | 'ExportedGlobal' | 'ImportedExtern' | 'ImportedExternPointer' | 'Custom' | ...
По умолчанию: 'Auto'

Укажите классификатор типа хранилища, например const или volatile.

Примечание

TypeQualifier будет удалено в следующем релизе. Чтобы применить проверку типа хранилища к данным, используйте пользовательские классы памяти и разделы памяти. Если вы не используете цель генерации кода на основе ERT с Embedded Coder®пользовательские классы памяти и разделы памяти не влияют на сгенерированный код.

Во время симуляции блок использует следующие значения:

  • Начальное значение объекта сигнала, которому разрешено имя состояния

  • Значения Min и Max объекта сигнала

Для получения дополнительной информации см. раздел Объекты данных.

Зависимости

Чтобы включить этот параметр, установите Filter structure равным Direct form II. Этот параметр скрыт, если вы ранее не установили его значение.

Программное использование

Параметры блоков: RTWStateStorageTypeQualifier
Тип: Вектор символов
Значения: '' | 'const' | 'volatile' | ...
По умолчанию: ''

Примеры моделей

Характеристики блоков

Типы данных

double | фиксированную точку[a] | целое число[a] | single

Прямое сквозное соединение

no

Многомерные сигналы

no

Сигналы переменного размера

no

Обнаружение пересечения нулем

no

[a] Этот блок поддерживает только подписанные типы данных с фиксированной точкой.

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

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

.

Генерация кода ПЛК
Сгенерируйте структурированный текстовый код с помощью Coder™ Simulink ® PLC

.

См. также

| (DSP System Toolbox) | (DSP System Toolbox) | (DSP System Toolbox) | (DSP System Toolbox) | (DSP System Toolbox) | (DSP System Toolbox) | (Набор Signal Processing Toolbox)

Представлено до R2006a