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


function syn_e0=subcoding(subf,lpc_eff) 
 
global bpa bla bra bwa bpb blb brb bwb  
global szsubf TRUE FALSE 
 
sube1=zeros(1, szsubf); 
 
% Find first initial error (pitch+stochastic excitation). Returned with sube1 
[bpa, bla, bra, bwa, sube1]=initsub(subf, sube1, szsubf, bpa, bla, bra, bwa,FALSE);  
 
bla=blb; 
bra=brb;                                    % Update buffer 
bwa=bwb; 
 
impulse(szsubf, lpc_eff);                   % Generate impulse response of weighting filter 1/A(z/gamma) 
 
psearch(sube1);                             % Pitch search routine 
 
sube0=zeros(1, szsubf);                      
 
% Find second initial error (stochastic excitation). Returned with sube0 
[bpa,bla,bra,bwa,sube0]=initsub(subf, sube0, szsubf, bpa, bla, bra, bwa,TRUE); 
 
[syn_e0]=cbsearch(sube0);                   % Stochastic excitation search 
 
% Update pitch filter memory with synthesized pitch. Update 1/A(z), A(z), and 1/A(z/gamma) 
[bpb,blb,brb,bwb,sube0]=initsub(subf, syn_e0, szsubf, bpb, blb, brb, bwb,TRUE); 
 
bpa=bpb; 
bla=blb; 
bra=brb; 
bwa=bwb;