Mariner 9 und Walsh Code
Kanalunterscheidung durch Walsh Codes
Party Effekt zur Erklärung von CDMA
Frequenzspreizung
Übertragung von Musik oder Sprache wird als „schmalbandig“ angesehen. Es werden lediglich etwa 10 kHz Bandbreite benötigt, um das Signal mit Amplituden oder besser noch mit Frequenzmodulation zu übertragen. Selbst wenn man das Signal wie bei IS-54 digitalisiert ist es immer noch schmalbandig. Dies ist gut für die Kapazität eines Bandes, hat aber auch Nachteile. Einer der Nachteile ist, dass z.B. ein schmalbandiges Signal empfindlicher für Störungen ist. Wenn es gerade bei einer bestimmten Frequenz schlechte Übertragungsbedingungen gibt wäre es besser die Frequenz zu wechseln. Dies wird bei GSM durch Frequency Hopping erreicht. Dadurch wird praktisch erreicht, dass das GSM-Signal im Mittel nicht mehr schmalbandig sondern quasi breitbandig wird. Man spricht daher von Frequency Hopping Spread Spektrum (FHSS).

Eine andere Möglichkeit ein Signal zu „spreizen“ besteht darin dass man statt einem bit, eine ganze Folge von bits mit höherer Frequenz überträgt. Die Folge von bits die man hierbei verwendet sollte bestimmte Eigenschaften haben, etwa dass sie ein „rauschartiges“ Spektrum erzeugt. Solche Folgen werden oft als „Codes“ bezeichnet. Solche Codes haben bestimmte interessante mathematische Eignenschaften.
Ein Beispiel sind z.B. die Hadamard Codes oder auch Walsh Codes.
Mariner 9 und Walsh Code
1971 flog eine Sonde zum Mars. Als erste Sonde überhaupt ging sie in eine Marsumlaufbahn und machte Bilder von der Oberfläche, die sie zur Erde funkte. Diese Mission hieß Mariner 9. Bislang gab es noch nicht viele gute Bilder vom Mars. Alles, was bisher von groben und verrauschten Bildern einer vorherigen Mission bekannt war das der Mars ähnlich wie der Mond viele Krater aufwies. Nun kann man es als große Errungenschaft ansehen eine Sonde überhaupt zum Mars zu schicken. Aber ebenfalls bedeutsam war es, dass man zum einen genaue Bilder machen konnte und diese auch übertragen wurden. Die Kamera löste ein Bild in Pixel auf, wie wir es auch heute von unseren Kameras und Bildschirmen kennen. Jedes Pixel konnte 64 verschiedene Helligkeitsstufen haben. Das aufgenommene Bild wurde zwischengespeichert und dann übertragen. 64 Stufen entsprechen 6 bit Informationen.
Nun muss jedoch eine lange Strecke vom Mars bis zur Erde gefunkt werden und der Sender der Sonde hatte nicht beliebig viel Leistung. Das konnte auch nicht von großen Empfangsantennen auf der Erde kompensiert werden. Die Signale waren verrauscht und mindestens 20% der bits waren gestört. Man musste also die Daten schützen. Zunächst dachte man an einfache Wiederholung der Daten entschied sich dann aber für ein Verfahren mit sogenannte Hadamard Codes. (In anderem Zusammenhang werden diese auch als Walsh Codes bezeichnet). Hadamard Codes haben stets eine Länge einer Zweierpotenz also 2 4 8 16 32 und bestehen aus binären Werten (also 1 und 0). Die Erzeugung ist mathematisch komplex. Zur Vereinfachung ist im folgenden Bild alle Hadamard Codes mit der Länge 8 gezeigt.

Die Hadamard Codes haben die günstige Eigenschaft, dass sie alle eine maximalen Hammingabstand zueinander haben. Wir erinnern uns, Hammingabstand ist die Anzahl der voneinander verschiedenen bits. Je mehr bits verschieden sind um so größer ist der Abstand und je mehr bits gleich sind umso kleiner ist der Hammingabstand und die Codes sind einander ähnlicher. Nehmen wir als Beispiel Codewort 1 und Codewort 4

