¿Usó la nave espacial Voyager un código Golay, Reed-Solomon y/o Hamming para la codificación de transmisión de datos para la corrección de errores? (Necesita aclaración)

La ahora famosa respuesta a ¿Cómo se relaciona el apilamiento de naranjas en 24 dimensiones con la recepción y decodificación de señales de los Voyagers? Vale la pena detenerse ahora aquí y volver y leer primero.

¡Bienvenido de nuevo! El comentario de @NgPh debajo de la pregunta enlaza con Codificación de canales: El camino hacia la capacidad del canal , que también vale la pena leer. Dice:

E. Implementaciones de código Reed-Solomon

La primera aplicación importante de los códigos RS fue como códigos externos en sistemas de codificación concatenados para comunicaciones en el espacio profundo. Para la misión Voyager de 1977, el Laboratorio de Propulsión a Chorro (JPL) usó un código RS (255, 223, 33) con corrección de 16 errores sobre F 256 como un código externo, con un código interno convolucional de tasa 1/2 y 64 estados (consulte también la Sección IV-D). El decodificador RS utilizó hardware de propósito especial para la decodificación y fue capaz de funcionar hasta aproximadamente 1 Mb/s [27]. Este sistema de codificación convolucional/RS concatenado se convirtió en un estándar de la NASA.

1980 vio la primera aplicación comercial importante de códigos RS en el estándar de disco compacto (CD). Este sistema usaba dos códigos RS cortos sobre F 256 , a saber (32, 28, 5) y (28, 24, 5) códigos RS, y operados a tasas de bits del orden de 4 Mb/s [28]. Todos los sistemas de almacenamiento magnético de audio y video posteriores han utilizado códigos RS para la corrección de errores, en la actualidad a tasas mucho más altas.

[...] Linkabit Corp. fue fundada por Irwin Jacobs, Len Kleinrock y Andy Viterbi en 1968 como una empresa de consultoría. En 1969, Jerry Heller fue contratado como el primer empleado de tiempo completo de Linkabit. Poco después, Linkabit construyó un prototipo de decodificador de algoritmo Viterbi de 64 estados ("un gran monstruo que llena un rack" [60]), capaz de funcionar a 2 Mb/s [61].

  • [27]: RW McEliece y L. Swanson, "Los códigos Reed-Solomon y la exploración del sistema solar", en Códigos Reed-Solomon y sus aplicaciones (SB Wicker y VK Bhargava, eds.), págs. 25–40. Piscataway, Nueva Jersey: IEEE Press, 1994.
  • [28]:KAS Immink, “Reed-Solomon codes and the compact disc”, en Reed-Solomon Codes and Their Applications (SB Wicker y VK Bhargava, eds.), págs. 41–59. Piscataway, Nueva Jersey: IEEE Press, 1994.
  • [60]:D. Morton, "Andrew Viterbi, ingeniero eléctrico: una historia oral", IEEE History Center, Rutgers U., New Brunswick, NJ, octubre de 1999
  • [61]: JA Heller e IM Jacobs, "Descodificación de Viterbi para comunicaciones espaciales y satelitales", IEEE Trans. común Tecnología, vol. COM–19, págs. 835–848, octubre de 1971.

Pero las fuentes citadas en ¿ Cómo se relaciona el apilamiento de naranjas en 24 dimensiones con la recepción y decodificación de señales de las Voyagers? y en los comentarios a continuación, la pregunta y la respuesta sugieren que Voyager usó un código Golay, y el término Hamming también se usa mucho.

Así que vamos a concretar esto:

Pregunta: ¿Usó la nave espacial Voyager un código Golay , Reed-Solomon y/o Hamming para la codificación de transmisión de datos para la corrección de errores?

