ГОСТ Р 53556.2—2012
;
//
(qLsp{i
+
1]
=
qLspli] < THRSLD_H)
{
qLspli]
=
qLspli
+
1}- THRSLD_H;
}
}
где
THRSLD_L
= 0.020.
THRSLDJA
= 0.020 и
THRSLD_H
= 0.020
Т а б л и ц а A.3 — Конфигурация многоступенчатого
LSPVO
1-й этап
5 битов
2-й этап
(7+5+1)битов
3-й этап
10
LSP VQ
(5+5)
LSP VQ
10
LSP VQ
8 битов
A.2.2.3 Фильтр инверсии
LPC
LSPs
преобразованы к альфа-параметрам, чтобы сформировать, фильтр инверсии
LPC
в прямой форме.
Остаточные сигналы
LPC
затем вьмисляются путем инверсной фильтрации входного сигнала. Только квантован
ный
LPC
текущего фрейма используется без какой-либо интерполяции для инверсной фильтрации, чтобы вычис
лить остаточный сигнал
LPC.
Остаточный сигнал тогда является 256 точечной оконной обработкой Хемминга,
чтобы вычислить спектр мощности. Функция преобразования инверсного фильтра
LPC
такова
^ (г ) = л
-0
ап2 •
где
Р
= 10 и«о = 1. Коэффициенты
LPC
апостаются неизменными во время вычисления остаточных отсчетов
длины одного фрейма (256 отсчете»).
А.З Оценка шага
А.3.1 Описание инструмента
Чтобы получить первую оценку значения задержки шага, значений автокорреляции
LPC.
вычисляются оста
точные сигналы. Основываясь на значениях задержки, которые дают пики автокорреляции, оценивается шаг
разомкнутого цикла. Отслеживание шага выполняется в процессе оценки шага так. чтобы оцениваемый шаг стал
более достоверным.
А.3.2 Процесс оценки шага
В кодере режима малой задержки трекинг (отслеживание) шага проводится, используя только текущие, и
прошлые фреймы, чтобы сохранить задержку кодера 26 мс. Когда используется режим нормальной задержки,
отслеживание шага использует один предстоящий фрейм и задержка кодера становится 46 мс.
А.3.3 Трекинг шага
Для режима малой задержки
HVXC
алгоритм прослеживания шага не использует значение шага будущего
(предвидение) фрейма. Алгоритм прослеживания шага работает, основываясь на надежном шаге *
rblPch
". реше
нии
V/UV
предыдущего фрейма
’’prevVUV".
и параметрах прошлых’текущих шагов.
Основная операция состоит в следующем:
Когда
prevVUV’.
= 0 и
rblPch’. =
0, шаг прослеживается на основе
rblPch.
Однако, у значения шага предыдуще
го фрейма более высокий приоритет.
Когда
prevVUV =
0 и
rblPch
! = 0. шаг прослеживается на основе
rblPch.
Когда
prevVUV’.
= 0 и
rblPch
= 0. трекинг проводится на основе шага предыдущего фрейма.
Когда
prevVUV
= 0 и
rblPch
= 0. просто используется параметр текущего шага.
prevVUV.
= 0 представляет речевой, и
prevVUV
= 0 представляет неречевой статус, соответственно.
В соответствии с этой стратегией, трекинг шага выполняется без какого-либо заглядывания вперед. Исход
ный текст программы трекинга шага показан ниже.
typedef struct
{
Float pitch: Г pitch V
Float prob. Г 1st peak devided by 2nd peak of autocorrelation
V
Float rOr.Г 1st peak of autocorrelation - modified
V
Float rawROr.r 1stpeak ofautocorrelation - raw
V
Float rav/Pitch;
/*
pitch with no tracking
V
}
NgbPrm:
static int NearPitch(
float pO.
51