function A=a_matrice(s,P,lseg,rseg);
% Syntax: A=a_matrice(s,P,lseg)
%      ou A=a_matrice(s,P,lseg,rseg)
% Fonction pour le calcul des coefficients LPC a partir du signal
%	s - vecteur signal
%	P - nombre des coefficients LPC (sans a(0)=1 )
%	lseg - longeur du segment
%	rseg - recouvrement des segments (optionnel)
% Dans la matrice A, les vecteurs LPC sont stockes colonne par colonne
%    avec a(0)=1
% Il y a un fenetrage Hamming, pas de preaccent

if(nargin==3),
 rseg=0;
end

M=floor((length(s)-rseg)/(lseg-rseg));	% no. de seg.
ham=hamming(lseg);

%-------------------------------------------------------------------------
A=zeros(P+1,M);    % init. de la matrice cepst.

pos=1;

for i=1:M,
% --- choix de la fenetre 
 fen=s(pos:pos+lseg-1).*ham;		% hamming
 pos=pos+lseg-rseg;
 
% --- calcul de coeff. LPC 
 r=xcorr(fen);
 r(1:lseg-1)=[];			% supprime la 1ere moitie du vecteur.
% r(1:P+1)   %!!!
 a=levinson(r,P)';
			% tout ca remplace: a=(lpc(fen,P))'; 
 A(1:P+1,i)=a;
 
 if(i/50==floor(i/50)),
  disp(i);
 end 			% indique l'avancement du calcul
 
end	% for i 
