ГОСТ Р 53556.3—2012
поляцией прошлого сигнала возбуждения
pacb[n]
в декодированной целой части задержки
acb_delay
и
дробной части
acbjrac.
Интерполяция производится, используя
FIR
фильтр
int_fil(k],
основанный на функ
ции синхронизации с окном Хемминга. Если значение
shapo_delay
равно 255 для частоты дискретизации 8
кГц или 511 для частоты дискретизации 16 кГц. выход
acb[]
состоит из отсчетов со всеми нулевыми
значениями. Для других индексов выход
acb()
вырабатывается следующей процедурой:
for(п =0;п< sbfrm_size:)
{
tt
+=
acbjrac;
kt
=
acb_delay
+
tt / 6:
tt = tt% 6;
for (i = 0; i <kt &&n
<
sbfrm_size:
/+♦.
n*+)
{
for ( k = -iftap: к <= iftap; k*+)
{
kk
=
(k+1) * 6 - tt:
acb[n)
+=
intjil[abs(kk)j
*
pacb[pacb_size-(kt~i+k+1)];
pacb[pacb_size+n]
=
acbfnj:
}
}
}
где параметры справки
iftap
и
pacbjsize
зависят от частоты дискретизации (см. таблицы 92,93.94).
Т а б л и ц а 92 — Отображение между shape_delay и задержкой шага для частоты дискретизации 8 кГц
snape_de!ay
acb_delay
acbjrac
0-161
shape_delay!2+17
(2‘shape_delay)%6
162-199
(shape_delay- 162)/2+71
(3‘(shape_delay^62))%6
200 - 254
s/)ape_de/ay-200+90
0
255
0
0
Т а б л и ц а 93 — Отображение между shape_delay и задержкой шага для частоты дискретизации 16 кГц
shapc_delay
acb_delay
acbjrac
0 -2 1 5
shapeJelayl3+20
(2’shape_delay)%6
216-397
(shape_delay- 216)/2+92
(3’(shape_de/ay-216))%6
398-510
shapeJe la y-398+183
0
511
0
0
Т а б л и ц а 9 4 — Число отводов фильра интерполяции и размер адаптивной книги
шифров
Частота дискретизации
Число отводов
pacb_sue
8 кГц
6
150
16 кГц
11
306
5.7.2.3.4 Декодирование вектора фиксированной книги шифров
Вектор фиксированной книги шифров содержит несколько ненулевых импульсов и представлен по
зицией импульса и амплитудами импульса. Позиции импульса
pul_pos[i]
извлекаются из
shapepositions.
Амплитуды импульса
pul_amp[i]
получают из
shape_signs.
for (i - num_pulse-1, к = 0; i
>=
О:h ■)
{
for (I
=
0; j
<
питJit_pos[i]:j++)
{
51