Реализация функции дискретной передачи
Симулинк/дискретный
Кодер HDL/дискретный
Кодер HDL/Операции с плавающей точкой HDL
Блок дискретной передачи Fcn реализует передаточную функцию z-преобразования следующим образом:
den1zn − 1 +... + denn
где m + 1 и n + 1 - число числительных и знаменательных коэффициентов соответственно. num и den содержат коэффициенты числителя и знаменателя в нисходящих степенях z. num может быть вектором или матрицей, тогда как den должен быть вектором. Порядок знаменателя должен быть больше или равен порядку числителя.
Задайте коэффициенты многочленов числителя и знаменателя в степенях убывания z. Этот блок позволяет использовать многочлены в z для представления дискретной системы - метода, который обычно используют инженеры управления. И наоборот, блок дискретного фильтра позволяет использовать многочлены в z-1 (оператор задержки) для представления дискретной системы, метод, который обычно используют инженеры по обработке сигналов. Два метода идентичны, когда числитель и многочлен знаменателя имеют одинаковую длину.
Блок дискретной передачи Fcn применяет передаточную функцию z-преобразования к каждому независимому каналу входа. Параметр Input processing позволяет указать, обрабатывает ли блок каждый столбец ввода как отдельный канал (обработка на основе кадра) или каждый элемент ввода как отдельный канал (обработка на основе выборки). Для выполнения обработки кадров необходимо иметь лицензию DSP System Toolbox™.
Параметр Initial states используется для задания начальных состояний фильтра. Чтобы определить количество начальных состояний, которые необходимо указать, и способ их определения, используйте следующие таблицы.
Обработка на основе кадров
| Вход | Количество каналов | Допустимые начальные состояния (диалоговое окно) | Допустимые начальные состояния (входной порт) |
|---|---|---|---|
| 1 |
|
|
| N |
|
|
Обработка на основе проб
| Вход | Количество каналов | Допустимые начальные состояния (диалоговое окно) | Допустимые начальные состояния (входной порт) |
|---|---|---|---|
| 1 |
|
|
| N |
|
|
| K × N |
|
|
Когда начальные состояния являются скалярными, блок инициализирует все состояния фильтра с одинаковым скалярным значением. Для инициализации всех состояний до нуля введите 0. Когда начальные состояния являются вектором или матрицей, каждый вектор или элемент матрицы определяет уникальное начальное состояние для соответствующего элемента задержки в соответствующем канале:
Длина вектора должна равняться количеству элементов задержки в фильтре, 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 или integer. Типы данных с фиксированной точкой, за исключением ufix1, не поддерживаются.
Типы данных: single | double | Boolean | int8 | int16 | int32 | fixed point
x0 - Начальные состоянияНачальные состояния, заданные как скаляр, вектор или матрица. Дополнительные сведения об указании состояний см. в разделе Указание начальных состояний. Состояния сложны, когда входные значения или коэффициенты сложны.
Чтобы включить этот порт, установите начальное состояние 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] (по умолчанию) | скаляр | вектор | матрицаЧислительные коэффициенты дискретной передаточной функции. Чтобы задать коэффициенты, задайте для параметра Источник значение Dialog. Затем введите коэффициенты в Value в качестве степеней убывания z. Используйте вектор строки, чтобы задать коэффициенты для одного многочлена числителя. Используйте матрицу, чтобы задать коэффициенты для нескольких фильтров, которые будут применяться к одному входу. Каждая строка матрицы представляет набор отводов фильтра.
Чтобы включить этот параметр, установите для параметра «Источник числителя» значение Dialog.
Параметр блока:
Numerator |
| Текст: символьный вектор |
| Значения: скаляр | вектор | матрица |
По умолчанию:
'[1]'
|
Denominator Source - Источник коэффициентов знаменателяDialog (по умолчанию) | Input portУкажите источник коэффициентов знаменателя как Dialog или Input port.
Параметр блока:
DenominatorSource |
| Текст: символьный вектор |
Значения:
'Dialog' | 'Input port' |
По умолчанию:
'Dialog'
|
Denominator Value - Коэффициенты знаменателя[1 0.5] (по умолчанию) | скаляр | вектор | матрицаКоэффициенты знаменателя дискретной передаточной функции. Чтобы задать коэффициенты, задайте для параметра Источник значение Dialog. Затем введите коэффициенты в Value в качестве степеней убывания z. Используйте вектор строки, чтобы задать коэффициенты для одного многочлена знаменателя. Используйте матрицу, чтобы задать коэффициенты для нескольких фильтров, которые будут применяться к одному входу. Каждая строка матрицы представляет набор отводов фильтра.
Чтобы включить этот параметр, задайте для параметра Источник знаменателя значение 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).
Параметр блока:
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)
Нажмите кнопку Показать помощник по типам данных
, чтобы отобразить помощник по типам данных, который помогает задать атрибуты типов данных. Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных.
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)
Нажмите кнопку Показать помощник по типам данных
, чтобы отобразить помощник по типам данных, который помогает задать атрибуты типов данных. Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных.
Параметр блока:
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)
Нажмите кнопку Показать помощник по типам данных
, чтобы отобразить помощник по типам данных, который помогает задать атрибуты типов данных. Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных.
Параметр блока:
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)
Нажмите кнопку Показать помощник по типам данных
, чтобы отобразить помощник по типам данных, который помогает задать атрибуты типов данных. Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных.
Параметр блока:
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)
Нажмите кнопку Показать помощник по типам данных
, чтобы отобразить помощник по типам данных, который помогает задать атрибуты типов данных. Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных.
Параметр блока:
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)
Нажмите кнопку Показать помощник по типам данных
, чтобы отобразить помощник по типам данных, который помогает задать атрибуты типов данных. Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных.
Параметр блока:
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)
Нажмите кнопку Показать помощник по типам данных
, чтобы отобразить помощник по типам данных, который помогает задать атрибуты типов данных. Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных.
Параметр блока:
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)
Нажмите кнопку Показать помощник по типам данных
, чтобы отобразить помощник по типам данных, который помогает задать атрибуты типов данных. Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных.
Параметр блока:
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Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в этом блоке. Дополнительные сведения см. в разделе Блокировка параметров типа выходных данных (конструктор фиксированных точек).
Параметр блока: LockScale |
| Текст: символьный вектор |
Значения: 'off' | 'on' |
По умолчанию: 'off' |
Integer rounding mode - Режим округления для операций с фиксированной точкойFloor (по умолчанию) | Ceiling | Convergent | Nearest | Round | Simplest | ZeroУкажите режим округления для операций с фиксированной точкой. Дополнительные сведения см. в разделе Округление (конструктор фиксированных точек).
Параметры блока всегда округляются до ближайшего представимого значения. Для управления округлением параметра блока введите выражение с помощью функции округления MATLAB ® в поле маски.
Параметр блока:
RndMeth |
| Текст: символьный вектор |
Значения:
'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
По умолчанию:
'Floor' |
Saturate on integer overflow - Метод действия переполненияoff (по умолчанию) | onУкажите, будут ли переполнения насыщаться или переноситься.
| Действие | Объяснение | Влияние на переполнение | Пример |
|---|---|---|---|
|
Установите этот флажок ( |
Возможно переполнение модели, и требуется явная защита от насыщения в сгенерированном коде. |
Переполнения насыщаются минимальным или максимальным значением, которое может представлять тип данных. |
Максимальное значение, |
|
Не устанавливайте этот флажок ( |
Требуется оптимизировать эффективность созданного кода. Необходимо избегать чрезмерного указания того, как блок обрабатывает сигналы вне диапазона. Дополнительные сведения см. в разделе Устранение ошибок диапазона сигналов. |
Переполнение до соответствующего значения, представляемого типом данных. |
Максимальное значение, |
Если этот флажок установлен, насыщение применяется ко всем внутренним операциям блока, а не только к выводу или результату. Обычно процесс генерации кода может обнаруживать, когда переполнение невозможно. В этом случае генератор кода не создает код насыщения.
Параметр блока: SaturateOnIntegerOverflow |
| Текст: символьный вектор |
Значения:
'off' | 'on' |
По умолчанию: 'off' |
State name - Уникальное имя для состояния блока'' (по умолчанию) | буквенно-цифровая строкаЭтот параметр используется для назначения уникального имени состоянию блока. Значение по умолчанию: ' '. Если это поле пустое, имя не назначается. При использовании этого параметра следует учитывать следующие соображения:
Допустимый идентификатор начинается с буквы или символа подчеркивания, за которым следуют буквенно-цифровые символы или символы подчеркивания.
Имя состояния применяется только к выбранному блоку.
Этот параметр включает параметр Имя состояния должно разрешаться в сигнальный объект Simulink при нажатии кнопки Применить.
Дополнительные сведения см. в разделе Конфигурация генерации кода C для элементов интерфейса модели (Simulink Coder).
Параметр блока: StateName |
| Текст: символьный вектор |
| Значения: уникальное имя |
По умолчанию: '' |
State name must resolve to Simulink signal object - Требуется разрешение имени состояния для сигнального объектаoff (по умолчанию) | onУстановите этот флажок, чтобы имя состояния разрешалось в объект сигнала Simulink.
Чтобы включить этот параметр, укажите значение для имени состояния. Этот параметр появляется только в том случае, если для параметра конфигурации модели Разрешение сигнала (Signal resolution) задано значение, отличное от None.
Установка этого флажка отключает класс хранения «» Создание кода «».
Параметр блока: StateMustResolveToSignalObject |
| Текст: символьный вектор |
Значения:
'off' | 'on' |
По умолчанию: 'off' |
Signal object class - Имя пакета пользовательского класса храненияSimulink.Signal (по умолчанию) | <StorageClass.PackageName>Выберите пользовательский пакет класса хранения, выбрав класс сигнального объекта, определяемый целевым пакетом. Например, для применения пользовательских классов хранения из встроенного пакета mpt, выберите mpt.Signal. Если вы не используете цель создания кода на основе ERT с Embedded Coder ®, пользовательские классы хранения не влияют на созданный код.
Чтобы использовать пакет класса хранения, отличный от пакета Simulink, необходимо загрузить пакет в словарь Embedded Coder модели. См. раздел Загрузка пакетов классов хранения в словарь встроенного кодера (Embedded Coder).
Сведения о настройке данных модели с помощью классов хранения см. в разделе Конфигурация генерации кода C для элементов интерфейса модели (встроенный кодер). Сведения о пользовательских классах хранения см. в разделе Организация данных в структуры в сгенерированном коде (встроенный кодер).
Параметр блока: 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 (встроенный кодер).StorageClass
Используйте класс объекта Signal для выбора пользовательских классов хранения из пакета, отличного от Simulink.
Чтобы включить этот параметр, укажите значение для имени состояния.
Параметр блока:
StateStorageClass |
| Текст: символьный вектор |
Значения:
'Auto' | 'Model default' | 'ExportedGlobal' | 'ImportedExtern' | 'ImportedExternPointer' | 'Custom' | ... |
По умолчанию: 'Auto' |
TypeQualifier - Квалификатор типа склада'' (по умолчанию) | const | volatile | ...Укажите квалификатор типа склада, например const или volatile.
Примечание
TypeQualifier будет удален в следующем выпуске. Чтобы применить квалификаторы типов хранения к данным, используйте пользовательские классы хранения и разделы памяти. Если вы не используете целевой объект создания кода на основе ERT с Embedded Coder, пользовательские классы хранения и разделы памяти не влияют на созданный код.
Во время моделирования блок использует следующие значения:
Начальное значение сигнального объекта, которому разрешено имя состояния
Минимальное и максимальное значения сигнального объекта
Дополнительные сведения см. в разделе Объекты данных.
Чтобы включить этот параметр, задайте для класса хранения генерации кода значение ExportedGlobal, ImportedExtern, ImportedExternPointer, или Model default. Этот параметр скрыт, если ранее не было задано его значение.
Параметр блока: RTWStateStorageTypeQualifier |
| Текст: символьный вектор |
Значения:
'' | 'const' | 'volatile' | ... |
По умолчанию: '' |
HDL Coder™ предоставляет дополнительные опции конфигурации, которые влияют на реализацию HDL и синтезированную логику.
Этот блок имеет единую архитектуру HDL по умолчанию.
| Общая информация | |
|---|---|
| ConstMultiplierOptimization | Каноническая цифра со знаком (CSD) или факторизованная оптимизация CSD. Значение по умолчанию: |
| ConstrainedOutputPipeline | Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках проекта. Распределенная конвейерная обработка не перераспределяет эти регистры. Значение по умолчанию: |
| InputPipeline | Количество входных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
| OutputPipeline | Количество выходных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: |
| Собственная плавающая точка | |
|---|---|
| HandleDenormals | Укажите, должен ли кодер HDL вставлять дополнительную логику для обработки денормальных чисел в конструкцию. Денормальные числа - это числа, значения которых меньше наименьшего числа с плавающей запятой, которое можно представить без ведущих нулей в мантиссе. Значение по умолчанию: |
| LatencyStrategy | Укажите, следует ли сопоставлять блоки в проекте |
| MantissaMultiplyStrategy | Укажите способ выполнения операции умножения мантиссы во время генерации кода. С помощью различных настроек можно управлять использованием DSP на целевом устройстве FPGA. Значение по умолчанию: |
Двойные типы данных не поддерживаются для этого блока. Вместо этого используйте отдельные типы данных.
Типы входных данных кадра, матрицы и вектора не поддерживаются.
Коэффициент начального знаменателя (a0) должен быть равен 1 или -1.
Блок дискретной передачи Fcn исключается из следующих оптимизаций:
Совместное использование ресурсов
Распределенная конвейерная обработка
Этот блок поддерживает только подписанные типы данных с фиксированной точкой.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
