%CODIFICADOR APCM.
%function[xmc,xmaxc]=apcmcod(xm)
%Entradas:
%xm:subsecuencia de máxima energía.
%Salidas:
%xmc:subsecuencia seleccionada codificada.
%xmaxc:valor máximo codificado.
function[xmc,xmaxc]=apcmcod(xm)
xmax=max(abs(xm));
xmaxpc=[31 63 95 127 159 191 223 255 287 319 351 383 415 447 479 511 575 639];
xmaxpc=[xmaxpc,703 767 831 895 959 1023 1151 1279 1407 1535 1663 1791   1919];
xmaxpc=[xmaxpc,2047 2303 2559 2815 3071 3327 3583 3839 4095 4607 5119   5631];
xmaxpc=[xmaxpc,6143 6655 7167 7679 8191 9215 10239 11263 12287 13311   14335];
xmaxpc=[xmaxpc,15359 16389 18431 20479 22527 24575 26623 28671 30719   32767];
xmaxc=sum(xmax>xmaxpc);
if (xmaxc==64) 
   xmaxc=63; 
end
xmaxp=xmaxpc(xmaxc+1);
xp=xm*((2^15)/xmaxp);
interval=[-24577 -16385 -8193 -1 8191 16383 24575 32767];
for i=1:13;
	xmc(i)=sum(xp(i)>interval);
	if(xmc(i)==8) 
   	xmc(i)=7; 
	end
end