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

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

Содержание

Занятие 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

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

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

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

Задача 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).

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

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

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

Задача 2.2 Сигналы антенной решетки

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

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

201402 Z2 2 1.png

Построить серию диаграмм направленности при фокусировке в различных направлениях (зенит, отклонение в сторону на 10, 30, 45, 60 градусов).

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

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

\begin{align}
  & y_{1}^{{}}\left( t \right)=Ah\left( t \right)\cos \left( \omega _{0}^{{}}t+\varphi _{0}^{{}}\left( t \right)+\varphi _{1}^{{}}\left( t \right) \right), \\ 
 & y_{2}^{{}}\left( t \right)=Ah\left( t \right)\cos \left( \omega _{0}^{{}}t+\varphi _{0}^{{}}\left( t \right)+\varphi _{2}^{{}}\left( t \right) \right), \\ 
 & y_{3}^{{}}\left( t \right)=Ah\left( t \right)\cos \left( \omega _{0}^{{}}t+\varphi _{0}^{{}}\left( t \right)+\varphi _{3}^{{}}\left( t \right) \right), \\ 
 & y_{4}^{{}}\left( t \right)=Ah\left( t \right)\cos \left( \omega _{0}^{{}}t+\varphi _{0}^{{}}\left( t \right)+\varphi _{4}^{{}}\left( t \right) \right), \\ 
\end{align}

где A - амплитуда сигналов, h\left( t \right) - огибающая, \omega _{0} - несущая частота, \varphi _{0}^{{}}\left( t \right) - фаза в начале антенной системы координат OXYZ, \varphi _{m}^{{}}\left( t \right) - фазовый набег относительно фазы в начале антенной системы координат для m-й антенны.

Фазовый набег относительно фазы в начале антенной системы координат легко рассчитать зная орт \mathbf{k} на источник и радиус-вектор \mathbf{r}_m антенного элемента.

201402 Z2 2 2.png

Разность хода фазового фронта сигнала \Delta r_m есть скалярное произведение орта и радиус-вектора точки пространства

\Delta r_m = \mathbf{r}_m \cdot \mathbf{k},

фазовый набег связан с разностью хода фазового фронта через длину волны несущей сигнала

\varphi_m = 2 \pi \frac{\Delta r_m}{\lambda}.

В рамках этой задачи удобно применить метод комплексных амплитуд. Тогда модели сигналов преобразуются к виду

y_{m}^{{}}\left( t \right)= Ah\left( t \right)\operatorname{Re}\left[ e_{{}}^{i\left( \omega _{0}^{{}}t+\varphi _{0}^{{}}\left( t \right) \right)}e_{{}}^{i\varphi _{m}^{{}}\left( t \right)} \right],

обозначим

\dot{y}_{m}^{{}}\left( t \right)=e_{{}}^{i\varphi _{m}^{{}}\left( t \right)} - нормированная к огибающей и амплитуде комплексная амплитуда сигнала.

Составим вектор из комплексных амплитуд сигналов различных антенн

\mathbf{\dot{y}}_{{}}^{{}}=\left| \begin{matrix}
   \dot{y}_{1}^{{}} & \dot{y}_{2}^{{}} & \dot{y}_{3}^{{}} & \dot{y}_{4}^{{}}  \\
\end{matrix} \right|_{{}}^{T}.

При фокусировке антенны в направлении углов \alpha, \beta производится умножение вектора комплексных сигналов на вектор фокусировки

\mathbf{\beta }\left( \alpha ,\beta  \right).

Вектор фокусировки определяется ожидаемыми фазовыми набегами для данного направления

\mathbf{\beta }\left( \alpha ,\beta  \right)=\left| \begin{matrix}
   e_{{}}^{-i\varphi _{1}^{{}}\left( t,\alpha ,\beta  \right)} & e_{{}}^{-i\varphi _{2}^{{}}\left( t,\alpha ,\beta  \right)} & e_{{}}^{-i\varphi _{3}^{{}}\left( t,\alpha ,\beta  \right)} & e_{{}}^{-i\varphi _{4}^{{}}\left( t,\alpha ,\beta  \right)}  \\
\end{matrix} \right|
Персональные инструменты
Пространства имён

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