📄 genexcmp.m
字号:
function [es, DecoderMem] = GenExcMP (QC, DecoderMem, DecoderPar)% Multipulse mode decoder% $Id: GenExcMP.m 1.10 2004/08/03 G.723.1-v2r1a $LSubframe = DecoderPar.LSubframe;eMem = DecoderMem.eMem;% Extract the codes[L, b, Pulseval] = DecodeStreamMP (QC, DecoderPar.Pitchpar, DecoderPar.MPpar);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 = MPContrib (N, Pulseval(i)); 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 = 1;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 + -