Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_ Хомутов.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1.09 Mб
Скачать

3. Моделирование средствами мatlab/Simulink

Система MATLAB (от слов Matrix Laboratory - матричная лаборатория) создана специалистами фирмы Math Works Inc. с привлечением большого количества партнёров. Существует она около двадцати пяти лет. Это лицензированный программный продукт высочайшего уровня, который постоянно совершенствуется.

Система MATLAB представляет собой язык программирования высокого уровня, предназначенный для инженерных и научных вычислений и создания средств моделирования различных устройств и систем. Базируется на алгоритмах матричных вычислений с выполнением операций над наборами векторов, что определяет основное отличие этой системы от других известных пакетов - MathCAD, Maple, Mathematika и других программ, которые основанны на программе PSpice (Workbench, DesignLab, Micro-Cap, OrCAD). За счет матричного и векторного представления данных разработчикам удалось существенно повысить скорость вычислений, экономно использовать ресурсы памяти и обеспечить высокую точность расчетов. В MATLAB реализован модульный принцип построения с широкими возможностями модификации и расширения, что подтверждает состав этого продукта, а именно: несколько десятков пакетов прикладных программ и более двух сотен приложений и расширений, богатейшая библиотека функций, а также огромный объем документации, насчитывающий десятки тысяч страниц.

Для удобства пользования вся система MATLAB поделена на разделы, оформленные в виде пакетов программ, наиболее общие из которых образовали ядро. Другие пакеты объединены или существуют индивидуально в виде так называемых Toolboxes (Инструментальные приложения). Особо следует выделить пакет Simulink, предназначенный для моделирования линейных и нелинейных динамических систем. Он базируется на принципах визуально-ориентированного программирования с использованием моделей в виде комбинаций компонентов-блоков, путем соединения которых между собой составляются функциональные модели устройств и систем. При этом математическая модель, описывающая поведение системы, формируется и решается автоматически. Для исследователя Simulink создаёт массу возможностей, начиная от функционального представления устройства и вплоть до генерирования кодов, используемого для программирования микропроцессоров. С помощью Simulink и специализированных библиотек можно имитировать работу устройств во временной области, а также выполнять анализ их свойств - рассчитывать импеданс цепи, получать амплитудно- и фазочастотные характеристики, выполнять гармонический анализ токов и напряжений.[5]

Используя средства ПО MATLAB/Simulink реализуем широтно-импульсную модуляцию.

3.1 Основные библиотеки браузера simulink

После запуска пакета Simulink (посредством нажтия на значок или наборе в командной строке MATLAB команды «simulink») откроется окно Library Browser (Обзор библиотек) как на рис. 3.1:

Рис. 3.1 Окно браузера библиотек Simulink

Библиотека Simulink состоит из следующих основных рзделов:

  • Continuous – блоки аналоговых (непрерывных) элементов

  • Discontinuous – блоки нелинейных элементов

  • Discrete – блоки цифровых (дискретных) элементов

  • Lookup Tables – блоки для формирования таблиц

  • Math Operations – блоки для реализации математических операций

  • Model Verification – блоки для проверки параметров сигналов

  • Model-Wide Utilities – подраздел дополнительных утилит

  • Ports & Subsystems – порты и подсистемы

  • Signal Attributes – блоки для изменения параметров сигналов

  • Sinks – приёмники и измерители

  • Sources – источники сигналов

  • User-Defined Function – функции, задаваемые пользователем

Рассмотрим некоторые основные блоки библиотеки Simulink, которые в дальнейшем будут использоваться для моделирования.

Sources – источники сигналов

Рис. 3.2 Элементы библиотеки Sources

  • Генератор синусоидального напряжения Sine Wave

Назначение – получение сигнала синусоидальной формы с заданной частотой, амплитудой, фазой и смещением.

Окно настроек блока вызывается при двойном щелчке по нему.

Рис. 3.3 Окно настроек блока Sine Wave

Параметр Sine Type: Time based – сигнал формируется по текущему времени для непрерывных систем. Его настройки: Amplitude Um - амплитуда, Bias – постоянная составляющая (смещение) U0, Frequency – частота f (рад/с), задаётся значение в (2pif), Phase – начальная фаза (рад), Sample time – такт дискретности Ts (0 по умолчанию для моделирования непрерывных систем, >0 - для дискретных, «-1» - такт принимается таким же, как у предыдущего блока в модели), Inpret vector parameters as 1-D – представление вектора массивом скаляров. Sample based режим формирует сигнал по количеству тактов в периоде (рис. 3.3).

  • Генератор сигналов Signal Generator

Назначение – формирование периодических сигналов

