Уна Ряйсянен определила GPS-координаты беспилотника по звуку с Youtube

от автора

Финский инженер и хакер Уна Ряйсянен (Oona Räisänen), которая увлекается обработкой звука, случайно обнаружила на Youtube видеозапись, сделанную с беспилотного летательного аппарата во время преследования беглеца на автомобиле. Уну не увлекли приключения полиции, но она очень заинтересовалась необычным звуком, который услышала из колонок, особенно с левого канала.

Уна сначала подумала, что это помехи от двигателя дрона, но когда изолировала левый канал и усилила звук ( selostus2.mp3), то сразу стало ясно, что это некий таинственный цифровой сигнал!

Любопытство заставило девушку взяться за решение головоломки. Судя по спектрограмме левого канала, аппарат использовал частотную бинарную частотную модуляцию (BFSK), когда значениям 0 и 1 присваиваются звуки определённой частоты. В данном случае частота изменялась между 1200 и 2200 Гц. Уна осуществила демодуляцию сигнала по фильтру нижних и верхних частот в open-source программе для аудиобработки SoX (Sound eXchange). На выходе получился цифровой поток на 1200 бод.

Поток состоит из пакетов по 47 байт, синхронизированных по начальным и конечным битам и разделённых между собой байтом 0x80. Большинство битов остаются неизменными на протяжении всего видеоролика, но три отдельные группы определённо изменяются. На скриншоте они обозначены синим.

Уна начала гадать, что бы это могло быть? Может быть, данные телеметрии? Или информация о направлении съёмки с видеокамеры? Какие-то метки времени по кадрам?

Проведя анализ трех групп данных, Ряйсянен пришла к мнению, что в это именно телеметрия. Если отбросить первые четыре бита в каждом байте, то оставшиеся байты можно представить как пару трехзначных чисел в кодировке base-10. Если нанести их на оси координат x и y, то получится график, очень похожий на реальную схему передвижения беспилотника. На карте желтым показаны примерные координаты дрона, судя по картинке с видео, а слева вверху — график со значениями из таинственного потока данных (отображены первые несколько минут видеосъемки).

Если присмотреться ещё внимательнее, то можно заметить, что 100 координатных пар в точности соответствуют одной минуте видео.

Зная конечные координаты беспилотника (он кружился над полицейским участком), можно нанести получившуюся траекторию на карту Google Earth.

Благодаря советам знающих товарищей из интернета Уна Ряйсянен поняла, что здесь используется 7-битная кодировка Bell 202 ASCII. После декодирования значения выглядят так:

#L N390386 W09434208YJ
#L N390386 W09434208YJ
#L N390384 W09434208YJ
#L N390384 W09434208YJ
#L N390381 W09434198YJ
#L N390381 W09434198YJ
#L N390379 W09434188YJ

Это полные пары долготы и широты с точностью до четвёртого знака (39.0386° N, 94.3420° W).

P.S. Кстати, год назад Уна Райсанен составила чёткую блок-схему с описанием всех звуков, которые издаёт диалап-модем при установке соединения.

ссылка на оригинал статьи http://habrahabr.ru/post/211128/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *