Программно-определяемое радио появилось сравнительно недавно и проникло в мир так тихо, что мы почти и не заметили. Обычное традиционное радио работает на маленьких кристаллах кварца, примерно таких же, как в электрических часах. Кварц имеет свойство вибрировать, то есть колебаться туда и обратно с частотой, заданной при его изготовлении. Выбирайте кристалл, настроенный на нужную частоту, соорудите вокруг него электронную схему, и радио готово — оно может настроиться на любые сигналы, частота которых попадает в пределы колебательных частот кристалла. Одни радиоприемники настраиваются на спутники GPS, другие — на сотовые телефонные сигналы стандарта CDMA, третьи — на FM-радиостанции, и так далее, и тому подобное.
Но SDR — это программируемое радио. Вместо кристалла в нем работает аналого-цифровой преобразователь, небольшой электронный прибор, который принимает любые аналоговые сигналы с датчиков, например световые колебания с фотоэлементов или звуки с микрофона, и превращает их в нули и единицы. Подключаете преобразователь к радиоантенне, сообщаете ему, к какому диапазону прислушиваться, а потом с помощью стандартных программ извлекаете информацию из принимаемых им сигналов.
Это означает, что одно и то же устройство способно считывать сигналы воздушного транспорта, полицейских каналов, любительской радиосвязи, аналогового телевидения, цифрового телевидения, АМ-радио, FM-радио, спутникового радио, GPS, радионянь, одиннадцать стандартов вайфая и все, какие существуют, стандарты сотовой связи, и делать все это одновременно. Главное условие — чтобы преобразователь был достаточно быстрым, антенна — достаточно большой, а программы — шустрыми. Представьте себе, что вы изобрели автомобиль, который путем загрузки нужных программ может превращаться в велосипед, реактивный самолет, дирижабль, океанский лайнер или гоночный мотоцикл. Вот так это и происходит в мире радиоволн. Гениальная штука.
На своих дронах Лемми установил готовые SDR-приемники, купленные у нью-йоркской компании Adafruit, специализирующейся на электронных компонентах с открытым исходным кодом. Adafruit продает устройства с полным открытым кодом и подробными схемами, то есть вы имеете возможность переделать их под свои задачи. В Нойзбридже все обожали их SDR-приемники и другие детали. И, поскольку тысячи хакеров и рукастых умельцев по всему миру пользовались станциями, выпущенными этой компанией или ее конкурентами по тем же чертежам, то, разумеется, по сети гуляло очень много чистых, хорошо задокументированных программ для работы с ними.
Сидя на пассажирском кресле, я вникал в тонкости программного кода, лишь краем глаза замечая, как Лемми то трогается с места, то тормозит, то сворачивает из переулка в переулок, пытаясь выбрать местечко поближе к демонстрации.
— Ну что, док, каков вердикт? — спросил он, ставя машину на стояночный тормоз. — Годятся мои программы?
Я пожал плечами:
— На мой взгляд, все нормально. Осмелюсь предположить, ты просто скопировал примеры кода из руководств и добавил пару строк, привязывая каждый модуль к предыдущему. Так?
— Ага, — усмехнулся он. — Для меня написать программу — это как приготовить кекс из готовой сухой смеси: высыпаешь в миску, добавляешь яйцо и чашку воды, перемешиваешь и ставишь в духовку. Кекс все равно получится, а красивый или нет — это уже другой вопрос.
— Ну что ж, тогда посмотрим, испекся ли наш кекс.
Я вышел из машины. Это далось нелегко, потому что мы припарковались на уходящем вверх склоне крутого холма. Не сразу понял, куда нас занесло, а сообразив, удивился:
— Это же обратная сторона Ноб-Хилл!
— Ага. Я не смог ближе подобраться к демонстрации. Она огромная.
— Но нам же надо быть в миле отсюда? Или вроде того?
— Да нет, меньше. К тому же, насколько я вижу, протесты разрастаются. К концу дня дотянутся и досюда. Там происходит что-то несусветное. Люди злы как черти. Я тут живу с восьмидесятых годов и ни разу не видел таких масштабов.
Лемми достал из багажника квадрокоптеры. Они представляли собой крестообразные конструкции из легкого гибкого пластика, с четырьмя вертолетными винтами по концам крестовины. Посередине в круглой капсуле находились аккумуляторы, электроника, радио и системы управления. Без аккумуляторов каждый дрон весил меньше полкило, но с аккумуляторами этот вес удваивался. Лемми вручил мне два дрона. Я взял их в обе руки, кое-как пристроив пальцы между датчиками и антеннами центрального диска, стараясь ничего не погнуть и не заляпать линзы объективов.
Потом он протянул мне еще один. Лемми вообще обращался с дронами гораздо грубее, чем осмеливался я. Что ж, хозяин барин, хочет ломать — пусть ломает. Я неуклюже подхватил третий дрон под мышку. Оставшийся аппарат Лемми взял в одну руку, а другой стал водить по экрану телефона. Винты закрутились, застрекотали по-стрекозьи, квадрокоптер пару раз дернулся у него на ладони и взмыл. Вертикальный взлет произошел так быстро, что, казалось, дрон просто исчез в результате какого-то спецэффекта.