Задания к практическим занятиям (ММ РУиС)
Содержание |
Занятие 1
Тема занятия: Использование системы контроля версий. Моделирование RC-цепи.
Цели занятия:
- Создать студенческие репозитории (хранилища) на Google Code.
- Познакомить студентов с системой контроля версий Subversion (SVN), включая программы-клиенты
- Познакомить студентов с MATLAB/Octave: интерфейс, переменные, векторы, матрицы, вывод графиков, написание скриптов.
- Привести пример решения детерминированной математической задачи с помощью компьютерной модели.
Задача 1.1 Использование системы контроля версий
При выполнении практических и лабораторных заданий, а так же домашней подготовке к ним, студенты должны пользоваться личным репозиторием SVN. Для простоты и общности предлагается создавать проекты на Google Code. Это бесплатный сервис для создания собственных репозиториев различных систем контроля версий. Из плюсов - простота, бесплатность, доступность. Минус - ограничение на лицензирование.
Шаг 1. Регистрация аккаунта на googlecode.com
- Переходим на страницу https://googlecode.com.
- Если уже авторизован другой пользователь - нажимаем кнопку Sign out в правом верхнем углу.
- Переходим на страницу авторизации путем нажатия кнопки Sign in в правом верхнем углу, либо Sign in to create a project по центру.
- Выбираем Create an account (если в памяти браузера остались данные о старом пользователе, то потребуется более длинная цепочка Manage accounts on this device > Add account > Create an account)
- В поле First Name и Last Name студент указывает имя и фамилию соответственно (транслитом, как в загранпаспорте), либо произвольную информацию по собственному усмотрению.
- Имя почтового ящика указывается по шаблону:
er09.ivanov.ii@gmail.com
, где09
- номер потока,ivanov
- фамилия студент,ii
- инициалы имени и отчества студента. - Пароль выбирается студентом
- Данные о Дне рождения, телефоне, другом почтовом ящике, стране указываются по желанию студента.
- Подтверждается согласие с Google Terms of Service и Privacy Policy путем отметки check-box'а, после чего осуществляется переход на следующую страницу кнопкой Next step.
- Выбор аватара можно пропустить нажатием кнопки Next step.
Аккаунт создан.
Шаг 2. Создание репозитория
Репозиторий, хранилище - место, где хранятся и поддерживаются какие-либо данные. В рамках курса ММ РТУиС каждый студент будет использовать личный репозиторий системы контроля версий SVN, предоставляемый сервисом Google Code.
- Возвращаемся на страницу https://googlecode.com. Выбираем Create a new project.
- Заполняем поля:
- Project name:
mm-er09-ivanov-ii
, гдеmm
- математическое моделирование,09
- номер потока,ivanov
- фамилия студента,ii
- инициалы имени и отчества - Project summary: "Modeling of radio systems and signals" (или другое по собственному усмотрению)
- Description: "Modeling of radio systems and signals: master course" (или другое по собственному усмотрению)
- Version control system: Subversion
- Source code license: на усмотрение студента
- Project label(s): matlab, radio, signals (или другое по собственному усмотрению)
- Ввести капчу
- Project name:
- Создать репозиторий нажатием кнопки Create project
Шаг 3. Пригласить преподавателей участвовать в проекте
Системы контроля версий созданы не только и не столько для того, чтобы иметь всю историю изменения проекта, а для совместной работы над ним группой. Пригласим поучаствовать во вновь созданном проекте преподавателей.
- На странице проекта выбираем Project Home > People > Add member.
- Вводим адреса электронной почты gmail преподавателей, например,
korogodiniv@gmail.com
. - Не изменяем статус - Commiter, нажимаем кнопку Add members
Аккаунты преподавателей добавились в список Project People, теперь они могут следить за проектом, вносить в него правки при необходимости.
Шаг 4. Получить рабочую копию на локальный компьютер
Для загрузки рабочей копии проекта с сервера на локальный компьютер используется команда svn checkout
. Рабочие каталоги пользователей следует размещать в директории /home/student/Modeling
. Пример команды (консоль для ввода открывается по нажатию клавиши клавиатуры F12):
где mm-er09-ivanov-ii
- название проекта, er09.ivanov.ii
- логин пользователя.
Подсмотреть синтаксис команды можно на веб-странице проекта на вкладке Source > Checkout
Шаг 5. Создать структуру каталогов и сделать первый коммит
В каталоге проекта будут храниться файлы всех практических и лабораторных занятий: отчеты, скрипты, графики.
Заготовим структуру каталогов:
..../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
Тема занятия: Доплеровский сдвиг навигационного сигнала. Описание сигналов антенной решетки.
Цели занятия:
- Развить навыки моделирования: использование векторов, цикл по времени, обработка результатов моделирование, построение графиков и гистограмм.
- Привести пример использования метода комплексных амплитуд.
- Изложить методику расчет диаграммы направленности антенной решетки, востребованную при подготовке ко второй лабораторной работе.
Задача 2.1 Расчет доплеровского сдвига навигационного сигнала
Постановка задачи:
Автомобильный навигатор является классическим радиоприемным устройством класса аппаратура потребителей спутниковых радионавигационных систем. В процессе своей работы он принимает сигналы от навигационных спутников, оценивает их параметры, выделяет навигационное сообщение, заложенное в сигналах, и, в итоге, решает навигационную задачу - определяет своё местоположение.
Так как навигационные спутники относительно планеты находятся в постоянном движении, да и из-за движения потребителя, возникает эффект Доплера - происходит смещение частоты принимаемого сигнала от номинала. Интересно, в каких пределах может находиться это смещение для неподвижного приемника? Какова гистограмма возможных значений?
Комментарии:
Связь доплеровского сдвига и скорости по линии визирования известна каждому радиотехнику:
- .
Несущая частота радионавигационного сигнала известна, задается ИКД. Скорость света - фундаментальная константа. Остается определить скорость по линии визирования .
Потребитель по условию задачи неподвижен. Тогда скорость по линии визирования - проекция вектора скорости спутника на линию визирования. Итого, достаточно определить два вектора - орт от спутника к потребителю и вектор скорости спутника.
Для простоты ограничимся "плоской" задачей - когда потребитель попадает на подспутниковую траекторию, угловым вращением Земли так же пренебрежем. Иллюстрация - на рисунке:
Выберем СК XOY в которой потребитель расположен на оси OY, его радиус-вектор , где - радиус Земли (учет высоты над уровнем моря для Москвы, 170-190 м, слабо повлияет на результат).
Если определим вектор спутника на любой момент витка, то задача будет почти решена, останется:
- выбрать те положения, для которых y-координата спутника больше y-координаты потребителя (условие видимости),
- по приращению координат определить вектор скорости спутника ,
- вычитанием найти вектор потребитель-спутник задающий линию визирования,
- определить скорость сближения по линии визирования ,
- пересчитать скорость сближения в доплеровский сдвиг.
Определить же радиус-вектор спутника легко. Его длина известна, а скорость вращения - примерно оборот за 12 часов (у нас плоская задача, в которой мы пренебрегли различием ECEF и ECI).
Дальше - дело техники.
Шаги по усложнению модели, если результат неубедителен:
- учесть вращение Земли (наклонение орбит известно из ИКД),
- учесть случаи, когда потребитель не попадает под подспутниковую траекторию.
Задача 2.2 Сигналы антенной решетки
Постановка задачи: Сигнал, приходящий из дальней зоны, принимается системой пространственно разнесенных антенн - антенной решеткой. Размеры антенной решетки значительно меньше постоянной времени корреляции принимаемых сигналов (огибающая, в первом приближении, совпадает для сигналов разных антенн).
Конфигурация антенной решетки - четырехэлементная, с расположением антенных элементов в углах квадрата со стороной, равной половине длине волны.
Построить серию диаграмм направленности при фокусировке в различных направлениях (зенит, отклонение в сторону на 10, 30, 45, 60 градусов).
Комментарии:
Фазовый набег относительно фазы в начале антенной системы координат легко рассчитать зная орт на источник и радиус-вектор антенного элемента.
Рассмотрим для простоты двумерную задачу