Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1425

.pdf
Скачиваний:
6
Добавлен:
30.04.2022
Размер:
1.14 Mб
Скачать

Дискретные элементы (Discrete)

Дискретные элементы (Discrete) аналогичны Непрерывным элементам (Continuous), в которых вместо преобразования Лапласа используется дискретное Z-преобразование. Параметры настройки повторяют параметры настройки Непрерывных элементов (Continuous), кроме одного парамет-

ра Sample time:

Discrete Transfer Fcn – передаточная функция дискретного звена в виде отношения двух многочленов степени переменной z.

Параметры настройки (аналогичны блоку Transfer Fcn):

Numerator - вектор коэффициентов числителя. Может быть определен как матрица со многими строками, при этом выход многомерный.

Denominator - вектор коэффициентов знаменателя. Sample time – шаг дискретного времени.

Discrete Zero-Pole – задание дискретного звена через указание векторов значений полюсов и нулей дискретной передаточной функции, а также значения коэффициента передачи.

Параметры настройки:

Zeros – матрица нулей.

Poles – вектор полюсов.

Gain - вектор коэффициентов передачи.

Sample time – шаг дискретного времени.

Discrete Filter передаточная функция дискретного звена в виде отношения двух многочленов степени переменной 1/z.

Параметры настройки:

Numerator - вектор коэффициентов числителя.

Denominator - вектор коэффициентов знаменателя.

Sample time – шаг дискретного времени.

Discrete State-Space

Задание дискретного звена матрицами его состояния. Параметры настройки: A,B,C,D - коэффициенты матриц.

Initial conditions - вектор начального состояния; Sample time – шаг дискретного времени.

Discrete Time-Integrator

Выполняет суммирование интервалов временим между поступлениями входного сигнала. Блок может быть использован для управления логикой работы отдельных компонентов. Например, суммарная длительность работы некоторой подсистемы может служить условием «досрочного» окончания моделирования.

Параметры настройки блока аналогичны параметрам настройки блока Integrator, за исключением:

Integrator method - метод интегрирования; можно выбрать один из трех методов; Forward Euler - прямой метод Эйлера (левых прямоугольников);

Backward Еulег – обратный метод Эйлера (правых прямоугольников); Trapezoidal – метод трапеций.

Дискретные элементы (Discrete)

Sample time - шаг интегрирования в единицах модельного времени, вместо Absolute tolerance (точность вычислений).

First-Order Hold экстраполятор первого порядка. Осуществляет выборку и со-

 

хранение в определенном выборочном интервале. Этот блок не имеет большого значе-

 

ния и включен, прежде всего, с учебными целями и для иллюстраций. Параметр на-

 

стройки:

 

Sample time – шаг дискретного времени.

 

Memory – элемент памяти. Задержка входного сигнала на один шаг модельного вре-

 

мени. Два параметра настройки:

 

Initial condition – начальное состояние – значение входного сигнала на момент инициа-

Memory

лизации элемента. В большинстве случаев имеет смысл положить равным нулю.

 

Inherit sample time – наследовать эталонное время. Позволяет задавать величину шага, на котором будет производиться задержка сигнала: не отмечено - используется минимальный шаг, равный 0.1 единицы модельного времени; отмечено – величина шага равна указанному в Sample time. Замечание: избегайте использовать элемент памяти при интегрировании с ode15s или ode113, если входной сигнал не изменяется.

Unit Delay – задержка входного сигнала на один шаг модельного времени. Параметры настройки:

Initial condition - начальное состояние; значение амплитуды сигнала в момент активизации блока. Может быть задано либо в виде числовой константы, либо в виде вычисляемого выражения.

Sample time - эталонное время; размер шага модельного времени, в течении которого сохраняется значение сигнала, поступившего на вход блока. Как и первый параметр, может задаваться в любой форме, но значение параметра должно быть положительным. Если моделирование выполняется с постоянным шагом, то данный параметр обязательно должен бьпь равен Δt. Если Sample time = -1, то типовое время наследуется.

