Курсовая работа. Тема: Построение графиков спектров сигналов

Заказ 377

Цена полной версии: 1500 рублей

КУРСОВАЯ РАБОТА по дисциплине «Методы математического моделирования» Тема: Построение графиков спектров сигналов

 

Аннотация

Целью и задачами курсовой работы является ознакомление с современными принципами программирования и проектирования программного обеспечения, обучение программированию на одном из наиболее широко используемых в мире языков программирования, а также использованию широко распространенного пакета библиотек GKT+ для реализации графического интерфейса разрабатываемой прикладной программы.

На сегодняшний день роль компьютеров и другой цифровой аппаратуры в развитии мировой науки, технологий и производства невозможно переоценить. Использование компьютеров и сети Internet не только позволяет формироваться международным научным коллективам и удаленно решать актуальные научные задачи без необходимости собираться в одном месте (или даже в одной стране), но, в первую очередь, современное программное обеспечение дает возможность решать сложнейшие теоретические, научные задачи и осуществлять практические расчеты и анализ реальных систем. Традиционно, в радиофизике широко используются подходы, базирующиеся на математическом моделировании и компьютерный, численный эксперимент стал неотъемлемой частью решения теоретических и практических задач радиофизики.

Развитие программного обеспечения, как универсального, так и специального, направленного на решение специфических задач, безусловно, определяет и развитие науки. Благодаря методам объектно-ориентированного программирования стало возможным быстрое написание графического пользовательского интерфейса для прикладных программ. Более того, стало возможным применение библиотек (например, GKT+) для разработки кросс-платформенных прикладных программ с системным графическим интерфейсом, не требующих установки специальной среды исполнения.

Данная курсовая работа посвящена освоению принципов разработки прикладных компьютерных программ, обладающих графическим интерфейсом пользователя с помощью набора библиотек GKT+

СОДЕРЖАНИЕ

Оглавление

Аннотация. 2

СОДЕРЖАНИЕ. 4

Техническое задание. 5

ВВЕДЕНИЕ. 8

1.Принципы кроссплатформенности в среде программирования. 10

1.1.Кроссплатформенность программного обнспечения. 10

1.2. Кроссплатформенные языки программирования. 10

1.3. Кроссплатформенный пользовательский интерфейс. 11

1.4. Кроссплатфрменная библиотека GTK+. 13

2.Обоснование разработки. 14

2.1.Особенности написания программ на языке Си в GTK. 14

2.1.1.Объектно-ориентированный язык Си. 14

2.1.2.Последовательность диспетчеризации событий. 16

2.2.Метод спектрального анализа. 18

2.2.1. Использование спектрального метода в разработках. 18

2.2.2.Вычисление спектра изображения. 19

2.3.Применение программного обеспечения. 20

2.3.1. Выбор программы и структура библиотеки GTK.. 20

2.3.2. Компоненты GTK.. 20

2.3.3. Архитектура GTK+. 21

2.3.4. Библиотека Gtk#. 22

  1. Перечень задач, подлежащих решению в процессе разработки. 24

Необходимо записать математическую модель сигнала; 24

Назначение программы.. 31

ЗАКЛЮЧЕНИЕ. 32

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ. 34

Техническое задание

на курсовую работу

по информационным технологиям

«Построение графиков спектров сигналов»

 

1 Введение

Данная курсовая работа рассматривает разработку программы «Построение графиков спектров сигналов». Программа визуализирует звуковой сигнал в график.

 

2 Основания для разработки

Разработка выполняется в рамках курсовой работы по дисциплине «Методы математического моделирования» в четвертом семестре обучения по направлению подготовкибакалавров 210100.62 «Электроника и наноэлектроника».

 

3 Назначение разработки

Функциональным назначением программы является: Построение графиков спектров сигналов

Программа предназначена для использования в образовательных учрежденияхи для самостоятельного освоения материала, связанного с преобразованиями Фурье и цифровой обработки сигнала.

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

 

4 Требования к программе

4.1 Требования к функциональным характеристикам

Программа должна обеспечивать возможность выполнения перечисленных ниже функций:

