Задания к практическим занятиям (ММ РУиС) — различия между версиями
Korogodin (обсуждение | вклад) (→Задача 2.2 Сигналы и диаграмма направленности антенной решетки) |
Korogodin (обсуждение | вклад) (→Задача 2.2 Сигналы и диаграмма направленности антенной решетки) |
||
Строка 244: | Строка 244: | ||
Результатом вычислений диаграммы направленности является массив значений <math>F\left( \alpha _{s}^{{}},\beta _{s}^{{}}|\alpha _{f}^{{}},\beta _{f}^{{}} \right)</math> для угла <math>\alpha_s</math> от -180 до 180 градусов, <math>\beta_s</math> от -90 до 90 (данный выбор диапазона углов не соответствует традиционному определению сферических координат, зато удобен для вывода диаграммы направленности): | Результатом вычислений диаграммы направленности является массив значений <math>F\left( \alpha _{s}^{{}},\beta _{s}^{{}}|\alpha _{f}^{{}},\beta _{f}^{{}} \right)</math> для угла <math>\alpha_s</math> от -180 до 180 градусов, <math>\beta_s</math> от -90 до 90 (данный выбор диапазона углов не соответствует традиционному определению сферических координат, зато удобен для вывода диаграммы направленности): | ||
<source lang="matlab"> | <source lang="matlab"> | ||
− | alpha = -180:2:180; | + | alpha = deg2rad(-180:2:180); |
− | beta = -90:2:90; | + | beta = deg2rad(-90:2:90); |
... | ... | ||
F | F | ||
</source> | </source> | ||
− | + | Для задания поверхности недостаточно задать массивы координат её точек, т.к. нужна информация о том, какие точки являются соседними - что с чем соединять. Поэтому в MATLAB используются не три вектора координат, а три матрицы, задающие сетку параметров. | |
+ | [[file:201402_Z2_2_3.png|center|500px]] | ||
+ | |||
+ | Для "растягивания" векторов координат абсцисс и ординат используется функция meshgrid | ||
<source lang="matlab"> | <source lang="matlab"> | ||
− | + | [alpha_m, beta_m] = meshgrid(alpha, beta); | |
− | + | ||
− | + | ||
</source> | </source> | ||
− | + | Значения <math>\alpha_s</math>, <math>\beta_s</math>, <math>F</math> задают три координаты в сферической системе координат. В MATLAB доступны функции построения поверхностей в прямоугольной декартовой системе координат, поэтому перед построением необходимо произвести соответствующее преобразование. Для преобразования из сферической в прямоугольную систему существует функция <code>[x, y, z] = sph2cart(beta_m, alpha_m, F)</code>, производящая отображение: | |
− | + | <source lang="matlab"> | |
− | + | x = F .* cos(alpha_m) .* cos(beta_m); | |
+ | y = F .* cos(alpha_m) .* sin(beta_m); | ||
+ | z = F .* sin(alpha_m); | ||
+ | </source> | ||
[[Категория:ММ РУиС (дисциплина)]] | [[Категория:ММ РУиС (дисциплина)]] |
Версия 10:51, 20 февраля 2014
Содержание |
Занятие 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 градусов).
Комментарии:
Сигналы антенных элементов
Каждая m-я антенна формирует на выходе свой собственный сигнал . При фокусировке производят весовое сложение сигналов различных антенн, получая из нескольких сигналов один.
По условию задачи можно пренебречь разностью огибающей для различных точек апертуры антенны. Для ряда практических задач это допущение прекрасно выполняется. Тогда сигналы антенн отличаются только фазой несущей, их математическая модель может быть представлена в виде:
где - амплитуда сигналов, - огибающая, - несущая частота, - фаза в начале антенной системы координат OXYZ, - фазовый набег относительно фазы в начале антенной системы координат для m-й антенны, - угол места и азимут направления на источник сигнала.
В рамках этой задачи удобно применить метод комплексных амплитуд. Тогда модели сигналов преобразуются к виду
- ,
обозначим
- - комплексная амплитуда сигнала m-ой антенны.
Составим вектор из комплексных амплитуд сигналов различных антенн
Вектор комплексных амплитуд при приеме образуется после гетеродинирования сигналов (в передающих устройствах последовательность обратная).
Связь фазовых набегов с направлением на источник сигнала
Фазовый набег относительно фазы в начале антенной системы координат определяется положением антенного элемента и направлением прихода сигнала. Его легко рассчитать зная орт на источник и радиус-вектор антенного элемента.
Разность хода фазового фронта сигнала есть скалярное произведение орта и радиус-вектора точки пространства
фазовый набег связан с разностью хода фазового фронта через длину волны несущей сигнала
- .
Для m-oй антенны и направления получаем выражение
Алгоритм фокусировки
При фокусировке антенны в направлении углов производится умножение вектора-строки фокусировки на вектор-столбец комплексных сигналов
- .
Вектор фокусировки определяется ожидаемыми фазовыми набегами для направления фокусировки
Диаграмма направленности
Характеристикой направленности называют зависимость нормированной комплексной амплитуды на выходе системы пространственной обработки от направления прихода пробного сигнала при заданном направлении фокусировки . Здесь - амплитуда одного сигнала на выходе всенаправленной антенны.
Функция называется диаграммой направленности.
Для принятой модели сигналов диаграмма направленности определяется выражением:
- ,
где - диаграмма направленности одного антенного элемента.
Вывод диаграммы направленности в трехмерном виде
Результатом вычислений диаграммы направленности является массив значений для угла от -180 до 180 градусов, от -90 до 90 (данный выбор диапазона углов не соответствует традиционному определению сферических координат, зато удобен для вывода диаграммы направленности):
beta = deg2rad(-90:2:90);
...
F
Для задания поверхности недостаточно задать массивы координат её точек, т.к. нужна информация о том, какие точки являются соседними - что с чем соединять. Поэтому в MATLAB используются не три вектора координат, а три матрицы, задающие сетку параметров.
Для "растягивания" векторов координат абсцисс и ординат используется функция meshgrid
Значения , , задают три координаты в сферической системе координат. В MATLAB доступны функции построения поверхностей в прямоугольной декартовой системе координат, поэтому перед построением необходимо произвести соответствующее преобразование. Для преобразования из сферической в прямоугольную систему существует функция [x, y, z] = sph2cart(beta_m, alpha_m, F)
, производящая отображение:
y = F .* cos(alpha_m) .* sin(beta_m);
z = F .* sin(alpha_m);