%CÓDIGO CONVOLUCIONAL INVERSO.
%function u=incrc215(c)
%Entradas:
%c:378 bits de entrada correspondientes a las clases Ia y Ib.
%Salidas:
%u:189 bits de salida tras el código convolucional inverso.
function u=incrc215(c)
matcrc=[0 3 13 14 52 55 57 58;48 51 61 62 4 7 9 10;60 63 49 50 8 11 5 6;12 15 1 2 56 59 53 54];
matcrc=[matcrc;15 12 2 1 59 56 54 53;63 60 50 49 11 8 6 5;51 48 62  61 7  4 10  9];
matcrc=[matcrc;3 0 14 13 55 52 58 57;19 16 30 29 39 36 42 41;35 32 46  45 23  20 26  25];
matcrc=[matcrc;47 44 34 33 27 24 22 21;31 28 18 17 43 40 38 37;28 31 17 18 40 43 37  38];
matcrc=[matcrc;44 47 33 34 24 27 21 22;32 35 45 46 20 23 25 26;16 19 29 30 36 39 41  42];
reg=['0' '0' '0' '0'];
for n=1:185
   aux=c(2*n-1:2*n+4);
   crc=zeros(1,8);
   for i=1:8;
      crc(i)=sum(mod(aux+dec2bin(matcrc(bin2dec(reg)+1,i),6),2));
   end
      [q,p]=min(crc);
   	aux3=dec2bin((p-1),3);
   	u(n)=aux3(1);
   	reg=[aux3(1),reg(1:3)];   
end
clear matcrc;
u(186:189)=['0' '0' '0' '0'];

   

	