Zero-Order Hold – экстраполятор нулевого порядка. Осуществляет функцию выборки и хранения (sample-and-hold), действующую в определенный момент времени. Блок имеет один вход и один выход (скалярные или векторные). Обеспечивает механизм дискретизации сигналов или переопределения выборки сигнала за определенный интервал. Можно использовать для пробных выборок, чтобы не прибегать к более сложным

дискретным функциональным блокам, например, вместе блока шифратора (импульсного модулятора) в модели A/D преобразователя с входным усилителем.

Параметр настройки:

Sample time – шаг дискретного времени.

11

Таблицы поиска (Look-Up Tables)

Direct Look-Up Table (n-D) - прямая таблица поиска (n-D)

Индекс n-размерность таблицы для восстановления скаляра, вектора или двумерной матрицы.

Входы блока прямая таблица поиска используются как индексы, начиная с нуля, в таблице n-D. Число входов изменяется с формой желаемого вывода. Вывод может быть скаляром, вектором или двумерной матрицей. Таблица поиска использует индексацию с нуля, так что типы данных могут включать полностью целочисленный адресный диапазон. Например, размер таблицы, использующей тип данных uint8 может адресовать все 256 элементов.

Вы определяете набор выходных значений как параметр Table data (таблицы данных). Вы определяете, какова форма вывода: скаляр, вектор или двумерная матрица. Первый вход определяет индекс начиная с нуля на 1 выше, чем число размеров в выводе, второй вход определяет индекс таблицы следующего размера, и так далее, как показано на этом рис. Иллюстрация показывает таблицу 5-D с набором форм вывода "двумерная матрица"; вывод - двумерная матрица с R строками и С столбцами.

Следующие иллюстрации показывают набор всех различных изображений блока Direct Look-Up Table (в зависимости от вариантов выбора в окне диалога).

Размеры выше 4 соответствует 4-D изображениям, но показывает точное число размеров в главном тексте, например, "8-D T [k]" Главный ряд изображений используется, когда блочный вывод создан на основе одного или более поисков единственного элемента в таблице. Помеченные блоки "n-D Direct Table Lookup5", 6, 8 и 12 формируются, чтобы извлечь столбец из таблицы и двух блоков; заканчивающиеся 7 и 9, извлекают плоскость из таблицы. Блоки на рисунке заканчивающейся 10, 11 и 12 формируются, чтобы иметь таблицу с входом вместо параметра.

Пример

В этом примере, блочные параметры определены как

Таблицы поиска (Look-Up Tables)

Неправильное значение

входа: "Закрывается с предупреждинием"

Форма вывода:

"Векторная"

Таблица данных:

int16(a)

где - 4-D матрица линейного увеличения номеров в результате расчетов MATLAB.

a = (20,4,5,7); L = prod(size(a)); (1:L) = [1:L]';

Следующий рисунок показывает блок с выходным вектором 20 значений во втором столбце четвертого элемента третьего размера от третьего элемента четвертого размера. Обратите внимание, что блок использует индексацию с нуля. Значения вывода в этом примере могут быть рассчитаны вручную в MATLAB (который использует 1-основанную индексацию):

 

а(:,1+1,1+3,1+2)

Поддержка типа данных

ans =

1061

 

Прямая таблица поиска принимает сигналы смешенного типа,

1062

 

двойного, единственного, int8, uint8, int16, uint16, int32 и uint32.

1063

Тип выхода может отличаться от введенного входног и может

1064

быть любой из типов, внесенных в список для входного устройст-

1065

ва; тип вывода унаследован от типа данных параметра Table data.

1066

В случае, в который вход таблицы определен, тип выхода унас-

1067

ледован от входа таблицы. Входы для индексации должны быть

1068

реальными; данные таблицы могут быть комплексными.

1069

 

1070

Параметры настройки:

1071

