Logo Studenta

Resumo de Informática Básica (45)

¡Estudia con miles de materiales!

Vista previa del material en texto

Código  Berger
En  telecomunicaciones,  un  código  Berger  es  un  código  de  detección  de  errores  
unidireccional,  que  lleva  el  nombre  de  su  inventor,  JM  Berger.  Los  códigos  Berger  pueden  
detectar  todos  los  errores  unidireccionales.  Los  errores  unidireccionales  son  errores  que  
transforman  sólo  unos  en  ceros  o  sólo  ceros  en  unos,  como  en  los  canales  asimétricos.  
Los  bits  de  verificación  de  los  códigos  Berger  se  calculan  contando  todos  los  ceros  en  la  
palabra  de  información  y  expresando  ese  número  en  binario  natural.
cambiado  a  0s.
Detección  de  errores  unidireccional
•  Algunos  bits  1  en  la  parte  de  verificación  de  la  palabra  clave  fueron
Como  todos  los  códigos  de  detección  de  errores  unidireccionales,  los  códigos  Berger  
también  se  pueden  utilizar  en  circuitos  insensibles  al  retardo.
•  Para  el  caso  1,  el  número  de  bits  con  valor  0  en  la  sección  de  información  aumentará,  
por  definición  del  error.  Por  lo  tanto,  nuestro  código  de  verificación  Berger  será  
menor  que  el  recuento  real  de  0  bits  para  los  datos  y,  por  lo  tanto,  la  verificación  
fallará.
cambiado  a  0s.
a  0s.
De  manera  similar,  los  códigos  Berger  pueden  detectar  cualquier  número  de  errores  de  
inversión  de  bits  de  cero  a  uno  siempre  que  no  se  produzcan  errores  de  inversión  de  bits  
de  uno  a  cero  en  la  misma  palabra  de  código.  Los  códigos  Berger  no  pueden  corregir  
ningún  error.
•  Se  han  eliminado  algunos  bits  de  unos  en  la  parte  de  información  de  la  palabra  clave.
Los  códigos  Berger  pueden  detectar  cualquier  número  de  errores  de  desplazamiento  de  
bits  de  uno  a  cero,  siempre  que  no  se  produzcan  errores  de  cero  a  uno  en  la  misma  
palabra  de  código.
•  Se  han  cambiado  algunos  bits  1  en  las  partes  de  información  y  verificación.
Como  se  indicó  anteriormente,  los  códigos  Berger  detectan  cualquier  cantidad  de  errores  
unidireccionales.  Para  una  palabra  de  código  determinada,  si  los  únicos  errores  que  se  
produjeron  son  que  algunos  (o  todos)  los  bits  con  el  valor  1  cambiaron  al  valor  0,  entonces  
la  implementación  del  código  Berger  detectará  esta  transformación.  Para  entender  por  
qué,  considere  que  existen  tres  casos  de  este  tipo:
Machine Translated by Google
Como  los  datos  de  información  siguen  siendo  los  mismos,  tienen  el  mismo  número  
de  ceros  que  antes  y  esto  ya  no  corresponderá  al  valor  del  cheque  modificado.
Los  errores  unidireccionales  son  comunes  en  determinadas  situaciones.  Por  
ejemplo,  en  la  memoria  flash,  los  bits  se  pueden  programar  más  fácilmente  en  0  
que  restablecerlos  en  1.
Para  el  caso  2,  la  cantidad  de  bits  con  valor  0  en  la  sección  de  información  
permaneció  igual,  pero  el  valor  de  los  datos  de  verificación  cambió.  Como  
sabemos  que  algunos  unos  se  convirtieron  en  ceros,  pero  ningún  cero  se  convirtió  
en  unos  (así  es  como  definimos  el  modelo  de  error  en  este  caso),  el  valor  
codificado  binario  de  los  datos  de  verificación  disminuirá  (por  ejemplo,  de  1011  
binario  a  1010,  o  a  1001  o  0011).
Para  el  caso  3,  donde  los  bits  cambiaron  tanto  en  la  sección  de  información  como  
en  la  de  verificación,  observe  que  el  número  de  ceros  en  la  sección  de  información  
aumentó,  como  se  describe  para  el  caso  1,  y  el  valor  binario  almacenado  en  la  
parte  de  verificación  disminuyó,  como  se  describe  para  caso  2.  Por  lo  tanto,  no  
hay  posibilidad  de  que  los  dos  terminen  mutando  hasta  el  punto  en  que  se  
conviertan  en  una  palabra  de  código  válida  diferente.
Se  puede  realizar  un  análisis  similar,  y  es  perfectamente  válido,  en  el  caso  en  que  
los  únicos  errores  que  ocurren  son  que  algunos  bits  del  valor  0  cambian  a  1.  Por  
lo  tanto,  si  todos  los  errores  que  ocurren  en  una  palabra  de  código  específica  
ocurren  en  la  misma  dirección,  estos  Se  detectarán  errores.  Para  la  siguiente  
palabra  de  código  que  se  transmitirá  (por  ejemplo),  los  errores  pueden  ir  en  la  
dirección  opuesta  y  aún  se  detectarán  siempre  que  todos  vayan  en  la  misma  
dirección  entre  sí.
Machine Translated by Google

Continuar navegando