![]() |
|||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||||||||||||||
![]() |
![]() |
||||||||||||||||||||||||||||||||
![]() |
![]() |
![]() |
![]() |
||||||||||||||||||||||||||||||
![]() |
![]() |
Вход | ![]() |
Раздел "Simulink" И.В.Черных. "Simulink: Инструмент моделирования динамических систем" В оглавление книги \ К следующему разделу \ К предыдущему разделу 9. Библиотека блоков Simulink 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-го входного
сигнала, На рис. 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 Назначение: Блок выполняет объединение (конкатенацию) входных векторов или матриц. Параметры:
Примеры использования блока Matrix Concatenation приведены на рис. 9.7.10. Рис. 9.7.10. Примеры использования блока Matrix Concatenation. 9.7.9. Блок передачи сигнала Goto Назначение: Блок выполняет передачу сигнала к блоку From. Параметры:
Использование блока Goto совместно с блоком From обеспечивает передачу сигнала без линии связи. Для передачи могут использоваться сигналы любого типа. В зависимости от выбранного параметра Tag visibility изменяется внешний вид блока:
На рис. 9.7.11. показан “беспроводной” способ передачи сигнала от источника синусоидального сигнала к блоку Scope в подсистему. Рис. 9.7.11. Применение блока Goto. 9.7.10. Блок приема сигнала From Назначение: Блок выполняет прием сигнала от блока Goto. Параметры: Goto tag – Идентификатор принимаемого сигнала. Должен совпадать с идентификатором указанным в соответствующем блоке Goto. Использование блока From совместно с блоком Goto обеспечивает передачу сигнала без линии связи. Признак видимости сигнала отображается на пиктограмме блока таким же способом, что и у блока Goto. В модели может быть сколь угодно много блоков From, принимающих сигнал от одного блока Goto. На рис. 9.7.12. показан пример использования блоков From в модели. В примере один блок Goto передает сигнал трем блокам From (двум в основной модели и одному в подсистеме). Рис. 9.7.12. Применение блока From. 9.7.11. Блок признака видимости сигнала Goto Tag Visibility Назначение: Блок отображает признак видимости сигнала передаваемого блоком Goto. Параметры: Goto tag – Идентификатор сигнала передаваемого блоком Goto. Блок необходимо включать в состав модели или подсистемы в том случае, если для передаваемых сигналов задана область видимости scoped. Блок помещается в те подсистемы, на которые распространяется область видимости передаваемых данных. Блок не участвует в передаче сигнала, а лишь отображает имя передаваемого сигнала. Пример использования блока показан на рис. 9.7.13. Рис. 9.7.13. Применение блока Goto Tag Visibility. 9.7.12. Блок создания общей области памяти Data Store Memory Назначение: Блок создает поименованную область памяти для хранения данных. Параметры:
Блок используется совместно с блоками Data Store Write (запись данных) и Data Store Read (считывание данных). Параметр Initial value задает не только начальное значение сигнала, но и его размерность. Например, если начальное значение сигнала задано матрицей [0 1; 2 3], то сохраняемый сигнал должен быть матрицей 2х2. Если блок Data Store Memory расположен в модели верхнего уровня, то заданную им область памяти можно использовать как в самой модели, так и во всех подсистемах нижнего уровня иерархии. Если блок Data Store Memory расположен в подсистеме, то заданную им область памяти можно использовать в данной подсистеме и всех подсистемах нижнего уровня иерархии. Блок работает с действительными сигналами типа double. Пример использования блока Data Store Memory совместно с блоками Data Store Write и Data Store Read показан на рис. 9.7.14 (п.9.17.14). 9.7.13. Блок записи данных в общую область памяти Data Store Write Назначение: Блок записывает данные в поименованную область памяти. Параметры:
Операция записи выполняется для значения сигнала полученного на предыдущем шаге расчета. В модели могут использоваться несколько блоков Data Store Write, выполняющих запись в одну область памяти. Однако, если, запись производится на одном и том же шаге расчета, то результат будет не предсказуем. Пример использования блока Data Store Write совместно с блоками Data Store Memory и Data Store Read показан на рис. 9.7.14 (п.9.17.14). 9.7.14. Блок считывания данных из общей области памяти Data Store Read Назначение: Блок считывает данные из поименованной области памяти. Параметры:
Операция считывания выполняется на каждом шаге расчета. В модели могут использоваться несколько блоков Data Store Read, выполняющих считывание данных из одной и той же области памяти. Пример использования блока Data Store Read совместно с блоками Data Store Memory и Data Store Write показан на рис. 9.7.14. В примере используется триггерная подсистема, выполняющая вычисления по переднему фронту управляющего сигнала. Таким образом, запись значений в общую область памяти происходит только в моменты изменения управляющего сигнала в положительном направлении. В остальные моменты времени значения данных в области памяти не изменяются. Рис. 9.7.14. Использование блоков Data Store Memory, Data Store Write и Data Store Read. 9.7.15. Блок преобразования типа сигнала Data Type Conversion Назначение: Блок преобразует тип входного сигнала. Параметры: Значение auto параметра Data type используется в том случае, если необходимо установить тип данных такой же, как у входного порта блока получающего сигнал от данного блока. Входной сигнал блока может быть действительным или комплексным. В случае комплексного входного сигнала выходной сигнал также будет комплексным. Блок работает со скалярными, векторными и матричными сигналами. На рис. 9.7.15. показаны примеры использования блока Data Type Conversion. Рис. 9.7.15. Использование блока Data Type Conversion 9.7.16. Блок преобразования размерности сигнала Reshape Назначение: Блок изменяет размерность векторного или матричного сигнала. Параметры:
Примеры использования блока Reshape показаны на рис. 9.7.16. Рис. 9.7.16. Примеры использования блока Reshape 9.7.17. Блок определения размерности сигнала Width Назначение: Вычисляет размерность входного сигнала. Параметры: Нет. Входным сигналом блока может быть действительный или комплексный сигнал любого типа. Выходной сигнал блока имеет тип double. Примеры использования блока Width показаны на рис. 9.7.17. Рис. 9.7.17. Примеры использования блока Width 9.7.18. Блок определения момента пересечения порогового значения Hit Crossing Назначение: Определяет момент времени, когда входной сигнал пересекает заданное пороговое значение. Параметры:
В момент пересечения порогового уровня блок вырабатывает единичный сигнал длительностью в один шаг модельного времени. Пример использования блока Hit Crossing показан на рис. 9.7.18. Блок определяет моменты пересечения в обоих направлениях синусоидальным сигналом уровня 0.5. Рис. 9.7.18. Пример использования блока Hit Crossing 9.7.19. Блок установки начального значения сигнала IC Назначение: Задает начальное значение сигнала. Параметры: Initial value – Начальное значение. Выходной сигнал блока IC равен значению параметра Initial value на первом шаге расчета вне зависимости от величины входного сигнала блока. На остальных расчетных шагах входной сигнал проходит на выход блока без каких-либо изменений. Пример использования блока IC показан на рис. 9.7.19. В примере начальное значение сигнала задано равным 0.5. Шаг расчета задан равным 1с. Рис. 9.7.19. Пример использования блока IC 9.7.20. Блок проверки сигнала Signal Specification Назначение: Выполняет проверку сигнала на соответствие заданным для сигнала параметрам. Параметры:
На пиктограмме блока отображаются проверяемые параметры сигнала и их значения. Пример использования блока Signal Specification показан на рис. 9.7.20. Рис. 9.7.20. Пример использования блока Signal Specification 9.7.21. Датчик свойств сигнала Probe Назначение: Блок позволяет получить численные значения параметров сигнала. Параметры:
Контролируются те параметры, для которых установлены флажки. Числом отмеченных флажков задается число выходов блока. Установка флажка для какого-либо параметра приводит к появлению на изображении блока порта, с которого можно считывать значение данного параметра сигнала. Пример использования блока Probe показан на рис. 9.7.21. Рис. 9.7.21. Пример использования блока Probe 9.7.22. Блок, задающий количество итераций Function-Call Generator Назначение: Блок позволяет задать количество итераций на каждом шаге модельного времени для управляемой подсистемы. Параметры:
Блок используется совместно с управляемыми подсистемами Function-Call Subsystem или Triggered Subsystem. Для управляющих блоков внутри этих подсистем параметр Trigger type должен иметь значение function-call. Пример использования блока Function-Call Generator показан на рис. 9.7.22. В примере использована управляемая подсистема, выходной сигнал которой увеличивается на единицу при каждом ее вызове. Для первой подсистемы блок Function-Call Generator задает количество итераций на каждом шаге равное 1, а для второй – равное 3. Рис. 9.7.22. Пример использования блока Function-Call Generator 9.7.23. Информационный блок Model Info Назначение: Блок отображает информацию о модели. Параметры:
Для отображения данных на пиктограмме блока
необходимо с помощью кнопки На пиктограмме блока отображается также часть информации заданная с помощью команды Model Properties меню File окна модели. Пример использования блока Model Info показан на рис. 9.7.23. Там же показано окно параметров данного блока. Рис. 9.7.23. Пример использования блока Model Info В оглавление книги \ К следующему разделу \ К предыдущему разделу |
![]() |
||
Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.) |
||
На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro | ||
E-mail: info@matlab.ru | ||
Информация на сайте была обновлена 10.11.2003 |
Copyright 2001-2003 SoftLine Co
|
|