Создание систем передачи голоса в цифровых сетях на основе цифровых сигнальных процессоров 5000-й платформы фирмы Texas Instruments. Часть 2
Действие системы
Главная роль ЦСП в сетевых устройствах передачи голоса заключается в двустороннем преобразовании потоков данных. Процессы, связанные с этим, включают в себя: компрессию данных, эхоподавление и компенсацию задержки.
Наиболее важным в указанной системе является то, что каждый из ЦСП обрабатывает множественный поток данных. Число потоков определяется скоростью работы ЦСП и алгоритмами обработки. Известно, что процессы компрессии и эхоподавления требуют производительности 20 MIPS на канал. Производительность ЦСП TMS320C5410 составляет 100 MIPS, таким образом, процессор может обрабатывать 4 канала и при этом сохранять запас производительности для контроля, исправления ошибок и возможных расширений системы.
Наиболее сложным элементом систем обработки множественных потоков данных является координации и распределения ресурсов. Для решения этих задач лучше всего подходит операционная система реального времени Spectron/TI DSP BIOS, обеспечивающая программную поддержку анализа и трассировки и занимающая очень небольшой объем памяти (менее 1 килослова) в программной памяти ЦСП.
Первым шагом при адаптации программных приложений для работы с операционной системой реального времени является структурирование приложений в модули и блоки. В зависимости от времени, требуемого для обработки блока, иногда требуется дальнейшее структурирование программ для оптимальной обработки заданий. Операционная система производит обработку модулей по приоритетам. При обработке модулей с более высокими приоритетами выполнение программ с приоритетами более низких уровней прерывается или прекращается совсем.
Приложение включается в состав средств операционной системы, которая имеет стандартную среду разработки и интеграции. В список дополнительных функций, включаемых в окружение операционной системы, входят:
- периодические функции ОС, которые позволяют обрабатывать задания по прерываниям системного таймера, что дает возможность, в частности, выполнять такие подпрограммы, как контроль питания;
- менеджер потока ввода/вывода, позволяющий обеспечивать два различных способа передачи данных: стандартный и хост (стандартный способ предполагает, что перед передачей данные буферизируются, запоминаются и программно структурируются в самом ЦСП, хост-способ — это способ, при котором данные обрабатываются хост-процессором);
- инструментальный менеджер, позволяющий производить инструментальный контроль системы минимальными средствами, предполагает сбор данных, статистику, обработку событий;
- инструменты конфигурации, представляющие собой редактор для создания системных объектов: сигналов, потоков ввода/вывода и т. д., а также позволяющие программисту устанавливать свойства системы.
Операционная система реального времени позволяет экономить память и системное время. Резидентная часть программы занимает менее 1 Кбайта памяти, а все системные приложения организованы в виде библиотек, доступных пользователю.
Алгоритмы обработки сигналов
Главными направлениями при создании программ сетевой телефонии являются:
- сжатие данных, передаваемых по сети, чтобы минимизировать их объем и максимизировать число каналов;
- сохранение качества восстановленного звука, в том числе эхоподавление;
- преобразование данных из непрерывного потока в пакетный вид.
Процесс сжатия голосовой информации осуществляется на основе одного из стандартных алгоритмов G.726 (ADPCM), G.728 (LD-CELP), G.729 (CS-ACELP). Кроме того, так как во время телефонного разговора речь занимает примерно 40 % времени, а остальные 60 % не содержат полезной информации, часто используются алгоритмы voice activity detection (VAD). Этот способ контролирует энергию входного сигнала и убирает паузы. При этом алгоритм формирует строб паузы, который приемник заполняет «комфортным» шумом.Эхо в сетевых голосовых приложениях обусловлено отражением сигнала в линии.
Как правило, это отражение от гибридных цепей, осуществляющих переход от полудуплексной четырехпроводной линии к двухпроводной полнодуплексной. Эхо представляет собой акустическую копию первичного сигнала, задержанного на определенное время.
В сетевых голосовых приложениях задержка переотраженного сигнала больше, чем в обычных аналоговых телефонных линиях, что существенно сказывается на качестве звучания. В связи с этим эхоподавление — неотъемлемая часть обработки сигнала в сетевых голосовых приложениях.
Эхоподавление — это процесс удаления задержанного сигнала. Как правило, это процесс адаптивной фильтрации, при которой процессор определяет характеристики голоса в линии и использует эти данные, чтобы устранить мешающий сигнал, распространяющийся в противоположном направлении. Различные алгоритмы отличаются отношением сигнал/шум на выходе системы и временем задержки, которое алгоритм в состоянии обработать.
Другим фактором, существенно влияющим на качество восстановленного звука, является появление различных задержек между частями голосовой информации, получившее название джиттер. Так как слух очень чувствителен к задержкам, даже небольшое количество джиттерных прерываний приводит к существенному ухудшению восприятия звука. Способом борьбы с этим является создание буфера, который содержит некоторое количество данных в зависимости от величины предполагаемой вариации задержки.
Буферизация приводит к общей задержке голосового сообщения, но существенно улучшает восприятие. Размер буфера определяется на основе статистического анализа сетевого канала и динамически меняется в зависимости от текущего состояния сети.
Предыдущее обсуждение предполагает, что каждый ЦСП в системе выполняет однотипные операции. Такой подход имеет как достоинства, так и недостатки. Главным преимуществом является простота проектирования и контроля. Поскольку ЦСП в системе играют одинаковую роль, каждый из них подключается аналогично и загружается теми же программами, при этом системному контроллеру не приходится делать различий между заданиями для различных ЦСП. Главным недостатком такого подхода является большой объем программного обеспечения, а следовательно, высокие требования к памяти ЦСП. Так как каждый ЦСП выполняет голосовое кодирование, декодирование, эхоподавление и др., программы каждого из них занимают много места во внутренней памяти.Альтернативной является такая конфигурация системы, когда выполняемые функции перераспределены между входящими в нее ЦСП. На рис.3 показана возможная конфигурация такой распределенной системы.
Так как алгоритм эхоподавления обычно требует меньшей производительности, он может обрабатывать большее число каналов, чем ЦСП, осуществляющие кодирование и декодирование.
Сетевой интерфейс
Блок сетевого интерфейса осуществляет пересылку пакетированной информации от ЦСП в сеть, прием информации от сети и распределение ее между ЦСП. Детали этого процесса зависят от используемого сетевого интерфейса. Наиболее удобным для голосовых сетевых приложений является сетевой протокол АТМ.
Главным достоинством этого протокола является использование для передачи данных коротких пакетов, так называемых ячеек. Малый размер пакета обусловливает небольшие, легко предсказуемые задержки передачи, которые устраняются буферизированием выходных данных. Однако преимущества, которые дает малый размер пакета при передаче голоса, сводятся на нет его явными недостатками при передаче данных.
Применение АТМ-интерфейса предполагает следующие операции: пакетизацию и депакетизацию голосовых данных с помощью ЦСП, объединение данных в последовательные потоки и реализацию протокола физической линии.
Эти операции показаны также на рис. 4.
Другой популярный способ передачи голоса и данных базируется на Х.25 протоколе с некоторыми модификациями, позволяющими достигать более высокой производительности и эффективности при совместной передаче голоса и изображений. Указанный протокол позволяет использовать пакеты переменной длины. Так как малая длительность пакета представляет некоторые преимущества для передачи голоса, протокол Х.25 при передаче голосовых сообщений также использует короткие пакеты. В связи с тем, что протокол Х.25 оперирует пакетами данных переменной длины, задержка между голосовыми пакетами может стать очень заметной. В связи с этим для голосового общения и интернет-телефонии протокол АТМ предпочтительнее.
Следующей задачей системы сетевой передачи голоса является создание механизма, посредством которого каждый из ЦСП имеет доступ к хост-процессору. В данном случае хост-процессор выполняет задачи мультиплексора канала данных, форматирует пакеты данных, их последовательный поток и осуществляет контроль ошибок.
Способы соединения ЦСП с хост-процессором представлены на рис. 5.
Наиболее простым способом соединения являются радиальные связи, так обычно и поступают при небольшом количестве ЦСП.
В случае большого количества ЦСП хост-порты отдельных ЦСП объединяются в общую шину, и каждому из процессоров присваивается определенный адрес, декодируемый самим ЦСП. Считается, что каждый ЦСП периодически выдает пакеты данных с равной частотой, при этом хост-процессор обрабатывает эти данные циклически. После завершения обработки данных ЦСП выставляет флаг готовности, разрешающий обмен с хост-процессором. Если ЦСП готов к передаче, хост-процессор осуществляет обмен с ним, в противном случае хост-процессор переходит к обмену со следующим процессором.
Заключение
Таким образом, все задачи передачи голоса в цифровой информационной сети могут быть эффективно решены с помощью системы, созданной на основе цифровых сигнальных процессоров 5000-й платформы фирмы Texas Instruments. Наличие встроенных многоканальных буферизированных последовательных портов позводяет ЦСП легко обрабатывать готосовые потоки с шин Е1/Т1. Встроенный хост-порт и возможность использования операционной системы реального времени позволяют организовать совместную синхронную работу, упрощают конфигурацию системы, решают вопросы системного контроля. Высокая производительность и большая внутренняя память позволяют реализовать эффективную обработку как сигналов голосового тракта, так и сетевых потоков данных. Все эти преимущества вместе со сверхнизким энергопотребление и невысокой стоимостью делают цифровые сигнальныен процессоры 5000-й платформы незаменимыми при создании систем передачи голоса в цифровых информационных сетях.