вівторок, 4 березня 2025 р.

Взаємозв'язок між розширенням спектру, чутливiстю та швидкiстю обмiну в текстових та голосових режимах over Lora

Слiд розумiти, що робота REALTIME голосом погіршує чутливість до 5 dBm. До того ж, розбірливість REALTIME режимів 450PWM та 700С залишає бажати кращого. Таких висновків дійшов пiзнiше і Mooneer Salem K6AQ у своїй недавній публікації на хакадей. Таким чином, при заданих ступенях стиснення рекомендую використовувати режим відкладеної передачі з меншою швидкістю, але більш високим SF вiд 8 до 9 та бітрейтом кодека в 1600 або 3200. Зрештою й кращою розбірливістю голоса та кращою чутливістю приймача Lora...


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

  • SF = 5 -> SNR = -2.5
  • SF = 6 -> SNR = -5
  • SF = 7 -> SNR = -7.5
  • SF = 8 -> SNR = -10
  • SF = 9 -> SNR = -12.5
  • SF = 10 -> SNR = -15
  • SF = 11 -> SNR = -17.5
  • SF = 12 -> SNR = -20

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

Результати тестувань на реальних супутникових каналах UpLink/DownLink [38..40 тис km] при рiзних SF на однiй смузi каналу 31.25 kHz показали наступну затримку:

  1. 1 байт за 67 ms (SF = 8)
  2. 16 байт за 424 ms (SF = 8)
  3. 1 байт за 33 ms (SF = 6)
  4. 16 байт за 133 ms (SF = 6)

Причому при SF = 6 запас по часу поширення електромагнітної хвилі на трасi дозволяє бачити свій хвіст з максимальною довжиною в 49 байт (267 ms). А при збільшенні ширини каналу та незмінному SF, буде зростати швидкість та придушення вузькосмугових завад. Останнє корисне, наприклад під час роботи на 433 MHz, де повно автосигналок.

Еквiвалентна чутливість приймача Lora

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

S = -174 + 10 * lg (BW) + NF + SNR

Де: NF - коефіцієнт шуму приймача конкретної апаратної реалізації приймачів кінцевих вузлів LoRa.

Задамося режимом роботи на супутниковому каналі в текстовій моді:

  1. BW = 31.25 kHz
  2. NF = 6 dB (для модулів SX1262)
  3. SF = 8
  4. SNR = -10

Тоді чутливість у текстовому режимі становитиме:

S = -174 + 10 * lg (BW) + NF + SNR = -174 + 10 * lg (31250) + 6 - 10 = -133.05 dBm

А що ж у голосовому режимі? 

Робота в голосовому режимі REALTIME визначається ступенем стиснення кодекiв, часом обробки семпла, частотою дискретизації аудіо та таймінгом системи при заданій смузі та коефіцієнті розширення спектра.

Результати практичних випробувань показали:

  1. Середній час на обробку (кодування або декодування в ESP32 на штатних налаштуваннях) CODEC2/450PWB = 20 ms (загальне середнє 40 ms, але ми працюємо в HALF DUPLEX, тобто поперемінно)
  2. Середній час для обробки (кодування або декодування) MELP800 = 30 ms

Нагадаю, що:

  1. CODEC2/450PWB з вхідним буфером 640 байт -> вихідний 18 біт (3 байти)
  2. MELP800 вхідний буфер 540 байт -> вихідний 80 біт (9 байт+1, за фактом 16)

Зовнішній I2S ADC з частотою дискретизації 8000 Hz (мінімально можливе для MEMS), тобто 125 us на відлік. Тобто, тривалість семпла з MEMS:

  1. CODEC2/450PWB = 125 us x 640 = 80 ms
  2. CODEC2/700C = 125 us x 320 = 40 ms
  3. MELP800 = 125 us x 540 = 67.5 ms

І той і інший кодеки за часом обробки менше часу захоплення, але при таймінгу навіть в 133 ms при SF = 6 отримаємо дірки в захопленні. Для роботи REALTIME здійснюється накопичення семплів (та сам сигнал затриманий вiдносно початку передачі) та перепакування компресованих даних у стислий пакет 16 байт. При цьому залишається ще по 4 байти для вбудовування службових даних (у 450 моді). Чутливість у голосовому режимі складе:

S = -174 + 10 * lg (BW) + NF + SNR = -174 + 10 * lg (31250) + 6 - 5 = -128.05 dBm

Lora-чирпи наглядно на аналiзаторi спектру Anritsu MS2830A



Кориснi матерiали
  1. Основи модуляції Lora https://www.youtube.com/watch?v=9_rqjfDJTN4
  2. Варіант використання сенсорної мережі на Lora https://www.youtube.com/watch?v=MSuWloStA_k
  3. Вимірювання відстані за допомогою Lora https://www.youtube.com/watch?v=VX6IqkcaxU
  4. Стеження за метеозондами на Lora https://www.youtube.com/watch?v=PN8rpakTmRI
  5. Гра для розвідників https://www.youtube.com/watch?v=TK-SE1q0x68
  6. AI для моніторингу діапазонів ISM https://www.youtube.com/watch?v=oPARpIYFxEY
  7. Оцінка використання Lora для зв'язку супутник-Земля з урахуванням впливу іоносферної сцинтиляції https://ieeexplore.ieee.org/document/9187602
Постскриптум

Шановні читачі, якщо мої дописи вас зацікавили – пiдтримайте збiр або ставайте спонсорами Youtube-каналу LaboratoryW з ексклюзивними лайфхаками.

Кориснi ресурси
  1. MiniFAQ по Lora
  2. Як працювати Lora та аматорському трансиверу на одну антену
  3. LoraBOT та приймач на одну антену
  4. Простий мiжбендовий Lora-шлюз на UART модулях без окремого контролера
  5. Крос-бенд Lora мереж та ПАПУГА
  6. Взаємозв'язок між розширенням спектру, чутливiстю та швидкiстю обмiну в текстових та голосових режимах over Lora
  7. LR-FHSS. Як працює ППРЧ в Lora
  8. Завади для керування БПЛА. На сьогодні існує кілька видів атак на Lora
  9. Зменьшення нестабільностi TCXO в LoRa-модулях
  10. Як прошити LoraSAT або Meshtastic в польових умовах з смартфону
  11. Lora на ручній тязі... поки крутиш - в космочаті
  12. Керування Starlink-приводом з антеною через Lora
  13. Мережевi iгри over Lora
  14. Стероїд-мод. Як додати шоколадку до Lora-модуля або потужний Lora-модем
  15. Робота Lora-модуля SX1262 за паспортними межами
  16. Чи можна працювати в Lora із супутниками на низьких орбітах? Можна й ось чому...