Der Hammingabstand ist 4. In der Tat ist der Hammingabstand immer 4 egal welchen Code man verwendet. Das macht die Codes geeignet mit ihnen zu kodieren. In unserem Fall lassen sich 3 bits kodieren und es lässt sich stets ein bit korrigieren. Die Korrektur erfolgt dadurch, dass man beim Empfänger stets den Code wählt der den geringsten Abstand zu dem Empfangenen Kodewort hat.
Für die Mariner wählte man einen Hadamard Code mit 32 bit Länge. Dadurch lassen sich die 6 bit der Helligkeitsstufen kodieren und man war in der Lage bis zu 7 bits zu korrigieren. Mit dieser Fehlerkorrektur war Mariner 9 in der Lage tausende von scharfen Bildern von der Marsoberfläche zu senden und vermittelte völlig neue Erkenntnisse von diesem Planeten.

Mit den Hadamard Codes hatte man somit zwei Dinge erreicht. Man spreizte das Signal zur Übertragung der Bilder (von 6 bit auf 32 bit) und erreichte damit dass man Fehler bei der Übertragung korrigieren konnte.
Kanalunterscheidung durch Walsh Codes
Nehmen wir an, wie spreizen ein digitales Signal mit Walsh Codes. Nehmen wir hierbei als Beispiel wieder die 8 Walsh Codes vom obigen Kapitel. Wie funktionieren nun Walsh Kodes beim Kodieren und Dekodieren von Kanälen. Nehmen wir als Beispiel wieder unsere 8 Walsh Codes. Wir kodieren diesmal mit 1 und -1.

Wir spreizen ein Signal, indem wir die Walsh Codes jeweils mit dem zu übertragenen bits multiplizieren. Statt einem bit übertragen wir also 8 bits. Das Prinzip von CDMA ist nun, dass man alle durch Walsh Code Spreizung erzeugten „Kanäle“ gleichzeitig mit der gleichen Frequenz überträgt. Nehmen wir als Beispiel drei Kanäle: 2, 4 und 6. Diese Informationsbits für diese Kanäle seien 1,-1; -1, 1 sowie -1,-1. Wir spreizen nun mit den drei Walsh Kodes und erhalten die im Bild Orange gezeigte Folge durch Addition. Diese wird übertragen.

Wird nun die (empfangene) orangene Folge mit dem Walsh Code 2 multipliziert erhält man aus der Summe des Ergebnisses (geteilt durch 8) das Informationsbit. Entsprechend lassen sich auch die Walsh Code 4 und Walsh Code 6 nutzen, um die entsprechenden bit Folgen zu rekonstruieren. Benutzen wir eine nicht verwendeten Walshkode, etwa 4, so ist das Multiplikationsergebnis jeweils 0 und somit ungültig.
Wir können also die Originalsignale aus dem Summensignal rekonstruieren.
Dadurch ist es möglich verschieden Übertragungskanäle zu erzeugen die sich nicht durch die Zeit oder die Frequenz in der sie gesendet werden unterscheiden, sondern durch einen Code mit dem sie gespreizt wurden. Aus diesem Grunde spricht man von Code Division Multiple Access (CDMA). Die Prinzipien von CDMA und die Verwendung von Codes in der Kommunikation waren schon durch militärische Anwendungen und die Raumfahrt bekannt, aber es bedurfte der Anstrengung und dem Einsatz einer Firma namens Qualcomm, dass sich dieses Verfahren auch früh in der Mobilkommunikation durchsetzte.
Party Effekt zur Erklärung von CDMA
Es erscheint rätselhaft, wie man mit Spreizung mittels eines Codes verschieden Funkkanäle erzeugen kann. Die Einteilung in Zeitschlitze ist auch für den Laien einsichtig. Es erscheint logisch und vernünftig Kanäle nach in verschiedene Frequenzen und/oder Zeitschlitze zu stecken.
Vergleichen wir die Situation mit einer Ansammlung von vielleicht 20 Menschen in einem Raum in dem jeweils Paare miteinander reden wollen. Reden alle durcheinander versteht niemand etwas. Um eine Kommunikation zu gewährleisten, muss man somit den Raum in Zimmer aufteilen in denen jeweils ein Paar miteinander reden kann. Das würde FDMA entsprechen. Eine andere Möglichkeit wäre es einen Zeittakt einzuführen. Jedes Paar kann nur eine bestimmte Zeit miteinander reden. Danach ist ein anderes Paar dran. Das würde TDMA entsprechen.
Nehmen wir nun mal an die 10 Paare sprechen in jeweils 10 unterschiedlichen Sprachen. Selbst wenn alle durcheinandersprechen, ist es immer noch möglich die eigene Sprache zu erkennen und zu verstehen. Alle anderen fremden Sprachen verschmelzen dann einfach zu einem Hintergrundgeräusch. Eine solche Situation entspricht CDMA, wobei die unterschiedlichen Codes den unterschiedlichen Sprachen entsprechen.
