genexcacelp.m
来自「ITU-T G.723.1 Speech Coder: Matlab imple」· M 代码 · 共 53 行
M
53 行
function [es, DecoderMem] = GenExcACELP (QC, DecoderMem, DecoderPar)% ACELP mode excitation generation% $Id: GenExcACELP.m 1.9 2004/08/03 G.723.1-v2r1a $LSubframe = DecoderPar.LSubframe;eMem = DecoderMem.eMem;% Extract the pitch and pulse parameters[L, b, Pulseval] = DecodeStreamACELP (QC, DecoderPar.Pitchpar, DecoderPar.ACELPpar);NSubframe = length (LSubframe);j = 0;for (i = 1:NSubframe) N = LSubframe(i); % Pitch contribution ep = PitchContrib (N, L(i), b(:,i), eMem, DecoderPar.Pitchpar); % Fixed codebook contribution em = ACELPContrib (N, Pulseval(i), DecoderPar.ACELPpar); es(j+1:j+N,1) = ep + em; % Shift the pitch memory eMem = ShiftVector (eMem, es(j+1:j+N)); j = j + N;end% PLC setup[DecoderMem.PLC.uvGain, DecoderMem.PLC.L] = ... PLCUpdate (L, eMem, Pulseval, DecoderPar.PLCpar); % Gain for CNGDecoderMem.CNG.SIDGain = CNGUpdate (eMem, DecoderPar.CNGpar);% Pitch postfilter values (before clipping)FMode = 2;PFval = PFPitchval (L, eMem, FMode, LSubframe, DecoderPar.PFpar);% Clip the pitch memoryDecoderMem.eMem = ClipSignal (eMem, DecoderPar.Clippar);% Apply the pitch postfilter (after clipping)if (DecoderPar.PFpar.enable) es = PPostFilter (DecoderMem.eMem, PFval, LSubframe);endreturn
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?