Пространство состояний фиксированной точки

Реализуйте пространство состояний дискретного времени

  • Библиотека:
  • Simulink / Additional Math & Discrete / Дополнительный Дискретный

Описание

Блок Fixed-Point State-Space реализует систему, описанную

y(n)=Cx(n)+Du(n)

x(n+1)=Ax(n)+Bu(n)

где u является входом, x является состоянием, и y является вывод. Оба уравнения имеют совпадающий тип данных.

  • A должен быть n-by-n матрица, где n является количеством состояний.

  • B должен быть n-by-m матрица, где m является количеством входных параметров.

  • C должен быть r-by-n матрица, где r является количеством выходных параметров.

  • D должен быть r-by-m матрица.

Кроме того:

  • Состоянием x должен быть n-by-1 вектор.

  • Вход необходимо быть m-by-1 вектор.

  • Выводом y должен быть r-by-1 вектор.

Блок принимает вход того и генерирует тот вывод. Ширина входного вектора является количеством столбцов в матриц D и B. Ширина выходного вектора является количеством строк в матрицах D и C. Чтобы задать вектор начального состояния, используйте параметр Initial conditions.

Порты

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

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

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

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

Вывод

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

Выходной сигнал, с шириной равняются количеству строк в матрицах D и C. Для получения дополнительной информации см. Описание.

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

Параметры

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

Основной

Задайте матрицу состояний как n с действительным знаком-by-n матрица, где n является количеством состояний. Для получения дополнительной информации о коэффициентах матрицы см. Описание.

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

Параметры блоков: A
Ввод: символьный вектор
Значения: скаляр | вектор | матрица
Значение по умолчанию: '[2.6020 -2.2793 0.6708; 1 0 0; 0 1 0]'

Задайте вектор-столбец входных параметров как n с действительным знаком-by-m матрица, где n является количеством состояний, и m является количеством входных параметров. Для получения дополнительной информации о коэффициентах матрицы см. Описание.

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

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

Задайте вектор-столбец выходных параметров как r с действительным знаком-by-n матрица, где r является количеством выходных параметров, и n является количеством состояний. Для получения дополнительной информации о коэффициентах матрицы см. Описание.

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

Параметры блоков: C
Ввод: символьный вектор
Значения: скаляр | вектор | матрица
Значение по умолчанию: '[0.0184 0.0024 0.0055]'

Задайте матрицу для прямого сквозного соединения как r с действительным знаком-by-m матрица, где r является количеством выходных параметров, и m является количеством входных параметров. Для получения дополнительной информации о коэффициентах матрицы см. Описание.

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

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

Задайте начальное условие для состояния.

Ограничения

Начальным состоянием не может быть inf или NaN.

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

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

Атрибуты сигнала

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

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

Параметры блоков: InternalDataType
Ввод: символьный вектор
Значения: строка типа данных
Значение по умолчанию: 'fixdt('double')'

Задайте масштабирование для уравнения состояния AX+BU.

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

Параметры блоков: StateEqScaling
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '2^0'

Задайте масштабирование для выходного уравнения CX+DU.

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

Параметры блоков: InternalDataType
Ввод: символьный вектор
Значения: скаляр
Значение по умолчанию: '2^0'

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

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

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

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

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

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

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

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

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

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

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

Типы данных

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

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

no

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

no

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

yes

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

no

[a]  Этот блок не рекомендуется для использования с булевыми сигналами.

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

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

Преобразование фиксированной точки
Преобразуйте алгоритмы с плавающей точкой в фиксированную точку с помощью Fixed-Point Designer™.

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