Пример лабораторной работы в Labview
Запишем математические модели сигналов: Конечный сигнал будет являться зашумленной суммой простых сигналов. Создадим новый виртуальный прибор. У нас откроется два окна. Левое это лицевая панель, а правое окно это блочная схема. Для того что бы наш цикл изменялся через определенные промежутки времени необходим цикл WhileLoop( while – пока, в то время как; loop – петля). · Нажмем правой кнопкой мыши на блок-схеме и выберем в меню Functions →Programming →Structures →WhileLoop · Курсор мыши примет вид маленького пунктирного прямоугольника с черным левым верхним уголком · Выделим ту область поля в блок схеме, в которую хотим поместить нашу программу , нажав и удерживая левую кнопку, обведем группу пунктирным прямоугольником. · После того, как мы отпустим левую кнопку мыши, программа будет выглядеть так, как показано на рис. 1.1. · Если действие не получилось с первого раза, можно его отменить, нажав клавиши <Ctrl>+<z>. Рисунок 1.1 - Цикл WhileLoop · После того, как мы поместили цикл WhileLoopна блок- схему, кнопка циклического выполнения заблокировалась, а на кнопке запуска программы появилось изображение сломанной стрелочки. Нужно задать терминал условия выхода из цикла, у нас это будет кнопка Stop. Исправим ошибку на блок-схеме. Для этого подключим к терминалу условия цикла кнопку, прерывающую его выполнение. · Наведем указатель мыши на терминал условия цикла, и, нажав правую кнопку мыши, выберем в появившемся меню режим работы терминала StopifTrue. Убедимся, что иконка терминала приобрела соответствующий вид. · Наведем указатель мыши на контакт терминала, и когда курсор превратится в катушку с проводом (Wiringtool), нажмем правую кнопку мыши · В появившемся меню выберем CreateControl(создать элемент управления) · В результате на передней панели появится кнопка управления Stop, а ее терминал на блок схеме автоматически соединится с терминалом условия цикла (см. рис. 1.2) Рисунок 1.2 – Пример соединения кнопки STOP с условием цикла На лицевой части появится такая кнопка. В структуре WhileLoop есть два терминала: LoopIteration (Повторение цикла). Имеет один контакт, расположенный справа – выход, значение которого соответствует количеству выполненных повторений цикла. Синий цвет терминала и контакта показывает, что выходное значение представлено целым числом. а) или б) LoopCondition(Условие цикла) терминал условия выхода из цикла. Имеет один контакт слева – вход. Он может работать в двух режимах: а) StopifTrue (остановить, если Истинный) – цикл прерывается, если на этот терминал поступает значение булевой переменной True (Истинный). б) ContinueifTrue (продолжать, если Истинный) – цикл продолжается до тех пор, пока значение этого терминала –True. Зеленый цвет терминала и контакта показывает, что формат данных, передаваемых ему, булев (логический). Расширим наше поле цикла. Для этого наведем стрелочку на само поле, и у нас границах поля появится синие квадраты. Щелкнув по ним правой кнопкой мыши и удерживая, зададим такой размер, который нам необходим. В среде LabView все процедуры и функции представлены виде иконок. Поместим на нашу блок-схему иконку операции деления. · Нажмем правую кнопку мыши на белом поле окна блок схемы. · В появившемся меню Functions (функции), выберем раздел Programming (программирование) →Numeric→Divide (Делить). · Поместите на блок схему иконку оператора деления. · Подведите курсор к иконке. По краям иконки появятся точки с отрезками линий – контакты, при помощи которых элементы блок-схемы соединяются между собой. · Подведите курсор к контакту оператора делить. · При этом он примет вид катушки с проводом (Wiringtool– инструмент для соединения проводами), а внизу появится подсказка – назначение данного контакта. Для построения графка нам необходма радианная мера угла. · Подведем курсов мыши к контакту. У и нажмем правой кнопкой мыши. · Затем в появившемся окне выберем Create Constant · У нас должно появится следующее . Нажмем на нолик и введем соответствующее число. Мы введем 360 Создадм консанту · Нажмем правую кнопку мыши на белом поле окна блок схемы. · В появившемся меню Functions (функции), выберем раздел Programming (программирование) →Numeric→Math ScientificConstant. · Поместите на блок схему нашу константу. · Соединим нашу константу с движком X функции умножения. Так направление можно задавать, нажимая на левую кнопку мыши. Нажатие на правую кнопку отменяет рисование провода. Создадим функцию умножения. Для этого воспользуемся алгоритмом, который был описан выше и выберем в меню Numeric→Multiply(Умножить). Помесим функцию на блок схему. Соединим контакт X/Y - функции деления с контактом - функции умножения. Контакт - функции умножения соединим с терминалом LoopIteration Построение графика · Нажмем правую кнопку мыши на белом поле окна блок схемы. · В появившемся меню Functions(функции), выберемразделMathematics→→Elementary&SpecialFunctions→TrigonometricFunctions→Sine · Поместите на блок схему иконку функции синуса. · Соединим левый контакт функции синуса с контактом функции умножения. Создадим временную диаграмму отображения синуса · Нажмем правую кнопку мыши на клетчатом окне лицевой панели. · Поместим на переднюю панель самописец Modern→Graph→WaveformChart(cамописец, график изменения сигнала современем). · На блок схеме перетащим терминал WaveformChartв цикл WhileLoop · Соединим его с правым контактом функции Sine Запусим нашу программу и посмотрим , что получилось.Мы видим , что график изменяется слишком быстро. Для того что бы он изменялся медленне настроим время за которое происходит одна итерация. · Нажмем правую кнопку мыши на белом поле окна блок схемы. · В появившемся меню Functions (функции), выберем раздел Programming (программирование) →Timing→Wait(ms). · Поместите на блок схему нашэлемент времени. · Создадим для него константу равную 50. Лицевая панель показана на рис. 1.4. Рисунок 1.3 – Пример построения синусоиды в блок-схеме Рисунок 1.4 – Пример построения синусоиды на лицевой панеле Запустим и посмотрим , что получилось. Теперь изменение графика стало удобным для восприятия. Изменение амплитуды · Для этого создадим функцю умножения · Удалим провода соединяющие график и синус. Создадим веркальный движок с указателем · Поместим на переднюю панель движок Modern→Numeric→VerticalFullSlide Для того что бы изменять Max и Min шкалы достаточно нажать на цифру и вписать нужное нам значение. Аналогично меняем и название. · Соединим контакт функции умножения с контактом вертикального движка. · Контакт соединим с функцией Sine · Контакт с нашим графиком Должно получиться следующее, как показано на рис. 1.5 Рисунок 1.5 – Пример построения синусоиды с заданной задержкой Запустим программу и попробуем изменить амплитуду Сложение графиков Создадим ещё один график Меандр · Нажмем правую кнопку мыши на белом поле окна блок схемы. · В появившемся менюFunctions(функции), выберем раздел Mathematics→→Elementary&SpecialFunctions→GatingFunctions → Square Functions. Соединим, так как показано на рис. 1.6
Рисунок 1.6 – Пример сложения двух функций на блок-схеме Индикатор изменения амплидуты для второго графика создать самостоятельно. Создание шума · Создадим случайную помеху, создаваемую генератором случайных чисел от 0 до 1 (Programming→Numeric→RandomNumber (0-1)) Изначально предел выпадение случайных чисел стоит от 0 до 1. Для нашей задачи предел выпадения чисел должен быть от -1 до1. Добьемся изменения диапазона случайных чисел с помощь функций умножения, вычитания и констант. Полученная блок схема должна выглядеть, так как показано на рис. 1.7 Рисунок 1.7 – Пример сложения дувух функций с заданным диапазонам шума На лицевой панеле на графике будет отображатся следующее На рис. 1.7.1 показано как изменятеся сигна при зачениях амплитуд не равных нулю На рис. 1.7.2 аплитуда А1=0 На рис.1.7.3 амплитуда А2=0
Рисунок 1.7.1 – Зашумленная сумма сигналов Рисунок 1.7.2 – Зашумленный сигнал меандера Рисунок 1.7.3 - Зашумленный сигнал синуса Для того что бы регулровать зависмость шума от чистого сигнала добавим вертикальный движок с указателем. Получим слудующую блок-схему, которая показана на рис. 1.8 На лицевой панеле будет отображатся слудующее как показано на рис. 1.9 Рисунок 1.8 – Блок-схема готовой программы
Рисунок 1.9 – Лицевая панель готовой программы Мы получили программу которая показывает изменение сигнала с изменением шума. Так в этой программе выпадение случайных чисел происходит от -1 до 1.
А Б В 1 2 3 4 5
Таблица нахождения сигналов
1.16. Варианты заданий:
*Треугольный сигнал описывается системой: , где , Конечный сигнал представляет собой зашумленную сумму двух данных сигналов. Диапазон шума Содержание отчета Отчет должен содержать в себе следующие пункты: · Цель работы · Задание и номер варианта · Математическая формула конечного зашумленного сигнала · Изображения данных сигналов и получившегося · Скриншоты рабочих полей LabView с рабочим алгоритмом программы · Краткое описание действий · Выводы по работе · Ответы на контрольные вопросы 1.18. Контрольные вопросы 1) Какими бывают сигналы (виды и определения)? 2) Формы сигналов и их различия. 3) Где используются "меандры"? 4) Что такое коэффициент заполнения. Что такое "скважность"? 5) К каким из двух типов сигналов относятся: синусоидальный, пилообразный и триггер сигналы? 6) Зарисовать график синусоидального сигнала, обозначить на нем все характеристики. 7) Что будет с периодом, если уменьшать частоту? Связь частоты и периода. 8) Когда пилообразный сигнал имеет зеркальное отражение самого себя? 9) Единственная реализация случайного процесса и в чем она заключается. 10) Возможна ли смена диапазона в случайном процессе? Если да, то как? Список используемой литературы: 1. http://gos-y.narod.ru/htm/17.htm 2. http://life-prog.ru/1_32612_zakoni-raspredeleniya-sluchaynih-velichin.html 3. http://www.mir-koda.ru/full_leson_cpp.php?id=28 4. Методический материал «Сигналы и линейные системы»
Популярное: Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Почему стероиды повышают давление?: Основных причин три... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (2475)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |