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

Материал из SRNS
Перейти к: навигация, поиск
(Задача 2.1 Расчет доплеровского сдвига навигационного сигнала)
(Задача 2.1 Расчет доплеровского сдвига навигационного сигнала)
Строка 138: Строка 138:
 
* пересчитать скорость сближения в доплеровский сдвиг.
 
* пересчитать скорость сближения в доплеровский сдвиг.
  
Определить же радиус-вектор спутника легко. Его длина известна, а скорость вращения - примерно оборот за 12 часов.  
+
Определить же радиус-вектор спутника легко. Его длина известна, а скорость вращения - примерно оборот за 12 часов (у нас плоская задача, в которой мы пренебрегли различием ECEF и ECI).  
  
 
Дальше - дело техники.  
 
Дальше - дело техники.  

Версия 19:26, 17 февраля 2014

Содержание

Занятие 1

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

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

  • Создать студенческие репозитории (хранилища) на 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 преподавателей, например, korogodiniv@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) производится так называемый "коммит" - добавление новой ревизии на сервер путем отправки туда вашей рабочей копии. Вводится логин вида er09.ivanov.ii@gmail.com, пароль с вкладки Profile > Settings > GoogleCode.com Password веб-страницы аккаунта.

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

Задача 1.2 Получить задание к лабораторной работе 1, разобрать на примере RC-цепи

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

Разобрать моделирование электрической цепи на примере RC.

Файлы модели хранить в каталоге praxis/1. Сделать несколько коммитов во время и по завершению работы.

Занятие 2

Тема занятия: Доплеровский сдвиг навигационного сигнала. Описание сигналов антенной решетки.

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

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

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

Постановка задачи:

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

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

Комментарии:

Связь доплеровского сдвига и скорости по линии визирования известна каждому радиотехнику:

\frac{f_d}{f_0} = \frac{V}{c}.

Несущая частота f_0 радионавигационного сигнала известна, задается ИКД. Скорость света c - фундаментальная константа. Остается определить скорость по линии визирования V.

Потребитель по условию задачи неподвижен. Тогда скорость по линии визирования - проекция вектора скорости спутника на линию визирования. Итого, достаточно определить два вектора - орт от спутника к потребителю и вектор скорости спутника.

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

20140217 Z2 1 1.png

Выберем СК XOY в которой потребитель расположен на оси OY, его радиус-вектор \mathbf{r}_r = (0, R_e), где R_e - радиус Земли (учет высоты над уровнем моря для Москвы, 170-190 м, слабо повлияет на результат).

Если определим вектор спутника \mathbf{r}_{sv} на любой момент витка, то задача будет почти решена, останется:

  • выбрать те положения, для которых y-координата спутника больше y-координаты потребителя (условие видимости),
  • по приращению координат определить вектор скорости спутника \mathbf{V}_{sv},
  • вычитанием найти вектор потребитель-спутник \mathbf{r}_v задающий линию визирования,
  • определить скорость сближения по линии визирования V_v = - \frac{\mathbf{V}_{sv} \cdot \mathbf{r}_v }{|\mathbf{r}_v|},
  • пересчитать скорость сближения в доплеровский сдвиг.

Определить же радиус-вектор спутника легко. Его длина известна, а скорость вращения - примерно оборот за 12 часов (у нас плоская задача, в которой мы пренебрегли различием ECEF и ECI).

Дальше - дело техники.

Шаги по усложнению модели, если результат неубедителен:

  • учесть вращение Земли (наклонение орбит известно из ИКД),
  • учесть случаи, когда потребитель не попадает под подспутниковую траекторию.
Персональные инструменты
Пространства имён

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