Полученный набор параметров, оптимизированный по критерию точности и минимальной разрядности представления, передается в цифровом виде по каналу связи в реальном времени, а на приемном конце осуществляется синтез речевого сигнала по перечисленным параметрам. Таким путем удается снизить информационную емкость речевого сигнала до уровня 16000 - 1200 бит/сек, причем с сохранением разборчивости и индивидуальных особенностей речи говорящего.
1.1.3. Другие способы кодирования
Следующим шагом в направлении дальнейшего увеличения компрессии является создание фонемного вокодера. Как известно, минимальной слогоразличительной (и словоразличительной) единицей речи является фонема. Поэтому создание устойчивого метода распознавания фонем позволит снизить скорость кодирования речевой информации до 100 бит/сек, что соответствует информационной скорости текста. Следует отметить, что на приемной стороне речь будет восстановлена синтезатором речи по фонемному тексту, при этом информация об индивидуальности диктора будет утрачена.
Канальный вокодер представляет собой совокупность двух основных частей - анализирующей (передающая сторона) и синтезирующей(приемная), которые содержат идентичные наборы(гребенки) полосовых фильтров, перекрывающих определенный частотный интервал. Структура канального вокодера представлена на рисунке 9.1:
Фильтры блока анализа обеспечивают тональное разделение спектра сигнала. Для перекрытия всей полосы звуковых частот, наряду с полосовыми, в гребенке используют фильтры НЧ и ВЧ (в самых низкочастотном и высокочастотном каналах). Типовая амплитудно-частотная характеристика гребенки фильтров, в случае равномерного разделения каналов может иметь следующий вид:
Детектор и фильтр НЧ в каждом канале выделяют огибающую сигнала данного канала, и каждая из них характеризует энергию речевого спектра в соответствующей полосе частот для фрагмента речи (длина фрагмента 5-30 мс). Для более компактной передачи выходы каждого из каналов могут логарифмироваться и кодироваться с помощью дельта импульсной кодовой модуляции(ДИКМ)[1].
От числа частотных полос зависит разборчивость синтезированной речи. Хорошие результаты получаются при числе каналов 15-16 (полоса 100 Гц... 4 кГц). Для улучшения качества восстановленной речи при выборе центральных частот и ширины полос пропускания канальных фильтров целесообразно использовать критические полосы слуха[1].
При выборе типа фильтров необходимо иметь в виду, что спектральные составляющие сигнала вблизи центральной частоты резонансных фильтров подвергаются существенным фазовым сдвигам, а это приводит к изменению тембра, даже если амплитудные соотношения сохранены. Причем при увеличении порядка фильтров фазовый сдвиг увеличивается, являясь причиной характерной для вокодера неестественности речи. С другой стороны, при недостаточной крутизне спада АЧХ фильтров появляется “смазанность” синтезированной речи. Практика показывает, что оптимальный результат соответствует АЧХ фильтров при крутизне их спада примерно 36 дБ на октаву.
Частоту среза канального фильтра НЧ выбирают в десять раз меньшей центральной частоты полосового фильтра канала, однако возможно использование одинаковых фильтров низких частот с частотой среза около 25 Гц, что несколько снижает качество восстановленного речевого сигнала.
Кроме оценки энергии сигнала в частотных полосах, в блоке анализа также производится оценка характера речевого фрагмента. В детекторе тон/шум(Т-Ш) оценивается: вокализованным или фрикативным является данный фрагмент речевого сигнала. Такой детектор может быть реализован через определение числа переходов через ноль речевого сигнала (для вокализованных фрагментов в отличие от фрикативных число переходов через ноль невелико) или оценкой энергии сигнала в полосах до 800 Гц и более 2КГц (структурная схема такого детектора представлена на рисунке 9.3).
Рисунок 9.3 – Структура детектора тон-шум
Также в блоке анализа происходит определение частоты основного тона для вокализованных фрагментов речи. Для этого в структуру блока анализа вводится выделитель основного тона (ВОТ). Известно, что значение ОТ для разных голосов может изменяться почти в 10 раз - от 2 до 18 мс. Это обстоятельство создает немало трудностей при оценке ОТ, так как слух очень чувствителен к его искажениям. На сегодняшний день известно большое количество алгоритмов оценки ОТ, оперирующих как непосредственно с временным представлением речевого сигнала, так и со спектром речи. Например, метод Голда-Рабинера[2,5], автокореляционный метод[1,2], SIFT(simplified inverse filter tracking) алгоритм [2].
Таким образом, для каждого фрагмента речевого сигнала на приемную сторону передается признак тон-шум(1 бит), частота основного тона, в случае вокализованного фрагмента(5-6 бит), значения энергии сигнала по каналам (при использовании ДИКМ менее 5 бит на канал).
На приемной стороне, в случае если принят вокализованный фрагмент, в качестве источника возбуждения гребенки фильтров выступает генератор периодических сигналов(ГТ). В качестве сигнала возбуждения может быть выбрана последовательность специального вида импульсов[1] с периодом равным частоте основного тона данного фрагмента (также принимаемой из канала связи). В случае невокализованого фрагмента, в качестве сигнала возбуждения используется белый шум(ГШ), который может быть получен с помощью генератора случайный чисел.
Сигнал возбуждения умножается на значения энергии для каждого из каналов, после чего поступает на фильтр соответствующего канала (гребенка фильтров блока синтеза полностью аналогична гребенке блока анализа).
Для получения выходного синтезированного речевого сигнала выходы всех каналов блока синтеза суммируются.
Решение задачи синтеза цифровых рекурсивных фильтров(РФ) сводится к нахождению коэффициентов ak и bk разностного уравнения:
(9.1) |
Известны прямые и косвенные методы синтеза рекурсивных цифровых фильтров[4,1]. Прямые методы основаны на непосредственном определении параметров цифровых РФ по заданным временным или частотным характеристикам. Косвенные методы синтеза цифровых РФ основаны на дискретизации аналогового фильтра-прототипа, удовлетворяющего заданным требованиям. Существуют различные способы аппроксимации аналоговых фильтров[6,1]. На практике широко применяется аппроксимация АЧХ аналоговых фильтров с помощью полиномов Баттерворта, Чебышева, Бесселя, Кауэра.
При проектировании фильтров обычно задают следующие требования к их амплитудно-частотным характеристикам(АЧХ):
- границы полос пропускания и задерживания (соответственно w1 и w2);
- затухание в полосе задерживания (Н2);
- коэффициент передачи в полосе пропускания(Н1- обычно он равен 1);
- допуск на отклонение реальной АЧХ от желаемой в полосе пропускания(D1).
В пакете МATLAB для синтеза РФ существует ряд функций:
- butter – аппроксимация фильтра Баттерворта;
- cheby1 – аппроксимация фильтра Чебышева первого типа;
- cheby2 – аппроксимация фильтра Чебышева второго типа(инверсный фильтр Чебышева);
- ellip – аппроксимация эллиптического фильтра(фильтр Кауэра).
Например, вызов функции butter в пакете MATLAB может иметь следующий синтаксис:
[b,a] = butter(n,Wn);
[b,a] = butter(n,Wn,'ftype').
Для расчета порядка фильтра Баттерворта, обеспечивающего требуемые характеристики(Н1, Н2, D1) в пакете MATLAB используется функция buttord, имеющая следующий синтаксис:
[n,Wn] = buttord(Wp,Ws,Rp,Rs).
Пример. С помощью пакета MATLAB найти коэффициенты и построить характеристики полосового фильтра Баттерворта с полосой пропускания от 60 до 200Гц(частота дискретизации 1кГц), с пульсациями в полосе пропускания не более 3 дБ и затуханием в полосе задерживания не менее 40 дБ.
Ниже представлен текст программы, а на рисунке 9.4 показаны характеристики полученного фильтра.
Wp = [60 200]/500; %расчет нормированных граничных частот полосы пропускания
Ws = [50 250]/500; %расчет нормированных граничных частот полосы задерживания
Rp = 3; Rs = 40;% задаем величину пульсаций и затухание
[n,Wn] = buttord(Wp,Ws,Rp,Rs)% определяем порядок фильтра и частоты среза
>>n =16
>>Wn =[0.1198 0.4005]
[b,a] = butter(n,Wn);%находим коэффициенты фильтра
freqz(b,a,128,1000)% строим характеристики фильтра
title('АЧХ и ФЧХ полосового фильтра Баттерворта')
Синтез гребенки фильтров