Метод кодування мовних сигналів
1. Загальний опис алгоритму кодування мовного сигналу CELP
де М - порядок моделі, s(n) - послідовність відліків мовного сигналу, a(m) - коефіцієнти лінійного передбачення, що характеризують властивості голосового тракту, а x(n) - послідовність, що породжує, або сигнал збудження голосового тракту. Авторегресійна модель мовного сигналу описує його з досить високим ступенем точності та дозволяє застосовувати розвинений математичний апарат лінійного передбачення. При цьому забезпечується більш висока якість декодованої мови, стійкість до вхідного акустичного шуму та помилок у каналі зв'язку, ніж у системах з іншими принципами кодування.
У межах даної моделі найбільш перспективними методами кодування вважаються методи аналізу через синтез із використанням багатоімпульсного збудження коду. Новизна многоимпульсного порушення [7] у тому, що у сигналі залишку лінійного передбачення вибираються такі його значення, які найважливіші підвищення якості синтезованої промови. При цьому використовувана в процедурі аналізу через синтез схема кодування, окрім обліку помилок квантування, включає критерії суб'єктивної оцінки якості мовного сигналу, що забезпечує природне звучання синтезованого мовлення.
При багатоімпульсному збудженні сигнал залишку лінійного передбачення представляється як послідовності імпульсів з нерівномірно розподіленими інтервалами і з різними амплітудами (близько 8-10 імпульсів за 10 мс). Амплітуди та положення цих імпульсів визначаються на покадровій основі (кадр за кадром). Основною перевагою багатоімпульсного збудження є те, що воно визначається для будь-якого мовного сегмента і при цьому не потрібно знати ні про вокалізованість даного сегмента, ніпро період основного тону.
Методи аналізу через синтез використовують синтезатор (декодер) мовного сигналу як складову частину пристрою кодування. При цьому завдання аналізу зводиться до процедури оцінки параметрів мови, що передаються в канал зв'язку, що проводиться відповідно до деякого критерію неузгодженості між вихідним і декодованим сигналами. Для врахування специфіки слухового сприйняття як критерій неузгодженості зазвичай використовується зважена за частотою квадратична помилка
де S(f) і Sq(f) - перетворення Фур'є вихідного та синтезованого мовних сигналів, а W(f) - вагова функція. Зважаючи на важливість для сприйняття мови не лише формант, а й міжформантних областей, для алгоритмів аналізу промови через синтез Етолом було запропоновано вагову функцію наступного виду
де A -1 (z) – синтезуючий фільтр, а – параметр, що регулює енергію помилки або шум квантування. Фактично, при такому зважуванні підкреслюється помилка в міжформантних областях і тим самим забезпечується рівномірніший за частотою розподіл відношення потужності корисного сигналу до потужності помилки кодування.
В алгоритмах кодування з аналізом через синтез підвищення ефективності інформаційного ущільнення мовних сигналів проводиться переважно за рахунок скорочення надмірності послідовності x(n), яка здійснює збудження синтезуючого фільтра A -1 (z) лінійного передбачення, що формує огинаючу сигналу, з коефіцієнтом передачі
Для цієї мети застосовується також додатковий фільтр із характеристикою
з одним коефіцієнтом передбачення gp та затримкою на період основного тону T. Він виконує функції генератора квазіперіодичних коливань голосових зв'язок при вимові вокалізованих звуків.
Узалежно від способу опису сигналу x(n), що надходить на вхід фільтра (7.5), можна виділити алгоритми кодування з збудженням прорідженої послідовністю імпульсів - MPLP (Multi Pulses Linear Prediction), з самозбудженням - SELP (Self Excited Linear Prediction), і нарешті, із збудженням від коду – CELP. Експериментально встановлено, що кодове збудження забезпечує найвищу якість декодованого мовного сигналу, в тому числі і за наявності акустичних вхідних перешкод.
Метод CELP було запропоновано Етолом і Шредером в 1984 р. Найефективніше застосування цього під час передачі мовного сигналу діапазоні швидкостей від 4 до 16 Кбіт/с.
Базова структурна схема передавальної (а) та приймальної (б) частин CELP-кодера показана на рис. 7.1.

