Статья «Особенности передачи аудио по цифровым линиям связи в системах голосового оповещения»

В статье описаны современные технологии передачи аудио, которые могут использоваться при проектировании аудиосистем безопасности. Предложен обзор основных алгоритмов сжатия аудиопотока, проанализированы достоинства и недостатки различных типов линий передачи данных (Ethernet и RS-485). В качестве иллюстрации дан практический пример: разработка системы для голосового оповещения на речных судах и трансляции музыки в каюты.

Подавляющее большинство современных систем голосового оповещения использует цифровые линии связи для передачи аудиоданных, поскольку они обладают целым рядом преимуществ по сравнению с аналоговыми системами:

  • высокое качество звука (не изменяется с увеличением расстояния и времени эксплуатации систем);
  • удешевление и уменьшение количества линий связи;
  • гибкая система коммутации аудио;
  • качество связи не ухудшается.

Однако против этих плюсов есть один существенный минус – временные задержки в трансляции звука. Этот факт порождает различные варианты технических решений для передачи цифрового аудио.

Существует некая система компромиссов между:

  • временными задержками;
  • качеством звука;
  • пропускной способностью линии связи.

Увеличивая пропускную способность линии связи можно увеличить качество звучания и уменьшить временные задержки. Однако в этом случае, как правило, уменьшается дальность линий передач и дорожает оборудование цифровых линий связи.

Для уменьшения пропускной способности линий связи можно применить алгоритмы сжатия аудио, что приведет к ухудшению качества звука и увеличению задержек.

Алгоритмы сжатия аудиопотока

Существуют различные методы сжатия звука: с потерей качества и без. Алгоритмы без потери качества значительно уступают по пропускной способности, однако они обладают минимальными временными задержками. Примеры алгоритмов сжатия с потерей качества аудио: MP3, WMA, Ogg Vorbis. Без потери — ADPCM-кодеки.

Пропускная способность недорогих линий цифровой связи (таких как RS485 и RS422), как правило, достаточна для передачи сжатого ADPCM-звука. Временные задержки при этом незначительны (исчисляются миллисекундами). Однако производители систем голосового извещения, таких как противопожарные системы безопасности, системы конференцсвязи и т.д., наряду с голосом передают другие аудиоданные. Это ограничивает использование ADPCM-кодеков, поскольку они рассчитаны на низкий битрейт и потому не подходят для качественной передачи аудио. Из-за этого приходится использовать «тяжелые» алгоритмы сжатия, такие как MP3, WMA, Ogg Vorbis.

Сжатие аудиоданных можно реализовать как программно, так и аппаратно. Для программного сжатия используются библиотеки для различных платформ, которые сжимают и «распаковывают» форматы MP3, WMA, Ogg Vorbis. Однако такие алгоритмы требуют больших вычислительных ресурсов и расходуют много времени. В большинстве недорогих контроллеров они практически нереализуемы (в особенности это касается алгоритмов сжатия). Потому для компрессии и декомпрессии также используются кодеки MP3, WMA, Ogg Vorbis и разнообразные аппаратные ADPCM-кодеки для кодирования голоса.

При выборе аудиокодека необходимо также учитывать лицензионную чистоту будущей системы. Дело в том, что разработчики MP3 и WMA получают лицензионные отчисления за каждое устройство, которое кодирует или декодирует эти форматы. Еще до недавнего времени лицензионные отчисления MP3-формата производились только при использовании MP3-компрессора. Однако согласно новым условиям, предложенным компанией Thomson Multimedia и Институтом Фраунгофера, выплата лицензионных отчислений должна осуществляться также при использовании декомпрессоров.

Стоит заметить, что после введения новых правил лицензирования технологии MP3, закономерно возрос интерес к Ogg Vorbis.

Проблема синхронизации аудиокодеков

Для нормальной передачи аудиоданных необходимо, чтобы кодер и декодер работали на одной частоте, сохраняя при этом естественную скорость звуковоспроизведения, т.к. из-за различных частот будут возникать прерывания потока.

Поскольку аудиокодеки тактируются от собственных генераторов, нет гарантии, что все генераторы будут работать с одной частотой. Дивергенция частоты происходит из-за естественных расхождений характеристик кварцевых резонаторов. Известны следующие решения данной проблемы:

  • тактировать все аудиокодеки от одного генератора;
  • использовать буфер и автоматическую подстройку скорости проигрывания.

Тактировать кодеки от единого стробирующего сигнала зачастую неэффективно для передачи аудио на большие расстояния.

Во втором случае необходимо использовать буфер для входящих аудиоданных и механизм автоматического регулирования скорости проигрывания. Для автоматической подстройки скорости можно применить пропорциональный (П), пропорционально-интегральный (ПИ) или пропорционально-интегрально-дифференциальный (ПИД) алгоритм регулятора скорости проигрывания с инерционной обратной связью. В качестве обратной связи используется показатель уровня наполненности буфера. Идеальным считается значение 50% — именно такой показатель стремятся стабилизировать данные алгоритмы. Наличие буфера вносит временную задержку в вещание аудио, поэтому для достижения баланса между временем задержки и скоростью стабилизации П/ПИ/ПИД-алгоритма необходимо отрегулировать размер буфера.

Выбор алгоритма П/ПИ/ПИД определяется, главным образом, требованиями к размеру буфера (допустимой задержке) и критериями надежности и непрерывности аудиопотока. Лучшие показатели при должной настройке предоставляет алгоритм ПИД. В целом, основная трудность в данных алгоритмах заключается в тончайшей настройке коэффициентов.