– Построение графиков спектров сигналов;

– поэтапное отображение хода выполнения действия;

– получение результата действия;

– защита от некорректного ввода данных.

Входные данные программы должны быть организованы в виде wav-файла. Данные, вводимые вручную, проверяются на корректность после попытки выполнить действие.

 

4.2 Требования к надежности

Надежное (устойчивое) функционирование программы должно быть обеспечено выполнением совокупности организационно-технических мероприятий, перечень которых приведен ниже:

– организацией бесперебойного питания технических средств;

– входная информация проверяется на соответствие допустимой звука.

 

4.3 Условия эксплуатации

Программа должна запускаться с любого компьютера, удовлетворяющего требованиям п. 4.4, без предварительной установки.

4.4 Требования к составу и параметрам технических средств

В состав технических средств должен входить персональный компьютер с операционной системой GNU/Linux (дистрибутив Debian с версией не ниже 7.0) и графической библиотекой GTK+ версии 3.0.

 

4.5 Требования к информационной и программной совместимости

Разработка приложения выполняется на языке программирования C с использованием графической библиотеки GTK+.

Схемы алгоритмов выполнять в MS Visio.

Все экранные формы и прочие фрагменты программы должны быть обеспечены защитой от некорректного ввода данных.

 

4.6 Специальные требования

Наличие в системе библиотеки GTK+ версии 3.0.

 

5 Требования к программной документации

В состав программной документации входят:

1) настоящее техническое задание;

2) пояснительная записка к курсовой работе;

3) руководство пользователя;

4) исходный текст программы.

 

Программные документы, указанные в пп. 1, 3 и 4, включаются в состав

Пояснительной записки. В основном содержании пояснительной записки должен бытьдетально отражен процесс разработки программы, включая следующие обязательные разделы:

1) титульный лист;

2) аннотация;

3) содержание;

4) техническое задание на разработку программы;

5) введение;

6) основное содержание с разбивкой на разделы:

а) обоснование разработки;

б) разработка проекта программы;

в) реализация проекта программы.

7) руководство пользователя:

а) назначение программы;

б) условия выполнения программы;

в) выполнение программы;

г) сообщения оператору.

8) заключение;

9) список использованной литературы;

10) приложение (исходный текст программы).

 

6 Технико-экономические показатели

Программа разрабатывается как учебный проект и будет распространяться по

лицензии GPL (без взимания лицензионных отчислений), поэтому оценка технико-экономических показателей не проводится.

 

7 Стадии и этапы разработки

  1. Составить и согласовать техническое задание на программу (срок — 6 не-

дель).

  1. Разработать форматы входных и выходных данных, графический интерфей

са пользователя (срок — 8 неделя).

  1. Разработать алгоритмы функционирования программы — схемы алгоритмов

(срок — 10 неделя).

  1. Реализовать алгоритмы и отладить программу (срок — 14 неделя).
  2. Протестировать разработанную программу (срок — 15 неделя).
  3. Оформить пояснительную записку и разработать руководство оператора

(срок — 16 неделя).

  1. Оформить презентацию и защитить курсовую работу (срок 17–18 неделя).

 

8 Порядок контроля и приемки

Контроль работы над программой проводится преподавателем — руководителем курсовой работы на 6 и 12 учебных неделях.

Приемка работы происходит в три этапа:

  • демонстрация программы преподавателю —

руководителю курсовой работы;

2) сдача оформленной пояснительной записки;

3) защита курсовой работы комиссии из двух преподавателей.

ВВЕДЕНИЕ

Цель курсовой работы — разработка кросс-платформенной прикладной программы с графическим интерфейсом. Тема – построение графиков спектров сигналов.Оформление курсовой на языке си в GTK.

Главные задачи: освоение практических навыки работы с компьютером, обучение практическому программированию на алгоритмическом языке высокого уровня ( С/C++ ), научить работе в операционной системе UNIX (Linux), обучить использованию пакетов прикладных программ, предназначенных для проведения инженерных расчетов и научных исследований с использованием ЭВМ, для обработки, оформления и представления результатов таких исследований.

