Diccionario redundante matlab
g = [1? 0? 0? 1? 1] % Generar polinomio g(x) = x4+x+1, el crc-4 más simple Genera código redundante de 4 dígitos.
r = longitud (gramos)-1;? %La longitud del código redundante es la longitud del polinomio generador menos 1.
¿[q,r]? =?deconv([data? Zero (1, R)], g);
% son los k ceros en el lado derecho de los datos, y luego el polinomio de datos se calcula mediante deconv y se divide por el polinomio generador.
El cociente % es Q (la longitud es 16) y el resto es R (la longitud es 16+R).
R = mod(R(end-R+1:end, 2);?% operación módulo 2 en el último r bit del resto
code =[data?r ]; ? %El código son los datos originales de 16 bits seguidos del código de redundancia de verificación de R-bit
%La señal enviada es este código binario de 16+R-bit. >%Verificación: Se recibirá. Divida el código de 16+R por el polinomio generador
[q, r] =?deconv(code,g);? R = mod(R(end- R+1: end, 2);
Si es correcto, el resto de r bits son todos 0.
errorcode = code;
Código de error (2). = 1-código de error (2);? %Asumir la segunda desalineación
[q, r]? =?de conv(código de error, g);
R = mod(R(end-R+1:end, 2);
disp(R)% resultado de la prueba de que todos los bits R son cero.
?0 0 0 0
? 1 0 0 0
Indica que el primer resultado es correcto
El segundo error