Есть в радиотехнике приёмы, которые на первый взгляд противоречат здравому смыслу. Один из них лежит в основе LoRa: эта технология вытаскивает полезный сигнал из эфира даже тогда, когда он тонет в шуме, оказываясь на двадцать децибел ниже уровня помех. Передатчик размером со спичечный коробок и питанием от часовой батарейки добивает на расстояние, недоступное ни Wi-Fi, ни Bluetooth, а один шлюз связывает тысячи разбросанных по местности датчиков. Для радиолюбителя, привыкшего считать каждый ватт и каждый децибел запаса, такая арифметика выглядит почти подозрительно, пока не разберёшься в механике.
Чирп вместо несущей и почему линейная частотная модуляция держит удар помех
В основе LoRa лежит модуляция с расширением спектра, известная как Chirp Spread Spectrum. Вместо привычной несущей фиксированной частоты передатчик отправляет в эфир чирпы, то есть импульсы, частота которых плавно и непрерывно меняется во времени, скользя вверх или вниз по всей выделенной полосе. Каждый такой свип несёт символ данных. Сам термин пришёл из акустики, где так называют птичий щебет с восходящей интонацией, и физика похожа: частота едет по диапазону, а приёмник, знающий закон этой езды, легко отделяет осмысленный сигнал от случайного шума.
Ключевая выгода в том, что энергия размазывается по широкой полосе. Приёмник сворачивает растянутый чирп обратно в узкий пик через операцию, родственную согласованной фильтрации, и в этот момент полезный сигнал собирается воедино, а шум остаётся размазанным. Отсюда и способность работать при отрицательном отношении сигнал-шум: демодулятор LoRa уверенно тянет данные, когда сигнал на пятнадцать-двадцать децибел слабее шумовой подложки. Дополнительно встроена прямая коррекция ошибок, Forward Error Correction, которая восстанавливает часть потерянных бит без повторной передачи. Широкополосность даёт ещё один бонус: метод нечувствителен к уходу частоты, вызванному дешёвыми кварцевыми резонаторами, а значит, оконечное устройство удаётся сделать предельно дешёвым.
Коэффициент расширения спектра как рукоятка размена дальности на скорость
Главный параметр, которым управляет конструктор, называется spreading factor, коэффициент расширения спектра, и обозначается от SF7 до SF12. Физически он задаёт число элементарных частот, чипов, на которое раскладывается один символ. Зависимость степенная: при SF7 один символ кодируется 2 в седьмой степени, то есть 128 чипами, а при SF12 уже 2 в двенадцатой, это 4096 чипов. Чем больше чипов, тем дольше длится символ, тем выше помехоустойчивость и чувствительность приёмника, но тем медленнее идут данные.
Размен здесь жёсткий и нелинейный. Каждый шаг вверх по SF примерно вдвое увеличивает время нахождения сигнала в эфире и вдвое режет пропускную способность, зато добавляет около трёх децибел к бюджету линии. Если взять SF7 за сто процентов скорости, то SF8 даёт половину, SF9 четверть, SF10 одну восьмую, SF11 одну шестнадцатую, а SF12 всего около трёх процентов от исходной скорости. Чувствительность движется в обратную сторону: примерно минус 123 дБм при SF7 и около минус 137 дБм при SF12. Переход с SF7 на SF12 прибавляет порядка двадцати пяти децибел к бюджету линии, что в реальных условиях оборачивается ростом дальности в пять-десять раз.
Опытные операторы держат в голове отрезвляющее правило: высокий SF это не рукоятка дальности, а дроссель пропускной способности сети. Тяга поставить SF12 ради максимального покрытия часто маскирует проблему антенного хозяйства. Поднять антенну выше, расчистить зону Френеля, снизить шумовой фон обычно эффективнее, чем душить сеть огромным временем в эфире. И ещё одна тонкость, важная для плотных сетей: символы с разными SF ортогональны, то есть сигналы, переданные на одной частоте, но с разным коэффициентом расширения, не мешают друг другу.
Полоса, скорость кодирования и расчёт времени в эфире
Кроме SF на работу влияют ещё два параметра. Полоса пропускания, bandwidth, в стандартных развёртываниях равна 125 килогерц, хотя аппаратура поддерживает значения от 7,8 до 500 килогерц. Удвоение полосы при фиксированном SF удваивает битовую скорость, но узкая полоса даёт лучшую чувствительность за счёт более низкого шумового порога, ценой большей чувствительности к уходу частоты. Скорость кодирования, coding rate, задаёт долю избыточных бит коррекции ошибок и выражается дробями от 4/5 до 4/8: чем плотнее защита, тем надёжнее приём в шуме и тем ниже полезная скорость.
Битовую скорость можно посчитать напрямую. Рабочая формула выглядит так: Rb = SF × (4 / (4 + CR)) / (2^SF / BW), где Rb искомая скорость в битах в секунду, BW полоса в герцах, CR числитель добавки кодирования от 1 до 4. Подставив SF7, полосу 125 килогерц и CR = 1, получаем порядка пяти с половиной килобит в секунду, тогда как для SF12 при той же полосе цифра падает до примерно 290 бит в секунду. Общий разброс скоростей LoRa лежит в пределах от 0,3 до 50 килобит в секунду в нелицензируемом спектре.
Бюджет радиолинии и расчёт предельной дальности через формулы
Дальность LoRa выводится не из интуиции, а из бюджета линии, который сводит воедино все усиления и потери на пути сигнала. Бюджет считают по уравнению LinkBudget = Pпер + Gпер + Gпр − Lтракт − Sпр, где Pпер мощность передатчика в децибел-милливаттах, Gпер и Gпр усиления антенн передатчика и приёмника, Lтракт суммарные потери в кабелях и разъёмах, а Sпр чувствительность приёмника. Чем больше получившийся запас, тем дальше добивает линия. Здесь и проявляется главная сила технологии: чувствительность LoRa-приёмника на SF12 достигает минус 137 дБм, тогда как у обычного узкополосного приёмника она редко лучше минус 120 дБм, и эти семнадцать децибел разницы напрямую конвертируются в кратный рост дальности.
Чувствительность приёмника сама раскладывается на составляющие по формуле Sпр = −174 + 10×log(BW) + NF + SNR, где минус 174 это тепловой шумовой пол в полосе один герц при комнатной температуре, BW полоса в герцах, NF коэффициент шума приёмника, SNR требуемое отношение сигнал-шум. Фокус LoRa в том, что обработка с расширением спектра делает требуемое SNR отрицательным, и демодулятор тянет сигнал при отношении сигнал-шум до минус двадцати децибел. Подставив полосу 125 килогерц, коэффициент шума около шести децибел и SNR минус двадцать, получаем чувствительность в районе минус 137 дБм, что и подтверждается практикой. Именно отрицательное требуемое SNR отличает LoRa от классических узкополосных систем, где сигнал обязан быть сильнее шума.
Сами потери распространения растут с расстоянием по логарифмическому закону. В свободном пространстве потери считают как FSPL = 20×log(d) + 20×log(f) + 32,45, где d расстояние в километрах, f частота в мегагерцах. Но в реальной застройке потери нарастают быстрее, и применяют эмпирические модели с показателем затухания от двух в открытом поле до четырёх и выше в плотном городе. Удвоение расстояния в свободном пространстве добавляет шесть децибел потерь, а в городе все двенадцать, и потому переход с открытой местности в застройку режет дальность LoRa в разы при том же бюджете линии.
Энергопотребление и почему датчик живёт на батарейке годами
Вторая опора экономики LoRa это ничтожное энергопотребление оконечных устройств, и оно тоже поддаётся расчёту. Средний ток потребления узла складывается из тока в активном режиме передачи, умноженного на долю времени в эфире, и тока в спящем режиме всё остальное время. Поскольку датчик передаёт короткий пакет раз в несколько минут или часов, а спит между передачами, средний ток выходит микроамперным. Ёмкость батареи делят на средний ток и получают срок службы: при ёмкости литиевого элемента в две с половиной ампер-часа и среднем токе в десять микроампер расчётный срок превышает двадцать лет, хотя на практике его ограничивает саморазряд элемента.
Здесь всплывает оборотная сторона высокого коэффициента расширения. Время нахождения в эфире на SF12 в тридцать два раза больше, чем на SF7, и каждая передача на высоком SF расходует во столько же раз больше энергии. Поэтому гонка за дальностью через подъём SF бьёт не только по ёмкости сети, но и по сроку службы батареи. Грамотный проектировщик сети адаптивно выбирает скорость передачи данных, ADR, поднимая SF лишь для дальних узлов и держа ближние на быстром SF7, что разом экономит и эфирное время, и заряд батарей.
Время нахождения в эфире, time-on-air, считается через длительность одного символа Tsym = 2^SF / BW. При SF12 и полосе 125 килогерц символ длится около 32 миллисекунд, при SF7 в тридцать два раза короче. Эта величина критична, потому что в нелицензируемых диапазонах действует ограничение коэффициента заполнения, duty cycle, и слишком длинные посылки на высоком SF быстро упираются в разрешённый лимит эфирного времени.
Частоты, дальность и место LoRa в радиолюбительском хозяйстве
LoRa работает в нелицензируемых диапазонах: 433 мегагерца, 868 мегагерц в Европе и 915 мегагерц в Северной Америке, есть и варианты на 2,4 гигагерца. Дальность зависит от рельефа и застройки. В городе с плотной застройкой реально получить около пяти километров, на открытой местности связь дотягивается за пятнадцать километров, а в идеальных условиях прямой видимости отдельные линии перекрывают и больше десяти-двадцати километров. Максимальный размер пакета в типовых модемах ограничен 255 байтами, после отправки модем рапортует о завершении передачи.
Поверх физического уровня LoRa строится сетевой протокол LoRaWAN, который добавляет адресацию, шифрование, двунаправленный обмен и сервисы определения местоположения. Архитектура звёздообразная: оконечные устройства разговаривают со шлюзами, а те через обычный канал связи передают данные на сетевой сервер. Один шлюз тянет тысячи датчиков, и именно эта экономика сделала технологию опорой для интернета вещей, от счётчиков воды до сельскохозяйственных сенсоров на полях.
Для радиолюбителя интерес здесь двоякий. С одной стороны, модули вроде SX1276 или RN2483 управляются простыми текстовыми командами через последовательный порт и без труда стыкуются с Arduino или иным микроконтроллером. Включается режим P2P командой mac pause, выбирается модуляция lora, задаются частота, мощность от минус трёх до пятнадцати децибел, полоса приёма и spreading factor, после чего два устройства общаются напрямую без всякой инфраструктуры. С другой стороны, LoRa тесно соседствует с миром программно определяемого радио, SDR, и эксперименты на стыке этих технологий открывают простор для самодельных телеметрических линий, ретрансляторов и сенсорных сетей, собранных своими руками.
Где проходит граница разумного применения
Понимание разменов отделяет работающую сеть от мучений с пропаданием пакетов. LoRa блестяще решает задачу редкой передачи малых порций данных на большое расстояние при копеечном энергобюджете, но проваливается там, где нужен поток. Видео по ней не передать, голос тоже, и попытка втиснуть в узкий канал лишние данные оборачивается ростом SF, удлинением посылок и упором в ограничение эфирного времени.
Радиолюбитель, который берёт LoRa в работу, обычно держится нескольких ориентиров при настройке линии:
- начинать с SF9 как универсального компромисса, затем при устойчивом приёме спускаться к SF7 или SF8 ради ёмкости сети;
- поднимать SF до SF10 или SF11 только при явно маргинальном покрытии, а к SF12 прибегать лишь когда дальность действительно на пределе;
- держать полосу 125 килогерц как отправную точку и сужать её только осознанно, понимая платёж за уход частоты;
- следить за временем в эфире и коэффициентом заполнения, чтобы не нарушить разрешённый лимит в нелицензируемом диапазоне;
- сначала улучшать антенну и высоту подвеса, и лишь потом крутить параметры модуляции.
Технология подкупает именно своей честностью: она не обещает невозможного, а предлагает прозрачный набор рычагов, где за каждый децибел дальности приходится платить скоростью, а за каждый бит в секунду расплачиваться покрытием. Радиолюбитель, освоивший эту бухгалтерию, получает в руки инструмент, превращающий горсть дешёвых модулей в распределённую сеть связи, которая работает там, где обычные радиоканалы давно сдались.