Линии передачи данных

Рассмотрим пример использования проводных линий связи RS-485 и Ethernet для построения систем голосового оповещения. Протокол физического уровня RS-485 позволяет передавать данные на произвольной установленной скорости вплоть до 1 Мбит/с; дальность связи при этом достигает 1200 м. Также доступно параллельное подключение до 128 устройств на одну линию данных.

Дальность связи определяется скоростью передачи данных, количеством устройств на линии и качеством приемопередатчиков. Существуют два типа приемопередатчиков: полнодуплексные и полудуплексные. Для построения сети с полнодуплексным приемопередатчиком требуются две витых пары: одна — для передачи данных, другая — для приема. Такой вариант позволяет осуществлять одновременный прием и передачу. Полудуплексный режим требует только одну витую пару, которая используется как для приема, так и для передачи данных, что является единственным преимуществом перед полнодуплексным режимом.

Протокол физического уровня Ethernet позволяет передавать данные на скоростях 10 или 100 Мбит/с. Физические протоколы передачи информации для этих скоростей различны. Однако Ethernet-контроллеры скрывают эти различия от разработчика.

Преимущества использования Ethernet по сравнению с RS-485 следующие:

  • Высокая пропускная способность.
  • Имеется множество Ethernet-контроллеров, которые имеют аппаратную реализацию протокола IEEE802.3-MAC, поэтому разработчику не приходится интегрировать существующий или разрабатывать собственный протокол канального уровня.
  • Сеть легко масштабируется с применением стандартного Ethernet-оборудования.
  • Высокая пропускная способность, размер данных одного кадра в 1500 байт, а также совместимость со стандартным сетевым оборудованием способствуют инкапсуляции IP-протокола и передаче данных посредством высокоуровневых TCP/UDP-протоколов. Однако для передачи аудиопотока это не всегда выгодно, т.к. накладные расходы на реализацию IP, UDP, TCP увеличиваются.
  • Большинство современных микроконтроллеров имеет встроенный модуль IEEE802.3-MAC + PHY (физический уровень).
  • Дополнительное преимущество в виде использования протокола IEEE 1588 PTP для синхронизации времени на всех устройствах в сети. Протокол рассчитан на использование в сетях Ethernet и в некоторых микроконтроллерах поддерживается аппаратно.

Технология Ethernet также не лишена следующих недостатков:

  • Максимальная длина кабеля — 100 м.
  • Соединение только в режиме «точка-точка» при использовании витой пары. Объединение нескольких устройств возможно только по топологии «звезда» с использованием коммутаторов.
  • Требуются как минимум две витых пары.
  • Слабее помехозащищенность линий связи RS-485, требуются более дорогой кабель.
  • Необходим Ethernet-контроллер (внешний или встроенный в микроконтроллер).
  • Высокая стоимость промышленного сетевого оборудования (если оно необходимо).

Ethernet 10-BASE-T (10 Мбит/с) имеет одно преимущество во встраиваемых системах перед 100-BASE-T (100 Мбит/с): по принципу кодирования сигнала 10-BASE-T и RS-485 совместимы, что позволяет создавать недорогие повторители сигналов для увеличения дальности связи с использованием недорогих приемопередатчиков RS-485.

Из всего перечисленного следует вывод, что целесообразнее применять Ethernet-линии связи и несжатый аудиопоток в том случае, если Ethernet отвечает требованиям по длине кабеля, помехозащищенности и топологии сети.

Практическая реализация решения для передачи аудио

Рис. 1. Общая схема системы голосового оповещения

Цель. Построить систему для голосового оповещения на речных судах, а также для трансляции музыки в каюты (см. рис. 1–3).

Реализация. В кабине капитана устанавливается пульт управления, а в каютах, на палубах, технических помещениях — абонентские устройства. Для надежности системы абонентские устройства подключаются к пульту управления по топологии «звезда» через коммутатор линий. Длина кабеля от коммутатора линий до абонентского устройства может достигать 300 м.

Аппаратные требования. Сеть RS485 — полнодуплекс, кодек VS1053 (Ogg Vorbis), микроконтроллер STM32.

Выбранный метод. Аппаратное сжатие аудио с параметрами 44100 Гц, 16 бит mono в формат Ogg Vorbis реализуется аппаратно кодеком VS1053 производства VLSI.

Требования пропускной способности линий связи. Поскольку нужно организовать одновременную трансляцию музыки и голоса, используются два аудиоканала по 115200 бод на каждый. Следовательно, выбранная скорость линии составляет 230400 бод.

Преимущества:

  • большая длина линий передач (более 150 м);
  • высокое качество голоса и музыки.

Недостатки:

  • большая задержка перед началом вещания;
  • звук приходит с опозданием;
  • невозможно синхронное проигрывание звука на нескольких абонентских устройствах.

Основные сложности в уменьшении временной задержки возникли в связи с особенностями кодека VS1053, а именно:

  • инициализация кодека перед проигрыванием требует загрузки OGG-заголовка размером 4 Кбайт, что вносит существенную задержку порядка 1 с;
  • кодек неравномерно выдает OGG-поток.

Для регулирования скорости проигрывания использовался ПИ-алгоритм.

Рис. 2. Пульт управления системы голосового оповещения

Рис. 3. Абонентское устройство в системе голосового оповещения