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

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

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

Описание

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

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

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

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

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

Определение начальных состояний

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

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

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

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

Скаляр

5

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

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

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

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

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

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

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

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

[d1d2D1D2d1d2] или

[d1D1d1d2D2d2]

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

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

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

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

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

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

Пустая матрица, [], эквивалентна установке параметра Начальных условий на скалярное значение 0.

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

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

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

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

  • number of zeros - 1

  • number of poles - 1

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

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

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

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

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

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

1
  • Скаляр

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

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

  • Скаляр

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

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

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

N
  • Скаляр

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

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

  • Матрица (M на n)

  • Скаляр

  • Матрица (M на n)

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

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

1
  • Скаляр

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

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

  • Скаляр

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

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

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

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

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

N
  • Скаляр

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

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

  • Матрица (M на n)

  • Скаляр

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

K × N
  • Скаляр

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

  • Вектор - строка (1 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

Порты

Входной параметр

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

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

Зависимости

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | фиксированная точка

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

Зависимости

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | фиксированная точка

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

Зависимости

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | фиксированная точка

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

Зависимости

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | фиксированная точка

Вывод

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

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

Типы данных: единственный | удваиваются | int8 | int16 | int32 | фиксированная точка

Параметры

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

Основной

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

Зависимости

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

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

Блочный параметр: FilterStructure
Ввод: символьный вектор
Значения: 'Прямая форма II' | 'Прямая форма я транспонировал' | 'Прямая форма I' | 'Прямая форма II транспонированный'
Значение по умолчанию: 'Direct form II'

Задайте источник коэффициентов числителя как Dialog или Input port.

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

Блочный параметр: NumeratorSource
Ввод: символьный вектор
Значения: 'Диалоговое окно' | 'Входной порт'
Значение по умолчанию: диалоговое окно

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

Зависимости

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

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

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

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

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

Блочный параметр: DenominatorSource
Ввод: символьный вектор
Значения: 'Диалоговое окно' | 'Входной порт'
Значение по умолчанию: диалоговое окно

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

Зависимости

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

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

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

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

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

Блочный параметр: InitialStatesSource
Ввод: символьный вектор
Значения: 'Диалоговое окно' | 'Входной порт'
Значение по умолчанию: диалоговое окно

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

Зависимости

Чтобы включить этот параметр, установите структуру Фильтра на 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'

Задайте, выполняет ли блок выборку - или основанная на кадре обработка.

  • Elements as channels (sample based) — Процесс каждый элемент входного параметра как независимый канал.

  • Columns as channels (frame based) — Процесс каждый столбец входного параметра как независимый канал.

Зависимости

Основанная на кадре обработка требует лицензии DSP System Toolbox.

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

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

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

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

Блочный параметр: StateDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: То же самое, как введено' | 'int8' | 'int16' | 'int32' | 'fixdt (1,16,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Same as input'

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

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

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

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

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

Нажмите ассистент типа данных Show кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Блочный параметр: NumCoeffDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило' | 'int8' | 'int16' | 'int32' | 'fixdt (1,16)' | 'fixdt (1,16,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit via internal rule'

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

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

Блочный параметр: NumCoeffMin
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

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

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

Блочный параметр: NumCoeffMax
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

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

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

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

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

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

Нажмите ассистент типа данных Show кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Блочный параметр: NumProductDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило' |, 'Наследуйтесь: То же самое, как введено' | 'int8' | 'int16' | 'int32' | 'fixdt (1,16,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit via interal rule'

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

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

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

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

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

Нажмите ассистент типа данных Show кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Блочный параметр: NumAccumDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило' |, 'Наследуйтесь: То же самое, как введено' | 'Наследовалось: То же самое как продукт вывод' | 'int8' | 'int16' | 'int32' | 'fixdt (1,16,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit via interal rule'

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

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

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

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

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

Нажмите ассистент типа данных Show кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Блочный параметр: DenCoeffDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило' | 'int8' | 'int16' | 'int32' | 'fixdt (1,16)' | 'fixdt (1,16,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit via internal rule'

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

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

Блочный параметр: DenCoeffMin
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

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

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

Блочный параметр: DenCoeffMax
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

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

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

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

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

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

Нажмите ассистент типа данных Show кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Блочный параметр: DenProductDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило' |, 'Наследуйтесь: То же самое, как введено' | 'int8' | 'int16' | 'int32' | 'fixdt (1,16,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit via internal rule'

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

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

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

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

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

Нажмите ассистент типа данных Show кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Блочный параметр: DenAccumDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило' |, 'Наследуйтесь: То же самое, как введено' | 'Наследовалось: То же самое как продукт вывод' | 'int8' | 'int16' | 'int32' | 'fixdt (1,16,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit via internal rule'

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

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

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

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

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

Нажмите ассистент типа данных Show кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

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

Блочный параметр: OutDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: Наследуйтесь через внутреннее правило' | 'int8' | 'int16' | 'int32' | 'fixdt (1,16)' | 'fixdt (1,16,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Inherit via internal rule'

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

  • Проверка диапазона моделирования (см. Диапазоны сигнала),

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

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

Блочный параметр: OutMin
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

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

  • Проверка диапазона моделирования (см. Диапазоны сигнала),

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

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

Блочный параметр: OutMax
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '[]'

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

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

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

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

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

Нажмите ассистент типа данных Show кнопка, чтобы отобразить Ассистент Типа данных, который помогает вам установить атрибуты типа данных. Для получения дополнительной информации смотрите, Задают Типы данных Используя Ассистент Типа данных.

Зависимости

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

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

Блочный параметр: MultiplicandDataTypeStr
Ввод: символьный вектор
Значения: 'Наследуйтесь: То же самое, как введено' | 'int8' | 'int16' | 'int32' | 'fixdt (1,16,0)' |' <выражение типа данных>'
Значение по умолчанию: 'Inherit: Same as input'

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

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

Блочный параметр: LockScale
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

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

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

Блочный параметр: RndMeth
Ввод: символьный вектор
Значения: 'Потолок' | 'Конвергентный' | 'Пол' | 'Самый близкий' | 'Вокруг' | 'Самый Простой' | 'Нуль'
Значение по умолчанию: пол

Задайте, насыщает ли переполнение или переносится.

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

Установите этот флажок (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 и задайте значение для имени состояния. Этот параметр появляется, только если вы устанавливаете образцовое разрешение Сигнала параметра конфигурации значения кроме None.

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

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

Блочный параметр: StateMustResolveToSignalObject
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

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

Зависимости

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

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

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

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

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

Зависимости

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

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

Блочный параметр: StateStorageClass
Ввод: символьный вектор
Значения: 'Auto' | 'Образцовое значение по умолчанию' | 'ExportedGlobal' | 'ImportedExtern' | 'ImportedExternPointer' | 'Пользовательский' |...
Значение по умолчанию: 'auto'

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

Примечание

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

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

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

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

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

Зависимости

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

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

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

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

Блокируйте характеристики

Типы данных

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

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

No

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

No

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

No

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

No

A 

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

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

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

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

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

Была ли эта тема полезной?