close

Вход

Забыли?

вход по аккаунту

?

Stefanova Modelirovanie ustrojsv telekommunikacij v sisteme MATLAB + Simulink

код для вставкиСкачать
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ
УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
Поволжский государственный университет
телекоммуникаций и информатики
Стефанова И. А.
МОДЕЛИРОВАНИЕ УСТРОЙСТВ
ТЕЛЕКОММУНИКАЦИЙ
В СИСТЕМЕ MATLAB+SIMULINK
Учебное пособие
Самара - 2016
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«ПОВОЛЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ»
Кафедра «Информатики и вычислительной техники»
И.А. Стефанова
МОДЕЛИРОВАНИЕ УСТРОЙСТВ
ТЕЛЕКОММУНИКАЦИЙ
В СИСТЕМЕ
MATLAB + SIMULINK
Учебное пособие
Самара
2016
2
УДК: 004.42: 519.85
С
Рекомендовано к изданию методическим советом ПГУТИ,
протокол № 16 от 29. 03.2016 г.
Рецензенты:
проф., зав. кафедры «МСИБ» ПГУТИ,
д.т.н., проф. Карташевский В. Г.,
к.т.н., проф. каф. «МЕХАТРОНИКА В АВТОМАТИЗИРОВАННЫХ ПРОИЗВОДСТВАХ»
САМГУПС,
Засов В. А.
Стефанова, И. А.
С Моделирование устройств телекоммуникаций в системе MATLAB+Simulink: учебное
пособие / И. А. Стефанова. – Самара: ПГУТИ, 2016. – 148 с.
Учебное
пособие
«Моделирование
устройств
телекоммуникаций
в
системе
MATLAB+Simulink» содержит краткие теоретические сведения и 10 лабораторных работ, позволяющих студентам освоить пакет блочного имитационного моделирования Simulink. В
пособии приводятся модели телекоммуникационных устройств, подсистем и систем, параметры настройки блоков моделирования и варианты заданий, позволяющие разнообразить
выполнение моделей при их реализации. Кроме того, показано совместное использование математической системы MATLAB и пакета Simulink при расчете отдельных показателей и их последующем использовании в блоках моделирования.
Учебное пособие разработано в соответствии с ФГОС 3+ ВПО по направлениям подготовки:
бакалавра «11.03.02 Инфокоммуникационные технологии и системы связи (ИКТ)», бакалавра «12.03.03 – Фотоника и оптоинформатика (ОИТ)» и бакалавра «11.03.01 Радиотехника».
Пособие предназначено для использования на практических занятиях по дисциплине «Информатика» при подготовке студентов ПГУТИ, а также может быть полезно при изучении устройства и системы телекоммуникаций.
ISBN
©, Стефанова И.А., 2016
3
Введение
Новый государственный образовательный стандарт высшего образования за 2015 год
(ГОСТ-3+) привел к необходимости дальнейшего повышения эффективности образовательного процесса и качества подготовки специалистов.
В соответствии с ГОСТ-3+ в программу бакалавриата телекоммуникационных направлений входят вопросы, связанные с освоением инновационных технологий, средств, способов и методов, направленных на создание условий для обработки, хранения и обмена информацией на расстоянии с использованием различных сетевых структур. А также освоение
технических и аппаратных средств, способов и методов обработки, хранения и обмена информации в различных системах передачи данных.
В связи с этим разработаны новые рабочие программы по дисциплине «Информатика»,
отвечающие следующим основным общепрофессиональным и профессиональным компетенциям (ОПК и ПК):
пониманию сущности и значения информации в развитии общества, осознанию
опасности и угрозы, возникающие в этом процессе, соблюдению основных требований
информационной безопасности, в том числе защите государственной тайны (ОПК-1);
владению основными методами, способами и средствами получения, хранения и
переработки информации (ОПК-3);
наличию навыков самостоятельной работы на компьютере и в компьютерных сетях,
осуществлению компьютерного моделирования устройств, систем и процессов с использованием универсальных пакетов прикладных компьютерных программ (ОПК-4);
применению современных технических и экспериментальных методов исследования
с целью создания новых перспективных средств электросвязи и информатики (ПК-17).
Важное место в данной рабочей программе занимают лабораторные работы,
способствующие развитию практического применения теоретических знаний. Ранее
разработанные лабораторные работы, не охватывали лишь дидактические единицы,
посвященные программированию и моделированию в современной системе MATLAB, что
недостаточно в условиях новых требований к образованию бакалавра.
Учебное пособие содержит краткие теоретические сведения и цикл лабораторных
работ, направленных на освоение возможностей пакета блочного имитационного
моделирования Simulink, а также его совместного использования с математической системой
MATLAB.
MATLAB, благодаря ориентации на матричные вычисления, позволяет быстро и удобно
осуществлять расчеты различных телекоммуникационных устройств, их проектирование и
математическое моделирование. При этом система позволяет использование довольно
сложных специальных алгоритмов и математических методов.
Лабораторные работы содержат задания и методические указания по их выполнению,
описание блоков моделирования и настройки их параметров, а также тестовые задания для
проверки знаний, полученных в результате выполнения работ.
Данное учебное пособие может использоваться на практических занятиях по
дисциплинам
«Информатика»
при
подготовке
бакалавров
по
направлениям
«Информационные технологии и системы связи» (11.03.05) всех профилей, «Фотоника и
оптоинформатика» (12.03.05) и «Радиотехника» (11.03.01) дневной формы обучения. Кроме
того, может использоваться в дисциплинах, изучающих устройства и системы
телекоммуникаций. Пособие может быть так же полезно аспирантами и магистрам.
РЕЦЕНЗЕНТЫ:
КАРТАШЕВСКИЙ В.Г., д.т.н., проф., зав. каф. МСИБ ПГУТИ
ЗАСОВ В. А., к.т.н., проф. каф. МЕХАТРОНИКА САМГУПС
4
1. Компьютерное моделирование
Моделирование является одним из важных направлений познания окружающего нас мира и
изучается дисциплиной «Информатика». Само понятие моделирования включает в себя огромное
разнообразие способов моделирования: от создания натуральных моделей до вывода математических
формул [4]. С целью исследования и познания явлений и процессов используют разные способы моделирования. При этом объект, который получается в результате моделирования, называется моделью.
Процесс моделирования включает три элемента:
субъект (исследователь),
объект исследования (оригинал),
модель, определяющую (отражающую) отношения познающего субъекта и познаваемого объекта.
Модель вполне может заменить оригинал при его изучении и описании поведения. Если оригинал замещается математическими формулами, то говорят о математическом моделировании, если же
оригинал замещается компьютерной программой – о компьютерном моделировании.
Хотя модель и может быть точной копией оригинала, но чаще всего в моделях воссоздаются
какие-нибудь важные для данного исследования элементы, а остальными пренебрегают. Это упрощает модель. Но с другой стороны, создать модель – точную копию оригинала – бывает и нереальной
задачей. Например, если моделируется поведение объекта в условиях космоса. Моделирование проходит три основных этапа:
1. создание модели;
2. изучение модели;
3. применение результатов исследования на практике и (или) формулирование теоретических
выводов.
Среди разнообразного количества видов моделей следует отметить следующие модели:
– математические – это знаковые модели, описывающие определенные числовые соотношения;
– графические модели – это визуальное представление объектов, которые настолько сложны,
что их описание иными способами не дает человеку ясного понимания, поэтому наглядность модели
выходит на первый план при ее создании;
– имитационные модели – позволяют наблюдать изменение поведения элементов системымодели, проводить эксперименты, изменяя некоторые параметры модели. В конечном итоге вид модели зависит от выбранной цели моделирования.
Совершенствование вычислительной техники и широкое распространение персональных компьютеров открыло перед моделированием огромные перспективы для исследования процессов и явлений окружающего мира.
Компьютерное моделирование – это в определенной степени, то же самое, описанное выше моделирование, но реализуемое с помощью компьютерной техники. Для компьютерного моделирования
важно наличие определенного программного обеспечения. При этом программное обеспечение, средствами которого может осуществляться компьютерное моделирование, может быть, как достаточно
универсальным (например, обычные текстовые и графические процессоры), так и весьма специализированными, предназначенными лишь для определенного вида моделирования (пакеты прикладных
программ).
Обычно в компьютерном моделировании различные виды моделирования дополняют друг друга. Так, если математическая формула очень сложна, что не дает явного представления об описываемых ею процессах, то на помощь приходят графические и имитационные модели. Компьютерная визуализация может быть намного дешевле реального создания натуральных моделей.
Если система сложна, а требуется проследить за каждым ее элементом, то на помощь могут
прийти компьютерные имитационные модели. На компьютере можно воспроизвести последовательность временных событий, а потом обработать большой объем информации. Однако следует четко
понимать, что компьютер является хорошим инструментом для создания и исследования моделей, но
он их не придумывает. Абстрактный анализ окружающего мира с целью воссоздания его в модели
выполняет сам человек.
Одной из важных проблем в области разработки и создания современных сложных технических систем является исследование динамики их функционирования на различных этапах проектирования, испытания и эксплуатации. Сложными системами называются системы, состоящие из большого числа взаимосвязанных и взаимодействующих между собой элементов. При исследовании слож-
5
ных систем возникают задачи исследования как отдельных видов оборудования и аппаратуры, входящих в систему, так и системы в целом.
При проектировании систем ставится задача разработки систем, удовлетворяющих заданным
техническим характеристикам. Поставленная задача может быть решена одним из следующих методов:
методом синтеза оптимальной структуры системы с заданными характеристиками;
методом анализа различных вариантов структуры системы для обеспечения требуемых технических характеристик.
Оптимальный синтез систем в большинстве случаев невозможен в силу сложности поставленной задачи и несовершенства современных методов синтеза сложных систем. Методы анализа сложных систем, включающие в себя элементы синтеза, в настоящее время достаточно развиты и получили широкое распространение.
Среди известных методов анализа показателей эффективности систем и исследования динамики их функционирования следует отметить:
аналитический метод;
метод натуральных испытаний;
метод полунатурального моделирования;
моделирование процесса функционирования системы на компьютере.
Строгое аналитическое исследование процесса функционирования сложных систем практически невозможно. Определение аналитической модели сложной системы затрудняется множеством
условий, определяемых особенностями работы системы, взаимодействием ее составляющих частей,
влиянием внешней среды и т.п.
Натуральные испытания сложных систем связаны с большими затратами времени и средств.
Проведение испытаний предполагает наличие готового образца системы или ее физической модели,
что исключает или затрудняет использование этого метода на этапе проектирования системы.
Широкое применение для исследования характеристик сложных систем находит метод полунатурального моделирования. При этом используется часть реальных устройств системы. Включенная в
такую полунатуральную модель ЭВМ имитирует работы остальных устройств системы, отображенных математическими моделями. Однако в большинстве случаев этот метод также связан со значительными затратами и трудностями, в частности, аппаратной стыковкой натуральных частей с ЭВМ.
Исследование функционирования сложных систем с помощью компьютерного моделирования
их работы помогает сократить время и средства на разработку. Затраты рабочего времени и материальных средств на реализацию метода имитационного моделирования оказываются незначительными по
сравнению с затратами, связанными с натурным экспериментом. Результаты моделирования по своей
ценности для практического решения задач часто близки к результатам натурного эксперимента.
Метод имитационного моделирования основан на использовании имитационных моделей, реализуемых на компьютере, для исследования процесса функционирования сложных систем. Для реализации метода необходимо разработать специальный моделирующий алгоритм. В соответствии с
этим алгоритмом в компьютере вырабатывается информация, описывающая элементарные процессы
исследуемой системы с учетом взаимосвязей и взаимных влияний. При этом моделирующий алгоритм строится в соответствии с логической структурой системы с сохранением последовательности
протекающих в ней процессов и отображением основных состояний системы.
Основными этапами метода имитационного моделирования являются:
1. моделирование входных и внешних воздействий;
2. воспроизведение работы моделируемой системы (моделирующий алгоритм);
3. интерпретация и обработка результатов моделирования.
Перечисленные этапы метода имитационного моделирования многократно повторяются для
различных наборов входных и внешних воздействий, образуя внутренний цикл моделирования. Во
внешнем цикле организуется просмотр заданных вариантов моделируемой системы. Процедура выбора оптимального варианта управляет просмотром вариантов, внося соответствующие коррективы в
имитационную модель и в модели входных и внешних воздействий.
Процедура построения модели системы, контроля точности и корректировки модели по результатам машинного эксперимента задает и затем изменяет блок и внутреннего цикла в зависимости от фактических результатов моделирования. Таким образом, возникает внешний цикл, отражающий деятельность исследователя по формированию, контролю и корректировке модели.
6
Метод имитационного моделирования позволяет решать, как простые задачи, так и исключительной сложности. Исследуемая система может одновременно содержать элементы непрерывного и
дискретного действия, быть подверженной влиянию многочисленных случайных факторов сложной
природы, описываться весьма громоздкими соотношениями и т.п. Метод не требует создания специальной аппаратуры для каждой новой задачи и позволяет легко изменять значения параметров исследуемых систем и начальных условий. Эффективность метода имитационного моделирования тем более высока, чем на более ранних этапах проектирования системы он начинает использоваться.
Следует, однако, помнить, что метод имитационного моделирования является численным методом и обладает существенным недостатком – его решение всегда носит частный характер. Решение
соответствует фиксированным значениям параметров системы и начальных условий. Для анализа
системы приходится многократно моделировать процесс ее функционирования, варьируя исходные
данные модели. Таким образом, для реализации имитационных моделей сложной модели необходимо
наличие ЭВМ высокой производительности.
Для компьютерного моделирования системы необходимо записывать моделирующий алгоритм
на одном из входных языков. В качестве входных языков для решения задач моделирования могут
быть с успехом использованы универсальные алгоритмические языки высокого уровня, Си, MATLAB
и др.
2. Основные сведения о системе MATLAB и Simulink
Система MATLAB является одной из самых крупных и мощных систем компьютерной
математики [1] и предназначена для автоматизации математических и научно-технических
расчетов с данными, представленными в матричной форме. Применение матриц облегчает
реализацию параллельных вычислений, что, безусловно, сказывается на скорости решения
матричных задач. Кроме того, в системе заложены возможности адаптации системы к
решению самых разнообразных задач пользователя.
Замечательными качествами системы MATLAB является ее открытость и
расширяемость. Любая новая функция или фрагмент программы, записанный в виде mфайла, могут сразу применяться в вычислении и моделировании без какого-либо объявления,
наряду с десятками сотен уже заранее встроенных в систему функций ее ядра и функциями
пакетов расширения. Еще большие функции системе добавляют пакеты расширения
MATLAB. Многие из них содержат специальные средства для интеграции с другими
программами, поддержки объектно-ориентированного и визуального программирования, для
генерации различных приложений.
Пакет MATLAB поставляется как комплекс MATLAB + Simulink + Toolboxes + Blocksets.
Базируясь на принципах визуально-ориентированного программирования, Simulink позволяет
выполнять моделирование сложных устройств с высокой степенью достоверности и
наглядными средствами представления результатов.
Пакет Toolboxes – является расширением MATLAB и содержит наборы функций для
определенной предметной области. Для телекоммуникационного направления представляют
интерес пакеты: Communications Toolbox, Signal Processing Toolbox, Control System Toolbox,
Filter Design Toolbox, RF Toolbox, Statistics Toolbox.
Пакет Blocksets – является расширением пакета Simulink и содержит наборы блоков,
методов и функций для определенной предметной области. Для телекоммуникационных
задач используются такие пакеты, как Communications Blockset, Signal Processing Blockset, RF
Blockset, Simscape, SimElectronics и другие.
В MATLAB применяется матричное представление данных. Векторы и матрицы
характеризуются размерностью и размером. Размерность определяет структурную
организацию массивов в виде строки (размерность 1) или в виде страницы (размерность 2).
Вектор является одномерным массивом, а матрица – двумерным (размерностью m x n, где m
– число строк, а n – число столбцов матрицы).
В базовый набор слов системы входят специальные знаки, знаки арифметических и
логических операций, большое количество встроенных функций. MATLAB предоставляет
пользователю обширный набор готовых средств. Дополнительный уровень системы
образуют ее пакеты расширения.
7
Любые вычисления в системе можно выполнить в режиме прямых вычислений, то есть
без подготовки программы, в командной строке в диалоговом режиме с пользователем. Для
решения серьезных задач, система MATLAB содержит мощный язык программирования
высокого уровня, ориентированный на технические и математические расчеты, способного
превзойти возможности традиционных языков программирования. Отсюда важным
достоинством системы является возможность с ее помощью решение новых, наиболее
сложных математических задач.
Язык программирования системы MATLAB представляет ряд возможностей для
создания функций пользователя. Для этого имеется возможность применения функции inline.
При использовании функции inline в качестве аргументов задается в апострофах
выражение, задающее функцию одной или двух переменных. Например,
>> f=inline('3*x^2+sqrt(abs(x))+50')
f=
Inline function:
f(x) =3*x^2+sqrt(abs(x))+50
Можно также задавать свои функции в виде m-файлов.
Система MATLAB имеет входной язык, который является интерпретатором, но с
помощью встроенного компилятора и подключаемого к системе языка программирования C
возможно создание откомпилированных машинных кодов [2]. Запись программ в системе
традиционна и привычна для пользователя.
В командном режиме результаты работы не сохраняются в памяти компьютера, а вот
программы в системе сохраняются только в виде текстовых M-файлов, для исполнения
которых нужна среда MATLAB, так как система не создает исполняемых программ в виде
машинных кодов (*.exe).
Для профессиональной подготовки М-файлов служит специальный редактор системы MATLAB,
приведенный на рисунке 1, который вызывается командой: File=>New=>M-file (или Script-file в зависимости от версии MATLAB).
В окне редактора создается свой файл, при этом исполь-зуются средства отладки и запуска
(Debug). После сохранения программы, командой Run файл запускается на исполнение. Вызов Мфайла производится в командной строке в режиме прямых вычислений. К отладочным средствам редактора относятся:
– установка контрольных точек прерывания. При их достижении вычисления приостанавливаются, и пользователь может оценить промежуточные результаты вычисления (например, проверять правильность выполнения циклов),
– сохранение в текстовом формате *.txt,
– синтаксическая проверка с выявлением ошибок пользователя (при этом используются цветовые выделения символов).
Семантические ошибки отладчик не обнаруживает.
Рис. 1. Окно редактора кода с командами отладки
Поскольку сессия не является программированием, то действия по программе записывается в
М-файле (или Script-файле), которые подразделяются на два класса [3]:
– файлы сценарии, не имеющие входных параметров (процедуры без параметров),
8
– файлы функции, имеющие входные параметры (программные модули).
Программа может менять структуру алгоритмов вычислений в зависимости от входных данных
и данных, создаваемых в ходе вычислений.
Файл сценарий – это простейшая программа на языке программирования MATLAB и имеет
следующую структуру:
% Основной комментарий в первой строке
% Дополнительный комментарий последующие строки
Тело файла с любыми выражениями
Работа с файлом сценарием проходит в следующей последовательности:
1. Создается M-файл командой: File=>New=>M-file;
2. Открывается окно редактора. Заполняются строки программой;
3. Сохраняется файл в окне Editor командой: File =>Save as => name.m;
4. Вызывается в командной строке по имени <name>.
Файлы сценарии имеют следующие свойства:
– не имеют входных и выходных параметров;
– работают с данными из рабочей области;
– в процессе выполнения не компилируются;
– представляют собой последовательность операций, аналогичную сессии в режиме прямых вычислений.
Файл функция – это типичный объект языка программирования системы MATLAB. Является полноценным модулем, т.к. содержит входные и выходные параметры и использует локальные переменные.
Имеет следующую структуру для функции с одним выходным параметром:
function var=f_name(Список_параметров)
% Основной комментарий
% Дополнительный комментарий
Тело файла с любым выражением
var=<выражение> % возвращает результат вычислений
Структура функции для нескольких выходных параметров:
function [var1,var2,…]=f_name(Список_параметров)
% Основной комментарий
% Дополнительный комментарий
Тело файла с любыми выражениями
var1=<выражение>
var2=<выражение>
% Такая функция напоминает процедуру, т.к. возвращает множество результатов по числу выходных параметров.
Файлы функции обладают следующими свойствами:
– начинается с объявления function, с указанием имени переменной var – выходного параметра,
знака = и имени самой функции со списком ее входных параметров;
– функция возвращает свое значение и может использоваться в виде:
name(Список_параметров) в математических выражениях;
– все переменные в теле файла являются локальными;
– является самостоятельным программным модулем;
– правила вывода комментариев те же, что у фалов сценариев;
– при обнаружении файла функции, он компилируются, и затем исполняется, а созданные машинные коды хранятся в рабочей области системы MATLAB;
– служит средством расширения системы MATLAB.
Для наглядного представления результатов вычислений служит графика. Графика в
MATLAB представлена высокого качества, с возможностью создания объемных графиков и
анимации. Графики в системе строятся в отдельных масштабируемых и перемещаемых окнах по
ряду точек, соединяя их отрезками прямых, то есть, осуществляя линейную интерполяцию
функции в интервале между смежными точками.
Для построения, например, двумерного графика, необходимо:
– задать вектор в виде ранжированной переменной X=0:0.2:10;
– задать функцию пользователя, например, Y=cos(X);
9
– использовать команду построения графиков plot(X,Y).
При этом будет выведено окно для графика, а сам график построен в этом окне. Пример
вывода графика приведен на рис. 5.1.
3. Создание модели с помощью пакета Simulink
Пакет блочного имитационного моделирования Simulink интегрируется с базовой
системой MATLAB и является его неразрывной частью. Внешне это выражается появлением
кнопки Simulink на панели инструментов системы MATLAB (рис. 2).
Рис. 2. Окно браузера библиотек Simulink в окне MANLAB
При нажатии этой кнопки открывается окно браузера библиотек. В окне браузера содержится иерархическое дерево компонентов библиотек Simulink рис.2 слева, справа – содержимое выбранной в
левой панели папки с блоками. Для просмотра нужного раздела библиотеки достаточно выделить его
мышью – в правой части окна Simulink Browser Library появится набор пиктограмм компонентов активного раздела библиотеки.
Все модели создаются в следующей последовательности:
1) запустить MATLAB;
2) нажать на кнопку
«Simulink»
в панели инструментов системы MATLAB, при
этом появится окно браузера библиотек Simulink Library Browser (рис. 2);
3) создать модель командой File => New => Model. Это приведет к созданию пустого окна модели (untitled). С помощью мыши, расположить окно браузера и окно модели таким образом, чтобы
они не перекрывали друг друга (см. рис. 3);
10
Рис. 3. Окно браузера и модели untitled
4) с помощью технологии drag-and-drop перетащить мышью из папок браузера в окно модели
нужные блоки. При переносе блока в модель там создается экземпляр блока с именем, совпадающим
с надписью под блоком;
5) соединить блоки коннекторами (connector – соединительная линия). Для этого нужно указать
курсором на «выход» блока, нажать левую клавишу мыши и, не отпуская ее, провести линию к входу
другого блока. После чего клавишу мыши отпустить. При этом в модели отобразится коннектор со
стрелкой.
Для создания линии между блоками, имеющими один выход и один вход, можно выделить блок
источника, нажать клавишу <Ctrl> и выделить блок приемника. Для создания точки разветвления
нужно подвести курсор к предполагаемому узлу и, нажав правую клавишу мыши, протянуть линию.
Для удаления линии требуется ее выделить и нажать на клавишу <Delete>;
6) установить для каждого блока соответствующие свойства. Для этого нужно по блоку сделать
двойной щелчок мыши, что приведет к появлению окна со свойствами блока (Parameters). В открывшемся окне (рис. 4) установить нужные параметры блоков;
Рис. 4. Окно установки параметров блока Display
7) сохранить модель в виде файла командой File => Save as в своей папке, созданной в папке,
например, для обмена LERNING. Имена папки и файла должно содержать латинские символы (допускаются цифры, но не на первом месте);
8) включить симулирование (моделирование) командой Simulation => Start (или кнопкой на панели инструментов). Проконтролировать результат моделирования.
Исследование созданной модели выполняется с
помощью меню View\Model Explorer (Вид \ Исследование модели). При обращении к этой команде открывается окно Model
Explorer, изображенное на рис. 5.
Окно содержит три панели (слева на право):
11
Model Hierarchy (иерархия модели) – корневой каталог (Simulink Root), представленный в
виде дерева (на рис. 5 отображена папка Binary, а в ней модель B1);
Contents of (содержимое) – содержимого, выделенного на панели Model Hierarchy
раздела (выделена модель B1);
Model Properties (свойство модели) – информация о разделе, выделенном на панели Model Hierarchy или Contents of (Logical Operator). На рис. 5 свойство модели отображает
исследование операции OR двухвходового логического элемента.
Рис. 5. Окно исследования Model Explorer
С помощью этого окна появляется возможность оперативного просмотра
редактирования параметров блоков и параметров настройки их при моделировании.
и
3.1. Структура окна модели
Рассмотрим основные элементы окна модели, которые приведены на рисунке 5. К ним
относятся:
1. Заголовок с названием окна. До сохранения оно имеет название Untitled с
соответствующим порядковым номером.
2. Панель меню с пунктами: File (Файл), Edit (Правка), View (Вид), Simulation
(Моделирование), Format (Формат), Tools (Инструменты), Help (Справка).
1
2
3
4
5
Рис. 5. Окно новой модели
3. Панель инструментов с кнопками. Для работы с моделью используются кнопки на
панели инструментов (слева на право, рис. 6):
12
Рис. 6. Панель инструментов с кнопками
Создать новое окно модели;
Открыть существующий файл модели;
Сохранить файл на диске;
Вывести на печать схему модели;
Вырезать выделенную часть в буфер обмена;
Скопировать выделенную часть в буфер обмена;
Вставить в окно модели содержимое буфера;
Навигация назад;
Навигация вперед;
Перейти к родительской системе (в подсистему высшего уровня иерархии);
Отменить предыдущую операцию редактирования;
Восстановить отмененную операцию редактирования;
Запуск моделирования;
Завершение моделирования;
Окно установки продолжительности моделирования;
Опция установки режима расчета (обычный, ускоренный, внешний и другие);
Показать значения порта при наведении;
Последовательное построение;
Обновление блоков модели;
Обновить окно модели;
Создать исполняемый код подсистемы;
Запуск окна обозревателя библиотеки блоков;
Запуск окна обозревателя моделей;
Переключение на модель обозревателя;
Запуск отладчика модели.
4. Рабочая область для создания схемы модели.
5. Строка состояния, содержащая информацию о текущем состоянии модели. В этой
строке отображается:
Масштаб блоков моделирования
Индикатор продолжительности процесса моделирования;
Текущее значение времени моделирования;
Используемый метод моделирования.
3.2. Приемы редактирования и форматирования модели
В созданной Simulink-модели в случае необходимости блоки и их соединения можно
редактировать и форматировать [5].
К операциям c блоками можно отнести:
удаление,
перемещение,
вставка,
копирование,
отмена операции,
восстановление отмененной операции,
вращение на 900 по часовой стрелке,
зеркальное отображение блоков.
13
К операциям соединения блоков линиями можно отнести:
изменение конфигурации линии,
смещение узла,
изменение толщины линии.
Все эти команды находятся в главном меню, и дублируется в контекстном меню и
кнопками на панели инструментов.
Операции оформления Simulink-модели можно применить к тексту, к цветовой гамме
блоков и их соединений.
Редактирование текста, возможно, после его активизации щелчком кнопки мыши в поле
текста модели и выполняется теми же средствами, что и в Word. После его редактирования
нужно щелкнуть левой кнопкой мыши за пределами текстовой области. При работе с
текстом во избежание сбоев лучше использовать символы латиницы.
К операциям работы с текстом можно отнести:
ввод,
перемещение,
копирование,
удаление текста (обычными приемами операционной системы), а также
выбор типа и размера шрифта (в окне Set Font).
К основным операциям с цветом можно отнести выбор цвета: линий для блока, фона
блока, фона окна модели. Все эти команды находятся в пункте меню Format и контекстном
меню выделенного элемента, предназначенного для форматирования:
Foreground Color (цвет переднего плана) – для линий блоков;
Black Color (цвет заднего плана) – для цвета фона блоков;
Screen Color (цвет экрана) – для цвета фона окна модели.
Выделение, копирование и перемещение объектов в буфер, вставка объектов из буфера
хранения, удаление происходит с помощью соответствующих команд меню и пиктограмм.
4. Моделирование устройств средствами Simulink
1. Моделирование логических устройств
1.1. Подготовка к работе
По указанной литературе изучить:
правила выполнения логических операций НЕ, И, ИЛИ, исключающее ИЛИ;
браузер Simulink и объекты подбиблиотеки Logic and Bit Operations, Sinks, Sources библиотеки Simulink.
1.2. Цель работы
Изучить основные логические операции и элементы, реализующие эти операции.
1.3. Задание и порядок выполнения работы
1. Запустить Simulink. Изучить структуру интерфейса.
2. Задания. Выполнить расчет и последующее моделирование двухвходовых (a и b) логических
устройств, заданных по варианту в табл. 1.1. Для этого:
представить два числа (a и b) двоичным эквивалентом;
выполнить над ними операции, заданные по варианту;
полученные результаты свести в таблицу, выполненную с использованием текстового редактора;
проверить результаты выполненных операций путем моделирования устройств с использованием логических блоков Simulink;
сравнить результаты моделирования с прогнозируемыми значениями;
скопировать в отчет полученные модели и результаты проверки решения;
сделать выводы по проделанной работе.
14
Таблица 1.1. Варианты логических операций.
В таблице приняты следующие обозначения: И (AND), ИЛИ
исключающее ИЛИ
(XOR), эквивалентность (NXOR).
Операции
N
a
b
сравнелогические
ния
1 115 70
a>b
а b; а b; а b; а b; а b
a<b
а
а
b; а
b; а
b; а
b; а
b; а
b; а
b; а
b; а
b
b
a
а
b; а
b; а
b; а
b; а
b
a == b
а
b; a
b; а
b; а
b; а
b
113
a ~= b
а
b; а
b; а
b; а
b; а
b
117
76
a>b
а
b; а
b; а
b; а
b; а
b
8
125
83
a
b
а
b; а
b; а
b; а
b; а
b
9
79
116
a<b
а
b; а
b; а
b; а
b; а
b
10
81
113
a
а
b; а
b; а
b; а
b; а
b
11
114
98
a == b
86
111
a ~= b
13
42
98
a>b
а
b; а
b; а
b; а
b; а
b; а
b; а
b; а
12
a
а
b; а
b; а
b; а
b; а
b; а
b
b
b
14
74
101
a
b
а
b; а
b; а
b; а
b; а
b
15
124
69
a<b
а
b; а
b; а
b; а
b; а
b
16
119
75
a
а
b; а
b; а
b; а
b; а
b
2
120
69
a
3
73
125
4
82
118
5
112
110
6
99
7
b
b
b
b
(OR), И-НЕ (NAND), ИЛИ-НЕ (NOR),
1.4. Технология выполнения задания
1. Ознакомьтесь с порядком создания модели, который описан во введении.
2. С помощью встроенных функций MATLAB представьте два числа a и b, взятые по варианту из
табл. 1.1, двоичным эквивалентом. Для этого в режиме прямых вычислений в командной строке
MATLAB введите поочередно два числа, например, a=3 и b=9:
>> a=dec2bin(3) % преобразование 10-го числа «3» в 2-е
a=
11
>> b=dec2bin(9) % преобразование 10-го числа «9» в 2-е
b=
1001
3. В текстовом редакторе создайте таблицу, в которую внесите десятичные числа a и b и их двоичные эквиваленты. Оба числа должны быть одинаковой разрядности:
a10
3
b10
9
a2
0011
b2
1001
4. С помощью встроенные функции MATLAB (not(), and(), or(), xor()) произведите в режиме прямых вычислений логические операции над числами a2 и b2 в соответствии с вариантом. Например,
>> a=[0 0 1 1]; % вектор двоичного числа a
>> b=[1 0 0 1]; % вектор двоичного числа b
>> and(a,b)
ans =
15
0 0 0 1
>> not(and(a,b))
ans =
1 1 1 0
>> or(a,b)
ans =
1 0 1 1
>> not(or(a,b))
ans =
0 1 0 0
>> xor(a,b)
ans =
1 0 1 0
>> not(xor(a,b))
ans =
0 1 0 1
>> a>=b
ans =
0 1 1 1
В случае сложных операций, например, а
not(xor(a,not(b))).
b можно использовать вложенные функции:
5. Результаты расчета поместите в отчет в новую таблицу:
Таблица результатов расчета и моделирования
Операции c Встроенные Ожидаемый
Результат
числами a, b
функции
результат
моделирования
AND
and(a,b)
0001
NAND
not(and(a,b))
1110
OR
or(a,b)
1011
NOR
not(or(a,b))
0100
XOR
xor(a,b)
1010
NXOR
not(xor(a,b))
0101
>=
a>=b
0111
6. В Simulink создайте модель логического устройства (рис. 1.1), выполняющего заданные логические операции. В таблице 1.2 указаны названия блоков, папки в которых находятся нужные блоки для моделирования и параметры блоков, установленные по умолчанию, которые нужно изменить.
Рис. 1.1. Моделирование операций AND и сравнения
* двоичные числа a и b должны быть одинаковой разрядности.
16
Таблица 1.2. Значения параметров блоков моделирования
Название и назна- Размещение в
чение блоков
браузере
Источник
входSimulink /
ных данных
Sources
Constant
Simulink /
Constant1
Sources
Simulink /
Логический блок
Logic and Bit
Logical Operator
Operations
Логический блок Simulink /
сравнения данных Logic and Bit
Relational Operator Operations
Регистраторы
Simulink /
Display, Display1
Sinks
Параметры
блоков
Constant value [0 0 1 1]
// значения a=3 *
Constant value [1 0 0 1]
// значения b=9 *
Operator: AND, OR,
NAND,
NOR,
XOR,
NXOR // поочередно
Relational Operator:
==, ~=, <, <=, >, >=
// по варианту
По умолчанию
7. Установите для каждого блока соответствующие свойства. Окна параметров блоков приведены на рис. 1.2 и 1.3.
Вектор двоичного числа
Рис. 1.2. Окно установки параметров блока Constant
Базовые операции
Количество
входных портов
Рис. 1.3. Окно установки параметров блока Logical Operator
17
Рис. 1.4. Окно установки параметров блока Relational Operator
Блок Constant (источник) задает постоянный по уровню сигнал. Значение может быть скаляром,
вектором или массивом. При вводе вектора числа разделяются пробелами, а сам вектор заключается в
квадратные скобки, например, [1 0 1 1 0 1 1].
Блок Logical Operator реализует одну из базовых логических операций. Количество входов и
вид операции устанавливается в окне параметров блока (см. рис.1.3). Все операции, кроме NOT выполняются над несколькими операндами. Операция NOT выполняется над одним операндом, например a или b , или над результатом логической операции.
Блок Relational Operator сравнивает текущие значения входных сигналов. В окне параметры
блока устанавливается тип операции отношения. Если значения – векторы, то происходит сравнение
чисел, находящихся на одноуровневых позициях.
Блок Display отображает значение в виде числа. Для отображения всех значений вектора, необходимо увеличить размер дисплея.
8. Сохраните модель в своей папке. Имена папки и файла должно содержать латинские символы (допускаются цифры, но не на первом месте).
9. Запустите модель на исполнение. Результаты вычислений отобразятся в дисплее (рис. 1.5).
Рис. 1. 5. Модель работы логического устройства
10. Двойным щелчком мыши образуйте текстовую область в модели и добавьте заголовок к модели, а также название входов a и b. Текстовые комментарии допустимо вносить только латинскими символами.
11. Полученные на дисплее значения внесите в таблицу отчет в колонку «Результат моделирования» (см. п.5 Таблица результатов расчета и моделирования). Сопоставьте результаты моделирования с ожидаемыми результатами. Если результат моделирования не совпал с ожидаемым ре-
18
зультатом, то нужно проверить вычисления на наличие ошибки в прогнозе или изменить параметры модели.
12. Скопируйте модель в отчет с помощью клавиш клавиатуры Alt+Print Screen (см. рис. 1.4).
13. Используя полученную модель, аналогично выполните поочередно другие операции, заданные по варианту. Для каждой логической операции необходимо:
внести изменения в схему, путем установки по варианту нужных параметров блока Logical
Operator,
запустить модель на исполнение,
снять показания с дисплея,
внести эти показания в таблицу отчет,
сравнить полученный результат моделирования с ожидаемым результатом,
скопировать скорректированную модель в отчет.
14. По окончанию работы сохраните отчет в папке с моделью и сделайте письменно выводы по
проделанной работе. В отчете отразить:
Название работы, цель работы, задание в соответствии с вариантом.
Вычисления с ожидаемым результатом в виде таблицы.
Модели заданий в соответствии с номером варианта.
Результаты компьютерного моделирования.
Выводы по работе.
19
Пример контрольного теста «Логические операции»
Двоичный эквивалент десятичного числа 15 равен:
1110
1111
1101
1011
1001
Двоичный эквивалент шестнадцатеричного числа 3В равен:
01011101 00111001 10101011 01011011 10101101
Десятичный эквивалент двоичного числа 1100101 равен:
101
100
202
200
96
Шестнадцатеричный эквивалент двоичного числа 1110101 равен:
135
35
E5
75
EA
В какой системе счисления записано число 3D12F.B34?
Двоичной
Восьмеричной
Десятичной
Шестнадцатеричной Двоично-десятичной
Результат 12\/12 в двоичной системе равен:
Результат 12\/02 в двоичной системе равен:
Результат 12/\12 в двоичной системе равен:
Результат 12/\02 в двоичной системе равен:
Результат логической операции 101010\/11001 равен:
Результат логической операции 101011 101001 равен:
Результат логической операции 100111 10101 равен:
Результат логической операции 101110/\11001 равен:
Результат логической операции 101011 101001равен:
Результат логической операции 101011 101101 равен:
Результат логической операции 101110
11001 равен:
Результат логической операции 101011 110101 равен:
Результат логической операции 110110
101011 равен:
2. Реализация логических и арифметических операций
2.1. Подготовка к работе
По указанной литературе изучить:
понятие прямого, обратного и дополнительного кодов;
правила выполнения арифметических операций сложения, вычитания, умножения;
объекты подбиблиотеки Logic and Bit Operations, Sinks, Sources, Signal Routing библиотеки
Simulink.
2.2. Цель работы
Научиться выполнять арифметические операции с несколькими операндами и моделировать их.
2.3. Задание и порядок выполнения работы
1. Задания. Создать модель трехвходового (a, b, d) цифрового устройства, для реализации
арифметических и логических операций с многоразрядными числами, заданными по варианту в
табл. 2.1, с учетом и без учета их знака:
представить числа +d и –d двоичными эквивалентами;
выполнить над числами (a, b, d) и (a, b, –d) логические операции: И (AND), И-НЕ (NAND),
ИЛИ (OR), ИЛИ-НЕ (NOR), исключающее ИЛИ (XOR);
20
полученные результаты свести в таблицы, созданные в текстовом редакторе: первая для чисел a, b, d, вторая для чисел a, b, –d;
выполнить над числами a, b, d арифметические операции: a + b, a – d, d – b;
выполнить над числами арифметико-логическую операцию, заданную по варианту в табл.
2.1;
проверить результаты выполненных логических и арифметических операций путем моделирования этих операций с использованием блоков Simulink;
сравнить результаты моделирования с прогнозируемыми значениями;
скопировать в отчет полученные модели и результаты проверки решения;
сделать выводы по проделанной работе.
Таблица 2.1. Варианты и арифметико-логических операций.
Задания
N
a
b
d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
115
120
73
82
112
99
117
125
79
81
114
86
109
95
103
89
70
69
125
118
110
113
76
83
116
113
98
111
73
121
84
125
54
48
53
59
39
45
41
55
43
37
46
52
56
47
59
44
Операции
логические арифметические арифметикологические
AND,
OR,
NAND,
NOR,
XOR
а
a
b
a
b
а
b
a
b
a
b
a + b,
а
b
a – d,
a
b
a
b
d – b,
а
b
a
b
a
b
а
b
a
b
a
b
а
b
b
2.4. Технология выполнения задания
1. С помощью встроенных функций MATLAB представьте взятые по варианту из табл. 2.1 три
числа a, b и d двоичным эквивалентом. Для этого в режиме прямых вычислений в командной
строке MATLAB введите числа, например, a=105, b=120, d=45:
>> dec2bin([105, 120, 45]) % преобразование десятичных
% чисел в двоичные эквиваленты
ans =
1101001
1111000
0101101
>> a=[0 1 1 0 1 0 0 1];
% двоичное число в виде вектора
>> b=[0 1 1 1 1 0 0 0];
>> d=[0 0 1 0 1 1 0 1];
2. В текстовом редакторе создайте таблицу, в которую внесите десятичные числа a, b и d их
двоичные эквиваленты. Все числа должны быть одинаковой разрядности. У положительных чисел знак «+» кодируется 0, и он добавляется в качестве старшего разряда в двоичный эквивалент
числа.
Число – d представить дополнительным кодом. Для этого:
знак «–» кодируется 1 и добавляется в качестве старшего разряда в двоичный эквивалент
числа,
21
значащие разряды инвертируются по отношению к прямому коду,
добавляется 1 в младший разряд двоичного эквивалента.
a10 b10 d10
a2
b2
+d2
–d2
105 120 45 01101001 01111000 00101101 11010011
3. С помощью встроенные функции MATLAB (not(), and(), or(), xor()) произведите в режиме прямых вычислений логические операции в соответствии с вариантом над числами a2, b2 и d2 . Ожидаемые результаты:
>> or(a,or(b,d))
ans =
0 1 1 1 1 1 0 1
>> bin2dec(' 0 1 1 1 1 1 0 1 ')
ans =
125
>> not(or(a,or(b,d)))
ans =
1 0 0 0 0 0 1 0
>> bin2dec(' 1 0 0 0 0 0 1 0 ')
ans =
130
>> and(a,and(b,d))
ans =
0 0 1 0 1 0 0 0
>> bin2dec(' 0 0 1 0 1 0 0 0 ')
ans =
40
>> not(and(a,and(b,d)))
ans =
1 1 0 1 0 1 1 1
>> bin2dec(' 1 1 0 1 0 1 1 1 ')
ans =
215
>> xor(a,xor(b,d))
ans =
0 0 1 1 1 1 0 0
>> bin2dec(' 0 0 1 1 1 1 0 0 ')
ans =
60
>> a10=105;
>> b10=120;
>> d10=45;
>> a10+d10
ans =
150
>> dec2bin(150)
ans =
10010110
4. Результаты расчета над числами a, b, d без учета знака поместите в отчет в новую таблицу:
Таблица результатов расчета и моделирования чисел a, b, d
Операции с
Ожидаемый результат
Результат
a, b, d
моделирования
в двоичном
в десятич105, 120, 45
коде
ном коде
AND
00101000
40
NAND
11010111
215
OR
01111101
125
NOR
10000010
130
22
XOR
00111110
60
10010110
ADD(A,D)
150
5. Аналогично пп.3 и 4 выполнить расчет с числами a, b, –d (с учетом знака) и результат поместить в таблицу.
>> a=[0 1 1 0 1 0 0 1];
% двоичное число в виде вектора
>> b=[0 1 1 1 1 0 0 0];
>> d=[0 0 1 0 1 1 0 1];
% число +45
>> not(d)
ans =
1 1 0 1 0 0 1 0
>> dm=[1 1 0 1 0 0 1 1]; % число -45 в дополнительном коде
>> or(a,or(b,dm))
% ожидаемый результат дизъюнкции
% в дополнительном коде
ans =
1 1 1 1 1 0 1 1
% перевод из дополнительного кода в прямой
>> not([ 1 1 1 1 0 1 1])
% без учета знака
ans =
0 0 0 0 1 0 0
>> d=[1 0 0 0 0 1 0 0]+[0 0 0 0 0 0 0 1]
d=
1 0 0 0 0 1 0 1
% число -5
bin2dec(' 0 0 0 0 1 0 1') % без учета знака
ans =
5
Аналогичные вычисления и с другими операциями.
Таблица результатов расчета и моделирования чисел a, b, –d
Операции с
Ожидаемый результат
Результат
a, b, -d
моделирования
в двоичном
в десятич105, 120, -45
коде
ном коде
AND
01000000
64
NAND
10111111
-65
OR
11111011
-5
NOR
00000100
4
XOR
11000010
-62
ADD(A,D)
00111100
60
6. В Simulink создайте модель устройства (рис. 2.1), выполняющего заданные логические и
арифметические операции. В таблице 2.2 указаны названия блоков, папки в которых находятся
нужные блоки для моделирования и параметры блоков, которые нужно изменить.
23
Рис. 2.1. Модель устройства, выполняющего арифметические и логические операции над числами без
знака.
Таблица 2.2. Значения параметров блоков моделирования
Название и назначение блоков
Источники:
stant1,2,3
Размещение в
браузере
Параметры
блоков
Constant value // значения
для a, b, d из табл. 2.1.
Number of inputs 3 // коУстройство объе- Simulink / Sigличество объединяемых
динения: Mux
nal Routing
входов
Блок преобразо- Simulink /
Output dada type значения:
вания типов Data Commonly
uint8 для чисел без знака,
Type Conversion
Used Blocs
int8 для чисел со знаком
Simulink /
Operator: AND, Or,
Логический блок:
Logic
and
Bit
NAND, NOR, XOR
Bitwise Operator
Operations
// поочередно
Математический
Simulink/ Math
По умолчанию
блок Add
Operations
Регистраторы:
Simulink /
По умолчанию
Display, Display1
Sinks
Con- Simulink /
Sources
7. Установите для каждого блока соответствующие свойства. Окна параметров блоков приведены на рис. 1.2 и 1.3.
Для решения Задания используются следующие блоки.
Блок Mux (мультиплексор) – объединяет входные сигналы в вектор. Количество входов устанавливается в окне
параметры блока (рис. 2.2).
Рис. 2.2. Окно установки параметров блока Mux
24
Блок Bitwise Logical Operator – поразрядный логический оператор реализует одну из базовых логических операций по отношению к данным в формате uint/int. Количество входов и вид операции устанавливается в окне параметры блока (рис. 2.3).
Рис. 2.3. Окно установки параметров блока Bitwise Operator
Входными сигналами блока могут быть беззнаковые переменные типа uint8, uint16, uint32, или
переменные со знаком («+» 0 и «–» 1) типа int8, int16, int32. Если оба операнда векторы, то операции
выполняются поэлементно, при этом размерность операндов должны совпадать. Размерность выходного сигнала определяется размерностью вектора (или массива) входного сигнала.
Блок Data Type Conversion преобразует десятичное число типа double в 8-разрядное целое число типа uint (без знака) или int (с учетом знака). Тип преобразуемого числа устанавливается в окне
параметры блока (рис. 2.4).
Рис. 2.4. Окно установки параметров блока Data Type Conversion
25
Блок математических операций Add служит для вычисления суммы или разности текущих значений сигналов. Вид арифметического действия и количество входов устанавливаются в списке обозначений (List of signs) окна параметры блока (рис. 2.5). Например, ++ (два входа и операция сложения) или +- (два входа и операция вычитания).
Рис. 2.5. Окно установки параметров блока ADD
8. Сохраните модель в своей папке и запустите на исполнение. Результаты вычислений отобразятся
в дисплее (рис. 2.1). Скопируйте модель в отчет.
9. Внесите изменение в модель и выполните аналогичные действия (п.п. 6-8) с заданными числами a, b, -d (рис. 2.6).
Рис. 2.6. Модель устройства, выполняющего арифметические и логические операции над числами со
знаком
Пример контрольного теста «Арифметические операции»
Результат 12+12 в двоичной системе равен:
Результат арифметической операции 11010+1010 равен (ввести двоичное число без пробелов):
Результат арифметической операции A-B (при А=6 и В=13) c двоичными числами равен (ввести
двоичное число без пробелов в дополнительном коде):
Результат арифметической операции B-A (при А=7 и В=12) с двоичными числами равен (ввести
двоичное число без пробелов в дополнительном коде):
26
Введите результат моделирования:
Какой блок надо подключить для получения представленного результата моделирования:
3. Сумматоры
3.1. Подготовка к работе
По указанной литературе изучить:
понятие полусумматора;
понятие одноразрядного и многоразрядного сумматора;
объекты подбиблиотеки Logic and Bit Operations, Sinks, Sources, Signal Routing библиотеки
Simulink.
3.2. Цель работы
Изучить работу полусумматора, одноразрядного и многоразрядного сумматоров.
3.3. Задание и порядок выполнения работы
1. Задание 1. Создать модель цифрового устройства – полусумматора, реализующего операцию
сложения одноразрядных двоичных чисел:
составить таблицу истинности суммирования двух одноразрядных двоичных чисел (a, b);
проверить эту таблицу путем моделирования операции суммирования с использованием
блоков Simulink;
сравнить результаты моделирования с прогнозируемыми значениями;
скопировать в отчет модель и результаты проверки;
сделать выводы по проделанной работе.
2. Задание 2. Создать модель одноразрядного двоичного сумматора:
составить таблицу истинности суммирования трех одноразрядных двоичных чисел (a, b, c);
проверить эту таблицу путем моделирования операции суммирования с использованием
блоков Simulink;
сравнить результаты моделирования с прогнозируемыми значениями;
скопировать в отчет модель и результаты проверки;
сделать выводы по проделанной работе.
3. Задание 3. Создать модель четырехразрядного двоичного сумматора, выполняющего операцию суммирования с многоразрядными числами, заданными по варианту в табл. 3.1:
перевести числа, заданные в десятичной системе в двоичный эквивалент,
выполнить операцию суммирования с этими числами;
27
проверить результат путем моделирования этой операции с использованием блоков
Simulink;
сравнить результаты моделирования с прогнозируемыми значениями;
скопировать в отчет полученную модель и результаты проверки;
сделать выводы по проделанной работе.
Таблица 3.1. Варианты заданий. Операции a + b
N
1
2
3
4
числа
a
b
4
15
5
14
6
13
7
12
N
5
6
7
8
числа
a
b
12 10
13 12
14 11
15
9
N
9
10
11
12
числа
a
b
8
14
9
15
10 12
11 13
N
13
14
15
16
числа
a
b
10 11
11 10
12
9
13
8
3.4. Технология выполнения Задания 1
1. Арифметико-логическое устройство (АЛУ) является узлом ЭВМ, который выполняет арифметические и логические операции над данными, обрабатываемыми процессором. Основной элемент, используемый в АЛУ, является полусумматором. Функция полусумматора заключается в
сложении двух двоичных цифр A и B, в результате чего образуется сумма (S) и перенос в старший разряд (Р) в соответствии с правилами двоичного сложения:
Таблица истинности работы полусумматора:
Слагаемые
Результат A+B
A
B
P
S
в десятичном коде
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
0
2
Условно полусумматор на логических схемах изображается следующим образом:
Полусумматор имеет два
входа А и В и два выхода S и Р.
SM
Как видно из таблицы истинности значения столбца P
S
представляют собой результат A
логической операции И ( а b ).
Если a=1 и b=1 образуется перенос из младшего разряда в старP
ший. Столбец S даёт значение B
суммы двух бинарных чисел и
представляет собой логическую
операцию «сложение по модулю
2» ( а b ).
Отсюда следует, что для реализации полусумматора будет достаточно двух логических элементов (AND) и (XOR).
2. В Simulink создайте модель устройства (рис. 3.1), выполняющего заданную арифметическую
операцию. В таблице 3.2 указаны названия блоков, папки в которых находятся нужные блоки для
моделирования и параметры блоков, которые нужно изменить.
28
Рис. 3.1. Модель полусумматора
3. Сохраните модель в своей папке под именем Half_Sum.
Таблица 3.2. Значения параметров блоков моделирования
Название и назначение блоков
Источники:
Constant A, B
Логические блоки
Logical Operator S,
Logical Operator P
Регистраторы: Display S, Display P
Размещение
в браузере
Simulink /
Sources
Simulink /
Logic and Bit
Operations
Simulink /
Sinks
Параметры
блоков
Constant value //значения a
и b из табл. истинности
Operator: XOR,
Operator: AND
По умолчанию
4. Установите поочередно в блоках Constant A и B бинарные числа в соответствии с таблицей
истинности, и, запуская каждый раз, модель на исполнение, снимите показания результатов работы полусумматора. Сравните результаты работы модели с таблицей истинности полусумматора.
5. В текстовом редакторе создайте отчет, в который поместите таблицу работы полусумматора и
его модель.
3.5. Технология выполнения Задания 2
1. Моделируемому устройству на рис. 3.1 дано название «полусумматор» потому, что оно хотя и
даёт значение суммы двух величин и переноса в следующий разряд, однако не учитывает сигнал
переноса, получаемый от предыдущего (младшего) разряда. Следовательно, двоичный одноразрядный сумматор должен иметь три входа и два выхода. На логических схемах он условно изображается в виде блока:
На входы А и В подаются соответственно цифры первого и второго слагаемого, а на вход С –
цифра переноса из предыдущего разряда. Выходы S и Р соответственно выводят значения суммы
и переноса в следующий (более старший) разряд. ФункциоSM
нирует одноразрядный сумма- A
тор в соответствии с таблицей
S
истинности:
B
C
P
29
Таблица истинности работы сумматора:
Слагаемые
C
A
перенос
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
B
P
0
1
0
1
0
1
0
1
0
0
0
1
0
1
1
1
Результат A+B+С
S
в десятичном коде
0
0
1
1
1
1
0
2
1
1
0
2
0
2
1
3
Сумматор имеет три входа А, В, С и два выхода S и Р.
Как видно из таблицы истинности значения столбца P представляют собой результат логических операций ( а b b c a c ). На выходе P формируются переносы из младших разрядов в
старшие. Столбец S даёт значение суммы трех бинарных чисел и представляет собой логическую
операцию «сложение по модулю 2» ( а b c ).
Отсюда следует, что для реализации сумматора необходимы логические элементы AND, OR и
XOR.
2. В Simulink создайте новую модель устройства (рис. 3.2), выполняющего заданную арифметическую операцию. В таблице 3.2 указаны названия блоков, папки в которых находятся нужные
блоки для моделирования и параметры блоков, которые нужно изменить.
Таблица 3.2. Значения параметров блоков моделирования
Название и назначение блоков
Размещение в
браузере
Источники: Constant A, B, C
Логические блоки
Logical Operator
1,2,3,4
Регистраторы:
DisplayS, DisplayP
Simulink /
Sources
Simulink /
Logic and Bit
Operations
Simulink /
Sinks
Параметры
блоков
Constant value // значения
a, b, c из табл. истинности
Operator: XOR,
Operator: AND – 3 блока
Operator: OR.
По умолчанию
30
Рис. 3.2. Модель одноразрядного сумматора
4. Сохраните модель в своей папке под именем Sum1.
5. Установите поочередно в блоках Constant A, B и C бинарные числа в соответствии с таблицей
истинности, и, запуская каждый раз модель на исполнение (8 раз), снимите показания результатов работы сумматора. Сравните результаты работы модели с таблицей истинности сумматора.
6. В отчет поместите таблицу работы сумматора и его модель.
3.6. Технология выполнения Задания 3
1. Моделируемое устройство на рис. 3.2 даёт значение суммы двух одноразрядных величин и
переноса в следующий разряд, учитывает при этом сигнал переноса, получаемый от предыдущего (младшего) разряда. Следовательно, для получения двоичного четырехразрядного сумматора
необходимо иметь четыре одноразрядных сумматора. Каждый сумматор имеет по три входа и
два выхода. На вход переноса C0 младшего разряда надо падать 0, а выходы переносов младших
разрядов, соединить последовательно с входами последующих старших разрядов.
2. С помощью встроенных функций MATLAB представьте два числа a и b, взятые по варианту из
табл. 3.1, двоичным эквивалентом. Для этого в командной строке MATLAB введите поочередно
два числа, например, a=7 и b=13:
>> a=dec2bin(7) % преобразование 10-го числа «7» в 2-е
a=
111
>> b=dec2bin(13) % преобразование 10-го числа «13» в 2-е
b=
1101
3. В отчете создайте таблицу, в которую внесите десятичные числа a и b и их двоичные эквиваленты. Оба числа должны быть одинаковой разрядности. Подсчитайте ожидаемый результат в
двоичном и десятичном эквивалентах и занесите двоичные разряды в таблицу:
31
Таблица работы четырехразрядного сумматора
Слагаемые разряд
0
1
2
3
4
7
A
1
1
1
0
13
B
1
0
1
1
перенос
C
0
1
1
1
1
Результат
P
1
1
1
1
A+B+C
S
0
0
1
0
Ожидаемый результат:
S0+S1+S2+S3+P3=0*20 + 0*21 + 1*22 + 0*23 + 1*24 = 4+16=20
4. В Simulink на базе одноразрядного сумматора создайте новую модель четырехразрядного
сумматора (рис. 3.5). Поскольку наращивание разрядности сумматора можно достичь многократным повторением схемы одноразрядного сумматора, то целесообразно создать подсистему
сумматор (SM) на базе одноразрядного сумматора. Для этого:
1) скопируйте в новое окно модель одноразрядного сумматора;
2) сохраните модель в своей папке под именем Sum4;
3) мышью выделите блоки XOR, AND и OR (см. рис. 3.3);
Рис. 3.3. Выделение блоков для подсистемы
4) выберите пункт меню Edit\ Create Subsystem;
5) на месте выделенных блоков появится блок подсистемы, имеющий порт ввода In1 и порт вывода Out1. С помощью этих портов подсистема включается в состав основной модели;
6) для вызова подсистемы для просмотра и редактирования (рис. 3.4) достаточно дважды щелкнуть по ней левой кнопкой мыши;
7) переименуйте название блока в SM (рис. 3.5);
8) удалите коннекторы, соединяющие подсистему с выходными блоками;
9) скопируйте блок SM трижды в модель и соедините подсистемы последовательно друг с
другом как показано на рис. 3.5;
32
Рис. 3.4. Окно подсистемы SM (сумматора)
10) добавьте в модель блоки Constant для ввода 4-х разрядов чисел a и b и установите в этих блоках значения двоичных эквивалентов.
11) для объединения четырех разрядов результата суммирования в вектор установите на выходе
сумматора Mux – мультиплексор (Simulink / Signal Routing) с четырьмя входами.
5. Установите в блоках Constant бинарные числа a и b в соответствии с вариантом.
6. Сохраните и запустите модель на исполнение.
7. Снимите показания результатов работы сумматора.
8. Сравните результаты работы модели с ожидаемыми значениями сумматора.
9. В отчет поместите таблицу работы многоразрядного сумматора и его модель.
10. Сделайте выводы по проделанной работе.
33
Рис. 3.5. Модель четырехразрядного сумматора
Пример контрольного теста «Сумматоры»
Результат 12+12 в двоичной системе равен:
Результат арифметической операции 11010+1011 равен (ввести двоичное число без пробелов):
Перенос старшего разряда арифметической операции 1010 +1011 равен:
Результат арифметической операции A+B (при А=7 и В=12) с двоичными числами равен (ввести двоичное число без пробелов в дополнительном коде):
Введите результат моделирования:
Введите результат моделирования:
34
Укажите все входы сумматора
Операнд а
Операнд b
Перенос c
Сумма s
Перенос p
Укажите все входы сумматора
4. Решение линейных уравнений
4.1. Подготовка к работе
По указанной литературе изучить:
объекты подбиблиотек Math Operations, Sinks, Sources, Signal Processing Blockset /Math Function;
решение линейных уравнений средствами MATLAB.
4.2. Цель работы
Научиться решать систему линейных уравнений и моделировать этот процесс.
4.3. Задание и порядок выполнения работы
1. Задача 1. Решить линейное уравнение (ЛУ) типа a*x+b=0 с последующим его моделированием. Коэффициенты уравнения заданы по варианту в таблице 4.1. Для этого:
решить ЛУ в режиме прямых вычислений;
создать модель решения ЛУ с использованием блоков математических операций пакета
Simulink;
сохранить модель и сравнить результаты моделирования ЛУ с вычисленными значениями;
скопировать в отчет модель решения ЛУ и результаты проверки решения.
Таблица 4.1. Варианты заданий
N
1
2
3
4
а
-1,5
0,31
0,48
-0,07
b
15
0,95
-12
11,2
N
5
6
7
8
а
0,09
3,8
2,5
-0,6
b
7,2
9,5
-13,3
12
N
9
10
11
12
а
0,5
-0,07
0,4
2,61
b
9,48
0,58
11,4
-5,6
N
13
14
15
16
а
-1,2
0,51
0,18
-0,12
b
13,8
1,91
-11,8
8,24
2. Задача 2. Решить систему линейных уравнений (СЛУ) с последующим ее моделированием:
a11 x1
a12 x 2
a13 x3
b1
a 21 x1
a 22 x 2
a 23 x3
b2 .
a31 x1
a32 x 2
a33 x3
b3
Коэффициенты уравнений заданы по варианту в таблице 4.2.
Для этого:
задать матрицу A – из коэффициентов a11 a12…a33,
задать вектор B – свободных членов b1, b2, b3,
вычислить в командной строке корни СЛУ матричным методом и методом наименьших
квадратов (с помощью встроенной функций lsqr());
создать модель решения СЛУ с использованием блоков матричных операций пакета Signal
Processing Blockset,
сохранить модель и сравнить результаты моделирования СЛУ с вычисленными значениями,
35
скопировать в отчет модель решения СЛУ и результаты проверки решения матричным способом.
Таблица 4.2. Варианты заданий
N
а11 а12
а13
b1
а21
а22 а23 b2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
-1,5
4,8
-7,2
4,5
6,3
-5,7
1,4
-2,5
2,5
3,8
3
4,8
4,5
1,4
-0,05
-0,15
-0,22
0,4
0,01
-0,15
0,21
0,35
0,02
0,06
-0,2
-0,3
-0,15
0,4
-0,15
0,02
10
11
15
8
12
9
14
8,5
11,3
10,5
9,5
13
11
8
9
11,3
0,06
-0,02
0,31
-0,05
-0,16
0,4
-0,01
0,05
0,15
0,07
0,09
0,08
-0,02
-0,05
0,4
0,15
-2,5
1,3
-5,7
6,3
4,5
-7,2
4,8
-1,5
3
2
2,4
-3,5
1,3
6,3
-7,2
3
0,1
0,2
0,15
-0,6
0,3
0,08
-0,4
0,65
-0,7
0,32
0,23
0,3
0,2
-0,6
0,08
-0,7
0,3
-0,6
0,75
-0,4
0,8
0,3
-0,6
0,2
-0,2
-0,2
0,5
0,7
-0,6
-0,4
0,3
-0,2
12
9,5
12
8,5
10
11,4
9
10,5
15
14
8
6
9,5
8,5
11,4
15
а31
а32 а33 b3
0,02
-0,04
0,08
-0,07
0,3
-0,6
0,2
0,15
0,1
0,5
-0,05
0,2
-0,04
-0,07
-0,6
0,1
-0,3
0,08
-0,06
0,3
-0,05
0,65
0,2
-0,07
0,15
0,1
0,09
-0,5
0,08
0,3
0,65
0,15
4
6
3,5
5
6,5
3
2
8
7,5
4,5
9,5
7
6
5
3
7,5
15
20
16
12
18
14
19
10
12
13
11
17
20
12
14
12
3. Сделать выводы относительно величины погрешности вычислений линейных уравнений разными методами.
4.4. Технология выполнения задания 1
1. Решение линейного уравнения (ЛУ) вида a*x+b=0 возможно в командной строке MATLAB,
например,
>> a=3;
>> b=-6.6;
>> x=-b/a
x=
2.2000
2. В Simulink создайте модель устройства (рис. 4.1), выполняющего решение линейного уравнения. В таблице 4.3 указаны названия блоков, папки в которых находятся нужные блоки для моделирования и параметры блоков, которые нужно изменить:
Рис. 4.1. Модель решения линейного уравнения 3*х
36
6,6 = 0
Таблица 4.3. Значения параметров блоков моделирования ЛУ
Название
Размещение в
Параметры
блоков
браузере
блоков
Constant,
Simulink / Sources Constant1=3,//устанавливаются
Constant1
Constant2=6.6 // по варианту
Блоки Add, Simulink/ Math OpList of signs: +- // Add
Product
erations
Number of inputs: 2 //Product
Блок Alge- Simulink/Math OpInitial guess: 2
braic Conerations
// значения выявляются по
straint
приближенному решению
Display
Simulink/Sinks
По умолчанию
Блок алгебраического ограничения Algebraic Constraint служит для решения уравнений или систем уравнений, накладывающих ограничения на значения переменных. Он находит такое значение
выходного сигнала (x), при котором значение входного сигнала F(x) становится равным нулю
(F(x)=0). При этом входной сигнал должен быть связан с выходным сигналом по цепи обратной связи
(см. рис. 4.1). Используя свойства блока, целесообразно задать начальное приближение корней уравнения для повышения эффективности его решения. Для уравнения вида 3*х 6,6 = 0 начальное приближение корня равно 2.
Приближенное решение
Рис. 4.2. Окно установки параметров блока Algebraic Constraint
3. Сохраните модель и запустите ее исполнение. Результаты вычислений отобразятся в дисплее
(рис. 4.1). Скопируйте модель в отчет и сделайте выводы по проделанной работе.
4.5. Технология выполнения задания 2
Векторные и матричные операторы и функции системы MATLAB позволяют решать
целый ряд задач линейной алгебры. Для реализации различных алгоритмов решения СЛУ и
связанных с ними матричных операций применяются следующие матричные операторы: +,
, *, /, \, ^, ′.
Матричные арифметические операции определяются правилами линейной алгебры.
Алгебраические операции сложения и вычитания над массивами выполняются поэлементно.
Знак «.» отличает операции над элементами массивов от матричных операций. Поскольку
операции сложения и вычитания одинаковы для матрицы и элементов массива, знаки «.+» и
«.-» не используются. Для операторов умножения и деления знак «.» имеет значение. Без
точки «*» «/» или «\» – это матричное умножение и деление (правое и левое) соответственно,
а с точкой «.*» «./» или «.\» – по элементное умножение и деление.
Например,
C=A*B – линейное алгебраическое произведение матриц А и В:
n
C (i, j )
A(i, k ) * B (k , j )
k 1
Для не скалярных А и В число столбцов матрицы A должно равняться числу строк матрицы В. Скаляр
может умножаться на матрицу любого размера. Если А – матрица размерами [n x n], а B – вектор-столбец
37
с n компонентами, то X=A\B – решение уравнения вида A∙X=B, которое находится методом исключения
Гаусса.
Поскольку вектор B в командной строке представлен в виде строки, то матрицу А надо
транспонировать. Решением СЛУ будет X=B/A', где A' – транспонированная матрица A.
1. Для решения системы линейных уравнений методом Гаусса (матричным способом) в системе
MATLAB необходимо в режиме прямых вычислений выполнить следующее:
2. Задать матрицу А коэффициентов системы;
3. Задать вектор В свободных членов системы;
4. Вывести решение СЛУ матричным способом:
X1=B/A'
% матричные операторы,
X2=B*A'^-1 % использование обратной матрицы,
X3=B*inv(A') % использование функции inv().
5. Для решения СЛУ методом наименьших квадратов надо задать матрицу А и вектор В (п.2 и
3), а затем вывести результаты решения СЛУ с помощью функции lsqr(A,B'). Эта функция возвращает точное решение х, если оно существует, в противном случае – возвращает решение по
итерационному методу наименьших квадратов.
Рассмотрим пример решения СЛУ вида:
4 x1 0,24 x2 - 0,08 x3 8
0,09 x1 3 x2 - 0,15 x3 9
0,004 x1 - 0,08 x2 4 x3 20
>> % Решение СЛУ
>>A=[4 0.24 -0.08; 0.09 3 -0.15; 0.004 -0.08 4] % коэффициенты
A=
4.0000 0.2400 -0.0800
0.0900 3.0000 -0.1500
0.0040 -0.0800 4.0000
>> B=[8 9 20]
B=
8 9 20
% матричным методом с помощью оператора «/»
>> X=B/A'
X=
1.9095 3.1958 5.0620
% с помощью обратной матрицы
>> X1=B*A'^-1
X1 =
1.9095 3.1958 5.0620
% с помощью функции inv() – обратной матрицы
>> X3=B*inv(A')
X3 =
1.9095 3.1958 5.0620
% методом наименьших квадратов
>> lsqr(A,B')
ans =
1.9095
3.1958
5.0620
>> % Проверка решения СЛУ
>> X*A'
ans =
8.0000 9.0000 20.0000
Как видно, все методы решения дали один и тот же результат.
6. В Simulink создайте модель устройства (рис. 4.3), выполняющего решение СЛУ. В таблице 4.4
указаны названия блоков, папки в которых находятся нужные блоки для моделирования и параметры блоков, которые нужно изменить:
38
Рис. 4.4. Модель решения системы линейных уравнений (СЛУ)
Название
блоков
ConstantA,
ConstantB
Блок LU
Solver
Блок LU
Inverse
Блок
Matrix
Multiply
Display,1,2
Таблица 4.4. Значения параметров блоков моделирования СЛУ
Размещение в браузере
Параметры
блоков
[4 0.24 -0.08; 0.09 3 -0.15;
Simulink / Sources
0.004 -0.08 4]
[8 9 20] // по варианту
Signal Processing Blockset
/Math Function/ Matrices
По умолчанию
and Linear Algebra / Linear
System Solvers
Signal Processing Blockset
/Math Function/ Matrices
По умолчанию
and Linear Algebra /Matrix
Inverses
Signal Processing Blockset
/Math Function/ Matrices
По умолчанию
and Linear Algebra /Matrix
Operations
Simulink/Sinks
По умолчанию
Блоки матричных и математических операций широко представлены в пакете Signal Processing
Blockset (в старых версиях Digital Signal Processing Blockset). MATLAB решение A∙X=B выполняется
методом LU разложения. Матрица А должна быть квадратной, вектор B должен иметь одинаковое
число строк с A.
При выполнении прямого хода преобразований строк матрицы А по методу Гаусса матрица приводится к верхнему треугольному виду U (upper – верхний) – все числа под диагональю равны нулю.
Если при этом не делается перестановка строк, то матрица, умножение на которую слева равносильно
сделанным преобразованиям строк, оказывается нижней треугольной L (lower – нижний) – все числа
над диагональю равны нулю. В результате получаем LU разложение матрицы, например,
A=LU
Функция lu(A) выражает любую квадратную матрицу A как произведение двух треугольных матриц,
одна из которых нижняя треугольная матрица, а другая – верхняя треугольная матрица. Эту операцию называют LU-разложением.
39
Например, для заданной матрицы А:
>> A=[4 0.24 -0.08; 0.09 3 -0.15; 0.004 -0.08 4];
>> A
A=
4.0000 0.2400 -0.0800
0.0900 3.0000 -0.1500
0.0040 -0.0800 4.0000
>> [L,U]=lu(A) % формат записи функции
L=
1.0000
0
0
0.0225 1.0000
0
0.0010 -0.0268 1.0000
U=
4.0000 0.2400 -0.0800
0
2.9946 -0.1482
0
0
3.9961
>> L*U % исходная матрица А
ans =
4.0000 0.2400 -0.0800
0.0900 3.0000 -0.1500
0.0040 -0.0800 4.0000
Блок LU Solver (рис. 4.4) – решает линейную систему вида A∙X=B, применяя LU разложение матрицы (LUX=B) и имеет два входа – для ввода матрицы А и вектора B. Выходной порт X – это решение
СЛУ. Матрица А должна быть квадратной, а вектор В – представлен столбцом с одинаковым число
строк, как и у А.
Рис. 4.4. Окно установки параметров блока LU Solver
Блок LU Inverse (рис. 4.5) – выполняет обратное преобразование матрицы, применяя LU разложение матрицы (А-1=LU-1),
где L-нижняя треугольная квадратная матрица с диагональными элементами, а U-верхняя треугольная квадратная матрица. Блок имеет выход матрицы обратной матрице A-1 .
>> A^-1
ans =
0.2504 -0.0199 0.0043
-0.0075 0.3343 0.0124
-0.0004 0.0067 0.2502
Рис. 4.5. Окно установки параметров блока LU Inverse
Блок Matrix Multiply выводит результат умножения (или деления) двух (и более) переменных, как
скалярных, так и не скалярных. В последнем случае не скалярные величины должны иметь одинаковые размеры.
40
Рис. 4.6. Окно установки параметров блока Matrix Multiply
7. Сохраните модель и запустите ее исполнение. Результаты вычислений отобразятся в дисплее
(рис. 4.4). Скопируйте модель в отчет и сделайте выводы по проделанной работе.
Как показала проверка моделирования СЛУ путем решения системы с помощью встроенных
средств MATLAB, модель собрана и функционирует верно.
Пример контрольного теста «Линейные уравнения»
Матричным оператором в системе MATLAB не является:
^ * /. .\ Матричным оператором в системе MATLAB не является:
‘ \ *. .* /
Укажите правильное задание матрицы B размером 3х3 в MATLAB:
B=[2 3 4, -5 6 4, 0 -7 1]
B=[2 3 4; -5 6 4; 0 -7 1]
B=[2, 3, 4, -5, 6, 4, 0, -7, 1]
B=[2: 3: 4; -5: 6: 4; 0: -7: 1]
B=(2 3 4; -5 6 4; 0 -7 1)
Вывод на экран вектор A в виде столбца:
A(') A= A(..)
A(:) A.^
Транспонирование массива F
F.'
Ft
F.t
F^ F.^
Если А – матрица коэффициентов при неизвестных, а B – вектор свободных членов в системе
линейных уравнений, то к матричным способам решения системы относятся:
X=B/A'
X=B\A
X=B*A'^-1
X=B-1*A
X=A*B
Укажите формулу, проверяющую в матричном виде правильность решения СЛУ:
X*B
X/A
X*A'
X/B
A'*B
41
где А – матрица коэффициентов, B – вектор свободных членов, X – вектор корней решения
СЛУ.
5. Решение нелинейных уравнений
5.1. Подготовка к работе
По указанной литературе изучить:
создание и редактирование графиков в MATLAB;
объекты подбиблиотеки Math Operations, Sinks, Sources библиотеки Simulink;
способы решения нелинейных уравнений в MATLAB.
5.2. Цель работы
Научиться решать систему нелинейных уравнений и моделировать этот процесс.
5.3. Задание и порядок выполнения работы
1. Задача 1. Решить два нелинейных уравнения (НУ) с последующим их моделированием.
Функции для решения уравнений заданы по варианту в таблице 5.1. Для этого:
построить графики функций F1(X) и F2(X) в одном окне, определить точки пересечения графиков с осью Х;
вычислить корни нелинейных уравнений вида F1(X)=0 и F2(X)=0 с помощью встроенных
функций roots и solve;
создать модели решения НУ с использованием блоков математических операций пакета
Simulink.
Таблица 5.1. Варианты заданий
N
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Функции
F1
F2
0.6x3 3x2+10x+5
2x2 |x| 35
0.7x3+2x2+4x 1
x2+ |2x|+10
3
2
0.4x 2x +2x+9
3x2 |x+2|+40
3
2
0.2x 2x +2x+20
2x2 |x-1| 30
3
2
0.3x +2x 6x 10
6x2 |x|+25
1.1x3+5x2+1x 15
2x2+ |x+1|+20
3
2
0.25x +3x +2x 20
3(x+1)2 |x| 50
3
2
0.2x 3x +5x+25
2x2 |x|+45
3
2
0.9x 3x +5x+10
2(x 1)2+|x| 25
3
2
0.9x 4x +2x+10
2x2+ |x| 25
0.5x3 3x2+11x+6
3x2 |2x| 41
3
2
0.3x 4x +3x+50
3x2 |x-5|+50
3
2
0.4x 2x +2x+9
3x2 |x+2|+40
3
2
1.1x +5x +1x 15
2x2+ |x+1|+20
3
2
0.9x 3x +5x+10
2(x 1)2+|x| 25
0.3x3 4x2+3x+50
3x2 |x-5|+50
Диапазон изменения х
хo
хn
h(шаг)
-10
5
0.3
-5
5
0.2
-10
5
0.4
-12
5
0.5
-10
5
0.3
-5
5
0.2
-10
15
0.3
-10
15
0.5
-5
5
0.3
-5
5
0.2
-10
5
0.3
-10
15
0.4
-10
5
0.4
-5
5
0.2
-5
5
0.3
-10
15
0.4
сохранить модели и сравнить результаты моделирования НУ с вычисленными значениями;
скопировать в отчет графики функций, модели решения НУ и результаты проверки решения.
2. Задача 2. Решить систему нелинейных уравнений (СНУ) с последующим ее моделированием
Функции для решения системы нелинейных уравнений (СНУ), заданы в табл. 5.1. Для этого:
определить по графику функций F1(X) и F2(X) окрестности существования корней СНУ;
решить СНУ вида (F1(X)-F2(X)=0) с помощью встроенной функции fzero();
создать модель решения СНУ с использованием блоков пакета Simulink;
сохранить модель и сравнить результаты моделирования СНУ с вычисленными значениями;
скопировать в отчет модель решения СНУ и результаты проверки решения.
3. Сделать выводы относительно величины погрешности вычислений нелинейных уравнений
разными методами.
42
5.4. Технология выполнения задания1
Довольно часто на практике возникает задача решения (нахождения корней) нелинейного
уравнения вида F(X)=0 или системы СНУ F1(X)=F2(X). Последнее можно свести к виду F1(X)–
F2(X)=0. Таким образом, данная задача сводится к нахождению значений аргумента X функции F(X)
одной переменной, при котором значение функции равно нулю.
В качестве примера рассмотрим способы решение следующих нелинейных уравнений:
0.5 x 3 7 x 2 5x 50 0 и 3 x 2 - x 100 0
Как видно первое нелинейное уравнение полиномиальное, второе – степенное (с
целочисленными показателями степени).
1. Для решения нелинейного уравнения в графической интерпретации необходимо:
задать ранжированную переменную Х,
задать функцию пользователя,
вызвать окно для отображения графика,
задать команду построения графика.
Построим графики функций F1 и F2 в заданном интервале, например, x -15..+10 (рис. 5.1):
>>X=-15:0.5:10; % Задание ранжированной переменной
>> F1=-0.5*X.^3-7*X.^2+5*X+50;
>> F2=3*X.^2-sqrt(abs(X))-100;
>> figure(1);
>> plot(X,F1,X,F2);
Рис. 5.1. Графики функций F1 и F2
Как видно из рисунка 5.1 обе функции пересекают ось х в нескольких точках, где и существуют
корни уравнений вида F1(X)=0 и F2(X)=0. Функция F1 (отображается на графике пунктирной линией)
– полином третий степени – имеет 3 точки пересечения с осью x в окрестностях точек -14, -3, 2. Вторая функция F2 (отображается на графике сплошной линией) – степенная – имеет 2 точки пересечения с осью x в окрестностях -6 и +6.
2. Для решения нелинейных уравнений в режиме прямых вычислений в MATLAB имеются
встроенные функции. Так, например, для полинома – функция roots(F1), которая возвращает вектор-столбец X, элементы которого являются корнями заданного полинома. Вектор-строка F1 содержит коэффициенты полинома, упорядоченные по убыванию степеней. Например, для заданного полинома F1:
>> % Решение полинома с помощью функции roots():
>> F1=[-0.5, -7, 5, 50];
43
>> X=roots(F1)
X=
-14.2085
2.7592
-2.5507
>> % Проверка решения подстановкой, например, второго корня х=2.7592
>> F=-0.5*X(2)^3-7*X(2)^2+5*X(2)+50
F=
0
Как видно корень х=2.7592 вычислен точно. Аналогично можно проверить точность вычисления других корней (х=-14.2085 и х=-2.5507) путем их подстановки в решение нелинейного уравнения.
3. Как известно, для решения нелинейного уравнения в MATLAB имеется функция solve(), которая возвращает вектор корней НУ, заданного в символьном виде. Например, для функций F1, F2:
>> % Решение НУ в символьном виде:
>>X1= solve('-0.5*x^3-7*x^2+5*x+50')
X1 =
-14.208463160937381019680273693768
-2.550749225446045742603419977223
2.759212386383426762283693670992
>> X2=solve('3*x^2-sqrt(abs(x))-100')
X2 =
-5.8428646462036777884773935421505
5.8428646462036777884773935421505
>> % Проверка решения подстановкой первого корня Х2(1)
− >> F2=3*X2(1)^2-sqrt(abs(X2(1)))-100
− F2 =
−
0.000000000000000000000000000000015348829406765888
Как видно корни вычислены с очень высокой степенью точностью, т.к. при их подстановке
F2→0.
4. В Simulink создайте модель устройства (рис. 5.2), выполняющего решение НУ F1=0 и F2=0. В
таблице 5.2 указаны названия блоков, папки в которых находятся нужные блоки для моделирования и параметры блоков, которые нужно изменить при моделировании задачи.
Таблица 5.2. Значения параметров блоков моделирования
Название
блоков
Блоки Constant1,2
Блок Polynomial
Блок Algebraic Constraint1
Блок Algebraic Constraint2
Блоки Add,
Product
Размещение в
браузере
Simulink /
Sources
Simulink / Math
Operations
Параметры
блоков
Constant1=3, //устанавливаются Constant2=100 // по варианту
Polynomial Coefficient:
[-0.5 -7 5 50] // по варианту
Simulink / Math
Operations
Initial guess 1: [-14 -3 3] //вектор приближенных корней, которые выявляются по графику функций F1(Х)
Simulink / Math
Operations
Initial guess 2: [-6 6] //вектор приближенных корней,
которые выявляются по графику функции F2(Х)
Simulink / Math
Operations
Simulink / Math
Блок Abs
Operations
Блоки Math Simulink / Math
Function1,2 Operations
Display1,2
Simulink / Sinks
List of signs: - - + // Add
Number of inputs: 2 //Product
По умолчанию
Значение Function выбирается из списка функций по варианту
По умолчанию
44
Рис. 5.2. Модель решения НУ.
Пакет расширения Simulink имеет обширные возможности в проведении математических операций. Они сосредоточены в разделе их библиотек Math Function (Math Operations). Для решения НУ,
рассмотрим некоторые блоки этой библиотеки.
Блок вычисления элементарных функций Math Function (математическая функция), Trigonometric Function (тригонометрическая функция) и т.п. Действия этих функций и установка их параметров
очевидна. Выбор функции осуществляется в раскрывающемся списке окна параметры блока Math
Function (рис. 5.3).
Рис. 5.3. Параметры блока Math Function
45
Блок алгебраического ограничения Algebraic Constraint (рис. 5.4) служит для решения уравнений или систем уравнений. При этом входной сигнал должен быть связан с выходным сигналом (см.
рис. 5.2). Используя свойства блока, целесообразно задать начальное приближение корней уравнения
для повышения эффективности решателя. Например, вектор [-14 -3 3].
Рис. 5.4. Параметры блока Algebraic Constraint
Блок Polynomial (рис. 5.5) реализует зависимость, задаваемую степенным многочленом. Сами
же коэффициенты полинома в векторном виде должны располагаться по убыванию степени переменной. Например, для полинома 0.5 x3 7 x2 5x 50 необходимо задать вектор коэффициентов [-0.5 -7
5 50]. Коэффициенты должны быть действительного типа.
Рис. 5.5. Параметры блока Polynomial
Блоки Add, Subtract, Sum, Product – выполняют арифметические действия над операндами в соответствие со своим названием. В окне параметров блоков устанавливаются количество входов, а в
блоках сложения и вычитания – еще и знак операнда.
Изменение знака операции и добавление входа
Рис. 5.6. Параметры блока Add
5. Сохраните модель и запустите ее исполнение. Результаты решений F1=0 и F2=0 соответственно отобразятся на дисплеях (рис. 5.2). Скопируйте модель в отчет и сделайте выводы по проделанной
работе.
Как показала проверка моделирования НУ путем решения с помощью встроенных средств
46
MATLAB, модель собрана и функционирует верно.
5.5. Технология выполнения задания 2
Решение СНУ сводится к виду F1(x)–F2(x)=0. Таким образом, необходимо найти значения аргумента x, когда функции F1(x)=F2(x) равны друг другу.
1. Для решения системы нелинейных уравнений в графической интерпретации (рис. 5.1) необходимо построить график и найти корни как окрестности пересечения функций между собой в
заданном интервале x -15..+10. Для рассматриваемых уравнений 0.5 x3 7 x2 5x 50 и
3 x 2 - x 100 – это х= –4 и х=3.
2. Для решения СНУ в командной строке MATLAB можно использовать встроенную функцию
inline() и функцию fzero(f,x), которая находит точные корни уравнений. Функция fzero(f[x1 x2])
возвращает значение х, при котором f(x)=0 с заданием интервала поиска с помощью вектора x=
[x1 x2], такого, что знак f(x(1)) отличается от знака f(x(2)). Возвращенное значение близко к точке, где функция меняет знак. Иначе выдается сообщение об ошибке. Например,
>> % Решение системы нелинейных уравнений (СНУ) f=F1-F2:
>> f=inline('-0.5*x^3-7*x^2+5*x+50-3*x^2+sqrt(abs(x))+100')
f=
Inline function:
f(x) = -0.5*x^3-7*x^2+5*x+50-3*x^2+sqrt(abs(x))+100
>> x1=fzero(f,-4) % в окрестности существования первого корня
x1 =
-4.0656
>> f(x1)
% решение СНУ при х=-4.0656
ans =
1.4211e-014
>> x2=fzero(f,3) % в окрестности существования второго корня
x2 =
3.7904
>> f(x2)
% проверка решения СНУ при х=3.7904
ans =
1.4211e-014
Как видно, по результату решения f=F1–F2
0. Корни СНУ вычислены с некоторой погрешностью (1.4211e-014), которая сказывается при проверке решения СНУ функции f.
3. Для создания модели решения СНУ достаточно скопировать предыдущие модели в новое окно и отредактировать их, выполнив операцию алгебраического вычитания f=F1–F2. Полученная
модель решения СНУ для рассматриваемых функций приведена на рис. 5.7.
Согласно графикам функций F1 и F2, приведенным на рис. 5.1, корни СНУ находятся в окрестности точек [-4 3]. Эти значения в векторном виде надо ввести в блок Algebraic Constraint1, изменив
при этом первоначальные значения, а блоки Algebraic Constraint2 и Consonant2 удалить. Кроме того,
в модель надо ввести блок вычитания Subtract, который позволит реализовать операцию F1–F2.
47
Рис. 5.7. Модель решения СНУ.
4. Сохраните модель и запустите ее исполнение. Результаты решения F1– F2=0 соответственно
отобразятся на дисплее (рис. 5.7). Скопируйте модель в отчет и сделайте выводы по проделанной работе.
Как показала проверка моделирования СНУ путем решения с помощью встроенных средств
MATLAB, модель собрана и функционирует верно.
Работоспособность всех моделей проверена с помощью встроенных средств системы
MATLAB. Все они работоспособны и выполняют поставленные задачи.
Пример контрольного теста «Нелинейные уравнения»
Укажите оператор формирования упорядоченных последовательностей в диапазоне от А до В с
шагом Н в MATLAB:
X=A, A+H..B
A, H.. B
A: H: B
A: A+H: B
A..A+H..B
Укажите функцию, возвращающую точные значения корней полинома в системе MATLAB:
poly()
roots()
polyroots()
root()
sqrt()
Укажите функцию, возвращающую точные значения корней нелинейного уравнения в системе
MATLAB:
root()
solve()
polyroots()
zero()
Укажите правильный вариант задания вектора – полинома:
Y=[a0,a1,a2,a3]
Y=[a3,a2,a1,a0]
48
Y=(a3,a2,a1,a0)
Y=(a0,a1,a2,a3)
Y=[a3.a2.a1.a0]
Укажите функцию, возвращающую точные значения корней
системы нелинейных уравнений в системе MATLAB:
roots()
solve()
fzero()
polyroots()
zero()
6. Моделирование электрических цепей
6.1. Подготовка к работе
По указанной литературе изучить:
свойства объектов подбиблиотеки Foundation Library библиотеки Simscape:
Electrical Elements, Electrical Sensor, Electrical Sources.
линейные цепи постоянного тока,
линейные цепи синусоидального тока.
6.2. Цель работы
Научиться моделировать электрические цепи постоянного и переменного тока.
6.3. Задание и порядок выполнения работы
1. Задача 1. Создать модель электрической цепи постоянного тока, где величина источника напряжения U и сопротивление цепи R заданы по варианту в таблице 6.1. Измерить величину тока в
электрической цепи.
Таблица 6.1. Варианты заданий
N
1
2
3
4
5
6
7
8
Напряжение (U), В Сопротивление (R), Ом
100
110
120
130
140
150
160
170
N
40
50
55
35
65
80
60
80
9
10
11
12
13
14
15
16
Напряжение (U), В Сопротивление (R), Ом
180
190
200
210
120
150
180
160
85
70
70
90
65
35
50
60
Для этого:
рассчитать величину тока в цепи, используя закон Ома;
создать модель электрической цепи постоянного тока с использованием блоков Simscape;
сохранить модель и сравнить результат моделирования с вычисленным значением;
скопировать в отчет модель и результаты проверки.
2. Задача 2. Создать модель электрической цепи переменного тока с активным сопротивлением.
Варианты заданий приведены в таблице 6.1, где напряжение для задачи 2 принимается в качестве
амплитудного значения Um. Вычислить комплексные значения тока и напряжения в электрической цепи c частотой f=50 Гц. Для этого:
рассчитать величину тока в цепи, используя закон Ома;
создать модель электрической цепи переменного тока с использованием блоков
SimElectronics;
построить временные диаграммы переменных величин;
сохранить модель и сравнить результаты моделирования с вычисленным значением;
скопировать в отчет модель, диаграммы и результаты проверки решения.
3. Сделать выводы о возможностях моделирования электрических цепей средствами пакета
SimElectronics.
49
6.4. Технология выполнения задания1
1. Используя закон Ома для электрической цепи постоянного тока, вычислите величину тока
цепи для заданного (по варианту из табл. 6.1) напряжения источника питания U и сопротивления
цепи R. Для этого в командной строке MATLAB введите данные, например, U=220 В и R=100
Ом:
>>% Ввод исходных данных
>> U=220;
>> R=100;
>> I=U/R % закон Ома
I=
2.2000
2. С помощью пакета расширения SimElectronics создайте модель устройства (рис. 6.1), реализующего закон Ома для цепи постоянного тока. В таблице 6.2 указаны названия блоков, папки в
которых находятся нужные блоки для моделирования и параметры блоков, которые нужно изменить:
Рис. 6.1. Моделирование электрической цепи постоянного тока DC
Таблица 6.2. Значения параметров блоков моделирования
Название и назначение блоков
Источник постоянного напряжения
DC Voltage Source
Сопротивление
Resistor
Блок решения
Solver Configuration
Амперметр Current
Sensor
Преобразователь
PS-Simulink Converter
Регистратор Display
Электрическое заземление Electrical
Reference
Размещение в
браузере
Simscape / Foundation Library /
Electrical Sources
Simscape / Foundation Library /
Electrical Elements
Constant voltage: 220V
//значение по варианту
Simscape / Utilities
По умолчанию
Simscape / Foundation Library /
Electrical Sensor
По умолчанию
Simscape / Utilities
По умолчанию
Simulink / Sinks
Simscape / Foundation Library /
Electrical Elements
По умолчанию
50
Параметры
блоков
Resistance: 100 Ohm
//значение по варианту
По умолчанию
3. Установите для каждого блока соответствующие свойства. Окна параметров блоков приведены на рис. 6.2 – 6.4.
Блок DC Voltage Source является идеальным источником напряжения, который поддерживает постоянное напряжение (DC) на выходных клеммах устройства, независимо от величины тока, протекающего через него. У идеального источника напряжения внутреннее сопротивление равно нулю. А
выходное напряжение может принимать любое вещественное значение.
Рис. 6.2. Окно установки параметров блока DC Voltage Source
С помощью блока Resistor (рис. 6.3) устанавливается номинал сопротивления, которое связывает ток и напряжение соотношением V = I * R, где R – постоянное сопротивление, Ом. Положительные
и отрицательные клеммы резистора обозначаются знаками + и - соответственно. По умолчанию, напряжение на резисторе задается V (+) - V (-). Ток имеет положительное направление при прохождении через устройство от положительного полюса к отрицательному полюсу. Это гарантирует, что
мощность, потребляемая резистором всегда положительна.
Рис. 6.3. Окно установки параметров блока Resistor
Каждая физическая цепь, в которую включаются блоки библиотеки Simscape, должна иметь
один блок решения Solver Configuration – блок конфигурации решателя. Этот блок решает, какие параметры, подключенных в модель блоков, нужны для создания моделей с помощью блоков библиотеки
Simscape. Блок Solver Configuration имеет один порт, с помощью которого он может быть подключен в
любом месте к модели.
Начинается моделирование от устойчивого состояния Start simulation from steady state. При
этом решатель с учетом начальных условий пытается найти стационарное состояние системы. По
умолчанию время вычисления установлено 1*10-9 с, что достаточно в большинстве случаев (рис. 6.4).
51
Рис. 6.4. Окно установки параметров блока Solver Configuration
Сенсор тока (амперметр) Current Sensor представляет собой идеальный датчик тока, который
преобразует измеренный ток электрической цепи в физический сигнал, пропорциональный току. Соединения + и - это электрические порты, посредством которых датчик подключается к цепи. Амперметр, подключенный к порту, выводит результат измерения.
Блок конверсии PS-Simulink Converter преобразует физический сигнал в выходной сигнал
Simulink. Он приводит форматы данных в соответствие с форматами различных пакетов расширения.
Например, вход блока Display (Simulink) с выходом сенсора Current Sensor (Simscape).
Блок Electrical Reference является электрическим опорным портом, служащим для
подключения электрической земли.
3. Сохраните модель и запустите ее исполнение. Результаты вычислений отобразятся в дисплее
(рис. 6.1). Скопируйте модель в отчет и сделайте выводы по проделанной работе.
6.5. Технология выполнения задания2
1. Используя закон Ома для электрической цепи переменного тока, вычислите величину переменного тока по заданным значениям амплитуды напряжения источника питания Um и активного сопротивления цепи R. Для этого в командной строке MATLAB введите исходные данные, например,
Um=220 В, R=100 Ом, f=50 Гц:
>> % Ввод исходных данных
>> f=50;
>> t=1;
>> Um=220;
>> R=100;
>> % угловая частота
>> w=2*pi*f;
>> % мгновенное значение
>> U=Um*cos(w*t)
U=
220
>> % действующее значение U
>> Ud=Um/sqrt(2)
Ud =
155.5635
52
>> % комплексное значение гармонического напряжения
>> U=Um*cos(w*t)+j*Um*sin(w*t)
U=
2.2000e+002 +4.3217e-013i
>> % действительная часть а
>> a=Um*cos(w*t)
a=
220
>> % мнимая часть b
>> b=Um*sin(w*t)
b=
+4.3217e-013
>> % комплексное значение тока по закону Ома
>> I=U/R
I=
2.2000 + 0.0000i
>> % комплексная гармоническая функция
>> u=Um*exp(j*(w*t))
u=
2.2000e+002 +4.3217e-013i
>> % модуль (абсолютное значение) комплексного напряжения
>> abs(U)
ans =
220
>> % угол комплексного напряжения
>> angle(U)
ans =
1.9644e-015
2. В Simulink создайте модель устройства (рис. 6.5), реализующего закон Ома для цепи переменного тока с активным сопротивлением R. Для этого:
создайте новое окно модели и скопируйте в него уже существующую модель DC;
замените источник питания постоянного тока на источник переменного тока AC.
добавьте в модель недостающие элементы, приведенные на рис. 6.5 и в таблице 6.3.
В таблице 6.3 указаны параметры блоков моделирования:
Рис. 6.5. Моделирование электрической цепи переменного тока AC
53
Таблица 6.3. Значения параметров блоков моделирования
Название и назначение блоков
Источник переменного напряжения
AC Voltage Source
Сопротивление
Resistor
Размещение в
браузере
Simscape / Foundation Library /
Electrical Sources
Simscape / Foundation Library /
Electrical Elements
Блок решения
Simscape / Utilities
SolverConfiguration1
Амперметр Current Simscape / FounSensor1
dation Library /
Electrical Sensor
Simscape / FounВольтметр Voltage
dation Library /
Sensor1
Electrical Sensor
Преобразователь
PS-Simulink ConSimscape / Utilities
verter1,2
Электрическое заSimscape / Founземление Electrical dation Library /
Reference1
Electrical Elements
Регистратор Scope
Simulink / Sinks
Параметры
блоков
Peak amplitude: 220 V
//значение по варианту
Frequency: 50 Hz
Resistance: 100 Ohm
//значение по варианту
По умолчанию
По умолчанию
По умолчанию
По умолчанию
По умолчанию
Number of axes: 2
3. Установите для каждого блока соответствующие свойства. Окна параметров блоков приведены на рис. 6.6 и 6.7.
Блок AC Voltage Source (рис. 6.6) является идеальным источником напряжения переменного тока,
который обеспечивает синусоидальное напряжение на его выходных клеммах, независимое от
величины тока, протекающего через него. Выходное напряжение определяется по формуле
U Um sin( t
),
где Um является амплитудным значением, =2∙ ∙f является угловой частотой в рад / с, и – фазовым
сдвигом в радианах. Установите амплитудное значение напряжения по варианту из табл. 6.1, частоту
(frequency) равной 50 Гц, а сдвиг фазы примем 0.
Рис. 6.6. Окно установки параметров блока AC Voltage Source
Сенсор напряжения (вольтметр) Voltage Sensor представляет собой идеальный датчик напряжения, который преобразует измеренный напряжение между любыми точками электрической цепи в
физический сигнал, пропорциональный напряжению. Соединения + и - это электрические порты, посредством которых датчик подключается к цепи и выводит значение напряжения.
54
Виртуальный осциллограф Scope позволяет представить результаты моделирования в виде временных диаграмм с оцифрованной масштабной сеткой. Осциллограф имеет свою панель инструментов
(рис. 6.7), которая содержит следующие кнопки:
печать (1), параметры (2),
масштаб по осям (3),
автоматическое масштабирование по осям(4),
сохранение текущих установок (5),
режим «плавающего» осциллографа (6).
1 −2
3
4
5
6
−
−
−
−
−
−
−
−
а)
б)
Рис. 6.7. Работа с виртуальным осциллографом
Для отображения двух осциллограмм в одном окне:
открыть двойным щелчком по блоку Scope его демонстрационное окно (рис. 6.7 а);
кнопкой Parameters (Параметры) окна Scope вызвать окно свойств (рис. 6.7 б), в котором на
главной вкладке General установить число осей Number of axes осциллографа 2;
установить временной диапазон (Time range) отображения временных диаграмм =1, щелкнуть по
кнопке ОК или Apply.
Конверторы сигналов PS-Simulink Converter позволяют соединять Simulink-осциллографы с выходами Simcsape-сенсоров тока и напряжения (амперметра и вольтметра).
4. Сохраните модель и запустите ее исполнение. Чтобы посмотреть осциллограммы работы
Scope, достаточно двойным щелчком открыть окно установки параметров осциллографа и результаты моделирования отобразятся в окне (рис. 6.8).
−
−
−
−
−
−
−
а)
−
−
−
−
−
б)
Рис. 6.8. Осциллограммы выходных синусоидальных сигналов:
а) тока и б) напряжения
55
5. Скопируйте модель и осциллограммы в отчет.
Как видно по осциллограммам ток и напряжение носят гармонический характер. Амплитудные
значения тока достигают 2, 2 А, а напряжения – 220 В, что хорошо согласуется с законом Ома.
Следует заметить, что данный источник формирует сигнал, по форме несколько отличающийся от
синусоидального.
6. Создайте модель (рис. 6.9), вычисляющую комплексные значения напряжения и переменного тока электрической цепи с активным сопротивлением R.
Рис. 6.9. Модель, вычисляющая комплексный ток и напряжение
В таблице 6.4 приведены параметры блоков моделирования
Таблица 6.4. Значения параметров блоков моделирования
Название
блоков
Constant,
Constant1,
Constant2
Блок деления
Divide
Блок умножения
Product ,1
Блок Trigonometric Function ,1
Блок Real-Imag
to Complex
Блок Complex to
Magnitude-Angle
Регистраторы
Display1-5
Размещение в
браузере
Simulink /
Sources
Параметры
блоков
Constant=2*pi*50*1
Constant1=220 //по варианту
Constant2=100 //по варианту
Simulink / Math
Operations
Simulink / Math
Operations
Simulink / Math
Operations
Simulink / Math
Operations
Simulink / Math
Operations
Number of inputs: */
Number of inputs: 2
Function cos
Function1 sin
По умолчанию
По умолчанию
Simulink / Sinks
По умолчанию
Как известно [7], комплексное значение напряжения вычисляется по формуле:
U Um cos(
t)
где =2∙ ∙f – угловая частота,
a= Um∙cos( ∙t) – действительная часть,
b= Um∙sin( ∙t) – мнимая часть.
>> Umod=sqrt(a^2+b^2) % модуль
Umod =
220
>> tanFi=b/a
% фаза
tanFi
56
j Um sin(
t) ,
1.9644e-015
В подбиблиотеке Math Operations библиотеки Simulink имеются блоки для работы с комплексными числами. Название блоков и их назначение приведены в табл. 6.5:
Таблица 6.5. Значения параметров Complex блоков
Название блоков
Real-Image to Complex
Complex to Magnitude-Angle
Назначение
вычисляет комплексное число по его
действительной и мнимой части
вычисляет модуль и аргумент комплексного числа
7. Сохраните модель и запустите ее исполнение. Результаты вычислений отобразятся на дисплеях
Display1-5 (рис. 6.9).
8. Сопоставьте полученные результаты с вычисленными значениями в режиме прямых вычислений.
9. Скопируйте модель и результаты проверки ее работоспособности в отчет и сделайте выводы по
проделанной работе.
Как показала проверка моделирования электрических цепей постоянного и переменного токов с
помощью встроенных средств MATLAB, модели собраны и функционируют верно. Все они работоспособны и выполняют поставленные задачи.
Пример контрольного теста «Электрические цепи»
Укажите закона Ома для электрической цепи постоянного тока:
U=I+R
U=I*R
U=I/R
U=I*G
I=U*R
Укажите действующее значение:
U=Um/R
U=Um/2
U=Um/sqrt(2)
U=Um*sin(t)
Im=Um*R
Укажите комплексную переменную:
A=Am*sin(w*t)+i*cos(w*t)
A=Am*sin2(w*t)+i*cos2(w*t)
A=Am*cos(w*t)+i*Am*sin(w*t)
A=Am*cos2(w*t)+i*Am*sin2(w*t)
A=Am*exp(-i*(w*t))
Укажите функцию MATLAB, вычисляющую модуль
комплексного числа:
mod(U)
abs(U)
module(U)
|U|
sqrt(U)
Укажите функцию MATLAB, вычисляющую фазу комплексного числа:
arg(U)
argument(U)
angle(U)
fi(U)
arg(a,b)
57
7. Моделирование двухполюсника
7.1. Подготовка к работе
По указанной литературе изучить:
свойства объектов библиотеки SimPowerSystems, подбиблиотек Elements, Electrical Sources и
Measurements.
линейные цепи переменного тока, двухполюсники.
7.2. Цель работы
Научиться моделировать схемы с двухполюсниками и рассчитывать их параметры.
7.3. Задание и порядок выполнения работы
1. Задача 1. Рассчитать параметры двухполюсника (ДП). Схема двухполюсника, значения его элементов R, L, C, амплитудные значения напряжения (Um) / тока (Im) источника питания, линейная
частота (f), расчетные формулы сопротивления (Z) / проводимости (Y), заданы по варианту в таблице 7.1.
Таблица 7.1. Варианты заданий параметров ДП
Схема
N
Импеданс
XL
1,9
R
L
Z
C
R
3,11
4,12
R
–
90
Ом
–
2 пФ
60
Ом
10
мГн
0.5
пФ
–
5
мГн
1.5
пФ
80
Ом
2
мГн
–
C
50
Ом
–
2 пФ
C
60
Ом
2
мГн
1 пФ
–
1.5
мГн
1.5
пФ
C)
XL
L
XC
1/ (
R
j (XL
tg
C)
(XL
Z
XC )
XC ) / R
j (XL
XC )
L ; XC
1/ (
0
XC )
XL
90 ( X L
C)
900 ( X L X C )
g 1/ R
R
L
C
bL
1/ (
Y
g
bL / g
g
Y
1/ R
j bC ; bC
g
tg
Для N 5-8:
Im=10 A,
частота f=50 Гц
bC / g
g
bL
L) ; bC
g
j (bL
tg
Для N 13-16:
Im=20 A,
частота f=60 Гц
1/ R
1/ (
Y
(bL
g
bL
bC )
bC ) / g
0
L) ; bC
1/ (
Y
L)
j bL
tg
6,14
8,16
100
мГн
XC / R
5,13
7,15
80
Ом
j XC
tg
Z
Для N 9-12:
Um=120 В,
частота f=60 Гц
1/ (
Z
Um=220 В,
частота f=50 Гц
C
XL / R
XC
Для N 1-4:
L
j XL
tg
2,10
R
L
j (bL
0
90 (bL
0
90 (bL
C
bC )
bC )
bC )
Для этого:
создать файл сценарий, в котором написать программу расчета основных показателей электрической цепи переменного тока с включенной в нее схемой двухполюсника, заданного по варианту (табл. 7.1);
сохранить его в своей папке латинскими символами:
58
в режиме прямых вычислений задать номинальные значения элементов двухполюсника, вызвать по имени модуль для расчета параметров ДП;
2. Задача 2. С помощью пакета расширения Simulink создать модель электрической цепи переменного тока с включенной в нее заданной схемой ДП и проверить расчет его параметров. В модели измерить ток, напряжение, активную (P) и реактивную (Q) мощности заданного ДП. Для этого:
с помощью блоков библиотеки SimPowerSystems создать модель линейной цепи переменного
тока, в которую включить заданную схему двухполюсника, источники питания и измерительные
приборы;
сохранить модель в папке, запустить ее и сравнить результат моделирования с вычисленными
значениями;
скопировать в отчет программу, модель, временные диаграммы и результаты проверки и сделать выводы по работе.
7.4. Методические рекомендации
Двухполюсники в цепи синусоидального тока
Мгновенное значение синусоидальной величины (рис. 7.0) определяется [8] как
a
Am sin(
t
)
Am cos(
t
);
2
f
2
(1)
/ T );
где Am – амплитуда (максимальное значение), – угловая (круговая) частота, f – частота (число циклов изменения в единицу времени), T – период, = + /2 – начальная фаза, t+ , t+ – фаза в
радианах или градусах.
Действующее значение синусоидальной величины
Ad
Am / 2
(2)
равно среднеквадратическому значению за период:
A
a
2
1
2
T
2
ad t
2
0
1 2
a dt
T0
(3)
a
T
Am
t
t
>0
<0
2
4
6
8
t
Рис. 7.0 Синусоидальная величина
и ее параметры
Под синусоидальной величиной a можно понимать ток i=i(t), напряжение u=u(t), ЭДС e=e(t).
Синусоидальная величина может быть представлена вектором на комплексной плоскости. Длина вектора равна амплитуде, а угол между вектором и осью действительных значений равен начальной
фазе
.
Вектор
синусоидальной
величины
обозначают:
Am
Am e j
Am cos
j Am sin
и рассматривают как комплексное число (комплексную амплитуду).
При анализе электрических цепей их заменяют схемами замещения, содержащие пассивные
элементы резисторы R, индуктивности L, ёмкости C и активные элементы – источники напряжения и
тока.
Двухполюсник – электрическая схема, содержащая две точки подключения. ДП подразделяются на активные, содержащие источники энергии и пассивные – без источников энергии. Линей-
59
ный двухполюсник, содержащий источники (напряжения и / или тока), описывается двумя параметрами:
Импедансом (сопротивлением)
Напряжением эквивалентного источника ЭДС (либо током эквивалентного генератора тока).
ДП, не содержащий источников энергии, описывается только импедансом. Они представляют
собой идеальные элементы, комбинациями которых заменяют при расчётах реальные элементы
(электрических цепей). Такая комбинация называется эквивалентной схемой реального двухполюсника.
Сопротивление – идеальный элемент, обладающий только сопротивлением, индуктивность, ёмкость и токи утечки у такого элемента отсутствуют. Импеданс Сопротивления равен:
Z
R.
(4)
Индуктивность – идеальный элемент, обладающий свойством накопления энергии в его магнитном поле. Единица измерения [L] – Генри (Гн). Импеданс Индуктивности равен:
XL
L
,
(5)
где – угловая частота, равная =2∙ ∙f (f – частота – число циклов изменения в единицу времени).
Ёмкость – идеальный элемент, обладающий свойством накопления энергии в его электрическом поле. Единица измерения [C] – Фарада (Ф). Импеданс Ёмкости равен:
XC 1/ (
C)
(6)
Источник ЭДС – идеальный элемент, обладающий способностью поддерживать разницу потенциалов между своими точками подключения. Внутреннее сопротивление источника ЭДС равно нулю.
Импеданс источника ЭДС равен Z 0 .
Генератор тока – идеальный элемент, обладающий способностью поддерживать ток, текущий
сквозь него, вне зависимости от характеристик внешней цепи, подведённой к его точкам подключения. Внутреннее сопротивление генератора тока равно бесконечности. Импеданс генератора тока равен Z
.
Пассивный двухполюсник (рис. 7.1, а) является потребителем энергии и может быть заменен
эквивалентным сопротивлением, величина которого равна входному сопротивлению двухполюсника.
Любой линейный пассивный двухполюсник при синусоидальных токах может быть заменен комплексным сопротивлением, устанавливающим связь между комплексными амплитудами напряжения
и тока:
Z
U ej
I ej
t
t
U
I
Z ej ,
где
(7)
Um
,
Im
Z
u
i
Активный двухполюсник (рис. 7.2, б) может быть заменен эквивалентным генератором E с внутренним сопротивлением Z. ЭДС генератора равно напряжению холостого хода ДП, а внутреннее сопротивление – напряжению холостого хода, деленному на ток короткого замыкания.
Z
Z
а)
E
б)
Рис. 7.1. Эквивалентная схема двухполюсника:
а) – пассивного, б) – активного.
В линейной цепи синусоидального тока для комплексных амплитуд тока, напряжения и сопротивления выполняется закон Ома для участка цепи. Для цепи, состоящей из отдельных двухполюсников, для комплексных амплитуд тока, напряжения и сопротивления выполняются I и II законы Кирхгофа.
Последовательное соединение двухполюсников:
Z1
I1
I2
Z2
...
Zk
Zn
I – общий ток по первому закону Кирхгофа
60
n
U k – общее напряжение по II закону Кирхгофа
U
k 1
n
Z
Если Z
Uk
U
I
I
k
n
Uk
1 Ik
Zk .
(8)
k 1
n
j X , то R
R
n
k 1
n
Rk , X
Xk .
k 1
k 1
Параллельное соединение двухполюсников:
U
U
Z1
Z1
U1
U2
Ik
U (
k 1
Y
1
Z
где Y
Если Y
n
k 1
1
Z1
g
1
Z2
1
)
Zk
...
n
U
k 1
1 – ток
Zk
n
1
Zk
I ,
U
U n – общее напряжение
...
n
I
ZZ n
Z2
Yk ,
k 1
1 – проводимость.
R
g
j b , то g
n
(9)
n
gk , b
k 1
bk ,
k 1
Мощность двухполюсника (участка цепи) определяется:
S
P
j Q
U I cos
j U I sin
,
(10)
где S – полная мощность в комплексной форме, P – активная (среднее значение мощности за период),
а Q – реактивная (обмен энергией между ДП и источником) составляющие полной мощности ДП.
Поскольку приборами можно измерить среднее значение мощности за период, то в формуле расчета
следует использовать действующие значения тока и напряжения Ad
Am / 2 . Действующее значе-
ние синусоидальной величины Ad равно среднеквадратическому значению за период.
Для пассивных ДП и их схем замещения (рис. 7.2) S
Ud Id
z I d2
y U d2 ,
(11)
P
Q
U d I d cos
R I d2
U d I d sin
2
d
X I
g U d2 где cos
,
R/Z
;
2
d
b U , где sin
X /Z;
– сдвиг фаз между током и напряжением, cos – называют коэффициентом мощности. При
Q >0, при <0, Q <0 .
I
U
R
Z
X
Z
Uà
Uð
U
Zg
Zb
Ia
I
IP
Рис. 7.2. Схемы замещения ДП с последовательным и
параллельным соединением элементов.
61
>0,
7.5. Технология выполнения задания 1
1. Запустить MATLAB и открыть редактор кода командой File \ New \ Script (рис. 7.3).
2. Используя заданные в табл. 7.1 формулы для расчета сопротивлений / проводимостей двухполюсника, включенного в электрическую цепь переменного тока, написать программу расчета
комплексного сопротивления / проводимости двухполюсника и величину выходного тока / напряжения для заданного двухполюсника. Для этого в окне редактора кода MATLAB введите
программу расчета. На рис. 7.3 в качестве примера приведена программа расчета параметров последовательного RLC двухполюсника:
Рис. 7.3. Окно редактора кода с программой расчета параметров ДП
3. Сохраните модуль в своей папке латинскими символами.
4. В командной строке задать значение элементов двухполюсника, вызвать модуль и произвести
расчет его параметров. Например,
>> % Д Ввод исходных данных ДП
>> L=1e-03; % Гн
>> C=1e-06; % Ф
>> R=100;
% Ом
>> f=50;
% Гц
>> t=1;
% сек
>> Um=220; % В
>> RLC
% Вызов модуля RLC
>> % Расчет параметров двухполюсника
Xl =
0.3142
Xc =
62
3.1831e+003
% Xc>Xl
X=
-3.1828e+003
% X<0
Z=
1.0000e+002 -3.1828e+003i
Zs =
3.1844e+003
FiZ =
-1.5394
% <0
U=
2.2000e+002 +4.3217e-013i
a=
220
b=
4.3217e-013
Uk =
2.2000e+002 +4.3217e-013i
Ud =
155.5635
Us =
220
FiU =
1.9644e-015
I=
0.0022 + 0.0691i
Im =
0.0691
Id =
0.0489
Is =
0.0691
FiI =
1.5394
5. С помощью библиотеки SimPowerSystems создайте модель линейной цепи, с заданным двухполюсником. На рисунке 7.4 представлена модель ДП, в котором элементы RLC соединены последовательно, а на рисунке 7.5 – модель ДП,
Рис. 7.4. Моделирование последовательного RLC ДП
в котором элементы RLC соединены параллельно. В таблице 7.2 указаны названия блоков, папки в
которых находятся блоки для моделирования и их параметры.
63
Рис. 7.5. Моделирование параллельного RLC ДП
Для последовательного включения элементов ДП в качестве источника переменного напряжения
выбирается элемент AC Voltage Source, для параллельного включения – источник переменного
тока – AC Current Source.
Таблица 7.2. Значения параметров блоков моделирования ДП
Название и назначение блоков
Источник переменного напряжения
AC Voltage Source
Источник переменного тока AC Current Source
Двухполюсник
Series RLC Branch
Двухполюсник
Parallel RLC Branch
Размещение в
браузере
Параметры
блоков
Peak amplitude (V): 220
//значение по варианту
SimPowerSystems Frequency (Hz): 50
/ Electrical
Peak amplitude (A): 10
Sources
//значение по варианту
Frequency (Hz): 50
Branch type: по схеме,
Resistance (Ohm): 100
Inductance (H): 1e-03
Capacitance (F): 1e-06
//значения по варианту
SimPowerSystems Branch type: по схеме,
/ Elements
Resistance (Ohm): 100
Inductance (H): 1e-03
Capacitance (F): 1e-06
//значения по варианту
Электрическое заземление Ground
Амперметр: Current
Measurement
Вольтметр: Voltage
Measurement1
Блок решения
powergui
SimPowerSystems
/ Measurement
SimPowerSystems
По умолчанию
Регистратор Scope
Simulink / Sinks
Number of axes: 2
Time range: 1
По умолчанию
По умолчанию
По умолчанию
6. Установите для каждого блока соответствующие свойства. Окна параметров блоков приведены на рис. 7.6 – 7.8.
64
В моделях на рис. 7.4 и 7.5 установлен блок решения powergui – графический интерфейс мощности. Блок Powergui необходим для моделирования любой модели Simulink, содержащей блоки библиотеки SimPowerSystems. Он используется для хранения эквивалентной схемы Simulink, представляющей в пространстве состояний уравнения модели.
При использовании блока Powergui необходимо поместить этот блок на высший уровень модели. Кроме того, его можно разместить в любом месте внутри подсистемы. Блок Powergui дает доступ
к различным инструментам и функциям графического интерфейса пользователя, чтобы проводить
анализ SimPowerSystems моделей, результатов моделирования, а также подключать дополнительные
параметры блока.
Активизация пиктограммы Powergui выводит окно интерфейса, приведенного на рис. 6.11.
Окно powergui позволяет контролировать состояние переменных модели в момент инициализации и
после моделирования, обращаться к LTI вьюверу, выполнять быстрое преобразование Фурье и т. д.
Источник переменного напряжения AC Voltage Source является идеальным источником напряжения переменного тока, который обеспечивает синусоидальное напряжение на его выходных клеммах. Выходное напряжение описывается следующим соотношением:
U Um sin( t
),
где Um является амплитудным значением в вольтах (В), =2∙ ∙f является угловой частотой в рад / с, f
– источник частоты (frequency) в герцах (Гц),
– фазовый сдвиг в градусах, t – период выборки в
секундах (с). Значение по умолчанию t=0, что соответствует непрерывному источнику напряжения.
Установите (рис. 7.6) амплитудное (пиковое) значение напряжения для последовательного ДП =220 В,
частоту (frequency) равной 50 Гц, а сдвиг фазы и период выборки равными 0.
Рис. 7.6. Окна установки параметров блоков AC Voltage Source и AC Current Source
Источник переменного тока AC Current Source является идеальным источником переменного
тока. Положительное направление тока указано стрелкой в значке блока. Созданный переменный ток
I описывается следующим соотношением:
I
Im sin(
t
),
где Im является амплитудным значением в амперах (А).
Окно установки параметров блока AC Current Source (рис. 7.6) аналогично окну параметров AC
Voltage Source.
Установите амплитудное (пиковое) значение тока для параллельного ДП =10 А, частоту (frequency) равной 50 Гц, а сдвиг фазы и период выборки равными 0.
Блок Series RLC Branch реализует последовательное соединение элементов в ДП, а именно:
один резистор, одну катушку индуктивности или один конденсатор, или серию их комбинаций. Блок
Parallel RLC Branch реализует параллельное соединение элементов в ДП, а именно: один резистор, одну катушку индуктивности или один конденсатор, или серию их комбинаций
На рисунке 7.7 приведены окна установки параметров ДП.
65
В окне параметров блоков буква R определяет сопротивление резистора (в Ом), буква L определяет индуктивность (в Гн), C – определяет емкость (в Ф) конденсатора. Установите значение параметров R, L, C согласно варианту из табл. 7.1.
Рис. 7.7. Окна установки параметров блоков Series RLC Branch и Parallel RLC Branch
В списке параметра Branch type выбирается нужный вариант включения элементов, которые вы
хотите использовать в ветви. Если вы исключите либо сопротивление, либо индуктивность или емкость серии R, L, и C значения автоматически устанавливаются соответственно в 0, 0 и бесконечность (inf) (для последовательного соединения) и в бесконечность (inf), бесконечность (inf), и 0 для
параллельного соединения элементов в ДП. И соответствующие параметры не отображаются в блоке
диалогового окна. Только выбранные из списка элементы отображаются в блоке модели в виде соответствующего значка R, L, и C.
Для измерения мгновенного тока, протекающего через ДП или электрической цепи
используется блок Current Measurement. Система Simulink обеспечивает формирование сигнала, который может быть использован другими Simulink блоками без дополнительных преобразований. Моделирование активизируется блоком Powergui, помещенный в модель. Поэтому на выход блока
Current Measurement можно подключить осциллограф (Scope) и посмотреть величину и форму тока
ДП. Измеряемый ток представляет собой комплексный сигнал, что отображается в окне установки
параметров блока Current Measurement (рис. 7.8).
Рис. 7.8. Окно установки параметров блока Current Measurement
Комплексный ток имеет модуль и фазу, их можно посмотреть в окне блока решения powergui
после запуска модели.
Для измерения напряжения на ДП используется блок Voltage Measurement. На выход блока
Voltage Measurement можно подключить осциллограф (Scope) и посмотреть величину и форму напряжения на ДП. Измеряемое напряжение представляет собой комплексный сигнал, что отображается в окне установки параметров блока Voltage Measurement (подобно рис. 7.8).
Модуль и фазу комплексного напряжения можно посмотреть в окне блока решения powergui
после запуска модели.
7. Установите время моделирования (Simulation
Stop time 0.1) равным 0.1 с. (целая и дробная части отделяются точкой « . »).
66
8. Сохраните модель и запустите ее на исполнение. Двойным щелчком по блоку Scope можно
посмотреть осциллограммы работы модели. Как видно по осциллограммам (рис. 7.9) ток и напряжение носят гармонический характер.
Последовательный ДП
Параллельный ДП
Ток через ДП
Ток источника
Напряжение источника
Напряжение на ДП
Рис. 7.9. Осциллограммы работы последовательного
и параллельного RLC двухполюсников
9. Результаты работы модели можно посмотреть и в блоке графического интерфейса Powergui.
Двойным щелчком по блоку Powergui открывается окно установки параметров моделирования и
конфигурации, изображенное на рис. 7.10.
Выбор параметров конфигурации
Установившиеся токи и напряжения
Установка начальных параметров
Инициализация в 3-х фазных
сетях
Воспользоваться LTI программой для просмотра
Зависимость сопротивления
от частоты
Анализ FFT (БПФ-быстрое
преобразование Фурье)
Создание отчета
Инструменты для построения
петли гистерезиса
Вычисление линейных параметров RLC
Рис. 7.10. Окно установки параметров моделирования и конфигурации
В окне Powergui в секции инструменты для анализа (Analysis Tools) щелкнуть по кнопке SteadyState Voltages and Currents – установившиеся токи и напряжения. Откроется одноименное окно диалога (рис. 7.11), в списке инструментов измерения отобразятся установившиеся напряжения и токи
модели ДП. Поскольку ток и напряжение, комплексные величины, то в списке отображаются амплитуды и фазы синусоидальных сигналов. В окне можно установить формат точности (Format) отобра-
67
жения измеряемых величин и источников (Sources). Если сравнить расчетные значения амплитуды
переменного тока и его фазу с измеренными значениями с помощью блока Powergui, то видно, что
они совпали. То же можно сказать о фазе комплексного напряжения, если перевести расчетное значение фазы в градусы.
Рис. 7.11. Окно установившихся токов и напряжений ДП с последовательным соединением RLC
элементов
10. Скопируйте модуль, результаты расчета, модель и осциллограммы в отчет. Как видно, по расчетам программы RLC модуль комплексного тока Is равен 0.0691 А, что хорошо согласуется с
измеренной величиной модуля комплексного тока равного 0.06906 А блоком Powergui в
процессе моделирования ДП (рис. 7.4), а также с показаниями осциллографа.
Аналогичный вывод можно сделать, после создания модуля для расчета ДП с параллельным соединением элементов, расчета его параметров и проверкой их моделирования (рис. 7.5), а также по
осциллограммам работы модели (рис. 7.9) и показаниям блока Powergui (рис. 7.12)
Рис. 7.12. Окно установившихся токов и напряжений ДП с параллельным соединением RLC элементов
7.6. Технология выполнения задания 2
Мощность ДП – физическая величина, характеризующая скорость передачи или преобразования электрической энергии.
В сетях переменного тока вводят понятия активной мощности (средней за период мгновенной
мощности), реактивной мощности (циркулирующей от источника к ДП и обратно), и полной мощности, вычисляемой как произведение действующих значений тока и напряжения без учета сдвига фаз.
Для выполнения Задания2:
1. Добавьте в модуль расчета параметров ДП формулы для расчета всех видов мощности. Для
этого:
Откройте модуль и добавьте дополнительные строки кода, вычисляющие все виды мощностей
(рис. 7.13).
Сохраните изменения в модуле.
68
Рис. 7.13. Окно редактора кода с программой расчета параметров ДП
2. В командной строке повторно вызовите модуль для получения результата расчета. Например,
>> RLC
......
% Вызов модуля RLC
cosFi =
0.0314
sinFi =
-0.9995
P=
0.2387
Q=
-7.5959
S=
0.2387 - 7.5959i
Ss =
7.5997
Как видно по расчетам, реактивная мощность оказадась отрицателоьной (Q<0), что говороит о
преобладании ёмкостного сопротивления (Xc>Xl). В случае преобладания индуктивного
сопротивления (Xl>Xc) реактивная мощность будет положитель-ной (Q>0).
3. Добавьте в модель элементы (рис. 7.14), вычисляющие электрическую мощность двухполюсника.
Рис. 7.14. Модель, вычисляющая мощность ДП
В таблице 7.3 указаны параметры дополнительных блоков моделирования для расчета мощности ДП.
69
Название
блоков
Блоки Complex to
Magnitude-Angle,1
Блок умножения
Product
Math Function
Блок Active & Reactive Power
Таблица 7.3. Значения параметров блоков моделирования
Размещение в
Параметры
браузере
блоков
Simulink / Math
По умолчанию
Operations
Simulink / Math
Number of inputs: 2
Operations
Simulink / Math
Function: conj
Operations
(сопряженное)
SimPowerSystems
Fundamental frequen/ Extras Library/
cy (Hz): 50
Measurements
Регистраторы
Simulink / Sinks
По умолчанию
Scope_,1,2
Блок Active & Reactive Power измеряет активную P и реактивную Q мощности синусоидального
напряжения (U) и тока (I). P и Q рассчитываются путем усреднения U и I в течение одного цикла
основной частоты (в задаче f=50 Гц), которую необходимо установить в окне установки параметров
этого блока (рис. 7.15).
Рис. 7.15. Окно параметров блока Active & Reactive Power
Блок Active & Reactive Power имеет два входа: первый – мгновенное напряжение U в вольтах,
второй – мгновенный ток I в амперах; и один выход PQ – вектор из активной и реактивной мощностей в ваттах и варах соответственно.
Для измерения полной мощности можно воспользоваться следующей формулой ее вычисления:
S
P
j Q
U I cos
U I * , где
j U I sin
I * – сопряженный комплексный ток. Его легко получить с помощью блока Math Function установив в
его окне параметров значение Function: conj, т.к. complex conjugate (комплексно сопряженное) значение тока. Например, если I = 0.0022 + 0.0691i, то комплексно-сопряженное значение тока I* = 0.0022
– 0.0691i.
Используя комплексно-сопряженное значение и блок умножения можно получить полную мощность
ДП (см. рис. 7.14).
Блоки Complex to Magnitude-Angle вычисляет модуль и аргумент комплексного числа, которые
можно посмотреть и проанализировать с помощью осциллографа.
4. Сохраните модель и запустите ее на исполнение. Результаты вычислений можно увидеть на
временных диаграммах (ВД) с помощью осциллографов:
Scope – ВД тока и напряжения на ДП (рис. 7.9),
Scope1– ВД активной и реактивной мощности (рис. 7.16),
Scope2– ВД модулей и фаз тока, напряжения и полной мощности ДП (рис. 7.17).
Если при запуске осциллограммы плохо просматриваются, то можно воспользоваться кнопкой
Auto scale.
5. Сопоставьте результаты временных диаграмм с вычисленными значениями аналогичных величин.
Рассмотрим временные диаграммы активной и реактивной мощности ДП, изображенные, на рис.
7.16. Первоначально система сбалансирована (P=0 и Q=0). При включении моделирования ток начинает протекать через RLC ДП, и возникает переходной процесс (колебания энергии) в электрической
цепи. Спустя 0,02 с. наступает установившийся режим, при котором активная мощность становится
70
равной 0,2 вата, а реактивная -7,6 вара, что хорошо согласуется с вычисленными ранее значениями P
и Q с помощью модуля RLC.
Рис. 7.16. P – активная и Q –
реактивная мощности ДП
Рассмотрим временные диаграммы тока, напряжения и полной мощности ДП, изображенные, на рис.
7.17.
|I|
I
|U|
U
|S|
S
Рис. 7.17. Осциллограммы тока, напряжения и мощности ДП
Все модули I, U, S имеют положительные значения, макси-мумы их совпали с расчетными
величинами. Период повторения S в два раза меньше, чем I и U. На ВД ток по фазе опережает
напряжение, т.к. <0 (преобладает емкостное сопротивления). В противном случае ( >0) напряжение будет опережать ток.
6. Скопируйте модель, временные диаграммы и расчет мощности в отчет и сделайте выводы по
71
проделанной работе. Модели подтверждают расчеты, выполняют поставленные задачи.
Пример контрольного теста «Двухполюсники»
Укажите действующее значение:
U=Um/R
U=Um/2
U=Um/sqrt(2)
U=Um*sin(t)
Im=Um*R
Укажите комплексную переменную:
A=Am*sin( *t)+i*cos( *t)
A=Am*sin2( *t)+i*cos2( *t)
A=Am*cos( *t)+i*Am*sin( *t)
A=Am*cos2( *t)+i*Am*sin2( *t)
A=Am*exp(-i*( *t))
Установите соответствие:
U=Um/sqrt(2)
Um
U=Um*sin( *t+ )
U= Um*cos( *t+ )+i*Um*sin( *t+ )
1.
2.
3.
4.
Мгновенное значение
Комплексное значение
Амплитудное значение
Действующее значение
Укажите формулу расчета активной мощности:
P U I cos
P U I sin
P U d Id
P
P
g I d2
R U d2
Укажите формулу расчета полной мощности:
S U I cos
S U I sin
S
S
U I*
P Q
P U d Id
8. Моделирование усилителей
8.1. Подготовка к работе
По указанной литературе изучить:
свойства объектов подбиблиотеки Foundation Library библиотеки Simscape: Electrical Elements
(Op-Amp, Resistor);
понятие операционного усилителя.
8.2. Цель работы
Создание модели и исследование свойств операционных усилителей
8.3. Задание и порядок выполнения работы
1. Задача 1. Создать модель усилителя на основе неинвертирующего операционного усилителя.
Входное напряжения усилителя Uin и его коэффициент усиления K заданы по варианту в таблице
8.1.
72
Таблица 8.1. Варианты заданий
Входное напряжение Uin, В
14
12,5
12
11,5
11
10,5
9,5
9
N
1
2
3
4
5
6
7
8
Коэффициент усиления, K
5
10
20
30
40
50
60
70
N
9
10
11
12
13
14
15
16
Входное напряжение Uin, В
8,5
8
7,5
7
6,5
6
5.5
5
Коэффициент усиления, K
80
90
100
120
140
160
180
200
При выполнении задания:
рассчитать параметры операционного усилителя;
проверить расчеты путем моделирования неинвертирующего и инвертирующего усилителей
с использованием блоков Electrical Elements пакета Simscape;
получить диаграммы работы этих усилителей;
сохранить модели и сравнить результаты моделирования с вычисленными значениями;
скопировать в отчет модели и результаты проверки.
2. Задача 2. Создать модель усилителя на основе инвертирующего операционного усилителя. Варианты заданий и параметры источника напряжения взять из таблицы 8.1.
3. Задача 3. Создать модель дифференциального усилителя на основе инвертирующего операционного усилителя.
4. Сделать выводы о возможностях моделирования электронных устройств средствами пакета
SimElectronics.
8.4. Технология выполнения задания 1
Как известно [8], операционный усилитель ОУ (Op-Amp) служит основой построения схем, выполняющих различные функции. Усилитель содержит 5 выводов, необходимых для его функционирования (рис. 8.1 а).
а)
б)
в)
Рис. 8.1. а) Обозначение операционного усилителя (ОУ) и схемы
б) неинвертирующего в) инвертирующего усилителей
V+: неинвертирующий вход (прямой),
V−: инвертирующий вход (меняет фазу на противоположную),
Vout: выход,
VS+: плюс источника питания,
VS−: минус источника питания.
Часто выводы питания VS+ и VS− не рисуют на схеме, чтобы не загромождать ее. В общем случае
ОУ использует двух полярное питание с потенциалами:
U+ (к нему подключается VS+)
U- (к нему подключается VS-)
ОУ работают в широком диапазоне напряжений источников питания, от ±1,5 В до ±15 В при
двуполярном питании.
Коэффициент усиления напряжения усилителя равен:
K=Uout/Uin для не инвертирующего и
K= – Uout/Uin для инвертирующего усилителя.
73
В инвертирующем усилителе фаза выходного сигнала "зеркальна" фазе входного.
Для идеального ОУ всегда выполняется равенство V+ = V− .
1. Для создания схемы ОУ нужно к нему подключить такую обратную связь, чтобы при требуемом выходном состоянии достигалось равенство напряжений на входах ОУ (инвертирующем и
не инвертирующем), а обратная резистивная связь была бы отрицательной. Тогда выходное напряжение рис. 8.1 б) для неинвертирующего усилителя определяется выражением:
Uout Uin (1 R 2 / R1) ,
(1)
а выходное напряжение рис. 8.1 в) для инвертирующего усилителя определяется выражением:
Uout
Uin (Rf / Rin )
(2)
2. Для расчета параметров неинвертирующего ОУ в командной строке MATLAB введите исходные данные по варианту, например, Uin=1 В, K=10 и R1=1000 Ом. Использование резисторов с
сопротивлением менее 1 кОм нежелательно, так как они могут вызвать ток, перегружающий выход ОУ. Резисторы более 1 МОм могут внести повышенный тепловой шум и сделать схему чувствительной к случайным ошибкам [8]. У идеального ОУ всегда R2>>R1.
Для идеального операционного неинвертирующего усилителя коэффициент усиления вычисляется как:
(3)
K ( R1 R2) / R1 ,
откуда следует выходное сопротивление R2 R1 ( K 1) .
>> % Ввод исходных данных для неинвертирующего усилителя:
>> Uin=1;
>> K=10;
>> R1=1000;
>> % Выходное напряжение ОУ (1)
>> Uout=K*Uin
Uout =
10
>> R2=R1*(K-1)
R2 =
9000
3. С помощью элементов пакета Simscape создайте модель усилителя на базе неинвертирующего
операционного усилителя с последовательной обратной связью (рис. 8.2). В таблице 8.3 указаны
параметры блоков моделирования.
Таблица 8.3. Значения параметров блоков моделирования
Название и назначение блоков
Источник переменного напряжения AC
Voltage Source
Вольтметры Voltage
Sensor1,2
Блок операционного усилителя OpAmp
Сопротивления
Resistor1,2
Электрическое заземление Electrical
Reference
Блок решения Solver Configuration
Преобразователи
Размещение в
Параметры
браузере
блоков
Simscape / Founda- Peak amplitude: 1V
tion Library / Elec- Frequency: 25 Hz
trical Sources
//значения по варианту
Simscape / Foundation Library / Elec- По умолчанию
trical Sensor
По умолчанию
Simscape / Foundation Library / Electrical Elements
Resistance1: 1 kOhm
Resistance2: 9 kOhm
(расчетное)
По умолчанию
Simscape / Utilities
По умолчанию
По умолчанию
74
PS-Simulink Converter1,2
Регистратор Scope
Simulink / Sinks
По умолчанию
Рис. 8.2. Модель неинвертирующего усилителя на базе Op-Amp
Блок операционного усилителя Op-Amp (Operational Amplifier) обеспечивает идеальную работу
ОУ, при которой, достигается равенство напряжений на положительном Vp и отрицательном Vn выводах Vp = Vn усилителя. Ток от Vp к Vn равно 0. При этом отсутствуют нелинейные и частотные искажения.
4. Установите параметры моделирования:
длительность времени окончания моделирования (Simulation stop time) равный 0.1 в соответствующем окне на панели инструментов модели Amp (рис. 8.3),
временной диапазон (Time range) отображения временных диаграмм в окне параметров осциллографа Scope равный 0.1 (рис. 8.4) и щелкните по кнопке ОК.
Рис. 8.3. Установка времени моделирования
5. Сохраните модель и запустите ее исполнение. На рис 8.4 приведены осциллограммы результата моделирования.
Рис. 8.4. Осциллограммы работы неинвертирующего усилителя
Как видно по осциллограммам напряжения на входе и выходе усилителя идентичны и отличаются только амплитудой. Амплитуда напряжения на выходе в 10 раз больше, чем на входе (Uout=10 В,
Uin=1 В), т.к. коэффициент усилителя равен 10. Выходное напряжение имеет такую же фазу, что и
75
входное напряжение, т.к. усилитель неинвертирующий.
6. Скопируйте модель и осциллограммы в отчет и сделайте выводы по Задаче 1.
8.5. Технология выполнения задания 2
1. Для расчета параметров инвертирующего ОУ в командной строке MATLAB введите исходные
данные по варианту, например, Uin=1 В, K=10 и Rin=1000 Ом. Напряжение на инвертирующем
входе близко к нулю. Для идеального операционного инвертирующего усилителя коэффициент
усиления определяется параметрами внешней цепи:
(4)
K ( Rf ) / Rin .
откуда следует выходное сопротивление Rf Rin K .
>> % Ввод исходных данных для инвертирующего усилителя:
>> Uin=1;
>> K=10;
>> Rin=1000;
>> % Выходное напряжение ОУ (2)
>> Uout=-K*Uin
Uout =
-10
>> Rf=K*Rin
Rf =
10000
2. Создайте модель инвертирующего усилителя с параллельной обратной связью (рис. 8.5). Для
этого:
создайте новое окно модели и скопируйте в него модель неинвертирующего усилителя;
удалите ненужные связи и сделайте новые соединения;
измените номинальное значение Resistor2, установив его параметры соответствующие расчетным значениям;
Рис. 8.5. Модель инвертирующего усилителя на базе Op-Amp
3. Установите время моделирования 0.1 с (рис. 8.3 и 8.4).
4. Сохраните модель и запустите ее исполнение. На рис 8.6 приведены осциллограммы результата моделирования.
76
Рис. 8.6. Осциллограммы работы инвертирующего усилителя
Как видно по осциллограммам напряжения на входе и выходе усилителя отличаются как амплитудой, так и фазой. Амплитуда напряжения на выходе в 10 раз больше, чем на входе (Uout=-10 В,
Uin=1 В), т.к. коэффициент усилителя равен 10. Выходное напряжение имеет фазу обратную входному напряжению, т.к. усилитель инвертирующий.
5. Скопируйте модель и осциллограммы в отчет и сделайте выводы по задаче 2.
8.6. Технология выполнения задания3
1. Создайте модель дифференциального (разностного) усилителя (рис. 8.7). Для этого:
создайте новое окно модели и скопируйте в него модель инвертирующего усилителя;
добавьте новый источник и блоки, позволяющие проконтролировать результат моделирования (вольтметр3);
измените значение источников, установив разные амплитудные значения. В примере
Um1=0.3 В и Um2=1 В.
Как видно по осциллограммам (рис. 8.8) напряжение на выходе дифференциального усилителя
равно разности усиленного значения двух входных напряжений (1-0,3)*10=7 В.
Рис. 8.7. Модель дифференциального усилителя на базе Op-Amp
77
Рис. 8.8. Осциллограммы работы инвертирующего усилителя
Как показала проверка моделирования усилителей, модели собраны и функционируют верно.
Все они работоспособны и выполняют поставленные задачи.
Пример контрольного теста «Операционные усилители»
Укажите все операции, выполняемые операционным усилителем:
усиление сигнала
суммирование сигналов
сравнение уровней двух сигналов
выпрямление сигнала
все ответы правильные
Укажите коэффициент усиления инвертирующего ОУ:
k= Uout/Uin
k= Uin/Uout
k=-Uout/Uin
k=-Uin/Uout
k= -Uin/-Uout
Укажите коэффициент усиления неинвертирующего ОУ:
k=R2/R1
k=(R1+R2)/R1
k=R1/(R1+R2)
k=R1/R2
k=R2/(R1+R2)
Для идеального ОУ всегда выполняется:
V+ = V−
V+ > V−
V+ < V−
V+ ≥ V−
V+ V−
У какого операционного усилителя выходное напряжение имеет фазу обратную входному напряжению:
неинвертирующего
инвертирующего
дифференциального
суммирующего
дифференцирующего
78
9. Моделирование выпрямителей
9.1. Подготовка к работе
По указанной литературе изучить:
свойства объектов подбиблиотеки Foundation Library библиотеки Simscape: Electrical Elements
(Transformer, Diode, Capacitor, Resistor);
понятие выпрямителей синусоидального напряжения.
9.2. Цель работы
Создание модели и исследование свойств одно- и двухполупериодных выпрямителей.
9.3. Задание и порядок выполнения работы
1. Задача 1. Создать модель однополупериодного выпрямителя переменного тока. Варианты заданий
и параметры источника синусоидального напряжения приведены в таблице 9.1.
Таблица 9.1. Варианты заданий
Амплитуда входноАмплитуда входноЧастота входного
Частота входного
N го напряжения U1m,
N
го напряжения
напряжения f, Гц
напряжения f, Гц
В
U1m, В
1
110
20
9
190
20
2
120
25
10
200
25
3
130
30
11
210
30
4
140
35
12
230
35
5
150
40
13
240
40
6
160
45
14
250
45
7
170
55
15
260
55
8
180
60
16
270
60
При выполнении задания:
рассчитать период следования переменного напряжения источника питания;
построить модель однополупериодного выпрямителя с использованием блоков Electrical Elements;
построить временные диаграммы выпрямителя;
сохранить модель и сравнить результаты моделирования с вычисленным значением;
скопировать в отчет модель, диаграммы и результаты проверки решения.
2. Задача 2. Создать модель двуполупериодного выпрямителя переменного тока. Варианты заданий и параметры источника синусоидального напряжения взять в таблице 9.1.
3. Задача 3. Добавить в схему элементы, снижающие пульсацию выпрямленного тока. Подобрать их номиналы.
4. Сделать выводы о возможностях моделирования выпрямителей средствами пакета Simscape.
9.4. Технология выполнения задания 1
Выпрямитель электрического тока [8] – устройство, предназначенное для преобразования переменного входного электрического тока в постоянный выходной электрический ток. Большинство выпрямителей создаёт не постоянные, а пульсирующие однонаправленные напряжение и ток, для сглаживания пульсаций которых применяют фильтры.
1. По заданной частоте входного напряжения переменного тока рассчитайте период гармонического сигнала. Для этого используйте командную строку MATLAB, например,
при f = 50 Гц:
>> f=50;
>> T=1/f
T=
0.0200
2. С помощью элементов Electrical Elements пакета расширения Simscape создайте модель однополупериодного выпрямителя на одном диоде (рис. 9.1).
79
Таблица 9.1. Значения параметров блоков моделирования
Название и назнаРазмещение в
Параметры
чение блоков
браузере
блоков
Источник переменPeak amplitude: 220V
Frequency: 50 Hz
ного напряжения
Simscape / FoundaACVoltage Source
//значения по варианту
tion Library / ElecВольтметры Volttrical Sources
По умолчанию
age Sensor1,2
Заземление ElecПо умолчанию
trical Reference
Блок решения Solver
По умолчанию
Configuration
Simscape / Utilities
Преобразователи
PS-Simulink ConПо умолчанию
verter1,2
Сопротивление
Resistance1: 10 Ohm
Resistor *
Simscape / FoundaЁмкость
Capacitance: 5000 nF,
tion Library / ElecCapacitor *
По умолчанию
trical Elements
Блок Ideal TransWinding ratio: 10
former
Диод Diode
По умолчанию
Регистратор Scope Simulink / Sinks
По умолчанию
Рис. 9.1. Модель однополупериодного выпрямителя
Модель выпрямителя (rectifier) содержит один диод (Diode) в качестве элемента выпрямления, и
выходной фильтр из конденсатора (5000 нФ) и резистора (10 Ом). Соотношение номиналов резистора
и конденсатора выбирается так, чтобы оптимально сглаживать полупериоды выходного напряжения.
Ёмкость периодически заряжается и разряжается, тем самым поддерживается форма выходного сигнала.
Напряжение с вторичной обмотки трансформатора проходит через диод Diode на нагрузку R
только в положительные полупериоды переменного напряжения. В отрицательные полупериоды диод закрыт, всё падение напряжения происходит на диоде Diode, а напряжение на нагрузке R равно
нулю.
Блок
Ideal
Transformer
осуществляет
преобразование
переменного
напряжения
и/или гальваническую развязку посредством электромагнитной индукции напряжения переменного
80
тока, без изменения частоты. Модель блока идеального трансформатора, описывается в следующих
уравнениях:
U1=N∙U2 или I1= N∙I2,
(1)
где N – коэффициент трансформации,
U1 и U2 – напряжения на входе и выходе трансформатора,
I1 и I2 – токи, протекающие по первичной и вторичной обмоткам трансформатора.
Если U1 > U2 – то трансформатор является понижающим напряжение, в противном случае – повышающим напряжение.
Поскольку напряжение на первичной обмотке довольно высокое порядка 200 В, то его понижают
перед подачей на диод для выпрямления, т.е. устанавливают коэффициент трансформации, например
равным 10 (рис. 9.2),
Рис. 9.2. Окно установки параметров блока Ideal Transformer
Тогда, при U1 = 220 В и N=10, можно рассчитать U2=U1/N:
>> U1=220;
>> N=10;
>> U2=U1/N
U2 =
22
Назначение остальных блоков модели рассмотрены в предыдущих задачах.
3. Установите время моделирования: длительность времени окончания моделирования и временной диапазон отображения временных диаграмм равный 0.1 (см. рис. 8.3 и 8.4).
4. Сохраните модель и запустите ее исполнение. На рис 9.3 приведены осциллограммы результата моделирования.
Рис. 9.3. Осциллограммы однополупериодного выпрямителя
Как видно по диаграммам на выходе однополупериодного выпрямителя пульсирующий постоянный ток с периодом 0,02 сек, что согласуется с расчетным значением. Амплитуда напряжения на
выходе (22 В) в 10 раз меньше, чем на входе (220 В).
2. Скопируйте модель и осциллограммы в отчет.
81
9.5. Технология выполнения задания 2
1. С помощью блоков Electrical Elements пакета расширения Simscape создайте модель мостового двухполупериодного выпрямителя (рис. 9.4). Для этого:
создайте новое окно модели и скопируйте в него модель однополупериодного выпрямителя;
добавьте в новую модель дополнительные диоды;
соедините их в мостовую схему выпрямителя;
установите параметры фильтра R=100 Ом, C=5000 нФ.
В мостовой схеме из четырех диодов к одной из диагоналей моста подключается источник переменного напряжения (вторичная обмотка трансформатора), а к другой – нагрузка RC.
Рис. 7.4. Модель двухполупериодного выпрямителя
В мостовой схеме диоды работают попарно: в течение одной половины периода источника питания, ток протекает от вторичной обмотки трансформатора по цепи Diode, R, Diode3, а на втором полупериоде – по цепи Diode1, R, Diode2, причем в каждом полупериоде через нагрузку ток проходит в
одном направлении, что и обеспечивает выпрямление. Коммутация диодов происходит в моменты
перехода переменного напряжения через нуль. У мостовой схемы в каждом полупериоде ток проходит одновременно через два диода (например, Diode, R, Diode3 или Diode1, R, Diode2), поэтому временные диаграммы (рис. 9.5) отображают работу пары диодов.
2. Установите время моделирования 0.1.
3. Сохраните модель и запустите ее исполнение. На рис 9.5 приведены осциллограммы результата моделирования.
Как видно по диаграммам на выходе двухполупериодного выпрямителя пульсирующий постоянный
ток с периодом 0,01 сек.
Частота пульсаций тока равна 2∙f, где f – заданная частота источника. Или, например, T=1/2∙f
=1/2∙50 = 0,01 сек.
82
Рис.9.5. Осциллограммы двухполупериодного выпрямителя
В качестве недостатков мостовой схемы можно отметить:
большее количество диодов и
протекание тока в каждом полупериоде по двум диодам одновременно.
Последнее свойство мостовых выпрямителей снижает их КПД. Несмотря на это мостовой выпрямитель переменного напряжения одна из широко применяемых в радиоэлектронике схем.
4. Скопируйте модель и осциллограммы в отчет и сделайте выводы по проделанной работе.
9.6. Технология выполнения задания 3
1. Измените параметры RC-фильтра таким образом, чтобы сгладить пульсации напряжения на нагрузке (см. рис. 9.6).
Фильтр работает следующим образом. При превышении амплитуды полупериодов выпрямленного напряжения выше напряжения на конденсаторе ёмкость заряжается, при уменьшении амплитуды
полупериодов выпрямленного напряжения на конденсаторе ёмкость разряжается, тем самым достигается выпрямление пульсирующего тока.
Например, для источника переменного напряжения Um=220 V были подобраны номиналы R=100 Ом
и C=500 мкФ (рис. 9.6) при которых пульсации выходного напряжения сглаживаются.
Рис. 9.6. Окно установки параметров блока Capacitor
2. Установите рекомендуемые номиналы для R и C и запустите модель на исполнение. На рис
9.7 приведены осциллограммы результата моделирования.
На диаграмме хорошо видны рост выходного напряжения выпрямителя и характерные его пульсации с двойной частотой источника переменного напряжения 0,01 сек. Если у Вас рекомендуемые номиналы не вызывают эффект выпрямления, то увеличите емкость и заново запустите модель. Повторяйте эти действия до тех пор, пока не добьетесь эффекта выпрямления, подобного
приведенному на рис. 9.7.
83
Рис. 9.7. Осциллограммы мостового выпрямителя
3. Скопируйте осциллограммы выпрямления в отчет и запишите, при каких номинальных значениях R и C, были получены сглаживающие пульсацию выпрямленного кока кривые.
4. Сделайте выводы по проделанной работе.
Как показала проверка и исследование моделирования выпрямителей с помощью встроенных
средств MATLAB, модели собраны и функционируют верно. Все они работоспособны и выполняют
поставленные задачи.
Пример контрольного теста «Выпрямители»
Укажите элемент, выполняющий выпрямление переменного тока:
Resistor
Capacitor
Diode
Transformer
Reference
Укажите коэффициент трансформации трансформатора:
k= U1/U2
k= U2/U1
k=-U2/U1
k=-U1/U2
нет правильного ответа
Укажите недостатки однополупериодного выпрямителя:
большое количество диодов в схеме выпрямления,
протекание тока только за один полупериод,
частота пульсации тока в 2 раза меньше по сравнению с исходным значением
выпрямленный ток имеет форму прямой составляющей,
один диод для выпрямления
Укажите недостатки двухполупериодного выпрямителя:
большое количество диодов,
протекание тока в каждом полупериоде по двум диодам одновременно,
невысокое к.п.д. выпрямителя,
выпрямленный ток имеет форму прямой составляющей,
один диод для выпрямления
84
Укажите элемент, позволяющий снизить пульсацию выпрямленного тока:
Resistor
Capacitor
Voltage Sensor
Transformer
Reference
10. Модели нелинейных устройств
10.1. Подготовка к работе
По указанной литературе изучить:
свойства блоков Simulink: Sources, Math Operations; Signal Routing, Signal Processing;
понятие нелинейных элементов: модуляторов.
10.2. Цель работы
Создание моделей и исследование свойств модуляторов.
10.3. Задание и порядок выполнения работы
1. Задача 1. Создать модель, в которой сигналы от заданных источников поступают на блок математических операций. Регистратор позволяет наблюдать сигналы на выходах источников сигналов и
блока математических операций. Измерить максимальное и минимальное значения сигнала в разных точках схемы. Варианты заданий приведены в таблице 10.1.
Таблица 10.1. Варианты заданий
N
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Первый источник сигнала
S1
Sine Wave
Pulse Generator
Sine Wave
Sine Wave
Sine Wave
Pulse Generator
Sine Wave
Sine Wave
Sine Wave
Step
Sine Wave
Sine Wave
Sine Wave
Pulse Generator
Pulse Generator
Sine Wave
Второй источник сигнала S2
Sine Wave
Step
Pulse Generator
Repeating Sequence
Chirp Signal
Ramp
Repeating Sequence
Sine Wave
Chirp Signal
Sine Wave
Ramp
Repeating Sequence
Ramp
Repeating Sequence
Chirp Signal
Repeating Sequence
Математическая
операция
Сложение / Add
Сложение / Add
Сложение / Add
Сложение / Add
Умножение / Product
Умножение / Product
Умножение /Product
Умножение /Product
Деление / Divide
Деление / Divide
Деление / Divide
Деление / Divide
Вычитание / Subtract
Вычитание / Subtract
Вычитание / Subtract
Вычитание / Subtract
2. Поменять амплитуду и период следования источников сигнала и проконтролировать результат моделирования с помощью регистрирующих блоков.
3. Модель скопировать в отчет, созданный в текстовом редакторе MS Word. Сохранить его в
своей папке.
N
1
2
3
4. Задача 2. Создать модель амплитудного модулятора (АМ) синусоидального сигнала. Варианты
заданий двух непрерывных сигналов и их параметры приведены в таблице 10.2.
Таблица 10.2. Варианты заданий
Первый источник Sine Wave
Второй источник Sine Wave1
Амплитуда, В
Частота, Гц
Амплитуда, В
Частота, Гц
5
1
3
10
4
0.6
5
6
3
0.8
5
10
85
4
5
6
7
8
9
10
11
12
13
14
15
16
2
5
4
3
2
5
4
3
2
5
4
3
2
0.3
0.4
0.5
0.9
0.6
1
0.8
0.4
0.7
0.5
0.9
0.6
0.8
4
3
2
5
4
3
2
5
4
3
4
5
3
7
9
8
9.5
8.5
5
9
8
6
9
1.1
8
7
5. Получить осциллограммы процесса модуляции. С помощью кнопки Масштаб увеличить сигнал
на выходе модулятора и найти на осциллограмме максимальное (Amax) и минимальное (Amin) значения амплитуд модулированного сигнала.
6. Рассчитать коэффициент модуляции по формуле:
A max A min
(10.1)
m
*100% ,
A max A min
7. Модели АМ модулятора и расчета коэффициента модуляции m скопировать в отчет и сохранить в своей папке.
8. Задача 3. Создать модель амплитудного модулятора импульсного (АИМ) сигнала. Варианты
заданий синусоидального и импульсного сигналов и их параметры приведены в таблице 10.3.
9. Рассчитать период следования импульсного сигнала Tи, при модуляции которого в АИМсигнале за период Ts разместилось бы k импульсов по формуле:
(10.2)
Tи Ts/k 1/(k Fs)
10. Модели АИМ модулятора и расчета Tи скопировать в отчет и сохранить их в своей папке.
Таблица 10.3. Варианты заданий
N
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sine Wave
Амплитуда
5
4
3
2
5
4
3
2
5
4
3
2
4
5
2
4
Pulse Generator
Амплитуда
3
2
5
4
3
2
5
4
3
2
5
4
3
4
3
5
Fs, Gz
2
3
4
5
2
3
4
5
2
3
4
5
3
2
5
3
k
5
6
7
8
9
10
9
8
7
6
5
4
5
6
7
8
11. Сделать выводы о том, как изменение параметров сигналов влияет на процесс модуляции, коэффициент модуляции. А также как с помощью простых блоков и математических операций можно получить модели разных видов модуляции.
86
10.4. Технология выполнения задания 1
Модель устройства содержат источники сигналов, функциональные блоки и средства наблюдения за поведением системы (дисплей и осциллографы). В таблице указаны названия блоков, папки в
которых находятся нужные блоки для моделирования задачи1 и параметры блоков, установленные по
умолчанию, которые нужно изменить.
Название и
Размещения в
Параметры
назначение блоков
браузере
блоков
Источники входных Simulink
/ Amplitude=3V
сигналов (генераторы Sources
заданной формы)
Математические
Simulink / Math По умолчанию
блоки: Add, Product, Operations
Divide, Subtract
Математический
Simulink / Math Function min/max
блок MinMax
Operations
Регистратор:
Simulink / Sinks По умолчанию
Display
Осциллограф: Scope
Simulink / Sinks Number of axes=3
Виртуальный осциллограф Scope позволяет представить результаты моделирования в виде временных диаграмм с оцифрованной масштабной сеткой. Осциллограф имеет свою панель инструментов
(рис. 10.1), которая содержит следующие кнопки:
печать,
параметры,
масштаб,
автоматическое масштабирование,
сохранение текущих установок,
режим «плавающего» осциллографа.
1. Собрать модель, приведенную на рис. 10.2.
Рис. 10.1. Работа с виртуальным осциллографом
Рис. 10.2. Моделирование устройства по заданию 1.
87
2. Для отображения трёх осциллограмм в одном блоке Scope необходимо:
Открыть двойным щелчком по блоку Scope его демонстрационное окно (рис. 10.1);
Кнопкой Parameters (Параметры) окна Scope вызвать окно свойств, в котором на вкладке
General установить число осей Number of axes осциллографа 3 (для двух генераторов и сигнала,
полученного при заданной математической операции);
Подтвердить установку параметров кнопкой OK.
3. Включить процесс моделирования. В окне Scope отобразятся графики сигналов (рис. 10.3).
4. Если результат моделирования не совпадает с ожидаемым результатом, то нужно изменить параметры модели и снова включить моделирование.
Рис. 10.3. Осциллограммы выходных сигналов
10.5. Технология выполнения задания 2
Модель устройства приведена на рисунке 10.4 и содержит источники сигналов Sin(f1) и Sin(f2),
функциональные блоки и средства наблюдения за поведением системы (дисплей и осциллографы). В
таблице указаны блоки, необходимые для моделирования.
Название и
назначение блоков
Источники сигналов:
Sine Wave, Sine Wave1
(DSP),
Constant, Constant1
Размещения в
браузере
Signal Processing
Block/ Signal
Processing
Sources.
Параметры
блоков
Amplitude и Frequency по варианту (табл. 10.2)
Amax, Amin // по
осциллограммам
Математический
Simulink / Math По умолчанию
блок: Product
Operations
Осциллограф: Scope
Simulink / Sinks
Number of axes=3
Математические
Simulink / Math По умолчанию
блоки для расчета m
Operations
Регистратор для вы- Simulink / Sinks
По умолчанию
вода m: Display
88
Блоки Math Operation
и их соединения для
расчета коэффициента
амплитудной модуляции
m
A max A min
*100%
A max A min
Рис. 10.4 Модель амплитудного модулятора
Модулирующий НЧ сигнал
Несущий ВЧ сигнал
АМ сигнал
Amax
Amin
Рис. 10.5 Осциллограммы: а) процесса амплитудной модуляции,
b) тоже, но с увеличением масштаба (кнопки Zoom)
Амплитудная модуляция – это процесс изменения амплитуды несущего высокочастотного (ВЧ)
сигнала по закону модулирующего низкочастотного (НЧ) сигнала (рис. 10.5). Как видно два синусоидальных сигнала низкой и высокой частот при их умножении дают модулируемый сигнал, у которого
амплитуда ВЧ сигнала изменяется по закону НЧ. Кроме того, у ВЧ и АМ сигнала имеется переходной
процесс 0-5 делений по оси X до момента установления их амплитудной закономерности. Если при
запуске осциллограммы плохо просматриваются, то можно воспользоваться кнопкой Autoscale .
Для нахождения максимальной (Amax) и минимальной (Amin) амплитуд АМ сигнала в блоке Scope
необходимо:
1. Открыть двойным щелчком
по блоку Scope его демонстрационное окно (рис. 10.5);
2. Щелкнуть по кнопке Zoom
(Масштаб)
окна Scope и
3. Мышью выделить сегмент, необходимый для увеличения малых значений сигнала (Amin),
отображаемых на осциллограмме (например, 6 – 6.5 по оси X и 1 – 1 по оси Y на рис. 10.5 b).
4. Определив значения Amax и Amin внести их в блоки Const и Const1 соответственно.
5. Затем реализовать модель для расчета коэффициента модуляции по формуле (10.1).
10.6. Технология выполнения задания 3
Модель устройства приведена на рисунке 10.7 и содержит источник сигналов Sin(Fs), генератор
управляющих импульсов Ти, функциональные блоки и средства наблюдения за поведением системы.
В таблице указаны блоки, необходимые для моделирования устройства.
89
Название и
назначение блоков
Источники сигналов:
Sine Wave (DSP),
Размещения в
Параметры
браузере
блоков
Signal Processing Amplitude и FreBlock / Signal Pro- quency (Hz) по ваcessing
Sources. рианту (табл. 10.3)
Pulse Generator
Simulink / Sources. * Period = 0.125 c
Переключатель сиг- Simulink / Signal Threshold (порог):
налов: Switch
Routing
1
Осциллограф: Scope
Simulink / Sinks
Number of axes=3
Математические
Simulink / Math По умолчанию
блоки для расчета Ти Operations
Регистратор для Ти: Simulink / Sinks
По умолчанию
Display
* Period рассчитывается по формуле 10.2. Например, для Fs=1 Гц, и коэффициенте k=8,
Ти=1/(8*1)=0.125 c. Устанавливается в окне параметров блока Pulse Generator (рис. 10.6 b).
Переключатель сигналов Switch передает на выход один из двух сигналов (в модели синусоиду
или импульсы) в зависимости от установленного списка критериев и численного значения порога переключения.
Устанавливаются по
варианту
Устанавливается
после расчета Ти
Рис. 10.6 Параметры блоков: a) Sine Wave и b) Pulse Generator
Рис. 10.7 Модель амплитудно-импульсного модулятора
90
При амплитудно-импульсной модуляции – несущий сигнал имеет импульсный характер, амплитуда импульсов АИМ сигнала изменяется по закону модулирующего сигнала (рис. 10.8).
Модулируемый сигнал
смм
Несущий импульсный сигнал
смм
Как видно из рисунка 10.8 каждый период модулируемого сигнала представлен 8
импульсами АИМ сигнала (k=8). При изменении параметра k количество импульсов, размещаемых в периоде Ts, тоже изменится, как и период следования
прямоугольных импульсов.
Амплитудно-импульсный сигнал
смм
Рис. 10.8. Осциллограммы амплитудно-импульсной модуляции.
Пример контрольного теста «Модуляторы»
Укажите блок, не относящийся к источнику сигналов:
Sine Wave
Repeating Sequence,
Ramp
Step
Add
Укажите три блока приемных устройств:
Display
Constant
Scope
Product
Floating Scope
С помощью, какой математической операции происходит амплитудная модуляция:
Add
Product
Divide
Subtract
Сколько импульсов уложится за период модулируемого сигнала Ts=2 мс, если длительность
тактируемых импульсов составляет Tи=0.1 мс:
k=2
k = 10
k = 20
k=5
Указать коэффициент модуляции амплитудно-модулируемого сигнала, если Umax=5В, а Umin=
0.6:
m=100 %
m= 127 %
m= 78.6 %
m= 88.7 %
нет правильного ответа
91
Заключение
В настоящем учебном пособии изложены теоретические вопросы имитационного моделирования (§1), основные сведения о системе MATLAB и Simulink (§ 2), методика создания модели с помощью пакета Simulink (§ 3) и 13 лабораторных работ. Эти разделы составляют часть курса дисциплины
«Информатика», посвященные программированию и моделированию с использованием математической системы MATLAB + Simulink для направлений «Инфокоммуникационные технологи и системы
связи», «Фотоника и оптоинформатика» и «Радиотехника».
В практической части пособия содержатся практические рекомендации и приводятся характерные примеры выполнения заданий по каждой лабораторной работе (глава 4). Подробно рассматривается методика выполнения практических заданий, способы решения задач и их сравнительный анализ. Для решения заданий предлагается выполнение математической системы MATLAB + Simulink,
широко используемой в решении различных прикладных задач и обладающих для этого соответствующими инструментами.
Первые три работы посвящены моделированию логических устройств, следующие две – решению систем линейных и нелинейных уравнений, следующие пять – моделированию различных устройств, а остальные – моделированию систем телекоммуникаций с использованием средств программирования математических сред
Здания составлены таким образом, что студенты при моделировании использовали как стандартные блоки моделирования, так и могли создать свои собственные блоки, позволяющие имитировать исследуемые процессы.
В дидактической части пособия сосредоточены таблицы и рисунки, выполненные в виде screenshot программ, созданных в математической среде.
Пособие включает в себя все необходимые части: основную (теоретическую), пояснительную
(раскрытие терминов, понятий), методическую (задания, образцы моделей, описание создания моделей, тесты, литературу), дидактическую (таблицы и рисунки). Это позволит студентам глубоко усвоить содержание разделов курса, аргументировано отвечать на поставленные вопросы, понимать сущность и значимость своей будущей профессии и проявить к ней профессиональный интерес.
Выполнение данного цикла лабораторных работ позволит студентам более углубленно освоить
приемы работы, технику программирования и моделирование устройств и систем телекоммуникаций
в современных математических средах.
92
Рекомендуемая литература
Основная
1. Дьяконов, В. П. MATLAB и SIMULINK для радиоинженеров [Текст] /Дьяконов, В. П. – М.:
ДМК, 2011, 976 с.
2. Дьяконов, В. П. MATLAB 6.5 SP1/7+Simulink 5/6 в математике и моделировании [Текст] /
Дьяконов, В. П. – М.: СОЛОН-Пресс, 2005. – 576 с. – (Библиотека профессионала)
3. Дьяконов, В. П. MATLAB 6.5 SP1/7+ Simulink 5/6. Основы применения [Текст] / Дьяконов, В.
П. – М.: СОЛОН-Пресс, 2005. – 800 с. – (Библиотека профессионала).
4. Павловский, Ю. Н. Имитационное моделирование. [Текст]: Университетский учебник / Павлов-
ский, Ю. Н., Белотелов Н. В., Бродский Ю. И., М.: Академия, 2008. – 236 с.
5. Солонина А. И. Цифровая обработка сигналов. Моделирование в Simulink [Текст] / Солонина,
А. И. – СПб.: БХВ-Петербург, 2012. – 430 с. – (Учебное пособие).
Дополнительная
6. Акчурин, Э. А. Программирование в системе MATLAB [Текст]: метод. указания к лаборатор-
ным работам / Э. А. Акчурин. – Самара: ПГАТИ, 2004 – .Ч.1: Использование VFTLAB и
Simulink / Э. А. Акчурин. - 51 с.
7. Беспалов, Е. С. Simulink–модели радиотехнических устройств [Текст]: учеб. пособие / Беспалов, Е. С., Мусянков, М. И., Пирхавка, А. П.; Московский государственный институт радиотехники, электроники и автоматики (технический университет), ГОУ ВПО МИРЭА. – М.: [Б. и.],
2010. - 56 с.
8. Стефанова И. А. Применение системы MATLAB + SIMULINK в технике связи. [Текст]: Задания и методические указания к лабораторным работам по информатике / И.А. Стефанова. – Самара: ИУНП ПГУТИ, 2015. – 72 с.
9. Черных, И. В. Моделирование электротехнических устройств в Matlab, SimPowerSystems и
Simulink. [Текст]/И. В. Черных – М.: ДМК, 2014. 296 с.
10. Электротехнический справочник [Текст] /под ред. Герасимова В. Г. – М.: Электроэнергия,
2005. – Ч. 1. – 520 с.
Оглавление
93
Введение _____________________________________________ 4
1.
Компьютерное моделирование _____________________ 5
2.
Основные сведения о системе MATLAB и Simulink ____ 7
3.
Создание модели с помощью пакета Simulink _______ 10
4.
Моделирование устройств средствами Simulink _____ 14
1. Моделирование логических устройств ______________ 14
Пример контрольного теста «Логические операции»___ 20
2. Реализация логических и арифметических операций _ 20
Пример контрольного теста «Арифметические операции» 26
3. Сумматоры _____________________________________ 27
Пример контрольного теста «Сумматоры»_____________ 34
4. Решение линейных уравнений______________________ 35
Пример контрольного теста «Линейные уравнения» _____ 41
5. Решение нелинейных уравнений____________________ 42
Пример контрольного теста «Нелинейные уравнения» _ 48
6. Моделирование электрических цепей _______________ 49
Пример контрольного теста «Электрические цепи» ___ 57
7. Моделирование двухполюсника ____________________ 58
Пример контрольного теста «Двухполюсники» _______ 72
8. Моделирование усилителей _______________________ 72
Пример контрольного теста «Операционные усилители» 78
9. Моделирование выпрямителей ____________________ 79
Пример контрольного теста «Выпрямители» __________ 84
10. Модели нелинейных устройств ___________________ 85
Пример контрольного теста «Модуляторы» ___________ 91
Заключение __________________________________________ 92
Рекомендуемая литература ___________________________ 93
94
Документ
Категория
Без категории
Просмотров
15
Размер файла
2 926 Кб
Теги
modelirovanie, matlab, telekommunikacij, stefanov, simulink, sistemy, ustrojsv
1/--страниц
Пожаловаться на содержимое документа