genexcmp.m
来自「ITU-T G.723.1 Speech Coder: Matlab imple」· M 代码 · 共 53 行
M
53 行
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 + =
减小字号Ctrl + -
显示快捷键?