Параметры блока: Wave form – вид формируемого сигнала (Sine - гармонический, Square – меандр, Sawtooth – пилообразный, random – случайный сигнал), Amplitude – амплитуда, Frequency – частота, Units – единицы измерения частоты (Гц или рад/с)

  • Генератор ступенчатого сигнала в виде единичного скачка Step

Параметры блока: Step time – время перепада, Initial value – начальное значение сигнала, Final value – конечное значение сигнала.

  • Генератор периодического сигнала Repeating Sequence

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

В поле Time values задаются отсчёты времени, когда функция должна принять определённое значение в виде [t1 t2 …]. В поле Output Values в соответственно задаётся последовательность выходных значений. Этот блок позволяет задать сложный периодический сигнал.

Sinks – набор приёмников сигналов (измерительных блоков)

Рис. 3.4 Элементы библиотеки Sinks

  • Осциллограф Scope

Назначение – построение временных диаграмм сигналов.

Это основной инструмент наблюдения за ходом моделирования. В настройках окна осциллографа можно задавать количество входов (а значит – и количество осей), увеличение масштаба по осям X и Y каждого графика, автомасштабирование графиков и др.

  • Цифровой дисплей Display

Назначение – вывод числового значения измеряемой величины

Continuous – блоки аналоговых элементов

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

Рис. 3.5 Элементы библиотеки Continuous

  • Derivative – блок вычисления производной. Выполняет численное дифференцирование входного сигнала.

  • Integrator – интегрирующий блок. Выполняет интегрирование входного сигнала с возможностью внешнего сброса на нарастающий сигнал (rising), на спадающий сигнал (falling), на нарастающий либо спадающий сигнал (either), на ненулевой сигнал (level). Блок позволяет задать начальное условие (Initial Condition) и ввести ограничение выходного сигнала (параметры Upper/Lower saturation limit).

  • Блок Transfer Fcn – задаёт передаточную функцию в виде отношения полиномов, коэффициенты которых записываются в виде вектора в поле Numerator сoefficient (числитель) и Denominator coefficient (знаменатель).

Discontinuous – нелинейные блоки

Рис. 3.6 Элементы библиотеки Discontinuous

  • Saturation – блок ограничения.

Назначение – ограничивает величину выходного сигнала. В окне настройки параметров задаются верхний и нижний порог ограничения (Upper/Lower limit).

  • Блок Dead Zone – вводит зону нечувствительности. Реализует нелинейную зависимость типа «мёртвая зона». В окне настройки параметров блока задаются начало и конец зоны нечувствительности (Start/End of dead zone).

  • Relay – релейный блок. Реализует релейную зависимость («гистерезис»). В окне настройки параметров задаются порог включения и порог выключения (Switch on/Switch off point), величина выходного сигнала во включённом и выключенном состоянии (Output when on/off). Переход из одного состояния в другое происходит скачком при достижении входным сигналом порога включения или выключения реле.

Math Operations – блоки математических операций

Рис. 3.7 Элементы библиотеки Math Operations

Различные блоки вычисления суммы, такие как Sum, Add (рис. 3.7), выполняют вычисление суммы текущих значений сигналов. В списке List of sign окна задания параметров можно использовать знаки «+», «-», и «|» (разделитель знаков). Количество входов и операция (сложение или вычитание) определяется списком знаков строки List of sign, при этом метки блоков обозначаются соответствующими знаками.

Блок умножение Product выполняет вычисление произведения текущих значений сигналов. Количество входов (Number of inputs) может задаваться как числом и как списком знаков. В последнем можно использовать символы «*» (умножить) и «/» (разделить). Блок пригодится для операций умножения или деления скалярных или матричных сигналов.

Блок Abs вычисляет абсолютное значение (модуль) значения величины сигнала (в т.ч. комплексного).

Sign – блок определения знака сигнала. Алгоритм работы заключается в том, что на выходе может быть 1 (если сигнал на входе положителен), 0 (если сигнал нулевой) и «-1» (сигнал отрицательный).

Signal Routing – библиотека маршрутизации сигналов

Рис. 3.8 Элементы библиотеки Signal Routing

  • Bus Creator – блок шинного формирователя. Формирует шину из сигналов различных типов. Блок позволяет объединять любые сигналы (векторные, матричные, комплексные, действительные и целые различных форматов) в единую шину. Такая шина позволяет сократить количество соединительных линий в модели. Для разделения шины нужно использовать блок Bus Selector.

  • Mux – мультиплексор (смеситель). Объединяет входные сигналы в вектор. На вход можно подавать векторные и скалярные сигналы. Для разделения векторного сингнала можно использовать блок Demux (разделитель).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]