% Interleaver % % Altera el orden de transmisión de los bits, para separar % en el tiempo bits consecutivos a los efectos de que una % ráfaga de interferencia no dañe varios bits de una % misma palabra (cosa que los códigos de corrección de % errores no podrían reparar). % function [fi] = interleaver(f,n_max_sim,N,n_cod_tipo) %El número de filas es n_max_sim y=n_max_sim; %La profundidad es el número total de bits p=N*n_max_sim*n_cod_tipo; % x es el número de columnas x=p/y; na=length(f)/p; a=1; for k = 0:na-1, % Escritura por filas for i = 1:x, for j = 1:y, M(j,i)=f(a); a=a+1; end end % Lectura por columnas b=1; for j = 1:y, for i = 1:x, fi(k*p+b)=M(j,i); b=b+1; end end end %