- •Курсовая работа
- •1. Введение
- •2. Описание работы
- •3. Анализ задачи и выбор метода решения
- •3.1 Расчетные выражения
- •3.2 Контрольный расчет
- •3.3 Схема обобщенного алгоритма
- •4. Разработка алгоритмов
- •4.1 Таблица идентификаторов
- •5. Разработка программы
- •6. Отладка и тестирование программы
- •Проверка программы на точность следования всем алгоритмам.
- •Пошаговый разбор работы программы.
- •Получение результатов работы программы для рабочего набора.
- •6.1 Заключение
- •7. Список используемой литературы
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ "САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М. А. БОНЧ-БРУЕВИЧА"
Факультет инфокоммуникационных сетей и систем
Кафедра программной инженерии и вычислительной техники
Курсовая работа
по дисциплине «Программирование»
на тему «Анализ сигнала на выходе электронной цепи»
Выполнил:
студент 1 курса
дневного отделения
группы ИКПИ-81
Коваленко Л. А.
Санкт-Петербург
2019
СОДЕРЖАНИЕ
1. ВВЕДЕНИЕ 3
2. ОПИСАНИЕ РАБОТЫ 4
3. АНАЛИЗ ЗАДАЧИ И ВЫБОР МЕТОДА РЕШЕНИЯ 6
3.1 РАСЧЕТНЫЕ ВЫРАЖЕНИЯ 6
3.2 КОНТРОЛЬНЫЙ РАСЧЕТ 8
3.3 СХЕМА ОБОБЩЕННОГО АЛГОРИТМА 11
4. РАЗРАБОТКА АЛГОРИТМОВ 12
4.1 ТАБЛИЦА ИДЕНТИФИКАТОРОВ 17
5. РАЗРАБОТКА ПРОГРАММЫ 19
6. ОТЛАДКА И ТЕСТИРОВАНИЕ ПРОГРАММЫ 31
6.1 ЗАКЛЮЧЕНИЕ 40
7. СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 40
1. Введение
Курсовая работа посвящена решению задач машинного анализа электрических цепей.
Электрическая цепь задается передаточной характеристикой, которая описывает зависимость напряжения на выходе цепи (выходного сигнала) от напряжения на входе (входного сигнала). Напряжение на входе цепи и передаточная характеристика могут задаваться либо в виде формул, т.е. аналитически, либо графически. Конкретный вид формул и графиков определяются кодами варианта. Код варианта выдает преподаватель.
Результатом курсовой работы являются программа на языке С (Си) с пояснительной запиской. Для заданного варианта электрической цепи и входного сигнала программа должна позволять:
А) рассчитать значения входного сигнала,
Б) рассчитать значения выходного сигнала,
В) рассчитать с заданной точностью значение характеристики выходного сигнала.
Цель работы: получение навыков в разработке программ на языке Си, а также анализ и решение поставленной задачи и обоснование выбранных методов реализации программы.
2. Описание работы
Задание входного сигнала в виде графика (код А = 37).
Рисунок 2.1 — график зависимости напряжения входного сигнала от времени
Рабочий набор: ; ; ; ; ; .
Задание передаточной характеристики в виде графика (код Б = 12).
Рисунок 2.2 — график зависимости напряжения выходного сигнала от напряжения входного сигнала
Рабочий набор: ; ; ; ; ; ; .
Вариант вычисляемой характеристики выходного сигнала (код В = 13).
Часть времени от промежутка , в течение которого выходное напряжение превышает уровень , где .
Рабочий набор: .
3. Анализ задачи и выбор метода решения
3.1 Расчетные выражения
Задание входного сигнала в виде графика.
Рисунок 3.1 — график зависимости напряжения входного сигнала от времени
Выражение:
Задание передаточной характеристики в виде графика.
Рисунок 3.2 — график зависимости напряжения выходного сигнала от напряжения входного сигнала
Выражение:
3.2 Контрольный расчет
Воспользуемся программой wxMaxima для выполнения контрольного расчета к курсовой работе.
Таблица 3.2.1
Код wxMaxima |
u1:100;u2:80;tStart:10;t1:22;t2:70;tFinish:90, numer; |
Uin(t):=if t <= t1 then (t – tStart)*(u1 – 0)/(t1-tStart)+0 else if t <= t2 then (t-t1)*(u2-u1)/(t2-t1)+u1 else (t-t2)*(0-u2)/(tFinish-t2)+u2; N: 10; dt: (tFinish-tStart)/(N-1), numer; |
for t: tStart thru tFinish step dt do display(Uin(t)), numer; |
продолжение таблицы 3.2.1
Код wxMaxima |
_u0:5; _u1:10; _u2:75; _u3:90; _uIn1:10; _uIn2:40; _uIn3: 70; |
Uout(u):=if u <= _uIn1 then (u – 0)*(_u1 - _u0)/(_uIn1-0)+_u0 else if u <= _uIn2 then (u-_uIn1)*(_u2-_u1)/(_uIn2-_uIn1)+_u1 else (u-_uIn2)*(_u3-_u2)/(_uIn3-_uIn2)+_u2; |
for t: tStart thru tFinish step dt do display(Uout(Uin(t))), numer; |
wxplot2d([Uin(t)], [t, tStart, tFinish], [gnuplot_preamble, "set grid;"]); |
окончание таблицы 3.2.1
Код wxMaxima |
wxplot2d([Uout(Uin(t))], [t, tStart, tFinish], [gnuplot_preamble, "set grid;"]); |