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

Материал из 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 градусов).

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

Каждая m-я антенна формирует на выходе свой собственный сигнал y_m \left( t \right). При фокусировке производят весовое сложение сигналов различных антенн, получая из нескольких сигналов один.

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

\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)= Ah\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 Сервер
Инструменты