В настоящее время компьютер стал одним из основных инструментов для проведения научных исследований и оформления их результатов. С другой стороны, принципы функционирования микропроцессорной техники и систем цифровой связи сами являются основой инфокоммуникационных технологий

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

Рассматриваются свойства спектра дискретных сигналов, проблема восстановление аналогового сигнала по дискретным отсчетам, Z-преобразование и его свойства, дискретно-временное преобразование Фурье и его связь с Z-преобразованием. Обсуждаются особенности спектрально-корреляционного анализа дискретных случайных процессов, периодограмные и коррелограмные методы расчета спектров. Рассматриваются разностные уравнения и их системы. Отдельное внимание уделяется проблеме цифровой фильтрации сигналов, включая круг вопросов, связанных с синтезом фильтров, фильтрами с конечной и бесконечной импульсной характеристикой и т.д. Обсуждаются алгоритмы преобразования частоты дискретизации. Лекции сопровождаются практическими занятиями, в рамках которых студенты приобретают практические навыки цифровой обработки сигналов.

Данный курсовая направлена на развития навыков программирования и обучение современным методам анализа сложных радиосигналов, идентификации и прогнозирования поведения сложных систем, автоматизации научного эксперимента.

1.Принципы кроссплатформенности в среде программирования

1.1.Кроссплатформенность программного обнспечения

Кроссплатформенным (межплатформенным) называется программное обеспечение, работающее более чем на одной аппаратной платформе и (или) операционной системе.

Типичным примером является программное обеспечение, предназначенное для работы в операционных системах Windows и Linux одновременно.

Кроссплатформенность программного обеспечения – это возможность исполнять его, без перекомпилирования программы, как на различных аппаратных платформах, так и под управлением разных операционных систем (иначе говоря, возможность запуска исполняемого файла на платформах различных ОС).

Типичная цель создания кроссплатформенного программного обеспечения — «пережить» ту конкретную платформу, для которой оно создавалось , т.е. путем интегрирования в другие программы и платформы получить дальнейшее развитие и продлить жизнь данного ПО.

…………………….

…………………….

………………………

2.Обоснование разработки

Для разработки данной задачи лучше всего воспользоваться средствами объектно-ориентированного программирования. Они используют современные разработки, имеют багатый спектр методов и инструментов, которые удобны в использовании. Использование объектно-ориентированного программирования для решения прикладных задач обосновано тем, что это небольшие программы, которые не должны занимать много времени на разработку. Обычно для разработки таких программ вполне достаточно использовать уже имеющиеся библиотеки. Эти библиотеки снабжены разнообразными инструментами и дают возможность в краткие сроки разработать интуитивный и дружественных для пользователя интерфейс. Здесь можно использовать уже имеющиеся шаблоны элементов программного интерфейса, которые позволят сделать весьма привлекательный внешний вид программы и при этом она будет иметь высокую функциональность.

……………………

……………………

……………………

2.3.4. Библиотека Gtk#

Инфраструктура GTK# — это надстройка над GTK+, дающая возможность работать с GTK+ в среде Mono или Microsoft .NET Framework и обращаться к возможностям GTK+ из C#-приложений.

Главными компонентами GTK# являются три модуля:

gtk-sharp (базовые компоненты библиотек GLib, Pango, Cairo, ATK, а также поддержка System.Drawing с целью совместимости с MicrosoftWindowsForms);

gnome-sharp (компоненты для взаимодействия со средой GNOME);

gnome-desktop-sharp (компоненты для взаимодействия с Nautilus и другими приложениями GNOME).

Большая часть функциональности модулей gnome-sharp и gnome-desktop-sharp недоступна для использования в среде MicrosoftWindows из-за отсутствия оболочки GNOME и ее приложений.

 

Все виджеты в GTK+ и GTK# можно разделить на несколько групп:

  • виджеты, имеющие собственное окно;
  • виджеты, не имеющие собственного окна;
  • виджеты-контейнеры.

