Реализуйте дискретную передаточную функцию
Simulink/Дискретный
HDL-кодер/дискретный
Операции HDL-кодера/HDL с плавающей точкой
Блок Discrete Transfer Fcn реализует передаточную функцию z-преобразования следующим образом:
где m + 1 и n + 1 - количество коэффициентов числителя и знаменателя, соответственно. num и den содержат коэффициенты числителя и знаменателя в нисходящих степенях z. num может быть вектором или матрицей, в то время как den должен быть вектором. Порядок знаменателя должен быть больше или равен порядку числителя.
Задайте коэффициенты числителя и знаменателя, полиномов в нисходящих степенях z. Этот блок позволяет вам использовать полиномы в z, чтобы представлять дискретную систему, метод, который обычно используют инженеры. И наоборот, блок Discrete Filter позволяет вам использовать полиномы в z-1 (оператор задержки), чтобы представлять дискретную систему, метод, который инженеры обработки сигналов обычно используют. Два метода идентичны, когда полиномы числителя и знаменателя имеют одинаковую длину.
Блок Discrete Transfer Fcn применяет передаточную функцию z-преобразования к каждому независимому каналу входа. Параметр Input processing позволяет вам задать, обрабатывает ли блок каждый столбец входа как отдельный канал (обработка на основе фрейма) или каждый элемент входа как отдельный канал (обработка на основе сэмплирования). Для выполнения обработки на основе фрейма необходимо иметь лицензию DSP System Toolbox™.
Используйте параметр Initial states, чтобы задать начальные состояния фильтра. Чтобы определить количество начальных состояний, которые вы должны задать и как их задать, используйте следующие таблицы.
Обработка на основе фрейма
Вход | Количество каналов | Допустимые начальные состояния (диалоговое окно) | Допустимые начальные состояния (Input port) |
---|---|---|---|
| 1 |
|
|
| N |
|
|
Выборка на основе обработки
Вход | Количество каналов | Допустимые начальные состояния (диалоговое окно) | Допустимые начальные состояния (Input port) |
---|---|---|---|
| 1 |
|
|
| N |
|
|
| <reservedrangesplaceholder1> × <reservedrangesplaceholder0> |
|
|
Когда 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] и начальным входом следующим образом:
u
- Входной сигналВходной сигнал, заданный как скаляр, вектор или матрица.
Типы данных: single
| double
| int8
| int16
| int32
| fixed point
Num
- Коэффициенты числителяКоэффициенты полинома числителя, заданные как вектор или матрица в нисходящих степенях z. Используйте вектор-строку, чтобы задать коэффициенты для одного полинома числителя. Используйте матрицу, чтобы задать коэффициенты для нескольких фильтров, которые будут применяться к одному входу. Каждая строка матрицы представляет набор ответвлений фильтра. Порядок знаменателя должен быть больше или равен порядку числителя.
Чтобы включить этот порт, установите Numerator Source равным Input port
.
Коэффициенты числителя и знаменателя должны иметь одинаковую сложность. Они могут иметь различные размеры слова и длины дробей.
Типы данных: single
| double
| int8
| int16
| int32
| fixed point
Den
- Коэффициенты знаменателяКоэффициенты полинома знаменателя, заданные как вектор в нисходящих степенях z. Используйте вектор-строку, чтобы задать коэффициенты для одного полинома знаменателя. Используйте матрицу, чтобы задать коэффициенты для нескольких фильтров, которые будут применяться к одному входу. Каждая строка матрицы представляет набор ответвлений фильтра. Порядок знаменателя должен быть больше или равен порядку числителя.
Чтобы включить этот порт, установите Denominator Source равным Input port
.
Коэффициенты числителя и знаменателя должны иметь одинаковую сложность. Они могут иметь различные размеры слова и длины дробей.
Типы данных: single
| double
| int8
| int16
| int32
| fixed point
External reset
- Внешний сигнал сбросаВнешний сигнал сброса, заданный как скаляр. Когда происходит заданное событие триггера, блок сбрасывает состояния до их начальных условий.
Совет
Значок для этого порта меняется на основе значения параметра External reset.
Чтобы включить этот порт, установите External reset равным Rising
, Falling
, Either
, Level
, или Level hold
.
Сигнал сброса должен быть скаляром типа single, double, Boolean или целым числом. Типы данных с фиксированной точкой, кроме ufix1
, не поддерживаются.
Типы данных: single
| double
| Boolean
| int8
| int16
| int32
| fixed point
x0
- Начальные состоянияНачальные состояния, заданные как скаляр, вектор или матрица. Для получения дополнительной информации об указании состояний см. Раздел «Задание начальных состояний». Состояния комплексны, когда входной параметр или коэффициенты комплексны.
Чтобы включить этот порт, установите Initial states Source равным Input port
.
Типы данных: single
| double
| int8
| int16
| int32
| fixed point
Port_1
- Выходной сигналВыходной сигнал, заданный как скаляр, вектор или матрица.
Типы данных: single
| double
| int8
| int16
| int32
| fixed point
Numerator Source
- Источник коэффициентов числителяDialog
(по умолчанию) | Input port
Укажите источник коэффициентов числителя следующим Dialog
или Input port
.
Параметры блоков:
NumeratorSource |
Тип: Вектор символов |
Значения:
'Dialog' | 'Input port' |
По умолчанию:
'Dialog'
|
Numerator Value
- Коэффициенты числителя[1]
(по умолчанию) | скалярный вектор | | матрицаКоэффициенты числителя дискретной передаточной функции. Чтобы задать коэффициенты, установите Source равным Dialog
. Затем введите коэффициенты в Value как нисходящие степени z. Используйте вектор-строку, чтобы задать коэффициенты для одного полинома числителя. Используйте матрицу, чтобы задать коэффициенты для нескольких фильтров, которые будут применяться к одному входу. Каждая строка матрицы представляет набор ответвлений фильтра.
Чтобы включить этот параметр, установите Numerator Source равным Dialog
.
Параметры блоков:
Numerator |
Тип: Вектор символов |
Значения: скаляр | вектор | матрица |
По умолчанию:
'[1]'
|
Denominator Source
- Источник коэффициентов знаменателяDialog
(по умолчанию) | Input port
Укажите источник коэффициентов знаменателя следующим Dialog
или Input port
.
Параметры блоков:
DenominatorSource |
Тип: Вектор символов |
Значения:
'Dialog' | 'Input port' |
По умолчанию:
'Dialog'
|
Denominator Value
- Коэффициенты знаменателя[1 0.5]
(по умолчанию) | скалярный вектор | | матрицаКоэффициенты знаменателя дискретной передаточной функции. Чтобы задать коэффициенты, установите Source равным Dialog
. Затем введите коэффициенты в Value как нисходящие степени z. Используйте вектор-строку, чтобы задать коэффициенты для одного полинома знаменателя. Используйте матрицу, чтобы задать коэффициенты для нескольких фильтров, которые будут применяться к одному входу. Каждая строка матрицы представляет набор ответвлений фильтра.
Чтобы включить этот параметр, установите Denominator Source равным Dialog
.
Параметры блоков:
Denominator |
Тип: Вектор символов |
Значения: скаляр | вектор | матрица |
По умолчанию:
'[1 0.5]'
|
Initial states Source
- Источник начальных состоянийDialog
(по умолчанию) | Input port
Укажите источник начальных состояний следующим Dialog
или Input port
.
Параметры блоков:
InitialStatesSource |
Тип: Вектор символов |
Значения:
'Dialog' | 'Input port' |
По умолчанию:
'Dialog'
|
Initial states Value
- Начальные состояния фильтра0
(по умолчанию) | скалярный вектор | | матрицаЗадайте начальные состояния фильтра в виде скаляра, вектора или матрицы. Чтобы узнать, как задать начальные состояния, смотрите Определение начальных состояний.
Чтобы включить этот параметр, установите Initial states Source равным Dialog
.
Параметры блоков:
InitialStates |
Тип: Вектор символов |
Значения: скаляр | вектор | матрица |
По умолчанию:
'0'
|
External reset
- Сброс внешнего состоянияNone
(по умолчанию) | Rising
| Falling
| Either
| Level
| Level hold
Задайте событие триггера, которое будет использоваться для сброса состояний к начальным условиям.
Режим сброса | Поведение |
---|---|
None | Нет сброса |
Rising | Сброс на приподнятом ребре |
Falling | Сброс на падающем ребре |
Either | Сброс на восходящем или падающем ребре |
Level | Сброс в любом из следующих случаев:
|
Level hold | Сброс, когда сигнал сброса ненулевой на текущем временном шаге |
Параметры блоков: ExternalReset |
Тип: Вектор символов |
Значения: 'None' | 'Rising' | 'Falling' | 'Either' | 'Level' | 'Level hold' |
По умолчанию: 'None' |
Input processing
- Обработка на основе выборок или фреймовElements as channels (sample based)
(по умолчанию) | Columns as channels (frame based)
Укажите, выполняет ли блок обработку на основе выборок или фреймов.
Elements as channels (sample based)
- Обработайте каждый элемент входа как независимый канал.
Columns as channels (frame based)
- Обработайте каждый столбец входа как отдельный канал.
Примечание
Для обработки на основе фрейма требуется лицензия DSP System Toolbox.
Для получения дополнительной информации смотрите Концепции на основе выборок и фреймов (DSP System Toolbox).
Параметры блоков:
InputProcessing |
Тип: Вектор символов |
Значения:
'Elements as channels (sample based)' | 'Columns as channels (frame based)' |
По умолчанию:
'Elements as channels (sample based)' |
Optimize by skipping divide by leading denominator coefficient (a0)
- Пропустить разделение на a0off
(по умолчанию) | on
Выберите, когда начальный коэффициент знаменателя, a0, равен 1. Этот параметр оптимизирует ваш код.
Когда вы устанавливаете этот флажок, блок не выполняет разделение- a0 ни в симуляции, ни в сгенерированном коде. Ошибка возникает, если a0 не равен единице.
Когда вы снимаете этот флажок, блок полностью настраивается во время моделирования и выполняет разделение на a0 как в симуляции, так и в генерации кода.
Параметры блоков:
a0EqualsOne
|
Тип: Вектор символов |
Значения:
'off' | 'on' |
По умолчанию:
'off'
|
Sample time (-1 for inherited)
- Интервал между выборками-1
(по умолчанию) | скалярный вектор |Задайте временной интервал между выборками. Чтобы наследовать шаг расчета, установите этот параметр равным -1
. Для получения дополнительной информации см. Раздел «Задание шага расчета».
Параметры блоков:
SampleTime |
Тип: Вектор символов |
Значения: скаляр | вектор |
По умолчанию:
'-1' |
State
- Тип данных о состоянииInherit: Same as input
(по умолчанию) | int8
| int16
| int32
| int64
| fixdt(1,16,0)
| <data type expression>
Укажите тип данных о состоянии. Вы можете установить его на:
Правило, которое наследует тип данных, например Inherit: Same as input
Встроенное целое число, например int8
Объект типа данных, например, Simulink.NumericType
объект
Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.
Numerator coefficients
- Тип данных коэффициента числителяInherit: Inherit via internal rule
(по умолчанию) | int8
| int16
| int32
| int64
| fixdt(1,16)
| fixdt(1,16,0)
| <data type expression>
Задайте тип данных коэффициента числителя. Вы можете установить его на:
Правило, которое наследует тип данных, например Inherit: Inherit via internal rule
Встроенное целое число, например int8
Объект типа данных, например, Simulink.NumericType
объект
Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.
Параметры блоков:
NumCoeffDataTypeStr |
Тип: Вектор символов |
Значения:
'Inherit: Inherit via internal rule' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | '<data type expression>' |
По умолчанию:
'Inherit: Inherit via internal rule' |
Numerator coefficient minimum
- Минимальное значение коэффициентов числителя[]
(по умолчанию) | скаляромЗадайте минимальное значение, которое может иметь коэффициент числителя. Значение по умолчанию []
(не определено). Simulink® программное обеспечение использует это значение для выполнения:
Проверка области значений параметров (см. «Задание минимальных и максимальных значений для параметров блоков»)
Автоматическое масштабирование типов данных с фиксированной точкой
Параметры блоков:
NumCoeffMin |
Тип: Вектор символов |
Значения: скаляр |
По умолчанию:
'[]' |
Numerator coefficient maximum
- Максимальное значение коэффициентов числителя[]
(по умолчанию) | скаляромЗадайте максимальное значение, которое может иметь коэффициент числителя. Значение по умолчанию []
(не определено). Программное обеспечение Simulink использует это значение для выполнения:
Проверка области значений параметров (см. «Задание минимальных и максимальных значений для параметров блоков»)
Автоматическое масштабирование типов данных с фиксированной точкой
Параметры блоков:
NumCoeffMax |
Тип: Вектор символов |
Значения: скаляр |
По умолчанию:
'[]' |
Numerator product output
- тип выходных данных продукта числителя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
Встроенный тип данных, например int8
Объект типа данных, например, Simulink.NumericType
объект
Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.
Параметры блоков:
NumProductDataTypeStr |
Тип: Вектор символов |
Значения:
'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>' |
По умолчанию:
'Inherit: Inherit via interal rule' |
Numerator accumulator
- Тип данных аккумулятора числителя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
Встроенный тип данных, например int8
Объект типа данных, например, Simulink.NumericType
объект
Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.
Параметры блоков:
NumAccumDataTypeStr |
Тип: Вектор символов |
Значения:
'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'Inherit: Same as product output' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>' |
По умолчанию:
'Inherit: Inherit via interal rule' |
Denominator coefficients
- Тип данных коэффициента знаменателяInherit: Inherit via internal rule
(по умолчанию) | int8
| int16
| int32
| int64
| fixdt(1,16)
| fixdt(1,16,0)
| <data type expression>
Задайте тип данных коэффициента знаменателя. Вы можете установить его на:
Правило, которое наследует тип данных, например Inherit: Inherit via internal rule
Встроенное целое число, например int8
Объект типа данных, например, Simulink.NumericType
объект
Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.
Параметры блоков:
DenCoeffDataTypeStr |
Тип: Вектор символов |
Значения:
'Inherit: Inherit via internal rule' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | '<data type expression>' |
По умолчанию:
'Inherit: Same wordlength as input' |
Denominator coefficient minimum
- Минимальное значение коэффициентов знаменателя[]
(по умолчанию) | скаляромЗадайте минимальное значение, которое может иметь коэффициент знаменателя. Значение по умолчанию []
(не определено). Программное обеспечение Simulink использует это значение для выполнения:
Проверка области значений параметров (см. «Задание минимальных и максимальных значений для параметров блоков»)
Автоматическое масштабирование типов данных с фиксированной точкой
Параметры блоков:
DenCoeffMin |
Тип: Вектор символов |
Значения: скаляр |
По умолчанию:
'[]' |
Denominator coefficient maximum
- Максимальное значение коэффициентов знаменателя[]
(по умолчанию) | скаляромЗадайте максимальное значение, которое может иметь коэффициент знаменателя. Значение по умолчанию []
(не определено). Программное обеспечение Simulink использует это значение для выполнения:
Проверка области значений параметров (см. «Задание минимальных и максимальных значений для параметров блоков»)
Автоматическое масштабирование типов данных с фиксированной точкой
Параметры блоков:
DenCoeffMax |
Тип: Вектор символов |
Значения: скаляр |
По умолчанию:
'[]' |
Denominator product output
- тип выходных данных продукта знаменателя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
Встроенный тип данных, например int8
Объект типа данных, например, Simulink.NumericType
объект
Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.
Параметры блоков:
DenProductDataTypeStr |
Тип: Вектор символов |
Значения:
'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>' |
По умолчанию:
'Inherit: Inherit via interal rule' |
Denominator accumulator
- Тип данных аккумулятора знаменателя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
Встроенный тип данных, например int8
Объект типа данных, например, Simulink.NumericType
объект
Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.
Параметры блоков:
DenAccumDataTypeStr |
Тип: Вектор символов |
Значения:
'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'Inherit: Same as product output' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16,0)' | '<data type expression>' |
По умолчанию:
'Inherit: Inherit via interal rule' |
Output
- Тип выходных данныхInherit: Inherit via internal rule
(по умолчанию) | Inherit: Same as input
| int8
| int16
| int32
| int64
| fixdt(1,16)
| fixdt(1,16,0)
| <data type expression>
Задайте тип выходных данных. Вы можете установить его на:
Правило, которое наследует тип данных, например Inherit: Inherit via internal rule
Встроенный тип данных, например int8
Объект типа данных, например, Simulink.NumericType
объект
Выражение, которое вычисляется как тип данных, например fixdt(1,16,0)
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.
Параметры блоков:
OutDataTypeStr |
Тип: Вектор символов |
Значения:
'Inherit: Inherit via internal rule' | 'Inherit: Same as input' | 'int8' | 'int16' | 'int32' | 'int64' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | '<data type expression>' |
По умолчанию:
'Inherit: Inherit via interal rule' |
Output minimum
- Минимальное значение выхода[]
(по умолчанию) | скаляромЗадайте минимальное значение, которое может вывести блок. Значение по умолчанию []
(не определено). Simulink использует это значение для выполнения:
Проверка области значений симуляции (см. «Задание диапазонов сигнала»)
Автоматическое масштабирование типов данных с фиксированной точкой
Параметры блоков:
OutMin |
Тип: Вектор символов |
Значения: скаляр |
По умолчанию:
'[]' |
Output maximum
- Максимальное значение выхода[]
(по умолчанию) | скаляромЗадайте максимальное значение, которое может вывести блок. Значение по умолчанию []
(не определено). Simulink использует это значение для выполнения:
Проверка области значений симуляции (см. «Задание диапазонов сигнала»)
Автоматическое масштабирование типов данных с фиксированной точкой
Параметры блоков:
OutMax |
Тип: Вектор символов |
Значения: скаляр |
По умолчанию:
'[]' |
Lock data type settings against changes by the fixed-point tools
- Предотвратить переопределение типов данных инструментами с фиксированной точкойoff
(по умолчанию) | on
Выберите этот параметр, чтобы предотвратить переопределение инструментами с фиксированной точкой типов данных, заданных в этом блоке. Для получения дополнительной информации смотрите Блокировка настройки типа выходных данных (Fixed-Point Designer).
Параметры блоков: LockScale |
Тип: Вектор символов |
Значения: 'off' | 'on' |
По умолчанию: 'off' |
Integer rounding mode
- Режим округления для операций с фиксированной точкойFloor
(по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Задайте режим округления для операций с фиксированной точкой. Для получения дополнительной информации см. раздел Округление (Fixed-Point Designer).
Параметры блоков всегда округлятся до ближайшего представимого значения. Чтобы контролировать округление параметров блоков, введите выражение с помощью MATLAB® функция округления в поле маски.
Параметры блоков:
RndMeth
|
Тип: Вектор символов |
Значения:
'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
По умолчанию:
'Floor'
|
Saturate on integer overflow
- Метод действия переполненияoff
(по умолчанию) | on
Укажите, будут ли переполнения насыщаться или переноситься.
Действие | Объяснение | Влияние на переливы | Пример |
---|---|---|---|
Установите этот флажок ( |
Ваша модель имеет возможное переполнение, и вы хотите явную защиту от насыщения в сгенерированном коде. |
Переполнения достигает минимального или максимального значения, которое может представлять тип данных. |
Максимальное значение, которое |
Не устанавливайте этот флажок ( |
Вы хотите оптимизировать эффективность вашего сгенерированного кода. Вы хотите избежать переопределения того, как блок обрабатывает сигналы вне области допустимого. Для получения дополнительной информации смотрите Поиск и устранение ошибок диапазона сигнала. |
Переполнения переходят к соответствующему значению, которое представимо типом данных. |
Максимальное значение, которое |
Когда вы устанавливаете этот флажок, насыщение применяется к каждой внутренней операции на блоке, а не только к выходу или результату. Обычно процесс генерации кода может обнаружить, когда переполнение невозможно. В этом случае генератор кода не производит код насыщения.
Параметры блоков: SaturateOnIntegerOverflow |
Тип: Вектор символов |
Значения:
'off' | 'on'
|
По умолчанию: 'off' |
State name
- Уникальное имя для состояния блока''
(по умолчанию) | алфавитно-цифровую строкуИспользуйте этот параметр, чтобы присвоить уникальное имя состоянию блока. Значение по умолчанию является ' '
. Когда это поле не заполнено, имя не присваивается. При использовании этого параметра запоминайте следующие факторы:
Допустимый идентификатор начинается с буквенного символа или символа подчеркивания, за которым следуют алфавитно-цифровые символы или символы подчеркивания.
Имя состояния применяется только к выбранному блоку.
Этот параметр включает State name must resolve to Simulink signal object при нажатии кнопки Apply.
Для получения дополнительной информации смотрите Строение Генерации кода C для Элементов Интерфейса Модели (Simulink Coder).
Параметры блоков: StateName |
Тип: Вектор символов |
Значения: уникальное имя |
По умолчанию: '' |
State name must resolve to Simulink signal object
- Требуйте разрешения имен состояний для объекта сигналаoff
(по умолчанию) | on
Установите этот флажок, чтобы потребовать, чтобы имя состояния разрешилось к объекту сигнала Simulink.
Чтобы включить этот параметр, задайте значение для State name. Этот параметр появляется только, если вы задаете значение параметра конфигурации модели Signal resolution отличное от None
.
Установка этого флажка отключает Code generation storage class.
Параметры блоков: StateMustResolveToSignalObject |
Тип: Вектор символов |
Значения:
'off' | 'on'
|
По умолчанию: 'off' |
Signal object class
- Имя пользовательского пакета класса памятиSimulink.Signal
(по умолчанию) | <StorageClass.PackageName>
Выберите пользовательский пакет класса памяти путем выбора класса объекта сигнала, заданного целевым пакетом. Например, применить пользовательские классы памяти из встроенного пакета mpt
, выберите mpt.Signal
. Если вы не используете цель генерации кода на основе ERT с Embedded Coder®пользовательские классы памяти не влияют на сгенерированный код.
Чтобы использовать пакет класса памяти, отличный от пакета Simulink, необходимо загрузить пакет в словарь Embedded Coder Dictionary модели. Смотрите Загрузку пакетов класса памяти в словарь встраиваемого кодера (Embedded Coder).
Для получения информации о конфигурировании данных моделей с помощью классов памяти смотрите Строение Генерации кода C для Элементов Интерфейса Модели (Embedded Coder). Для получения дополнительной информации о пользовательских классах классов памяти раздел Организация данных в структуры в Сгенерированном коде (Embedded Coder).
Параметры блоков: StateSignalObject |
Тип: Вектор символов |
Значения:
'Simulink.Signal' | '<StorageClass.PackageName>' |
По умолчанию: 'Simulink.Signal' |
Code generation storage class
- класс памяти состояний для генерации кодаAuto
(по умолчанию) | Model default
| ExportedGlobal
| ImportedExtern
| ImportedExternPointer
| BitField (Custom)
| Model default
| ExportToFile (Custom)
| ImportFromFile (Custom)
| FileScope (Custom)
| AutoScope (Custom)
| Struct (Custom)
| GetSet (Custom)
| Reusable (Custom)
Выберите класс памяти состояний для генерации кода.
Auto
- соответствующий класс памяти для состояний, которые не должны взаимодействовать с внешним кодом.
применяет класс памяти или пользовательский класс памяти, выбранный из списка. Для получения информации о классах памяти смотрите Строение Генерации кода C для Элементов Интерфейса Модели (Simulink Coder). Для получения дополнительной информации о пользовательских классах памяти смотрите Организовать данные параметра в структуру при помощи класса Struct Storage Class (Embedded Coder).StorageClass
Используйте Signal object class, чтобы выбрать пользовательские классы памяти из пакета, отличного от Simulink
.
Чтобы включить этот параметр, задайте значение для State name.
Параметры блоков:
StateStorageClass
|
Тип: Вектор символов |
Значения:
'Auto' | 'Model default' | 'ExportedGlobal' | 'ImportedExtern' | 'ImportedExternPointer' | 'Custom' | ... |
По умолчанию: 'Auto' |
TypeQualifier
- Квалификатор типа склада''
(по умолчанию) | const
| volatile
| ...Укажите классификатор типа хранилища, например const
или volatile
.
Примечание
TypeQualifier будет удалено в следующем релизе. Чтобы применить проверку типа хранилища к данным, используйте пользовательские классы памяти и разделы памяти. Если вы не используете цель генерации кода на основе ERT с Embedded Coder, пользовательские классы памяти и разделы памяти не влияют на сгенерированный код.
Во время симуляции блок использует следующие значения:
Начальное значение объекта сигнала, которому разрешено имя состояния
Минимальное и Максимальное значения объекта сигнала
Для получения дополнительной информации см. раздел Объекты данных.
Чтобы включить этот параметр, установите Code generation storage class равным ExportedGlobal
, ImportedExtern
, ImportedExternPointer
, или Model default
. Этот параметр скрыт, если вы ранее не установили его значение.
Параметры блоков: RTWStateStorageTypeQualifier |
Тип: Вектор символов |
Значения:
'' | 'const' | 'volatile' | ...
|
По умолчанию: '' |
HDL Coder™ предоставляет дополнительные опции строения, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет одну архитектуру HDL по умолчанию.
Общая информация | |
---|---|
ConstMultiplierOptimization | Canonical signed digit (CSD) или факторизованная оптимизация CSD. Значение по умолчанию является |
ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках вашего проекта. Распределённая конвейеризация не перераспределяет эти регистры. Значение по умолчанию является |
InputPipeline | Количество входных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
OutputPipeline | Количество выходных этапов конвейера для вставки в сгенерированный код. Распределённая конвейеризация и ограниченная выходная конвейеризация могут перемещать эти регистры. Значение по умолчанию является |
Собственная переменная с плавающей точкой | |
---|---|
HandleDenormals | Укажите, хотите ли вы, чтобы HDL Coder вставил дополнительную логику для обработки денормальных чисел в ваш проект. Денормальные числа являются числами, которые имеют величины меньше, чем наименьшее число с плавающей запятой, которое может быть представлено без ведущих нулей в мантиссе. Значение по умолчанию является |
LatencyStrategy | Задайте, сопоставлять ли блоки в вашем проекте |
MantissaMultiplyStrategy | Задайте, как реализовать операцию умножения мантиссы во время генерации кода. При помощи различных настроек можно управлять использованием DSP на целевом устройстве FPGA. Значение по умолчанию является |
Двойные типы данных для этого блока не поддерживаются. Вместо этого используйте отдельные типы данных.
Типы входных данных системы координат, матрицы и вектора не поддерживаются.
Начальный коэффициент знаменателя (a0) должен быть 1 или -1.
Блок Discrete Transfer Fcn исключен из следующих оптимизаций:
Совместное использование ресурсов
Распределённая конвейеризация
Этот блок поддерживает только подписанные типы данных с фиксированной точкой.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.