Добавил:
linker.pp.ua Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
му Алгоритмы речевого кодирования GSM. 2006.doc
Скачиваний:
46
Добавлен:
15.12.2018
Размер:
561.15 Кб
Скачать

Р ис.2.3. Последовательность обработки речевой информации

На рис. 2.3 приведена последовательность обработки информации в передатчике от микрофона до передачи в радиоканал. В приемнике реализована обратная последовательность.

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

Речевой кодек

Принцип кодирования речи состоит в извлечении основных характеристик речи в форме коэффициентов, по которым речь может быть восстановлена. Уменьшение скорости до 13 кбит/с достигается тремя этапами:

  1. LPC (Linear Predicative Coding) - кодированием с предсказанием.

  2. LTP (Long Term Prediction) - долговременным предсказанием.

  3. RPE (Regular Pulse Excitation) - регулярным импульсным возбуждением.

Перед обработкой входной сигнал разделяется на сегменты 160 слов (выборок) по 13 разрядов, что соответствует длительности 20 мсек.

Затем 160 выборок анализируются чтобы получить коэффициенты для LPC - фильтра.

Фильтр линейного предсказания. Цель: сформировать из нескольких отсчетов речи линейную комбинацию, наиболее точно аппроксимирующую следующий отсчет. Для этого для каждого блока (160 выборок) вычисляют автокорреляционную функцию (АКФ). Оказывается, что такая АКФ содержит исчерпывающую информацию о формантном спектре речи на данном сегменте. На втором шаге находят решение системы линейных уравнений относительно коэффициентов предсказания - тех самых, что нужны для формирования синтезирующего фильтра. Фактически найденные коэффициенты задают спектральную модель голосового аппарата человека, и чем выше порядок, тем точнее модель.

Исходный сигнал пропускаем через полученный фильтр.

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

Полученный сигнал (сигнал возбуждения) разделяем на 4 подблока по 40 выборок.

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

Перед обработкой каждого следующего подблоков из 40 выборок задержка и коэффициент усиления LTP фильтра корректируются в блоке анализа LTP на основе текущего и трех предшествующих восстановленных подблоков.

Вычисление LTP - параметров:

1. Вычисление взаимной корреляции Rj текущего подблока остаточного сигнала d и предыдущих отсчетов восстановленного остаточного сигнала d'.

Rj()=d(kj + i)* d'(kj + i - );

где kj = k0 + j*40,

 = 40...120,

j = 0...3.

2. Находим позицию Nj максимума функции взаимной корреляции Rj() внутри этого интервала.

Rj(Nj) = max{Rj()}.

3. Оценка коэффициента усиления b.

bj = , j = 0...3;

где Sj(Nj) - d'(kj + i - ) j = 0...3;

Последние 120 отсчетов восстановленного остаточного сигнала сохраняются для вычисления LTP - параметров на следующем шаге (для фильтрации следующего подблока).

LTP - фильтрация: Из текущего сигнала (40 выборок) вычитается некоторый предыдущий восстановленный сигнал ( 40 выборок), отстоящий от текущего на величину N выборок (задержка) и умноженный на коэффициент усиления b.

e(k+ k) = d(k+ k) – d"(k+ k) ; k = 0,...,39

отсчеты d"(k+ k) вычисляются из предварительно восстановленных краткосрочных остаточных отсчетов d’, скорректированными в соответствии с текущим подсегментом LTP задержки Nj и взвешенными с коэффициентом усиления LTP-подсегмента bj:

d"(k+ k) = b’ * d’(k+ k - N’) ; k = 0,...,39

k= k+ j*40

Вычисляем остаточный сигнал как разность выходов LPC и LTP фильтров.

Восемь коэффициентов r(i) LPC анализирующего фильтра и параметры фильтра LTP (задержка N и коэффициент усиления b) кодируются и передаются со скоростью 3,6 кбит/с.

Остаточный сигнал проходит через фильтр нижних частот с симметричными коэффициентами (вычисляется свертка). Выход - 40 центральных отсчетов стандартной операции свертки.

x(k) = H(i)*e(k+5-i) где k = 0,...,39 (3.20)

