Гласово кодиране в GSM
GSM е цифрова система и следователно аналоговата реч, влизаща в системата, трябва да бъде дигитализирана.
Кодерът на речта е първият елемент от действителната цифрова секция на предавателния път на ADC. Основната задача на енкодера е максимално възможното компресиране на речевия сигнал, представен в цифров вид, т.е. максималното възможно елиминиране на излишъка на речевия сигнал, но при запазване на приемливо качество на предаване на речта. Компромисът между степента на компресия и запазването на качеството се намира експериментално и проблемът за получаване на висока степен на компресия без прекомерно намаляване на качеството е основната трудност при разработването на енкодера. Речев декодер е разположен в приемния път пред DAC; задачата на декодера е да възстанови обичайния цифров говорен сигнал (с присъщата му естествена излишност) от получения кодиран сигнал. Комбинацията от енкодер и декодер се наричакодек.
Кодирането на източника на сигнал или кодирането на параметрите на сигнала първоначално се основава на данни за механизмите на производство на реч, т.е. този метод използва един вид модел на гласовия тракт и води до системи от типа анализ-синтез, наречени вокодери иливокодери(гласов кодер или кодер за реч). Ранните вокодери позволяват да се получи много ниска скорост на предаване на информация, но с характерно "синтетично" качество на речта на изхода. Поради това методите на вокодер за дълго време остават основно областта на прилагане на усилията на изследователи и ентусиасти, без да намират широко практическо приложение.
Ситуацията се промени значително с появата на метода за линейно предсказване, предложен през 60-те години на миналия век и силно развит през 80-те години на миналия век въз основа на постиженията на микроелектрониката.
В момента в мобилни комуникационни системишироко разпространени са вокодерните методи, базирани на метода на линейното предсказване. Същността на кодирането на речта, базирано на метода за линейно предсказване (Linear Predictive Coding - L PC), е, че по комуникационната линия не се предават параметрите на речевия сигнал, а параметрите на определен филтър, в известен смисъл еквивалентен на гласовия път, и параметрите на възбуждащия сигнал на този филтър. Като такъв филтър се използва филтърът за линейно предсказване. Задачата на кодирането в предавателния край на комуникационната линия е да се оценят параметрите на филтъра и параметрите на възбуждащия сигнал, а задачата на декодирането в приемащия край е да прекара възбуждащия сигнал през филтъра, на изхода на който се получава възстановен говорен сигнал.
Стойностите на коефициентите на прогнозиране, които са постоянни в интервала на кодирания говорен сегмент (на практика продължителността на сегмента е 20 ms), се намират от условието за минимизиране на RMS стойността на остатъка на прогнозиране в интервала на сегмента.
По този начин процедурата за кодиране на речта в метода за линейно предсказване е както следва:
- цифровизираният говорен сигнал се нарязва на сегменти с продължителност 20 ms;
- за всеки сегмент се оценяват параметрите на филтъра за линейно предсказване и параметрите на възбуждащия сигнал; в най-простия случай, възбуждащият сигнал може да бъде предсказаният остатък, получен чрез преминаване на говорен сегмент през линеен предсказателен филтър с параметри, получени от оценката за този сегмент;
- параметрите на филтъра и параметрите на възбуждащия сигнал се кодират по определен закон и се предават на комуникационния канал.
Процедурата за декодиране на реч се състои в преминаване на получения възбуждащ сигнал през филтър за синтез с известна структура, параметрикоито се предават едновременно с възбуждащия сигнал.
Първо, линейното предсказване - краткосрочно предсказване (STP - Short - Term Prediction) не осигурява достатъчна степен на елиминиране на говорния излишък. Следователно, в допълнение към краткосрочното прогнозиране, се използва и дългосрочно прогнозиране (LTP - Long-Term Prediction), което до голяма степен елиминира остатъчната излишност и доближава остатъка от прогнозата по отношение на неговите статистически характеристики до бял шум.
Стандартът GSM използва метода RPE-LTP (Regular Pulse Excited Long Term Predictor).
Блокът за предварителна обработка на енкодера изпълнява:
- предварително изкривяване на входния сигнал с цифров филтър, който подчертава горните честоти;
- нарязване на сигнала на сегменти от 160 проби (20 ms);
- претегляне на всеки от сегментите с прозорец на Хеминг („косинус на пиедестал“ - амплитудата на сигнала плавно намалява от центъра на прозореца към краищата).
След това за всеки 20-милисекунден сегмент се оценяват параметрите на филтъра за краткосрочно линейно предсказване - 8 частични коефициента (порядък на предсказване M = 8), които се преобразуват в логаритмични съотношения на площта за предаване по комуникационния канал, а за функцията на логаритъм се използва частично линейно приближение.
Сигналът от изхода на блока за предварителна обработка се филтрира от решетъчен филтър-анализатор на краткосрочно линейно предсказване и неговият изходен сигнал (остатъчно предсказание) се използва за оценка на параметрите на дългосрочно предсказание: коефициент на предсказване и забавяне. В този случай сегментът от 160 проби от краткосрочния прогнозен остатък се разделя на 4подсегмент от 40 проби всеки.
Възбуждащият сигнал се избира от последователностите, чиято енергия е по-висока. Амплитудите на импулсите се нормализират по отношение на импулса с най-голяма амплитуда и нормализираните амплитуди се кодират с три бита всеки в линейна скала на квантуване. Абсолютната стойност на най-голямата амплитуда е кодирана с шест бита в логаритмична скала. Позицията на началния импулс от 13-елементната последователност се кодира с два бита, т.е. кодира номера на последователността, избрана като възбуждащ сигнал за дадения подсегмент.
По този начин изходът на енкодера на речта за един говорен сегмент от 20 ms включва параметрите:
- филтър за краткосрочно линейно предсказване;
- филтър за дългосрочно линейно предсказване;
Броят на битовете, разпределени за кодиране на предаваните параметри, за един 20-ms говорен сегмент се предават 260 бита информация, т.е. разглежданият говорен енкодер компресира информацията по отношение на некомпресирания цифровизиран говорен сигнал (сегмент от 20 милисекунди съответства на 160 осем-битови проби или 1280 бита) почти 5 пъти (1280: 260 = 4,92). Преди да бъде изпратена към комуникационния канал, изходната информация на речевия енкодер също се подлага на допълнително кодиране на канала.
Речта е разделена на части от 20 милисекунди, всяка от които е кодирана в 260 бита, което дава обща битова скорост от 13 kbps.
Декодер.Последователността на неговите функции е илюстрирана на фиг. 3.4. Генераторът на възбуждащ сигнал, използвайки получените параметри на възбуждащ сигнал, реконструира 13-импулсна последователност на възбуждащ сигнал за всеки от подсегментите на речевия сигнал, включително амплитудитеимпулси и тяхното местоположение във времето. Генерираният по този начин възбуждащ сигнал се филтрира от филтъра на синтезатора за дългосрочно прогнозиране, който извежда реконструирания остатък от прогнозиране на анализатора на филтъра за краткосрочно прогнозиране.
Последният се филтрира от решетъчен филтър-синтезатор за краткосрочно предсказване, а параметрите на филтъра се преобразуват предварително от логаритмични коефициенти на площ в частични коефициенти на корелация. Изходният сигнал на филтъра на синтезатора за краткосрочно прогнозиране се филтрира (в блока за последващо филтриране) от цифров филтър, който възстановява съотношенията на амплитудата на честотните компоненти на речевия сигнал, т.е. компенсиращо предварително подчертаване, въведено от входния филтър на препроцесора на енкодера. Сигналът на изхода на постфилтъра е реконструираният цифров говорен сигнал.