%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