ЗАМЕЧАНИЕ: e(k+5-i) = 0 для k+5-i < 0 и k+5-i > 39,

где H(i) - коэффициенты фильтра.

Таблица 2.1.

I

5

4(6)

3(7)

2(8)

1(9)

0(10)

H(i)

8192

5741

2054

0

-374

-134

Выход фильтра (40 выборок) разбивается на чередующиеся подпоследовательности длиной 14, 13, 13 выборок.

Из них формируются 4 подпоследовательности xm по 13 выборок по формуле:

xm(i) = x(kj + m + 3*i); i = 0...12; m = 0...3.

Выбираем подпоследовательность с максимальной энергией:

Em = maxmxm2 ; m = 0...3

Позиция сетки (номер выбранной подпоследовательности) кодируется двумя разрядами.

Из выбранной подпоследовательности (13 разрядов) выбираем максимальный отсчет Xmax и кодируем его шестью разрядами по логарифмической шкале.

Каждую из 13 выборок делим на Xmax :

x(i)' = x(i) / Xmax, i = 0...12.

Кодируем каждое значение x(i)' тремя разрядами.

Периодическая последовательность фрагментов передается со скоростью 9,4 кбит/с. Общая скорость передачи составляет 3,6 + 9,4 = 13 кбит/с.

Теоретически время задержки речевого сигнала в кодеке равно длительности сегмента и составляет 20 мсек. Реальное время задержки, с учетом операций канального кодирования и перемежения, а также физического выполнения рассматриваемых операций, составляет 70-80 мсек.

Структурная схема речевого кодека, используемого в стандарте GSM-900.

В ыходные параметры речевого кодека в порядке следования и битового распределения.

Параметр

Номер параметра

Имя параметра

Имя переменной

Число разрядов

№№ разрядов

1

LAR1

6

b1-b6

2

LAR2

6

b7-b12

3

коэффи-

LAR3

5

b13-b17

параметры

4

циенты

LAR4

5

b18-b22

фильтра

5

1-8

LAR5

4

b23-b26

6

LAR6

4

b27-b30

7

LAR7

3

b31-b33

8

LAR8

3

b34-b36

Подкадр №1

LTP

9

LTP задержка

N1

7

b37-b43

параметры

10

LTP усиление

b1

2

b44-b45

11

RPE позиция сетки

M1

2

b46-b47

RPE

12

Амплитуда блока

Xmax1

6

b48-b53

параметры

13

RPE-импульс №1

x1(0)

3

b54-b56

14

RPE-импульс №2

x1(1)

3

b57-b59

..

...

...

25

RPE-импульс №13

x1(12)

3

b90-b92

Подкадр №2

LTP

26

LTP задержка

N2

7

b93-b99

параметры

27

LTP усиление

b2

2

b100-b101

28

RPE позиция сетки

M2

2

b102-b103

RPE

29

Амплитуда блока

Xmax2

6

b104-b109

параметры

30

RPE-импульс №1

x2(0)

3

b110-b112

31

RPE-импульс №2

x2(1)

3

b113-b115

..

...

...

42

RPE-импульс №13

x2(12)

3

b146-b148

Подкадр №3

LTP

43

LTP задержка

N3

7

b149-b155

параметры

44

LTP усиление

b3

2

b156-b157

45

RPE позиция сетки

M3

2

b158-b159

RPE

46

Амплитуда блока

Xmax3

6

b160-b165

параметры

47

RPE-импульс №1

x3(0)

3

b166-b168

48

RPE-импульс №2

x3(1)

3

b169-b171

..

...

...

59

RPE-импульс №13

x3(12)

3

b202-b204

Подкадр №4

LTP

60

LTP задержка

N3

7

b205-b211

параметры

61

LTP усиление

b3

2

b212-b213

62

RPE позиция сетки

M3

2

b214-b215

RPE

63

Амплитуда блока

Xmax3

6

b216-b221

параметры

64

RPE-импульс №1

x3(0)

3

b222-b224

65

RPE-импульс №2

x3(1)

3

b225-b227

..

...

...

76

RPE-импульс №13

x3(12)

3

b258-b260