Радиосвязь. Доска объявлений. Форум

UR8LV.COM

иное

Йо, тут в Meshtastic пхають голос #Lora

28.01.2024 09:38:10     1913    Сергій - UR3QJ
Голос через Lora - це факт, це можливо та працює. Але є нюанс... нюанс в тому, що у разі децентралізованого чату ми маємо так чи інакше один потік даних і з'єднання point-multipoint в радіусі покриття передавача Lora з урахуванням чутливості приймачів Lora, посилення антен, втрат у фідері та завадової обстановці в ефірі. Але у випадку мереж MESH, особливо з примітивною структурою, як у Meshtastic, ми маємо необхідність зберігання всіх голосових повідомлень усіх нод у кожній ноді та постійними повторами. В результаті трафік мережі стає перевантаженим навіть при розширенні смуги (знижує таймінг), а ресурси кожної ноди витрачаються на зберігання всіх цих повідомлень. Враховуючи, що голосові дані чутливі до випадання пакетів даних після стиснення, мережа без гарантованої доставки стає просто непрацездатною. Адже федінг сигналу на VHF/UHF діапазоні поширюється на будь-які види модуляції і Lora тому не виняток. У разі прямого каналу в такій MESH мережі голосовий зв'язок можливий. Але це вже й не класичний MESH, де ноди можуть не бачити один одного та бачити через когось.

Якщо не бачили, то ось https://github.com/meshtastic/firmware/blob/develop/src/modules/esp32/AudioModule.cpp. На 125 та 500 kHz полосi та SF=8 з цим проблем не буде навiть для 3200 моде. Не буде, але якщо нод небагато.

Небагато матчасті для вашого розуміння:

Допустимо задаємося кодеком з бітрейтом = 1600
Вхідний буфер у цьому режимі = 320 byte
Вихідний після стиску = 8 frame x 8 bit, тобто 8 byte
При частоті дискретизації 8 kHz чи 125 мкс на вибірку маємо час запису 320*125 us = 40 ms на 1 вхідний буфер

Допустимо задаємося кодеком з бітрейтом = 3200
Вхідний буфер у цьому режимі = 160 byte
Вихідний після стиску = 8 frame x 8 bit, тобто 8 byte
При частоті дискретизації 8 kHz чи 125 мкс на вибірку маємо час запису 160*125 us = 20 ms на 1 вхідний буфер

Кодеки 450 або 700 я не беру до уваги, там розбiрливiсть низка. Фактично для зберігання 10 секунд голосу у моді 3200 використовую 4096 байт. У випадку MESH мережі доведеться для кожної ноди в кожному мішастику зберігати 4096 x кількість нод для ретрансляції аудіо. Якщо нод 16 (як у мене), то вже 65 536 байт. А це для звичайного ESP32 чіпа добре відгризає так пам'ять. Для Meshtastic з її теоретичними 80 нодами вже 4096 * 80 = 327 680 байт. Тому голос звичайно можна в MESH, але тільки для плат ESP32-S3 і при зміні маршрутизації з видаленням пройденого хопу, щоб уникнути флуду. Там навiть текст йде до 10...15 хвилин.

p.s.: чи є реалтайм MESH-мережі для голосу? Звісно є, QMesh. І не лише для голосу, а й відео - MANET.

Зв'язок мiж чутливiстю, смугою та SNR

Для кожного коефіцієнта розширення спектра SF* існує граничне співвідношення сигнал/шум (SNR) [dBm], при досягненні якого приймач не зможе демодулювати сигнал:

таблиця

* При збільшенні SF на 1, межа SNR змінюється на -2.5 dBm

Чутливість приймача S [dBm] визначається залежністю:

S = -174 + 10 * lg (BW) + NF + SNR
Де: NF - коефіцієнт шуму приймача конкретної апаратної реалізації приймачів кінцевих вузлів LoRa.

Задамося режимами роботи:

BW = 31.25 kHz
NF = 6 dB (для модулів SX1262)
SF = 12
SNR = -20
Тоді чутливість становитиме:

S = -174 + 10 * lg (BW) + NF + SNR = -174 + 10 * lg (31250) + 6 - 20 = -143.05 dBm
Якщо вiдмовитися вiд реалтайм-режиму, то обмiн голосом та iншим медiа-контентом можливий на будь-яких смугах.

p.s.: чи є реалтайм MESH-мережі для голосу? Звісно є, QMesh. І не лише для голосу, а й відео - MANET.

Корисні матеріали та воркшопи для занурення в тему:

1. Воркшоп на тему LoRa та LoRaWAN на кухні РiгЕксперта https://www.youtube.com/watch?v=pPJf9jysVGw
2. Корисна лекція на тему розширення спектру та передачі під шумами https://www.youtube.com/watch?v=_jtgLcCZQY0
3. Підвищуємо стабільність роботи LoRa-модуля https://raxp2.blogspot.com/2022/07/lora.html або https://ur8lv.com/1621777522
4. Чи можна працювати в Lora із супутниками на низьких орбітах? Можна й ось чому https://raxp2.blogspot.com/2022/12/lora.html або https://ur8lv.com/1621788332
5. Про що забувають Мешастiки Lora https://raxp2.blogspot.com/2023/01/i-lora.html або https://ur8lv.com/1621788094
6. Приймач Lora на QO-100 на SX1262 з перенесенням спектру на LNB. Частина I https://www.youtube.com/watch?v=O0uVa_xJRfQ
7. Йо, тут в Meshtastic пхають голос Lora https://raxp2.blogspot.com/2023/01/meshtastic.html або https://ur8lv.com/1621786925
8. Як виходять на QO-100 з Lora https://raxp2.blogspot.com/2023/01/qo-100.html або https://ur8lv.com/1621786919
9. MESH-астики на автономному живленні від сонця Lora https://raxp2.blogspot.com/2023/01/mesh_14.html або https://ur8lv.com/1621786922
10. Варiанти вирішення проблеми зависання Meshastic Lora https://raxp2.blogspot.com/2023/01/i-meshastic-lora.html або https://ur8lv.com/1621788126
11. Як прошити ESP32 (наприклад, Meshtastic Lora) в польових умовах https://youtu.be/9eXp4hB8hXY
12. Розрахунок потужності СП для живлення TTGO модуля (Lora Meshtastic) https://ur8lv.com/1621790887
13. Тихвінський. Вузькосмугові технології LPWAN (LoRaWAN, SigFox та ін.)
14. Тихвінський, Коваль, Бочечка. Технологія Lora. Перспективи впровадження на мережах IoT
15. В. Болдіна, А Фролов. Сучасна надвузькосмугова система передачі даних Lora
16. К. Верхулевський. Лора. Все, що вихотіли знати про це
MENU