ГОСТ Р 53556.3—2012
Т а б л и ц а В.6 — Порядок запуска и размерность вектора
LSP
второй стадии
Номер вектора
расщепления:
n
Стартовый порядок
LSP:
sp
Размерность вектора
<fim
0
0
5
1
5
5
Квантованные
LSPs lsp_current[)
стабилизированы, чтобы гарантировать стабильность фильтра синтеза
LPC. который получен из квантованных
LSPs.
Квантованные
LSPs
упорядочены, имея расстояние, по крайней
мере.
min_gap
между смежными коэффициентами.
for(i
=
О:i < lpc_order:i+*)
{
if (lsp_current[ij < min__gap)
{
lsp_current[i]
=
min_gap:
}
}
for(i =0: i <tpc_order-1; i++)
{
if <lsp_current[i+1]- lsp_currenlfi] < min_gap)
{
lsp_currenl[i+1]
=
lsp_current[i]+minjgap:
}
}
for
(7=
0: i <lpc_order: i+*)
{
if (lsp_currentfl] > 1-min_gap)
{
lsp_current[ij
=
1-min_gap; }
}
:
tor(i
=
lpc_order-
1
i >
0
;
i--)
if (lsp_current(i}-isp_current[i-1] < min_gap)
{
lsp_current[i—1]
=
lsp_current(i}-min_gap
.
}
}
где
minjgap
= 2.0/256.0
После процесса квантования квантованные
LSPs
в каждом подфрейме линейно интерполируются.
for(п
= 0; л <
nrof subframes;п++)
{
ratio_sub=(n
+
1)/nrof_subframes:
for (i
=
0:i <lpc_order; i++)
*
{
lsp_subframe[n][i]=((1-
ratio_sub) Isp_previous[i]+ratio_sub4sp_current(i]));
}
}
Интерполированные
LSPs
конвертируются в
LPCs.
используя вспомогательную функцию
Convert2lpc()-
for(n = 0:n< nrof_subframes;n++)
{
Conver12lpc(lpc_order. tsp_subframe[n], inl_Qlpc_coefficients
+
n’lpc_order)).
}
После вычисления коэффициентов
LPC
текущие
LSPs
должны быть сохранены в памяти, так как они ис
пользуются для интерполяции в следующем фрейме.
for(i =0:i< lpc_order;l**)
{
lsp_previous[i) = lsp_currenl{i]:
}
76