[an error occurred while processing this directive]
|
|
Один из вариантов:
1. После левинсона-дурбина полученные коэффициенты преобразуешь в частоты полюсов. Ищется для этого на единичной окружности переходы через ноль знаменателя функции передачи модели (и интерполируешь нулевые точки в местах их расположения для пущей точности).
2. Вычитается постоянка из получившегося частотного вектора. Она задается фиксированно таблицей, исходя из моделирования, а не из реального сигнала. Она же вычитается и из предыдущего LSP-вектора.
3. Применяется предсказание первого порядка (для G.723.1 коефф. 12/32). Вычисляется ошибка предсказания (e(i)=CurrLsp-PrevLSP(i)*12/32)
4. Тут (частоты полюсов располагаются в порядке увеличения частоты) разбивают этот вектор ошибки на эти три части (поддиапазона). Соотв. для 3-х НЧ компонент, 3-х средних и 4-х ВЧ.
5. Теперь в каждом диапазоне проводится векторное квантование по таблице (codebook). Квантуется ошибка предсказания. Они (таблицы на каждый поддиапазон свои) содержат соответственно по 256 строк по 3, 3 и 4 элемента в строке. Проверяются все строчки, и выходным параметром квантователя является НОМЕР СТРОКИ таблицы, для которой ошибка квантования минимальна.
6. Три номера строк таблиц передаются в канал.
На приемной стороне:
Берется текущий вектор линейных спектральных пар. Вычитается та-же постоянка. Умножается на 12/32 (или какой-то там другой коефф. предиктора первого порядка). Далее из тех-же трех таблиц по принятым трем числам формируется квантованный вектор ошибок предсказания (LspPrdErr), и вычисляется новый LSP-вектор и возвращается постоянка. NewLsp(i) = ((12/32)*(PrevLsp(i)-LspDCTable(i))+LspPrdErr(i))+LspDCTable(i). Теперь остается проверить стабильность будущего синтезирующего фильтра и при необходимости слегка "раздвинуть" слишком близко стоящие частоты. Критерием стабильности является Lsp(i+1)-Lsp(i) > Fmin. Для того-же 723.1 Fmin принята за 31,25 Гц. (удваивается при обнаружении ошибки передачи). Если за определенное кол-во итераций стабильности достичь не удается, то выкинуть все результаты и использовать предыдущий вектор LSP.
E-mail: info@telesys.ru