exponenta event banner

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

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

  • Библиотека:
  • Симулинк/дискретный

  • Discrete Filter block

Описание

Блок дискретного фильтра независимо фильтрует каждый канал входного сигнала указанным цифровым БИХ-фильтром. Можно указать структуру фильтра как Direct form I, Direct form I transposed, Direct form II, или Direct form II transposed. Блок реализует статические фильтры с фиксированными коэффициентами. Можно настроить коэффициенты этих статических фильтров.

Этот блок фильтрует каждый канал входного сигнала независимо во времени. Параметр обработки ввода позволяет указать, как блок обрабатывает каждый элемент ввода. Можно указать обработку входных элементов как независимый канал (обработка на основе выборки) или обработку каждого столбца входных данных как независимый канал (обработка на основе кадра). Для выполнения обработки кадров необходимо иметь лицензию DSP System Toolbox™.

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

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

Задайте коэффициенты многочленов числителя и знаменателя в степенях возрастания z-1. Блок дискретного фильтра позволяет использовать многочлены в z-1 (оператор задержки) для представления дискретной системы. Инженеры по обработке сигналов обычно используют этот метод. И наоборот, блок дискретного переноса Fcn позволяет использовать многочлены в z для представления дискретной системы. Инженеры по управлению обычно используют этот метод. Когда числитель и знаменатель многочлены имеют одинаковую длину, два метода идентичны.

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

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

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

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

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

Скаляр

5

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

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

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

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

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

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

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

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

[d1d2D1D2d1d2] или

[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.

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

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

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

Direct form I
Direct form I transposed

  • number of zeros - 1

  • number of poles - 1

Direct form II
Direct form II transposed

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

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

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

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

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

1
  • Скаляр

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

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

  • Скаляр

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

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

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

N
  • Скаляр

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

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

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

  • Скаляр

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

Обработка на основе проб

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

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-за-N)

  • Скаляр

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

K × N
  • Скаляр

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

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

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

  • Скаляр

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

  • Длина вектора должна равняться количеству элементов задержки в фильтре, M = max(number of zeros, number of poles).

  • Матрица должна иметь то же количество строк, что и количество элементов задержки в фильтре, M = max(number of zeros, number of poles). Матрица также должна иметь по одному столбцу для каждого канала входного сигнала.

Пример «Указание вектора начальных условий для дискретного блока фильтра» показывает взаимосвязь между начальным выходом фильтра и начальным входом и состоянием. При начальном входе u1 первый выход y1 связан с начальным состоянием [x1, x2] и начальным входом посредством:

y1=b1 [(u1−a2x1−a3x2)a1] +b2x1+b3x2

Порты

Вход

развернуть все

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

Зависимости

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

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

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

Зависимости

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

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

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

Зависимости

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

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

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

Зависимости

Чтобы включить этот порт, установите для структуры фильтра значение Direct form II или Direct form II transposedи задайте начальные состояния как Input port.

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

Продукция

развернуть все

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

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

Зависимости

Чтобы включить этот параметр, установите для параметра «Источник числителя» значение Dialog.

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

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

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

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

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

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

Зависимости

Чтобы включить этот параметр, задайте для параметра Источник знаменателя значение Dialog.

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

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

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

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

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

Укажите начальные состояния фильтра как скаляр, вектор или матрицу. Сведения о задании начальных состояний см. в разделе Указание начальных состояний.

Зависимости

Чтобы включить этот параметр, установите для структуры фильтра значение Direct form II или Direct form II transposedи установите Начальные состояния Источник в Dialog.

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

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

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

Зависимости

Чтобы включить этот порт, установите для структуры фильтра значение Direct form I или Direct form I transposed.

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

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

Укажите начальное состояние фильтра знаменателя как скаляр, вектор или матрицу. Сведения о задании начальных состояний см. в разделе Указание начальных состояний.

Зависимости

Чтобы включить этот порт, установите для структуры фильтра значение 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).

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

Параметр блока: 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)

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

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

Параметр блока: 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)

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

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

Параметр блока: 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)

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

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

Параметр блока: 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)

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

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

Параметр блока: 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)

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

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

Параметр блока: 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)

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

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

Параметр блока: 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)

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

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

Параметр блока: 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)

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

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

Параметр блока: 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)

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

Зависимости

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

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

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

Выберите этот параметр, чтобы заблокировать параметры типа данных этого блока от изменений с помощью инструмента «Фиксированная точка» и помощника по фиксированным точкам. Дополнительные сведения см. в разделе Блокировка параметров типа выходных данных (конструктор фиксированных точек).

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

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

Укажите режим округления для операций с фиксированной точкой. Дополнительные сведения см. в разделе Округление (конструктор фиксированных точек).

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

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

Ограничения

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

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

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

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

Зависимости

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

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

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

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

Зависимости

Чтобы включить этот параметр, задайте для параметра Структура фильтра значение Direct form II и укажите значение для имени состояния. Этот параметр появляется только в том случае, если для параметра конфигурации модели Разрешение сигнала (Signal resolution) задано значение, отличное от None.

Установка этого флажка отключает класс хранения «» Создание кода «».

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

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

Укажите класс сигнального объекта.

Зависимости

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

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

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

Выберите класс хранения состояния для создания кода.

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

Зависимости

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

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

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

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

Примечание

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

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

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

  • Минимальные и максимальные значения сигнального объекта

Дополнительные сведения см. в разделе Объекты данных.

Зависимости

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

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

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

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

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

Типы данных

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

Прямой проход

no

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

no

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

no

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

no

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

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

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

.

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

.

См. также

| (DSP System Toolbox) | (DSP System Toolbox) | (Панель системных инструментов DSP) | (DSP System Toolbox) | (DSP System Toolbox) | (Панель системных инструментов DSP) | (Панель инструментов обработки сигналов)

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