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;