Виджеты, которые имеют свое окно, а к ним относится большинство элементов управления: кнопки, полосы прокрутки и другие, имеют свою собственную очередь событий. Это позволяет легко перехватывать события, возникающие в результате взаимодействия пользователя с виджетами, путем назначения callback-функций.

Если у виджета нет собственного окна (контейнеры, текстовые метки и некоторые элементы управления), то для перехвата событий, возникающих при действиях пользователя, потребуется воспользоваться элементом EventBox, который “устанавливается” под нужный виджет.

…………………….

……………………..

…………………….

ЗАКЛЮЧЕНИЕ

Специализированные системы автоматизированного управления (САУ) широко применяются в различных областях техники, например: следящая система управления копировально-фрезерным станком по жёсткому копиру; САУ металлорежущих станков с программным управлением от магнитной ленты, перфоленты или перфокарты (преимущества такого управления заключаются в относительной универсальности, лёгкости перестройки программы и высокой точности обработки деталей); система программного управления реверсивным прокатным станом, включающая в свой контур управляющую вычислительную машину. В относительно медленных технологических процессах в химической и нефтяной промышленности распространены многосвязные САУ, осуществляющие регулирование большого количества связанных величин; так, при перегонке нефти информация о температуре, давлении, расходе и составе нефтепродуктов, получаемая от нескольких сотен датчиков, используется для формирования сигналов управления десятками различных регуляторов. САУ играют важную роль в авиации и космонавтике, например автопилот представляет собой САУ связанного регулирования, а иногда и самонастраивающуюся систему. В военной технике применяются высокоточные следящие системы, часто включающие вычислительные устройства (например, система углового сопровождения радиолокационной станции). При анализе многих физиологических процессов в живом организме, таких как кровообращение, регуляция температуры тела у теплокровных животных, двигательные операции, обнаруживаются характерные черты САУ.

Применение большого множества видов программ помогает автоматизировать различные процессы практически во всех сферах экономики, науки и промышленности. Бурный рост новых методов и языков программирования способствует широкому распространению средств информатики. Программы, разработанные, на основе кроссплатформенных принципов, способствуют гибкому применению различных новых видов программного обеспечения и более быстрой его адаптации к конкретным поставленным задачам. Это способствует более быстрому внедрению новых разработок для практических целей, а так же модернизации более ранних разработок с целью их усовершенствования и актуализации для использования в динамично развивающейся среде информационо-коммуникационных технологий.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  • Б.Керниган, Д.Ритчи, А.Фьюер. Язык программирования Си. Задачи по языку Си. М.: Финансы и статистика, 1985.
  • М.Уэйт, С.Прата, Д.Мартин. Язык Си. Руководство для начинающих. — М.: Мир, 1988.
  • М.Болски. Язык программирования Си. Справочник. — М.: Радио и связь, 1988.
  • Л.Хэнкок, М.Кригер. Введение в программирование на языке Си. — М.: Радио и связь, 1986.
  • М.Дансмур, Г.Дейвис. ОС UNIX и программирование на языке Си. — М.: Радио и связь, 1989.
  • Р.Берри, Б.Микинз. Язык Си. Введение для программистов. — М.: Финансы и статистика, 1988.
  • М.Беляков, А.Ливеровский, В.Семик, В.Шяудкулис. Инструментальная мобильная операционная система ИНМОС. — М.: Финансы и статистика, 1985.
  • К.Кристиан. Введение в операционную систему UNIX. — М.: Финансы и статистика, 1985.
  • Р.Готье. Руководство по операционной системе UNIX. — М.: Финансы и статистика, 1986.
  • М.Банахан, Э.Раттер. Введение в операционную систему UNIX. — М.: Радио и связь, 1986.
  • С.Баурн. Операционная система UNIX. — М.: Мир, 1986.
  • П.Браун. Введение в операционную систему UNIX. — М.: Мир, 1987.
  • Bach. The design of the UNIX operating system. — Prentice Hall, Englewood Cliffs, N.J., 1986.
  • Dewhurst, K.Stark. Programming in C++. — Prentice Hall, 1989.
  • Ellis, B.Stroustrup. The annotated C++ Reference Manual. — Addison-Wesley, 1990