📄 genexcacelp.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -