ГОСТ Р 53556.3—2012
1
for
7=
0: i < 5: i++)
{
lsp_bws_buf(0]p]=lsp_bwsjbl[0]ppc_indices[5]]p]+lsp_bws_tbi[
2][lpc_indices[7)J[i]:
}
for (i = 5: i
<
10: /*+)
{
lsp_bws_buf(0]p]=lsp_bws_tbl[0]ppcjndices[5]]p]4sp_bwsjbt[
3)[lpc_irtdices[8]]p-5]:
}
for (i
=
10: i
<
15: i**)
{
lsp_bws_buf[0)[i]=lsp_bws_tbl[1J[1pcJndicos[6]][i-
10J+lsp_bws tbl[4][lpc_indices[9]][i-10];
}
for (i
=
15: i
<
20: I**)
{
lsp_bws_buf[0][i]=lsp_bws_tbl[1Jppc_indtces[6]][i-
10]+lsp_bwsJbl[5](lpcJndiC6s[10J][i-15]:
}
for (n
=
0: n
<=
2: n*+)
{
for (i
=
0: i
<
20: i++)
{
lsp_bws_current[i]
+=
bws_ma_prdct[n)[i]Vsp_bws buf[n)fi]:
}
}
for (i
=
0: i < 10: i++)
{
lsp_bws_current[i]
«■=
bws_nw_prdct[i)’lsp currentp];
}
где
lsp_b\vsjbl[][][)
являются книгами шифров
LSP. bws_ma_prdct[)[]
и
bws_nw_prdct[]
являются
коэффициентами предсказаниядля скользящего среднего значения межфреймового предсказания и вн/т-
рифреймового предсказания, соответственно.
tsp_bv/s_buf[J[}
является буфером,содержащим остаток пред
сказания
LSP
в текущем фрейме и предыдущих двух. Этот буфер сдвигается для работы следующего
фрейма следующим образом:
for (п = 2;п> 0: п
-
•)
{
for (i = 0; i
<
20: i++)
{
lsp_bws_buf[n][i] =lsp_ b
ivs_
bof[n-1][i]:
}
}
Декодированные
LSPslsp_bws_curront[J
стабилизируются, чтобы гарантироватьстабильность филь
тра синтеза
LPC.
который получен издекодированных
LSPs.
Декодированные
LSPs
упорядочены в поряд
ке возрастания, имея расстояние между смежными коэффициентами, по крайней мере.
min_gap.
for (i
=
0;i < Ipc order_bws: i++)
{
if(lsp_bws_current[i] < 0.0
1|
lsp_bws_current(i) >PAI)
{
lsp_bws currentp] = 0.05* PAI Ч /lpc order bws:
}
}
for(i
=
(lpc_order_bws-1); i >0: ь -)
{
43