Передача и прием голоса через модем LoRa на базе платы LILYGO®TTGO LoRa32
Проект "LoRa Voice" задуман как эксперимент для проверки алгоритмов реализации передачи голоса через модемы LoRa.
ЦЕЛИ ПРОЕКТА:
- реализовать и оптимизировать методы приема/передачи голоса;
- определить оптимальные настройки модема и кодека, обеспечивающие максимальную помехоустойчивость при приемлемом качестве голоса;
- описать максимально доступно алгоритмы работы в целях их развития и совершенствования, вовлечения бОльшей аудитории в процесс разработки;
- определить перспективы данного подхода для использования в прикладных устройствах;
Основным преимуществом метода передачи голоса через модуляцию LoRa является экстремально высокая помехоустойчивость. А это свойство, благодаря запатентованной модуляции LoRa, позволяет достигать, наверное, лучших показателей деальности связи в сравниии с традиционными методами модуляции FSK, GMSK, PSK/OFDM, FHSS (при прочих равных условиях). При проведении экспериментов, комплекс приемник/передачик демострировал уверенное декодирование пакетов при соотношении сигнал/шум -17 дб (уровень шума больше полезного сигнала на 17 дб то есть в 7 раз по напряжению). При этом, для данных условий теоретическое значение предела Шеннона составляет -24 дб.
Подробнее про LoRa - https://itechinfo.ru/content/обзор-технологии-lora
В качестве экспериментального объекта выбрана распространенная платформа разработки от компании LILYGO® - TTGO LoRa32 версия 1.6.1 на 433 Мгц. Эта плата основана на процессоре ESP32 и включает в себя модем SX1278, OLED 0.96 дюйа и SD карт-ридер. Ссылка: https://aliexpress.ru/item/32872078587.html?sku_id=12000031557075306&spm
Для реализации проекта вам потребуется данная плата (две штуки - приемник и передатчик), i2s усилитель MAX98357A, микрофон i2s INMP441 и любой малогабаритный динамик на 8 Ом.
Для улучшения динамических характеристик приемника рекомендуется подключить на антенный вход модуль гребенчатого полосового фильтра на диапазон 430-440 Мгц.
Все настройки устройства вынесены для удобства в отдельный файл utilities.h - там же содержатся указания по пинам подлючения усилителя/микрофона.
Для установки платы необходимо использовать настройки:
- json ESP32: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Выбор платы: TTGO LoRa32-OLED
- В Меню Инструменты Arduino IDE: Eraise All Flash Before Sketch Uploaded - Enable; Flash Frequency - 40Mhz; Board Revition: TTGO LoRa32 (1.6.1); Upload Speed: 115200
ВНИМАНИЕ: Чтобы не нарушать правила ГКРЧ не превышайте выходную мощность передатчика более 10 миливатт = +10дбм
Схожие проекты:
https://github.com/sh123/codec2_talkie
https://github.com/deulis/ESP32_Codec2
ФОТОГРАФИИ ПРОЕКТА