Posts mit dem Label Computer werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Computer werden angezeigt. Alle Posts anzeigen

Freitag, 1. November 2013

Ein Raumanzug für Mona Lisa - Fehlerkorrigierende Codes (Gastbeitrag)

Heute gibt's etwas Besonderes, etwas Erstmaliges: einen Gastartikel.
Es werden Methoden vorgestellt, die uns in unserem technischen Alltag eine Vielzahl von Sorgen nehmen. Dank der folgenden klugen Überlegungen ist es z. B. möglich, diesen Artikel fehlerfrei auf eure Bildschirme zu bringen - und alleine deswegen hat die Technik der fehlerkorrigierenden Codes bereits ihre Berechtigung, wie ihr nach dem Lesen des folgenden Textes von Jakob Kogler sicher auch denken werdet! ;-)




Einleitung

Vergangene Woche wurde von der NASA der Rekord für die schnellste Datenübertragung durch das Weltall gebrochen. Seit eh und je verwendet die NASA zur Kommunikation mit Satelliten, der Crew von der ISS, usw. sogenannte RF-Systeme, sprich Radiowellen. Mittlerweile gerät diese Technik aber an ihre Grenzen. Durch bessere Messgeräte, größere Auflösung bei Kameras,... entstehen immer mehr Daten, die zur Erde gesendet werden sollen. Doch die Geschwindigkeit bei Funkübertragungen ist begrenzt. Dadurch treffen wichtige Ergebnisse erst verspätet an bzw. HD-Videos können nicht live angesehen werden. Deshalb experimentiert die NASA seit einiger Zeit mit alternativen Techniken. Letzte Woche ist es ihnen bei der LLCD (Lunar Laser Communication Demonstration) gelungen, den alten Rekord zu brechen. Bei dieser neuen Technik werden pulsierende Laserstrahlen verwendet, die für eine deutlich schnellere Übertragung sorgen. Im vergangenen September wurde dazu der Satellit LADEE in den Orbit des Mondes geschossen. Über die große Distanz von 385.000 Kilometern wurde eine Downloadgeschwindigkeit (Mond → Erde) von 622 Mbps und Uploadgeschwindigkeit (Erde → Mond) von 20 Mbps gemessen, was ungefähr der 5-fachen alten Geschwindigkeit entspricht.
Satellit LADEE und die Kommunikation über Laserstrahlen
(Credit: NASA)
Bereits im Januar dieses Jahres ist diese neue Technik in die Medien gerückt, als ein ähnliches Experiment stattfand. Damals wurde allerdings nicht die Geschwindigkeit untersucht, sondern die Fehleranfälligkeit. Wie man sich denken kann, ist so eine Übertragung nicht perfekt, schließlich liegt die Erdatmosphäre zwischen Sender und Empfänger. Bei diesem Experiment wurde eine digitale Version der Mona Lisa mit einer Auflösung von 152x200 Pixel zu einem mondnahen Satelliten geschickt. Zum Testen der Fehleranfälligkeit schickten sie das Bild einmal in Rohform und einmal veränderten sie die Daten vorher mit einem bestimmten mathematischen Verfahren, das ich in diesem Artikel vorstellen möchte. Das Ergebnis sieht man in der folgenden Grafik. Links ist das Ergebnis der normalen Übertragung, bei welcher große Teile des Bildes nicht richtig angekommen sind, wobei weiße Pixel fehlende und schwarze Pixel falsche Daten indizieren. Rechts hingegen kann man keine Fehler beobachten.
Ergebnis der Übertragung der Mona Lisa
(Credit: Xiaoli Sun, NASA Goddard)
Dieses mathematische Verfahren nennt sich "fehlerkorrigierende Codes"; in diesem Fall verwendete die NASA einen speziellen Reed-Solomon-Code. Diese Codes sind alltäglicher als man glaubt. Jeder von uns verwendet tägliche diese Technik. Schließlich übertragen wir ständig Daten, sei es übers Handy (Anrufe, SMS, Internet), am PC, wo Daten von der Festplatte oder von der RAM gelesen werden, wenn wir uns eine CD anhören, ... An all diese Übertragungen stellen wir eine wichtige Anforderung. Die Daten sollen genauso ankommen, wie sie ursprünglich waren. Eine CD bekommt nach kurzer Zeit Kratzer, doch wir möchten die Musik rauschfrei genießen, bei Funkübertragungen stören kosmische oder elektromagnetische Strahlen, trotzdem möchten wir keine SMS der Art "Tref/*n um 1%:00" entziffern müssen, und wir wollen keine wichtigen Daten verlieren, nur weil irgendwo beim Speichern ein kleiner Fehler passiert ist.

Die wie wird man diese Fehler los? Die Physik kann keine hundertprozentig fehlerfreie Übertragung gewährleisten. Neben dem Interpolieren der fehlerhaften Daten gibt es ein anderes mathematisches Verfahren. Man greift schon vor dem Versenden mittels fehlerkorrigierenden Codes ein. Bei diesem Verfahren bringt man die Daten vor dem Senden auf eine spezielle Gestalt, sodass man, falls bei der Übertragung Fehler passieren, diese erkennen und korrekt ausbessern kann.