Comments 39
почему бы LoRa не вставить в нишевый повербанк.
Заряжаешь телефон и как вариант можешь в лесу общаться с помощью "смс" , которые телефон напишет и по кабелю передаст в повербанк LoRa
была бы резервная связь за копейки
Кажется, meshtastic.org как раз это и предлагает и готовые устройства уже существуют.
Можно взять готовое meshtastic, можно сделать самому: плата от Heltec на ESP32 + LoRa чип. Питание от Type-C телефона. Мини-чат на дальние расстояния - легко)
Уже сделали, heltec mesh pocket.
Нишевый...
В форме тора?
Интересно было бы провести эксперимент по использованию голографического кодирования в канале LoRa - допустимое отношение сигнал/шум должно опуститься ещё на 10-12 дБ. Для эксперимента достаточно закодировать передаваемый блок данных, например, в Матлабе, и декодировать в нём же после приема.
Какая разница какое кодирование, если выигрыш в отношении с/ш определяется только базой сигнала..
Принципиальная разница - обеспечивается безошибочный прием при мощности шума в 100 раз больше мощности сигнала. А при голографическом кодировании - и при 100% погрешности в принятом сигнале.
За счет того, что скорость снижается до нуля, да) вы путаете кислое с горячим, имхо - способ организации физического канала связи и методы помехоустойчивого кодирования цифрового потока
В физическом канале связи используется помехоустойчивое кодирование. При использовании голографического кодирования с 10-кратной избыточностью обеспечивается исправление 25% случайных ошибок или любого количества (до 100%) пакетных ошибок. Снижение скорости в канале - в 10 раз.
В каком месте физического канала связи присутствует это кодирование? Там же биты обычные передаются 1 и 0
Пока не присутствует, я только предлагаю его. В любом цифровом канале, независимо от метода модуляции, 6 информационных бит заменяются 64-битным кодовым словом. Это один вариант. Второй - в аналоговом канале создается сигнал, спектр которого имеет форму голограммы. Тогда возможна безошибочная передача при отношении сигнал/шум менее минус 20 дБ.
Исправление 25% ошибок при 10 кратной избыточности как то многовато. Код Рида-Соломона дает такой результат при 50% избыточности
У кода Рида-Соломона меньше исправляющая способность - для исправления каждого ошибочного символа необходимо два проверерочных, которые так же искажаются ошибками. Пример. 8 информационных символов, 4 проверочных (50% избыточность). 25% ошибок - это 3 ошибки на 12-разрядное передаваемое слово (8+4). Для исправления 3 ошибок необходимо 6 проверочных символов, а их всего 4.
Провел я тесты с LoRa и голографическим кодированием. Первое это избыточность передаваемых данных, при отправке 8 байт бакет разрастается при кодировании в зависимости от ПАРАМЕТРА k я использовал к=8. Второе это не эффективность при отправке одного пакета. Та как как лора шлёт всегда один пакет упакованый с данными. А для полноценной работы алгоритма нужно разбивать один пакет LoRa хотя бы на 3 , после получения через голографическое кодирование восстанавливать пакет. При этом в LoRa нужно отключать ,CRC и Implicit header что бы чистые байты попадали на выход и не обрезали самой LoRoй. LoRa уже умеет своими встроенным алгоритмами восстанавливать данные. Вывел анализ на экран чик что бы смотреть что происходит. F - не смог восстановить пакет, L - потерянные пакеты полностью.