Number of table dimensions - размерность таблицы.

1072

Определяется числом независимых переменных для таблицы и

1073

следовательно числом входов в блоке (см. описание "Explicit

1074

Number of dimensions" и "Use one (vector) input port instead of N

1075

ports,"("Яявная размерность" и "Использовани одного (векторно-

1076

го) входа вместо N портов").

1077

 

1078

Inputs select this object from table - входы определяют объект

1079

таблицы

1080

Определите, являются ли выходные данные единственным эле-

 

 

ментом, n-D столбцом или двумерной матрицей. Число портов изменяется для каждого выбора: Элемент - # порты = # размерность Столбец - # порты = # размерность - 1

Двумерная матрица - # порты = # размерность - 2

Это обозначения соглашаются с индексацией MATLAB. Например, если Вы имеете таблицу 4-D данных, для обращения к единственному элементу, Вы должны определить четыре индекса, как в матрице (1,2,3,4) Чтобы определить столбец, Вам нужно три индекса, как в

13

Таблицы поиска (Look-Up Tables)

матрице (:,2,3,4). Наконец, чтобы определить двумерную матрицу, Вам нужно только два индекса, как в матрице (::,3,4).

Make table an input – отключение входа таблицы.

Этот выбор вынуждает прямую таблицу поиска игнорировать параметр Table Data. Вместо этого, появляется новый вход рядом с "T". Используйте этот вход к данным таблицы.

Table data – таблица данных.

Таблица значений выхода. Матричный размер должен соответствовать размерам, определенным параметром n breakpoint set или Explicit number of dimensions параметром, когда число разме-

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

Action for out of range input – сообщение о ошибках. None, Warning, Error. - нет, предупреждение, ошибка.

Примечание

В реальном времени: в произведенном коде, "отключение предупреждения" и "отключение индекса", заставляют Real-Time Workshop производить код отключения без кода, включения, чтобы произвести предупреждения. Код произведенный для другого варианта, "Generate Error (Ошибка)", не имеет никакого кода отключения или сообщений об ошибках вообще, при условии, что моделирование в течение этапа вашего проектирования. Это предположение помогает коду, произведенному Real-Time Workshop быть очень эффективным.

Interpolation (n-D) Using PreLook-Up

Интерполяция.

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

PreLook-Up Index Search

Блок интерполяция использует предварительно рассчитанные коэффициенты и части интервала блока PreLook-Up Index Search. Эта комбинация блоков позволяет множественную интерполяцию. В моделях, которые имеют, много блоков интерполяции, время моделирования может быть очень затянуто.

Блок поддерживает два метода интерполяции: постоянную и линейную. Эти режимы могут быть применены к одномерному, двухмерному, трехмерному, четырех и выше.

Вы определяете набор значений выхода как параметр Table data. Эти значения таблицы должны соответствовать наборам данных вводимых точек, которые находятся в блоке PreLook-Up Index Search. Блок производит интерполируя значений таблицы, основанные на паре, вводимых в блок каждым блоком PreLook-Up Index Search.

Блок выдает значения, основанные на значениях входа:

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

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

Поддержка типа данных

Блок интерполяции и блок Using PreLook-Up принимаеют сигналы одномерные и двумерные, но для любого данного блока, входы должны все иметь тот же самый тип. Параметр Table data должен иметь тот же самый тип, что и входы. Тип выходных данных установлен в тип данных Table data.

Параметры настройки:

14

Таблицы поиска (Look-Up Tables)

Number of table dimensions - размерность таблицы.

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

Table data - таблица данных.

Таблица значений выхода. Матричный размер должен соответствовать размерам, определенным N параметром breakpoint set или Explicit number of dimensions, когда число размеров превышает четыре. При редактировании принципиальной схемы Вы можете оставить Table data пустой, но при моделировании нужно указать, что размерность в Table data соответствует Number of table dimensions.

Interpolation method - метод интерполяции.

None (flat) или Linear (нет или линейный).

Метод экстраполяции

None (clip) или Linear (нет или линейный).

Action for out of range input - механизм определения входного диапазона None, Warning, Error (нет, предупреждение, ошибка).

Look-Up Table

Таблица поиска

Аппроксимирует одномерную функцию y = f (x) данных векторов x и y, используя указанный метод поиска. Вектор x данных должен строго монотонно увеличиваться, кро-

ме следующего случая. Если вход x и сигнал выхода является или единственным, или двойным, и если метод поиска - Interpolation-Extrapolation, то x может монотонно увеличиваться, а не строго монотонно увеличиваться. Обратите внимание, что при квантовании, x вектор данных должен быть строго монотонным с удвоением, но не таким после перехода к типу данных fixed-point.

Таблица определяется через определение параметров входного вектора Vector of input values как 1-by-n вектор и параметров выходного Vector of output values как 1-by-n вектор. Используется один из методов из списка параметров Look-up method:

Interpolation-Extrapolation - экстраполяция интерполяции. Заданный по умолчанию метод; выполняет линейную интерполяцию и экстраполяцию входного сигнала:

oЕсли значение соответствует введенным точкам, выход - соответствующий элемент таблицы.

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

Interpolation-Use End Values - граничные значения интерполяции. Этот метод выполняет линейную интерполяцию как описано выше, но не экстраполирует вне точек на концах. Вместо этого используются значения на концах .

Use Input Nearest - метод не интерполирует или экстраполирует. Вместо этого используется элемент x самый близкий к текущему входному значению и соответствующий элемент y .

Use Input Below - метод не интерполирует или экстраполирует. Вместо этого используется элемент x самый близкий по манимому к текущего входному значению и соответствующий элемент y. Если нет никакого элемента x ниже текущего входного значения, то самый близкий элемент из найденных.

Use Input Above - метод не интерполирует или экстраполирует. Вместо этого используется элемент x самый близкий по максимуму к текущего значению и соответствующий элемент y. Если нет никакого элемента x выше текущего входного значения, то самый близкий элемент.

15

Таблицы поиска (Look-Up Tables)

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

Вектор значений входа: [-2-1-1 0 0 0 1 1 2] Вектор значений выхода: [-1-1-2-2 1 2 2 1 1]

Этот пример имеет три разрыва: u = -1, 0, и +1. Когда есть две точки в данном значении входа, блок выдает согласно этим правилам:

Когда входной сигнал u меньше нуля, выход - значение, связанное с точкой, с которой сначала сталкиваются при движении от по-

ложения в отрицательном направлении. В этом примере, когда u --1, y -2, отмечено темной точкой.

Когда u больше нуля, выход - значение, связанное с точкой, сначала с которой сначала сталкиваются при движении от положения в положительном направлении. В этом примере, когда u - 1, y 2, отмечен темной точкой.

Когда u такое, что есть два значения выхода, указанные для нулевого входа, выход - их усреднение. В этом примере, если точка u = 0 и y = 1, выход был бы 0, усреднение двух точек в u = 0. Если есть три точки в ноле, блок производит выход, связанный со средней точкой. В этом примере, выход для начальной точки 1.

Изображение блока Look-Up Table содержит график вектора выхода от вектора входа. Когда параметр изменен на блоке, график автоматически меняется при нажатии кнопки Apply или Close. Когда выбран Show additional parameters некоторые из параметров становятся видимыми.

Чтобы избегать ошибок режима насыщения, предусмотрено автоматическое масштабирование autofixexp. Оно изменяет вычисление, используя значения поиска вывода в дополнение к зарегистрированным минимальным и максимальным значениям моделирования. Это препятствует насыщению данных. Значения поиска даются параметром Vector of output values (YDataPoints переменная).

Vector of input values – вектор входных значений. Задается в виде последовательности числовых значений, записанных в виде чисел, либо вычисляемых выражений от числовых данных.

Vector of output values – вектор выходных значений. Записывается аналогично входному вектору. Все данные вводятся в квадратных скобках.

Show additional parameters - показать дополнительные параметры.

Look-up method - метод поиска.

Output data type mode – тип режима выходных данных. Output data type - тип выходных данных.

Output scaling value - масштаб выходных значений.

Lock output scaling against changes by the autoscaling tool - вычисление выходных значений от изменений автовычислений. Если выбрано, вычисление выходных значений блокировано. Round integer calculations toward - расчеты в целых числах. Выбор режима округления для ввода точек.

Saturate on integer overflow – насыщение при выходе за пределы целого числа.

16

Таблицы поиска (Look-Up Tables)

Пример:

Предположим, что блок Look-Up Table в вышеупомянутой модели формируется, чтобы использовать вектор значений входных данных [-5:5], и вектором значений выходных данных sinh ([-5:5]).

Получены следующие результаты:

 

Метод поиска

Вход

Выход

Комментарий

 

 

 

 

 

 

 

Interpolation-Extrapolation

1.4

2.153

N/A

 

 

 

 

 

 

 

 

5.2

83.59

N/A

 

 

 

 

 

 

 

 

Interpolation-Use End Values

1.4

2.153

N/A

 

 

 

 

 

 

 

 

5.2

74.2

Значение для sinh (5.0) .

 

 

 

 

 

 

 

 

Use Input Above

1.4

3.627

Значение для sinh (2.0) .

 

 

 

 

 

 

 

 

5.2

74.2

Значение для sinh (5.0) .

 

 

 

 

 

 

Use Input Below

1.4

1.175

Значение для sinh (1.0) .

 

 

 

 

 

 

 

 

-5.2

-74.2

Значение для sinh (-5.0) .

 

 

 

 

 

 

 

 

Use Input Nearest

1.4

1.175

Значение для sinh (1.0) .

 

 

 

 

 

 

 

 

 

 

 

Пример: если считать X входной величиной, Y – выходной, то кусочно-линейная характеристика, представленная на рисунке, бу-

дет иметь следующие параметры: X = [-2;-1.2;1.2;2]; Y = [-4.3;-

4.3;4.3;4.3]. В данном примере для первого и последнего члена в записи X можно брать любые числа, большие по модулю 1.2. Дело в том, что для значений входного сигнала меньшего чем -2, программа производит аппроксимацию характеристики прямой линией, соединяющей две последние точки. Аналогично при значениях больших 2.

Look-Up Table (2-D)

Табличное описание произвольной скалярной функции двух аргументов. Три параметра настройки:

Row – вектор значений первого аргумента. Вводимые числовые значения должны образовывать возрастающую последовательность. В остальном аналогично Vector of input values блока Look-Up Table.

Column – вектор значений второго аргумента. Записывается аналогично вектору Row.

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

17

Таблицы поиска (Look-Up Tables)

Пример:

Если введено

Row:

[1

2]

Column:

[3

4]

Table:

[10 20; 30 40]

то значения табличной функции двух переменных

Если запрашиваются промежуточные значения, то производится линейная интерполяция:

Look-Up Table (n-D)

Таблица поиска.

Исполняет ступенчатую, линейную или сплайн интерполяцию отобранных N значений на входе и производит выбор изображения функции N переменных.

Таблица поиска оценивает произведенный выбор изображений функции N перемен-

ных, интерполируя между выборками, чтобы дать приближенное значение для y = F(x1,x2,x3,…,xn), даже когда функция F известна только опытным путем. Блок отображает блочные входы в зависимости от вывода, используя табличную интерполяцию значений, определенных параметрами блока. Поддерживаемые методы интерполяции

Константа

Линейная Кубический сплайн

Вы можете ввести любой из этих методов к одномерным, двумерным, трехмерным или более высоким размерным таблицам.

Вы определяете набор значений вывода как параметр Table data и значения, которые соответствуют его строкам, столбцам и более высоким размерам с n-ым параметром набора контрольной точки. Блок создает выходные значения, сравнивая входы с параметрами набора контрольной точки. Первый вход идентифицирует первый ряд, второй - столбец и так далее, как показано на рисунке.

Если Вы незнакомы с тем, как строить N-размерные матрицы в MATLAB, см. Многомерные матрицы в документации MATLAB.

Блок производит вывод, основанный на значениях входа:

Если значения параметра точки соответствует входу, вывод - значение таблицы в перекрещивании ряда, столбца и более высоких размеров.

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

18

Таблицы поиска (Look-Up Tables)

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

Обратите внимание как альтернативу, Вы можете использовать Look-Up Table (n-D) блок с блоком PreLook-Up Index Search, чтобы иметь больше гибкости и потенциально намного более высокие параметры для линейной интерполяций в некоторых случаях.

Для неинтерполируемых таблиц, используйте Direct Look-Up Table (n-D), когда режим поиска - простая выборка матрицы, например, если Вы имеете целое число, и Вы просто хотите k элемент таблицы, y = table(k).

Поддержка типа данных

Look-Up Table (n-D) принимает сигналы типов, двойных или единственных, но для любой данной Look-Up Table (n-D) входы должны иметь тот же самый тип. Данные таблицы и точки устанавливают параметры и должны иметь тот же самый тип, что и входы. Тип выходных данных также установлен на тип входных данных.

Number of table dimensions - размерность таблицы.

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

First input (row) breakpoint set - первый вход (строка) набора точек.

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

Second (column) input breakpoint set – второй (столбец) набор точек входа.

Столбец таблицы можно считать вектором. Векторные значения должны увеличиться монотонно. Этот ввод видим, если Number of table dimensions - 2, 3, 4 или больше.

Third ... Nth input breakpoint set - третий ... n - ный набор точек входа.

Значения, соответствующие третьему размеру для таблицы, введенной как вектор. Векторные значения должны увеличиться монотонно. Этот вход видим, если Number of table dimensions - 3, 4 или больше.

Fourth input breakpoint set - четвертый набор точек входа.

Значения, соответствующие четвертому размеру для таблицы, введенной как вектор. Векторные значения должны увеличиться монотонно. Этот вход видим, если Number of table dimensions - 4 или больше.

Fifth..Nth input breakpoint sets (cell array) – пятый … n-ная точка входа устанавливает (матрица ячеек)

Значения ячеек матрицы, соответствующих третьим, четвертым или более высоким размерам таблицы, введенной как одномерная матрица ячеек векторов. Например, {[10:10:30], [0:10:100]} - матрица ячеек двух векторов, которые используются для наборов точек пяти и шести размеров. Векторные значения должны увеличиться монотонно. Этот вход видим, если Number of table dimensions - большой.

Explicit number of dimensions – явная размерность.

Размерность таблицы, когда число - 5 или больше. Обозначено, когда Вы устанавливаете Number of table dimensions большой.

Index search method - метод поиска индекса.

Выберите Evenly Spaced Points, Linear Search или Binary Search (равномерный поиск точек, линейный или бинарный поиск (значение по умолчанию). Каждый метод поиска имеет преимущества по быстродействию перед другими в различных обстоятельствах. Оптимальный выбор метода поиска индекса может привести к замедлению работы моделей, которые полагаются на таблицы поиска. Если данные точки являются равномерно раздельными, например, 10, 20, 30..., Вы можете достигнуть самого большого быстродействия, выбирая Evenly Spaced Points, чтобы непосредственно вычислить индексы в таблице. Для нерегулярных наборов точек, если входные сигналы не очень изменяются от одного шага по времени до следующего, выбирая Linear Search дадут лучшие параметры. Если входной сигнал быстро изменяющийся, больше чем один или два интервала таблицы, выбир Binary Search даст лучшие параметры. Обратите внимание,

19