function [tramo, codigo] = validaCRC(tramo, codigo, metodo, TX)
%------------------------------------------------------------------------
%| [tramo, codigo] = validaCRC(tramo, codigo, metodo, TX)
%------------------------------------------------------------------------
%| Funcin que valida todos los parmetros pasados a las funciones
%| generaCRC() y recuperaCRC.
%| El motivo de ser implementado en una funcin aparte es permitir
%| realizar la validacin al principio de un bloque grande datos,
%| que se le irn pasando secuencialmente a la correspondiente
%| funcin.
%|
%| Ver generaCRC para ms informacin
%-------------------------------------------------------------------------
%| Autor: Cesar Delgado
%| Fecha: 19-Abril-2.004
%-------------------------------------------------------------------------
if TX % Generamos los cdigos de redundancia en el Transmisor
% 1.- Validacin de las longitudes.
%-------------------------------------------------------------------------
[ERROR, tramo, codigo] = validaTramo(tramo, codigo, metodo);
switch ERROR
case 0,
break;
case 1,
disp ('WARNING: la longitud de los segmentos de codificacin deber');
disp (' ser mayor que el cdigo de redundancia en la funcin generaCRC ');
disp (' Se utilizarn los parmetros por defecto: 7/4 ');
break;
case 2,
disp ('WARNING: el tramo-1 = (2^M) - 1, siendo M = 3,4, ... en generaCRC');
disp (' Se emplearn los parmetros por defecto 7/4');
break;
case 3,
disp ('WARNING: error empleando el mtodo Hamming en generaCRC');
disp (' Codigo = (2^M) - M, Tramo = 2^M, siendo M= 3,4,...');
Texto = sprintf(' Se asignar: Cdigo = %d',codigo);
disp (Texto);
break;
case 4,
disp ('WARNING: error empleando cdigos de redundancia cclica en generaCRC');
disp (' Mtodo BCH requiere long. cdigo compatible con polinomio BCH');
Texto = sprintf(' Se asignar: Cdigo = %d',codigo);
disp (Texto);
break;
case 5,
disp ('WARNING: error empleando cdigos Reed Solomon en generaCRC');
disp (' La longitud del cdigo deber ser mayor de 1');
Texto = sprintf(' Se asignar: Cdigo = %d',codigo);
disp (Texto);
break;
end;
end;