En los códigos de corrección de errores, siempre es la complejidad del decodificador lo que limita. El codificador se puede implementar normalmente con unos pocos registros de desplazamiento y sumadores binarios. Bien podría ser que los códigos Golay y RS nunca se usaron con la Voyager en la dirección de la Tierra a las naves espaciales.
@NgPh sí, hay una asimetría inherente en los presupuestos de enlace para las dos direcciones, que es que el transmisor terrestre es 10³ y, en algunos casos, 10⁴ veces más potente que el transmisor de la sonda de espacio profundo, por lo que la S/N puede ser mucho mejor, reduciendo la requisitos para la detección y corrección de errores.

Respuestas (1)

Pregunta: ¿Usó la nave espacial Voyager un código Golay , Reed-Solomon y/o Hamming para la codificación de transmisión de datos para la corrección de errores?

¡Sí!

Y también hay un codificador convolucional.


De DESCANSO Design and Performance Summary Series, Voyager Telecommunications, (2002) :

La TMU [unidad de modulación de telemetría] codifica el flujo de datos de alta velocidad con un código convolucional que tiene una longitud de restricción de 7 y una velocidad de símbolos igual al doble de la velocidad de bits (k=7, r=1/2)

[énfasis añadido]

La pregunta solo menciona códigos de bloque , pero los Voyagers usaron codificación convolucional . Ciertamente no soy un experto, pero Brown, C. D. (2002). Elementos de diseño de naves espaciales. Estados Unidos: Instituto Americano de Aeronáutica y Astronáutica. sugiere que:

La codificación convolucional es un tipo de codificación más nuevo que ofrece una mejor reducción de la tasa de error de bits que la codificación de bloques para una relación de símbolo a bit determinada. Además, el codificador es más sencillo de implementar en hardware que un codificador de bloques.

Editar:

Encontré esta tabla de DESCANSO que sugiere que se usa la codificación Golay o Reed-Solomon (con convolucional):Configuraciones de enlace de Voyager

Brown, Elements of Spacecraft Design llama a esta concatenación :

Cuando se necesita una corrección de errores aún mayor, es posible combinar esquemas de codificación, lo que se denomina concatenación. [...] siendo el código Reed-Solomon la capa externa y el código convolucional la capa interna. Los bits de datos se codifican primero de forma convolucional. El flujo de símbolos de salida del codificador convolucional se codifica Reed-Solomon. Este esquema proporciona un aumento significativo en la protección contra errores y un aumento significativo en la tasa de símbolos.

Edición 2.0 , debería haber leído todo primero, de DESCANSO :

El algoritmo de codificación de Golay utilizado en Júpiter y Saturno requería la transmisión de un bit de sobrecarga por cada bit de información transmitido (100% de sobrecarga). La Voyager llevaba un codificador de datos Reed-Solomon experimental , expresamente para el mayor rango de comunicación de la fase de Urano y Neptuno de la misión. El nuevo esquema de codificación Reed-Solomon redujo la sobrecarga a aproximadamente un bit de cada cinco (20 % de sobrecarga) y redujo la tasa de error de bits en la información de salida de 5 × 10 3 a 10 6

No solo se utilizaron Golay y Reed-Solomon (" un subconjunto especial de códigos [Bose-Chadhuri-Hocquehem] " que son " una poderosa clase de código Hamming ", Brown, Elements of Spacecraft Design ), sino que también se utilizó la codificación convolucional .

¡Interesante! Parece que la "tasa de símbolo igual al doble de la tasa de bits" coincide con "... una palabra de código de 24 bits de longitud. Del total de 16 millones de palabras de código, solo definieron 4096 como válidas. Es decir, 12 bits contienen información real y otros 12 se utilizan para la corrección de errores". de la [respuesta anterior](). ¿Corresponde esto a "r=1/2" tal vez? También me pregunto si "k = 7" corresponde a "3 errores de corrección, 7 errores de detección " también.
@uhoh Sí, esta es una notación estándar.
@uhoh, "k=7": k es la llamada longitud de restricción de un código convolucional (CC) . Básicamente, es la memoria del codificador. Cuanto mayor sea k, mejor, pero la complejidad del decodificador también aumenta correspondientemente. La NASA a veces usa k=9, pero k=7 se considera el compromiso correcto entre rendimiento y complejidad.