ГОСТ Р 53556.3—2012
Т а б л и ц а В.10 — Стартовый порядок и размерность вектора
LSP
второй стадии
Номер necopa
расщепления:
n
Стартовый порядок
верхнего
LSP: sp
Размерность вектора
dim
0
0
5
1
5
5
Наконец, декодированные
LSPs !sp_currentJower{]
и
lsp_current_upper[j
объединяются и сохраняются в
массиве
lsp_current[).
for(i =О:i < lpc_order/2: i++)
{
lsp_current[i]
=
lsp_current_lowerfi]:
}
for (i =0;i <Ipc order/2; i++)
{
lsp_currenfltpc_ordor/2+i] = lsp_currenl_upper(i]:
}
Квантованные
LSPs. Isp_current(]
стабилизируются, чтобы гарантировать стабильность фильтра синтеза
LPC.
который получают из квантованных
LSPs.
Квантованные
LSPs
упорядочиваются в порядке возрастания,
имея расстояние, по крайней мере.
min_gap
между смежными коэффициентами
for(i
=
0;I <Ipc order: i++)
{
if (tsp_current[i] < mm_gap)
{
lsp_currenl[i} = min_gap:
}
}
for(i
=
0: i <lpc_order- 1:i*+)
{
if fisp_current[i*1]- lsp_currenl[i] < min_gap)
{
lsp_currenl[i+1]
=
Isp_currenlp]*min_gap:
}
}
for(i
=
0:i <lpc_order: i++)
{
if (lsp_curmnt[i] > 1-min_gap)
{
lsp_current[ij
=
1-min_gap;
}
for(i
=
lpc_order~1;i> 0:i- -)
{
if (lsp_currenl(i}-lsp_cunent[i-1J < min_gap)
{
lsp_current[i-1]
=
lsp_current[i]-min_gap:
}
}
где
lpc_order
= 20 и
min_gap =
1.0/256.0
После процесса квантования квантованные
LSPs
линейно интерполируются в каждом подфрейме.
for (п = О;
л <
nrof_subframes;п++)
{
ratio_sub=(n+1)/nrof_subframes:
for (i
=
0:i <lpc_order; i++)
{
lsp_subframe[n]li]=((1-
ratio_sub)’Isp_previous[i]+ratio_sub4sp_current{i]));
}
}
Интерполированные
LSPs
преобразуются в
LPCs.
используя вспомогательную функцию
Conved2tpc ().
for (n = 0;
л <
nrof_subframes;n*+)
{
78