generator and source files for the compudanzas.net site
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Warning: Missing License
We looked everywhere, but we couldn't find an OSI- or FSF-approved Free Software or Content License, which is a requirement for hosting content on Codeberg.
Learn about why no license or custom ones are a bad idea and get started on the docs.
Please consider carefully if you want to use (parts of) this project, as doing so might put you in legal trouble.
 
 
 
 
 

101 lines
3.8 KiB

# par y danza
estrategia básica para detectar posibles errores de transmisión / recepción de una secuencia binaria, como parte de {las danzas}.
implementamos el cómputo y detección de la llamada paridad: dada una secuencia de dos tipos de símbolos, ¿la cantidad de símbolos de uno de esos tipos, es par o impar?
# componentes
usaremos el concepto de estados y tiempos discretos.
## participantes
necesitamos al menos dos personas:
* transmisora de secuencia
* calculadora de paridad
## movimientos
necesitamos un alfabeto de dos movimientos:
* un movimiento "alto"
* un movimiento "bajo"
y un conteo de tiempos discretos.
cada uno de esos tiempos que contiene a un movimiento, lo podemos considerar un "bit": unidad mínima de información.
para transmitir información más compleja, necesitamos varios "bits": una secuencia de tiempos con uno de estos dos movimientos.
## estados y transiciones
en cada unidad de tiempo, estamos ya sea en el estado que corresponde al movimiento alto, o en el que corresponde al movimiento bajo.
inicialmente estamos en el movimiento bajo.
tenemos dos tipos de transiciones:
* continúa: sigue en el mismo estado
* invierte: cambia al otro estado
# guía
## cálculo de paridad
de acuerdo al mensaje binario a transmitir, en cada tiempo la persona transmisora envía uno de los dos movimientos posibles.
cuando la cantidad de movimientos que envía en una transmisión son 8, estará enviando un "byte".
la persona calculadora inicialmente está en el movimiento bajo.
en cada tiempo de transmisión, la persona calculadora ha de actuar de la siguiente forma:
* si el movimiento transmitido es bajo, ella ha de continuar su movimiento.
* si el movimiento transmitido es alto, ella ha de invertir su movimiento.
al concluir la transmisión, la persona calculadora habrá terminado:
* en el movimiento alto si la cantidad de movimientos altos transmitidos fue impar.
* en el movimiento bajo si la cantidad de movimientos altos transmitidos fue par
comprobemos que sí sea así, con secuencias de diferente longitud y paridad.
## detección de error con paridad
### conceptos
el estado en el que terminó la persona calculadora puede llamarse el bit de paridad.
un aspecto interesante y no obvio de este sistema, es que si este bit de paridad se agrega a la secuencia original para formar una nueva secuencia completa, entonces la cantidad total de movimientos altos siempre será un número par:
* cuando la cantidad era impar (por ejemplo, 3), el bit de paridad es alto, y al sumarse da un total par (por ejemplo, 4)
* cuando la cantidad era par (por ejemplo, 2), el bit de paridad es bajo y no se suma al total, que queda par (por ejemplo, 2)
### actividad
después de calcular localmente la paridad de la secuencia a transmitir, podemos pasar a transmitir a mayor distancia la nueva secuencia con el bit de paridad al final:
en cada tiempo, la persona transmisora envía el movimiento correspondiente para transmitir la secuencia completa.
la persona calculadora inicialmente está en el movimiento bajo.
en cada tiempo de transmisión/recepción, la persona calculadora ha de actuar de la siguiente forma:
* si el movimiento recibido es bajo, ella ha de continuar su movimiento.
* si el movimiento recibido es alto, ella ha de invertir su movimiento.
al terminar la transmisión de la secuencia completa, revisamos el estado de la persona calculadora:
* si se encuentra en movimiento alto (paridad impar), hubo algún error en la comunicación
* si se encuentra en movimiento bajo (paridad par), probablemente no hubo error en la comunicación
probemos con secuencias de diferente longitud, a diferentes velocidades, y también a diferentes distancias.
¿llega a suceder que detectamos un error?
¿qué pasa cuando hay dos errores en la comunicación? ¿es posible que el sistema no lo detecte?