Дискретный фильтр

Образцовые фильтры Импульсного ответа Бога (IIR)

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

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

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

Скаляр

5

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

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

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

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

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

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

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

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

[d 1d2D1D2d1d2] или

[d1D1d1d2D2d2]

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

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

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

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

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

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

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

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

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

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

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

  • number of zeros - 1

  • number of poles - 1

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

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

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

Основанная на кадре обработка

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

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

1
  • Скаляр

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

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

  • Скаляр

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

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

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

N
  • Скаляр

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

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

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

  • Скаляр

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

Основанная на выборке обработка

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

1
  • Скаляр

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

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

  • Скаляр

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

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

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

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

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

N
  • Скаляр

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

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

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

  • Скаляр

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

K × N
  • Скаляр

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

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

  • Матрица (M (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, будет равняться тому. Этот параметр оптимизирует ваш код.

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

Когда вы снимаете этот флажок, блок является полностью настраиваемым во время симуляции. Это выполняет divide-by-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, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Параметры блоков: 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, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Параметры блоков: 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, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Параметры блоков: 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, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Параметры блоков: 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, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Параметры блоков: 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, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Параметры блоков: 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, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Параметры блоков: 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, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Параметры блоков: 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
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

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

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

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

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

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

Нажмите кнопку Show data type assistant, чтобы отобразить 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 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
Ввод: символьный вектор
Values:'Auto' | 'Model default' | 'ExportedGlobal' | 'ImportedExtern' | 'ImportedExternPointer' | 'Custom' | ...
Значение по умолчанию: 'Auto'

Задайте спецификатор типа хранения, такой как const или volatile.

Примечание

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

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

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

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

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

Зависимости

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

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

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

Образцовые примеры

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

Типы данных

double | fixed point[a] | integer[a] | single

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

no

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

no

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

no

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

no

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

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

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

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

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