Как проверяли работоспособность самого кодирования? При k=8 информационный блок 8 бит, кодовое слово - 256 бит, исправляются 84-84 случайных ошибок (33% от длины кодового слова). Не надо связывать кодирование с формированием пакетов LoRa - исходные данные, подлежащие передаче по каналу LoRa, закодировать, получить массив в 32 раза большей длины, передать как любые другие данные по каналу LoRa, декодировать и посчитать число ошибок. Повторять эту процедуру при разных уровнях шума и убедиться, что с кодированием верность передачи информации гораздо выше.
модули LoRa потребляют так мало энергии, что могут работать от одной зарядки аккумулятора год или больше. - автор, вы видели ток потребления микросхемы sx1276 или ей подобной? Не вводите людей в заблуждение. Годами могут работать другие устройства, например BLE. Не путайте эти технологии.
Спасибо за уточнение! Вы правы, что пиковый ток потребления SX1276 в режиме передачи может достигать сотен мА, что, конечно, совсем не мало.
У меня речь идёт не про непрерывную трансляцию, а про типичный сценарий автономного датчика: глубокий сон с током потребления порядка 0,2–1 мкА и короткая отправка пакета раз в несколько часов или раз в сутки. В таком режиме устройства LoRa могут жить, например, от аккумулятора 18650 год и более.
Вот здесь я с вами совершенно согласен. Именно поэтому их можно применять для передачи данных с домовых датчиков, например датчиков воды. Но это за счет правильного выстраивания алгоритма работы. Но в целом вы молодец. Статья большая, насыщенная. Я так же работал с LoRa, причем сначала именно на sx1276, а совсем недавно и на STM32WL55. Технология хороша для некоторых задач. Но из-за широкой полосы много из неё не выжмешь. LoRa устройства не забиваются обычными передатчиками, зато хорошо забиваются другой LoRa-ой. В этом плане мне больше нравятся узкополосные системы типа РСПИ Базальт от Альтоники. Сам там работал лет 10 назад, поэтому знаю о чем говорю. Ну а с BLE системами я знаком очень хорошо. Можете почитать мои статьи :-) Хорошего дня и творческих успехов.
Благодарю за отзыв! Смотрел ваши статьи, думаю они будут мне полезны!
Еще модули LoRa могут слушать эфир перед тем как начинать передачу, и если канал занят, задерживать передачу до его освобождения. Называется LBS. Возможно это как-то может снизить проблему перегруженных каналов.
вот еще одну выложил, но она совсем их другой область. https://habr.com/ru/articles/1060282/
Проект WFB-NG, лежащий в основе OopenIipc, позволяет передавать видео в реальном времени на несколько километров. Правда, это видео должно быть сжатое через h265.
Но все это другие сценарии и области применения, нежели используемые LoRa.
Тут, наверное, имелся в виде подпроект OpenIPC FPV, который решает те же задачи, что и WFG-NG, но на других аппаратных и програмных обеспечениям. И который можно скоректировать под передачу любых данных, не только видео. Как, например, помимо видео ещё передаётся телеметрия.
Спасибо за статью!
В разделе «Работа с сигналом ниже уровня шума» у Вас немного сумбурное описание модуляции в LoRa. В действительности там данные определяют частоту очередного символа. То есть имеет место классическая частотная манипуляция. Далее символ умножается на апчирп. Порядок приёма у Вас описан корректно: дечирп (умножение на даунчирп), преобразование Фурье, определение номинала частоты с максимальным уровнем, принятие решение.
Итого, LoRa — это частотная манипуляция. Просто на символе из-за CSS частота линейно-возрастает. С модуляцией CSS в LoRa никак не связан. Частота убывает только в 2 с четвертью даунчирпах после преамбулы (серии апчирпов) перед блоком с нагрузкой для упрощения процесса синхронизации.
Благодарю за уточнение!
Вы правы в том, что символ действительно несёт частотную манипуляцию (данные задают начальную частоту), а линейный чирп поверх неё — это и есть расширение спектра. Но вместе это и называется CSS (Chirp Spread Spectrum), так что не соглашусь только с тем, что CSS «никак не связан» с модуляцией в LoRa.
В публикациях, которые мне попадались, весь механизм (данные - частота - умножение на чирп) как раз и называют «CSS-модуляцией». Вот, например здесь: "A Tutorial on Chirp Spread Spectrum for LoRaWAN: Basics and Key Advances".
Да, в технической литературе по LoRa часто повторяется аббревиатура CSS. Но, как правильно указано в Вашей статье, модуляция чирпа — это когда информация управляет скоростью изменения частоты. Например, передаём бит 1 — частота возрастает, передаем бит 0 — частота убывает.
В LoRa используется частотная манипуляция, на которую накладывается чирп. Данные здесь определяют начальную частоту чирпа. Увеличивается частота всегда одинаково. Поэтому корректно это всё называть “chirp spread spectrum frequency modulation”. Убираем чирп, исчезает линейно-циклически возрастающая частота, модуляция никуда не пропадает.
В теории цифровой связи модуляцию и расширение спектра всегда рассматривают раздельно. Всё таки, модуляция — это про то, как данные управляют параметрами гармонического колебания. А расширение спектра — это про то, как бороться с помехами.
Вот еще хорошее описание деталей CSS в статье "LoRa - The Wireless Technology for the Internet of Things" на английском языке.
Однозначный + за развёрнутую статью по железу!
Уже применяется в новом MESHCORE и давно в MESHTASTIC
LoRa это хорошо, но семтеховский вендорлок печалит.
Из интересных альтернатив есть MIOTY от фраунгофера, которому без разницы на каком железе крутиться.
Да, но все же у MIOTY и LoRa разные возможности и области применения. К тому же, модули с MIOTY мне не удалось найти сходу в продаже. Интересно, где их можно купить и по какой цене?
А кто-то пробовал в диапазонах СВ, LPD и PMR?
Они ниже 400Мгц не бывают. Минимум на 300Мгц запускали - но там фильтра надо перепаивать. На СВ по полосе не пролезет
Есть, например, модули E22-170M22S, E22-170M30S, E22-170M33S на базе чипа SX1262. Эти модули работают в полосе 150–170 МГц и имеют мощность от 22 до 33 дБм. Модуль E22-230T22S работает на 230 МГц.
Эти решения обладают лучшей проникающей способностью и дифракцией, но в России требуется специальное разрешение на их использование.
Ну раз показали модули с "T" (на UART) надо бы рассказать что очень похожие есть с "S" (на SPI) а то народ иногда путает и покупает не то.
Дальняя связь на модулях LoRa: принимаем сигнал ниже уровня шума