Мал. 7.1. Структурна схема передавальної та приймальної частин CELP-кодера.
Фактично, алгоритмі CELP виробляється векторне квантування послідовності x(n), т. е. позиції імпульсів та його амплітуди в сигналі многоимпульсного збудження оптимізуються одночасно. При цьому відрізок (сегмент) сигналу збудження вибирається із попередньо сформованої постійної сукупності - кодової книги, що містить досить велику кількість реалізацій, наприклад, некорельованого гаусівського шуму. Вибрана реалізація посилюється та подається на вхід ланцюжка фільтрів (7.5) та (7.4).
Пошук оптимальних значень gp і T синтезатора основного тону, коефіцієнта посилення та номера елемента кодової книги здійснюється за допомогою аналізу через синтез. Загалом у канал зв'язку передаються номер (індекс) елемента кодової книги з відповідним коефіцієнтом посилення, параметри синтезатора основного тону, а також коефіцієнти лінійного передбачення, що характеризують стан голосовоготракту.
2. Структура кодера TETRA
У стандарті TETRA використовується CELP-кодер із швидкістю перетворення 4,8 Кбіт/с. На рис. 7.2 показано спрощену блок-схему декодера (синтезатора), що використовується в CELP-кодері TETRA.

Мал. 7.2. Блок-схема декодера мовного сигналу стандарті TETRA.
Основними вузлами схеми декодера є 2 синтезуючі фільтри з великою та малою постійною часу та алгебраїчна кодова книга.
Фільтр з великою постійною добою виконує функцію довготривалого предиктора (Long Term Preductor), моделює квазіперіодичність (довготривалі кореляції) мовного сигналу та має характеристику (7.5). Він виконаний на основі адаптивної кодової книги, що містить сигнали збудження та реалізує генерацію квазіперіодичних коливань голосового тракту.
Фільтр з малої постійної часу виконує функцію короткочасного предиктора (Short Term Preductor), моделює короткочасні кореляції, тобто кореляції між відліками мовного сигналу, і має характеристику (7.4) з порядком пристрою, що відповідає M=10. У синтезаторі TETRA використовується вагова функція (7.3) із значенням коефіцієнта γ=0,85.
Алгебраїчна (постійна) кодова книга містить сукупність векторів збудження, що являють собою послідовності з білим гауссівським розподілом з нульовим середнім значенням та одиничною дисперсією. Вона служить реалізації першого етапу генерації збудливого сигналу. На другому етапі проводиться корекція збудливого сигналу шляхом додавання даних з адаптивної кодової книги. Сформована в результаті збуджуюча послідовність надходить на вхід синтезуючого фільтра A -1 (z), де обчислюються значення вихідного мовного сигналувідповідно до виразу (7.1).
У кодері TETRA проводиться оцінка М=10 коефіцієнтів лінійного передбачення та аналіз можливих значень параметра синтезатора (індексу kc та коефіцієнта посилення gc алгебраїчної кодової книги та індексу kp та коефіцієнта посилення gp адаптивної кодової книги), метою якого є мінімізація зваженої помилки неузгодженості між вхідним та синтезованим мовними сигналами. Отримані оптимальні параметри синтезатора квантуються і передаються в канал зв'язку. Обробка сигналів у кодері та декодері проводиться за блоками. Тривалість основного блоку становить 30 мс, що відповідає 240 відліків при частоті дискретизації 8 кГц. Для кожного такого блоку формується кадр інформації, що передається в канал зв'язку обсягом 137 біт, що забезпечує швидкість передачі інформації 4567 біт/с. Оцінка коефіцієнтів лінійного передбачення виконується один раз по всьому блоці, а оптимізація інших параметрів синтезатора виконується на сегментах тривалістю 60 відліків, т. е. 4 десь у блок. Порозрядний розподіл інформації в кадрі, що передається, наведено в табл. 7.1.