И.В.Черных. Simulink. И. В. Черных. "Simulink Инструмент моделирования динамических систем"
Скачать 3.7 Mb.
|
[Скачать пример] 9.6.19. Блок комбинаторной логики Gombinatorical Logic Назначение: Преобразует входные сигналы в соответствии с таблицей истинности. Параметры: Truth table – Таблица истинности. Блок Combinatorical Logic обеспечивает преобразование входного сигнала в соответствии с правилами, определяемыми таблицей истинности. Таблица истинности представляет собой список возможных выходных значений блока. Такое описание работы устройств принято в теории конечных автоматов. Число строк в таблице истинности определяется соотношением: , где number of inрuts – число входных сигналов, number of rows – число строк таблицы истинности. Входные сигналы при составлении таблицы истинности считаются заданными. Они определяют индекс (номер) строки, в которой записываются выходные значения блока. Индекс каждой строки определяется выражением: , где row index – индекс строки, m – количество входных сигналов (элементов во входном векторе), u(1) – первый входной сигнал (первый элемент входного вектора), u(m) – последний входной сигнал (последний элемент входного вектора). Например, в случае операции логического И (AND) для двух операндов выражение, определяющее индекс строки будет выглядеть следующим образом: . Ниже приведен пример формирования таблицы истинности операции логического И (AND) для двух операндов: Таблица 9.6.2
На рис. 9.6.22 показан пример реализации операции логического И с помощью блока Combinatorical Logic. Параметр блока Truth table задан выражением [0;0;0;1]. Рис. 9.6.22. Пример использования блока Combinatorical Logic [Скачать пример] 9.6.20. Блок алгебраического контура Algebraic Constraint Назначение: Выполняет поиск корней алгебраических уравнений. Параметры: Initial guess – Начальное значение выходного сигнала. Блок находит такое значение выходного сигнала, при котором значение входного сигнала становится равным нулю. При этом входной сигнал должен быть прямо или опосредованно связан с входным сигналом. На рис. 9.6.23 показан пример решения системы нелинейных уравнений вида: . Поскольку данная система уравнений имеет два решения, то начальные значения блоков Algebraic Constraint заданы в виде векторов. Для первого (верхнего) блока начальное значение задано вектором [1 -1], а для второго (нижнего) блока – вектором [-1 1]. Рис. 9.6.23. Пример использования блока Algebraic Constraint [Скачать пример] Блок Algebraic Constraint может использоваться также и для решения нелинейных матричных уравнений. На рис. 9.6.24 показан пример решения нелинейного матричного уравнения вида: . Рис. 9.6.23. Пример использования блока Algebraic Constraint для решения нелинейного матричного уравнения. [Скачать пример] 9.7. Signal&Systems - блоки преобразования сигналов и вспомогательные блоки 9.7.1. Мультиплексор (смеситель) Mux Назначение: Объединяет входные сигналы в вектор. Параметры: Number of Inputs - Количество входов. Display option - Способ отображения. Выбирается из списка: bar - Вертикальный узкий прямоугольник черного цвета. signals - Прямоугольник с белым фоном и отображением меток входных сигналов. none - Прямоугольник с белым фоном без отображения меток входных сигналов. Входные сигналы блока могут быть скалярными и (или) векторными. Если среди входных сигналов есть векторы, то количество входов можно задавать как вектор с указанием числа элементов каждого вектора. Например, выражение [2 3 1] определяет три входных сигнала, первый сигнал - вектор из двух элементов, второй сигнал - вектор из трех элементов, и последний сигнал - скаляр. В том случае, если размерность входного вектора не совпадает с указанной в параметре Number of Inputs, то после начала расчета Simulink выдаст сообщение об ошибке. Размерность входного вектора можно задавать как -1 (минус один). В этом случае размерность входного вектора может быть любой. Параметр Number of Inputs можно задавать также в виде списка меток сигналов, например: Vector1, Vector2, Scalar. В этом случае метки сигналов будут отображаться рядом с соответствующими соединительными линиями. Сигналы, подаваемые на входы блока должны быть одного типа (действительного или комплексного). Примеры использования блока Mux показаны на рис. 9.7.1. Рис. 9.7.1. Примеры использования блока Mux [Скачать пример] 9.7.2. Демультиплексор (разделитель) Demux Назначение: Разделяет входной векторный сигнал на отдельные составляющие. Параметры: Number of Outputs - Количество выходов. Bus Selection Mode (флажок) - Режим разделения векторных сигналов. Входным сигналами в обычном режиме является вектор, сформированный любым способом. Выходными сигналами являются скаляры или векторы, количество которых и размерность определяется параметром Number of Outputs и размерностью входного вектора. Если количество выходов P (значение параметра Number of Outputs) равно размерности входного сигнала N, то блок выполняет разделение входного вектора на отдельные элементы. Если количество выходов P меньше, чем размерность входного сигнала N, то размерность первых P-1 выходных сигналов равна отношению N/P, округленному до ближайшего большего числа, а размерность последнего выходного сигнала равна разности между размерностью входного сигнала и суммой размерностей первых P-1 выходов. Например, если размерность входного сигнала равна 8, а количество выходов равно 3, то первые два выходных вектора будут иметь размерность ceil(8/3) = 3, а последний выходной вектор будет иметь размерность 8 - (3+3) = 2. Параметр Number of Outputs может быть задан также с помощью вектора, определяющего размерность каждого выходного сигнала. Например, выражение [2 3 1] определяет три выходных сигнала, первый сигнал - вектор из двух элементов, второй сигнал - вектор из трех элементов, и последний сигнал - скаляр. Размерность можно также задавать как -1 (минус один). В этом случае размерность соответствующего выходного сигнала определяется как разность между размерностью входного вектора и суммой размерностей заданных выходных сигналов. Например, если размерность входного вектора равна 6, а параметр Number of Outputs задан выражением [1 -1 3], то второй выходной сигнал будет иметь размерность 6 - (3+1) = 2. Примеры использования блока Demux показаны на рис. 9.7.2. Рис. 9.7.2. Примеры использования блока Demux [Скачать пример] В режиме Bus Selection Mode блок Demux работает не с отдельными элементами векторов, а с векторными сигналами в целом. Входной сигнал в этом режиме должен быть сформирован блоком Mux или другим блоком Demux. Параметр Number of Outputs в этом случае задается в виде скаляра, определяющего количество выходных сигналов, либо в виде вектора, каждый элемент которого определяет количество векторных сигналов в данном выходном сигнале. Например, при входном сигнале, состоящем из трех векторов параметр Number of Outputs, заданный вектором [2 1], определит два выходных сигнала, первый из которых будет содержать два векторных сигнала, а второй - один. Примеры использования блока Demux в режиме Bus Selection Mode показаны на рис. 9.7.3. Рис. 9.7.3. Примеры использования блока Demux в режиме Bus Selection Mode [Скачать пример] 9.7.3. Блок шинного формирователя Bus Creator Назначение: Формирует шину из сигналов различных типов. Параметры: Signal naming options - Способ именования сигнала. Выбирается из списка: Inherit bus signal names from input ports - Наследовать имена входных сигналов. Require input signal names to match signals below - Требуется ввести имена сигналов. Number of inputs ports - Количество входных портов. Signals in bus - Список сигналов, объединяемых в шину. Rename selected signal - Новое имя выделенного сигнала. Параметр доступен, если выбрана опция Require input signal names to match signals below. Блок позволяет объединять любые сигналы (векторные, матричные, комплексные, действительные и целые разных типов) в единую шину. Такая шина позволяет сократить количество соединительных линий в модели. Для разделения шины на отдельные составляющие необходимо использовать блок Bus Selector. Окно параметров блока позволяет отыскать блок, который является источником сигнала. Для такого поиска необходимо выделить название сигнала в списке Signals in bus и нажать с помощью мыши кнопку Find. Блок являющийся источником выбранного сигнала будет выделен цветом. На рис. 9.7.4 показан пример формирования шины с помощью блока Bus Creator и окно параметров этого блока. Там же показан, выделенный цветом, источник сигнала signal 2 - блок Constant3, найденный с помощью изложенной выше процедуры. Рис. 9.7.4. Пример использования блока Bus Creator. [Скачать пример] 9.7.4. Блок шинного селектора Bus Selector Назначение: Выделяет из шины требуемые сигналы. Параметры: Signals in the bus - Имеющиеся в шине сигналы (входные сигналы). Selected signals - Выделенные сигналы (выходные сигналы). Muxed output (флажок) - Объединение выходных сигналов в один. Шина может быть сформирована блоком Mux или Bus Creator. Для извлечения сигнала из шины необходимо открыть окно параметров блока, выделить сигнал в окне Signals in the bus и, с помощью кнопки Select, скопировать имя сигнала в окно Selected signals. Для удаления сигнала из списка Selected signals необходимо выделить его имя в правом списке окна параметров блока и, затем, воспользоваться кнопкой Remove. С помощью кнопок Up и Down можно изменить порядок расположения сигналов в шине, перемещая их в окне Selected signals вверх или вниз, соответственно. Установка параметра Muxed output позволяет объединить сигналы в шину. На рис. 9.7.5 показаны примеры использования блока Bus Selector и окно его параметров. Рис. 9.7.5. Примеры использования блока Bus Selector. [Скачать пример] 9.7.5. Блок селектора Selector Назначение: Выбирает из вектора или матрицы требуемые элементы. Параметры: Input Type – Тип входного сигнала. Выбирается из списка: vector – Вектор. matrix – Матрица. Список параметров блока изменяется в зависимости от типа входного сигнала. Source of element indices – Источник индексов элементов вектора. Выбирается из списка: internal – Внутренний. Индексы выбираемых элементов вектора задаются параметром Elements. external – Внешний. Индексы элементов вектора задаются с помощью внешнего входного сигнала. Elements – Список индексов элементов входного вектора, передаваемых на выход блока. Задается в виде вектора. Значение параметра –1 (минус один) предписывает выбор всех элементов вектора. Input port width – Размерность входного вектора. Source of row indices – Источник индексов строк элементов матрицы. Rows – Список индексов строк матрицы. Source of column indices – Источник индексов столбцов элементов матрицы. Columns – Список индексов столбцов матрицы. Внешний вид блока изменяется в зависимости от установленных параметров блока. При выборе внешних источников индексов элементов на изображении блока появляются дополнительные входы, обозначенные следующими символами: E – Вход сигнала, задающего индексы выбираемых элементов вектора. R – Вход сигнала, задающего индексы строк матрицы. C – Вход сигнала, задающего индексы столбцов матрицы. Блок выбирает во входном векторе или матрице и передает на выход только те сигналы, которые определены в параметрах блока или заданы внешним входным сигналом. На рис. 9.7.6 приведены примеры использования блока Selector для различных вариантов настройки блока. Рис. 9.7.6. Примеры использования блока Selector. [Скачать пример] 9.7.6. Блок присвоения новых значений элементам массива Assignment Назначение: Заменяет элементы вектора или матрицы. Параметры: Input Type – Тип входного сигнала. Выбирается из списка: vector – Вектор. matrix – Матрица. Список параметров блока изменяется в зависимости от типа входного сигнала. Source of element indices – Источник индексов элементов вектора. Выбирается из списка: internal – Внутренний. Индексы выбираемых элементов вектора задаются параметром Elements. external – Внешний. Индексы элементов вектора задаются с помощью внешнего входного сигнала. Elements – Список индексов элементов входного вектора, передаваемых на выход блока. Задается в виде вектора. Значение параметра –1 (минус один) предписывает выбор всех элементов вектора. Source of row indices – Источник индексов строк элементов матрицы. Rows – Список индексов строк матрицы. Source of column indices – Источник индексов столбцов элементов матрицы. Columns – Список индексов столбцов матрицы. Блок выполняет замену отдельных элементов первого входного массива на элементы второго входного массива в соответствии со списком индексов. Список индексов может задаваться как параметр блока или считываться из внешнего управляющего сигнала. Внешний вид блока изменяется в зависимости от установленных параметров блока. При выборе внешних источников индексов элементов на изображении блока появляются дополнительные входы, обозначенные следующими символами: E – Вход сигнала, задающего индексы выбираемых элементов вектора. R – Вход сигнала, задающего индексы строк матрицы. C – Вход сигнала, задающего индексы столбцов матрицы. На рис. 9.7.7 приведены примеры использования блока Assignment для различных вариантов настройки блока. Рис. 9.7.7. Примеры использования блока Assignment. |