Проблема
Если во время рабочего созвона в переговорках много сотрудников и только один спикерфон, не слышно людей, которые сидят далеко от него, стоят у флипчарта или показывают что-то на экране.
Когда люди в переговорке разговаривают друг с другом, сотрудники на удалёнке их не слышат. Поэтому они чувствуют себя выключенными из диалога и теряют мотивацию участвовать в нём. Число и продолжительность митингов растут, а эффективность падает. Люди устают гораздо сильнее, чем могли бы.
Какое решение искали и как пробовали устранить проблему
Закупить оборудование. Можно приобрести оборудование с наклейкой Zoom certified и оснастить им каждую переговорку. Это немного повысит качество аудио из комнат для совещаний, но никак не решит проблему удалёнщиков, которым потребуется купить хороший микрофон, камеру и свет. Далеко не каждый захочет переоборудовать свою комнату или квартиру в полноценную студию для созвонов и тем более возить её за собой по свету.
Необходимо кастомное решение с рядом требований:
- 10+ микрофонов в одной локации
- Высокое качество голоса каждого спикера
- Простота настройки
- Отсутствие эха, рассинхронизации и заметных задержек
- Нет привязки к помещению
- Долгая работа от одной зарядки
- Возможность интеграции с системами офиса
Какие варианты рассматривали: Wi-Fi, BLE, Bluetooth, UWB.
Недостатки Wi-Fi:
- Потребление гораздо выше того, на которое мы рассчитывали
- Достаточно громоздкий радиостек
- Задержки более 200 мс, изменяющиеся со временем
- Сложности с синхронизацией потоков
- Неудобное сопряжение и настройка
- Больше устройств — больше проблем: для 20 спикеров итоговый стрим безнадёжно разваливался через пять минут
Недостатки BLE:
- К моменту поиска оптимальной технологии ни один вендор не реализовал BLE Audio
- Требуется тонкая настройка connection interval и других параметров
- Платформо- и вендорозависимые нюансы, например различия в стеках iOS и Android на максимальную длину пакетов
Недостатки Bluetooth:
- Максимально можно подключить семь устройств
- Неудовлетворительное качество звука — скорее всего, кодеки устройств не будут совпадать, и придётся использовать кодек SBC с плохим качеством звука
- Задержки более 200 мс
Разработчики проанализировали характеристики технологий и выбрали UWB как самый подходящий вариант.
Что такое UWB
UWB radio (ultra wide band radio, сверхширокополосное радио) — технология радиосвязи, у которой ширина полосы не менее 500 МГц.
История UWB. UWB — первое радио, так называемый искровой телеграф. Но на протяжении последних ста лет UWB проигрывало другим решениям.
- Изначально UWB было непопулярно, потому что люди хотели передавать голос, а не морзянку. На том уровне развития UWB это было невозможно.
- В середине 2000-х UWB попыталось конкурировать с Wi-Fi за право быть основной технологией передачи данных, но оказалось слишком дорогим, и от него было решено отказаться.
- 5–10 лет назад появился запрос на сверхточное позиционирование вещей, то есть определение их положения. И в последние пару лет технология созрела, чтобы стать пригодной для передачи потоковых данных и закрыть брешь между медленным и энергоэффективным Bluetooth и энергозатратным, но быстрым Wi-Fi.
Плюсы UWB:
- На порядок энергоэффективнее BLE. Показатели UWB могут превышать BLE в 40 раз.
- Сопоставимая с Wi-Fi скорость передачи. Многие вендоры заявляют о поддержке скоростей до 1 Гбит в секунду. На практике максимальные скорости, которые в среднем бывают на рынке, — порядка 10 Мбит/с.
- Отсутствие помех: ниже порога чувствительности основных радиосистем.
- Меньше задержка передатчика из-за широкого спектра и возможности работать очень короткими импульсами.
- Дёшево и просто.
- Мало устройств — можно стать первым разработчиком.
- Точность локации.
Минусы UWB:
- Относительно мало пользовательских устройств. По состоянию на 2021 год в базе Федеральной комиссии по радиочастотам (FCC) было зарегистрировано 85 устройств, большая часть которых — смартфоны.
- Малоизвестен среди пользователей.
- Технология развивается с фокусом на точном определении местоположения.
- Малая эффективная дальность связи.
Как ещё можно применять UWB
Помимо конференций и митингов, есть ряд действующих и возможных применений UWB.
Сверхточная навигация:
- В различных тегах, например AirTag, потому что позволяет определять местоположение с точностью до 10 сантиметров.
- На опасных производствах, чтобы не позволить работнику зайти в закрытую для него зону. Информация о нарушении сразу передаётся диспетчеру.
- Для оплаты в общественном транспорте. Достаточно просто войти в автобус.
- В системе автоматической парковки. Для этого нужно оставить свой автомобиль на парковке, а затем он сам придёт туда, где есть свободное место и где он может находиться.
Интернет вещей:
- В автомобильных ключах, BMW, Mercedes, Hyundai и Volkswagen, так как UWB показало себя как надёжная и защищённая технология.
- На чемпионате мира по футболу 2022 года в каждом мяче стоял свой небольшой UWB-передатчик с набором сенсоров, который позволял определять, например, скорость полёта мяча и силу удара.
- Системы датчиков, размещённых на теле, которые используются для motion capture или для медицинских датчиков, контролирующих параметры человека.
- Безбатарейные решения. Например, набор датчиков температуры и влажности, который работает от солнечной батареи.
Стриминг и передача данных:
- Геймерские клавиатуры и мыши, которые будут работать так же хорошо, без задержек, как и проводное оборудование.
- Шлемы виртуальной реальности без проводов, в которых пользователя не будет тошнить из-за рассинхронизации движения головы и картинки в кадре.
- Аудиогиды. В музее UWB позволяет очень точно определить ваше положение и передавать вам аудио именно о том экспонате, на который вы смотрите сейчас.
- Системы качественного беспроводного многоканального аудио.
Схема устройства
Разработчикам необходимо было улучшить слышимость в двух ситуациях:
- Удалёнщик с одним-двумя радиоустройствами
- Переговорка, в которой много людей
Ситуация 1: удалёнщик, у которого нет большого количества радиоустройств. Сделали небольшой донгл, который эмулировал USB-микрофон и собирал аудиоданные от микрофона, закреплённого на теле человека. Так как использовалось, как правило, не больше одного-двух устройств, разработчики могли работать с непожатым аудио и отправлять его в исходном виде.
Ситуация 2: переговорка, в которой много людей. Данные пришлось сжимать с помощью OPUS, а также собирать их с множества устройств. В этом случае использовался не микроконтроллер, а небольшой одноплатник, который эмулировал точно такой же USB-микрофон.
Компоненты устройства:
- USB-трансивер
- Микроконтроллер с BLE, который управляет всей работой
- Микрофон
- Кодек
- NFC transceiver для взаимодействия с офисными системами
- Акселерометр, чтобы трекать пользовательскую активность
- Светодиоды
- Кнопки
- Подсистемы управления питанием
Обнаружение. Чтобы система заработала, устройства должны обнаружить друг друга, поэтому каждый хаб при включении сканирует окружающий радиоэфир и ищет другие хабы.
В зависимости от того, находит он устройство или нет, выбирается наименее загрязнённый радиоканал, и хаб становится готов к получению данных от пользовательских устройств.
Когда пользовательское устройство не участвует в митинге и не регистрирует двигательную активность по всем доступным каналам, оно рассылает запросы обнаружения. Если оно находит какой-нибудь хаб и получает от него ответ, то по разнице времени отправления и прихода сообщений вычисляется расстояние до этого хаба. Если оно достаточно маленькое, устройство считает, что оно находится в переговорке и можно подключиться к созвону.
После этого оно отправляет запрос на подключение. На этом этапе происходит различная авторизация: хаб проверяет, может ли устройство подключаться к синку и имеет ли его владелец право участвовать в данном митинге. Если оба условия совпадают, то этому устройству назначается ID в подсети хаба. На данном этапе оба устройства готовы к разговору.
В фоновом режиме периодически происходит пинг-понг с целью проверить, насколько далеко мы от этого устройства. Это сделано, чтобы автоматически отключить вас от разговора, если вы выходите из переговорки.
Разговор. Во время разговора хаб каждые 20 миллисекунд посылает запрос на получение нового пакета аудио от пользовательских устройств, и они ему отвечают, но не одновременно, чтобы не перебивать друг друга. Они выжидают некоторое время и прослушивают эфир для того, чтобы убедиться, что он сейчас свободен.
Такая технология называется listen before talk. Она позволяет быстро передать данные с каждого индивидуального устройства, так что итоговая задержка между первым и последним переданным аудиопакетом не превышает сотен микросекунд.
Запрос посылается именно каждые 20 миллисекунд, так как для сжатия аудиоданных использовали OPUS, и нужно было выбрать ширину фрейма, в которой будем сжимать их. Если выбрать самый маленький фрейм в 2,5 миллисекунды, возникает очень большой оверхед как на кодирование, так и на работу шедулера. При уходе в максимальный размер таймфрейма в 120 миллисекунд уже возникала рассинхронизация губ и голоса, чего допустить не могли. Поэтому остановились на 20 миллисекундах — том значении, которое сочли оптимальным.
Сложности в работе с UWB
Сырость технологии в данном решении. Это наибольшая проблема. Почти все чипвендоры, которые занимаются UWB, сконцентрировались на indoor-навигации, а также точном определении местоположения и том, что с ним связано.
Немногие занимаются стримингом, поэтому разработчики столкнулись с инженерными семплами по заградительной цене, полным отсутствием документации и сырыми SDK v0.0.x. Это порождало большое количество «велосипедов».
Различия конференц-систем. Авторы решения хотели поддержать их максимальное количество и отправлять им настолько качественное аудио, насколько это возможно. Однако оказалось, что в каждой конференц-системе используется своё сжатие, иногда достаточно агрессивное. Поэтому не было смысла пытаться превзойти то качество, которое она может принять.
Не все SDK позволяют работать с видео. Разработчики хотели, чтобы в переговорке во время выступления человека можно было наложить оверлей с его фотографией и именем и как-то выделить его на общем кадре из камеры. Столкнулись с тем, что не в каждом SDK к конференц-системе есть возможность работать с видеопотоком. Пришлось использовать внешнюю камеру, подключать её к хабу, работать с оверлеями напрямую и отдавать готовый аудиопоток на компьютер.
Всё, что связано с радио. Дизайн антенн — непростая задача, ещё сложнее сделать компактную антенну, работающую в очень плотном корпусе. Но труднее всего — сделать UWB-антенну, которая будет работать с такой широкой полосой и, возможно, во всём спектре, от 3 до 10 ГГц.
Если у вас нет богатой экспертизы в дизайне радиотрактов и нет дизайн-партнёра, который мог бы помочь, то ситуация становится практически неразрешимой.
Данные перетекали из других каналов. Разработчики могли работать на пятом канале, и при этом к ним протекали данные со второго и с первого каналов. Разница между частотами 1,5–2 ГГц, и этого не должно было случиться.
При распространении сигнал затухает очень быстро. Причина в том, что UWB — довольно высокочастотная технология. Достаточно было зажать микрофон ладонью или засунуть его под мышку, чтобы передача прекратилась. При проектировании разработчикам приходилось учитывать, что устройство будет использоваться на теле человека.
Результат
Характеристики готового устройства:
- Отличное качество аудио
- Стабильная задержка ~30 мс
- Эффект присутствия всех участников в одной комнате
- Для подключения к конференции оказалось достаточно просто войти в переговорку, потому что разработчики смогли интегрировать устройство со своими системами контроля доступа
- Дешёвая и гибкая система
Заключение
Следующий этап после разработки устройства — его сертификация. Подробнее о ней вы можете узнать в видео.
Сейчас только появляются первые чипвендоры и регуляторы, начинается активность — пересматриваются принятые двадцать лет назад нормы. Человек, который сможет максимально полно использовать преимущества UWB и выпустить массовое устройство, которое будет решать проблемы пользователей, сможет встать в зале славы рядом с создателем первого фитнес-браслета или смартфона.