Задания к практическим занятиям (ММ РУиС)

Материал из SRNS
Перейти к: навигация, поиск

Содержание

Занятие 1

Тема занятия: Использование системы контроля версий. Доплеровский сдвиг частоты навигационного сигнала.

Цели занятия:

  • Создать студенческие репозитории (хранилища) на Google Code.
  • Познакомить студентов с системой контроля версий Subversion (SVN), включая программы-клиенты
  • Познакомить студентов с MATLAB/Octave: интерфейс, переменные, векторы, матрицы, вывод графиков, написание скриптов.
  • Привести пример решения детерминированной математической задачи с помощью компьютерной модели.

Задача 1.1 Использование системы контроля версий

При выполнении практических и лабораторных заданий, а так же домашней подготовке к ним, студенты должны пользоваться личным репозиторием SVN. Для простоты и общности предлагается создавать проекты на Google Code. Это бесплатный сервис для создания собственных репозиториев различных систем контроля версий. Из плюсов - простота, бесплатность, доступность. Минус - ограничение на лицензирование.

Шаг 1. Регистрация аккаунта на googlecode.com

  1. Переходим на страницу https://googlecode.com.
  2. Если уже авторизован другой пользователь - нажимаем кнопку Sign out в правом верхнем углу.
  3. Переходим на страницу авторизации путем нажатия кнопки Sign in в правом верхнем углу, либо Sign in to create a project по центру.
  4. Выбираем Create an account (если в памяти браузера остались данные о старом пользователе, то потребуется более длинная цепочка Manage accounts on this device > Add account > Create an account)
  5. В поле First Name и Last Name студент указывает имя и фамилию соответственно (транслитом, как в загранпаспорте), либо произвольную информацию по собственному усмотрению.
  6. Имя почтового ящика указывается по шаблону: er09.ivanov.ii@gmail.com, где 09 - номер потока, ivanov - фамилия студент, ii - инициалы имени и отчества студента.
  7. Пароль выбирается студентом
  8. Данные о Дне рождения, телефоне, другом почтовом ящике, стране указываются по желанию студента.
  9. Подтверждается согласие с Google Terms of Service и Privacy Policy путем отметки check-box'а, после чего осуществляется переход на следующую страницу кнопкой Next step.
  10. Выбор аватара можно пропустить нажатием кнопки Next step.

Аккаунт создан.

Шаг 2. Создание репозитория

Репозиторий, хранилище - место, где хранятся и поддерживаются какие-либо данные. В рамках курса ММ РТУиС каждый студент будет использовать личный репозиторий системы контроля версий SVN, предоставляемый сервисом Google Code.

  1. Возвращаемся на страницу https://googlecode.com. Выбираем Create a new project.
  2. Заполняем поля:
    1. Project name: mm-er09-ivanov-ii, где mm - математическое моделирование, 09 - номер потока, ivanov - фамилия студента, ii - инициалы имени и отчества
    2. Project summary: "Modeling of radio systems and signals" (или другое по собственному усмотрению)
    3. Description: "Modeling of radio systems and signals: master course" (или другое по собственному усмотрению)
    4. Version control system: Subversion
    5. Source code license: на усмотрение студента
    6. Project label(s): matlab, radio, signals (или другое по собственному усмотрению)
    7. Ввести капчу
  3. Создать репозиторий нажатием кнопки Create project

Шаг 3. Пригласить преподавателей участвовать в проекте

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

  1. На странице проекта выбираем Project Home > People > Add member.
  2. Вводим адреса электронной почты gmail преподавателей, например, korogodin_iv@gmail.com.
  3. Не изменяем статус - Commiter, нажимаем кнопку Add members

Аккаунты преподавателей добавились в список Project People, теперь они могут следить за проектом, вносить в него правки при необходимости.

Шаг 4. Получить рабочую копию на локальный компьютер

Для загрузки рабочей копии проекта с сервера на локальный компьютер используется команда svn checkout. Рабочие каталоги пользователей следует размещать в директории /home/student/Modeling. Пример команды (консоль для ввода открывается по нажатию клавиши клавиатуры F12):

svn checkout https://mm-er09-ivanov-ii.googlecode.com/svn/trunk/ /home/student/Modeling/mm-er09-ivanov-ii --username er09.ivanov.ii@gmail.com

где mm-er09-ivanov-ii - название проекта, er09.ivanov.ii - логин пользователя.

Подсмотреть синтаксис команды можно на веб-странице проекта на вкладке Source > Checkout

Шаг 5. Создать структуру каталогов и сделать первый коммит

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

Заготовим структуру каталогов:

/lab
..../1
..../2
..../3
..../4
/praxis
......./1
......./2
......./3
......./4
......./5
......./6
......./7
......./8

Добавляем каталоги под контроль версий с помощью команды svn add или кнопки Add в контекстном меню RabbitVCS (вызывается нажатием правой кнопки на каталогах в файловом менеджере Dolphin).

RabbitVCS - графический интерфейс к программе subversion, установленный в наших лабораториях. Популярный аналог для систем семейства Windows - TortoiseSVN.

После выполнения команды Add файлы (каталоги в нашем случае) добавляются в рабочую копию проекта. Командой svn commit (или аналогичной кнопкой в RabbitVCS) производится так называемый "коммит" - добавление новой ревизии на сервер путем отправки туда вашей рабочей копии. Теперь в веб-интерфейсе на вкладке Source > Browse (или после выполнения соответствующих команд SVN или RabbitVCS) можно наблюдать появление новой ревизии и состояние проекта, ей соответствующее. При этом вы имеете возможность просмотреть и предыдущие ревизии, а если понадобиться - получить их на свой компьютер.

Задача 1.2 Расчет доплеровского сдвига навигационного сигнала

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

Персональные инструменты
Пространства имён

Варианты
Действия
SRNS Wiki
Рабочие журналы
Приватный файлсервер
QNAP Сервер
Инструменты