www.pudn.com > CELP.ZIP > initsub.m


function [b1,b2,b3,b4,sube]=initsub(spch,sube,l,b1,b2,b3,b4,flag) 
 
global pcode pgain sub_cnt frame_count gamma1 olpc pdlyindx lpcMat TRUE FALSE  
 
if flag~=FALSE 
    [sube,b1]=pitch_syn(sube,b1,pcode(sub_cnt),pgain(sub_cnt));     % Pitch synthesis routine 
end 
 
[voc,b2]=lpcr(lpcMat(frame_count,:),b2,sube);                       % LPC synthesis. Returned with voc 
 
sube=spch-voc;                                                      % Get error signal (First error or second error) 
 
[sube,b3]=FIRfilter(lpcMat(frame_count,:),b3,sube);                 % A(z) filter 
 
wlpc=wcoff(gamma1,lpcMat(frame_count,:));                       % Weight LPC coefficients with 0.8 
 
[sube,b4]=lpcr(wlpc,b4,sube);                     % Weighted filter error signal 
 
% The last three steps realize weighting filtering: A(z)/A(z/gamma)