Simulink Инструмент моделирования динамических систем
Скачать 2.28 Mb.
|
На рис. 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 Назначение: Объединяет входные сигналы в вектор. Параметры:
Входные сигналы блока могут быть скалярными и (или) векторными. Если среди входных сигналов есть векторы, то количество входов можно задавать как вектор с указанием числа элементов каждого вектора. Например, выражение [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 и размерностью входного вектора. Если количество выходов 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 Назначение: Формирует шину из сигналов различных типов. Параметры:
Блок позволяет объединять любые сигналы (векторные, матричные, комплексные, действительные и целые разных типов) в единую шину. Такая шина позволяет сократить количество соединительных линий в модели. Для разделения шины на отдельные составляющие необходимо использовать блок Bus Selector. Окно параметров блока позволяет отыскать блок, который является источником сигнала. Для такого поиска необходимо выделить название сигнала в списке Signals in bus и нажать с помощью мыши кнопку Find. Блок являющийся источником выбранного сигнала будет выделен цветом. На рис. 9.7.4 показан пример формирования шины с помощью блока Bus Creator и окно параметров этого блока. Там же показан, выделенный цветом, источник сигнала signal 2 - блок Constant3, найденный с помощью изложенной выше процедуры. Рис. 9.7.4. Пример использования блока Bus Creator. 9.7.4. Блок шинного селектора Bus Selector Назначение: Выделяет из шины требуемые сигналы. Параметры:
Шина может быть сформирована блоком 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 Назначение: Выбирает из вектора или матрицы требуемые элементы. Параметры:
Список параметров блока изменяется в зависимости от типа входного сигнала.
Внешний вид блока изменяется в зависимости от установленных параметров блока. При выборе внешних источников индексов элементов на изображении блока появляются дополнительные входы, обозначенные следующими символами:
Блок выбирает во входном векторе или матрице и передает на выход только те сигналы, которые определены в параметрах блока или заданы внешним входным сигналом. На рис. 9.7.6 приведены примеры использования блока Selector для различных вариантов настройки блока. Рис. 9.7.6. Примеры использования блока Selector. 9.7.6. Блок присвоения новых значений элементам массива Assignment Назначение: Заменяет элементы вектора или матрицы. Параметры:
Список параметров блока изменяется в зависимости от типа входного сигнала.
Блок выполняет замену отдельных элементов первого входного массива на элементы второго входного массива в соответствии со списком индексов. Список индексов может задаваться как параметр блока или считываться из внешнего управляющего сигнала. Внешний вид блока изменяется в зависимости от установленных параметров блока. При выборе внешних источников индексов элементов на изображении блока появляются дополнительные входы, обозначенные следующими символами:
На рис. 9.7.7 приведены примеры использования блока Assignment для различных вариантов настройки блока. Рис. 9.7.7. Примеры использования блока Assignment. 9.7.7. Блок объединения сигналов Merge Назначение: Блок выполняет объединение входных сигналов в единый векторный сигнал. Параметры:
Блок передает на выход значение сигнала вычисленное последним. С помощью параметра Input port offsets можно регулировать расположение входных сигналов в результирующем векторе. Размерность выходного сигнала определяется в соответствии с выражением: , где wk – размерность k-го входного сигнала, ok – смещение k-го входного сигнала. На рис. 9.7.8 приведен пример использования блока Merge для объединения двух векторов. Параметр Input port offsets в примере задан вектором [0 3]. Рис. 9.7.8. Пример использования блока Merge для объединения входных сигналов. Следующий пример (рис. 9.7.9) демонстрирует свойство блока пропускать на выход сигнал, который был вычислен последним. В примере использованы блоки управляемых подсистем Enabled Subsystem, которые выполняют вычисления только в том случае, если на управляющий вход подсистемы подан не нулевой сигнал. В данном примере подсистема не выполняет какие-либо вычисления, а лишь пропускает сигнал со своего входа на выход. Таким образом, на выход блока Merge поочередно проходят гармонический либо пилообразный сигналы. Рис. 9.7.9. Пример использования блока Merge 9.7.8. Блок объединения сигналов в матрицу Matrix Concatenation Назначение: Блок выполняет объединение (конкатенацию) входных векторов или матриц. Параметры:
|