ГОСТ Р 53556.7—2013
5.1.5 Синтезатор шума
5.1.5.1 Описание инструмента
Этот инструмент синтезирует шумовую часть выходного сигнала, основанного на параметрах
шума, декодируемых декодером шума. Шумовой сигнал добавляется к выходному сигналу синтезатора
гармонической и отдельной линии, чтобы получить полный декодированный аудиосигнал
5.1.5.2 Определения
noiseWin [п]
noiseEnv[п]
М
w [т]
xf[m.]
хп[п]
prev/ousXn [п]
prevxxJsNoiseWin [п]
ГЮ
hpj
hlplij
Окно для наложения-добавления шума.
Огибающая для шумового компонента в текущем фрейме.
Длина фрейма в выборках перед передискретизацией.
Белый шум с мощностью pw.
Фильтруемый сигнал шума в текущем фрейме.
Синтезируемый сигнал шума в текущем фрейме.
Синтезируемый сигнал шума в предыдущем фрейме.
Окно и огибающая для шумового компонента в предыдущем фрейме.
Коэффициенты отражения LPC.
Импульсная характеристика LPC.
Импульсная характеристика фильтра передискретизации низких частот
5.1.5.3 Процесс синтеза
5.1.5.3.1 Базовый синтезатор
Если для текущего фрейма передаются шумовые параметры, сигнал шума со спектральной фор
мой, которая описана шумовыми параметрами, декодируемыми из потока битов, синтезируется и до
бавляется к аудиосигналу, сгенерированному синтезатором гармонической и отдельной линии.
Шум представляется его энергией и рядом LPC-параметров. Шумовые параметры LPC преобра
зовываются в коэффициенты отражения rfij и во временную характеристику h р]\
for (i = 0; i <numNoisePara: i *+)
r[i) = (exp (noiseLPCPara pj) - 1 )/(exp (noiseLPCPara (ij) * ^).
После этого коэффициенты отражения r[i) преобразовываются во временную характеристику h р].
используя функцию С
void Convort_k_to_h (float *х. int N).
вызов с х р] = г[i] мN = numNoisePara возвращает с х р] = h р]).
Фильтруемый сигнал шума xf[m] генерируется, применяя фильтр HRсинтеза LPC к белому шуму,
представленному случайными числами w [т]. Энергия этого белого шума с нулевым средним обозна
чается pw. Для шума с равномерным распределением в [-1,1] энергия будет
pw - 1/3.
Чтобы достигнуть необходимой энергии шумового сигнала, требуется следующий масштабный
коэффициент s:
ss = 1,0;
for (i = 0; / <numNoisePara. i *+)
ss * = 1-гp] V p};
s = noiseArnpl * sqrt (ss/pw).
Затем белый шум w [m] IIR-фильтруется. чтобы получить синтезируемый сигнал шума xf[m]
for (т = startup: т <2*М; т +■*■){
xf[m) = s ’ w [т]:
for (i = 0;i <min (m-startup. numNoisePara): i +*)
xf[m]
+ =hp] •xf[m4-1):
}
44