Обработка информации в современных СПР
В стандарте GSM введено разделение по времени режимов приема и передачи пакетов сообщений, в результате чего в каждый момент работает только одно устройство, что позволяет использовать в трактах передачи и приема радиотелефонов общие функциональные элементы. Для защиты от ошибок в радиоканалах применяется блочное и сверточное кодирование с перемежением. Повышение эффективности кодирования и перемежения при малой скорости перемещения достигается медленным переключением рабочих частот в процессе сеанса связи (со скоростью 217 скачков в минуту). Процессы обработки речи направлены на обеспечение высокого качества передаваемых сообщений, реализацию дополнительных сервисных возможностей и повышение потребительских качеств АТ.
В системе GSM определены три стандарта кодирования речи:
• кодирование речи с полной скоростью (GSM FR);
• кодирование речи с половинной скоростью (GSM HR);
• улучшенное кодирование речи с полной скоростью (GSM EFR).
Современные мобильные телефоны имеют речевые кодеры и декодеры, позволяющие применять любой из перечисленных стандартов [27].
В главе 7 уже рассматривалась упрощенная схема кодека GSM (рис. 7.2). Блок-схема полноскоростного кодера речи в системе GSM FR представлена на рис. 8.1. Рассмотрим операции последних этапов обработки более подробно, используя блок-схему. (1 —– 20-мс сигнал, прошедший STP-фильтр; 2— – 20-мс сигнал, прошедший LTP-фильтр, 3—– оценка 5-мс сигнала, прошедшего STP-фильтр; 4 —– реконструированный 5-мс сигнал, прошедший STP-фильтр; 5 —– квантованный 5-мс сигнал, прошедший LTP-фильтр).
Рис. 8.1. Блок-схема полноскоростного кодера речи в системе GSM FR
Перед обработкой каждого подсегмента РС кодер определяет параметры LTP-фильтра долгосрочного предсказания: весовой коэффициент предсказания (коэффициент усиления) gи задержку на период основного тона d. При этом необходимо 2 бита для кодирования коэффициента предсказания gи 7 битов —– для кодирования задержки, т. е. периода ОТ. В итоге информация о параметрах LTP-фильтра долгосрочного предсказания составляет 4´9 = 36 битов на 20-миллисекундный сегмент.
Операция выполняется на основе текущего подсегмента остатка STP-предсказания (сигнал 1на рис. 8.1) и сохраненной последовательности из трех восстановленных предшествующих подсегментов остатка кратковременного предсказания (сигнал 4). Для каждого подсегмента вычисляется взаимная корреляция с предшествующими значениями восстановленной ошибки предсказания r1(k). При этом для оценки задержки d для текущего подсегмента используется скользящий подсегмент из 40 отсчетов, перемещающийся в пределах предшествующих 120 отсчетов сигнала остатка предсказания r1(n). Подсегмент остатка сигнала 2, прошедшего LTP-фильтр, представляет собой субсегмент остатка долговременного предсказания. В итоге формируется второй остаточный сигнал r2(n).
На последнем этапе обработки подсегмент сигнала ошибки r2(k) фильтруется сглаживающим фильтром и после отбрасывания последнего отсчета направляется в блок-анализатор с RPE-возбуждением. RPE-анализатор разделяет обрабатываемый подсегмент на три последовательности возбуждения, каждая из которых состоит из 13 импульсов, следующих через равные промежутки времени и имеющих различные амплитуды. Для этого выполняется прореживание отсчетов и выбор сигнальной сетки. Затем вычисляется энергия трех прореженных последовательностей, и в качестве сигнала возбуждения выбирается та из последовательностей, энергия которой больше [27].
Амплитуды импульсов возбуждения нормируются по отношению к импульсу с наибольшей амплитудой, и нормированные амплитуды кодируются тремя битами каждая при линейной шкале квантования. Абсолютное значение наибольшей амплитуды кодируется шестью битами в логарифмическом масштабе. Положение начального импульса (сдвиг сетки) 13-элементной последовательности кодируется двумя битами, т.е. кодируется номер последовательности, выбранной в качестве сигнала возбуждения для данного подсегмента. В результате каждый 5-мс подсегмент представляется 47-битовым блоком, а для кодирования параметров сегмента сигнала возбуждения необходимо 188 битов.
Эти же RPE-параметры подаются на блок декодирования и восстановления сетки RPE, выполняющий функции RPE-синтезатора, который выдает подсегмент LTP-остатка. После прибавления отсчетов этого сегмента к приближенным значениям STP-остатка получаются реконструированные отсчеты STP-остатка, которые и направляются на вход фильтра долговременного анализа. В результате фильтрации образуется новый подсегмент приближенных значений отсчетов остатка кратковременного предсказания r'1(п), который используется при обработке очередного подсегмента.
В результате применения алгоритма кодирования 20-мс сегмент речи передается 260 битами информации, т.е. кодер речи осуществляет сжатие информации почти в 5 раз (1280:260 = 4,92), что обеспечивает цифровую скорость передачи Rц = 64/5 = 13 кбит/с.
Перед поступлением в канал связи выходная информация кодера речи подвергается дополнительно канальному кодированию.
В декодере речи выполняются операции, обратные операциям кодера.
Обработка речи осуществляется в рамках принятой системы прерывистой передачи речи (DTX), которая обеспечивает включение передатчика только тогда, когда пользователь начинает разговор и отключает его в паузах и в конце разговора.
Статистические измерения показывают, что в процессе диалога речевая активность абонента составляет в среднем около 40 % длительности обмена. Другими словами, в дуплексном режиме переговоров каждый участник говорит менее 50 % времени. Этот факт позволяет примерно в два раза снизить речевую нагрузку в сети за счет формирования и передачи речевых пакетов, соответствующих только активному состоянию абонента. Устройства, реализующие процедуру обнаружения пауз в речи, называются обнаружителями пауз (обнаружителями речи) или детекторами активности речи (VAD). Для обеспечения требуемой точности работы этих устройств используется кодирование кратких перерывов в диапазоне 0...320 мс при неравномерной шкале квантования вида. При этом требуется всего три бита служебной информации на пакет [3, 27].
При использовании VAD во время пауз в речи можно также допустить передачу неречевых данных или предоставлять канал связи для передачи других переговоров. Передатчик может также выключаться для сокращения интерференции на соседних каналах и для сохранения энергии аккумуляторных батарей AT. Эффективность таких систем зависит от алгоритма VAD, который работает на фоне внешних шумов, типичных для СПР.
В кодеках вокодерного типа задача построения обнаружителя речи существенно облегчается благодаря формированию признака «тон-шум».
В системе GSM применяется схема VAD с обработкой в частотной области (рис. 8.2). VAD выявляет отличия спектральных характеристик входного воздействия от спектра фонового шума. Это осуществляется инверсным фильтром, коэффициенты которого устанавливаются применительно к воздействию на входе только фонового шума.
При наличии на входе речи и шума инверсный фильтр осуществляет подавление компонентов шума и снижает его интенсивность. Энергия смеси сигнала и шума на выходе инверсного фильтра сравнивается с порогом, который устанавливается в период воздействия на входе только шума. Этот порог находится выше уровня энергии шумового сигнала. Превышение порогового уровня принимается за наличие на входе реализации сигнал + шум. Исходными данными для работы алгоритма VAD являются коэффициент автокорреляции и четыре коэффициента запаздывания долгосрочного предсказателя. Решение VAD принимается для каждого сегмента в конце текущей последовательности процессов обработки.
Рис. 8.2. Структурная схема VAD с обработкой в частотной области
Основной проблемой DTX является потенциальное снижение качества речи, поскольку речь может идентифицироваться как шум. При использовании VAD возможны такие нежелательные явления: разрывы в речи и возможность того, что шум будет неправильно идентифицирован как речь.
В случае, когда VAD используется для включения и выключения передатчика, шумы на стороне приемника могут изменяться. Это связано с тем, что когда передатчик включен, фоновый шум передается вместе с речью. Однако, когда речь заканчивается, передатчик выключается, что приводит к снижению фоновых шумов до очень низкого уровня. Это случайное изменение в уровне шумов неприятно для слушателя и может снизить разборчивость в случае с обычно высоким уровнем шумов.
Способ уменьшения этого эффекта состоит в генерации комфортного шумана стороне декодера на время выключения передатчика. Этот шум должен быть похож на натуральный на стороне передатчика, поэтому передатчик периодически передает информацию о среднем уровне фона на приемник, чтобы точно воссоздать фоновый шум.
Когда на входе есть речь, передатчик постоянно включен. Во время пауз передатчик выключается, но после определенного времени, которое должно быть достаточно коротким, передатчик снова включается на время одного сегмента речи, чтобы передать информацию о среднем фоне для точного генерирования в приемнике комфортного шума. На приемной стороне, если определено наличие речи, происходит нормальный синтез. Если определено наличие паузы, выполняется одно из двух действий. Если не передается новой информации о фоне, используются существующие параметры шума, генерируется комфортный шум и используется для текущего фрейма. Обычно на стороне декодера также используется индикатор «хороший – плохой» сегмент, чтобы показать, верны или нет декодированные параметры, и если нет, используется замена сегмента [27].
Вокодер VSELP на 8кбит/с. Алгоритм кодирования речи VSELP принадлежит к классу кодеров речи CELP. Кодеры такого рода используют кодовые книги, содержащие наборы векторов для апроксимации вектора возбуждения. Поиск апроксимирующего вектора требует значительного количества вычислений даже для кодовых книг минимально приемлемого размера. Алгоритм VSELP использует кодовые книги специальной структуры, что позволяет уменьшить вычислительные затраты.
Вычисление параметров линейного предсказания осуществляется один раз за полный фрагмент (20мс) автокорреляционным методом.
Поскольку коэффициенты отражения и соответствующие им коэффициенты линейного предсказания рассчитываются один раз для фрагмента речи, коэффициенты для остальных фрагментов линейно интерполируются.
Алгоритм VSELP использует метод «анализ-через-синтез» для выбора оптимального набора параметров речи по критерию минимальной энергии ошибки (MSE). Средняя энергия рассчитывается один раз за фрагмент и квантуется 5-битовым квантователем. Наибольшее значение кода соответствует средней энергии по уровню –4 дБ относительно максимально возможного уровня энергии, равного квадрату максимального значения отсчета речи. Интервал остальных уровней составляет –2 дБ.
После поиска части сигнала возбуждения в адаптивной кодовой книге, осуществляется поиск оставшейся части возбуждения в двух фиксированных кодовых книгах. Адаптивная кодовая книга представляет собой память трансверсального фильтра с одним ненулевым коэффициентом и с переменной задержкой. Кодер VSELP каждые 20 мс формирует 160 бит данных, что соответствует скорости передачи 8 кбит/с.
Декодер имеет сходную с кодером структуру. По принятым данным он восстанавливает передаваемую речь: декодирует LPC параметры; формирует вектор из адаптивной кодовой книги; формирует два вектора возбуждения из двух векторных кодовых книг; рассчитывает три коэффициента усиления; формирует сигнал возбуждения; обновляет адаптивную кодовую книгу; осуществляет префильтрацию вектора возбуждения; синтезирует речь; осуществляет постфильтрацию синтезированной речи.
Структура кодера TETRA.На рис. 8.3 показана упрощенная блок-схема речевого кодера TETRA, который основан на разновидности модели кодирования с линейным предсказанием и кодовым возбуждением CELP. В этой модели блок из N речевых отсчетов синтезируется путем фильтрации соответствующей обновленной последовательности из алгебраической кодовой книги (ACELP), масштабированной коэффициентом усиления gc, с помощью двух изменяющихся во времени фильтров [3, 27].
Первый фильтр с большой постоянной времени (LTP-фильтр ОТ) выполняет функцию долгосрочного предсказания и моделирует псевдопериодический сигнал возбуждения. Он выполнен на основе адаптивной кодовой книги, содержащей образцы сигнала возбуждения и реализующей генерацию квазипериодических колебаний голосового тракта. Целью LTP-анализа является нахождение (путем поиска по адаптивной кодовой книге) лучших параметров основного тона, которые представляют собой значения задержки ОТ d и коэффициента усиления g для LTP-фильтра ОТ.
Процедура анализа ОТ разбивается на два этапа: поиск ОТ по открытому циклу и последующий поиск по закрытому циклу. ОТ по открытому циклу вычисляется один раз для каждого речевого сегмента (30 мс) с использованием взвешенного РС. После этого выполняется анализ ОТ по закрытому циклу путем минимизации среднеквадратичной взвешенной ошибки между исходной и синтезированной речью для подфреймов вблизи значений задержек ОТ, найденных по открытому циклу [27].
Рис. 8.3. Упрощенная блок-схема кодера TETRA
Второй фильтр краткосрочного предсказания с малой постоянной времени (STP-фильтр) моделирует огибающую речевого спектра.
Синтезированная речь вычисляется для всех последовательностей-кандидатов, составляя особую последовательность, которая и формирует выходной сигнал, наиболее близкий к исходному, в соответствии с взвешенной величиной измеренных искажений.
В кодере TETRA оцениваются 10 коэффициентов LPC и анализируются возможные значения параметров синтезатора, целью анализа является минимизация взвешенной ошибки рассогласования между входным и синтезированным РС. Полученные при этом оптимальные параметры синтезатора квантуются и передаются в канал связи.
Кодер TETRA использует специальную динамическую алгебраическую кодовую книгу возбуждения, реализующую обновляющий поиск в рамках метода анализа через синтез. В результате итерационного алгоритма поиска находятся лучшие параметры вектора обновления и усиления, а также фиксированные векторы возбуждения. Векторы возбуждения формируются в частотной области так, чтобы их энергия была сконцентрирована в наиболее важных частотных полосах, а вектор обновления содержит, как правило, четыре ненулевых импульса фиксированной амплитуды [27].
Список рекомендуемой литературы:[2, c. 176–184; 3, c. 47–50, 67–72, 102–108; 4, c. 47–54, 59–66; 5, c. 108–122, 144–154, 160–166, 442–443; 8, c. 70–85, 383–392; 10, c. 46–48; 13, c. 12–13, 269–271, 275–276; 26 – 30].
Контрольные вопросы
1. Как называется алгоритм кодирования речи в стандарте GSM ?
2. Для чего осуществляется предыскажение входного сигнала в блоке предварительной обработки кодера GSM ?
3. Что представляет собой процедура взвешивания каждого из сегментов входного сигнала?
4. Охарактеризуйте последовательность возбуждения в методе RPE-LTP.
5. С какой целью осуществляется преобразование коэффициентов кратковременного линейного предсказания кодера GSM ?
6. Какую цифровую скорость передачи обеспечивает полноскоростной кодер стандарта GSM ?
7. Какая процедура используется для поиска оптимального вектора возбуждения в кодовой книге?
8. Чем отличается метод кодирования речи в стандарте D-AMPS от кодирования речи в стандарте GSM?
9. Как осуществляется оценка параметров сигнала возбуждения в кодере стандарта D-AMPS?
10. Какой метод кодирования речи реализуется путем возбуждения векторной суммой?
11. В чем смысл применения адаптивной пост-фильтрации?
12. Какую функцию выполняет адаптивная кодовая книга? В каких кодеках речи применяется такое решение?
13. В чем состоит специфика кодирования с линейным предсказанием с возбуждением от алгебраической кодовой книги?
14. На какой модели кодирования основан речевой кодер TETRA?
15. Поясните особенности анализа основного тона в кодере системы TETRA.