СМО - Техническая спецификация прототипа под F3K
Не то чтобы появилось время для работы по СМО, скорее просто - чтоб не оставлять работу в подвисшей стадии.
Постановка задачи была сделана несколько ранее, и в процессе обсуждения на первых четырех страницах темы решение было найдено.
Ниже - сухая техническая выжимка. Если кому есть что добавить - пишите в названную пухлую тему. Здесь же - исключительно для членов подполья.
Постановка:
В F3K одна из основных проблем это нехватка хронометристов, при трудности самостоятельного хронометража в ряде упражнений. Задача комплекса:
- Определить момент схода модели с рук.
- Определить в какой зоне произошел сход.
- Определить момент возможного прерывания*
- Определить момент касания моделью земли, пилота, помощника, зрителя.
- Определить в какой зоне (или за ними), произошло это касание.
- Определить пойдет ли в зачёт (на в фиксацию в протоколе) время сделанной попытки в заданном упражнении. Если да, то с каким временем и с каким возможным штрафом будет записана попытка.**
Примечания:
* - Имеется ввиду, что может наступить прерывание. Например “Конец рабочего (или 180 для алл-ап) времени” и если спортсмен не успеет вернуть модель в зону в течении 30 секунд, получит ноль. Поэтому важны все три момента. Моментом прерывания может быть и старт ранее, чем началось рабочее время. Тогда также важно поймать момент прерывания, чтобы аннулировать попытку.
** - Измеряемое время зависит от типа упражнения и может измеряться как разница между двумя из трёх названных моментов времени. По российским правилам штрафуется даже просто посадка в зоне безопасности. Т.е. для получения штрафа касаться человека не обязательно. Задача опредления касания “себя” / “не себя” / “предмета” отброшена, как технически неразрешимая.
Техническое решение
Оборудование моделей
Моноблок, весом не более 5-10 грамм, включающий:
- Кабель для получения питания (4.8-10V) и сигнала газа в стандартном приемнике
- Выходная группа контактов, для выдачи модифицированного PPM сигнала в канал газа *
- Барометрический датчик высоты **
- G-sensor - одноосевой акселерометр для измерения ускорения по оси X ( т.е. вдоль фюзеляжа) ***
- Радиомодуль ****
- Передающая антенна в виде провода
Примечания:
* - В F3K не требуется, но зарезервировано для выполнения функции лимиттера высоты взлета в F5J
** - Барометрический датчик для F3K не является строго обязательным, но для выполнения функций лимиттера без него не обойтись.
*** - Комбинация барометрического датчика и акселерометра позволит определить как момент взлета метательного планера, где G-сенсор будет недвусмысленно зашкаливать, так и момент посадки - неизбежного удара / резкого торможения по оси Х. Во время же полета - никаких резких смен ускорений по этой оси нет. Если же осуществляется ловля планера за штырь, с последующим забросом, это также может быть обнаружено алгоритмически (заброс - всегда ускорение).
*** - Радиомодуль должен позволять аппаратно производить выдачу фазокодоманипулированного сигнала (phase-shift keying (PSK) ) на желаемой частоте 433 МГц, где первичным передаваемым сообщением является принадлежность источника сигнала нашему комплексу и, если возможно, код модели. Радиомодуль должен передавать на землю и другие данные, однако способ модуляции может отличаться от первичного PSK. Желательно иметь возможность и третьей - альтернативной модуляции сигнала, предназначенной для звукового вещания на один из стандартных каналов PMR или LPD радиостанции, для автономного использования моноблока при тренировках. Например, в качестве вариометра/высотомера.
Наземное оборудование
Все схемки для работы с программами типа DIA представлены здесь: aerobica.ru/tmp/fling/SMO02. [ dia | jpg | dxf | svg ] , в названных форматах
Точкой A обозначено текущее положение источника сигнала от моноблока с модели, либо заранее выбранное статичное положение источника тестового сигнала. Источником тестового сигнала может быть любой моноблок, аналогичный размещаемому на модели.
Компоненты наземного оборудования:
-
Удаленный ретранслятор (B-) осуществляющий прием сигналов от моделей и его ретрансляцию на другой частоте, либо в другом коде, обеспечивающий фиксированную и строго одинаковую задержку (+/- 100 Пс) от момента получения первичного PSK-сигнала до момента ретрансляции сигнала о его получении. Сами данные распознавать и ретранслировать не требуется.
-
Сдвоенные приемники (C,D,X) в так называемых “вышках”, обеспечивающие прием как сигналов от моделей, так и сигналов от ретранслятора. Приемники должны обеспечивать быструю аппаратную фильтрацию “своего” PSK сигнала и передачу start (прямой сигнал) и stop (сигнал ретранслятора) импульсов на Time to Digital Converter (TDC) схему.
-
Контроллеры вышек (C,D,Х), выполняющие извлечение кода модели, демодулирующие данные телеметрии (возможная модуляция 2) и извлекающие данные (наносекунды) из TDC-схемы. Агрегированный пакет данных должен содержать код модели, данные о задержке с TDC, текущие показания часов на модели (+/- 0.01 с) и комплексные данные с последней. Комплексные данные являются результатом автономной обработки показаний G-сенсора, барометра и часов на самой модели, и представляют зафиксированные датчиками сведения о фазе полета - взлёт, полет, посадка и времени (+/- 0.01 с) когда была зафиксирована соответствующая фаза. Контроллеры вышек должны предоставлять пакеты агрегированных данных по высокоуровневым протоколам. Например, через стандартный UART. Для вышек С и D контроллеры должны также иметь возможность беспроводной передачи данных. Например, с использованием Bluetooth.
-
Судейский ПК (X), агрегирующий пакеты со всех трёх вышек. Судейский ПК принимает пакеты с информацией о моделях и тестовом источнике сигналов и, пользуясь информацией о задержках сигналов в TDC, рассчитывает 3D координаты моделей. Данные из пакетов используются для принятия и фиксации решений, зафиксированных в постановке задачи. Т.е. осуществляется вся черновая работа по хронометражу и интеграции с электронными табло, звуковоспроизводящей системой и системой подсчёта очков.
Особенности реализации
-
Данные с моделей на землю целесообразно передавать на единой для всех моделей несущей частоте, посредством коротких посылок. Такой метод доступа к несущей называется Carrier Sequense Multiple Access (CSMA) Поскольку передающий устройств не так много, коллизии предотвращаются чисто алгоритмически. Например, каждая модель вещает не чаще чем раз в 300-500 миллисекунд. Сигнал с короткой несущей - десяток миллисекунд. В остальное время - радиомолчание. Длительная пауза вызывает необходимость частичной агрегации и обработки данных на самой модели, однако не исключено, что окончательные решения о текущей “фазе полета”, может принимать и судейский ПК. Выбираемая длительность паузы между пакетами разниться для каждой модели. При использовании простых чисел для определения длительности паузы, вероятность коллизий уменьшается настолько, что позволяет эффективно делить частоту.
-
Длина волны при 433 МГц - 67 см. Выбранная длина волны должна обеспечить точность +/- 1 метр. Делать меньше - не имеет смысла, поскольку например для F3J, и полметра точности будет мало. Но поскольку там нет по 10 взлетов-посадок в одном туре, то один раз расстояние можно и руками измерить. Главное, что на соревнованиях надо организационно решать вопрос о том что первично - “визуально” или “по-прибору”, поскольку без этого никакой точности никогда не хватит.
-
Важный момент это правильный выбор типа модуляции, чтобы координально не снизить точность системы. Вычислять момент окончания крохотного старт-пакета нужно точно. Именно поэтому необходимо использовать PSK с входными аппаратными фильтрами, которые фиксируют “свой” сигнал в один и тот же (с точностью пикосекунды) момент времени, благодаря фиксации именно изменения фазы (см. пункт 4 особенностей реализации). Для TDC же требования сравнительно ослаблены, поскольку для названной частоты смысла мерять точнее, чем 2 наносекунды (2257 пс).
В общем случае обработка сигнала имеет три стадии
1)-я же стадия - отличить несущую (а их может оказаться и две) и выделить 1-пакет от единственного, возможно пока неизвестного источника.
2)-я стадия - измерение дельт для определения пространственного положения источника сигнала
3)-я стадия - демодулирование 2, 3 и последующих порций/пакетов сигнала, чтобы извлечь данные, передаваемые на низкой скорости, но с хорошим/помехозащищенным кодированием (код Хэмминга и т.п.) . Именно на этой стадии мы гарантированно (если не решилось в 1-й стадии) узнаем, от какого источника пришли данные.
- (phase-shift keying (PSK)) — один из видов фазовой модуляции ) в котором фаза НЕСУЩЕЙ СИНУСОИДЫ меняется скачкообразно, так, чтобы в виде кода Грея закодировать фиксированную последовательность из нескольких бит. Ровно столько (4-7 бит) нам и надо, чтобы отличить свой сигнал с модели, от шумов. Увеличение длины кода до 12-16 бит - позволяет передать не только код “свой”, но код самой модели, однако использование разных кодов может вызывать существенное удорожание приемного оборудования. Именноь поэтому вопрос о том когда передавать код модели - сразу или в пакете данных, остается открытым.
Иллюстрация
Скачкообразное изменение несущей доходит до приемников НЕ с разницей во времени, определяемой длиной сообщения (наши несколько бит), а с разницей во времени, определяемой расстоянием. Если два приемника находятся в одной точке, то входные фильтры (не программные, а аппаратные) на нашу последовательность бит PSK, дадут сигнал с разницей в единицы пикосекунд. Ибо иначе (см. рисунок выше) манипулированная фаза проскочит и сигнал не распознается. Таким образом разница во времени обнаружения “своего” кода, не зависит от длины посылки (в битах). В статье о PSK есть графики с вероятностью ошибки на бит (BER) к соотношению несущая/шум для различных видов PSK модуляции.
график
Точный вид модуляции и точное конечное приемное (как пример чип MC92303 ) или модулирующее ( пример ) устройство, пусть выбирают специалисты по радио. Именно им виднее как обойти известные проблемы самостоятельно сделанного высокочастотного модуля:
- Цена
- Габариты - вес
- Шум в свой и соседние диапазоны
- Сложность сертификации.
Возможно, что даже придется уйти из диапазона 433 МГц в 2.4 ГГц, где с PSK должно быть проще, и предложить/разработать другой тип радиостанции для автономного использования передающего моноблока.
Подзадачи
Многие задачи можно, а иногда и нужно решать одновременно.
1a - Создание образца тестового устройства посылки пеленгуемого сигнала
1b - Доработка алгоритма для модуляции посылок с данными телеметрии, первичной из которых является код модели.
2a - Работы по созданию промежуточного автономного устройства для сбора данных от G-сенсора (можно сразу и G и барометр)
2b - Эксперименты по определению моментов взлёта/посадки по данным G-sensora (и возможно барометра)
2c - Формализация алгоритма, для определения взлета/посадки с точностью +/- 0.5 секунды
3a - Создание радиомодуля для размещения на модели (с передачей телеметрии)
3b - Дальнейшие работы по развитию радиомодуля как автономного устройства. Т.е. все работы в направлении автономного использования пары маяк + бытовая радиостанция.
4a - Создание приемника первичного сигнала с выводом отфильтрованного начала/конца импульса на TDC схему.
4б - Создание передатчика и приемника для ретранслируемого сигнала с выходом на TDС схему.
4c - Программирование контроллера “вышки” для измерения времени и выдачи данных о задержке на отладочный ПК-ноутбук
4d - Программирование контроллера “вышки” в части демодулятора кода модели и данных телеметрии, с выдачей информации по UART на отладочный ПК-ноутбук
5a - Программирование решения задачи калибровки и определения 3D координат на судейском ПК по данным, собираемым с вышек.
5b - Развитие судейской программы (определение зон, допусков, интеграция с F3KScore, электронным табло/телевизором и т.п.)
6a - Решение подзадачи по организации надежной связи “вышка” - судейский ПК. Если Bluetooth не потянет по скорости либо дальности.